#! /bin/sh
#
# This is patch #7 to gawk 3.1.  cd to gawk-3.1.7 and sh this file.
# Then remove all the .orig files and rename the directory gawk-M.O.P

# Changes to files that are automatically recreated have been omitted.
# They will be recreated the first time you run make.
# This includes all the extracted example files in awklib.

# First, slight rearranging
rm configure ABOUT-NLS

# Extract new files and/or new versions of old files
echo Extracting new and replaced files.

SAVEDIR=`pwd`

echo - 'ABOUT-NLS'
cat << 'EOF-ABOUT-NLS' > 'ABOUT-NLS'
1 Notes on the Free Translation Project
***************************************

Free software is going international!  The Free Translation Project is
a way to get maintainers of free software, translators, and users all
together, so that free software will gradually become able to speak many
languages.  A few packages already provide translations for their
messages.

   If you found this `ABOUT-NLS' file inside a distribution, you may
assume that the distributed package does use GNU `gettext' internally,
itself available at your nearest GNU archive site.  But you do _not_
need to install GNU `gettext' prior to configuring, installing or using
this package with messages translated.

   Installers will find here some useful hints.  These notes also
explain how users should proceed for getting the programs to use the
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
===================

Some packages are "localizable" when properly installed; the programs
they contain can be made to speak your own native language.  Most such
packages use GNU `gettext'.  Other packages have their own ways to
internationalization, predating GNU `gettext'.

   By default, this package will be installed to allow translation of
messages.  It will automatically detect whether the system 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:

     ./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.

   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.

   Internationalized packages usually have many `po/LL.po' files, where
LL gives an ISO 639 two-letter code identifying the language.  Unless
translations have been forbidden at `configure' time by using the
`--disable-nls' switch, all available translations are installed
together with the package.  However, the environment variable `LINGUAS'
may be set, prior to configuration, to limit the installed set.
`LINGUAS' should then contain a space separated list of two-letter
codes, stating which languages are allowed.

1.3 Using This Package
======================

As a user, if your language has been installed for this package, you
only have to set the `LANG' environment variable to the appropriate
`LL_CC' combination.  If you happen to have the `LC_ALL' or some other
`LC_xxx' environment variables set, you should unset them before
setting `LANG', otherwise the setting of `LANG' will not have the
desired effect.  Here `LL' is an ISO 639 two-letter language code, and
`CC' is an ISO 3166 two-letter country code.  For example, let's
suppose that you speak German and live in Germany.  At the shell
prompt, merely execute `setenv LANG de_DE' (in `csh'),
`export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash').
This can be done from your `.login' or `.profile' file, once and for
all.

   You might think that the country code specification is redundant.
But in fact, some languages have dialects in different countries.  For
example, `de_AT' is used for Austria, and `pt_BR' for Brazil.  The
country code serves to distinguish the dialects.

   The locale naming convention of `LL_CC', with `LL' denoting the
language and `CC' denoting the country, is the one use on systems based
on GNU libc.  On other systems, some variations of this scheme are
used, such as `LL' or `LL_CC.ENCODING'.  You can get the list of
locales supported by your system for your language by running the
command `locale -a | grep '^LL''.

   Not all programs have translations for all languages.  By default, an
English message is shown in place of a nonexistent translation.  If you
understand other languages, you can set up a priority list of languages.
This is done through a different environment variable, called
`LANGUAGE'.  GNU `gettext' gives preference to `LANGUAGE' over `LANG'
for the purpose of message handling, but you still need to have `LANG'
set to the primary language; this is required by other parts of the
system libraries.  For example, some Swedish users who would rather
read translations in German than English for when Swedish is not
available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'.

   Special advice for Norwegian users: The language code for Norwegian
bokma*l changed from `no' to `nb' recently (in 2003).  During the
transition period, while some message catalogs for this language are
installed under `nb' and some older ones under `no', it's recommended
for Norwegian users to set `LANGUAGE' to `nb:no' so that both newer and
older translations are used.

   In the `LANGUAGE' environment variable, but not in the `LANG'
environment variable, `LL_CC' combinations can be abbreviated as `LL'
to denote the language's main dialect.  For example, `de' is equivalent
to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT'
(Portuguese as spoken in Portugal) in this context.

1.4 Translating Teams
=====================

For the Free Translation Project to be a success, we need interested
people who like their own language and write it well, and who are also
able to synergize with other translators speaking the same language.
Each translation team has its own mailing list.  The up-to-date list of
teams can be found at the Free Translation Project's homepage,
`http://translationproject.org/', in the "Teams" area.

   If you'd like to volunteer to _work_ at translating messages, you
should become a member of the translating team for your own language.
The subscribing address is _not_ the same as the list itself, it has
`-request' appended.  For example, speakers of Swedish can send a
message to `sv-request@li.org', having this message body:

     subscribe

   Keep in mind that team members are expected to participate
_actively_ in translations, or at solving translational difficulties,
rather than merely lurking around.  If your team does not exist yet and
you want to start one, or if you are unsure about what to do or how to
get started, please write to `coordinator@translationproject.org' to
reach the coordinator for all translator teams.

   The English team is special.  It works at improving and uniformizing
the terminology in use.  Proven linguistic skills are praised more than
programming skills, here.

1.5 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
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
                        +--------------------------------------------------+
     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               | []                 []                []          |
                        +--------------------------------------------------+
                          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               |                                           []     |
     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               |       []                      []          []     |
                        +--------------------------------------------------+
                          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               |                               [] []       []     |
                        +--------------------------------------------------+
                          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

                          tg th tk tr uk ven vi  wa xh zh_CN zh_HK zh_TW zu
                        +---------------------------------------------------+
     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
     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
                        +---------------------------------------------------+
       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

   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
used for implementing regional variants of languages, or language
dialects.

   For a PO file in the matrix above to be effective, the package to
which it applies should also have been internationalized and
distributed as such by its maintainer.  There might be an observable
lag between the mere existence a PO file and its wide availability in a
distribution.

   If 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
`http://translationproject.org/extra/matrix.html'.

1.6 Using `gettext' in new packages
===================================

If you are writing a freely available program and want to
internationalize it you are welcome to use GNU `gettext' in your
package.  Of course you have to respect the GNU Library General Public
License which covers the use of the GNU `gettext' library.  This means
in particular that even non-free programs can use `libintl' as a shared
library, whereas only free software can use `libintl' as a static
library or use modified versions of `libintl'.

   Once the sources are changed appropriately and the setup can handle
the use of `gettext' the only thing missing are the translations.  The
Free Translation Project is also available for packages which are not
developed inside the GNU project.  Therefore the information given above
applies also for every other Free Software Project.  Contact
`coordinator@translationproject.org' to make the `.pot' files available
to the translation teams.

EOF-ABOUT-NLS
echo - 'configure'
cat << 'EOF-configure' > 'configure'
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.63 for GNU Awk 3.1.7.
#
# Report bugs to <bug-gawk@gnu.org>.
#
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
# This configure script is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.
## --------------------- ##
## 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
  emulate sh
  NULLCMD=:
  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
  # is contrary to our usage.  Disable this feature.
  alias -g '${1+"$@"}'='"$@"'
  setopt NO_GLOB_SUBST
else
  case `(set -o) 2>/dev/null` in
  *posix*) set -o posix ;;
esac

fi




# PATH needs CR
# Avoid depending upon Character Ranges.
as_cr_letters='abcdefghijklmnopqrstuvwxyz'
as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
as_cr_Letters=$as_cr_letters$as_cr_LETTERS
as_cr_digits='0123456789'
as_cr_alnum=$as_cr_Letters$as_cr_digits

as_nl='
'
export as_nl
# Printing a long string crashes Solaris 7 /usr/bin/printf.
as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
  as_echo='printf %s\n'
  as_echo_n='printf %s'
else
  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
    as_echo_n='/usr/ucb/echo -n'
  else
    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
    as_echo_n_body='eval
      arg=$1;
      case $arg in
      *"$as_nl"*)
	expr "X$arg" : "X\\(.*\\)$as_nl";
	arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
      esac;
      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
    '
    export as_echo_n_body
    as_echo_n='sh -c $as_echo_n_body as_echo'
  fi
  export as_echo_body
  as_echo='sh -c $as_echo_body as_echo'
fi

# The user is always right.
if test "${PATH_SEPARATOR+set}" != set; then
  PATH_SEPARATOR=:
  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
      PATH_SEPARATOR=';'
  }
fi

# Support unset when possible.
if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
  as_unset=unset
else
  as_unset=false
fi


# IFS
# We need space, tab and new line, in precisely that order.  Quoting is
# there to prevent editors from complaining about space-tab.
# (If _AS_PATH_WALK were called with IFS unset, it would disable word
# splitting by setting IFS to empty value.)
IFS=" ""	$as_nl"

# Find who we are.  Look in the path if we contain no directory separator.
case $0 in
  *[\\/]* ) as_myself=$0 ;;
  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
  IFS=$as_save_IFS
  test -z "$as_dir" && as_dir=.
  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
done
IFS=$as_save_IFS

     ;;
esac
# We did not find ourselves, most probably we were run as `sh COMMAND'
# in which case we are not to be found in the path.
if test "x$as_myself" = x; then
  as_myself=$0
fi
if test ! -f "$as_myself"; then
  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
  { (exit 1); exit 1; }
fi

# Work around bugs in pre-3.0 UWIN ksh.
for as_var in ENV MAIL MAILPATH
do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
done
PS1='$ '
PS2='> '
PS4='+ '

# NLS nuisances.
LC_ALL=C
export LC_ALL
LANGUAGE=C
export LANGUAGE

# Required to use basename.
if expr a : '\(a\)' >/dev/null 2>&1 &&
   test "X`expr 00001 : '.*\(...\)'`" = X001; then
  as_expr=expr
else
  as_expr=false
fi

if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
  as_basename=basename
else
  as_basename=false
fi


# Name of the executable.
as_me=`$as_basename -- "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
	 X"$0" : 'X\(//\)$' \| \
	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X/"$0" |
    sed '/^.*\/\([^/][^/]*\)\/*$/{
	    s//\1/
	    q
	  }
	  /^X\/\(\/\/\)$/{
	    s//\1/
	    q
	  }
	  /^X\/\(\/\).*/{
	    s//\1/
	    q
	  }
	  s/.*/./; q'`

# CDPATH.
$as_unset CDPATH


if test "x$CONFIG_SHELL" = x; then
  if (eval ":") 2>/dev/null; then
  as_have_required=yes
else
  as_have_required=no
fi

  if test $as_have_required = yes &&	 (eval ":
(as_func_return () {
  (exit \$1)
}
as_func_success () {
  as_func_return 0
}
as_func_failure () {
  as_func_return 1
}
as_func_ret_success () {
  return 0
}
as_func_ret_failure () {
  return 1
}

exitcode=0
if as_func_success; then
  :
else
  exitcode=1
  echo as_func_success failed.
fi

if as_func_failure; then
  exitcode=1
  echo as_func_failure succeeded.
fi

if as_func_ret_success; then
  :
else
  exitcode=1
  echo as_func_ret_success failed.
fi

if as_func_ret_failure; then
  exitcode=1
  echo as_func_ret_failure succeeded.
fi

if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
  :
else
  exitcode=1
  echo positional parameters were not saved.
fi

test \$exitcode = 0) || { (exit 1); exit 1; }

(
  as_lineno_1=\$LINENO
  as_lineno_2=\$LINENO
  test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
  test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; }
") 2> /dev/null; then
  :
else
  as_candidate_shells=
    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
do
  IFS=$as_save_IFS
  test -z "$as_dir" && as_dir=.
  case $as_dir in
	 /*)
	   for as_base in sh bash ksh sh5; do
	     as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
	   done;;
       esac
done
IFS=$as_save_IFS


      for as_shell in $as_candidate_shells $SHELL; do
	 # Try only shells that exist, to save several forks.
	 if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
		{ ("$as_shell") 2> /dev/null <<\_ASEOF
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
  # is contrary to our usage.  Disable this feature.
  alias -g '${1+"$@"}'='"$@"'
  setopt NO_GLOB_SUBST
else
  case `(set -o) 2>/dev/null` in
  *posix*) set -o posix ;;
esac

fi


:
_ASEOF
}; then
  CONFIG_SHELL=$as_shell
	       as_have_required=yes
	       if { "$as_shell" 2> /dev/null <<\_ASEOF
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
  # is contrary to our usage.  Disable this feature.
  alias -g '${1+"$@"}'='"$@"'
  setopt NO_GLOB_SUBST
else
  case `(set -o) 2>/dev/null` in
  *posix*) set -o posix ;;
esac

fi


:
(as_func_return () {
  (exit $1)
}
as_func_success () {
  as_func_return 0
}
as_func_failure () {
  as_func_return 1
}
as_func_ret_success () {
  return 0
}
as_func_ret_failure () {
  return 1
}

exitcode=0
if as_func_success; then
  :
else
  exitcode=1
  echo as_func_success failed.
fi

if as_func_failure; then
  exitcode=1
  echo as_func_failure succeeded.
fi

if as_func_ret_success; then
  :
else
  exitcode=1
  echo as_func_ret_success failed.
fi

if as_func_ret_failure; then
  exitcode=1
  echo as_func_ret_failure succeeded.
fi

if ( set x; as_func_ret_success y && test x = "$1" ); then
  :
else
  exitcode=1
  echo positional parameters were not saved.
fi

test $exitcode = 0) || { (exit 1); exit 1; }

(
  as_lineno_1=$LINENO
  as_lineno_2=$LINENO
  test "x$as_lineno_1" != "x$as_lineno_2" &&
  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }

_ASEOF
}; then
  break
fi

fi

      done

      if test "x$CONFIG_SHELL" != x; then
  for as_var in BASH_ENV ENV
	do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
	done
	export CONFIG_SHELL
	exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
fi


    if test $as_have_required = no; then
  echo This script requires a shell more modern than all the
      echo shells that I found on your system.  Please install a
      echo modern shell, or manually run the script under such a
      echo shell if you do have one.
      { (exit 1); exit 1; }
fi


fi

fi



(eval "as_func_return () {
  (exit \$1)
}
as_func_success () {
  as_func_return 0
}
as_func_failure () {
  as_func_return 1
}
as_func_ret_success () {
  return 0
}
as_func_ret_failure () {
  return 1
}

exitcode=0
if as_func_success; then
  :
else
  exitcode=1
  echo as_func_success failed.
fi

if as_func_failure; then
  exitcode=1
  echo as_func_failure succeeded.
fi

if as_func_ret_success; then
  :
else
  exitcode=1
  echo as_func_ret_success failed.
fi

if as_func_ret_failure; then
  exitcode=1
  echo as_func_ret_failure succeeded.
fi

if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
  :
else
  exitcode=1
  echo positional parameters were not saved.
fi

test \$exitcode = 0") || {
  echo No shell found that supports shell functions.
  echo Please tell bug-autoconf@gnu.org about your system,
  echo including any error possibly output before this message.
  echo This can help us improve future autoconf versions.
  echo Configuration will now proceed without shell functions.
}



  as_lineno_1=$LINENO
  as_lineno_2=$LINENO
  test "x$as_lineno_1" != "x$as_lineno_2" &&
  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {

  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
  # uniformly replaced by the line number.  The first 'sed' inserts a
  # line-number line after each line using $LINENO; the second 'sed'
  # does the real work.  The second script uses 'N' to pair each
  # line-number line with the line containing $LINENO, and appends
  # trailing '-' during substitution so that $LINENO is not a special
  # case at line end.
  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
  # scripts with optimization help from Paolo Bonzini.  Blame Lee
  # E. McMahon (1931-1989) for sed's syntax.  :-)
  sed -n '
    p
    /[$]LINENO/=
  ' <$as_myself |
    sed '
      s/[$]LINENO.*/&-/
      t lineno
      b
      :lineno
      N
      :loop
      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
      t loop
      s/-\n.*//
    ' >$as_me.lineno &&
  chmod +x "$as_me.lineno" ||
    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
   { (exit 1); exit 1; }; }

  # Don't try to exec as it changes $[0], causing all sort of problems
  # (the dirname of $[0] is not the place where we might find the
  # original and so on.  Autoconf is especially sensitive to this).
  . "./$as_me.lineno"
  # Exit status is that of the last command.
  exit
}


if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
  as_dirname=dirname
else
  as_dirname=false
fi

ECHO_C= ECHO_N= ECHO_T=
case `echo -n x` in
-n*)
  case `echo 'x\c'` in
  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
  *)   ECHO_C='\c';;
  esac;;
*)
  ECHO_N='-n';;
esac
if expr a : '\(a\)' >/dev/null 2>&1 &&
   test "X`expr 00001 : '.*\(...\)'`" = X001; then
  as_expr=expr
else
  as_expr=false
fi

rm -f conf$$ conf$$.exe conf$$.file
if test -d conf$$.dir; then
  rm -f conf$$.dir/conf$$.file
else
  rm -f conf$$.dir
  mkdir conf$$.dir 2>/dev/null
fi
if (echo >conf$$.file) 2>/dev/null; then
  if ln -s conf$$.file conf$$ 2>/dev/null; then
    as_ln_s='ln -s'
    # ... but there are two gotchas:
    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
    # In both cases, we have to default to `cp -p'.
    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
      as_ln_s='cp -p'
  elif ln conf$$.file conf$$ 2>/dev/null; then
    as_ln_s=ln
  else
    as_ln_s='cp -p'
  fi
else
  as_ln_s='cp -p'
fi
rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
rmdir conf$$.dir 2>/dev/null

if mkdir -p . 2>/dev/null; then
  as_mkdir_p=:
else
  test -d ./-p && rmdir ./-p
  as_mkdir_p=false
fi

if test -x / >/dev/null 2>&1; then
  as_test_x='test -x'
else
  if ls -dL / >/dev/null 2>&1; then
    as_ls_L_option=L
  else
    as_ls_L_option=
  fi
  as_test_x='
    eval sh -c '\''
      if test -d "$1"; then
	test -d "$1/.";
      else
	case $1 in
	-*)set "./$1";;
	esac;
	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
	???[sx]*):;;*)false;;esac;fi
    '\'' sh
  '
fi
as_executable_p=$as_test_x

# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"

# 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

# Name of the host.
# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
# so uname gets run too.
ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`

#
# Initializations.
#
ac_default_prefix=/usr/local
ac_clean_files=
ac_config_libobj_dir=.
LIBOBJS=
cross_compiling=no
subdirs=
MFLAGS=
MAKEFLAGS=
SHELL=${CONFIG_SHELL-/bin/sh}

# Identity of this package.
PACKAGE_NAME='GNU Awk'
PACKAGE_TARNAME='gawk'
PACKAGE_VERSION='3.1.7'
PACKAGE_STRING='GNU Awk 3.1.7'
PACKAGE_BUGREPORT='bug-gawk@gnu.org'

enable_option_checking=no
# Factoring default headers for most tests.
ac_includes_default="\
#include <stdio.h>
#ifdef HAVE_SYS_TYPES_H
# include <sys/types.h>
#endif
#ifdef HAVE_SYS_STAT_H
# include <sys/stat.h>
#endif
#ifdef STDC_HEADERS
# include <stdlib.h>
# include <stddef.h>
#else
# ifdef HAVE_STDLIB_H
#  include <stdlib.h>
# endif
#endif
#ifdef HAVE_STRING_H
# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
#  include <memory.h>
# endif
# include <string.h>
#endif
#ifdef HAVE_STRINGS_H
# include <strings.h>
#endif
#ifdef HAVE_INTTYPES_H
# include <inttypes.h>
#endif
#ifdef HAVE_STDINT_H
# include <stdint.h>
#endif
#ifdef HAVE_UNISTD_H
# include <unistd.h>
#endif"

gt_needs=
ac_header_list=
ac_func_list=
ac_subst_vars='am__EXEEXT_FALSE
am__EXEEXT_TRUE
LTLIBOBJS
SOCKET_LIBS
LIBOBJS
POSUB
LTLIBINTL
LIBINTL
INTLLIBS
LTLIBICONV
LIBICONV
INTL_MACOSX_LIBS
XGETTEXT_EXTRA_OPTIONS
MSGMERGE
XGETTEXT_015
XGETTEXT
GMSGFMT_015
MSGFMT_015
GMSGFMT
MSGFMT
GETTEXT_MACRO_VERSION
USE_NLS
ANSI2KNR
U
OTOOL64
OTOOL
LIPO
NMEDIT
DSYMUTIL
lt_ECHO
RANLIB
AR
OBJDUMP
NM
ac_ct_DUMPBIN
DUMPBIN
LD
FGREP
SED
host_os
host_vendor
host_cpu
host
build_os
build_vendor
build_cpu
build
LIBTOOL
LN_S
YFLAGS
YACC
EGREP
GREP
CPP
am__fastdepCC_FALSE
am__fastdepCC_TRUE
CCDEPMODE
AMDEPBACKSLASH
AMDEP_FALSE
AMDEP_TRUE
am__quote
am__include
DEPDIR
OBJEXT
EXEEXT
ac_ct_CC
CPPFLAGS
LDFLAGS
CFLAGS
CC
SEGVSUBDIR
SEGVINCLUDE
LIBSIGSEGV
subdirs
am__untar
am__tar
AMTAR
am__leading_dot
SET_MAKE
AWK
mkdir_p
MKDIR_P
INSTALL_STRIP_PROGRAM
STRIP
install_sh
MAKEINFO
AUTOHEADER
AUTOMAKE
AUTOCONF
ACLOCAL
VERSION
PACKAGE
CYGPATH_W
am__isrc
INSTALL_DATA
INSTALL_SCRIPT
INSTALL_PROGRAM
target_alias
host_alias
build_alias
LIBS
ECHO_T
ECHO_N
ECHO_C
DEFS
mandir
localedir
libdir
psdir
pdfdir
dvidir
htmldir
infodir
docdir
oldincludedir
includedir
localstatedir
sharedstatedir
sysconfdir
datadir
datarootdir
libexecdir
sbindir
bindir
program_transform_name
prefix
exec_prefix
PACKAGE_BUGREPORT
PACKAGE_STRING
PACKAGE_VERSION
PACKAGE_TARNAME
PACKAGE_NAME
PATH_SEPARATOR
SHELL'
ac_subst_files=''
ac_user_opts='
enable_option_checking
enable_portals
with_whiny_user_strftime
enable_lint
enable_libsigsegv
enable_switch
enable_directories_fatal
enable_dependency_tracking
enable_shared
enable_static
with_pic
enable_fast_install
with_gnu_ld
enable_libtool_lock
enable_largefile
enable_nls
enable_rpath
with_libiconv_prefix
with_libintl_prefix
'
      ac_precious_vars='build_alias
host_alias
target_alias
CC
CFLAGS
LDFLAGS
LIBS
CPPFLAGS
CPP
YACC
YFLAGS'
ac_subdirs_all='libsigsegv'

# Initialize some variables set by options.
ac_init_help=
ac_init_version=false
ac_unrecognized_opts=
ac_unrecognized_sep=
# The variables have the same names as the options, with
# dashes changed to underlines.
cache_file=/dev/null
exec_prefix=NONE
no_create=
no_recursion=
prefix=NONE
program_prefix=NONE
program_suffix=NONE
program_transform_name=s,x,x,
silent=
site=
srcdir=
verbose=
x_includes=NONE
x_libraries=NONE

# Installation directory options.
# These are left unexpanded so users can "make install exec_prefix=/foo"
# and all the variables that are supposed to be based on exec_prefix
# by default will actually change.
# Use braces instead of parens because sh, perl, etc. also accept them.
# (The list follows the same order as the GNU Coding Standards.)
bindir='${exec_prefix}/bin'
sbindir='${exec_prefix}/sbin'
libexecdir='${exec_prefix}/libexec'
datarootdir='${prefix}/share'
datadir='${datarootdir}'
sysconfdir='${prefix}/etc'
sharedstatedir='${prefix}/com'
localstatedir='${prefix}/var'
includedir='${prefix}/include'
oldincludedir='/usr/include'
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
infodir='${datarootdir}/info'
htmldir='${docdir}'
dvidir='${docdir}'
pdfdir='${docdir}'
psdir='${docdir}'
libdir='${exec_prefix}/lib'
localedir='${datarootdir}/locale'
mandir='${datarootdir}/man'

ac_prev=
ac_dashdash=
for ac_option
do
  # If the previous option needs an argument, assign it.
  if test -n "$ac_prev"; then
    eval $ac_prev=\$ac_option
    ac_prev=
    continue
  fi

  case $ac_option in
  *=*)	ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
  *)	ac_optarg=yes ;;
  esac

  # Accept the important Cygnus configure options, so we can diagnose typos.

  case $ac_dashdash$ac_option in
  --)
    ac_dashdash=yes ;;

  -bindir | --bindir | --bindi | --bind | --bin | --bi)
    ac_prev=bindir ;;
  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
    bindir=$ac_optarg ;;

  -build | --build | --buil | --bui | --bu)
    ac_prev=build_alias ;;
  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
    build_alias=$ac_optarg ;;

  -cache-file | --cache-file | --cache-fil | --cache-fi \
  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
    ac_prev=cache_file ;;
  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
    cache_file=$ac_optarg ;;

  --config-cache | -C)
    cache_file=config.cache ;;

  -datadir | --datadir | --datadi | --datad)
    ac_prev=datadir ;;
  -datadir=* | --datadir=* | --datadi=* | --datad=*)
    datadir=$ac_optarg ;;

  -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
  | --dataroo | --dataro | --datar)
    ac_prev=datarootdir ;;
  -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
  | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
    datarootdir=$ac_optarg ;;

  -disable-* | --disable-*)
    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_echo "$as_me: error: invalid feature name: $ac_useropt" >&2
   { (exit 1); exit 1; }; }
    ac_useropt_orig=$ac_useropt
    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
    case $ac_user_opts in
      *"
"enable_$ac_useropt"
"*) ;;
      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
	 ac_unrecognized_sep=', ';;
    esac
    eval enable_$ac_useropt=no ;;

  -docdir | --docdir | --docdi | --doc | --do)
    ac_prev=docdir ;;
  -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
    docdir=$ac_optarg ;;

  -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
    ac_prev=dvidir ;;
  -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
    dvidir=$ac_optarg ;;

  -enable-* | --enable-*)
    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_echo "$as_me: error: invalid feature name: $ac_useropt" >&2
   { (exit 1); exit 1; }; }
    ac_useropt_orig=$ac_useropt
    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
    case $ac_user_opts in
      *"
"enable_$ac_useropt"
"*) ;;
      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
	 ac_unrecognized_sep=', ';;
    esac
    eval enable_$ac_useropt=\$ac_optarg ;;

  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
  | --exec | --exe | --ex)
    ac_prev=exec_prefix ;;
  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
  | --exec=* | --exe=* | --ex=*)
    exec_prefix=$ac_optarg ;;

  -gas | --gas | --ga | --g)
    # Obsolete; use --with-gas.
    with_gas=yes ;;

  -help | --help | --hel | --he | -h)
    ac_init_help=long ;;
  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
    ac_init_help=recursive ;;
  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
    ac_init_help=short ;;

  -host | --host | --hos | --ho)
    ac_prev=host_alias ;;
  -host=* | --host=* | --hos=* | --ho=*)
    host_alias=$ac_optarg ;;

  -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
    ac_prev=htmldir ;;
  -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
  | --ht=*)
    htmldir=$ac_optarg ;;

  -includedir | --includedir | --includedi | --included | --include \
  | --includ | --inclu | --incl | --inc)
    ac_prev=includedir ;;
  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
  | --includ=* | --inclu=* | --incl=* | --inc=*)
    includedir=$ac_optarg ;;

  -infodir | --infodir | --infodi | --infod | --info | --inf)
    ac_prev=infodir ;;
  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
    infodir=$ac_optarg ;;

  -libdir | --libdir | --libdi | --libd)
    ac_prev=libdir ;;
  -libdir=* | --libdir=* | --libdi=* | --libd=*)
    libdir=$ac_optarg ;;

  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
  | --libexe | --libex | --libe)
    ac_prev=libexecdir ;;
  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
  | --libexe=* | --libex=* | --libe=*)
    libexecdir=$ac_optarg ;;

  -localedir | --localedir | --localedi | --localed | --locale)
    ac_prev=localedir ;;
  -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
    localedir=$ac_optarg ;;

  -localstatedir | --localstatedir | --localstatedi | --localstated \
  | --localstate | --localstat | --localsta | --localst | --locals)
    ac_prev=localstatedir ;;
  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
    localstatedir=$ac_optarg ;;

  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
    ac_prev=mandir ;;
  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
    mandir=$ac_optarg ;;

  -nfp | --nfp | --nf)
    # Obsolete; use --without-fp.
    with_fp=no ;;

  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
  | --no-cr | --no-c | -n)
    no_create=yes ;;

  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
    no_recursion=yes ;;

  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
  | --oldin | --oldi | --old | --ol | --o)
    ac_prev=oldincludedir ;;
  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
    oldincludedir=$ac_optarg ;;

  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
    ac_prev=prefix ;;
  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
    prefix=$ac_optarg ;;

  -program-prefix | --program-prefix | --program-prefi | --program-pref \
  | --program-pre | --program-pr | --program-p)
    ac_prev=program_prefix ;;
  -program-prefix=* | --program-prefix=* | --program-prefi=* \
  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
    program_prefix=$ac_optarg ;;

  -program-suffix | --program-suffix | --program-suffi | --program-suff \
  | --program-suf | --program-su | --program-s)
    ac_prev=program_suffix ;;
  -program-suffix=* | --program-suffix=* | --program-suffi=* \
  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
    program_suffix=$ac_optarg ;;

  -program-transform-name | --program-transform-name \
  | --program-transform-nam | --program-transform-na \
  | --program-transform-n | --program-transform- \
  | --program-transform | --program-transfor \
  | --program-transfo | --program-transf \
  | --program-trans | --program-tran \
  | --progr-tra | --program-tr | --program-t)
    ac_prev=program_transform_name ;;
  -program-transform-name=* | --program-transform-name=* \
  | --program-transform-nam=* | --program-transform-na=* \
  | --program-transform-n=* | --program-transform-=* \
  | --program-transform=* | --program-transfor=* \
  | --program-transfo=* | --program-transf=* \
  | --program-trans=* | --program-tran=* \
  | --progr-tra=* | --program-tr=* | --program-t=*)
    program_transform_name=$ac_optarg ;;

  -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
    ac_prev=pdfdir ;;
  -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
    pdfdir=$ac_optarg ;;

  -psdir | --psdir | --psdi | --psd | --ps)
    ac_prev=psdir ;;
  -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
    psdir=$ac_optarg ;;

  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
  | -silent | --silent | --silen | --sile | --sil)
    silent=yes ;;

  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
    ac_prev=sbindir ;;
  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
  | --sbi=* | --sb=*)
    sbindir=$ac_optarg ;;

  -sharedstatedir | --sharedstatedir | --sharedstatedi \
  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
  | --sharedst | --shareds | --shared | --share | --shar \
  | --sha | --sh)
    ac_prev=sharedstatedir ;;
  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
  | --sha=* | --sh=*)
    sharedstatedir=$ac_optarg ;;

  -site | --site | --sit)
    ac_prev=site ;;
  -site=* | --site=* | --sit=*)
    site=$ac_optarg ;;

  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
    ac_prev=srcdir ;;
  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
    srcdir=$ac_optarg ;;

  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
  | --syscon | --sysco | --sysc | --sys | --sy)
    ac_prev=sysconfdir ;;
  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
    sysconfdir=$ac_optarg ;;

  -target | --target | --targe | --targ | --tar | --ta | --t)
    ac_prev=target_alias ;;
  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
    target_alias=$ac_optarg ;;

  -v | -verbose | --verbose | --verbos | --verbo | --verb)
    verbose=yes ;;

  -version | --version | --versio | --versi | --vers | -V)
    ac_init_version=: ;;

  -with-* | --with-*)
    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_echo "$as_me: error: invalid package name: $ac_useropt" >&2
   { (exit 1); exit 1; }; }
    ac_useropt_orig=$ac_useropt
    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
    case $ac_user_opts in
      *"
"with_$ac_useropt"
"*) ;;
      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
	 ac_unrecognized_sep=', ';;
    esac
    eval with_$ac_useropt=\$ac_optarg ;;

  -without-* | --without-*)
    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_echo "$as_me: error: invalid package name: $ac_useropt" >&2
   { (exit 1); exit 1; }; }
    ac_useropt_orig=$ac_useropt
    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
    case $ac_user_opts in
      *"
"with_$ac_useropt"
"*) ;;
      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
	 ac_unrecognized_sep=', ';;
    esac
    eval with_$ac_useropt=no ;;

  --x)
    # Obsolete; use --with-x.
    with_x=yes ;;

  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
  | --x-incl | --x-inc | --x-in | --x-i)
    ac_prev=x_includes ;;
  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
    x_includes=$ac_optarg ;;

  -x-libraries | --x-libraries | --x-librarie | --x-librari \
  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
    ac_prev=x_libraries ;;
  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
    x_libraries=$ac_optarg ;;

  -*) { $as_echo "$as_me: error: unrecognized option: $ac_option
Try \`$0 --help' for more information." >&2
   { (exit 1); exit 1; }; }
    ;;

  *=*)
    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
    # Reject names that are not valid shell variable names.
    expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
      { $as_echo "$as_me: error: invalid variable name: $ac_envvar" >&2
   { (exit 1); exit 1; }; }
    eval $ac_envvar=\$ac_optarg
    export $ac_envvar ;;

  *)
    # FIXME: should be removed in autoconf 3.0.
    $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
      $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
    ;;

  esac
done

if test -n "$ac_prev"; then
  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
  { $as_echo "$as_me: error: missing argument to $ac_option" >&2
   { (exit 1); exit 1; }; }
fi

if test -n "$ac_unrecognized_opts"; then
  case $enable_option_checking in
    no) ;;
    fatal) { $as_echo "$as_me: error: unrecognized options: $ac_unrecognized_opts" >&2
   { (exit 1); exit 1; }; } ;;
    *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
  esac
fi

# Check all directory arguments for consistency.
for ac_var in	exec_prefix prefix bindir sbindir libexecdir datarootdir \
		datadir sysconfdir sharedstatedir localstatedir includedir \
		oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
		libdir localedir mandir
do
  eval ac_val=\$$ac_var
  # Remove trailing slashes.
  case $ac_val in
    */ )
      ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
      eval $ac_var=\$ac_val;;
  esac
  # Be sure to have absolute directory names.
  case $ac_val in
    [\\/$]* | ?:[\\/]* )  continue;;
    NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
  esac
  { $as_echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
   { (exit 1); exit 1; }; }
done

# There might be people who depend on the old broken behavior: `$host'
# used to hold the argument of --host etc.
# FIXME: To remove some day.
build=$build_alias
host=$host_alias
target=$target_alias

# FIXME: To remove some day.
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
  elif test "x$build_alias" != "x$host_alias"; then
    cross_compiling=yes
  fi
fi

ac_tool_prefix=
test -n "$host_alias" && ac_tool_prefix=$host_alias-

test "$silent" = yes && exec 6>/dev/null


ac_pwd=`pwd` && test -n "$ac_pwd" &&
ac_ls_di=`ls -di .` &&
ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
  { $as_echo "$as_me: error: working directory cannot be determined" >&2
   { (exit 1); exit 1; }; }
test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
  { $as_echo "$as_me: error: pwd does not report name of working directory" >&2
   { (exit 1); exit 1; }; }


# Find the source files, if location was not specified.
if test -z "$srcdir"; then
  ac_srcdir_defaulted=yes
  # Try the directory containing this script, then the parent directory.
  ac_confdir=`$as_dirname -- "$as_myself" ||
$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
	 X"$as_myself" : 'X\(//\)[^/]' \| \
	 X"$as_myself" : 'X\(//\)$' \| \
	 X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X"$as_myself" |
    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
	    s//\1/
	    q
	  }
	  /^X\(\/\/\)[^/].*/{
	    s//\1/
	    q
	  }
	  /^X\(\/\/\)$/{
	    s//\1/
	    q
	  }
	  /^X\(\/\).*/{
	    s//\1/
	    q
	  }
	  s/.*/./; q'`
  srcdir=$ac_confdir
  if test ! -r "$srcdir/$ac_unique_file"; then
    srcdir=..
  fi
else
  ac_srcdir_defaulted=no
fi
if test ! -r "$srcdir/$ac_unique_file"; then
  test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
  { $as_echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
   { (exit 1); exit 1; }; }
fi
ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
ac_abs_confdir=`(
	cd "$srcdir" && test -r "./$ac_unique_file" || { $as_echo "$as_me: error: $ac_msg" >&2
   { (exit 1); exit 1; }; }
	pwd)`
# When building in place, set srcdir=.
if test "$ac_abs_confdir" = "$ac_pwd"; then
  srcdir=.
fi
# Remove unnecessary trailing slashes from srcdir.
# Double slashes in file names in object file debugging info
# mess up M-x gdb in Emacs.
case $srcdir in
*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
esac
for ac_var in $ac_precious_vars; do
  eval ac_env_${ac_var}_set=\${${ac_var}+set}
  eval ac_env_${ac_var}_value=\$${ac_var}
  eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
  eval ac_cv_env_${ac_var}_value=\$${ac_var}
done

#
# Report the --help message.
#
if test "$ac_init_help" = "long"; 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 Awk 3.1.7 to adapt to many kinds of systems.

Usage: $0 [OPTION]... [VAR=VALUE]...

To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE.  See below for descriptions of some of the useful variables.

Defaults for the options are specified in brackets.

Configuration:
  -h, --help              display this help and exit
      --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
      --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
      --srcdir=DIR        find the sources in DIR [configure dir or \`..']

Installation directories:
  --prefix=PREFIX         install architecture-independent files in PREFIX
                          [$ac_default_prefix]
  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
                          [PREFIX]

By default, \`make install' will install all the files in
\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
an installation prefix other than \`$ac_default_prefix' using \`--prefix',
for instance \`--prefix=\$HOME'.

For better control, use the options below.

Fine tuning of the installation directories:
  --bindir=DIR            user executables [EPREFIX/bin]
  --sbindir=DIR           system admin executables [EPREFIX/sbin]
  --libexecdir=DIR        program executables [EPREFIX/libexec]
  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
  --libdir=DIR            object code libraries [EPREFIX/lib]
  --includedir=DIR        C header files [PREFIX/include]
  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
  --infodir=DIR           info documentation [DATAROOTDIR/info]
  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
  --mandir=DIR            man documentation [DATAROOTDIR/man]
  --docdir=DIR            documentation root [DATAROOTDIR/doc/gawk]
  --htmldir=DIR           html documentation [DOCDIR]
  --dvidir=DIR            dvi documentation [DOCDIR]
  --pdfdir=DIR            pdf documentation [DOCDIR]
  --psdir=DIR             ps documentation [DOCDIR]
_ACEOF

  cat <<\_ACEOF

Program names:
  --program-prefix=PREFIX            prepend PREFIX to installed program names
  --program-suffix=SUFFIX            append SUFFIX to installed program names
  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names

System types:
  --build=BUILD     configure for building on BUILD [guessed]
  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
_ACEOF
fi

if test -n "$ac_init_help"; then
  case $ac_init_help in
     short | recursive ) echo "Configuration of GNU Awk 3.1.7:";;
   esac
  cat <<\_ACEOF

Optional Features:
  --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-portals	Enable /p as path prefix for portals
  --disable-lint	Disable gawk lint checking
  --disable-libsigsegv	Disable building and using of libsigsegv
  --enable-switch	Enable switch statements for awk programs
  --disable-directories-fatal	Disable fatal errors on directories
  --disable-dependency-tracking  speeds up one-time build
  --enable-dependency-tracking   do not reject slow dependency extractors
  --enable-shared[=PKGS]  build shared libraries [default=yes]
  --enable-static[=PKGS]  build static libraries [default=yes]
  --enable-fast-install[=PKGS]
                          optimize for fast installation [default=yes]
  --disable-libtool-lock  avoid locking (might break parallel builds)
  --disable-largefile     omit support for large files
  --disable-nls           do not use Native Language Support
  --disable-rpath         do not hardcode runtime library paths

Optional Packages:
  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
  --with-whiny-user-strftime	Force use of included version of strftime for deficient systems
  --with-pic              try to use only PIC/non-PIC objects [default=use
                          both]
  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
  --with-gnu-ld           assume the C compiler uses GNU ld default=no
  --with-libiconv-prefix[=DIR]  search for libiconv in DIR/include and DIR/lib
  --without-libiconv-prefix     don't search for libiconv in includedir and libdir
  --with-libintl-prefix[=DIR]  search for libintl in DIR/include and DIR/lib
  --without-libintl-prefix     don't search for libintl in includedir and libdir

Some influential environment variables:
  CC          C compiler command
  CFLAGS      C compiler flags
  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
              you have headers in a nonstandard directory <include dir>
  CPP         C preprocessor
  YACC        The `Yet Another C Compiler' implementation to use. Defaults to
              the first program found out of: `bison -y', `byacc', `yacc'.
  YFLAGS      The list of arguments that will be passed by default to $YACC.
              This script will default YFLAGS to the empty string to avoid a
              default value of `-d' given by some make applications.

Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.

Report bugs to <bug-gawk@gnu.org>.
_ACEOF
ac_status=$?
fi

if test "$ac_init_help" = "recursive"; then
  # If there are subdirs, report their specific --help.
  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
    test -d "$ac_dir" ||
      { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
      continue
    ac_builddir=.

case "$ac_dir" in
.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
*)
  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
  # A ".." for each directory in $ac_dir_suffix.
  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
  case $ac_top_builddir_sub in
  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
  esac ;;
esac
ac_abs_top_builddir=$ac_pwd
ac_abs_builddir=$ac_pwd$ac_dir_suffix
# for backward compatibility:
ac_top_builddir=$ac_top_build_prefix

case $srcdir in
  .)  # We are building in place.
    ac_srcdir=.
    ac_top_srcdir=$ac_top_builddir_sub
    ac_abs_top_srcdir=$ac_pwd ;;
  [\\/]* | ?:[\\/]* )  # Absolute name.
    ac_srcdir=$srcdir$ac_dir_suffix;
    ac_top_srcdir=$srcdir
    ac_abs_top_srcdir=$srcdir ;;
  *) # Relative name.
    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
    ac_top_srcdir=$ac_top_build_prefix$srcdir
    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
esac
ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix

    cd "$ac_dir" || { ac_status=$?; continue; }
    # Check for guested configure.
    if test -f "$ac_srcdir/configure.gnu"; then
      echo &&
      $SHELL "$ac_srcdir/configure.gnu" --help=recursive
    elif test -f "$ac_srcdir/configure"; then
      echo &&
      $SHELL "$ac_srcdir/configure" --help=recursive
    else
      $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
    fi || ac_status=$?
    cd "$ac_pwd" || { ac_status=$?; break; }
  done
fi

test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
  cat <<\_ACEOF
GNU Awk configure 3.1.7
generated by GNU Autoconf 2.63

Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it.
_ACEOF
  exit
fi
cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by GNU Awk $as_me 3.1.7, which was
generated by GNU Autoconf 2.63.  Invocation command line was

  $ $0 $@

_ACEOF
exec 5>>config.log
{
cat <<_ASUNAME
## --------- ##
## Platform. ##
## --------- ##

hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
uname -m = `(uname -m) 2>/dev/null || echo unknown`
uname -r = `(uname -r) 2>/dev/null || echo unknown`
uname -s = `(uname -s) 2>/dev/null || echo unknown`
uname -v = `(uname -v) 2>/dev/null || echo unknown`

/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`

/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`

_ASUNAME

as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
  IFS=$as_save_IFS
  test -z "$as_dir" && as_dir=.
  $as_echo "PATH: $as_dir"
done
IFS=$as_save_IFS

} >&5

cat >&5 <<_ACEOF


## ----------- ##
## Core tests. ##
## ----------- ##

_ACEOF


# Keep a trace of the command line.
# Strip out --no-create and --no-recursion so they do not pile up.
# Strip out --silent because we don't want to record it for future runs.
# Also quote any args containing shell meta-characters.
# Make two passes to allow for proper duplicate-argument suppression.
ac_configure_args=
ac_configure_args0=
ac_configure_args1=
ac_must_keep_next=false
for ac_pass in 1 2
do
  for ac_arg
  do
    case $ac_arg in
    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
    | -silent | --silent | --silen | --sile | --sil)
      continue ;;
    *\'*)
      ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
    esac
    case $ac_pass in
    1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
    2)
      ac_configure_args1="$ac_configure_args1 '$ac_arg'"
      if test $ac_must_keep_next = true; then
	ac_must_keep_next=false # Got value, back to normal.
      else
	case $ac_arg in
	  *=* | --config-cache | -C | -disable-* | --disable-* \
	  | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
	  | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
	  | -with-* | --with-* | -without-* | --without-* | --x)
	    case "$ac_configure_args0 " in
	      "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
	    esac
	    ;;
	  -* ) ac_must_keep_next=true ;;
	esac
      fi
      ac_configure_args="$ac_configure_args '$ac_arg'"
      ;;
    esac
  done
done
$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }

# When interrupted or exit'd, cleanup temporary files, and complete
# config.log.  We remove comments because anyway the quotes in there
# would cause problems or look ugly.
# WARNING: Use '\'' to represent an apostrophe within the trap.
# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
trap 'exit_status=$?
  # Save into config.log some information that might help in debugging.
  {
    echo

    cat <<\_ASBOX
## ---------------- ##
## Cache variables. ##
## ---------------- ##
_ASBOX
    echo
    # The following way of writing the cache mishandles newlines in values,
(
  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
    eval ac_val=\$$ac_var
    case $ac_val in #(
    *${as_nl}*)
      case $ac_var in #(
      *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5
$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
      esac
      case $ac_var in #(
      _ | IFS | as_nl) ;; #(
      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
      *) $as_unset $ac_var ;;
      esac ;;
    esac
  done
  (set) 2>&1 |
    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
    *${as_nl}ac_space=\ *)
      sed -n \
	"s/'\''/'\''\\\\'\'''\''/g;
	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
      ;; #(
    *)
      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
      ;;
    esac |
    sort
)
    echo

    cat <<\_ASBOX
## ----------------- ##
## Output variables. ##
## ----------------- ##
_ASBOX
    echo
    for ac_var in $ac_subst_vars
    do
      eval ac_val=\$$ac_var
      case $ac_val in
      *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
      esac
      $as_echo "$ac_var='\''$ac_val'\''"
    done | sort
    echo

    if test -n "$ac_subst_files"; then
      cat <<\_ASBOX
## ------------------- ##
## File substitutions. ##
## ------------------- ##
_ASBOX
      echo
      for ac_var in $ac_subst_files
      do
	eval ac_val=\$$ac_var
	case $ac_val in
	*\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
	esac
	$as_echo "$ac_var='\''$ac_val'\''"
      done | sort
      echo
    fi

    if test -s confdefs.h; then
      cat <<\_ASBOX
## ----------- ##
## confdefs.h. ##
## ----------- ##
_ASBOX
      echo
      cat confdefs.h
      echo
    fi
    test "$ac_signal" != 0 &&
      $as_echo "$as_me: caught signal $ac_signal"
    $as_echo "$as_me: exit $exit_status"
  } >&5
  rm -f core *.core core.conftest.* &&
    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
    exit $exit_status
' 0
for ac_signal in 1 2 13 15; do
  trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
done
ac_signal=0

# confdefs.h avoids OS command line length limits that DEFS can exceed.
rm -f -r conftest* confdefs.h

# Predefined preprocessor variables.

cat >>confdefs.h <<_ACEOF
#define PACKAGE_NAME "$PACKAGE_NAME"
_ACEOF


cat >>confdefs.h <<_ACEOF
#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
_ACEOF


cat >>confdefs.h <<_ACEOF
#define PACKAGE_VERSION "$PACKAGE_VERSION"
_ACEOF


cat >>confdefs.h <<_ACEOF
#define PACKAGE_STRING "$PACKAGE_STRING"
_ACEOF


cat >>confdefs.h <<_ACEOF
#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
_ACEOF


# Let the site file select an alternate cache file if it wants to.
# Prefer an explicitly selected file to automatically selected ones.
ac_site_file1=NONE
ac_site_file2=NONE
if test -n "$CONFIG_SITE"; then
  ac_site_file1=$CONFIG_SITE
elif test "x$prefix" != xNONE; then
  ac_site_file1=$prefix/share/config.site
  ac_site_file2=$prefix/etc/config.site
else
  ac_site_file1=$ac_default_prefix/share/config.site
  ac_site_file2=$ac_default_prefix/etc/config.site
fi
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
    { $as_echo "$as_me:$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"
  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
    { $as_echo "$as_me:$LINENO: loading cache $cache_file" >&5
$as_echo "$as_me: loading cache $cache_file" >&6;}
    case $cache_file in
      [\\/]* | ?:[\\/]* ) . "$cache_file";;
      *)                      . "./$cache_file";;
    esac
  fi
else
  { $as_echo "$as_me:$LINENO: creating cache $cache_file" >&5
$as_echo "$as_me: creating cache $cache_file" >&6;}
  >$cache_file
fi

gt_needs="$gt_needs "
ac_header_list="$ac_header_list sys/time.h"
ac_header_list="$ac_header_list unistd.h"
ac_func_list="$ac_func_list alarm"
# Check that the precious variables saved in the cache have kept the same
# value.
ac_cache_corrupted=false
for ac_var in $ac_precious_vars; do
  eval ac_old_set=\$ac_cv_env_${ac_var}_set
  eval ac_new_set=\$ac_env_${ac_var}_set
  eval ac_old_val=\$ac_cv_env_${ac_var}_value
  eval ac_new_val=\$ac_env_${ac_var}_value
  case $ac_old_set,$ac_new_set in
    set,)
      { $as_echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
      ac_cache_corrupted=: ;;
    ,set)
      { $as_echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
      ac_cache_corrupted=: ;;
    ,);;
    *)
      if test "x$ac_old_val" != "x$ac_new_val"; then
	# differences in whitespace do not lead to failure.
	ac_old_val_w=`echo x $ac_old_val`
	ac_new_val_w=`echo x $ac_new_val`
	if test "$ac_old_val_w" != "$ac_new_val_w"; then
	  { $as_echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
	  ac_cache_corrupted=:
	else
	  { $as_echo "$as_me:$LINENO: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
	  eval $ac_var=\$ac_old_val
	fi
	{ $as_echo "$as_me:$LINENO:   former value:  \`$ac_old_val'" >&5
$as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;}
	{ $as_echo "$as_me:$LINENO:   current value: \`$ac_new_val'" >&5
$as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
      fi;;
  esac
  # Pass precious variables to config.status.
  if test "$ac_new_set" = set; then
    case $ac_new_val in
    *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
    *) ac_arg=$ac_var=$ac_new_val ;;
    esac
    case " $ac_configure_args " in
      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
      *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
    esac
  fi
done
if $ac_cache_corrupted; then
  { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
  { $as_echo "$as_me:$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_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
$as_echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
   { (exit 1); exit 1; }; }
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



# This is a hack. Different versions of install on different systems
# are just too different. Chuck it and use install-sh.
#
# If the user supplies $INSTALL, figure they know what they're doing.
#
# With Autoconf 2.5x, this needs to come very early on, but *after*
# the INIT macro. Sigh.

if test "x$INSTALL" = "x"
then
	INSTALL="$srcdir/install-sh -c"
	export INSTALL
fi


am__api_version='1.11'

ac_aux_dir=
for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
  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_echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5
$as_echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;}
   { (exit 1); exit 1; }; }
fi

# These three variables are undocumented and unsupported,
# and are intended to be withdrawn in a future Autoconf release.
# They can cause serious problems if a builder's source tree is in a directory
# whose full name contains unusual characters.
ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var.
ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.


# Find a good install program.  We prefer a C program (faster),
# so one script is as good as another.  But avoid the broken or
# incompatible versions:
# SysV /etc/install, /usr/sbin/install
# SunOS /usr/etc/install
# IRIX /sbin/install
# AIX /bin/install
# AmigaOS /C/install, which installs bootblocks on floppy discs
# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
# AFS /usr/afsws/bin/install, which mishandles nonexistent args
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# OS/2's system install, which has a completely different semantic
# ./install, which can be erroneously created by make from ./install.sh.
# Reject install programs that cannot install multiple files.
{ $as_echo "$as_me:$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
  $as_echo_n "(cached) " >&6
else
  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
  IFS=$as_save_IFS
  test -z "$as_dir" && as_dir=.
  # Account for people who put trailing slashes in PATH elements.
case $as_dir/ in
  ./ | .// | /cC/* | \
  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
  ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
  /usr/ucb/* ) ;;
  *)
    # OSF1 and SCO ODT 3.0 have their own names for install.
    # Don't use installbsd from OSF since it installs stuff as root
    # by default.
    for ac_prog in ginstall scoinst install; do
      for ac_exec_ext in '' $ac_executable_extensions; do
	if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
	  if test $ac_prog = install &&
	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
	    # AIX install.  It has an incompatible calling convention.
	    :
	  elif test $ac_prog = install &&
	    grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
	    # program-specific install script used by HP pwplus--don't use.
	    :
	  else
	    rm -rf conftest.one conftest.two conftest.dir
	    echo one > conftest.one
	    echo two > conftest.two
	    mkdir conftest.dir
	    if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
	      test -s conftest.one && test -s conftest.two &&
	      test -s conftest.dir/conftest.one &&
	      test -s conftest.dir/conftest.two
	    then
	      ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
	      break 3
	    fi
	  fi
	fi
      done
    done
    ;;
esac

done
IFS=$as_save_IFS

rm -rf conftest.one conftest.two conftest.dir

fi
  if test "${ac_cv_path_install+set}" = set; then
    INSTALL=$ac_cv_path_install
  else
    # As a last resort, use the slow shell script.  Don't cache a
    # value for INSTALL 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.
    INSTALL=$ac_install_sh
  fi
fi
{ $as_echo "$as_me:$LINENO: result: $INSTALL" >&5
$as_echo "$INSTALL" >&6; }

# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
# It thinks the first close brace ends the variable substitution.
test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'

test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'

test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'

{ $as_echo "$as_me:$LINENO: checking whether build environment is sane" >&5
$as_echo_n "checking whether build environment is sane... " >&6; }
# Just in case
sleep 1
echo timestamp > conftest.file
# Reject unsafe characters in $srcdir or the absolute working directory
# name.  Accept space and tab only in the latter.
am_lf='
'
case `pwd` in
  *[\\\"\#\$\&\'\`$am_lf]*)
    { { $as_echo "$as_me:$LINENO: error: unsafe absolute working directory name" >&5
$as_echo "$as_me: error: unsafe absolute working directory name" >&2;}
   { (exit 1); exit 1; }; };;
esac
case $srcdir in
  *[\\\"\#\$\&\'\`$am_lf\ \	]*)
    { { $as_echo "$as_me:$LINENO: error: unsafe srcdir value: \`$srcdir'" >&5
$as_echo "$as_me: error: unsafe srcdir value: \`$srcdir'" >&2;}
   { (exit 1); exit 1; }; };;
esac

# Do `set' in a subshell so we don't clobber the current shell's
# arguments.  Must try -L first in case configure is actually a
# symlink; some systems play weird games with the mod time of symlinks
# (eg FreeBSD returns the mod time of the symlink's containing
# directory).
if (
   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
   if test "$*" = "X"; then
      # -L didn't work.
      set X `ls -t "$srcdir/configure" conftest.file`
   fi
   rm -f conftest.file
   if test "$*" != "X $srcdir/configure conftest.file" \
      && test "$*" != "X conftest.file $srcdir/configure"; then

      # If neither matched, then we have a broken ls.  This can happen
      # 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_echo "$as_me:$LINENO: error: ls -t appears to fail.  Make sure there is not a broken
alias in your environment" >&5
$as_echo "$as_me: error: ls -t appears to fail.  Make sure there is not a broken
alias in your environment" >&2;}
   { (exit 1); exit 1; }; }
   fi

   test "$2" = conftest.file
   )
then
   # Ok.
   :
else
   { { $as_echo "$as_me:$LINENO: error: newly created file is older than distributed files!
Check your system clock" >&5
$as_echo "$as_me: error: newly created file is older than distributed files!
Check your system clock" >&2;}
   { (exit 1); exit 1; }; }
fi
{ $as_echo "$as_me:$LINENO: result: yes" >&5
$as_echo "yes" >&6; }
test "$program_prefix" != NONE &&
  program_transform_name="s&^&$program_prefix&;$program_transform_name"
# Use a double $ so make ignores it.
test "$program_suffix" != NONE &&
  program_transform_name="s&\$&$program_suffix&;$program_transform_name"
# Double any \ or $.
# By default was `s,x,x', remove it if useless.
ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`

# expand $ac_aux_dir to an absolute path
am_aux_dir=`cd $ac_aux_dir && pwd`

if test x"${MISSING+set}" != xset; then
  case $am_aux_dir in
  *\ * | *\	*)
    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
  *)
    MISSING="\${SHELL} $am_aux_dir/missing" ;;
  esac
fi
# Use eval to expand $SHELL
if eval "$MISSING --run true"; then
  am_missing_run="$MISSING --run "
else
  am_missing_run=
  { $as_echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
fi

if test x"${install_sh}" != xset; then
  case $am_aux_dir in
  *\ * | *\	*)
    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
  *)
    install_sh="\${SHELL} $am_aux_dir/install-sh"
  esac
fi

# Installed binaries are usually stripped using `strip' when the user
# run `make install-strip'.  However `strip' might not be the right
# tool to use in cross-compilation environments, therefore Automake
# will honor the `STRIP' environment variable to overrule this program.
if test "$cross_compiling" != no; then
  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:$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:$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:$LINENO: result: $STRIP" >&5
$as_echo "$STRIP" >&6; }
else
  { $as_echo "$as_me:$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:$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:$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:$LINENO: result: $ac_ct_STRIP" >&5
$as_echo "$ac_ct_STRIP" >&6; }
else
  { $as_echo "$as_me:$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:$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

fi
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"

{ $as_echo "$as_me:$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
  $as_echo_n "(cached) " >&6
else
  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
do
  IFS=$as_save_IFS
  test -z "$as_dir" && as_dir=.
  for ac_prog in mkdir gmkdir; do
	 for ac_exec_ext in '' $ac_executable_extensions; do
	   { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
	   case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
	     'mkdir (GNU coreutils) '* | \
	     'mkdir (coreutils) '* | \
	     'mkdir (fileutils) '4.1*)
	       ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
	       break 3;;
	   esac
	 done
       done
done
IFS=$as_save_IFS

fi

  if test "${ac_cv_path_mkdir+set}" = set; then
    MKDIR_P="$ac_cv_path_mkdir -p"
  else
    # As a last resort, use the slow shell script.  Don't cache a
    # 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:$LINENO: result: $MKDIR_P" >&5
$as_echo "$MKDIR_P" >&6; }

mkdir_p="$MKDIR_P"
case $mkdir_p in
  [\\/$]* | ?:[\\/]*) ;;
  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
esac

for ac_prog in gawk mawk nawk awk
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:$LINENO: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_AWK+set}" = set; then
  $as_echo_n "(cached) " >&6
else
  if test -n "$AWK"; then
  ac_cv_prog_AWK="$AWK" # 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_AWK="$ac_prog"
    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
    break 2
  fi
done
done
IFS=$as_save_IFS

fi
fi
AWK=$ac_cv_prog_AWK
if test -n "$AWK"; then
  { $as_echo "$as_me:$LINENO: result: $AWK" >&5
$as_echo "$AWK" >&6; }
else
  { $as_echo "$as_me:$LINENO: result: no" >&5
$as_echo "no" >&6; }
fi


  test -n "$AWK" && break
done

{ $as_echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
$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
  $as_echo_n "(cached) " >&6
else
  cat >conftest.make <<\_ACEOF
SHELL = /bin/sh
all:
	@echo '@@@%%%=$(MAKE)=@@@%%%'
_ACEOF
# 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;;
  *)
    eval ac_cv_prog_make_${ac_make}_set=no;;
esac
rm -f conftest.make
fi
if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
  { $as_echo "$as_me:$LINENO: result: yes" >&5
$as_echo "yes" >&6; }
  SET_MAKE=
else
  { $as_echo "$as_me:$LINENO: result: no" >&5
$as_echo "no" >&6; }
  SET_MAKE="MAKE=${MAKE-make}"
fi

rm -rf .tst 2>/dev/null
mkdir .tst 2>/dev/null
if test -d .tst; then
  am__leading_dot=.
else
  am__leading_dot=_
fi
rmdir .tst 2>/dev/null

if test "`cd $srcdir && pwd`" != "`pwd`"; then
  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
  # is not polluted with repeated "-I."
  am__isrc=' -I$(srcdir)'
  # test to see if srcdir already configured
  if test -f $srcdir/config.status; then
    { { $as_echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
$as_echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
   { (exit 1); exit 1; }; }
  fi
fi

# test whether we have cygpath
if test -z "$CYGPATH_W"; then
  if (cygpath --version) >/dev/null 2>/dev/null; then
    CYGPATH_W='cygpath -w'
  else
    CYGPATH_W=echo
  fi
fi


# Define the identity of the package.
 PACKAGE='gawk'
 VERSION='3.1.7'


cat >>confdefs.h <<_ACEOF
#define PACKAGE "$PACKAGE"
_ACEOF


cat >>confdefs.h <<_ACEOF
#define VERSION "$VERSION"
_ACEOF

# Some tools Automake needs.

ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}


AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}


AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}


AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}


MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}

# We need awk for the "check" target.  The system "awk" is bad on
# some platforms.
# Always define AMTAR for backward compatibility.

AMTAR=${AMTAR-"${am_missing_run}tar"}

am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'








# Check whether --enable-portals was given.
if test "${enable_portals+set}" = set; then
  enableval=$enable_portals; if test "$enableval" = yes
	then

cat >>confdefs.h <<\_ACEOF
#define HAVE_PORTALS 1
_ACEOF

	fi

fi


# Check whether --with-whiny-user-strftime was given.
if test "${with_whiny_user_strftime+set}" = set; then
  withval=$with_whiny_user_strftime; if test "$withval" = yes
	then

cat >>confdefs.h <<\_ACEOF
#define USE_INCLUDED_STRFTIME 1
_ACEOF

	fi

fi

# Check whether --enable-lint was given.
if test "${enable_lint+set}" = set; then
  enableval=$enable_lint; if test "$enableval" = no
	then

cat >>confdefs.h <<\_ACEOF
#define NO_LINT 1
_ACEOF

	fi

fi

# Check whether --enable-libsigsegv was given.
if test "${enable_libsigsegv+set}" = set; then
  enableval=$enable_libsigsegv; if test "$enableval" = no
	then

cat >>confdefs.h <<\_ACEOF
#define NO_LIBSIGSEGV 1
_ACEOF

		disable_libsigsegv=yes
	fi

fi

# Check whether --enable-switch was given.
if test "${enable_switch+set}" = set; then
  enableval=$enable_switch; if test "$enableval" = yes
	then

cat >>confdefs.h <<\_ACEOF
#define ALLOW_SWITCH 1
_ACEOF

	fi

fi

# Check whether --enable-directories-fatal was given.
if test "${enable_directories_fatal+set}" = set; then
  enableval=$enable_directories_fatal; if test "$enableval" = no
	then

cat >>confdefs.h <<\_ACEOF
#define NO_DIRECTORY_FATAL 1
_ACEOF

	fi

fi


case $disable_libsigsegv in
yes)	: do nothing
	;;
*)


subdirs="$subdirs libsigsegv"

	LIBSIGSEGV="libsigsegv/src/.libs/libsigsegv.a $LIBS"
	SEGVINCLUDE='-I$(builddir)/libsigsegv/src'
	SEGVSUBDIR=libsigsegv



	;;
esac

DEPDIR="${am__leading_dot}deps"

ac_config_commands="$ac_config_commands depfiles"


am_make=${MAKE-make}
cat > confinc << 'END'
am__doit:
	@echo this is the am__doit target
.PHONY: am__doit
END
# If we don't find an include directive, just comment out the code.
{ $as_echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
$as_echo_n "checking for style of include used by $am_make... " >&6; }
am__include="#"
am__quote=
_am_result=none
# First try GNU make style include.
echo "include confinc" > confmf
# Ignore all kinds of additional output from `make'.
case `$am_make -s -f confmf 2> /dev/null` in #(
*the\ am__doit\ target*)
  am__include=include
  am__quote=
  _am_result=GNU
  ;;
esac
# Now try BSD make style include.
if test "$am__include" = "#"; then
   echo '.include "confinc"' > confmf
   case `$am_make -s -f confmf 2> /dev/null` in #(
   *the\ am__doit\ target*)
     am__include=.include
     am__quote="\""
     _am_result=BSD
     ;;
   esac
fi


{ $as_echo "$as_me:$LINENO: result: $_am_result" >&5
$as_echo "$_am_result" >&6; }
rm -f confinc confmf

# Check whether --enable-dependency-tracking was given.
if test "${enable_dependency_tracking+set}" = set; then
  enableval=$enable_dependency_tracking;
fi

if test "x$enable_dependency_tracking" != xno; then
  am_depcomp="$ac_aux_dir/depcomp"
  AMDEPBACKSLASH='\'
fi
 if test "x$enable_dependency_tracking" != xno; then
  AMDEP_TRUE=
  AMDEP_FALSE='#'
else
  AMDEP_TRUE='#'
  AMDEP_FALSE=
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
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:$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}gcc"
    $as_echo "$as_me:$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:$LINENO: result: $CC" >&5
$as_echo "$CC" >&6; }
else
  { $as_echo "$as_me:$LINENO: result: no" >&5
$as_echo "no" >&6; }
fi


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:$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="gcc"
    $as_echo "$as_me:$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:$LINENO: result: $ac_ct_CC" >&5
$as_echo "$ac_ct_CC" >&6; }
else
  { $as_echo "$as_me:$LINENO: result: no" >&5
$as_echo "no" >&6; }
fi

  if test "x$ac_ct_CC" = x; then
    CC=""
  else
    case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:$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
else
  CC="$ac_cv_prog_CC"
fi

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:$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:$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:$LINENO: result: $CC" >&5
$as_echo "$CC" >&6; }
else
  { $as_echo "$as_me:$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:$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:$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:$LINENO: result: $CC" >&5
$as_echo "$CC" >&6; }
else
  { $as_echo "$as_me:$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:$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:$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:$LINENO: result: $CC" >&5
$as_echo "$CC" >&6; }
else
  { $as_echo "$as_me:$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:$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:$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:$LINENO: result: $ac_ct_CC" >&5
$as_echo "$ac_ct_CC" >&6; }
else
  { $as_echo "$as_me:$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:$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:$LINENO: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
{ { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
See \`config.log' for more details." >&5
$as_echo "$as_me: error: no acceptable C compiler found in \$PATH
See \`config.log' for more details." >&2;}
   { (exit 1); exit 1; }; }; }

# Provide some information about the compiler.
$as_echo "$as_me:$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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compiler --version >&5") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }
{ (ac_try="$ac_compiler -v >&5"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compiler -v >&5") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }
{ (ac_try="$ac_compiler -V >&5"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compiler -V >&5") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }

cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* 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:$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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link_default") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }; 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:$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:$LINENO: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
{ { $as_echo "$as_me:$LINENO: error: C compiler cannot create executables
See \`config.log' for more details." >&5
$as_echo "$as_me: error: C compiler cannot create executables
See \`config.log' for more details." >&2;}
   { (exit 77); exit 77; }; }; }
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:$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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_try") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }; }; then
    cross_compiling=no
  else
    if test "$cross_compiling" = maybe; then
	cross_compiling=yes
    else
	{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
{ { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs.
If you meant to cross compile, use \`--host'.
See \`config.log' for more details." >&5
$as_echo "$as_me: error: cannot run C compiled programs.
If you meant to cross compile, use \`--host'.
See \`config.log' for more details." >&2;}
   { (exit 1); exit 1; }; }; }
    fi
  fi
fi
{ $as_echo "$as_me:$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:$LINENO: checking whether we are cross compiling" >&5
$as_echo_n "checking whether we are cross compiling... " >&6; }
{ $as_echo "$as_me:$LINENO: result: $cross_compiling" >&5
$as_echo "$cross_compiling" >&6; }

{ $as_echo "$as_me:$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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }; 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:$LINENO: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
See \`config.log' for more details." >&5
$as_echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
See \`config.log' for more details." >&2;}
   { (exit 1); exit 1; }; }; }
fi

rm -f conftest$ac_cv_exeext
{ $as_echo "$as_me:$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:$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 >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

int
main ()
{

  ;
  return 0;
}
_ACEOF
rm -f conftest.o conftest.obj
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }; then
  for ac_file in conftest.o conftest.obj conftest.*; do
  test -f "$ac_file" || continue;
  case $ac_file in
    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
       break;;
  esac
done
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
See \`config.log' for more details." >&5
$as_echo "$as_me: error: cannot compute suffix of object files: cannot compile
See \`config.log' for more details." >&2;}
   { (exit 1); exit 1; }; }; }
fi

rm -f conftest.$ac_cv_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
$as_echo "$ac_cv_objext" >&6; }
OBJEXT=$ac_cv_objext
ac_objext=$OBJEXT
{ $as_echo "$as_me:$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
  $as_echo_n "(cached) " >&6
else
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

int
main ()
{
#ifndef __GNUC__
       choke me
#endif

  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  ac_compiler_gnu=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_compiler_gnu=no
fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_cv_c_compiler_gnu=$ac_compiler_gnu

fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
$as_echo "$ac_cv_c_compiler_gnu" >&6; }
if test $ac_compiler_gnu = yes; then
  GCC=yes
else
  GCC=
fi
ac_test_CFLAGS=${CFLAGS+set}
ac_save_CFLAGS=$CFLAGS
{ $as_echo "$as_me:$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
  $as_echo_n "(cached) " >&6
else
  ac_save_c_werror_flag=$ac_c_werror_flag
   ac_c_werror_flag=yes
   ac_cv_prog_cc_g=no
   CFLAGS="-g"
   cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

int
main ()
{

  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  ac_cv_prog_cc_g=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	CFLAGS=""
      cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

int
main ()
{

  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  :
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_c_werror_flag=$ac_save_c_werror_flag
	 CFLAGS="-g"
	 cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

int
main ()
{

  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  ac_cv_prog_cc_g=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5


fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   ac_c_werror_flag=$ac_save_c_werror_flag
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
$as_echo "$ac_cv_prog_cc_g" >&6; }
if test "$ac_test_CFLAGS" = set; then
  CFLAGS=$ac_save_CFLAGS
elif test $ac_cv_prog_cc_g = yes; then
  if test "$GCC" = yes; then
    CFLAGS="-g -O2"
  else
    CFLAGS="-g"
  fi
else
  if test "$GCC" = yes; then
    CFLAGS="-O2"
  else
    CFLAGS=
  fi
fi
{ $as_echo "$as_me:$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 >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* 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"
  rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  ac_cv_prog_cc_c89=$ac_arg
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5


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:$LINENO: result: none needed" >&5
$as_echo "none needed" >&6; } ;;
  xno)
    { $as_echo "$as_me:$LINENO: result: unsupported" >&5
$as_echo "unsupported" >&6; } ;;
  *)
    CC="$CC $ac_cv_prog_cc_c89"
    { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
esac


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

depcc="$CC"   am_compiler_list=

{ $as_echo "$as_me:$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
  $as_echo_n "(cached) " >&6
else
  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
  # We make a subdir and do the tests there.  Otherwise we can end up
  # making bogus files that we don't know about and never remove.  For
  # instance it was reported that on HP-UX the gcc test will end up
  # making a dummy file named `D' -- because `-MD' means `put the output
  # in D'.
  mkdir conftest.dir
  # Copy depcomp to subdir because otherwise we won't find it if we're
  # using a relative directory.
  cp "$am_depcomp" conftest.dir
  cd conftest.dir
  # We will build objects and dependencies in a subdirectory because
  # it helps to detect inapplicable dependency modes.  For instance
  # both Tru64's cc and ICC support -MD to output dependencies as a
  # side effect of compilation, but ICC will put the dependencies in
  # the current directory while Tru64 will put them in the object
  # directory.
  mkdir sub

  am_cv_CC_dependencies_compiler_type=none
  if test "$am_compiler_list" = ""; then
     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
  fi
  am__universal=false
  case " $depcc " in #(
     *\ -arch\ *\ -arch\ *) am__universal=true ;;
     esac

  for depmode in $am_compiler_list; do
    # Setup a source with many dependencies, because some compilers
    # like to wrap large dependency lists on column 80 (with \), and
    # we should not choose a depcomp mode which is confused by this.
    #
    # We need to recreate these files for each test, as the compiler may
    # overwrite some of them when testing with obscure command lines.
    # This happens at least with the AIX C compiler.
    : > sub/conftest.c
    for i in 1 2 3 4 5 6; do
      echo '#include "conftst'$i'.h"' >> sub/conftest.c
      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
      # Solaris 8's {/usr,}/bin/sh.
      touch sub/conftst$i.h
    done
    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf

    # We check with `-c' and `-o' for the sake of the "dashmstdout"
    # mode.  It turns out that the SunPro C++ compiler does not properly
    # handle `-M -o', and we need to detect this.  Also, some Intel
    # versions had trouble with output in subdirs
    am__obj=sub/conftest.${OBJEXT-o}
    am__minus_obj="-o $am__obj"
    case $depmode in
    gcc)
      # This depmode causes a compiler race in universal mode.
      test "$am__universal" = false || continue
      ;;
    nosideeffect)
      # after this tag, mechanisms are not by side-effect, so they'll
      # only be used when explicitly requested
      if test "x$enable_dependency_tracking" = xyes; then
	continue
      else
	break
      fi
      ;;
    msvisualcpp | msvcmsys)
      # This compiler won't grok `-c -o', but also, the minuso test has
      # not run yet.  These depmodes are late enough in the game, and
      # so weak that their functioning should not be impacted.
      am__obj=conftest.${OBJEXT-o}
      am__minus_obj=
      ;;
    none) break ;;
    esac
    if depmode=$depmode \
       source=sub/conftest.c object=$am__obj \
       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
         >/dev/null 2>conftest.err &&
       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
      # icc doesn't choke on unknown options, it will just issue warnings
      # or remarks (even with -Werror).  So we grep stderr for any message
      # that says an option was ignored or not supported.
      # When given -MP, icc 7.0 and 7.1 complain thusly:
      #   icc: Command line warning: ignoring option '-M'; no argument required
      # The diagnosis changed in icc 8.0:
      #   icc: Command line remark: option '-MP' not supported
      if (grep 'ignoring option' conftest.err ||
          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
        am_cv_CC_dependencies_compiler_type=$depmode
        break
      fi
    fi
  done

  cd ..
  rm -rf conftest.dir
else
  am_cv_CC_dependencies_compiler_type=none
fi

fi
{ $as_echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type

 if
  test "x$enable_dependency_tracking" != xno \
  && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
  am__fastdepCC_TRUE=
  am__fastdepCC_FALSE='#'
else
  am__fastdepCC_TRUE='#'
  am__fastdepCC_FALSE=
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
{ $as_echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
$as_echo_n "checking how to run the C preprocessor... " >&6; }
# On Suns, sometimes $CPP names a directory.
if test -n "$CPP" && test -d "$CPP"; then
  CPP=
fi
if test -z "$CPP"; then
  if test "${ac_cv_prog_CPP+set}" = set; then
  $as_echo_n "(cached) " >&6
else
      # Double quotes because CPP needs to be expanded
    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
    do
      ac_preproc_ok=false
for ac_c_preproc_warn_flag in '' yes
do
  # Use a header file that comes with gcc, so configuring glibc
  # with a fresh cross-compiler works.
  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
  # <limits.h> exists even on freestanding compilers.
  # On the NeXT, cc -E runs the code through the compiler's parser,
  # not just through cpp. "Syntax error" is here to catch this case.
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
#ifdef __STDC__
# include <limits.h>
#else
# include <assert.h>
#endif
		     Syntax error
_ACEOF
if { (ac_try="$ac_cpp conftest.$ac_ext"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } >/dev/null && {
	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
	 test ! -s conftest.err
       }; then
  :
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

  # Broken: fails on valid input.
continue
fi

rm -f conftest.err conftest.$ac_ext

  # OK, works on sane cases.  Now check whether nonexistent headers
  # can be detected and how.
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
#include <ac_nonexistent.h>
_ACEOF
if { (ac_try="$ac_cpp conftest.$ac_ext"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } >/dev/null && {
	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
	 test ! -s conftest.err
       }; then
  # Broken: success on invalid input.
continue
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

  # Passes both tests.
ac_preproc_ok=:
break
fi

rm -f conftest.err 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
  break
fi

    done
    ac_cv_prog_CPP=$CPP

fi
  CPP=$ac_cv_prog_CPP
else
  ac_cv_prog_CPP=$CPP
fi
{ $as_echo "$as_me:$LINENO: result: $CPP" >&5
$as_echo "$CPP" >&6; }
ac_preproc_ok=false
for ac_c_preproc_warn_flag in '' yes
do
  # Use a header file that comes with gcc, so configuring glibc
  # with a fresh cross-compiler works.
  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
  # <limits.h> exists even on freestanding compilers.
  # On the NeXT, cc -E runs the code through the compiler's parser,
  # not just through cpp. "Syntax error" is here to catch this case.
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
#ifdef __STDC__
# include <limits.h>
#else
# include <assert.h>
#endif
		     Syntax error
_ACEOF
if { (ac_try="$ac_cpp conftest.$ac_ext"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } >/dev/null && {
	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
	 test ! -s conftest.err
       }; then
  :
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

  # Broken: fails on valid input.
continue
fi

rm -f conftest.err conftest.$ac_ext

  # OK, works on sane cases.  Now check whether nonexistent headers
  # can be detected and how.
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
#include <ac_nonexistent.h>
_ACEOF
if { (ac_try="$ac_cpp conftest.$ac_ext"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } >/dev/null && {
	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
	 test ! -s conftest.err
       }; then
  # Broken: success on invalid input.
continue
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

  # Passes both tests.
ac_preproc_ok=:
break
fi

rm -f conftest.err 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
  :
else
  { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
{ { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
See \`config.log' for more details." >&5
$as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
See \`config.log' for more details." >&2;}
   { (exit 1); exit 1; }; }; }
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


{ $as_echo "$as_me:$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
  $as_echo_n "(cached) " >&6
else
  if test -z "$GREP"; then
  ac_path_GREP_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 grep ggrep; do
    for ac_exec_ext in '' $ac_executable_extensions; do
      ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
# Check for GNU ac_path_GREP and select it if it is found.
  # Check for GNU $ac_path_GREP
case `"$ac_path_GREP" --version 2>&1` in
*GNU*)
  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_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 'GREP' >> "conftest.nl"
    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
    ac_count=`expr $ac_count + 1`
    if test $ac_count -gt ${ac_path_GREP_max-0}; then
      # Best one so far, save it but keep looking for a better one
      ac_cv_path_GREP="$ac_path_GREP"
      ac_path_GREP_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

      $ac_path_GREP_found && break 3
    done
  done
done
IFS=$as_save_IFS
  if test -z "$ac_cv_path_GREP"; then
    { { $as_echo "$as_me:$LINENO: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
$as_echo "$as_me: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
   { (exit 1); exit 1; }; }
  fi
else
  ac_cv_path_GREP=$GREP
fi

fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5
$as_echo "$ac_cv_path_GREP" >&6; }
 GREP="$ac_cv_path_GREP"


{ $as_echo "$as_me:$LINENO: checking for egrep" >&5
$as_echo_n "checking for egrep... " >&6; }
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
   then ac_cv_path_EGREP="$GREP -E"
   else
     if test -z "$EGREP"; then
  ac_path_EGREP_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 egrep; do
    for ac_exec_ext in '' $ac_executable_extensions; do
      ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
# Check for GNU ac_path_EGREP and select it if it is found.
  # Check for GNU $ac_path_EGREP
case `"$ac_path_EGREP" --version 2>&1` in
*GNU*)
  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_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 'EGREP' >> "conftest.nl"
    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
    ac_count=`expr $ac_count + 1`
    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
      # Best one so far, save it but keep looking for a better one
      ac_cv_path_EGREP="$ac_path_EGREP"
      ac_path_EGREP_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

      $ac_path_EGREP_found && break 3
    done
  done
done
IFS=$as_save_IFS
  if test -z "$ac_cv_path_EGREP"; then
    { { $as_echo "$as_me:$LINENO: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
$as_echo "$as_me: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
   { (exit 1); exit 1; }; }
  fi
else
  ac_cv_path_EGREP=$EGREP
fi

   fi
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5
$as_echo "$ac_cv_path_EGREP" >&6; }
 EGREP="$ac_cv_path_EGREP"


{ $as_echo "$as_me:$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 >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
#include <stdlib.h>
#include <stdarg.h>
#include <string.h>
#include <float.h>

int
main ()
{

  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  ac_cv_header_stdc=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	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 >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* 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 >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* 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 >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* 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
rm -f conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
  { (case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_try") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }; }; then
  :
else
  $as_echo "$as_me: program exited with status $ac_status" >&5
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

( exit $ac_status )
ac_cv_header_stdc=no
fi
rm -rf conftest.dSYM
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi


fi
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
$as_echo "$ac_cv_header_stdc" >&6; }
if test $ac_cv_header_stdc = yes; then

cat >>confdefs.h <<\_ACEOF
#define STDC_HEADERS 1
_ACEOF

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`
{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
$as_echo_n "checking for $ac_header... " >&6; }
if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
  $as_echo_n "(cached) " >&6
else
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
$ac_includes_default

#include <$ac_header>
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  eval "$as_ac_Header=yes"
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	eval "$as_ac_Header=no"
fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
ac_res=`eval 'as_val=${'$as_ac_Header'}
		 $as_echo "$as_val"'`
	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
as_val=`eval 'as_val=${'$as_ac_Header'}
		 $as_echo "$as_val"'`
   if test "x$as_val" = 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_minix_config_h+set}" = set; then
  { $as_echo "$as_me:$LINENO: checking for minix/config.h" >&5
$as_echo_n "checking for minix/config.h... " >&6; }
if test "${ac_cv_header_minix_config_h+set}" = set; then
  $as_echo_n "(cached) " >&6
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_minix_config_h" >&5
$as_echo "$ac_cv_header_minix_config_h" >&6; }
else
  # Is the header compilable?
{ $as_echo "$as_me:$LINENO: checking minix/config.h usability" >&5
$as_echo_n "checking minix/config.h usability... " >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
$ac_includes_default
#include <minix/config.h>
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  ac_header_compiler=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_header_compiler=no
fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
$as_echo "$ac_header_compiler" >&6; }

# Is the header present?
{ $as_echo "$as_me:$LINENO: checking minix/config.h presence" >&5
$as_echo_n "checking minix/config.h presence... " >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
#include <minix/config.h>
_ACEOF
if { (ac_try="$ac_cpp conftest.$ac_ext"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } >/dev/null && {
	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
	 test ! -s conftest.err
       }; then
  ac_header_preproc=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

  ac_header_preproc=no
fi

rm -f conftest.err conftest.$ac_ext
{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
$as_echo "$ac_header_preproc" >&6; }

# So?  What about this header?
case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
  yes:no: )
    { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: accepted by the compiler, rejected by the preprocessor!" >&5
$as_echo "$as_me: WARNING: minix/config.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
    { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: proceeding with the compiler's result" >&5
$as_echo "$as_me: WARNING: minix/config.h: proceeding with the compiler's result" >&2;}
    ac_header_preproc=yes
    ;;
  no:yes:* )
    { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: present but cannot be compiled" >&5
$as_echo "$as_me: WARNING: minix/config.h: present but cannot be compiled" >&2;}
    { $as_echo "$as_me:$LINENO: WARNING: minix/config.h:     check for missing prerequisite headers?" >&5
$as_echo "$as_me: WARNING: minix/config.h:     check for missing prerequisite headers?" >&2;}
    { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: see the Autoconf documentation" >&5
$as_echo "$as_me: WARNING: minix/config.h: see the Autoconf documentation" >&2;}
    { $as_echo "$as_me:$LINENO: WARNING: minix/config.h:     section \"Present But Cannot Be Compiled\"" >&5
$as_echo "$as_me: WARNING: minix/config.h:     section \"Present But Cannot Be Compiled\"" >&2;}
    { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: proceeding with the preprocessor's result" >&5
$as_echo "$as_me: WARNING: minix/config.h: proceeding with the preprocessor's result" >&2;}
    { $as_echo "$as_me:$LINENO: WARNING: minix/config.h: in the future, the compiler will take precedence" >&5
$as_echo "$as_me: WARNING: minix/config.h: in the future, the compiler will take precedence" >&2;}
    ( cat <<\_ASBOX
## ------------------------------- ##
## Report this to bug-gawk@gnu.org ##
## ------------------------------- ##
_ASBOX
     ) | sed "s/^/$as_me: WARNING:     /" >&2
    ;;
esac
{ $as_echo "$as_me:$LINENO: checking for minix/config.h" >&5
$as_echo_n "checking for minix/config.h... " >&6; }
if test "${ac_cv_header_minix_config_h+set}" = set; then
  $as_echo_n "(cached) " >&6
else
  ac_cv_header_minix_config_h=$ac_header_preproc
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_minix_config_h" >&5
$as_echo "$ac_cv_header_minix_config_h" >&6; }

fi
if test "x$ac_cv_header_minix_config_h" = x""yes; then
  MINIX=yes
else
  MINIX=
fi


  if test "$MINIX" = yes; then

cat >>confdefs.h <<\_ACEOF
#define _POSIX_SOURCE 1
_ACEOF


cat >>confdefs.h <<\_ACEOF
#define _POSIX_1_SOURCE 2
_ACEOF


cat >>confdefs.h <<\_ACEOF
#define _MINIX 1
_ACEOF

  fi



  { $as_echo "$as_me:$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
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

#	  define __EXTENSIONS__ 1
	  $ac_includes_default
int
main ()
{

  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  ac_cv_safe_to_define___extensions__=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_cv_safe_to_define___extensions__=no
fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:$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 &&
    cat >>confdefs.h <<\_ACEOF
#define __EXTENSIONS__ 1
_ACEOF

  cat >>confdefs.h <<\_ACEOF
#define _ALL_SOURCE 1
_ACEOF

  cat >>confdefs.h <<\_ACEOF
#define _GNU_SOURCE 1
_ACEOF

  cat >>confdefs.h <<\_ACEOF
#define _POSIX_PTHREAD_SEMANTICS 1
_ACEOF

  cat >>confdefs.h <<\_ACEOF
#define _TANDEM_SOURCE 1
_ACEOF



{ $as_echo "$as_me:$LINENO: checking for egrep" >&5
$as_echo_n "checking for egrep... " >&6; }
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
   then ac_cv_path_EGREP="$GREP -E"
   else
     if test -z "$EGREP"; then
  ac_path_EGREP_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 egrep; do
    for ac_exec_ext in '' $ac_executable_extensions; do
      ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
# Check for GNU ac_path_EGREP and select it if it is found.
  # Check for GNU $ac_path_EGREP
case `"$ac_path_EGREP" --version 2>&1` in
*GNU*)
  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_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 'EGREP' >> "conftest.nl"
    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
    ac_count=`expr $ac_count + 1`
    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
      # Best one so far, save it but keep looking for a better one
      ac_cv_path_EGREP="$ac_path_EGREP"
      ac_path_EGREP_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

      $ac_path_EGREP_found && break 3
    done
  done
done
IFS=$as_save_IFS
  if test -z "$ac_cv_path_EGREP"; then
    { { $as_echo "$as_me:$LINENO: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
$as_echo "$as_me: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
   { (exit 1); exit 1; }; }
  fi
else
  ac_cv_path_EGREP=$EGREP
fi

   fi
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5
$as_echo "$ac_cv_path_EGREP" >&6; }
 EGREP="$ac_cv_path_EGREP"


for ac_prog in 'bison -y' byacc
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:$LINENO: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_YACC+set}" = set; then
  $as_echo_n "(cached) " >&6
else
  if test -n "$YACC"; then
  ac_cv_prog_YACC="$YACC" # 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_YACC="$ac_prog"
    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
    break 2
  fi
done
done
IFS=$as_save_IFS

fi
fi
YACC=$ac_cv_prog_YACC
if test -n "$YACC"; then
  { $as_echo "$as_me:$LINENO: result: $YACC" >&5
$as_echo "$YACC" >&6; }
else
  { $as_echo "$as_me:$LINENO: result: no" >&5
$as_echo "no" >&6; }
fi


  test -n "$YACC" && break
done
test -n "$YACC" || YACC="yacc"

{ $as_echo "$as_me:$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:$LINENO: result: yes" >&5
$as_echo "yes" >&6; }
else
  { $as_echo "$as_me:$LINENO: result: no, using $LN_S" >&5
$as_echo "no, using $LN_S" >&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
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:$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}gcc"
    $as_echo "$as_me:$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:$LINENO: result: $CC" >&5
$as_echo "$CC" >&6; }
else
  { $as_echo "$as_me:$LINENO: result: no" >&5
$as_echo "no" >&6; }
fi


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:$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="gcc"
    $as_echo "$as_me:$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:$LINENO: result: $ac_ct_CC" >&5
$as_echo "$ac_ct_CC" >&6; }
else
  { $as_echo "$as_me:$LINENO: result: no" >&5
$as_echo "no" >&6; }
fi

  if test "x$ac_ct_CC" = x; then
    CC=""
  else
    case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:$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
else
  CC="$ac_cv_prog_CC"
fi

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:$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:$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:$LINENO: result: $CC" >&5
$as_echo "$CC" >&6; }
else
  { $as_echo "$as_me:$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:$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:$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:$LINENO: result: $CC" >&5
$as_echo "$CC" >&6; }
else
  { $as_echo "$as_me:$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:$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:$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:$LINENO: result: $CC" >&5
$as_echo "$CC" >&6; }
else
  { $as_echo "$as_me:$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:$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:$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:$LINENO: result: $ac_ct_CC" >&5
$as_echo "$ac_ct_CC" >&6; }
else
  { $as_echo "$as_me:$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:$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:$LINENO: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
{ { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
See \`config.log' for more details." >&5
$as_echo "$as_me: error: no acceptable C compiler found in \$PATH
See \`config.log' for more details." >&2;}
   { (exit 1); exit 1; }; }; }

# Provide some information about the compiler.
$as_echo "$as_me:$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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compiler --version >&5") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }
{ (ac_try="$ac_compiler -v >&5"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compiler -v >&5") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }
{ (ac_try="$ac_compiler -V >&5"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compiler -V >&5") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }

{ $as_echo "$as_me:$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
  $as_echo_n "(cached) " >&6
else
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

int
main ()
{
#ifndef __GNUC__
       choke me
#endif

  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  ac_compiler_gnu=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_compiler_gnu=no
fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_cv_c_compiler_gnu=$ac_compiler_gnu

fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
$as_echo "$ac_cv_c_compiler_gnu" >&6; }
if test $ac_compiler_gnu = yes; then
  GCC=yes
else
  GCC=
fi
ac_test_CFLAGS=${CFLAGS+set}
ac_save_CFLAGS=$CFLAGS
{ $as_echo "$as_me:$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
  $as_echo_n "(cached) " >&6
else
  ac_save_c_werror_flag=$ac_c_werror_flag
   ac_c_werror_flag=yes
   ac_cv_prog_cc_g=no
   CFLAGS="-g"
   cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

int
main ()
{

  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  ac_cv_prog_cc_g=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	CFLAGS=""
      cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

int
main ()
{

  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  :
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_c_werror_flag=$ac_save_c_werror_flag
	 CFLAGS="-g"
	 cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

int
main ()
{

  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  ac_cv_prog_cc_g=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5


fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   ac_c_werror_flag=$ac_save_c_werror_flag
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
$as_echo "$ac_cv_prog_cc_g" >&6; }
if test "$ac_test_CFLAGS" = set; then
  CFLAGS=$ac_save_CFLAGS
elif test $ac_cv_prog_cc_g = yes; then
  if test "$GCC" = yes; then
    CFLAGS="-g -O2"
  else
    CFLAGS="-g"
  fi
else
  if test "$GCC" = yes; then
    CFLAGS="-O2"
  else
    CFLAGS=
  fi
fi
{ $as_echo "$as_me:$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 >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* 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"
  rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  ac_cv_prog_cc_c89=$ac_arg
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5


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:$LINENO: result: none needed" >&5
$as_echo "none needed" >&6; } ;;
  xno)
    { $as_echo "$as_me:$LINENO: result: unsupported" >&5
$as_echo "unsupported" >&6; } ;;
  *)
    CC="$CC $ac_cv_prog_cc_c89"
    { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
esac


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

depcc="$CC"   am_compiler_list=

{ $as_echo "$as_me:$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
  $as_echo_n "(cached) " >&6
else
  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
  # We make a subdir and do the tests there.  Otherwise we can end up
  # making bogus files that we don't know about and never remove.  For
  # instance it was reported that on HP-UX the gcc test will end up
  # making a dummy file named `D' -- because `-MD' means `put the output
  # in D'.
  mkdir conftest.dir
  # Copy depcomp to subdir because otherwise we won't find it if we're
  # using a relative directory.
  cp "$am_depcomp" conftest.dir
  cd conftest.dir
  # We will build objects and dependencies in a subdirectory because
  # it helps to detect inapplicable dependency modes.  For instance
  # both Tru64's cc and ICC support -MD to output dependencies as a
  # side effect of compilation, but ICC will put the dependencies in
  # the current directory while Tru64 will put them in the object
  # directory.
  mkdir sub

  am_cv_CC_dependencies_compiler_type=none
  if test "$am_compiler_list" = ""; then
     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
  fi
  am__universal=false
  case " $depcc " in #(
     *\ -arch\ *\ -arch\ *) am__universal=true ;;
     esac

  for depmode in $am_compiler_list; do
    # Setup a source with many dependencies, because some compilers
    # like to wrap large dependency lists on column 80 (with \), and
    # we should not choose a depcomp mode which is confused by this.
    #
    # We need to recreate these files for each test, as the compiler may
    # overwrite some of them when testing with obscure command lines.
    # This happens at least with the AIX C compiler.
    : > sub/conftest.c
    for i in 1 2 3 4 5 6; do
      echo '#include "conftst'$i'.h"' >> sub/conftest.c
      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
      # Solaris 8's {/usr,}/bin/sh.
      touch sub/conftst$i.h
    done
    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf

    # We check with `-c' and `-o' for the sake of the "dashmstdout"
    # mode.  It turns out that the SunPro C++ compiler does not properly
    # handle `-M -o', and we need to detect this.  Also, some Intel
    # versions had trouble with output in subdirs
    am__obj=sub/conftest.${OBJEXT-o}
    am__minus_obj="-o $am__obj"
    case $depmode in
    gcc)
      # This depmode causes a compiler race in universal mode.
      test "$am__universal" = false || continue
      ;;
    nosideeffect)
      # after this tag, mechanisms are not by side-effect, so they'll
      # only be used when explicitly requested
      if test "x$enable_dependency_tracking" = xyes; then
	continue
      else
	break
      fi
      ;;
    msvisualcpp | msvcmsys)
      # This compiler won't grok `-c -o', but also, the minuso test has
      # not run yet.  These depmodes are late enough in the game, and
      # so weak that their functioning should not be impacted.
      am__obj=conftest.${OBJEXT-o}
      am__minus_obj=
      ;;
    none) break ;;
    esac
    if depmode=$depmode \
       source=sub/conftest.c object=$am__obj \
       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
         >/dev/null 2>conftest.err &&
       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
      # icc doesn't choke on unknown options, it will just issue warnings
      # or remarks (even with -Werror).  So we grep stderr for any message
      # that says an option was ignored or not supported.
      # When given -MP, icc 7.0 and 7.1 complain thusly:
      #   icc: Command line warning: ignoring option '-M'; no argument required
      # The diagnosis changed in icc 8.0:
      #   icc: Command line remark: option '-MP' not supported
      if (grep 'ignoring option' conftest.err ||
          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
        am_cv_CC_dependencies_compiler_type=$depmode
        break
      fi
    fi
  done

  cd ..
  rm -rf conftest.dir
else
  am_cv_CC_dependencies_compiler_type=none
fi

fi
{ $as_echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type

 if
  test "x$enable_dependency_tracking" != xno \
  && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
  am__fastdepCC_TRUE=
  am__fastdepCC_FALSE='#'
else
  am__fastdepCC_TRUE='#'
  am__fastdepCC_FALSE=
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
{ $as_echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
$as_echo_n "checking how to run the C preprocessor... " >&6; }
# On Suns, sometimes $CPP names a directory.
if test -n "$CPP" && test -d "$CPP"; then
  CPP=
fi
if test -z "$CPP"; then
  if test "${ac_cv_prog_CPP+set}" = set; then
  $as_echo_n "(cached) " >&6
else
      # Double quotes because CPP needs to be expanded
    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
    do
      ac_preproc_ok=false
for ac_c_preproc_warn_flag in '' yes
do
  # Use a header file that comes with gcc, so configuring glibc
  # with a fresh cross-compiler works.
  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
  # <limits.h> exists even on freestanding compilers.
  # On the NeXT, cc -E runs the code through the compiler's parser,
  # not just through cpp. "Syntax error" is here to catch this case.
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
#ifdef __STDC__
# include <limits.h>
#else
# include <assert.h>
#endif
		     Syntax error
_ACEOF
if { (ac_try="$ac_cpp conftest.$ac_ext"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } >/dev/null && {
	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
	 test ! -s conftest.err
       }; then
  :
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

  # Broken: fails on valid input.
continue
fi

rm -f conftest.err conftest.$ac_ext

  # OK, works on sane cases.  Now check whether nonexistent headers
  # can be detected and how.
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
#include <ac_nonexistent.h>
_ACEOF
if { (ac_try="$ac_cpp conftest.$ac_ext"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } >/dev/null && {
	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
	 test ! -s conftest.err
       }; then
  # Broken: success on invalid input.
continue
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

  # Passes both tests.
ac_preproc_ok=:
break
fi

rm -f conftest.err 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
  break
fi

    done
    ac_cv_prog_CPP=$CPP

fi
  CPP=$ac_cv_prog_CPP
else
  ac_cv_prog_CPP=$CPP
fi
{ $as_echo "$as_me:$LINENO: result: $CPP" >&5
$as_echo "$CPP" >&6; }
ac_preproc_ok=false
for ac_c_preproc_warn_flag in '' yes
do
  # Use a header file that comes with gcc, so configuring glibc
  # with a fresh cross-compiler works.
  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
  # <limits.h> exists even on freestanding compilers.
  # On the NeXT, cc -E runs the code through the compiler's parser,
  # not just through cpp. "Syntax error" is here to catch this case.
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
#ifdef __STDC__
# include <limits.h>
#else
# include <assert.h>
#endif
		     Syntax error
_ACEOF
if { (ac_try="$ac_cpp conftest.$ac_ext"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } >/dev/null && {
	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
	 test ! -s conftest.err
       }; then
  :
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

  # Broken: fails on valid input.
continue
fi

rm -f conftest.err conftest.$ac_ext

  # OK, works on sane cases.  Now check whether nonexistent headers
  # can be detected and how.
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
#include <ac_nonexistent.h>
_ACEOF
if { (ac_try="$ac_cpp conftest.$ac_ext"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } >/dev/null && {
	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
	 test ! -s conftest.err
       }; then
  # Broken: success on invalid input.
continue
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

  # Passes both tests.
ac_preproc_ok=:
break
fi

rm -f conftest.err 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
  :
else
  { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
{ { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
See \`config.log' for more details." >&5
$as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
See \`config.log' for more details." >&2;}
   { (exit 1); exit 1; }; }; }
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

case `pwd` in
  *\ * | *\	*)
    { $as_echo "$as_me:$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'













ltmain="$ac_aux_dir/ltmain.sh"

# Make sure we can run config.sub.
$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
  { { $as_echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
$as_echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;}
   { (exit 1); exit 1; }; }

{ $as_echo "$as_me:$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_echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
$as_echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
   { (exit 1); exit 1; }; }
ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
  { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5
$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;}
   { (exit 1); exit 1; }; }

fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_build" >&5
$as_echo "$ac_cv_build" >&6; }
case $ac_cv_build in
*-*-*) ;;
*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical build" >&5
$as_echo "$as_me: error: invalid value of canonical build" >&2;}
   { (exit 1); exit 1; }; };;
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:$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_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5
$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;}
   { (exit 1); exit 1; }; }
fi

fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_host" >&5
$as_echo "$ac_cv_host" >&6; }
case $ac_cv_host in
*-*-*) ;;
*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical host" >&5
$as_echo "$as_me: error: invalid value of canonical host" >&2;}
   { (exit 1); exit 1; }; };;
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:$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
            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
     $as_unset ac_script || 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
    ac_count=`expr $ac_count + 1`
    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

      $ac_path_SED_found && break 3
    done
  done
done
IFS=$as_save_IFS
  if test -z "$ac_cv_path_SED"; then
    { { $as_echo "$as_me:$LINENO: error: no acceptable sed could be found in \$PATH" >&5
$as_echo "$as_me: error: no acceptable sed could be found in \$PATH" >&2;}
   { (exit 1); exit 1; }; }
  fi
else
  ac_cv_path_SED=$SED
fi

fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_SED" >&5
$as_echo "$ac_cv_path_SED" >&6; }
 SED="$ac_cv_path_SED"
  rm -f conftest.sed

test -z "$SED" && SED=sed
Xsed="$SED -e 1s/^X//"











{ $as_echo "$as_me:$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
    ac_count=`expr $ac_count + 1`
    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

      $ac_path_FGREP_found && break 3
    done
  done
done
IFS=$as_save_IFS
  if test -z "$ac_cv_path_FGREP"; then
    { { $as_echo "$as_me:$LINENO: error: no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
$as_echo "$as_me: error: no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
   { (exit 1); exit 1; }; }
  fi
else
  ac_cv_path_FGREP=$FGREP
fi

   fi
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_FGREP" >&5
$as_echo "$ac_cv_path_FGREP" >&6; }
 FGREP="$ac_cv_path_FGREP"


test -z "$GREP" && GREP=grep



















# 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:$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:$LINENO: checking for GNU ld" >&5
$as_echo_n "checking for GNU ld... " >&6; }
else
  { $as_echo "$as_me:$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

LD="$lt_cv_path_LD"
if test -n "$LD"; then
  { $as_echo "$as_me:$LINENO: result: $LD" >&5
$as_echo "$LD" >&6; }
else
  { $as_echo "$as_me:$LINENO: result: no" >&5
$as_echo "no" >&6; }
fi
test -z "$LD" && { { $as_echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
$as_echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
   { (exit 1); exit 1; }; }
{ $as_echo "$as_me:$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:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
$as_echo "$lt_cv_prog_gnu_ld" >&6; }
with_gnu_ld=$lt_cv_prog_gnu_ld









{ $as_echo "$as_me:$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:$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 "$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
{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_DUMPBIN+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.
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_DUMPBIN="$ac_tool_prefix$ac_prog"
    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
    break 2
  fi
done
done
IFS=$as_save_IFS

fi
fi
DUMPBIN=$ac_cv_prog_DUMPBIN
if test -n "$DUMPBIN"; then
  { $as_echo "$as_me:$LINENO: result: $DUMPBIN" >&5
$as_echo "$DUMPBIN" >&6; }
else
  { $as_echo "$as_me:$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
{ $as_echo "$as_me:$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
  $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.
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_DUMPBIN="$ac_prog"
    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
    break 2
  fi
done
done
IFS=$as_save_IFS

fi
fi
ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
if test -n "$ac_ct_DUMPBIN"; then
  { $as_echo "$as_me:$LINENO: result: $ac_ct_DUMPBIN" >&5
$as_echo "$ac_ct_DUMPBIN" >&6; }
else
  { $as_echo "$as_me:$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=":"
  else
    case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:$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
    DUMPBIN=$ac_ct_DUMPBIN
  fi
fi


  if test "$DUMPBIN" != ":"; then
    NM="$DUMPBIN"
  fi
fi
test -z "$NM" && NM=nm






{ $as_echo "$as_me:$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
  lt_cv_nm_interface="BSD nm"
  echo "int some_variable = 0;" > conftest.$ac_ext
  (eval echo "\"\$as_me:6440: $ac_compile\"" >&5)
  (eval "$ac_compile" 2>conftest.err)
  cat conftest.err >&5
  (eval echo "\"\$as_me:6443: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
  cat conftest.err >&5
  (eval echo "\"\$as_me:6446: output\"" >&5)
  cat conftest.out >&5
  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
    lt_cv_nm_interface="MS dumpbin"
  fi
  rm -f conftest*
fi
{ $as_echo "$as_me:$LINENO: result: $lt_cv_nm_interface" >&5
$as_echo "$lt_cv_nm_interface" >&6; }

# find the maximum length of command line arguments
{ $as_echo "$as_me:$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
    i=0
  teststring="ABCD"

  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
    ;;

  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;
    ;;

  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
    ;;

  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:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5
$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
else
  { $as_echo "$as_me:$LINENO: result: none" >&5
$as_echo "none" >&6; }
fi
max_cmd_len=$lt_cv_sys_max_cmd_len






: ${CP="cp -f"}
: ${MV="mv -f"}
: ${RM="rm -f"}

{ $as_echo "$as_me:$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:$LINENO: result: $xsi_shell" >&5
$as_echo "$xsi_shell" >&6; }


{ $as_echo "$as_me:$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:$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





# 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:$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:$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:$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:$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:$LINENO: result: $OBJDUMP" >&5
$as_echo "$OBJDUMP" >&6; }
else
  { $as_echo "$as_me:$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:$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:$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:$LINENO: result: $ac_ct_OBJDUMP" >&5
$as_echo "$ac_ct_OBJDUMP" >&6; }
else
  { $as_echo "$as_me:$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:$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:$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.

case $host_os in
aix[4-9]*)
  lt_cv_deplibs_check_method=pass_all
  ;;

beos*)
  lt_cv_deplibs_check_method=pass_all
  ;;

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'
  ;;

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
    ;;
  pc)
    lt_cv_deplibs_check_method=pass_all
    ;;
  esac
  ;;

tpf*)
  lt_cv_deplibs_check_method=pass_all
  ;;
esac

fi
{ $as_echo "$as_me:$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












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:$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:$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:$LINENO: result: $AR" >&5
$as_echo "$AR" >&6; }
else
  { $as_echo "$as_me:$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:$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:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
    break 2
  fi
done
done
IFS=$as_save_IFS

fi
fi
ac_ct_AR=$ac_cv_prog_ac_ct_AR
if test -n "$ac_ct_AR"; then
  { $as_echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
$as_echo "$ac_ct_AR" >&6; }
else
  { $as_echo "$as_me:$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:$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:$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:$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:$LINENO: result: $STRIP" >&5
$as_echo "$STRIP" >&6; }
else
  { $as_echo "$as_me:$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:$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:$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:$LINENO: result: $ac_ct_STRIP" >&5
$as_echo "$ac_ct_STRIP" >&6; }
else
  { $as_echo "$as_me:$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:$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=:






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:$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:$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:$LINENO: result: $RANLIB" >&5
$as_echo "$RANLIB" >&6; }
else
  { $as_echo "$as_me:$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:$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:$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:$LINENO: result: $ac_ct_RANLIB" >&5
$as_echo "$ac_ct_RANLIB" >&6; }
else
  { $as_echo "$as_me:$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:$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=:






# 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 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:$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

# 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]'

# Regexp to match symbols that can be accessed directly from C.
sympat='\([_A-Za-z][_A-Za-z0-9]*\)'

# 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

# 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'"

# 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"

  # 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:$LINENO: \"$ac_compile\"") >&5
  (eval $ac_compile) 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }; then
    # Now try to grab the symbols.
    nlist=conftest.nm
    if { (eval echo "$as_me:$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:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && 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

#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:$LINENO: \"$ac_link\"") >&5
  (eval $ac_link) 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && 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=
  fi
done

fi

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:$LINENO: result: failed" >&5
$as_echo "failed" >&6; }
else
  { $as_echo "$as_me:$LINENO: result: ok" >&5
$as_echo "ok" >&6; }
fi






















# 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:$LINENO: \"$ac_compile\"") >&5
  (eval $ac_compile) 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }; 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 7640 "configure"' > conftest.$ac_ext
  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
  (eval $ac_compile) 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }; 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:$LINENO: \"$ac_compile\"") >&5
  (eval $ac_compile) 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }; 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:$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 >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

int
main ()
{

  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  lt_cv_cc_needs_belf=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	lt_cv_cc_needs_belf=no
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      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:$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:$LINENO: \"$ac_compile\"") >&5
  (eval $ac_compile) 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }; 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:$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:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
    break 2
  fi
done
done
IFS=$as_save_IFS

fi
fi
DSYMUTIL=$ac_cv_prog_DSYMUTIL
if test -n "$DSYMUTIL"; then
  { $as_echo "$as_me:$LINENO: result: $DSYMUTIL" >&5
$as_echo "$DSYMUTIL" >&6; }
else
  { $as_echo "$as_me:$LINENO: result: no" >&5
$as_echo "no" >&6; }
fi


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:$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
  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:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
    break 2
  fi
done
done
IFS=$as_save_IFS

fi
fi
ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
if test -n "$ac_ct_DSYMUTIL"; then
  { $as_echo "$as_me:$LINENO: result: $ac_ct_DSYMUTIL" >&5
$as_echo "$ac_ct_DSYMUTIL" >&6; }
else
  { $as_echo "$as_me:$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:$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:$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:$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:$LINENO: result: $NMEDIT" >&5
$as_echo "$NMEDIT" >&6; }
else
  { $as_echo "$as_me:$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:$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:$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:$LINENO: result: $ac_ct_NMEDIT" >&5
$as_echo "$ac_ct_NMEDIT" >&6; }
else
  { $as_echo "$as_me:$LINENO: result: no" >&5
$as_echo "no" >&6; }
fi

  if test "x$ac_ct_NMEDIT" = x; then
    NMEDIT=":"
  else
    case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:$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:$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:$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:$LINENO: result: $LIPO" >&5
$as_echo "$LIPO" >&6; }
else
  { $as_echo "$as_me:$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:$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:$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:$LINENO: result: $ac_ct_LIPO" >&5
$as_echo "$ac_ct_LIPO" >&6; }
else
  { $as_echo "$as_me:$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:$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:$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:$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:$LINENO: result: $OTOOL" >&5
$as_echo "$OTOOL" >&6; }
else
  { $as_echo "$as_me:$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:$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:$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:$LINENO: result: $ac_ct_OTOOL" >&5
$as_echo "$ac_ct_OTOOL" >&6; }
else
  { $as_echo "$as_me:$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:$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:$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:$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:$LINENO: result: $OTOOL64" >&5
$as_echo "$OTOOL64" >&6; }
else
  { $as_echo "$as_me:$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:$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:$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:$LINENO: result: $ac_ct_OTOOL64" >&5
$as_echo "$ac_ct_OTOOL64" >&6; }
else
  { $as_echo "$as_me:$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:$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



























    { $as_echo "$as_me:$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:$LINENO: result: $lt_cv_apple_cc_single_mod" >&5
$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
    { $as_echo "$as_me:$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 >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

int
main ()
{

  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  lt_cv_ld_exported_symbols_list=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	lt_cv_ld_exported_symbols_list=no
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
	LDFLAGS="$save_LDFLAGS"

fi
{ $as_echo "$as_me:$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


for ac_header in dlfcn.h
do
as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
$as_echo_n "checking for $ac_header... " >&6; }
if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
  $as_echo_n "(cached) " >&6
else
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
$ac_includes_default

#include <$ac_header>
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  eval "$as_ac_Header=yes"
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	eval "$as_ac_Header=no"
fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
ac_res=`eval 'as_val=${'$as_ac_Header'}
		 $as_echo "$as_val"'`
	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
as_val=`eval 'as_val=${'$as_ac_Header'}
		 $as_echo "$as_val"'`
   if test "x$as_val" = x""yes; then
  cat >>confdefs.h <<_ACEOF
#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
_ACEOF

fi

done



# Set options



        enable_dlopen=no


  enable_win32_dll=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









  # 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










# 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
else
  enable_fast_install=yes
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:$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:$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

















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

# 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

# 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"

old_CC="$CC"
old_CFLAGS="$CFLAGS"

# 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:$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

*** 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

MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
if test -n "$MAGIC_CMD"; then
  { $as_echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
$as_echo "$MAGIC_CMD" >&6; }
else
  { $as_echo "$as_me:$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:$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

*** 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

MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
if test -n "$MAGIC_CMD"; then
  { $as_echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
$as_echo "$MAGIC_CMD" >&6; }
else
  { $as_echo "$as_me:$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
  lt_prog_compiler_no_builtin_flag=' -fno-builtin'

  { $as_echo "$as_me:$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:9009: $lt_compile\"" >&5)
   (eval "$lt_compile" 2>conftest.err)
   ac_status=$?
   cat conftest.err >&5
   echo "$as_me:9013: \$? = $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*

fi
{ $as_echo "$as_me:$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:$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'
      ;;

    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
  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:$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:$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:9348: $lt_compile\"" >&5)
   (eval "$lt_compile" 2>conftest.err)
   ac_status=$?
   cat conftest.err >&5
   echo "$as_me:9352: \$? = $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*

fi
{ $as_echo "$as_me:$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:$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"

fi
{ $as_echo "$as_me:$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:$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:9453: $lt_compile\"" >&5)
   (eval "$lt_compile" 2>out/conftest.err)
   ac_status=$?
   cat out/conftest.err >&5
   echo "$as_me:9457: \$? = $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*

fi
{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
$as_echo "$lt_cv_prog_compiler_c_o" >&6; }






  { $as_echo "$as_me:$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:9508: $lt_compile\"" >&5)
   (eval "$lt_compile" 2>out/conftest.err)
   ac_status=$?
   cat out/conftest.err >&5
   echo "$as_me:9512: \$? = $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*

fi
{ $as_echo "$as_me:$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:$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:$LINENO: result: $hard_links" >&5
$as_echo "$hard_links" >&6; }
  if test "$hard_links" = no; then
    { $as_echo "$as_me:$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:$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

*** 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.

_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 >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

int
main ()
{

  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; 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
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5


fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      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 >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

int
main ()
{

  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; 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
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5


fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      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}"

  else
  ld_shlibs=no
  fi

      ;;

    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
      ;;

    # 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
      ;;

    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=:

	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
      ;;

    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 >conftest.$ac_ext <<_ACEOF
int foo(void) {}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; 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'

else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5


fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      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
      ;;

    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
      ;;

    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*)
      ;;

    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
      ;;

    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'
      ;;

    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
      ;;

    sysv4.3*)
      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
      hardcode_shlibpath_var=no
      export_dynamic_flag_spec='-Bexport'
      ;;

    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*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:$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:$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:$LINENO: \"$ac_compile\"") >&5
  (eval $ac_compile) 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } 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:$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:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }
        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:$LINENO: result: $archive_cmds_need_lc" >&5
$as_echo "$archive_cmds_need_lc" >&6; }
      ;;
    esac
  fi
  ;;
esac





























































































































































  { $as_echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
$as_echo_n "checking dynamic linker characteristics... " >&6; }

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

# 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'
  ;;

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=`$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'
    ;;
  esac
  ;;

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
  ;;

cygwin* | mingw* | pw32* | cegcc*)
  version_type=windows
  shrext_cmds=".dll"
  need_version=no
  need_lib_prefix=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

    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"
      ;;
    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'
      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
  ;;

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
  ;;

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
    ;;
  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
  ;;

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'
  ;;

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
  ;;

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 >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

int
main ()
{

  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  if  ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then
  shlibpath_overrides_runpath=yes
fi

else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5


fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
  LDFLAGS=$save_LDFLAGS
  libdir=$save_libdir

  # 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;/^$/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'
  ;;

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
  ;;

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
  ;;

*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'
  ;;

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
    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
  ;;

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'
      ;;
  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
  ;;

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
  ;;

*)
  dynamic_linker=no
  ;;
esac
{ $as_echo "$as_me:$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























































































  { $as_echo "$as_me:$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:$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:$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 >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* 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
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  ac_cv_lib_dl_dlopen=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_cv_lib_dl_dlopen=no
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:$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

    ;;

  *)
    { $as_echo "$as_me:$LINENO: checking for shl_load" >&5
$as_echo_n "checking for shl_load... " >&6; }
if test "${ac_cv_func_shl_load+set}" = set; then
  $as_echo_n "(cached) " >&6
else
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
/* Define shl_load to an innocuous variant, in case <limits.h> declares shl_load.
   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
#define shl_load innocuous_shl_load

/* System header to define __stub macros and hopefully few prototypes,
    which can conflict with char shl_load (); below.
    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
    <limits.h> exists even on freestanding compilers.  */

#ifdef __STDC__
# include <limits.h>
#else
# include <assert.h>
#endif

#undef shl_load

/* 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 ();
/* The GNU C library defines this for functions which it implements
    to always fail with ENOSYS.  Some functions are actually named
    something starting with __ and the normal name is an alias.  */
#if defined __stub_shl_load || defined __stub___shl_load
choke me
#endif

int
main ()
{
return shl_load ();
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  ac_cv_func_shl_load=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_cv_func_shl_load=no
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
$as_echo "$ac_cv_func_shl_load" >&6; }
if test "x$ac_cv_func_shl_load" = x""yes; then
  lt_cv_dlopen="shl_load"
else
  { $as_echo "$as_me:$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 >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* 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
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  ac_cv_lib_dld_shl_load=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_cv_lib_dld_shl_load=no
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:$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
  { $as_echo "$as_me:$LINENO: checking for dlopen" >&5
$as_echo_n "checking for dlopen... " >&6; }
if test "${ac_cv_func_dlopen+set}" = set; then
  $as_echo_n "(cached) " >&6
else
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
/* Define dlopen to an innocuous variant, in case <limits.h> declares dlopen.
   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
#define dlopen innocuous_dlopen

/* System header to define __stub macros and hopefully few prototypes,
    which can conflict with char dlopen (); below.
    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
    <limits.h> exists even on freestanding compilers.  */

#ifdef __STDC__
# include <limits.h>
#else
# include <assert.h>
#endif

#undef dlopen

/* 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 ();
/* The GNU C library defines this for functions which it implements
    to always fail with ENOSYS.  Some functions are actually named
    something starting with __ and the normal name is an alias.  */
#if defined __stub_dlopen || defined __stub___dlopen
choke me
#endif

int
main ()
{
return dlopen ();
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  ac_cv_func_dlopen=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_cv_func_dlopen=no
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
$as_echo "$ac_cv_func_dlopen" >&6; }
if test "x$ac_cv_func_dlopen" = x""yes; then
  lt_cv_dlopen="dlopen"
else
  { $as_echo "$as_me:$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 >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* 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
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  ac_cv_lib_dl_dlopen=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_cv_lib_dl_dlopen=no
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:$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:$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 >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* 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
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  ac_cv_lib_svld_dlopen=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_cv_lib_svld_dlopen=no
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:$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:$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 >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* 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
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  ac_cv_lib_dld_dld_link=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_cv_lib_dld_dld_link=no
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:$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:$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 12308 "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:$LINENO: \"$ac_link\"") >&5
  (eval $ac_link) 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && 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:$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:$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 12404 "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:$LINENO: \"$ac_link\"") >&5
  (eval $ac_link) 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && 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:$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:$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:$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:$LINENO: result: yes" >&5
$as_echo "yes" >&6; }
    else
      { $as_echo "$as_me:$LINENO: result: no" >&5
$as_echo "no" >&6; }
    fi
    ;;
  *)
    { $as_echo "$as_me:$LINENO: result: no" >&5
$as_echo "no" >&6; }
    ;;
  esac
fi












  # Report which library types will actually be built
  { $as_echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
$as_echo_n "checking if libtool supports shared libraries... " >&6; }
  { $as_echo "$as_me:$LINENO: result: $can_build_shared" >&5
$as_echo "$can_build_shared" >&6; }

  { $as_echo "$as_me:$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:$LINENO: result: $enable_shared" >&5
$as_echo "$enable_shared" >&6; }

  { $as_echo "$as_me:$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:$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:






# Find a good install program.  We prefer a C program (faster),
# so one script is as good as another.  But avoid the broken or
# incompatible versions:
# SysV /etc/install, /usr/sbin/install
# SunOS /usr/etc/install
# IRIX /sbin/install
# AIX /bin/install
# AmigaOS /C/install, which installs bootblocks on floppy discs
# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
# AFS /usr/afsws/bin/install, which mishandles nonexistent args
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# OS/2's system install, which has a completely different semantic
# ./install, which can be erroneously created by make from ./install.sh.
# Reject install programs that cannot install multiple files.
{ $as_echo "$as_me:$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
  $as_echo_n "(cached) " >&6
else
  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
  IFS=$as_save_IFS
  test -z "$as_dir" && as_dir=.
  # Account for people who put trailing slashes in PATH elements.
case $as_dir/ in
  ./ | .// | /cC/* | \
  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
  ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
  /usr/ucb/* ) ;;
  *)
    # OSF1 and SCO ODT 3.0 have their own names for install.
    # Don't use installbsd from OSF since it installs stuff as root
    # by default.
    for ac_prog in ginstall scoinst install; do
      for ac_exec_ext in '' $ac_executable_extensions; do
	if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
	  if test $ac_prog = install &&
	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
	    # AIX install.  It has an incompatible calling convention.
	    :
	  elif test $ac_prog = install &&
	    grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
	    # program-specific install script used by HP pwplus--don't use.
	    :
	  else
	    rm -rf conftest.one conftest.two conftest.dir
	    echo one > conftest.one
	    echo two > conftest.two
	    mkdir conftest.dir
	    if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
	      test -s conftest.one && test -s conftest.two &&
	      test -s conftest.dir/conftest.one &&
	      test -s conftest.dir/conftest.two
	    then
	      ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
	      break 3
	    fi
	  fi
	fi
      done
    done
    ;;
esac

done
IFS=$as_save_IFS

rm -rf conftest.one conftest.two conftest.dir

fi
  if test "${ac_cv_path_install+set}" = set; then
    INSTALL=$ac_cv_path_install
  else
    # As a last resort, use the slow shell script.  Don't cache a
    # value for INSTALL 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.
    INSTALL=$ac_install_sh
  fi
fi
{ $as_echo "$as_me:$LINENO: result: $INSTALL" >&5
$as_echo "$INSTALL" >&6; }

# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
# It thinks the first close brace ends the variable substitution.
test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'

test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'

test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'

{ $as_echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
$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
  $as_echo_n "(cached) " >&6
else
  cat >conftest.make <<\_ACEOF
SHELL = /bin/sh
all:
	@echo '@@@%%%=$(MAKE)=@@@%%%'
_ACEOF
# 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;;
  *)
    eval ac_cv_prog_make_${ac_make}_set=no;;
esac
rm -f conftest.make
fi
if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
  { $as_echo "$as_me:$LINENO: result: yes" >&5
$as_echo "yes" >&6; }
  SET_MAKE=
else
  { $as_echo "$as_me:$LINENO: result: no" >&5
$as_echo "no" >&6; }
  SET_MAKE="MAKE=${MAKE-make}"
fi


# This is mainly for my use during testing and development.
# Yes, it's a bit of a hack.
{ $as_echo "$as_me:$LINENO: checking for special development options" >&5
$as_echo_n "checking for special development options... " >&6; }
if test -f $srcdir/.developing
then
	# add other debug flags as appropriate, save GAWKDEBUG for emergencies
	CFLAGS="$CFLAGS -DARRAYDEBUG -DYYDEBUG"
	if grep dbug $srcdir/.developing
	then
		CFLAGS="$CFLAGS -DDBUG"
		LIBS="$LIBS dbug/libdbug.a"
	fi
	# turn on compiler warnings if we're doing development
	# enable debugging using macros also
	if test "$GCC" = yes
	then
		CFLAGS="$CFLAGS -Wall -fno-builtin -g3 -gdwarf-2"
	fi
	{ $as_echo "$as_me:$LINENO: result: yes" >&5
$as_echo "yes" >&6; }
else
	{ $as_echo "$as_me:$LINENO: result: no" >&5
$as_echo "no" >&6; }
fi




{ $as_echo "$as_me:$LINENO: checking for z/OS USS compilation" >&5
$as_echo_n "checking for z/OS USS compilation... " >&6; }
if test "OS/390" = "`uname`"
then
  CFLAGS="$CFLAGS -D_ALL_SOURCE -DZOS_USS -DUSE_EBCDIC"
  # Must rebuild awkgram.c from Bison for EBCDIC
  rm -f awkgram.c
  ac_cv_zos_uss=yes
else
  ac_cv_zos_uss=no
fi
{ $as_echo "$as_me:$LINENO: result: ${ac_cv_zos_uss}" >&5
$as_echo "${ac_cv_zos_uss}" >&6; }


        { $as_echo "$as_me:$LINENO: checking for strerror in -lcposix" >&5
$as_echo_n "checking for strerror in -lcposix... " >&6; }
if test "${ac_cv_lib_cposix_strerror+set}" = set; then
  $as_echo_n "(cached) " >&6
else
  ac_check_lib_save_LIBS=$LIBS
LIBS="-lcposix  $LIBS"
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* 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 strerror ();
int
main ()
{
return strerror ();
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  ac_cv_lib_cposix_strerror=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_cv_lib_cposix_strerror=no
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_cposix_strerror" >&5
$as_echo "$ac_cv_lib_cposix_strerror" >&6; }
if test "x$ac_cv_lib_cposix_strerror" = x""yes; then
  LIBS="$LIBS -lcposix"
fi



# 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:$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 >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* 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
	 rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  break
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5


fi

rm -f core conftest.err conftest.$ac_objext
	 CC="$CC -n32"
	 rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  ac_cv_sys_largefile_CC=' -n32'; break
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5


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:$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:$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 >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* 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
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  ac_cv_sys_file_offset_bits=no; break
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5


fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* 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 ()
{

  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  ac_cv_sys_file_offset_bits=64; break
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5


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:$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:$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
  while :; do
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* 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
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  ac_cv_sys_large_files=no; break
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5


fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* 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
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  ac_cv_sys_large_files=1; break
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5


fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  ac_cv_sys_large_files=unknown
  break
done
fi
{ $as_echo "$as_me:$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
fi


{ $as_echo "$as_me:$LINENO: checking for AIX compilation hacks" >&5
$as_echo_n "checking for AIX compilation hacks... " >&6; }
if test "${gawk_cv_aix_hack+set}" = set; then
  $as_echo_n "(cached) " >&6
else

if test -d /lpp
then
	CFLAGS="$CFLAGS -D_XOPEN_SOURCE_EXTENDED=1 -DGAWK_AIX=1"
	gawk_cv_aix_hack=yes
else
	gawk_cv_aix_hack=no
fi

fi
{ $as_echo "$as_me:$LINENO: result: ${gawk_cv_aix_hack}" >&5
$as_echo "${gawk_cv_aix_hack}" >&6; }


{ $as_echo "$as_me:$LINENO: checking for Linux/Alpha compilation hacks" >&5
$as_echo_n "checking for Linux/Alpha compilation hacks... " >&6; }
if test "${gawk_cv_linux_alpha_hack+set}" = set; then
  $as_echo_n "(cached) " >&6
else

if test "Linux" = "`uname`" && test "alpha" = "`uname -m`"
then
	# this isn't necessarily always true,
	# the vendor's compiler is also often found
	if test "$GCC" = yes
	then
		CFLAGS="$CFLAGS -mieee"
		gawk_cv_linux_alpha_hack=yes
	else
		gawk_cv_linux_alpha_hack=no
	fi
else
	gawk_cv_linux_alpha_hack=no
fi

fi
{ $as_echo "$as_me:$LINENO: result: ${gawk_cv_linux_alpha_hack}" >&5
$as_echo "${gawk_cv_linux_alpha_hack}" >&6; }


if test "$ISC" = 1	# will be set by test for ISC
then
	CFLAGS="$CFLAGS -D_SYSV3"
fi

{ $as_echo "$as_me:$LINENO: checking for function prototypes" >&5
$as_echo_n "checking for function prototypes... " >&6; }
if test "$ac_cv_prog_cc_c89" != no; then
  { $as_echo "$as_me:$LINENO: result: yes" >&5
$as_echo "yes" >&6; }

cat >>confdefs.h <<\_ACEOF
#define PROTOTYPES 1
_ACEOF


cat >>confdefs.h <<\_ACEOF
#define __PROTOTYPES 1
_ACEOF

else
  { $as_echo "$as_me:$LINENO: result: no" >&5
$as_echo "no" >&6; }
fi


if test "$ac_cv_prog_cc_stdc" != no; then
  U= ANSI2KNR=
else
  U=_ ANSI2KNR=./ansi2knr
fi
# Ensure some checks needed by ansi2knr itself.


for ac_header in string.h
do
as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
  { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
$as_echo_n "checking for $ac_header... " >&6; }
if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
  $as_echo_n "(cached) " >&6
fi
ac_res=`eval 'as_val=${'$as_ac_Header'}
		 $as_echo "$as_val"'`
	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
else
  # Is the header compilable?
{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
$as_echo_n "checking $ac_header usability... " >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
$ac_includes_default
#include <$ac_header>
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  ac_header_compiler=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_header_compiler=no
fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
$as_echo "$ac_header_compiler" >&6; }

# Is the header present?
{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
$as_echo_n "checking $ac_header presence... " >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
#include <$ac_header>
_ACEOF
if { (ac_try="$ac_cpp conftest.$ac_ext"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } >/dev/null && {
	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
	 test ! -s conftest.err
       }; then
  ac_header_preproc=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

  ac_header_preproc=no
fi

rm -f conftest.err conftest.$ac_ext
{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
$as_echo "$ac_header_preproc" >&6; }

# So?  What about this header?
case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
  yes:no: )
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
    ac_header_preproc=yes
    ;;
  no:yes:* )
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
$as_echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
$as_echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
    ( cat <<\_ASBOX
## ------------------------------- ##
## Report this to bug-gawk@gnu.org ##
## ------------------------------- ##
_ASBOX
     ) | sed "s/^/$as_me: WARNING:     /" >&2
    ;;
esac
{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
$as_echo_n "checking for $ac_header... " >&6; }
if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
  $as_echo_n "(cached) " >&6
else
  eval "$as_ac_Header=\$ac_header_preproc"
fi
ac_res=`eval 'as_val=${'$as_ac_Header'}
		 $as_echo "$as_val"'`
	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }

fi
as_val=`eval 'as_val=${'$as_ac_Header'}
		 $as_echo "$as_val"'`
   if test "x$as_val" = x""yes; then
  cat >>confdefs.h <<_ACEOF
#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
_ACEOF

fi

done



case `(uname) 2> /dev/null` in
*CYGWIN*)
	with_libiconv_prefix=no
	with_libintl_prefix=no
	;;
*)
	;;
esac


  { $as_echo "$as_me:$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:$LINENO: result: $USE_NLS" >&5
$as_echo "$USE_NLS" >&6; }




      GETTEXT_MACRO_VERSION=0.17




# 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:$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:$LINENO: result: $MSGFMT" >&5
$as_echo "$MSGFMT" >&6; }
else
  { $as_echo "$as_me:$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:$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:$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:$LINENO: result: $GMSGFMT" >&5
$as_echo "$GMSGFMT" >&6; }
else
  { $as_echo "$as_me:$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:$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:$LINENO: result: $XGETTEXT" >&5
$as_echo "$XGETTEXT" >&6; }
else
  { $as_echo "$as_me:$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:$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:$LINENO: result: $MSGMERGE" >&5
$as_echo "$MSGMERGE" >&6; }
else
  { $as_echo "$as_me:$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:$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:$LINENO: checking for GNU ld" >&5
$as_echo_n "checking for GNU ld... " >&6; }
else
  { $as_echo "$as_me:$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:$LINENO: result: $LD" >&5
$as_echo "$LD" >&6; }
else
  { $as_echo "$as_me:$LINENO: result: no" >&5
$as_echo "no" >&6; }
fi
test -z "$LD" && { { $as_echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
$as_echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
   { (exit 1); exit 1; }; }
{ $as_echo "$as_me:$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:$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:$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:$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
  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\"

  exec_prefix="$acl_save_exec_prefix"
  prefix="$acl_save_prefix"

      else
        additional_includedir="$withval/include"
        additional_libdir="$withval/$acl_libdirstem"
      fi
    fi

fi

      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
      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 "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

  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:$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 >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
#include <CoreFoundation/CFPreferences.h>
int
main ()
{
CFPreferencesCopyAppValue(NULL, NULL)
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  gt_cv_func_CFPreferencesCopyAppValue=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	gt_cv_func_CFPreferencesCopyAppValue=no
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
     LIBS="$gt_save_LIBS"
fi
{ $as_echo "$as_me:$LINENO: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5
$as_echo "$gt_cv_func_CFPreferencesCopyAppValue" >&6; }
  if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then

cat >>confdefs.h <<\_ACEOF
#define HAVE_CFPREFERENCESCOPYAPPVALUE 1
_ACEOF

  fi
    { $as_echo "$as_me:$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 >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
#include <CoreFoundation/CFLocale.h>
int
main ()
{
CFLocaleCopyCurrent();
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  gt_cv_func_CFLocaleCopyCurrent=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	gt_cv_func_CFLocaleCopyCurrent=no
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
     LIBS="$gt_save_LIBS"
fi
{ $as_echo "$as_me:$LINENO: result: $gt_cv_func_CFLocaleCopyCurrent" >&5
$as_echo "$gt_cv_func_CFLocaleCopyCurrent" >&6; }
  if test $gt_cv_func_CFLocaleCopyCurrent = yes; then

cat >>confdefs.h <<\_ACEOF
#define HAVE_CFLOCALECOPYCURRENT 1
_ACEOF

  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:$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
  $as_echo_n "(cached) " >&6
else
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* 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
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  eval "$gt_func_gnugettext_libc=yes"
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	eval "$gt_func_gnugettext_libc=no"
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
fi
ac_res=`eval 'as_val=${'$gt_func_gnugettext_libc'}
		 $as_echo "$as_val"'`
	       { $as_echo "$as_me:$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:$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 >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* 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
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  am_cv_func_iconv=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5


fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
    if test "$am_cv_func_iconv" != yes; then
      am_save_LIBS="$LIBS"
      LIBS="$LIBS $LIBICONV"
      cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* 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
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  am_cv_lib_iconv=yes
        am_cv_func_iconv=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5


fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
      LIBS="$am_save_LIBS"
    fi

fi
{ $as_echo "$as_me:$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:$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 >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* 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;
  return 0;
}
_ACEOF
rm -f conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
  { (case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_try") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }; }; then
  am_cv_func_iconv_works=yes
else
  $as_echo "$as_me: program exited with status $ac_status" >&5
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

( exit $ac_status )
am_cv_func_iconv_works=no
fi
rm -rf conftest.dSYM
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi


      LIBS="$am_save_LIBS"

fi
{ $as_echo "$as_me:$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

cat >>confdefs.h <<\_ACEOF
#define HAVE_ICONV 1
_ACEOF

  fi
  if test "$am_cv_lib_iconv" = yes; then
    { $as_echo "$as_me:$LINENO: checking how to link with libiconv" >&5
$as_echo_n "checking how to link with libiconv... " >&6; }
    { $as_echo "$as_me:$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"
      fi
    fi

fi

      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

  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"; 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"

                          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:$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
  $as_echo_n "(cached) " >&6
else
  gt_save_CPPFLAGS="$CPPFLAGS"
            CPPFLAGS="$CPPFLAGS $INCINTL"
            gt_save_LIBS="$LIBS"
            LIBS="$LIBS $LIBINTL"
                        cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* 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
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  eval "$gt_func_gnugettext_libintl=yes"
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	eval "$gt_func_gnugettext_libintl=no"
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      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 >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* 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
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  LIBINTL="$LIBINTL $LIBICONV"
                LTLIBINTL="$LTLIBINTL $LTLIBICONV"
                eval "$gt_func_gnugettext_libintl=yes"

else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5


fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
            fi
            CPPFLAGS="$gt_save_CPPFLAGS"
            LIBS="$gt_save_LIBS"
fi
ac_res=`eval 'as_val=${'$gt_func_gnugettext_libintl'}
		 $as_echo "$as_val"'`
	       { $as_echo "$as_me:$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

cat >>confdefs.h <<\_ACEOF
#define ENABLE_NLS 1
_ACEOF

    else
      USE_NLS=no
    fi
  fi

  { $as_echo "$as_me:$LINENO: checking whether to use NLS" >&5
$as_echo_n "checking whether to use NLS... " >&6; }
  { $as_echo "$as_me:$LINENO: result: $USE_NLS" >&5
$as_echo "$USE_NLS" >&6; }
  if test "$USE_NLS" = "yes"; then
    { $as_echo "$as_me:$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:$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:$LINENO: checking how to link with libintl" >&5
$as_echo_n "checking how to link with libintl... " >&6; }
        { $as_echo "$as_me:$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


cat >>confdefs.h <<\_ACEOF
#define HAVE_GETTEXT 1
_ACEOF


cat >>confdefs.h <<\_ACEOF
#define HAVE_DCGETTEXT 1
_ACEOF

    fi

        POSUB=po
  fi



    INTLLIBS="$LIBINTL"








  { $as_echo "$as_me:$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
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
#include <langinfo.h>
int
main ()
{
char* cs = nl_langinfo(CODESET); return !cs;
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  am_cv_langinfo_codeset=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	am_cv_langinfo_codeset=no
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext

fi
{ $as_echo "$as_me:$LINENO: result: $am_cv_langinfo_codeset" >&5
$as_echo "$am_cv_langinfo_codeset" >&6; }
  if test $am_cv_langinfo_codeset = yes; then

cat >>confdefs.h <<\_ACEOF
#define HAVE_LANGINFO_CODESET 1
_ACEOF

  fi


  { $as_echo "$as_me:$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
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
#include <locale.h>
int
main ()
{
return LC_MESSAGES
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  gt_cv_val_LC_MESSAGES=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	gt_cv_val_LC_MESSAGES=no
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
fi
{ $as_echo "$as_me:$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

cat >>confdefs.h <<\_ACEOF
#define HAVE_LC_MESSAGES 1
_ACEOF

  fi


{ $as_echo "$as_me:$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 >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
#include <stdlib.h>
#include <stdarg.h>
#include <string.h>
#include <float.h>

int
main ()
{

  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  ac_cv_header_stdc=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	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 >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* 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 >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* 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 >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* 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
rm -f conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
  { (case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_try") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }; }; then
  :
else
  $as_echo "$as_me: program exited with status $ac_status" >&5
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

( exit $ac_status )
ac_cv_header_stdc=no
fi
rm -rf conftest.dSYM
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi


fi
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
$as_echo "$ac_cv_header_stdc" >&6; }
if test $ac_cv_header_stdc = yes; then

cat >>confdefs.h <<\_ACEOF
#define STDC_HEADERS 1
_ACEOF

fi

{ $as_echo "$as_me:$LINENO: checking for sys/wait.h that is POSIX.1 compatible" >&5
$as_echo_n "checking for sys/wait.h that is POSIX.1 compatible... " >&6; }
if test "${ac_cv_header_sys_wait_h+set}" = set; then
  $as_echo_n "(cached) " >&6
else
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
#include <sys/types.h>
#include <sys/wait.h>
#ifndef WEXITSTATUS
# define WEXITSTATUS(stat_val) ((unsigned int) (stat_val) >> 8)
#endif
#ifndef WIFEXITED
# define WIFEXITED(stat_val) (((stat_val) & 255) == 0)
#endif

int
main ()
{
  int s;
  wait (&s);
  s = WIFEXITED (s) ? WEXITSTATUS (s) : 1;
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  ac_cv_header_sys_wait_h=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_cv_header_sys_wait_h=no
fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_sys_wait_h" >&5
$as_echo "$ac_cv_header_sys_wait_h" >&6; }
if test $ac_cv_header_sys_wait_h = yes; then

cat >>confdefs.h <<\_ACEOF
#define HAVE_SYS_WAIT_H 1
_ACEOF

fi

{ $as_echo "$as_me:$LINENO: checking whether time.h and sys/time.h may both be included" >&5
$as_echo_n "checking whether time.h and sys/time.h may both be included... " >&6; }
if test "${ac_cv_header_time+set}" = set; then
  $as_echo_n "(cached) " >&6
else
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
#include <sys/types.h>
#include <sys/time.h>
#include <time.h>

int
main ()
{
if ((struct tm *) 0)
return 0;
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  ac_cv_header_time=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_cv_header_time=no
fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_time" >&5
$as_echo "$ac_cv_header_time" >&6; }
if test $ac_cv_header_time = yes; then

cat >>confdefs.h <<\_ACEOF
#define TIME_WITH_SYS_TIME 1
_ACEOF

fi





















for ac_header in arpa/inet.h fcntl.h limits.h locale.h libintl.h mcheck.h \
	netdb.h netinet/in.h  signum.h stdarg.h stddef.h string.h \
	sys/param.h sys/socket.h sys/time.h unistd.h \
	termios.h stropts.h wchar.h wctype.h
do
as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
  { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
$as_echo_n "checking for $ac_header... " >&6; }
if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
  $as_echo_n "(cached) " >&6
fi
ac_res=`eval 'as_val=${'$as_ac_Header'}
		 $as_echo "$as_val"'`
	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
else
  # Is the header compilable?
{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
$as_echo_n "checking $ac_header usability... " >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
$ac_includes_default
#include <$ac_header>
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  ac_header_compiler=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_header_compiler=no
fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
$as_echo "$ac_header_compiler" >&6; }

# Is the header present?
{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
$as_echo_n "checking $ac_header presence... " >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
#include <$ac_header>
_ACEOF
if { (ac_try="$ac_cpp conftest.$ac_ext"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } >/dev/null && {
	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
	 test ! -s conftest.err
       }; then
  ac_header_preproc=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

  ac_header_preproc=no
fi

rm -f conftest.err conftest.$ac_ext
{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
$as_echo "$ac_header_preproc" >&6; }

# So?  What about this header?
case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
  yes:no: )
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
    ac_header_preproc=yes
    ;;
  no:yes:* )
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
$as_echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
$as_echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
    ( cat <<\_ASBOX
## ------------------------------- ##
## Report this to bug-gawk@gnu.org ##
## ------------------------------- ##
_ASBOX
     ) | sed "s/^/$as_me: WARNING:     /" >&2
    ;;
esac
{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
$as_echo_n "checking for $ac_header... " >&6; }
if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
  $as_echo_n "(cached) " >&6
else
  eval "$as_ac_Header=\$ac_header_preproc"
fi
ac_res=`eval 'as_val=${'$as_ac_Header'}
		 $as_echo "$as_val"'`
	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }

fi
as_val=`eval 'as_val=${'$as_ac_Header'}
		 $as_echo "$as_val"'`
   if test "x$as_val" = 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_string_h" = yes
then

for ac_header in memory.h
do
as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
  { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
$as_echo_n "checking for $ac_header... " >&6; }
if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
  $as_echo_n "(cached) " >&6
fi
ac_res=`eval 'as_val=${'$as_ac_Header'}
		 $as_echo "$as_val"'`
	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
else
  # Is the header compilable?
{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
$as_echo_n "checking $ac_header usability... " >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
$ac_includes_default
#include <$ac_header>
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  ac_header_compiler=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_header_compiler=no
fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
$as_echo "$ac_header_compiler" >&6; }

# Is the header present?
{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
$as_echo_n "checking $ac_header presence... " >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
#include <$ac_header>
_ACEOF
if { (ac_try="$ac_cpp conftest.$ac_ext"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } >/dev/null && {
	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
	 test ! -s conftest.err
       }; then
  ac_header_preproc=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

  ac_header_preproc=no
fi

rm -f conftest.err conftest.$ac_ext
{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
$as_echo "$ac_header_preproc" >&6; }

# So?  What about this header?
case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
  yes:no: )
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
    ac_header_preproc=yes
    ;;
  no:yes:* )
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
$as_echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
$as_echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
    ( cat <<\_ASBOX
## ------------------------------- ##
## Report this to bug-gawk@gnu.org ##
## ------------------------------- ##
_ASBOX
     ) | sed "s/^/$as_me: WARNING:     /" >&2
    ;;
esac
{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
$as_echo_n "checking for $ac_header... " >&6; }
if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
  $as_echo_n "(cached) " >&6
else
  eval "$as_ac_Header=\$ac_header_preproc"
fi
ac_res=`eval 'as_val=${'$as_ac_Header'}
		 $as_echo "$as_val"'`
	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }

fi
as_val=`eval 'as_val=${'$as_ac_Header'}
		 $as_echo "$as_val"'`
   if test "x$as_val" = x""yes; then
  cat >>confdefs.h <<_ACEOF
#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
_ACEOF

fi

done

else

for ac_header in strings.h
do
as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
  { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
$as_echo_n "checking for $ac_header... " >&6; }
if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
  $as_echo_n "(cached) " >&6
fi
ac_res=`eval 'as_val=${'$as_ac_Header'}
		 $as_echo "$as_val"'`
	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
else
  # Is the header compilable?
{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
$as_echo_n "checking $ac_header usability... " >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
$ac_includes_default
#include <$ac_header>
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  ac_header_compiler=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_header_compiler=no
fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
$as_echo "$ac_header_compiler" >&6; }

# Is the header present?
{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
$as_echo_n "checking $ac_header presence... " >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
#include <$ac_header>
_ACEOF
if { (ac_try="$ac_cpp conftest.$ac_ext"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } >/dev/null && {
	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
	 test ! -s conftest.err
       }; then
  ac_header_preproc=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

  ac_header_preproc=no
fi

rm -f conftest.err conftest.$ac_ext
{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
$as_echo "$ac_header_preproc" >&6; }

# So?  What about this header?
case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
  yes:no: )
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
    ac_header_preproc=yes
    ;;
  no:yes:* )
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
$as_echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
$as_echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
    ( cat <<\_ASBOX
## ------------------------------- ##
## Report this to bug-gawk@gnu.org ##
## ------------------------------- ##
_ASBOX
     ) | sed "s/^/$as_me: WARNING:     /" >&2
    ;;
esac
{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
$as_echo_n "checking for $ac_header... " >&6; }
if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
  $as_echo_n "(cached) " >&6
else
  eval "$as_ac_Header=\$ac_header_preproc"
fi
ac_res=`eval 'as_val=${'$as_ac_Header'}
		 $as_echo "$as_val"'`
	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }

fi
as_val=`eval 'as_val=${'$as_ac_Header'}
		 $as_echo "$as_val"'`
   if test "x$as_val" = x""yes; then
  cat >>confdefs.h <<_ACEOF
#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
_ACEOF

fi

done

fi

{ $as_echo "$as_me:$LINENO: checking for pid_t" >&5
$as_echo_n "checking for pid_t... " >&6; }
if test "${ac_cv_type_pid_t+set}" = set; then
  $as_echo_n "(cached) " >&6
else
  ac_cv_type_pid_t=no
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
$ac_includes_default
int
main ()
{
if (sizeof (pid_t))
       return 0;
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
$ac_includes_default
int
main ()
{
if (sizeof ((pid_t)))
	  return 0;
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  :
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_cv_type_pid_t=yes
fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5


fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_pid_t" >&5
$as_echo "$ac_cv_type_pid_t" >&6; }
if test "x$ac_cv_type_pid_t" = x""yes; then
  :
else

cat >>confdefs.h <<_ACEOF
#define pid_t int
_ACEOF

fi

{ $as_echo "$as_me:$LINENO: checking return type of signal handlers" >&5
$as_echo_n "checking return type of signal handlers... " >&6; }
if test "${ac_cv_type_signal+set}" = set; then
  $as_echo_n "(cached) " >&6
else
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
#include <sys/types.h>
#include <signal.h>

int
main ()
{
return *(signal (0, 0)) (0) == 1;
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  ac_cv_type_signal=int
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_cv_type_signal=void
fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_signal" >&5
$as_echo "$ac_cv_type_signal" >&6; }

cat >>confdefs.h <<_ACEOF
#define RETSIGTYPE $ac_cv_type_signal
_ACEOF


{ $as_echo "$as_me:$LINENO: checking for size_t" >&5
$as_echo_n "checking for size_t... " >&6; }
if test "${ac_cv_type_size_t+set}" = set; then
  $as_echo_n "(cached) " >&6
else
  ac_cv_type_size_t=no
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
$ac_includes_default
int
main ()
{
if (sizeof (size_t))
       return 0;
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
$ac_includes_default
int
main ()
{
if (sizeof ((size_t)))
	  return 0;
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  :
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_cv_type_size_t=yes
fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5


fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5
$as_echo "$ac_cv_type_size_t" >&6; }
if test "x$ac_cv_type_size_t" = x""yes; then
  :
else

cat >>confdefs.h <<_ACEOF
#define size_t unsigned int
_ACEOF

fi

{ $as_echo "$as_me:$LINENO: checking for uid_t in sys/types.h" >&5
$as_echo_n "checking for uid_t in sys/types.h... " >&6; }
if test "${ac_cv_type_uid_t+set}" = set; then
  $as_echo_n "(cached) " >&6
else
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
#include <sys/types.h>

_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
  $EGREP "uid_t" >/dev/null 2>&1; then
  ac_cv_type_uid_t=yes
else
  ac_cv_type_uid_t=no
fi
rm -f conftest*

fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_uid_t" >&5
$as_echo "$ac_cv_type_uid_t" >&6; }
if test $ac_cv_type_uid_t = no; then

cat >>confdefs.h <<\_ACEOF
#define uid_t int
_ACEOF


cat >>confdefs.h <<\_ACEOF
#define gid_t int
_ACEOF

fi

{ $as_echo "$as_me:$LINENO: checking type of array argument to getgroups" >&5
$as_echo_n "checking type of array argument to getgroups... " >&6; }
if test "${ac_cv_type_getgroups+set}" = set; then
  $as_echo_n "(cached) " >&6
else
  if test "$cross_compiling" = yes; then
  ac_cv_type_getgroups=cross
else
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
/* Thanks to Mike Rendell for this test.  */
$ac_includes_default
#define NGID 256
#undef MAX
#define MAX(x, y) ((x) > (y) ? (x) : (y))

int
main ()
{
  gid_t gidset[NGID];
  int i, n;
  union { gid_t gval; long int lval; }  val;

  val.lval = -1;
  for (i = 0; i < NGID; i++)
    gidset[i] = val.gval;
  n = getgroups (sizeof (gidset) / MAX (sizeof (int), sizeof (gid_t)) - 1,
		 gidset);
  /* Exit non-zero if getgroups seems to require an array of ints.  This
     happens when gid_t is short int but getgroups modifies an array
     of ints.  */
  return n > 0 && gidset[n] != val.gval;
}
_ACEOF
rm -f conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
  { (case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_try") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }; }; then
  ac_cv_type_getgroups=gid_t
else
  $as_echo "$as_me: program exited with status $ac_status" >&5
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

( exit $ac_status )
ac_cv_type_getgroups=int
fi
rm -rf conftest.dSYM
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi


if test $ac_cv_type_getgroups = cross; then
        cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
#include <unistd.h>

_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
  $EGREP "getgroups.*int.*gid_t" >/dev/null 2>&1; then
  ac_cv_type_getgroups=gid_t
else
  ac_cv_type_getgroups=int
fi
rm -f conftest*

fi
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_getgroups" >&5
$as_echo "$ac_cv_type_getgroups" >&6; }

cat >>confdefs.h <<_ACEOF
#define GETGROUPS_T $ac_cv_type_getgroups
_ACEOF



  { $as_echo "$as_me:$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 >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
long long int ll = 9223372036854775807ll;
	    long long int nll = -9223372036854775807LL;
	    typedef int a[((-9223372036854775807LL < 0
			    && 0 < 9223372036854775807ll)
			   ? 1 : -1)];
	    int i = 63;
int
main ()
{
long long int llmax = 9223372036854775807ll;
	    return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i)
		    | (llmax / ll) | (llmax % ll));
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  ac_cv_type_long_long_int=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_cv_type_long_long_int=no
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
fi
{ $as_echo "$as_me:$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

cat >>confdefs.h <<\_ACEOF
#define HAVE_LONG_LONG_INT 1
_ACEOF

  fi



  ac_cv_type_long_long=$ac_cv_type_long_long_int
  if test $ac_cv_type_long_long = yes; then

cat >>confdefs.h <<\_ACEOF
#define HAVE_LONG_LONG 1
_ACEOF

  fi


  { $as_echo "$as_me:$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 >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
unsigned long long int ull = 18446744073709551615ULL;
	    typedef int a[(18446744073709551615ULL <= (unsigned long long int) -1
			   ? 1 : -1)];
	   int i = 63;
int
main ()
{
unsigned long long int ullmax = 18446744073709551615ull;
	    return (ull << 63 | ull >> 63 | ull << i | ull >> i
		    | ullmax / ull | ullmax % ull);
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  ac_cv_type_unsigned_long_long_int=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_cv_type_unsigned_long_long_int=no
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
fi
{ $as_echo "$as_me:$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

cat >>confdefs.h <<\_ACEOF
#define HAVE_UNSIGNED_LONG_LONG_INT 1
_ACEOF

  fi



  ac_cv_type_unsigned_long_long=$ac_cv_type_unsigned_long_long_int
  if test $ac_cv_type_unsigned_long_long = yes; then

cat >>confdefs.h <<\_ACEOF
#define HAVE_UNSIGNED_LONG_LONG 1
_ACEOF

  fi


  if test "OS/390" = "`uname`"
  then
      gl_cv_header_inttypes_h=no
  else
    { $as_echo "$as_me:$LINENO: checking for inttypes.h" >&5
$as_echo_n "checking for inttypes.h... " >&6; }
if test "${gl_cv_header_inttypes_h+set}" = set; then
  $as_echo_n "(cached) " >&6
else
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
#include <sys/types.h>
#include <inttypes.h>
int
main ()
{
uintmax_t i = (uintmax_t) -1; return !i;
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  gl_cv_header_inttypes_h=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	gl_cv_header_inttypes_h=no
fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:$LINENO: result: $gl_cv_header_inttypes_h" >&5
$as_echo "$gl_cv_header_inttypes_h" >&6; }
    if test $gl_cv_header_inttypes_h = yes; then

cat >>confdefs.h <<_ACEOF
#define HAVE_INTTYPES_H_WITH_UINTMAX 1
_ACEOF

    fi
  fi


  if test "OS/390" = "`uname`"
  then
    gl_cv_header_stdint_h=no
  else
    { $as_echo "$as_me:$LINENO: checking for stdint.h" >&5
$as_echo_n "checking for stdint.h... " >&6; }
if test "${gl_cv_header_stdint_h+set}" = set; then
  $as_echo_n "(cached) " >&6
else
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
#include <sys/types.h>
#include <stdint.h>
int
main ()
{
uintmax_t i = (uintmax_t) -1; return !i;
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  gl_cv_header_stdint_h=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	gl_cv_header_stdint_h=no
fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:$LINENO: result: $gl_cv_header_stdint_h" >&5
$as_echo "$gl_cv_header_stdint_h" >&6; }
    if test $gl_cv_header_stdint_h = yes; then

cat >>confdefs.h <<_ACEOF
#define HAVE_STDINT_H_WITH_UINTMAX 1
_ACEOF

    fi
  fi




  if test $gl_cv_header_inttypes_h = no && test $gl_cv_header_stdint_h = no; then

    test $ac_cv_type_long_long = yes \
      && ac_type='long long' \
      || ac_type='long'

cat >>confdefs.h <<_ACEOF
#define intmax_t $ac_type
_ACEOF

  else

cat >>confdefs.h <<\_ACEOF
#define HAVE_INTMAX_T 1
_ACEOF

  fi




  if test $gl_cv_header_inttypes_h = no && test $gl_cv_header_stdint_h = no; then

    test $ac_cv_type_unsigned_long_long = yes \
      && ac_type='unsigned long long' \
      || ac_type='unsigned long'

cat >>confdefs.h <<_ACEOF
#define uintmax_t $ac_type
_ACEOF

  else

cat >>confdefs.h <<\_ACEOF
#define HAVE_UINTMAX_T 1
_ACEOF

  fi

{ $as_echo "$as_me:$LINENO: checking for ssize_t" >&5
$as_echo_n "checking for ssize_t... " >&6; }
if test "${ac_cv_type_ssize_t+set}" = set; then
  $as_echo_n "(cached) " >&6
else
  ac_cv_type_ssize_t=no
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
$ac_includes_default
int
main ()
{
if (sizeof (ssize_t))
       return 0;
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
$ac_includes_default
int
main ()
{
if (sizeof ((ssize_t)))
	  return 0;
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  :
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_cv_type_ssize_t=yes
fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5


fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_ssize_t" >&5
$as_echo "$ac_cv_type_ssize_t" >&6; }
if test "x$ac_cv_type_ssize_t" = x""yes; then
  :
else

cat >>confdefs.h <<_ACEOF
#define ssize_t int
_ACEOF

fi

# The cast to long int works around a bug in the HP C Compiler
# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
# This bug is HP SR number 8606223364.
{ $as_echo "$as_me:$LINENO: checking size of unsigned int" >&5
$as_echo_n "checking size of unsigned int... " >&6; }
if test "${ac_cv_sizeof_unsigned_int+set}" = set; then
  $as_echo_n "(cached) " >&6
else
  if test "$cross_compiling" = yes; then
  # Depending upon the size, compute the lo and hi bounds.
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
$ac_includes_default
int
main ()
{
static int test_array [1 - 2 * !(((long int) (sizeof (unsigned int))) >= 0)];
test_array [0] = 0

  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  ac_lo=0 ac_mid=0
  while :; do
    cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
$ac_includes_default
int
main ()
{
static int test_array [1 - 2 * !(((long int) (sizeof (unsigned int))) <= $ac_mid)];
test_array [0] = 0

  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  ac_hi=$ac_mid; break
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_lo=`expr $ac_mid + 1`
			if test $ac_lo -le $ac_mid; then
			  ac_lo= ac_hi=
			  break
			fi
			ac_mid=`expr 2 '*' $ac_mid + 1`
fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  done
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
$ac_includes_default
int
main ()
{
static int test_array [1 - 2 * !(((long int) (sizeof (unsigned int))) < 0)];
test_array [0] = 0

  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  ac_hi=-1 ac_mid=-1
  while :; do
    cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
$ac_includes_default
int
main ()
{
static int test_array [1 - 2 * !(((long int) (sizeof (unsigned int))) >= $ac_mid)];
test_array [0] = 0

  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  ac_lo=$ac_mid; break
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_hi=`expr '(' $ac_mid ')' - 1`
			if test $ac_mid -le $ac_hi; then
			  ac_lo= ac_hi=
			  break
			fi
			ac_mid=`expr 2 '*' $ac_mid`
fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  done
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_lo= ac_hi=
fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
# Binary search between lo and hi bounds.
while test "x$ac_lo" != "x$ac_hi"; do
  ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
$ac_includes_default
int
main ()
{
static int test_array [1 - 2 * !(((long int) (sizeof (unsigned int))) <= $ac_mid)];
test_array [0] = 0

  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  ac_hi=$ac_mid
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_lo=`expr '(' $ac_mid ')' + 1`
fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
done
case $ac_lo in
?*) ac_cv_sizeof_unsigned_int=$ac_lo;;
'') if test "$ac_cv_type_unsigned_int" = yes; then
     { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (unsigned int)
See \`config.log' for more details." >&5
$as_echo "$as_me: error: cannot compute sizeof (unsigned int)
See \`config.log' for more details." >&2;}
   { (exit 77); exit 77; }; }; }
   else
     ac_cv_sizeof_unsigned_int=0
   fi ;;
esac
else
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
$ac_includes_default
static long int longval () { return (long int) (sizeof (unsigned int)); }
static unsigned long int ulongval () { return (long int) (sizeof (unsigned int)); }
#include <stdio.h>
#include <stdlib.h>
int
main ()
{

  FILE *f = fopen ("conftest.val", "w");
  if (! f)
    return 1;
  if (((long int) (sizeof (unsigned int))) < 0)
    {
      long int i = longval ();
      if (i != ((long int) (sizeof (unsigned int))))
	return 1;
      fprintf (f, "%ld", i);
    }
  else
    {
      unsigned long int i = ulongval ();
      if (i != ((long int) (sizeof (unsigned int))))
	return 1;
      fprintf (f, "%lu", i);
    }
  /* Do not output a trailing newline, as this causes \r\n confusion
     on some platforms.  */
  return ferror (f) || fclose (f) != 0;

  ;
  return 0;
}
_ACEOF
rm -f conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
  { (case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_try") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }; }; then
  ac_cv_sizeof_unsigned_int=`cat conftest.val`
else
  $as_echo "$as_me: program exited with status $ac_status" >&5
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

( exit $ac_status )
if test "$ac_cv_type_unsigned_int" = yes; then
     { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (unsigned int)
See \`config.log' for more details." >&5
$as_echo "$as_me: error: cannot compute sizeof (unsigned int)
See \`config.log' for more details." >&2;}
   { (exit 77); exit 77; }; }; }
   else
     ac_cv_sizeof_unsigned_int=0
   fi
fi
rm -rf conftest.dSYM
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi
rm -f conftest.val
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_unsigned_int" >&5
$as_echo "$ac_cv_sizeof_unsigned_int" >&6; }



cat >>confdefs.h <<_ACEOF
#define SIZEOF_UNSIGNED_INT $ac_cv_sizeof_unsigned_int
_ACEOF


# The cast to long int works around a bug in the HP C Compiler
# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
# This bug is HP SR number 8606223364.
{ $as_echo "$as_me:$LINENO: checking size of unsigned long" >&5
$as_echo_n "checking size of unsigned long... " >&6; }
if test "${ac_cv_sizeof_unsigned_long+set}" = set; then
  $as_echo_n "(cached) " >&6
else
  if test "$cross_compiling" = yes; then
  # Depending upon the size, compute the lo and hi bounds.
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
$ac_includes_default
int
main ()
{
static int test_array [1 - 2 * !(((long int) (sizeof (unsigned long))) >= 0)];
test_array [0] = 0

  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  ac_lo=0 ac_mid=0
  while :; do
    cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
$ac_includes_default
int
main ()
{
static int test_array [1 - 2 * !(((long int) (sizeof (unsigned long))) <= $ac_mid)];
test_array [0] = 0

  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  ac_hi=$ac_mid; break
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_lo=`expr $ac_mid + 1`
			if test $ac_lo -le $ac_mid; then
			  ac_lo= ac_hi=
			  break
			fi
			ac_mid=`expr 2 '*' $ac_mid + 1`
fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  done
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
$ac_includes_default
int
main ()
{
static int test_array [1 - 2 * !(((long int) (sizeof (unsigned long))) < 0)];
test_array [0] = 0

  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  ac_hi=-1 ac_mid=-1
  while :; do
    cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
$ac_includes_default
int
main ()
{
static int test_array [1 - 2 * !(((long int) (sizeof (unsigned long))) >= $ac_mid)];
test_array [0] = 0

  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  ac_lo=$ac_mid; break
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_hi=`expr '(' $ac_mid ')' - 1`
			if test $ac_mid -le $ac_hi; then
			  ac_lo= ac_hi=
			  break
			fi
			ac_mid=`expr 2 '*' $ac_mid`
fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
  done
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_lo= ac_hi=
fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
# Binary search between lo and hi bounds.
while test "x$ac_lo" != "x$ac_hi"; do
  ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo`
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
$ac_includes_default
int
main ()
{
static int test_array [1 - 2 * !(((long int) (sizeof (unsigned long))) <= $ac_mid)];
test_array [0] = 0

  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  ac_hi=$ac_mid
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_lo=`expr '(' $ac_mid ')' + 1`
fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
done
case $ac_lo in
?*) ac_cv_sizeof_unsigned_long=$ac_lo;;
'') if test "$ac_cv_type_unsigned_long" = yes; then
     { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (unsigned long)
See \`config.log' for more details." >&5
$as_echo "$as_me: error: cannot compute sizeof (unsigned long)
See \`config.log' for more details." >&2;}
   { (exit 77); exit 77; }; }; }
   else
     ac_cv_sizeof_unsigned_long=0
   fi ;;
esac
else
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
$ac_includes_default
static long int longval () { return (long int) (sizeof (unsigned long)); }
static unsigned long int ulongval () { return (long int) (sizeof (unsigned long)); }
#include <stdio.h>
#include <stdlib.h>
int
main ()
{

  FILE *f = fopen ("conftest.val", "w");
  if (! f)
    return 1;
  if (((long int) (sizeof (unsigned long))) < 0)
    {
      long int i = longval ();
      if (i != ((long int) (sizeof (unsigned long))))
	return 1;
      fprintf (f, "%ld", i);
    }
  else
    {
      unsigned long int i = ulongval ();
      if (i != ((long int) (sizeof (unsigned long))))
	return 1;
      fprintf (f, "%lu", i);
    }
  /* Do not output a trailing newline, as this causes \r\n confusion
     on some platforms.  */
  return ferror (f) || fclose (f) != 0;

  ;
  return 0;
}
_ACEOF
rm -f conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
  { (case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_try") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }; }; then
  ac_cv_sizeof_unsigned_long=`cat conftest.val`
else
  $as_echo "$as_me: program exited with status $ac_status" >&5
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

( exit $ac_status )
if test "$ac_cv_type_unsigned_long" = yes; then
     { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
{ { $as_echo "$as_me:$LINENO: error: cannot compute sizeof (unsigned long)
See \`config.log' for more details." >&5
$as_echo "$as_me: error: cannot compute sizeof (unsigned long)
See \`config.log' for more details." >&2;}
   { (exit 77); exit 77; }; }; }
   else
     ac_cv_sizeof_unsigned_long=0
   fi
fi
rm -rf conftest.dSYM
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi
rm -f conftest.val
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_unsigned_long" >&5
$as_echo "$ac_cv_sizeof_unsigned_long" >&6; }



cat >>confdefs.h <<_ACEOF
#define SIZEOF_UNSIGNED_LONG $ac_cv_sizeof_unsigned_long
_ACEOF


cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
#include <stdio.h>

_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
  $EGREP "int.*sprintf" >/dev/null 2>&1; then

cat >>confdefs.h <<\_ACEOF
#define SPRINTF_RET int
_ACEOF

else
  cat >>confdefs.h <<\_ACEOF
#define SPRINTF_RET char *
_ACEOF

fi
rm -f conftest*

cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
#include <sys/types.h>
int
main ()
{

	time_t foo;
	foo = 0;

  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then

cat >>confdefs.h <<\_ACEOF
#define TIME_T_IN_SYS_TYPES_H 1
_ACEOF

else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5


fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
#include <wctype.h>
int
main ()
{

	wctype_t foo;
	foo = 0;

  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then

cat >>confdefs.h <<\_ACEOF
#define HAVE_WCTYPE_T 1
_ACEOF

else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5


fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
#include <wctype.h>
int
main ()
{

	wint_t foo;
	foo = 0;

  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then

cat >>confdefs.h <<\_ACEOF
#define HAVE_WINT_T 1
_ACEOF

else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5


fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
#include <sys/types.h>
#include <sys/socket.h>
int
main ()
{

	struct sockaddr_storage foo;

  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then

cat >>confdefs.h <<\_ACEOF
#define HAVE_SOCKADDR_STORAGE 1
_ACEOF

else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5


fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext






   { $as_echo "$as_me:$LINENO: checking for socklen_t" >&5
$as_echo_n "checking for socklen_t... " >&6; }
if test "${ac_cv_type_socklen_t+set}" = set; then
  $as_echo_n "(cached) " >&6
else
  ac_cv_type_socklen_t=no
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
#include <sys/types.h>
#include <sys/socket.h>

int
main ()
{
if (sizeof (socklen_t))
       return 0;
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
#include <sys/types.h>
#include <sys/socket.h>

int
main ()
{
if (sizeof ((socklen_t)))
	  return 0;
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  :
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_cv_type_socklen_t=yes
fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5


fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_socklen_t" >&5
$as_echo "$ac_cv_type_socklen_t" >&6; }
if test "x$ac_cv_type_socklen_t" = x""yes; then
  :
else

      { $as_echo "$as_me:$LINENO: checking for socklen_t equivalent" >&5
$as_echo_n "checking for socklen_t equivalent... " >&6; }
      if test "${rsync_cv_socklen_t_equiv+set}" = set; then
  $as_echo_n "(cached) " >&6
else

         # Systems have either "struct sockaddr *" or
         # "void *" as the second argument to getpeername
         rsync_cv_socklen_t_equiv=
         for arg2 in "struct sockaddr" void; do
            for t in int size_t unsigned long "unsigned long"; do
               cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

#include <sys/types.h>
#include <sys/socket.h>

                  int getpeername (int, $arg2 *, $t *);

int
main ()
{

                  $t len;
                  getpeername(0,0,&len);

  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then

                  rsync_cv_socklen_t_equiv="$t"
                  break

else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5


fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
            done
         done

         if test "x$rsync_cv_socklen_t_equiv" = x; then
		rsync_cv_socklen_t_equiv=int
         fi

fi

      { $as_echo "$as_me:$LINENO: result: $rsync_cv_socklen_t_equiv" >&5
$as_echo "$rsync_cv_socklen_t_equiv" >&6; }

cat >>confdefs.h <<_ACEOF
#define socklen_t $rsync_cv_socklen_t_equiv
_ACEOF

fi




for ac_func in vprintf
do
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
$as_echo_n "checking for $ac_func... " >&6; }
if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
  $as_echo_n "(cached) " >&6
else
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
#define $ac_func innocuous_$ac_func

/* System header to define __stub macros and hopefully few prototypes,
    which can conflict with char $ac_func (); below.
    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
    <limits.h> exists even on freestanding compilers.  */

#ifdef __STDC__
# include <limits.h>
#else
# include <assert.h>
#endif

#undef $ac_func

/* 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 $ac_func ();
/* The GNU C library defines this for functions which it implements
    to always fail with ENOSYS.  Some functions are actually named
    something starting with __ and the normal name is an alias.  */
#if defined __stub_$ac_func || defined __stub___$ac_func
choke me
#endif

int
main ()
{
return $ac_func ();
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  eval "$as_ac_var=yes"
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	eval "$as_ac_var=no"
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
fi
ac_res=`eval 'as_val=${'$as_ac_var'}
		 $as_echo "$as_val"'`
	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
as_val=`eval 'as_val=${'$as_ac_var'}
		 $as_echo "$as_val"'`
   if test "x$as_val" = x""yes; then
  cat >>confdefs.h <<_ACEOF
#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
_ACEOF

{ $as_echo "$as_me:$LINENO: checking for _doprnt" >&5
$as_echo_n "checking for _doprnt... " >&6; }
if test "${ac_cv_func__doprnt+set}" = set; then
  $as_echo_n "(cached) " >&6
else
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
/* Define _doprnt to an innocuous variant, in case <limits.h> declares _doprnt.
   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
#define _doprnt innocuous__doprnt

/* System header to define __stub macros and hopefully few prototypes,
    which can conflict with char _doprnt (); below.
    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
    <limits.h> exists even on freestanding compilers.  */

#ifdef __STDC__
# include <limits.h>
#else
# include <assert.h>
#endif

#undef _doprnt

/* 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 _doprnt ();
/* The GNU C library defines this for functions which it implements
    to always fail with ENOSYS.  Some functions are actually named
    something starting with __ and the normal name is an alias.  */
#if defined __stub__doprnt || defined __stub____doprnt
choke me
#endif

int
main ()
{
return _doprnt ();
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  ac_cv_func__doprnt=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_cv_func__doprnt=no
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_func__doprnt" >&5
$as_echo "$ac_cv_func__doprnt" >&6; }
if test "x$ac_cv_func__doprnt" = x""yes; then

cat >>confdefs.h <<\_ACEOF
#define HAVE_DOPRNT 1
_ACEOF

fi

fi
done






for ac_header in $ac_header_list
do
as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
  { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
$as_echo_n "checking for $ac_header... " >&6; }
if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
  $as_echo_n "(cached) " >&6
fi
ac_res=`eval 'as_val=${'$as_ac_Header'}
		 $as_echo "$as_val"'`
	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
else
  # Is the header compilable?
{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
$as_echo_n "checking $ac_header usability... " >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
$ac_includes_default
#include <$ac_header>
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  ac_header_compiler=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_header_compiler=no
fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
$as_echo "$ac_header_compiler" >&6; }

# Is the header present?
{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
$as_echo_n "checking $ac_header presence... " >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
#include <$ac_header>
_ACEOF
if { (ac_try="$ac_cpp conftest.$ac_ext"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } >/dev/null && {
	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
	 test ! -s conftest.err
       }; then
  ac_header_preproc=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

  ac_header_preproc=no
fi

rm -f conftest.err conftest.$ac_ext
{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
$as_echo "$ac_header_preproc" >&6; }

# So?  What about this header?
case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
  yes:no: )
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
    ac_header_preproc=yes
    ;;
  no:yes:* )
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
$as_echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
$as_echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
    ( cat <<\_ASBOX
## ------------------------------- ##
## Report this to bug-gawk@gnu.org ##
## ------------------------------- ##
_ASBOX
     ) | sed "s/^/$as_me: WARNING:     /" >&2
    ;;
esac
{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
$as_echo_n "checking for $ac_header... " >&6; }
if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
  $as_echo_n "(cached) " >&6
else
  eval "$as_ac_Header=\$ac_header_preproc"
fi
ac_res=`eval 'as_val=${'$as_ac_Header'}
		 $as_echo "$as_val"'`
	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }

fi
as_val=`eval 'as_val=${'$as_ac_Header'}
		 $as_echo "$as_val"'`
   if test "x$as_val" = x""yes; then
  cat >>confdefs.h <<_ACEOF
#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
_ACEOF

fi

done









for ac_func in $ac_func_list
do
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
$as_echo_n "checking for $ac_func... " >&6; }
if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
  $as_echo_n "(cached) " >&6
else
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
#define $ac_func innocuous_$ac_func

/* System header to define __stub macros and hopefully few prototypes,
    which can conflict with char $ac_func (); below.
    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
    <limits.h> exists even on freestanding compilers.  */

#ifdef __STDC__
# include <limits.h>
#else
# include <assert.h>
#endif

#undef $ac_func

/* 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 $ac_func ();
/* The GNU C library defines this for functions which it implements
    to always fail with ENOSYS.  Some functions are actually named
    something starting with __ and the normal name is an alias.  */
#if defined __stub_$ac_func || defined __stub___$ac_func
choke me
#endif

int
main ()
{
return $ac_func ();
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  eval "$as_ac_var=yes"
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	eval "$as_ac_var=no"
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
fi
ac_res=`eval 'as_val=${'$as_ac_var'}
		 $as_echo "$as_val"'`
	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
as_val=`eval 'as_val=${'$as_ac_var'}
		 $as_echo "$as_val"'`
   if test "x$as_val" = x""yes; then
  cat >>confdefs.h <<_ACEOF
#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
_ACEOF

fi
done

















{ $as_echo "$as_me:$LINENO: checking for working mktime" >&5
$as_echo_n "checking for working mktime... " >&6; }
if test "${ac_cv_func_working_mktime+set}" = set; then
  $as_echo_n "(cached) " >&6
else
  if test "$cross_compiling" = yes; then
  ac_cv_func_working_mktime=no
else
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
/* Test program from Paul Eggert and Tony Leneis.  */
#ifdef TIME_WITH_SYS_TIME
# include <sys/time.h>
# include <time.h>
#else
# ifdef HAVE_SYS_TIME_H
#  include <sys/time.h>
# else
#  include <time.h>
# endif
#endif

#include <limits.h>
#include <stdlib.h>

#ifdef HAVE_UNISTD_H
# include <unistd.h>
#endif

#ifndef HAVE_ALARM
# define alarm(X) /* empty */
#endif

/* Work around redefinition to rpl_putenv by other config tests.  */
#undef putenv

static time_t time_t_max;
static time_t time_t_min;

/* Values we'll use to set the TZ environment variable.  */
static char *tz_strings[] = {
  (char *) 0, "TZ=GMT0", "TZ=JST-9",
  "TZ=EST+3EDT+2,M10.1.0/00:00:00,M2.3.0/00:00:00"
};
#define N_STRINGS (sizeof (tz_strings) / sizeof (tz_strings[0]))

/* Return 0 if mktime fails to convert a date in the spring-forward gap.
   Based on a problem report from Andreas Jaeger.  */
static int
spring_forward_gap ()
{
  /* glibc (up to about 1998-10-07) failed this test. */
  struct tm tm;

  /* Use the portable POSIX.1 specification "TZ=PST8PDT,M4.1.0,M10.5.0"
     instead of "TZ=America/Vancouver" in order to detect the bug even
     on systems that don't support the Olson extension, or don't have the
     full zoneinfo tables installed.  */
  putenv ("TZ=PST8PDT,M4.1.0,M10.5.0");

  tm.tm_year = 98;
  tm.tm_mon = 3;
  tm.tm_mday = 5;
  tm.tm_hour = 2;
  tm.tm_min = 0;
  tm.tm_sec = 0;
  tm.tm_isdst = -1;
  return mktime (&tm) != (time_t) -1;
}

static int
mktime_test1 (now)
     time_t now;
{
  struct tm *lt;
  return ! (lt = localtime (&now)) || mktime (lt) == now;
}

static int
mktime_test (now)
     time_t now;
{
  return (mktime_test1 (now)
	  && mktime_test1 ((time_t) (time_t_max - now))
	  && mktime_test1 ((time_t) (time_t_min + now)));
}

static int
irix_6_4_bug ()
{
  /* Based on code from Ariel Faigon.  */
  struct tm tm;
  tm.tm_year = 96;
  tm.tm_mon = 3;
  tm.tm_mday = 0;
  tm.tm_hour = 0;
  tm.tm_min = 0;
  tm.tm_sec = 0;
  tm.tm_isdst = -1;
  mktime (&tm);
  return tm.tm_mon == 2 && tm.tm_mday == 31;
}

static int
bigtime_test (j)
     int j;
{
  struct tm tm;
  time_t now;
  tm.tm_year = tm.tm_mon = tm.tm_mday = tm.tm_hour = tm.tm_min = tm.tm_sec = j;
  now = mktime (&tm);
  if (now != (time_t) -1)
    {
      struct tm *lt = localtime (&now);
      if (! (lt
	     && lt->tm_year == tm.tm_year
	     && lt->tm_mon == tm.tm_mon
	     && lt->tm_mday == tm.tm_mday
	     && lt->tm_hour == tm.tm_hour
	     && lt->tm_min == tm.tm_min
	     && lt->tm_sec == tm.tm_sec
	     && lt->tm_yday == tm.tm_yday
	     && lt->tm_wday == tm.tm_wday
	     && ((lt->tm_isdst < 0 ? -1 : 0 < lt->tm_isdst)
		  == (tm.tm_isdst < 0 ? -1 : 0 < tm.tm_isdst))))
	return 0;
    }
  return 1;
}

static int
year_2050_test ()
{
  /* The correct answer for 2050-02-01 00:00:00 in Pacific time,
     ignoring leap seconds.  */
  unsigned long int answer = 2527315200UL;

  struct tm tm;
  time_t t;
  tm.tm_year = 2050 - 1900;
  tm.tm_mon = 2 - 1;
  tm.tm_mday = 1;
  tm.tm_hour = tm.tm_min = tm.tm_sec = 0;
  tm.tm_isdst = -1;

  /* Use the portable POSIX.1 specification "TZ=PST8PDT,M4.1.0,M10.5.0"
     instead of "TZ=America/Vancouver" in order to detect the bug even
     on systems that don't support the Olson extension, or don't have the
     full zoneinfo tables installed.  */
  putenv ("TZ=PST8PDT,M4.1.0,M10.5.0");

  t = mktime (&tm);

  /* Check that the result is either a failure, or close enough
     to the correct answer that we can assume the discrepancy is
     due to leap seconds.  */
  return (t == (time_t) -1
	  || (0 < t && answer - 120 <= t && t <= answer + 120));
}

int
main ()
{
  time_t t, delta;
  int i, j;

  /* This test makes some buggy mktime implementations loop.
     Give up after 60 seconds; a mktime slower than that
     isn't worth using anyway.  */
  alarm (60);

  for (;;)
    {
      t = (time_t_max << 1) + 1;
      if (t <= time_t_max)
	break;
      time_t_max = t;
    }
  time_t_min = - ((time_t) ~ (time_t) 0 == (time_t) -1) - time_t_max;

  delta = time_t_max / 997; /* a suitable prime number */
  for (i = 0; i < N_STRINGS; i++)
    {
      if (tz_strings[i])
	putenv (tz_strings[i]);

      for (t = 0; t <= time_t_max - delta; t += delta)
	if (! mktime_test (t))
	  return 1;
      if (! (mktime_test ((time_t) 1)
	     && mktime_test ((time_t) (60 * 60))
	     && mktime_test ((time_t) (60 * 60 * 24))))
	return 1;

      for (j = 1; ; j <<= 1)
	if (! bigtime_test (j))
	  return 1;
	else if (INT_MAX / 2 < j)
	  break;
      if (! bigtime_test (INT_MAX))
	return 1;
    }
  return ! (irix_6_4_bug () && spring_forward_gap () && year_2050_test ());
}
_ACEOF
rm -f conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
  { (case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_try") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }; }; then
  ac_cv_func_working_mktime=yes
else
  $as_echo "$as_me: program exited with status $ac_status" >&5
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

( exit $ac_status )
ac_cv_func_working_mktime=no
fi
rm -rf conftest.dSYM
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi


fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_working_mktime" >&5
$as_echo "$ac_cv_func_working_mktime" >&6; }
if test $ac_cv_func_working_mktime = no; then
  case " $LIBOBJS " in
  *" mktime.$ac_objext "* ) ;;
  *) LIBOBJS="$LIBOBJS mktime.$ac_objext"
 ;;
esac

fi

case "$ac_cv_func_working_mktime" in
yes)
cat >>confdefs.h <<\_ACEOF
#define HAVE_MKTIME 1
_ACEOF

	;;
esac

{ $as_echo "$as_me:$LINENO: checking for getaddrinfo" >&5
$as_echo_n "checking for getaddrinfo... " >&6; }
if test "${ac_cv_func_getaddrinfo+set}" = set; then
  $as_echo_n "(cached) " >&6
else
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
/* Define getaddrinfo to an innocuous variant, in case <limits.h> declares getaddrinfo.
   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
#define getaddrinfo innocuous_getaddrinfo

/* System header to define __stub macros and hopefully few prototypes,
    which can conflict with char getaddrinfo (); below.
    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
    <limits.h> exists even on freestanding compilers.  */

#ifdef __STDC__
# include <limits.h>
#else
# include <assert.h>
#endif

#undef getaddrinfo

/* 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 getaddrinfo ();
/* The GNU C library defines this for functions which it implements
    to always fail with ENOSYS.  Some functions are actually named
    something starting with __ and the normal name is an alias.  */
#if defined __stub_getaddrinfo || defined __stub___getaddrinfo
choke me
#endif

int
main ()
{
return getaddrinfo ();
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  ac_cv_func_getaddrinfo=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_cv_func_getaddrinfo=no
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_getaddrinfo" >&5
$as_echo "$ac_cv_func_getaddrinfo" >&6; }
if test "x$ac_cv_func_getaddrinfo" = x""yes; then

cat >>confdefs.h <<\_ACEOF
#define HAVE_GETADDRINFO 1
_ACEOF

else
  { $as_echo "$as_me:$LINENO: checking for getaddrinfo in -lsocket" >&5
$as_echo_n "checking for getaddrinfo in -lsocket... " >&6; }
if test "${ac_cv_lib_socket_getaddrinfo+set}" = set; then
  $as_echo_n "(cached) " >&6
else
  ac_check_lib_save_LIBS=$LIBS
LIBS="-lsocket  $LIBS"
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* 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 getaddrinfo ();
int
main ()
{
return getaddrinfo ();
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  ac_cv_lib_socket_getaddrinfo=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_cv_lib_socket_getaddrinfo=no
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_socket_getaddrinfo" >&5
$as_echo "$ac_cv_lib_socket_getaddrinfo" >&6; }
if test "x$ac_cv_lib_socket_getaddrinfo" = x""yes; then

cat >>confdefs.h <<\_ACEOF
#define HAVE_GETADDRINFO 1
_ACEOF

fi

fi



{ $as_echo "$as_me:$LINENO: checking for fmod in -lm" >&5
$as_echo_n "checking for fmod in -lm... " >&6; }
if test "${ac_cv_lib_m_fmod+set}" = set; then
  $as_echo_n "(cached) " >&6
else
  ac_check_lib_save_LIBS=$LIBS
LIBS="-lm  $LIBS"
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* 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 fmod ();
int
main ()
{
return fmod ();
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  ac_cv_lib_m_fmod=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_cv_lib_m_fmod=no
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_m_fmod" >&5
$as_echo "$ac_cv_lib_m_fmod" >&6; }
if test "x$ac_cv_lib_m_fmod" = x""yes; then
  cat >>confdefs.h <<_ACEOF
#define HAVE_LIBM 1
_ACEOF

  LIBS="-lm $LIBS"

fi


{ $as_echo "$as_me:$LINENO: checking for isinf in -lm" >&5
$as_echo_n "checking for isinf in -lm... " >&6; }
if test "${ac_cv_lib_m_isinf+set}" = set; then
  $as_echo_n "(cached) " >&6
else
  ac_check_lib_save_LIBS=$LIBS
LIBS="-lm  $LIBS"
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* 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 isinf ();
int
main ()
{
return isinf ();
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  ac_cv_lib_m_isinf=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_cv_lib_m_isinf=no
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_m_isinf" >&5
$as_echo "$ac_cv_lib_m_isinf" >&6; }
if test "x$ac_cv_lib_m_isinf" = x""yes; then
  cat >>confdefs.h <<_ACEOF
#define HAVE_LIBM 1
_ACEOF

  LIBS="-lm $LIBS"

fi


{ $as_echo "$as_me:$LINENO: checking for ismod in -lm" >&5
$as_echo_n "checking for ismod in -lm... " >&6; }
if test "${ac_cv_lib_m_ismod+set}" = set; then
  $as_echo_n "(cached) " >&6
else
  ac_check_lib_save_LIBS=$LIBS
LIBS="-lm  $LIBS"
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* 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 ismod ();
int
main ()
{
return ismod ();
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  ac_cv_lib_m_ismod=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_cv_lib_m_ismod=no
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_m_ismod" >&5
$as_echo "$ac_cv_lib_m_ismod" >&6; }
if test "x$ac_cv_lib_m_ismod" = x""yes; then
  cat >>confdefs.h <<_ACEOF
#define HAVE_LIBM 1
_ACEOF

  LIBS="-lm $LIBS"

fi


# Need the check for mkstemp and tmpfile for missing_d/snprintf.c.



































for ac_func in atexit btowc fmod getgrent getgroups grantpt \
	isascii iswctype iswlower iswupper mbrlen \
	memcmp memcpy memcpy_ulong memmove memset \
	memset_ulong mkstemp setlocale snprintf strchr \
	strerror strftime strncasecmp strtod strtoul \
	system tmpfile towlower towupper tzset wcrtomb \
	wcscoll wcscoll wctype
do
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
$as_echo_n "checking for $ac_func... " >&6; }
if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
  $as_echo_n "(cached) " >&6
else
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
#define $ac_func innocuous_$ac_func

/* System header to define __stub macros and hopefully few prototypes,
    which can conflict with char $ac_func (); below.
    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
    <limits.h> exists even on freestanding compilers.  */

#ifdef __STDC__
# include <limits.h>
#else
# include <assert.h>
#endif

#undef $ac_func

/* 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 $ac_func ();
/* The GNU C library defines this for functions which it implements
    to always fail with ENOSYS.  Some functions are actually named
    something starting with __ and the normal name is an alias.  */
#if defined __stub_$ac_func || defined __stub___$ac_func
choke me
#endif

int
main ()
{
return $ac_func ();
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  eval "$as_ac_var=yes"
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	eval "$as_ac_var=no"
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
fi
ac_res=`eval 'as_val=${'$as_ac_var'}
		 $as_echo "$as_val"'`
	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
as_val=`eval 'as_val=${'$as_ac_var'}
		 $as_echo "$as_val"'`
   if test "x$as_val" = x""yes; then
  cat >>confdefs.h <<_ACEOF
#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
_ACEOF

fi
done


  { $as_echo "$as_me:$LINENO: checking whether mbrtowc and mbstate_t are properly declared" >&5
$as_echo_n "checking whether mbrtowc and mbstate_t are properly declared... " >&6; }
if test "${ac_cv_func_mbrtowc+set}" = set; then
  $as_echo_n "(cached) " >&6
else
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
#include <wchar.h>
int
main ()
{
wchar_t wc;
	      char const s[] = "";
	      size_t n = 1;
	      mbstate_t state;
	      return ! (sizeof state && (mbrtowc) (&wc, s, n, &state));
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  ac_cv_func_mbrtowc=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_cv_func_mbrtowc=no
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_mbrtowc" >&5
$as_echo "$ac_cv_func_mbrtowc" >&6; }
  if test $ac_cv_func_mbrtowc = yes; then

cat >>confdefs.h <<\_ACEOF
#define HAVE_MBRTOWC 1
_ACEOF

  fi


if test "${ac_cv_header_dlfcn_h+set}" = set; then
  { $as_echo "$as_me:$LINENO: checking for dlfcn.h" >&5
$as_echo_n "checking for dlfcn.h... " >&6; }
if test "${ac_cv_header_dlfcn_h+set}" = set; then
  $as_echo_n "(cached) " >&6
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_dlfcn_h" >&5
$as_echo "$ac_cv_header_dlfcn_h" >&6; }
else
  # Is the header compilable?
{ $as_echo "$as_me:$LINENO: checking dlfcn.h usability" >&5
$as_echo_n "checking dlfcn.h usability... " >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
$ac_includes_default
#include <dlfcn.h>
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  ac_header_compiler=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_header_compiler=no
fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
$as_echo "$ac_header_compiler" >&6; }

# Is the header present?
{ $as_echo "$as_me:$LINENO: checking dlfcn.h presence" >&5
$as_echo_n "checking dlfcn.h presence... " >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
#include <dlfcn.h>
_ACEOF
if { (ac_try="$ac_cpp conftest.$ac_ext"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } >/dev/null && {
	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
	 test ! -s conftest.err
       }; then
  ac_header_preproc=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

  ac_header_preproc=no
fi

rm -f conftest.err conftest.$ac_ext
{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
$as_echo "$ac_header_preproc" >&6; }

# So?  What about this header?
case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
  yes:no: )
    { $as_echo "$as_me:$LINENO: WARNING: dlfcn.h: accepted by the compiler, rejected by the preprocessor!" >&5
$as_echo "$as_me: WARNING: dlfcn.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
    { $as_echo "$as_me:$LINENO: WARNING: dlfcn.h: proceeding with the compiler's result" >&5
$as_echo "$as_me: WARNING: dlfcn.h: proceeding with the compiler's result" >&2;}
    ac_header_preproc=yes
    ;;
  no:yes:* )
    { $as_echo "$as_me:$LINENO: WARNING: dlfcn.h: present but cannot be compiled" >&5
$as_echo "$as_me: WARNING: dlfcn.h: present but cannot be compiled" >&2;}
    { $as_echo "$as_me:$LINENO: WARNING: dlfcn.h:     check for missing prerequisite headers?" >&5
$as_echo "$as_me: WARNING: dlfcn.h:     check for missing prerequisite headers?" >&2;}
    { $as_echo "$as_me:$LINENO: WARNING: dlfcn.h: see the Autoconf documentation" >&5
$as_echo "$as_me: WARNING: dlfcn.h: see the Autoconf documentation" >&2;}
    { $as_echo "$as_me:$LINENO: WARNING: dlfcn.h:     section \"Present But Cannot Be Compiled\"" >&5
$as_echo "$as_me: WARNING: dlfcn.h:     section \"Present But Cannot Be Compiled\"" >&2;}
    { $as_echo "$as_me:$LINENO: WARNING: dlfcn.h: proceeding with the preprocessor's result" >&5
$as_echo "$as_me: WARNING: dlfcn.h: proceeding with the preprocessor's result" >&2;}
    { $as_echo "$as_me:$LINENO: WARNING: dlfcn.h: in the future, the compiler will take precedence" >&5
$as_echo "$as_me: WARNING: dlfcn.h: in the future, the compiler will take precedence" >&2;}
    ( cat <<\_ASBOX
## ------------------------------- ##
## Report this to bug-gawk@gnu.org ##
## ------------------------------- ##
_ASBOX
     ) | sed "s/^/$as_me: WARNING:     /" >&2
    ;;
esac
{ $as_echo "$as_me:$LINENO: checking for dlfcn.h" >&5
$as_echo_n "checking for dlfcn.h... " >&6; }
if test "${ac_cv_header_dlfcn_h+set}" = set; then
  $as_echo_n "(cached) " >&6
else
  ac_cv_header_dlfcn_h=$ac_header_preproc
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_dlfcn_h" >&5
$as_echo "$ac_cv_header_dlfcn_h" >&6; }

fi
if test "x$ac_cv_header_dlfcn_h" = x""yes; then

cat >>confdefs.h <<\_ACEOF
#define DYNAMIC 1
_ACEOF

	if test "$GCC" = yes
	then
		# Add others here as appropriate,
		# one day use GNU libtool.
		if uname | $EGREP -i 'linux|freebsd|cygwin' > /dev/null
		then
			LDFLAGS="$LDFLAGS -export-dynamic"
		fi
	fi

	# Check this separately. Some systems have dlopen
	# in libc. Notably freebsd and cygwin.
	# HP-NSK has it in zrldsrl
	{ $as_echo "$as_me:$LINENO: checking for library containing dlopen" >&5
$as_echo_n "checking for library containing dlopen... " >&6; }
if test "${ac_cv_search_dlopen+set}" = set; then
  $as_echo_n "(cached) " >&6
else
  ac_func_search_save_LIBS=$LIBS
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* 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
for ac_lib in '' dl zrldsrl; do
  if test -z "$ac_lib"; then
    ac_res="none required"
  else
    ac_res=-l$ac_lib
    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
  fi
  rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  ac_cv_search_dlopen=$ac_res
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5


fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext
  if test "${ac_cv_search_dlopen+set}" = set; then
  break
fi
done
if test "${ac_cv_search_dlopen+set}" = set; then
  :
else
  ac_cv_search_dlopen=no
fi
rm conftest.$ac_ext
LIBS=$ac_func_search_save_LIBS
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_dlopen" >&5
$as_echo "$ac_cv_search_dlopen" >&6; }
ac_res=$ac_cv_search_dlopen
if test "$ac_res" != no; then
  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"

fi


fi



case `(uname) 2> /dev/null` in
*VMS*|*BeOS*|*OS/2*|*MS-DOS*)

cat >>confdefs.h <<\_ACEOF
#define GETPGRP_VOID 1
_ACEOF

	;;
*)	{ $as_echo "$as_me:$LINENO: checking whether getpgrp requires zero arguments" >&5
$as_echo_n "checking whether getpgrp requires zero arguments... " >&6; }
if test "${ac_cv_func_getpgrp_void+set}" = set; then
  $as_echo_n "(cached) " >&6
else
  # Use it with a single arg.
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
$ac_includes_default
int
main ()
{
getpgrp (0);
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  ac_cv_func_getpgrp_void=no
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_cv_func_getpgrp_void=yes
fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext

fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_getpgrp_void" >&5
$as_echo "$ac_cv_func_getpgrp_void" >&6; }
if test $ac_cv_func_getpgrp_void = yes; then

cat >>confdefs.h <<\_ACEOF
#define GETPGRP_VOID 1
_ACEOF

fi

	;;
esac

{ $as_echo "$as_me:$LINENO: checking for printf %F format" >&5
$as_echo_n "checking for printf %F format... " >&6; }
if test "$cross_compiling" = yes; then
  has_f_format=no
else
  cat >conftest.$ac_ext <<_ACEOF

#include <stdio.h>

int main()
{
	char buf[100];

	sprintf(buf, "%F", 123.45);

	if (strcmp(buf, "123.450000") == 0)
		return 0;
	else
		return 1;
}

_ACEOF
rm -f conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
  { (case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_try") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }; }; then
  has_f_format=yes
else
  $as_echo "$as_me: program exited with status $ac_status" >&5
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

( exit $ac_status )
has_f_format=no
fi
rm -rf conftest.dSYM
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi


if test "$has_f_format" = yes; then

cat >>confdefs.h <<\_ACEOF
#define PRINTF_HAS_F_FORMAT 1
_ACEOF

fi
{ $as_echo "$as_me:$LINENO: result: $has_f_format" >&5
$as_echo "$has_f_format" >&6; }


gawk_have_sockets=no
# Check for system-dependent location of socket libraries

SOCKET_LIBS=
if test "$ISC" = yes; then
  SOCKET_LIBS="-lnsl_s -linet"
else
  # Martyn.Johnson@cl.cam.ac.uk says this is needed for Ultrix, if the X
  # libraries were built with DECnet support.  And karl@cs.umb.edu says
  # the Alpha needs dnet_stub (dnet does not exist).
  #
  # ADR: Is this needed just for sockets???
#  AC_CHECK_LIB(dnet, dnet_ntoa, [SOCKET_LIBS="$SOCKET_LIBS -ldnet"])
#  if test $ac_cv_lib_dnet_ntoa = no; then
#    AC_CHECK_LIB(dnet_stub, dnet_ntoa,
#	[SOCKET_LIBS="$SOCKET_LIBS -ldnet_stub"])
#  fi

  # msh@cis.ufl.edu says -lnsl (and -lsocket) are needed for his 386/AT,
  # to get the SysV transport functions.
  # chad@anasazi.com says the Pyramid MIS-ES running DC/OSx (SVR4)
  # needs -lnsl.
  # The nsl library prevents programs from opening the X display
  # on Irix 5.2, according to dickey@clark.net.
  { $as_echo "$as_me:$LINENO: checking for gethostbyname" >&5
$as_echo_n "checking for gethostbyname... " >&6; }
if test "${ac_cv_func_gethostbyname+set}" = set; then
  $as_echo_n "(cached) " >&6
else
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
/* Define gethostbyname to an innocuous variant, in case <limits.h> declares gethostbyname.
   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
#define gethostbyname innocuous_gethostbyname

/* System header to define __stub macros and hopefully few prototypes,
    which can conflict with char gethostbyname (); below.
    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
    <limits.h> exists even on freestanding compilers.  */

#ifdef __STDC__
# include <limits.h>
#else
# include <assert.h>
#endif

#undef gethostbyname

/* 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 gethostbyname ();
/* The GNU C library defines this for functions which it implements
    to always fail with ENOSYS.  Some functions are actually named
    something starting with __ and the normal name is an alias.  */
#if defined __stub_gethostbyname || defined __stub___gethostbyname
choke me
#endif

int
main ()
{
return gethostbyname ();
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  ac_cv_func_gethostbyname=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_cv_func_gethostbyname=no
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_gethostbyname" >&5
$as_echo "$ac_cv_func_gethostbyname" >&6; }

  if test $ac_cv_func_gethostbyname = no; then
    { $as_echo "$as_me:$LINENO: checking for gethostbyname in -lnsl" >&5
$as_echo_n "checking for gethostbyname in -lnsl... " >&6; }
if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then
  $as_echo_n "(cached) " >&6
else
  ac_check_lib_save_LIBS=$LIBS
LIBS="-lnsl  $LIBS"
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* 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 gethostbyname ();
int
main ()
{
return gethostbyname ();
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  ac_cv_lib_nsl_gethostbyname=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_cv_lib_nsl_gethostbyname=no
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_gethostbyname" >&5
$as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; }
if test "x$ac_cv_lib_nsl_gethostbyname" = x""yes; then
  SOCKET_LIBS="$SOCKET_LIBS -lnsl"
fi

  fi

  # lieder@skyler.mavd.honeywell.com says without -lsocket,
  # socket/setsockopt and other routines are undefined under SCO ODT
  # 2.0.  But -lsocket is broken on IRIX 5.2 (and is not necessary
  # on later versions), says simon@lia.di.epfl.ch: it contains
  # gethostby* variants that don't use the nameserver (or something).
  # -lsocket must be given before -lnsl if both are needed.
  # We assume that if connect needs -lnsl, so does gethostbyname.
  { $as_echo "$as_me:$LINENO: checking for connect" >&5
$as_echo_n "checking for connect... " >&6; }
if test "${ac_cv_func_connect+set}" = set; then
  $as_echo_n "(cached) " >&6
else
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
/* Define connect to an innocuous variant, in case <limits.h> declares connect.
   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
#define connect innocuous_connect

/* System header to define __stub macros and hopefully few prototypes,
    which can conflict with char connect (); below.
    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
    <limits.h> exists even on freestanding compilers.  */

#ifdef __STDC__
# include <limits.h>
#else
# include <assert.h>
#endif

#undef connect

/* 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 connect ();
/* The GNU C library defines this for functions which it implements
    to always fail with ENOSYS.  Some functions are actually named
    something starting with __ and the normal name is an alias.  */
#if defined __stub_connect || defined __stub___connect
choke me
#endif

int
main ()
{
return connect ();
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  ac_cv_func_connect=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_cv_func_connect=no
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_connect" >&5
$as_echo "$ac_cv_func_connect" >&6; }

  if test $ac_cv_func_connect = no; then
    { $as_echo "$as_me:$LINENO: checking for connect in -lsocket" >&5
$as_echo_n "checking for connect in -lsocket... " >&6; }
if test "${ac_cv_lib_socket_connect+set}" = set; then
  $as_echo_n "(cached) " >&6
else
  ac_check_lib_save_LIBS=$LIBS
LIBS="-lsocket $SOCKET_LIBS $LIBS"
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* 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 connect ();
int
main ()
{
return connect ();
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  ac_cv_lib_socket_connect=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_cv_lib_socket_connect=no
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_socket_connect" >&5
$as_echo "$ac_cv_lib_socket_connect" >&6; }
if test "x$ac_cv_lib_socket_connect" = x""yes; then
  SOCKET_LIBS="-lsocket $SOCKET_LIBS"
    				  gawk_have_sockets=yes
fi

  else
    gawk_have_sockets=yes
  fi
fi

if test "${gawk_have_sockets}" = "yes"
then
	{ $as_echo "$as_me:$LINENO: checking where to find the socket library calls" >&5
$as_echo_n "checking where to find the socket library calls... " >&6; }
	case "${SOCKET_LIBS}" in
	?*)	gawk_lib_loc="${SOCKET_LIBS}" ;;
	*)	gawk_lib_loc="the standard library" ;;
	esac
	{ $as_echo "$as_me:$LINENO: result: ${gawk_lib_loc}" >&5
$as_echo "${gawk_lib_loc}" >&6; }


cat >>confdefs.h <<\_ACEOF
#define HAVE_SOCKETS 1
_ACEOF

fi


{ $as_echo "$as_me:$LINENO: checking for struct stat.st_blksize" >&5
$as_echo_n "checking for struct stat.st_blksize... " >&6; }
if test "${ac_cv_member_struct_stat_st_blksize+set}" = set; then
  $as_echo_n "(cached) " >&6
else
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
$ac_includes_default
int
main ()
{
static struct stat ac_aggr;
if (ac_aggr.st_blksize)
return 0;
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  ac_cv_member_struct_stat_st_blksize=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
$ac_includes_default
int
main ()
{
static struct stat ac_aggr;
if (sizeof ac_aggr.st_blksize)
return 0;
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  ac_cv_member_struct_stat_st_blksize=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_cv_member_struct_stat_st_blksize=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
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_stat_st_blksize" >&5
$as_echo "$ac_cv_member_struct_stat_st_blksize" >&6; }
if test "x$ac_cv_member_struct_stat_st_blksize" = x""yes; then

cat >>confdefs.h <<_ACEOF
#define HAVE_STRUCT_STAT_ST_BLKSIZE 1
_ACEOF


cat >>confdefs.h <<\_ACEOF
#define HAVE_ST_BLKSIZE 1
_ACEOF

fi


{ $as_echo "$as_me:$LINENO: checking whether time.h and sys/time.h may both be included" >&5
$as_echo_n "checking whether time.h and sys/time.h may both be included... " >&6; }
if test "${ac_cv_header_time+set}" = set; then
  $as_echo_n "(cached) " >&6
else
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
#include <sys/types.h>
#include <sys/time.h>
#include <time.h>

int
main ()
{
if ((struct tm *) 0)
return 0;
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  ac_cv_header_time=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_cv_header_time=no
fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_time" >&5
$as_echo "$ac_cv_header_time" >&6; }
if test $ac_cv_header_time = yes; then

cat >>confdefs.h <<\_ACEOF
#define TIME_WITH_SYS_TIME 1
_ACEOF

fi

{ $as_echo "$as_me:$LINENO: checking whether struct tm is in sys/time.h or time.h" >&5
$as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; }
if test "${ac_cv_struct_tm+set}" = set; then
  $as_echo_n "(cached) " >&6
else
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
#include <sys/types.h>
#include <time.h>

int
main ()
{
struct tm tm;
				     int *p = &tm.tm_sec;
				     return !p;
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  ac_cv_struct_tm=time.h
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_cv_struct_tm=sys/time.h
fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_struct_tm" >&5
$as_echo "$ac_cv_struct_tm" >&6; }
if test $ac_cv_struct_tm = sys/time.h; then

cat >>confdefs.h <<\_ACEOF
#define TM_IN_SYS_TIME 1
_ACEOF

fi

{ $as_echo "$as_me:$LINENO: checking for struct tm.tm_zone" >&5
$as_echo_n "checking for struct tm.tm_zone... " >&6; }
if test "${ac_cv_member_struct_tm_tm_zone+set}" = set; then
  $as_echo_n "(cached) " >&6
else
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
#include <sys/types.h>
#include <$ac_cv_struct_tm>


int
main ()
{
static struct tm ac_aggr;
if (ac_aggr.tm_zone)
return 0;
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  ac_cv_member_struct_tm_tm_zone=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
#include <sys/types.h>
#include <$ac_cv_struct_tm>


int
main ()
{
static struct tm ac_aggr;
if (sizeof ac_aggr.tm_zone)
return 0;
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  ac_cv_member_struct_tm_tm_zone=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_cv_member_struct_tm_tm_zone=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
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_member_struct_tm_tm_zone" >&5
$as_echo "$ac_cv_member_struct_tm_tm_zone" >&6; }
if test "x$ac_cv_member_struct_tm_tm_zone" = x""yes; then

cat >>confdefs.h <<_ACEOF
#define HAVE_STRUCT_TM_TM_ZONE 1
_ACEOF


fi

if test "$ac_cv_member_struct_tm_tm_zone" = yes; then

cat >>confdefs.h <<\_ACEOF
#define HAVE_TM_ZONE 1
_ACEOF

else
  { $as_echo "$as_me:$LINENO: checking whether tzname is declared" >&5
$as_echo_n "checking whether tzname is declared... " >&6; }
if test "${ac_cv_have_decl_tzname+set}" = set; then
  $as_echo_n "(cached) " >&6
else
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
#include <time.h>

int
main ()
{
#ifndef tzname
  (void) tzname;
#endif

  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  ac_cv_have_decl_tzname=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_cv_have_decl_tzname=no
fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_have_decl_tzname" >&5
$as_echo "$ac_cv_have_decl_tzname" >&6; }
if test "x$ac_cv_have_decl_tzname" = x""yes; then

cat >>confdefs.h <<_ACEOF
#define HAVE_DECL_TZNAME 1
_ACEOF


else
  cat >>confdefs.h <<_ACEOF
#define HAVE_DECL_TZNAME 0
_ACEOF


fi


  { $as_echo "$as_me:$LINENO: checking for tzname" >&5
$as_echo_n "checking for tzname... " >&6; }
if test "${ac_cv_var_tzname+set}" = set; then
  $as_echo_n "(cached) " >&6
else
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
#include <time.h>
#if !HAVE_DECL_TZNAME
extern char *tzname[];
#endif

int
main ()
{
return tzname[0][0];
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  ac_cv_var_tzname=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_cv_var_tzname=no
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_var_tzname" >&5
$as_echo "$ac_cv_var_tzname" >&6; }
  if test $ac_cv_var_tzname = yes; then

cat >>confdefs.h <<\_ACEOF
#define HAVE_TZNAME 1
_ACEOF

  fi
fi



{ $as_echo "$as_me:$LINENO: checking whether char is unsigned" >&5
$as_echo_n "checking whether char is unsigned... " >&6; }
if test "${ac_cv_c_char_unsigned+set}" = set; then
  $as_echo_n "(cached) " >&6
else
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
$ac_includes_default
int
main ()
{
static int test_array [1 - 2 * !(((char) -1) < 0)];
test_array [0] = 0

  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  ac_cv_c_char_unsigned=no
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_cv_c_char_unsigned=yes
fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_char_unsigned" >&5
$as_echo "$ac_cv_c_char_unsigned" >&6; }
if test $ac_cv_c_char_unsigned = yes && test "$GCC" != yes; then
  cat >>confdefs.h <<\_ACEOF
#define __CHAR_UNSIGNED__ 1
_ACEOF

fi

{ $as_echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5
$as_echo_n "checking for an ANSI C-conforming const... " >&6; }
if test "${ac_cv_c_const+set}" = set; then
  $as_echo_n "(cached) " >&6
else
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

int
main ()
{
/* FIXME: Include the comments suggested by Paul. */
#ifndef __cplusplus
  /* Ultrix mips cc rejects this.  */
  typedef int charset[2];
  const charset cs;
  /* SunOS 4.1.1 cc rejects this.  */
  char const *const *pcpcc;
  char **ppc;
  /* NEC SVR4.0.2 mips cc rejects this.  */
  struct point {int x, y;};
  static struct point const zero = {0,0};
  /* AIX XL C 1.02.0.0 rejects this.
     It does not let you subtract one const X* pointer from another in
     an arm of an if-expression whose if-part is not a constant
     expression */
  const char *g = "string";
  pcpcc = &g + (g ? g-g : 0);
  /* HPUX 7.0 cc rejects these. */
  ++pcpcc;
  ppc = (char**) pcpcc;
  pcpcc = (char const *const *) ppc;
  { /* SCO 3.2v4 cc rejects this.  */
    char *t;
    char const *s = 0 ? (char *) 0 : (char const *) 0;

    *t++ = 0;
    if (s) return 0;
  }
  { /* Someone thinks the Sun supposedly-ANSI compiler will reject this.  */
    int x[] = {25, 17};
    const int *foo = &x[0];
    ++foo;
  }
  { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
    typedef const int *iptr;
    iptr p = 0;
    ++p;
  }
  { /* AIX XL C 1.02.0.0 rejects this saying
       "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
    struct s { int j; const int *ap[3]; };
    struct s *b; b->j = 5;
  }
  { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
    const int foo = 10;
    if (!foo) return 0;
  }
  return !cs[0] && !zero.x;
#endif

  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  ac_cv_c_const=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_cv_c_const=no
fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5
$as_echo "$ac_cv_c_const" >&6; }
if test $ac_cv_c_const = no; then

cat >>confdefs.h <<\_ACEOF
#define const /**/
_ACEOF

fi

{ $as_echo "$as_me:$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 >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* 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
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  ac_cv_c_restrict=$ac_kw
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5


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:$LINENO: result: $ac_cv_c_restrict" >&5
$as_echo "$ac_cv_c_restrict" >&6; }


 case $ac_cv_c_restrict in
   restrict) ;;
   no) cat >>confdefs.h <<\_ACEOF
#define restrict /**/
_ACEOF
 ;;
   *)  cat >>confdefs.h <<_ACEOF
#define restrict $ac_cv_c_restrict
_ACEOF
 ;;
 esac

{ $as_echo "$as_me:$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 >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* 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
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  ac_cv_c_inline=$ac_kw
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5


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:$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

{ $as_echo "$as_me:$LINENO: checking for preprocessor stringizing operator" >&5
$as_echo_n "checking for preprocessor stringizing operator... " >&6; }
if test "${ac_cv_c_stringize+set}" = set; then
  $as_echo_n "(cached) " >&6
else
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
#define x(y) #y

char *s = x(teststring);
_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
  $EGREP "#teststring" >/dev/null 2>&1; then
  ac_cv_c_stringize=no
else
  ac_cv_c_stringize=yes
fi
rm -f conftest*

fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_stringize" >&5
$as_echo "$ac_cv_c_stringize" >&6; }
if test $ac_cv_c_stringize = yes; then

cat >>confdefs.h <<\_ACEOF
#define HAVE_STRINGIZE 1
_ACEOF

fi


ac_config_headers="$ac_config_headers config.h:configh.in"




ac_config_files="$ac_config_files Makefile awklib/Makefile doc/Makefile po/Makefile.in test/Makefile"

cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
# tests run on this system so they can be shared between configure
# scripts and configure runs, see configure's option --config-cache.
# It is not useful on other systems.  If it contains results you don't
# want to keep, you may remove or edit it.
#
# config.status only pays attention to the cache file if you give it
# the --recheck option to rerun configure.
#
# `ac_cv_env_foo' variables (set or unset) will be overridden when
# loading this file, other *unset* `ac_cv_foo' will be assigned the
# following values.

_ACEOF

# The following way of writing the cache mishandles newlines in values,
# but we know of no workaround that is simple, portable, and efficient.
# So, we kill variables containing newlines.
# Ultrix sh set writes to stderr and can't be redirected directly,
# and sets the high bit in the cache file unless we assign to the vars.
(
  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
    eval ac_val=\$$ac_var
    case $ac_val in #(
    *${as_nl}*)
      case $ac_var in #(
      *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5
$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
      esac
      case $ac_var in #(
      _ | IFS | as_nl) ;; #(
      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
      *) $as_unset $ac_var ;;
      esac ;;
    esac
  done

  (set) 2>&1 |
    case $as_nl`(ac_space=' '; set) 2>&1` in #(
    *${as_nl}ac_space=\ *)
      # `set' does not quote correctly, so add quotes (double-quote
      # substitution turns \\\\ into \\, and sed turns \\ into \).
      sed -n \
	"s/'/'\\\\''/g;
	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
      ;; #(
    *)
      # `set' quotes correctly as required by POSIX, so do not add quotes.
      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
      ;;
    esac |
    sort
) |
  sed '
     /^ac_cv_env_/b end
     t clear
     :clear
     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
     t end
     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
     :end' >>confcache
if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
  if test -w "$cache_file"; then
    test "x$cache_file" != "x/dev/null" &&
      { $as_echo "$as_me:$LINENO: updating cache $cache_file" >&5
$as_echo "$as_me: updating cache $cache_file" >&6;}
    cat confcache >$cache_file
  else
    { $as_echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
  fi
fi
rm -f confcache

test "x$prefix" = xNONE && prefix=$ac_default_prefix
# Let make expand exec_prefix.
test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'

DEFS=-DHAVE_CONFIG_H

ac_libobjs=
ac_ltlibobjs=
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$//'
  ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
  # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
  #    will be set to the directory where LIBOBJS objects are built.
  ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
  ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo'
done
LIBOBJS=$ac_libobjs

LTLIBOBJS=$ac_ltlibobjs


 if test -n "$EXEEXT"; then
  am__EXEEXT_TRUE=
  am__EXEEXT_FALSE='#'
else
  am__EXEEXT_TRUE='#'
  am__EXEEXT_FALSE=
fi

if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
  { { $as_echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
$as_echo "$as_me: error: conditional \"AMDEP\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
   { (exit 1); exit 1; }; }
fi
if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
  { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
$as_echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
   { (exit 1); exit 1; }; }
fi
if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
  { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
$as_echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
   { (exit 1); exit 1; }; }
fi

: ${CONFIG_STATUS=./config.status}
ac_write_fail=0
ac_clean_files_save=$ac_clean_files
ac_clean_files="$ac_clean_files $CONFIG_STATUS"
{ $as_echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
cat >$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
#! $SHELL
# Generated by $as_me.
# Run this file to recreate the current configuration.
# Compiler output produced by configure, useful for debugging
# configure, is in config.log if it exists.

debug=false
ac_cs_recheck=false
ac_cs_silent=false
SHELL=\${CONFIG_SHELL-$SHELL}
_ACEOF

cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
## --------------------- ##
## 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
  emulate sh
  NULLCMD=:
  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
  # is contrary to our usage.  Disable this feature.
  alias -g '${1+"$@"}'='"$@"'
  setopt NO_GLOB_SUBST
else
  case `(set -o) 2>/dev/null` in
  *posix*) set -o posix ;;
esac

fi




# PATH needs CR
# Avoid depending upon Character Ranges.
as_cr_letters='abcdefghijklmnopqrstuvwxyz'
as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
as_cr_Letters=$as_cr_letters$as_cr_LETTERS
as_cr_digits='0123456789'
as_cr_alnum=$as_cr_Letters$as_cr_digits

as_nl='
'
export as_nl
# Printing a long string crashes Solaris 7 /usr/bin/printf.
as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
  as_echo='printf %s\n'
  as_echo_n='printf %s'
else
  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
    as_echo_n='/usr/ucb/echo -n'
  else
    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
    as_echo_n_body='eval
      arg=$1;
      case $arg in
      *"$as_nl"*)
	expr "X$arg" : "X\\(.*\\)$as_nl";
	arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
      esac;
      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
    '
    export as_echo_n_body
    as_echo_n='sh -c $as_echo_n_body as_echo'
  fi
  export as_echo_body
  as_echo='sh -c $as_echo_body as_echo'
fi

# The user is always right.
if test "${PATH_SEPARATOR+set}" != set; then
  PATH_SEPARATOR=:
  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
      PATH_SEPARATOR=';'
  }
fi

# Support unset when possible.
if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
  as_unset=unset
else
  as_unset=false
fi


# IFS
# We need space, tab and new line, in precisely that order.  Quoting is
# there to prevent editors from complaining about space-tab.
# (If _AS_PATH_WALK were called with IFS unset, it would disable word
# splitting by setting IFS to empty value.)
IFS=" ""	$as_nl"

# Find who we are.  Look in the path if we contain no directory separator.
case $0 in
  *[\\/]* ) as_myself=$0 ;;
  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
  IFS=$as_save_IFS
  test -z "$as_dir" && as_dir=.
  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
done
IFS=$as_save_IFS

     ;;
esac
# We did not find ourselves, most probably we were run as `sh COMMAND'
# in which case we are not to be found in the path.
if test "x$as_myself" = x; then
  as_myself=$0
fi
if test ! -f "$as_myself"; then
  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
  { (exit 1); exit 1; }
fi

# Work around bugs in pre-3.0 UWIN ksh.
for as_var in ENV MAIL MAILPATH
do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
done
PS1='$ '
PS2='> '
PS4='+ '

# NLS nuisances.
LC_ALL=C
export LC_ALL
LANGUAGE=C
export LANGUAGE

# Required to use basename.
if expr a : '\(a\)' >/dev/null 2>&1 &&
   test "X`expr 00001 : '.*\(...\)'`" = X001; then
  as_expr=expr
else
  as_expr=false
fi

if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
  as_basename=basename
else
  as_basename=false
fi


# Name of the executable.
as_me=`$as_basename -- "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
	 X"$0" : 'X\(//\)$' \| \
	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X/"$0" |
    sed '/^.*\/\([^/][^/]*\)\/*$/{
	    s//\1/
	    q
	  }
	  /^X\/\(\/\/\)$/{
	    s//\1/
	    q
	  }
	  /^X\/\(\/\).*/{
	    s//\1/
	    q
	  }
	  s/.*/./; q'`

# CDPATH.
$as_unset CDPATH



  as_lineno_1=$LINENO
  as_lineno_2=$LINENO
  test "x$as_lineno_1" != "x$as_lineno_2" &&
  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {

  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
  # uniformly replaced by the line number.  The first 'sed' inserts a
  # line-number line after each line using $LINENO; the second 'sed'
  # does the real work.  The second script uses 'N' to pair each
  # line-number line with the line containing $LINENO, and appends
  # trailing '-' during substitution so that $LINENO is not a special
  # case at line end.
  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
  # scripts with optimization help from Paolo Bonzini.  Blame Lee
  # E. McMahon (1931-1989) for sed's syntax.  :-)
  sed -n '
    p
    /[$]LINENO/=
  ' <$as_myself |
    sed '
      s/[$]LINENO.*/&-/
      t lineno
      b
      :lineno
      N
      :loop
      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
      t loop
      s/-\n.*//
    ' >$as_me.lineno &&
  chmod +x "$as_me.lineno" ||
    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
   { (exit 1); exit 1; }; }

  # Don't try to exec as it changes $[0], causing all sort of problems
  # (the dirname of $[0] is not the place where we might find the
  # original and so on.  Autoconf is especially sensitive to this).
  . "./$as_me.lineno"
  # Exit status is that of the last command.
  exit
}


if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
  as_dirname=dirname
else
  as_dirname=false
fi

ECHO_C= ECHO_N= ECHO_T=
case `echo -n x` in
-n*)
  case `echo 'x\c'` in
  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
  *)   ECHO_C='\c';;
  esac;;
*)
  ECHO_N='-n';;
esac
if expr a : '\(a\)' >/dev/null 2>&1 &&
   test "X`expr 00001 : '.*\(...\)'`" = X001; then
  as_expr=expr
else
  as_expr=false
fi

rm -f conf$$ conf$$.exe conf$$.file
if test -d conf$$.dir; then
  rm -f conf$$.dir/conf$$.file
else
  rm -f conf$$.dir
  mkdir conf$$.dir 2>/dev/null
fi
if (echo >conf$$.file) 2>/dev/null; then
  if ln -s conf$$.file conf$$ 2>/dev/null; then
    as_ln_s='ln -s'
    # ... but there are two gotchas:
    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
    # In both cases, we have to default to `cp -p'.
    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
      as_ln_s='cp -p'
  elif ln conf$$.file conf$$ 2>/dev/null; then
    as_ln_s=ln
  else
    as_ln_s='cp -p'
  fi
else
  as_ln_s='cp -p'
fi
rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
rmdir conf$$.dir 2>/dev/null

if mkdir -p . 2>/dev/null; then
  as_mkdir_p=:
else
  test -d ./-p && rmdir ./-p
  as_mkdir_p=false
fi

if test -x / >/dev/null 2>&1; then
  as_test_x='test -x'
else
  if ls -dL / >/dev/null 2>&1; then
    as_ls_L_option=L
  else
    as_ls_L_option=
  fi
  as_test_x='
    eval sh -c '\''
      if test -d "$1"; then
	test -d "$1/.";
      else
	case $1 in
	-*)set "./$1";;
	esac;
	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
	???[sx]*):;;*)false;;esac;fi
    '\'' sh
  '
fi
as_executable_p=$as_test_x

# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"

# Sed expression to map a string onto a valid variable name.
as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"


exec 6>&1

# Save the log message, to keep $[0] and so on meaningful, and to
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by GNU Awk $as_me 3.1.7, which was
generated by GNU Autoconf 2.63.  Invocation command line was

  CONFIG_FILES    = $CONFIG_FILES
  CONFIG_HEADERS  = $CONFIG_HEADERS
  CONFIG_LINKS    = $CONFIG_LINKS
  CONFIG_COMMANDS = $CONFIG_COMMANDS
  $ $0 $@

on `(hostname || uname -n) 2>/dev/null | sed 1q`
"

_ACEOF

case $ac_config_files in *"
"*) set x $ac_config_files; shift; ac_config_files=$*;;
esac

case $ac_config_headers in *"
"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
esac


cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
# Files that config.status was made for.
config_files="$ac_config_files"
config_headers="$ac_config_headers"
config_commands="$ac_config_commands"

_ACEOF

cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
ac_cs_usage="\
\`$as_me' instantiates files from templates according to the
current configuration.

Usage: $0 [OPTION]... [FILE]...

  -h, --help       print this help, then exit
  -V, --version    print version number and configuration settings, then exit
  -q, --quiet, --silent
                   do not print progress messages
  -d, --debug      don't remove temporary files
      --recheck    update $as_me by reconfiguring in the same conditions
      --file=FILE[:TEMPLATE]
                   instantiate the configuration file FILE
      --header=FILE[:TEMPLATE]
                   instantiate the configuration header FILE

Configuration files:
$config_files

Configuration headers:
$config_headers

Configuration commands:
$config_commands

Report bugs to <bug-autoconf@gnu.org>."

_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_version="\\
GNU Awk config.status 3.1.7
configured by $0, generated by GNU Autoconf 2.63,
  with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"

Copyright (C) 2008 Free Software Foundation, Inc.
This config.status script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it."

ac_pwd='$ac_pwd'
srcdir='$srcdir'
INSTALL='$INSTALL'
MKDIR_P='$MKDIR_P'
AWK='$AWK'
test -n "\$AWK" || AWK=awk
_ACEOF

cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# The default lists apply if the user does not specify any file.
ac_need_defaults=:
while test $# != 0
do
  case $1 in
  --*=*)
    ac_option=`expr "X$1" : 'X\([^=]*\)='`
    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
    ac_shift=:
    ;;
  *)
    ac_option=$1
    ac_optarg=$2
    ac_shift=shift
    ;;
  esac

  case $ac_option in
  # Handling of the options.
  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
    ac_cs_recheck=: ;;
  --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
    $as_echo "$ac_cs_version"; 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"` ;;
    esac
    CONFIG_FILES="$CONFIG_FILES '$ac_optarg'"
    ac_need_defaults=false;;
  --header | --heade | --head | --hea )
    $ac_shift
    case $ac_optarg in
    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
    esac
    CONFIG_HEADERS="$CONFIG_HEADERS '$ac_optarg'"
    ac_need_defaults=false;;
  --he | --h)
    # Conflict between --help and --header
    { $as_echo "$as_me: error: ambiguous option: $1
Try \`$0 --help' for more information." >&2
   { (exit 1); exit 1; }; };;
  --help | --hel | -h )
    $as_echo "$ac_cs_usage"; exit ;;
  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
  | -silent | --silent | --silen | --sile | --sil | --si | --s)
    ac_cs_silent=: ;;

  # This is an error.
  -*) { $as_echo "$as_me: error: unrecognized option: $1
Try \`$0 --help' for more information." >&2
   { (exit 1); exit 1; }; } ;;

  *) ac_config_targets="$ac_config_targets $1"
     ac_need_defaults=false ;;

  esac
  shift
done

ac_configure_extra_args=

if $ac_cs_silent; then
  exec 6>/dev/null
  ac_configure_extra_args="$ac_configure_extra_args --silent"
fi

_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
if \$ac_cs_recheck; then
  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
  shift
  \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
  CONFIG_SHELL='$SHELL'
  export CONFIG_SHELL
  exec "\$@"
fi

_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
exec 5>>config.log
{
  echo
  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
## Running $as_me. ##
_ASBOX
  $as_echo "$ac_log"
} >&5

_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
#
# INIT-COMMANDS
#
AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"


# 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

sed_quote_subst='$sed_quote_subst'
double_quote_subst='$double_quote_subst'
delay_variable_subst='$delay_variable_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"`'
OBJDUMP='`$ECHO "X$OBJDUMP" | $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"`'

LTCC='$LTCC'
LTCFLAGS='$LTCFLAGS'
compiler='$compiler_DEFAULT'

# Quote evaled strings.
for var in SED \
GREP \
EGREP \
FGREP \
LD \
NM \
LN_S \
lt_SP2NL \
lt_NL2SP \
reload_flag \
OBJDUMP \
deplibs_check_method \
file_magic_cmd \
AR \
AR_FLAGS \
STRIP \
RANLIB \
CC \
CFLAGS \
compiler \
lt_cv_sys_global_symbol_pipe \
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 \
lt_prog_compiler_static \
lt_cv_prog_compiler_c_o \
need_locks \
DSYMUTIL \
NMEDIT \
LIPO \
OTOOL \
OTOOL64 \
shrext_cmds \
export_dynamic_flag_spec \
whole_archive_flag_spec \
compiler_needs_object \
with_gnu_ld \
allow_undefined_flag \
no_undefined_flag \
hardcode_libdir_flag_spec \
hardcode_libdir_flag_spec_ld \
hardcode_libdir_separator \
fix_srcfile_path \
exclude_expsyms \
include_expsyms \
file_list_spec \
variables_saved_for_relink \
libname_spec \
library_names_spec \
soname_spec \
finish_eval \
old_striplib \
striplib; do
    case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
    *[\\\\\\\`\\"\\\$]*)
      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
      ;;
    *)
      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
      ;;
    esac
done

# Double-quote double-evaled strings.
for var in reload_cmds \
old_postinstall_cmds \
old_postuninstall_cmds \
old_archive_cmds \
extract_expsyms_cmds \
old_archive_from_new_cmds \
old_archive_from_expsyms_cmds \
archive_cmds \
archive_expsym_cmds \
module_cmds \
module_expsym_cmds \
export_symbols_cmds \
prelink_cmds \
postinstall_cmds \
postuninstall_cmds \
finish_cmds \
sys_lib_search_path_spec \
sys_lib_dlsearch_path_spec; do
    case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
    *[\\\\\\\`\\"\\\$]*)
      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -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'

# See if we are running on zsh, and set the options which allow our
# commands through without removal of \ escapes INIT.
if test -n "\${ZSH_VERSION+set}" ; then
   setopt NO_GLOB_SUBST
fi


    PACKAGE='$PACKAGE'
    VERSION='$VERSION'
    TIMESTAMP='$TIMESTAMP'
    RM='$RM'
    ofile='$ofile'



# Capture the value of obsolete ALL_LINGUAS because we need it to compute
    # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it
    # from automake < 1.5.
    eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"'
    # Capture the value of LINGUAS because we need it to compute CATALOGS.
    LINGUAS="${LINGUAS-%UNSET%}"


_ACEOF

cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1

# Handling of arguments.
for ac_config_target in $ac_config_targets
do
  case $ac_config_target in
    "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
    "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
    "po-directories") CONFIG_COMMANDS="$CONFIG_COMMANDS po-directories" ;;
    "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h:configh.in" ;;
    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
    "awklib/Makefile") CONFIG_FILES="$CONFIG_FILES awklib/Makefile" ;;
    "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
    "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;;
    "test/Makefile") CONFIG_FILES="$CONFIG_FILES test/Makefile" ;;

  *) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
$as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
   { (exit 1); exit 1; }; };;
  esac
done


# If the user did not use the arguments to specify the items to instantiate,
# then the envvar interface is used.  Set only those that are not.
# We use the long form for the default assignment because of an extremely
# bizarre bug on SunOS 4.1.3.
if $ac_need_defaults; then
  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
  test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
  test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
fi

# Have a temporary directory for convenience.  Make it in the build tree
# simply because there is no reason against having it here, and in addition,
# creating and moving files from /tmp can sometimes cause problems.
# Hook for its removal unless debugging.
# Note that there is a small window in which the directory will not be cleaned:
# after its creation but before its name has been assigned to `$tmp'.
$debug ||
{
  tmp=
  trap 'exit_status=$?
  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
' 0
  trap '{ (exit 1); exit 1; }' 1 2 13 15
}
# Create a (secure) tmp directory for tmp files.

{
  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
  test -n "$tmp" && test -d "$tmp"
}  ||
{
  tmp=./conf$$-$RANDOM
  (umask 077 && mkdir "$tmp")
} ||
{
   $as_echo "$as_me: cannot create a temporary directory in ." >&2
   { (exit 1); exit 1; }
}

# Set up the scripts for CONFIG_FILES section.
# No need to generate them if there are no CONFIG_FILES.
# This happens for instance with `./config.status config.h'.
if test -n "$CONFIG_FILES"; then


ac_cr='
'
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'
else
  ac_cs_awk_cr=$ac_cr
fi

echo 'BEGIN {' >"$tmp/subs1.awk" &&
_ACEOF


{
  echo "cat >conf$$subs.awk <<_ACEOF" &&
  echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
  echo "_ACEOF"
} >conf$$subs.sh ||
  { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
   { (exit 1); exit 1; }; }
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_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
   { (exit 1); exit 1; }; }

  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_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
   { (exit 1); exit 1; }; }
  else
    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
  fi
done
rm -f conf$$subs.sh

cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
_ACEOF
sed -n '
h
s/^/S["/; s/!.*/"]=/
p
g
s/^[^!]*!//
:repl
t repl
s/'"$ac_delim"'$//
t delim
:nl
h
s/\(.\{148\}\).*/\1/
t more1
s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
p
n
b repl
:more1
s/["\\]/\\&/g; s/^/"/; s/$/"\\/
p
g
s/.\{148\}//
t nl
:delim
h
s/\(.\{148\}\).*/\1/
t more2
s/["\\]/\\&/g; s/^/"/; s/$/"/
p
b
:more2
s/["\\]/\\&/g; s/^/"/; s/$/"\\/
p
g
s/.\{148\}//
t delim
' <conf$$subs.awk | sed '
/^[^""]/{
  N
  s/\n//
}
' >>$CONFIG_STATUS || ac_write_fail=1
rm -f conf$$subs.awk
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
_ACAWK
cat >>"\$tmp/subs1.awk" <<_ACAWK &&
  for (key in S) S_is_set[key] = 1
  FS = ""

}
{
  line = $ 0
  nfields = split(line, field, "@")
  substed = 0
  len = length(field[1])
  for (i = 2; i < nfields; i++) {
    key = field[i]
    keylen = length(key)
    if (S_is_set[key]) {
      value = S[key]
      line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
      len += length(value) + length(field[++i])
      substed = 1
    } else
      len += 1 + keylen
  }

  print line
}

_ACAWK
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
  sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
else
  cat
fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
  || { { $as_echo "$as_me:$LINENO: error: could not setup config files machinery" >&5
$as_echo "$as_me: error: could not setup config files machinery" >&2;}
   { (exit 1); exit 1; }; }
_ACEOF

# VPATH may cause trouble with some makes, so we remove $(srcdir),
# ${srcdir} and @srcdir@ 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/
s/:*$//
s/^[^=]*=[	 ]*$//
}'
fi

cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
fi # test -n "$CONFIG_FILES"

# Set up the scripts for CONFIG_HEADERS section.
# No need to generate them if there are no CONFIG_HEADERS.
# This happens for instance with `./config.status Makefile'.
if test -n "$CONFIG_HEADERS"; then
cat >"$tmp/defines.awk" <<\_ACAWK ||
BEGIN {
_ACEOF

# Transform confdefs.h into an awk script `defines.awk', embedded as
# here-document in config.status, that substitutes the proper values into
# config.h.in to produce config.h.

# Create a delimiter string that does not exist in confdefs.h, to ease
# handling of long lines.
ac_delim='%!_!# '
for ac_last_try in false false :; do
  ac_t=`sed -n "/$ac_delim/p" confdefs.h`
  if test -z "$ac_t"; then
    break
  elif $ac_last_try; then
    { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_HEADERS" >&5
$as_echo "$as_me: error: could not make $CONFIG_HEADERS" >&2;}
   { (exit 1); exit 1; }; }
  else
    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
  fi
done

# For the awk script, D is an array of macro values keyed by name,
# likewise P contains macro parameters if any.  Preserve backslash
# newline sequences.

ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
sed -n '
s/.\{148\}/&'"$ac_delim"'/g
t rset
:rset
s/^[	 ]*#[	 ]*define[	 ][	 ]*/ /
t def
d
:def
s/\\$//
t bsnl
s/["\\]/\\&/g
s/^ \('"$ac_word_re"'\)\(([^()]*)\)[	 ]*\(.*\)/P["\1"]="\2"\
D["\1"]=" \3"/p
s/^ \('"$ac_word_re"'\)[	 ]*\(.*\)/D["\1"]=" \2"/p
d
:bsnl
s/["\\]/\\&/g
s/^ \('"$ac_word_re"'\)\(([^()]*)\)[	 ]*\(.*\)/P["\1"]="\2"\
D["\1"]=" \3\\\\\\n"\\/p
t cont
s/^ \('"$ac_word_re"'\)[	 ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
t cont
d
:cont
n
s/.\{148\}/&'"$ac_delim"'/g
t clear
:clear
s/\\$//
t bsnlc
s/["\\]/\\&/g; s/^/"/; s/$/"/p
d
:bsnlc
s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
b cont
' <confdefs.h | sed '
s/'"$ac_delim"'/"\\\
"/g' >>$CONFIG_STATUS || ac_write_fail=1

cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
  for (key in D) D_is_set[key] = 1
  FS = ""
}
/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
  line = \$ 0
  split(line, arg, " ")
  if (arg[1] == "#") {
    defundef = arg[2]
    mac1 = arg[3]
  } else {
    defundef = substr(arg[1], 2)
    mac1 = arg[2]
  }
  split(mac1, mac2, "(") #)
  macro = mac2[1]
  prefix = substr(line, 1, index(line, defundef) - 1)
  if (D_is_set[macro]) {
    # Preserve the white space surrounding the "#".
    print prefix "define", macro P[macro] D[macro]
    next
  } else {
    # Replace #undef with comments.  This is necessary, for example,
    # in the case of _POSIX_SOURCE, which is predefined and required
    # on some systems where configure will not decide to define it.
    if (defundef == "undef") {
      print "/*", prefix defundef, macro, "*/"
      next
    }
  }
}
{ print }
_ACAWK
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
  { { $as_echo "$as_me:$LINENO: error: could not setup config headers machinery" >&5
$as_echo "$as_me: error: could not setup config headers machinery" >&2;}
   { (exit 1); exit 1; }; }
fi # test -n "$CONFIG_HEADERS"


eval set X "  :F $CONFIG_FILES  :H $CONFIG_HEADERS    :C $CONFIG_COMMANDS"
shift
for ac_tag
do
  case $ac_tag in
  :[FHLC]) ac_mode=$ac_tag; continue;;
  esac
  case $ac_mode$ac_tag in
  :[FHL]*:*);;
  :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: invalid tag $ac_tag" >&5
$as_echo "$as_me: error: invalid tag $ac_tag" >&2;}
   { (exit 1); exit 1; }; };;
  :[FH]-) ac_tag=-:-;;
  :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
  esac
  ac_save_IFS=$IFS
  IFS=:
  set x $ac_tag
  IFS=$ac_save_IFS
  shift
  ac_file=$1
  shift

  case $ac_mode in
  :L) ac_source=$1;;
  :[FH])
    ac_file_inputs=
    for ac_f
    do
      case $ac_f in
      -) ac_f="$tmp/stdin";;
      *) # Look for the file first in the build tree, then in the source tree
	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
	 # because $ac_f cannot contain `:'.
	 test -f "$ac_f" ||
	   case $ac_f in
	   [\\/$]*) false;;
	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
	   esac ||
	   { { $as_echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
$as_echo "$as_me: error: cannot find input file: $ac_f" >&2;}
   { (exit 1); exit 1; }; };;
      esac
      case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
      ac_file_inputs="$ac_file_inputs '$ac_f'"
    done

    # Let's still pretend it is `configure' which instantiates (i.e., don't
    # use $as_me), people would be surprised to read:
    #    /* config.h.  Generated by config.status.  */
    configure_input='Generated from '`
	  $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
	`' by configure.'
    if test x"$ac_file" != x-; then
      configure_input="$ac_file.  $configure_input"
      { $as_echo "$as_me:$LINENO: creating $ac_file" >&5
$as_echo "$as_me: creating $ac_file" >&6;}
    fi
    # Neutralize special characters interpreted by sed in replacement strings.
    case $configure_input in #(
    *\&* | *\|* | *\\* )
       ac_sed_conf_input=`$as_echo "$configure_input" |
       sed 's/[\\\\&|]/\\\\&/g'`;; #(
    *) ac_sed_conf_input=$configure_input;;
    esac

    case $ac_tag in
    *:-:* | *:-) cat >"$tmp/stdin" \
      || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
$as_echo "$as_me: error: could not create $ac_file" >&2;}
   { (exit 1); exit 1; }; } ;;
    esac
    ;;
  esac

  ac_dir=`$as_dirname -- "$ac_file" ||
$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
	 X"$ac_file" : 'X\(//\)[^/]' \| \
	 X"$ac_file" : 'X\(//\)$' \| \
	 X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X"$ac_file" |
    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
	    s//\1/
	    q
	  }
	  /^X\(\/\/\)[^/].*/{
	    s//\1/
	    q
	  }
	  /^X\(\/\/\)$/{
	    s//\1/
	    q
	  }
	  /^X\(\/\).*/{
	    s//\1/
	    q
	  }
	  s/.*/./; q'`
  { as_dir="$ac_dir"
  case $as_dir in #(
  -*) as_dir=./$as_dir;;
  esac
  test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
    as_dirs=
    while :; do
      case $as_dir in #(
      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
      *) as_qdir=$as_dir;;
      esac
      as_dirs="'$as_qdir' $as_dirs"
      as_dir=`$as_dirname -- "$as_dir" ||
$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
	 X"$as_dir" : 'X\(//\)[^/]' \| \
	 X"$as_dir" : 'X\(//\)$' \| \
	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X"$as_dir" |
    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
	    s//\1/
	    q
	  }
	  /^X\(\/\/\)[^/].*/{
	    s//\1/
	    q
	  }
	  /^X\(\/\/\)$/{
	    s//\1/
	    q
	  }
	  /^X\(\/\).*/{
	    s//\1/
	    q
	  }
	  s/.*/./; q'`
      test -d "$as_dir" && break
    done
    test -z "$as_dirs" || eval "mkdir $as_dirs"
  } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
$as_echo "$as_me: error: cannot create directory $as_dir" >&2;}
   { (exit 1); exit 1; }; }; }
  ac_builddir=.

case "$ac_dir" in
.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
*)
  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
  # A ".." for each directory in $ac_dir_suffix.
  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
  case $ac_top_builddir_sub in
  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
  esac ;;
esac
ac_abs_top_builddir=$ac_pwd
ac_abs_builddir=$ac_pwd$ac_dir_suffix
# for backward compatibility:
ac_top_builddir=$ac_top_build_prefix

case $srcdir in
  .)  # We are building in place.
    ac_srcdir=.
    ac_top_srcdir=$ac_top_builddir_sub
    ac_abs_top_srcdir=$ac_pwd ;;
  [\\/]* | ?:[\\/]* )  # Absolute name.
    ac_srcdir=$srcdir$ac_dir_suffix;
    ac_top_srcdir=$srcdir
    ac_abs_top_srcdir=$srcdir ;;
  *) # Relative name.
    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
    ac_top_srcdir=$ac_top_build_prefix$srcdir
    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
esac
ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix


  case $ac_mode in
  :F)
  #
  # CONFIG_FILE
  #

  case $INSTALL in
  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
  *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
  esac
  ac_MKDIR_P=$MKDIR_P
  case $MKDIR_P in
  [\\/$]* | ?:[\\/]* ) ;;
  */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
  esac
_ACEOF

cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# If the template does not know about datarootdir, expand it.
# FIXME: This hack should be removed a few years after 2.60.
ac_datarootdir_hack=; ac_datarootdir_seen=

ac_sed_dataroot='
/datarootdir/ {
  p
  q
}
/@datadir@/p
/@docdir@/p
/@infodir@/p
/@localedir@/p
/@mandir@/p
'
case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
*datarootdir*) ac_datarootdir_seen=yes;;
*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
  { $as_echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
  ac_datarootdir_hack='
  s&@datadir@&$datadir&g
  s&@docdir@&$docdir&g
  s&@infodir@&$infodir&g
  s&@localedir@&$localedir&g
  s&@mandir@&$mandir&g
    s&\\\${datarootdir}&$datarootdir&g' ;;
esac
_ACEOF

# Neutralize VPATH when `$srcdir' = `.'.
# Shell code in configure.ac might set extrasub.
# FIXME: do we really want to maintain this feature?
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_sed_extra="$ac_vpsub
$extrasub
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
:t
/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
s|@configure_input@|$ac_sed_conf_input|;t t
s&@top_builddir@&$ac_top_builddir_sub&;t t
s&@top_build_prefix@&$ac_top_build_prefix&;t t
s&@srcdir@&$ac_srcdir&;t t
s&@abs_srcdir@&$ac_abs_srcdir&;t t
s&@top_srcdir@&$ac_top_srcdir&;t t
s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
s&@builddir@&$ac_builddir&;t t
s&@abs_builddir@&$ac_abs_builddir&;t t
s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
s&@INSTALL@&$ac_INSTALL&;t t
s&@MKDIR_P@&$ac_MKDIR_P&;t t
$ac_datarootdir_hack
"
eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
  || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
$as_echo "$as_me: error: could not create $ac_file" >&2;}
   { (exit 1); exit 1; }; }

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:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
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;}

  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_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
$as_echo "$as_me: error: could not create $ac_file" >&2;}
   { (exit 1); exit 1; }; }
 ;;
  :H)
  #
  # CONFIG_HEADER
  #
  if test x"$ac_file" != x-; then
    {
      $as_echo "/* $configure_input  */" \
      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
    } >"$tmp/config.h" \
      || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
$as_echo "$as_me: error: could not create $ac_file" >&2;}
   { (exit 1); exit 1; }; }
    if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
      { $as_echo "$as_me:$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_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
$as_echo "$as_me: error: could not create $ac_file" >&2;}
   { (exit 1); exit 1; }; }
    fi
  else
    $as_echo "/* $configure_input  */" \
      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
      || { { $as_echo "$as_me:$LINENO: error: could not create -" >&5
$as_echo "$as_me: error: could not create -" >&2;}
   { (exit 1); exit 1; }; }
  fi
# Compute "$ac_file"'s index in $config_headers.
_am_arg="$ac_file"
_am_stamp_count=1
for _am_header in $config_headers :; do
  case $_am_header in
    $_am_arg | $_am_arg:* )
      break ;;
    * )
      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
  esac
done
echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
	 X"$_am_arg" : 'X\(//\)[^/]' \| \
	 X"$_am_arg" : 'X\(//\)$' \| \
	 X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X"$_am_arg" |
    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
	    s//\1/
	    q
	  }
	  /^X\(\/\/\)[^/].*/{
	    s//\1/
	    q
	  }
	  /^X\(\/\/\)$/{
	    s//\1/
	    q
	  }
	  /^X\(\/\).*/{
	    s//\1/
	    q
	  }
	  s/.*/./; q'`/stamp-h$_am_stamp_count
 ;;

  :C)  { $as_echo "$as_me:$LINENO: executing $ac_file commands" >&5
$as_echo "$as_me: executing $ac_file commands" >&6;}
 ;;
  esac


  case $ac_file$ac_mode in
    "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
  # Autoconf 2.62 quotes --file arguments for eval, but not when files
  # are listed without --file.  Let's play safe and only enable the eval
  # if we detect the quoting.
  case $CONFIG_FILES in
  *\'*) eval set x "$CONFIG_FILES" ;;
  *)   set x $CONFIG_FILES ;;
  esac
  shift
  for mf
  do
    # Strip MF so we end up with the name of the file.
    mf=`echo "$mf" | sed -e 's/:.*$//'`
    # Check whether this is an Automake generated Makefile or not.
    # We used to match only the files named `Makefile.in', but
    # some people rename them; so instead we look at the file content.
    # Grep'ing the first line is not enough: some people post-process
    # each Makefile.in and add a new line on top of each file to say so.
    # Grep'ing the whole file is not good either: AIX grep has a line
    # limit of 2048, but all sed's we know have understand at least 4000.
    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
      dirpart=`$as_dirname -- "$mf" ||
$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
	 X"$mf" : 'X\(//\)[^/]' \| \
	 X"$mf" : 'X\(//\)$' \| \
	 X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X"$mf" |
    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
	    s//\1/
	    q
	  }
	  /^X\(\/\/\)[^/].*/{
	    s//\1/
	    q
	  }
	  /^X\(\/\/\)$/{
	    s//\1/
	    q
	  }
	  /^X\(\/\).*/{
	    s//\1/
	    q
	  }
	  s/.*/./; q'`
    else
      continue
    fi
    # Extract the definition of DEPDIR, am__include, and am__quote
    # from the Makefile without running `make'.
    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
    test -z "$DEPDIR" && continue
    am__include=`sed -n 's/^am__include = //p' < "$mf"`
    test -z "am__include" && continue
    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
    # When using ansi2knr, U may be empty or an underscore; expand it
    U=`sed -n 's/^U = //p' < "$mf"`
    # Find all dependency output files, they are included files with
    # $(DEPDIR) in their names.  We invoke sed twice because it is the
    # simplest approach to changing $(DEPDIR) to its actual value in the
    # expansion.
    for file in `sed -n "
      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
      # Make sure the directory exists.
      test -f "$dirpart/$file" && continue
      fdir=`$as_dirname -- "$file" ||
$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
	 X"$file" : 'X\(//\)[^/]' \| \
	 X"$file" : 'X\(//\)$' \| \
	 X"$file" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X"$file" |
    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
	    s//\1/
	    q
	  }
	  /^X\(\/\/\)[^/].*/{
	    s//\1/
	    q
	  }
	  /^X\(\/\/\)$/{
	    s//\1/
	    q
	  }
	  /^X\(\/\).*/{
	    s//\1/
	    q
	  }
	  s/.*/./; q'`
      { as_dir=$dirpart/$fdir
  case $as_dir in #(
  -*) as_dir=./$as_dir;;
  esac
  test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
    as_dirs=
    while :; do
      case $as_dir in #(
      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
      *) as_qdir=$as_dir;;
      esac
      as_dirs="'$as_qdir' $as_dirs"
      as_dir=`$as_dirname -- "$as_dir" ||
$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
	 X"$as_dir" : 'X\(//\)[^/]' \| \
	 X"$as_dir" : 'X\(//\)$' \| \
	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X"$as_dir" |
    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
	    s//\1/
	    q
	  }
	  /^X\(\/\/\)[^/].*/{
	    s//\1/
	    q
	  }
	  /^X\(\/\/\)$/{
	    s//\1/
	    q
	  }
	  /^X\(\/\).*/{
	    s//\1/
	    q
	  }
	  s/.*/./; q'`
      test -d "$as_dir" && break
    done
    test -z "$as_dirs" || eval "mkdir $as_dirs"
  } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
$as_echo "$as_me: error: cannot create directory $as_dir" >&2;}
   { (exit 1); exit 1; }; }; }
      # echo "creating $dirpart/$file"
      echo '# dummy' > "$dirpart/$file"
    done
  done
}
 ;;
    "libtool":C)

    # See if we are running on zsh, and set the options which allow our
    # commands through without removal of \ escapes.
    if test -n "${ZSH_VERSION+set}" ; then
      setopt NO_GLOB_SUBST
    fi

    cfgfile="${ofile}T"
    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
    $RM "$cfgfile"

    cat <<_LT_EOF >> "$cfgfile"
#! $SHELL

# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
# 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.
#   Written by Gordon Matzigkeit, 1996
#
#   This file is part of GNU Libtool.
#
# GNU Libtool is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation; either version 2 of
# the License, or (at your option) any later version.
#
# As a special exception to the GNU General Public License,
# if you distribute this file as part of a program or library that
# is built using GNU Libtool, you may include this file under the
# same distribution terms that you use for the rest of that program.
#
# GNU Libtool is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GNU Libtool; see the file COPYING.  If not, a copy
# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
# obtained by writing to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.


# The names of the tagged configurations supported by this script.
available_tags=""

# ### BEGIN LIBTOOL CONFIG

# Which release of libtool.m4 was used?
macro_version=$macro_version
macro_revision=$macro_revision

# Whether or not to build shared libraries.
build_libtool_libs=$enable_shared

# Whether or not to build static libraries.
build_old_libs=$enable_static

# What type of objects to build.
pic_mode=$pic_mode

# Whether or not to optimize for fast installation.
fast_install=$enable_fast_install

# The host system.
host_alias=$host_alias
host=$host
host_os=$host_os

# The build system.
build_alias=$build_alias
build=$build
build_os=$build_os

# A sed program that does not truncate output.
SED=$lt_SED

# Sed that helps us avoid accidentally triggering echo(1) options like -n.
Xsed="\$SED -e 1s/^X//"

# A grep program that handles long lines.
GREP=$lt_GREP

# An ERE matcher.
EGREP=$lt_EGREP

# A literal string matcher.
FGREP=$lt_FGREP

# A BSD- or MS-compatible name lister.
NM=$lt_NM

# Whether we need soft or hard links.
LN_S=$lt_LN_S

# What is the maximum length of a command?
max_cmd_len=$max_cmd_len

# Object file suffix (normally "o").
objext=$ac_objext

# Executable file suffix (normally "").
exeext=$exeext

# whether the shell understands "unset".
lt_unset=$lt_unset

# turn spaces into newlines.
SP2NL=$lt_lt_SP2NL

# turn newlines into spaces.
NL2SP=$lt_lt_NL2SP

# How to create reloadable object files.
reload_flag=$lt_reload_flag
reload_cmds=$lt_reload_cmds

# An object symbol dumper.
OBJDUMP=$lt_OBJDUMP

# Method to check whether dependent libraries are shared objects.
deplibs_check_method=$lt_deplibs_check_method

# Command to use when deplibs_check_method == "file_magic".
file_magic_cmd=$lt_file_magic_cmd

# The archiver.
AR=$lt_AR
AR_FLAGS=$lt_AR_FLAGS

# A symbol stripping program.
STRIP=$lt_STRIP

# Commands used to install an old-style archive.
RANLIB=$lt_RANLIB
old_postinstall_cmds=$lt_old_postinstall_cmds
old_postuninstall_cmds=$lt_old_postuninstall_cmds

# A C compiler.
LTCC=$lt_CC

# LTCC compiler flags.
LTCFLAGS=$lt_CFLAGS

# Take the output of nm and produce a listing of raw symbols and C names.
global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe

# Transform the output of nm in a proper C declaration.
global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl

# Transform the output of nm in a C name address pair.
global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address

# Transform the output of nm in a C name address pair when lib prefix is needed.
global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix

# 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

# Must we lock files when doing compilation?
need_locks=$lt_need_locks

# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
DSYMUTIL=$lt_DSYMUTIL

# Tool to change global to local symbols on Mac OS X.
NMEDIT=$lt_NMEDIT

# Tool to manipulate fat objects and archives on Mac OS X.
LIPO=$lt_LIPO

# ldd/readelf like tool for Mach-O binaries on Mac OS X.
OTOOL=$lt_OTOOL

# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
OTOOL64=$lt_OTOOL64

# Old archive suffix (normally "a").
libext=$libext

# Shared library suffix (normally ".so").
shrext_cmds=$lt_shrext_cmds

# The commands to extract the exported symbol list from a shared archive.
extract_expsyms_cmds=$lt_extract_expsyms_cmds

# Variables whose values should be saved in libtool wrapper scripts and
# restored at link time.
variables_saved_for_relink=$lt_variables_saved_for_relink

# Do we need the "lib" prefix for modules?
need_lib_prefix=$need_lib_prefix

# Do we need a version for libraries?
need_version=$need_version

# Library versioning type.
version_type=$version_type

# Shared library runtime path variable.
runpath_var=$runpath_var

# Shared library path variable.
shlibpath_var=$shlibpath_var

# Is shlibpath searched before the hard-coded library search path?
shlibpath_overrides_runpath=$shlibpath_overrides_runpath

# Format of library name prefix.
libname_spec=$lt_libname_spec

# List of archive names.  First name is the real one, the rest are links.
# The last name is the one that the linker finds with -lNAME
library_names_spec=$lt_library_names_spec

# The coded name of the library, if different from the real name.
soname_spec=$lt_soname_spec

# Command to use after installation of a shared archive.
postinstall_cmds=$lt_postinstall_cmds

# Command to use after uninstallation of a shared archive.
postuninstall_cmds=$lt_postuninstall_cmds

# Commands used to finish a libtool library installation in a directory.
finish_cmds=$lt_finish_cmds

# As "finish_cmds", except a single script fragment to be evaled but
# not shown.
finish_eval=$lt_finish_eval

# Whether we should hardcode library paths into libraries.
hardcode_into_libs=$hardcode_into_libs

# Compile-time system search path for libraries.
sys_lib_search_path_spec=$lt_sys_lib_search_path_spec

# Run-time system search path for libraries.
sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec

# Whether dlopen is supported.
dlopen_support=$enable_dlopen

# Whether dlopen of programs is supported.
dlopen_self=$enable_dlopen_self

# Whether dlopen of statically linked programs is supported.
dlopen_self_static=$enable_dlopen_self_static

# Commands to strip libraries.
old_striplib=$lt_old_striplib
striplib=$lt_striplib


# The linker used to build libraries.
LD=$lt_LD

# Commands used to build an old-style archive.
old_archive_cmds=$lt_old_archive_cmds

# A language specific compiler.
CC=$lt_compiler

# Is the compiler the GNU compiler?
with_gcc=$GCC

# Compiler flag to turn off builtin functions.
no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag

# How to pass a linker flag through the compiler.
wl=$lt_lt_prog_compiler_wl

# Additional compiler flags for building library objects.
pic_flag=$lt_lt_prog_compiler_pic

# Compiler flag to prevent dynamic linking.
link_static_flag=$lt_lt_prog_compiler_static

# Does compiler simultaneously support -c and -o options?
compiler_c_o=$lt_lt_cv_prog_compiler_c_o

# Whether or not to add -lc for building shared libraries.
build_libtool_need_lc=$archive_cmds_need_lc

# Whether or not to disallow shared libs when runtime libs are static.
allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes

# Compiler flag to allow reflexive dlopens.
export_dynamic_flag_spec=$lt_export_dynamic_flag_spec

# Compiler flag to generate shared objects directly from archives.
whole_archive_flag_spec=$lt_whole_archive_flag_spec

# Whether the compiler copes with passing no objects directly.
compiler_needs_object=$lt_compiler_needs_object

# Create an old-style archive from a shared archive.
old_archive_from_new_cmds=$lt_old_archive_from_new_cmds

# Create a temporary old-style archive to link instead of a shared archive.
old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds

# Commands used to build a shared archive.
archive_cmds=$lt_archive_cmds
archive_expsym_cmds=$lt_archive_expsym_cmds

# Commands used to build a loadable module if different from building
# a shared archive.
module_cmds=$lt_module_cmds
module_expsym_cmds=$lt_module_expsym_cmds

# Whether we are building with GNU ld or not.
with_gnu_ld=$lt_with_gnu_ld

# Flag that allows shared libraries with undefined symbols to be built.
allow_undefined_flag=$lt_allow_undefined_flag

# Flag that enforces no undefined symbols.
no_undefined_flag=$lt_no_undefined_flag

# Flag to hardcode \$libdir into a binary during linking.
# This must work even if \$libdir does not exist
hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec

# If ld is used when linking, flag to hardcode \$libdir into a binary
# during linking.  This must work even if \$libdir does not exist.
hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld

# Whether we need a single "-rpath" flag with a separated argument.
hardcode_libdir_separator=$lt_hardcode_libdir_separator

# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
# DIR into the resulting binary.
hardcode_direct=$hardcode_direct

# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
# DIR into the resulting binary and the resulting library dependency is
# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
# library is relocated.
hardcode_direct_absolute=$hardcode_direct_absolute

# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
# into the resulting binary.
hardcode_minus_L=$hardcode_minus_L

# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
# into the resulting binary.
hardcode_shlibpath_var=$hardcode_shlibpath_var

# Set to "yes" if building a shared library automatically hardcodes DIR
# into the library and all subsequent libraries and executables linked
# against it.
hardcode_automatic=$hardcode_automatic

# Set to yes if linker adds runtime paths of dependent libraries
# to runtime path list.
inherit_rpath=$inherit_rpath

# Whether libtool must link a program against all its dependency libraries.
link_all_deplibs=$link_all_deplibs

# Fix the shell variable \$srcfile for the compiler.
fix_srcfile_path=$lt_fix_srcfile_path

# Set to "yes" if exported symbols are required.
always_export_symbols=$always_export_symbols

# The commands to list exported symbols.
export_symbols_cmds=$lt_export_symbols_cmds

# Symbols that should not be listed in the preloaded symbols.
exclude_expsyms=$lt_exclude_expsyms

# Symbols that must always be exported.
include_expsyms=$lt_include_expsyms

# Commands necessary for linking programs (against libraries) with templates.
prelink_cmds=$lt_prelink_cmds

# Specify filename containing input files.
file_list_spec=$lt_file_list_spec

# How to hardcode a shared library path into an executable.
hardcode_action=$hardcode_action

# ### END LIBTOOL CONFIG

_LT_EOF

  case $host_os in
  aix3*)
    cat <<\_LT_EOF >> "$cfgfile"
# 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
_LT_EOF
    ;;
  esac


ltmain="$ac_aux_dir/ltmain.sh"


  # We use sed instead of cat because bash on DJGPP gets confused if
  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
  # text mode, it properly converts lines to CR/LF.  This bash problem
  # is reportedly fixed, but why not run on old versions too?
  sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
    || (rm -f "$cfgfile"; exit 1)

  case $xsi_shell in
  yes)
    cat << \_LT_EOF >> "$cfgfile"

# func_dirname file append nondir_replacement
# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
# otherwise set result to NONDIR_REPLACEMENT.
func_dirname ()
{
  case ${1} in
    */*) func_dirname_result="${1%/*}${2}" ;;
    *  ) func_dirname_result="${3}" ;;
  esac
}

# func_basename file
func_basename ()
{
  func_basename_result="${1##*/}"
}

# func_dirname_and_basename file append nondir_replacement
# perform func_basename and func_dirname in a single function
# call:
#   dirname:  Compute the dirname of FILE.  If nonempty,
#             add APPEND to the result, otherwise set result
#             to NONDIR_REPLACEMENT.
#             value returned in "$func_dirname_result"
#   basename: Compute filename of FILE.
#             value retuned in "$func_basename_result"
# Implementation must be kept synchronized with func_dirname
# and func_basename. For efficiency, we do not delegate to
# those functions but instead duplicate the functionality here.
func_dirname_and_basename ()
{
  case ${1} in
    */*) func_dirname_result="${1%/*}${2}" ;;
    *  ) func_dirname_result="${3}" ;;
  esac
  func_basename_result="${1##*/}"
}

# func_stripname prefix suffix name
# strip PREFIX and SUFFIX off of NAME.
# PREFIX and SUFFIX must not contain globbing or regex special
# characters, hashes, percent signs, but SUFFIX may contain a leading
# dot (in which case that matches only a dot).
func_stripname ()
{
  # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
  # positional parameters, so assign one to ordinary parameter first.
  func_stripname_result=${3}
  func_stripname_result=${func_stripname_result#"${1}"}
  func_stripname_result=${func_stripname_result%"${2}"}
}

# func_opt_split
func_opt_split ()
{
  func_opt_split_opt=${1%%=*}
  func_opt_split_arg=${1#*=}
}

# func_lo2o object
func_lo2o ()
{
  case ${1} in
    *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
    *)    func_lo2o_result=${1} ;;
  esac
}

# func_xform libobj-or-source
func_xform ()
{
  func_xform_result=${1%.*}.lo
}

# func_arith arithmetic-term...
func_arith ()
{
  func_arith_result=$(( $* ))
}

# func_len string
# STRING may not start with a hyphen.
func_len ()
{
  func_len_result=${#1}
}

_LT_EOF
    ;;
  *) # Bourne compatible functions.
    cat << \_LT_EOF >> "$cfgfile"

# func_dirname file append nondir_replacement
# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
# otherwise set result to NONDIR_REPLACEMENT.
func_dirname ()
{
  # Extract subdirectory from the argument.
  func_dirname_result=`$ECHO "X${1}" | $Xsed -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 file
func_basename ()
{
  func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
}


# func_stripname prefix suffix name
# strip PREFIX and SUFFIX off of NAME.
# PREFIX and SUFFIX must not contain globbing or regex special
# characters, hashes, percent signs, but SUFFIX may contain a leading
# dot (in which case that matches only a dot).
# func_strip_suffix prefix name
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}\$%%"`;;
  esac
}

# sed scripts:
my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q'
my_sed_long_arg='1s/^-[^=]*=//'

# 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_lo2o object
func_lo2o ()
{
  func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
}

# func_xform libobj-or-source
func_xform ()
{
  func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[^.]*$/.lo/'`
}

# func_arith arithmetic-term...
func_arith ()
{
  func_arith_result=`expr "$@"`
}

# func_len string
# STRING may not start with a hyphen.
func_len ()
{
  func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len`
}

_LT_EOF
esac

case $lt_shell_append in
  yes)
    cat << \_LT_EOF >> "$cfgfile"

# func_append var value
# Append VALUE to the end of shell variable VAR.
func_append ()
{
  eval "$1+=\$2"
}
_LT_EOF
    ;;
  *)
    cat << \_LT_EOF >> "$cfgfile"

# func_append var value
# Append VALUE to the end of shell variable VAR.
func_append ()
{
  eval "$1=\$$1\$2"
}

_LT_EOF
    ;;
  esac


  sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
    || (rm -f "$cfgfile"; exit 1)

  mv -f "$cfgfile" "$ofile" ||
    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
  chmod +x "$ofile"

 ;;
    "po-directories":C)
    for ac_file in $CONFIG_FILES; do
      # Support "outfile[:infile[:infile...]]"
      case "$ac_file" in
        *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
      esac
      # PO directories have a Makefile.in generated from Makefile.in.in.
      case "$ac_file" in */Makefile.in)
        # Adjust a relative srcdir.
        ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
        ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
        ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
        # In autoconf-2.13 it is called $ac_given_srcdir.
        # In autoconf-2.50 it is called $srcdir.
        test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
        case "$ac_given_srcdir" in
          .)  top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
          /*) top_srcdir="$ac_given_srcdir" ;;
          *)  top_srcdir="$ac_dots$ac_given_srcdir" ;;
        esac
        # Treat a directory as a PO directory if and only if it has a
        # POTFILES.in file. This allows packages to have multiple PO
        # directories under different names or in different locations.
        if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
          rm -f "$ac_dir/POTFILES"
          test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
          cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ 	]*\$/d" -e "s,.*,     $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
          POMAKEFILEDEPS="POTFILES.in"
          # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend
          # on $ac_dir but don't depend on user-specified configuration
          # parameters.
          if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
            # The LINGUAS file contains the set of available languages.
            if test -n "$OBSOLETE_ALL_LINGUAS"; then
              test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
            fi
            ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
            # Hide the ALL_LINGUAS assigment from automake < 1.5.
            eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
            POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
          else
            # The set of available languages was given in configure.in.
            # Hide the ALL_LINGUAS assigment from automake < 1.5.
            eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS'
          fi
          # Compute POFILES
          # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
          # Compute UPDATEPOFILES
          # as      $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
          # Compute DUMMYPOFILES
          # as      $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
          # Compute GMOFILES
          # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
          case "$ac_given_srcdir" in
            .) srcdirpre= ;;
            *) srcdirpre='$(srcdir)/' ;;
          esac
          POFILES=
          UPDATEPOFILES=
          DUMMYPOFILES=
          GMOFILES=
          for lang in $ALL_LINGUAS; do
            POFILES="$POFILES $srcdirpre$lang.po"
            UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
            DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
            GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
          done
          # CATALOGS depends on both $ac_dir and the user's LINGUAS
          # environment variable.
          INST_LINGUAS=
          if test -n "$ALL_LINGUAS"; then
            for presentlang in $ALL_LINGUAS; do
              useit=no
              if test "%UNSET%" != "$LINGUAS"; then
                desiredlanguages="$LINGUAS"
              else
                desiredlanguages="$ALL_LINGUAS"
              fi
              for desiredlang in $desiredlanguages; do
                # Use the presentlang catalog if desiredlang is
                #   a. equal to presentlang, or
                #   b. a variant of presentlang (because in this case,
                #      presentlang can be used as a fallback for messages
                #      which are not translated in the desiredlang catalog).
                case "$desiredlang" in
                  "$presentlang"*) useit=yes;;
                esac
              done
              if test $useit = yes; then
                INST_LINGUAS="$INST_LINGUAS $presentlang"
              fi
            done
          fi
          CATALOGS=
          if test -n "$INST_LINGUAS"; then
            for lang in $INST_LINGUAS; do
              CATALOGS="$CATALOGS $lang.gmo"
            done
          fi
          test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
          sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
          for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
            if test -f "$f"; then
              case "$f" in
                *.orig | *.bak | *~) ;;
                *) cat "$f" >> "$ac_dir/Makefile" ;;
              esac
            fi
          done
        fi
        ;;
      esac
    done ;;

  esac
done # for ac_tag


{ (exit 0); exit 0; }
_ACEOF
chmod +x $CONFIG_STATUS
ac_clean_files=$ac_clean_files_save

test $ac_write_fail = 0 ||
  { { $as_echo "$as_me:$LINENO: error: write failure creating $CONFIG_STATUS" >&5
$as_echo "$as_me: error: write failure creating $CONFIG_STATUS" >&2;}
   { (exit 1); exit 1; }; }


# configure is writing to config.log, and then calls config.status.
# config.status does its own redirection, appending to config.log.
# Unfortunately, on DOS this fails, as config.log is still kept open
# by configure, so config.status won't be able to write to it; its
# output is simply discarded.  So we exec the FD to /dev/null,
# effectively closing config.log, so it can be properly (re)opened and
# appended to by config.status.  When coming back to configure, we
# need to make the FD available again.
if test "$no_create" != yes; then
  ac_cs_success=:
  ac_config_status_args=
  test "$silent" = yes &&
    ac_config_status_args="$ac_config_status_args --quiet"
  exec 5>/dev/null
  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
  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 || { (exit 1); exit 1; }
fi

#
# CONFIG_SUBDIRS section.
#
if test "$no_recursion" != yes; then

  # Remove --cache-file, --srcdir, and --disable-option-checking arguments
  # so they do not pile up.
  ac_sub_configure_args=
  ac_prev=
  eval "set x $ac_configure_args"
  shift
  for ac_arg
  do
    if test -n "$ac_prev"; then
      ac_prev=
      continue
    fi
    case $ac_arg in
    -cache-file | --cache-file | --cache-fil | --cache-fi \
    | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
      ac_prev=cache_file ;;
    -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
    | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* \
    | --c=*)
      ;;
    --config-cache | -C)
      ;;
    -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
      ac_prev=srcdir ;;
    -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
      ;;
    -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
      ac_prev=prefix ;;
    -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
      ;;
    --disable-option-checking)
      ;;
    *)
      case $ac_arg in
      *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
      esac
      ac_sub_configure_args="$ac_sub_configure_args '$ac_arg'" ;;
    esac
  done

  # Always prepend --prefix to ensure using the same prefix
  # in subdir configurations.
  ac_arg="--prefix=$prefix"
  case $ac_arg in
  *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
  esac
  ac_sub_configure_args="'$ac_arg' $ac_sub_configure_args"

  # Pass --silent
  if test "$silent" = yes; then
    ac_sub_configure_args="--silent $ac_sub_configure_args"
  fi

  # Always prepend --disable-option-checking to silence warnings, since
  # different subdirs can have different --enable and --with options.
  ac_sub_configure_args="--disable-option-checking $ac_sub_configure_args"

  ac_popdir=`pwd`
  for ac_dir in : $subdirs; do test "x$ac_dir" = x: && continue

    # Do not complain, so a configure script can configure whichever
    # parts of a large source tree are present.
    test -d "$srcdir/$ac_dir" || continue

    ac_msg="=== configuring in $ac_dir (`pwd`/$ac_dir)"
    $as_echo "$as_me:$LINENO: $ac_msg" >&5
    $as_echo "$ac_msg" >&6
    { as_dir="$ac_dir"
  case $as_dir in #(
  -*) as_dir=./$as_dir;;
  esac
  test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
    as_dirs=
    while :; do
      case $as_dir in #(
      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
      *) as_qdir=$as_dir;;
      esac
      as_dirs="'$as_qdir' $as_dirs"
      as_dir=`$as_dirname -- "$as_dir" ||
$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
	 X"$as_dir" : 'X\(//\)[^/]' \| \
	 X"$as_dir" : 'X\(//\)$' \| \
	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X"$as_dir" |
    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
	    s//\1/
	    q
	  }
	  /^X\(\/\/\)[^/].*/{
	    s//\1/
	    q
	  }
	  /^X\(\/\/\)$/{
	    s//\1/
	    q
	  }
	  /^X\(\/\).*/{
	    s//\1/
	    q
	  }
	  s/.*/./; q'`
      test -d "$as_dir" && break
    done
    test -z "$as_dirs" || eval "mkdir $as_dirs"
  } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
$as_echo "$as_me: error: cannot create directory $as_dir" >&2;}
   { (exit 1); exit 1; }; }; }
    ac_builddir=.

case "$ac_dir" in
.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
*)
  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
  # A ".." for each directory in $ac_dir_suffix.
  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
  case $ac_top_builddir_sub in
  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
  esac ;;
esac
ac_abs_top_builddir=$ac_pwd
ac_abs_builddir=$ac_pwd$ac_dir_suffix
# for backward compatibility:
ac_top_builddir=$ac_top_build_prefix

case $srcdir in
  .)  # We are building in place.
    ac_srcdir=.
    ac_top_srcdir=$ac_top_builddir_sub
    ac_abs_top_srcdir=$ac_pwd ;;
  [\\/]* | ?:[\\/]* )  # Absolute name.
    ac_srcdir=$srcdir$ac_dir_suffix;
    ac_top_srcdir=$srcdir
    ac_abs_top_srcdir=$srcdir ;;
  *) # Relative name.
    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
    ac_top_srcdir=$ac_top_build_prefix$srcdir
    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
esac
ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix


    cd "$ac_dir"

    # Check for guested configure; otherwise get Cygnus style configure.
    if test -f "$ac_srcdir/configure.gnu"; then
      ac_sub_configure=$ac_srcdir/configure.gnu
    elif test -f "$ac_srcdir/configure"; then
      ac_sub_configure=$ac_srcdir/configure
    elif test -f "$ac_srcdir/configure.in"; then
      # This should be Cygnus configure.
      ac_sub_configure=$ac_aux_dir/configure
    else
      { $as_echo "$as_me:$LINENO: WARNING: no configuration information is in $ac_dir" >&5
$as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2;}
      ac_sub_configure=
    fi

    # The recursion is here.
    if test -n "$ac_sub_configure"; then
      # Make the cache file name correct relative to the subdirectory.
      case $cache_file in
      [\\/]* | ?:[\\/]* ) ac_sub_cache_file=$cache_file ;;
      *) # Relative name.
	ac_sub_cache_file=$ac_top_build_prefix$cache_file ;;
      esac

      { $as_echo "$as_me:$LINENO: running $SHELL $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&5
$as_echo "$as_me: running $SHELL $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&6;}
      # The eval makes quoting arguments work.
      eval "\$SHELL \"\$ac_sub_configure\" $ac_sub_configure_args \
	   --cache-file=\"\$ac_sub_cache_file\" --srcdir=\"\$ac_srcdir\"" ||
	{ { $as_echo "$as_me:$LINENO: error: $ac_sub_configure failed for $ac_dir" >&5
$as_echo "$as_me: error: $ac_sub_configure failed for $ac_dir" >&2;}
   { (exit 1); exit 1; }; }
    fi

    cd "$ac_popdir"
  done
fi
if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
  { $as_echo "$as_me:$LINENO: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
fi

EOF-configure
echo - 'ltmain.sh'
cat << 'EOF-ltmain.sh' > 'ltmain.sh'
# Generated from ltmain.m4sh.

# ltmain.sh (GNU libtool) 2.2.6
# 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.
# This is free software; see the source for copying conditions.  There is NO
# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

# GNU Libtool is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# As a special exception to the GNU General Public License,
# if you distribute this file as part of a program or library that
# is built using GNU Libtool, you may include this file under the
# same distribution terms that you use for the rest of that program.
#
# GNU Libtool is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GNU Libtool; see the file COPYING.  If not, a copy
# can be downloaded from http://www.gnu.org/licenses/gpl.html,
# or obtained by writing to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

# Usage: $progname [OPTION]... [MODE-ARG]...
#
# 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
#
# 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
#
# MODE-ARGS vary depending on the MODE.
# 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
#
# Report bugs to <bug-libtool@gnu.org>.

PROGRAM=ltmain.sh
PACKAGE=libtool
VERSION=2.2.6
TIMESTAMP=""
package_revision=1.3012

# Be Bourne compatible
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
  emulate sh
  NULLCMD=:
  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
  # is contrary to our usage.  Disable this feature.
  alias -g '${1+"$@"}'='"$@"'
  setopt NO_GLOB_SUBST
else
  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
fi
BIN_SH=xpg4; export BIN_SH # for Tru64
DUALCASE=1; export DUALCASE # for MKS sh

# 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
do
  eval "if test \"\${$lt_var+set}\" = set; then
          save_$lt_var=\$$lt_var
          $lt_var=C
	  export $lt_var
	  lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\"
	  lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\"
	fi"
done

$lt_unset CDPATH





: ${CP="cp -f"}
: ${ECHO="echo"}
: ${EGREP="/usr/bin/grep -E"}
: ${FGREP="/usr/bin/grep -F"}
: ${GREP="/usr/bin/grep"}
: ${LN_S="ln -s"}
: ${MAKE="make"}
: ${MKDIR="mkdir"}
: ${MV="mv -f"}
: ${RM="rm -f"}
: ${SED="/opt/local/bin/gsed"}
: ${SHELL="${CONFIG_SHELL-/bin/sh}"}
: ${Xsed="$SED -e 1s/^X//"}

# Global variables:
EXIT_SUCCESS=0
EXIT_FAILURE=1
EXIT_MISMATCH=63  # $? = 63 is used to indicate version mismatch to missing.
EXIT_SKIP=77	  # $? = 77 is used to indicate a skipped test to automake.

exit_status=$EXIT_SUCCESS

# Make sure IFS has a sensible default
lt_nl='
'
IFS=" 	$lt_nl"

dirname="s,/[^/]*$,,"
basename="s,^.*/,,"

# func_dirname_and_basename file append nondir_replacement
# perform func_basename and func_dirname in a single function
# call:
#   dirname:  Compute the dirname of FILE.  If nonempty,
#             add APPEND to the result, otherwise set result
#             to NONDIR_REPLACEMENT.
#             value returned in "$func_dirname_result"
#   basename: Compute filename of FILE.
#             value retuned in "$func_basename_result"
# Implementation must be kept synchronized with func_dirname
# and func_basename. For efficiency, we do not delegate to
# those functions but instead duplicate the functionality here.
func_dirname_and_basename ()
{
  # Extract subdirectory from the argument.
  func_dirname_result=`$ECHO "X${1}" | $Xsed -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"`
}

# 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"

# 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
  [\\/]*|[A-Za-z]:\\*) ;;
  *[\\/]*)
     progdir=$func_dirname_result
     progdir=`cd "$progdir" && pwd`
     progpath="$progdir/$progname"
     ;;
  *)
     save_IFS="$IFS"
     IFS=:
     for progdir in $PATH; do
       IFS="$save_IFS"
       test -x "$progdir/$progname" && break
     done
     IFS="$save_IFS"
     test -n "$progdir" || progdir=`pwd`
     progpath="$progdir/$progname"
     ;;
esac

# 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='s/\([`"$\\]\)/\\\1/g'

# Same as above, but do not quote variable references.
double_quote_subst='s/\(["`\\]\)/\\\1/g'

# Re-`\' parameter expansions in output of double_quote_subst that were
# `\'-ed in input to the same.  If an odd number of `\' preceded a '$'
# in input to double_quote_subst, that '$' was protected from expansion.
# Since each input `\' is now two `\'s, look for any number of runs of
# four `\'s followed by two `\'s and then a '$'.  `\' that '$'.
bs='\\'
bs2='\\\\'
bs4='\\\\\\\\'
dollar='\$'
sed_double_backslash="\
  s/$bs4/&\\
/g
  s/^$bs2$dollar/$bs&/
  s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g
  s/\n//g"

# Standard options:
opt_dry_run=false
opt_help=false
opt_quiet=false
opt_verbose=false
opt_warning=:

# func_echo arg...
# Echo program name prefixed message, along with the current mode
# name if it has been set yet.
func_echo ()
{
    $ECHO "$progname${mode+: }$mode: $*"
}

# func_verbose arg...
# Echo program name prefixed message in verbose mode only.
func_verbose ()
{
    $opt_verbose && func_echo ${1+"$@"}

    # A bug in bash halts the script if the last line of a function
    # fails when set -e is in force, so we need another command to
    # work around that:
    :
}

# func_error arg...
# Echo program name prefixed message to standard error.
func_error ()
{
    $ECHO "$progname${mode+: }$mode: "${1+"$@"} 1>&2
}

# func_warning arg...
# Echo program name prefixed warning message to standard error.
func_warning ()
{
    $opt_warning && $ECHO "$progname${mode+: }$mode: warning: "${1+"$@"} 1>&2

    # bash bug again:
    :
}

# func_fatal_error arg...
# Echo program name prefixed message to standard error, and exit.
func_fatal_error ()
{
    func_error ${1+"$@"}
    exit $EXIT_FAILURE
}

# func_fatal_help arg...
# Echo program name prefixed message to standard error, followed by
# a help hint, and exit.
func_fatal_help ()
{
    func_error ${1+"$@"}
    func_fatal_error "$help"
}
help="Try \`$progname --help' for more information."  ## default


# func_grep expression filename
# Check whether EXPRESSION matches any line of FILENAME, without output.
func_grep ()
{
    $GREP "$1" "$2" >/dev/null 2>&1
}


# func_mkdir_p directory-path
# Make sure the entire path to DIRECTORY-PATH is available.
func_mkdir_p ()
{
    my_directory_path="$1"
    my_dir_list=

    if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then

      # Protect directory names starting with `-'
      case $my_directory_path in
        -*) my_directory_path="./$my_directory_path" ;;
      esac

      # While some portion of DIR does not yet exist...
      while test ! -d "$my_directory_path"; do
        # ...make a list in topmost first order.  Use a colon delimited
	# list incase some portion of path contains whitespace.
        my_dir_list="$my_directory_path:$my_dir_list"

        # If the last portion added has no slash in it, the list is done
        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"`
      done
      my_dir_list=`$ECHO "X$my_dir_list" | $Xsed -e 's,:*$,,'`

      save_mkdir_p_IFS="$IFS"; IFS=':'
      for my_dir in $my_dir_list; do
	IFS="$save_mkdir_p_IFS"
        # mkdir can fail with a `File exist' error if two processes
        # try to create one of the directories concurrently.  Don't
        # stop in that case!
        $MKDIR "$my_dir" 2>/dev/null || :
      done
      IFS="$save_mkdir_p_IFS"

      # Bail out if we (or some other process) failed to create a directory.
      test -d "$my_directory_path" || \
        func_fatal_error "Failed to create \`$1'"
    fi
}


# func_mktempdir [string]
# Make a temporary directory that won't clash with other running
# libtool processes, and avoids race conditions if possible.  If
# given, STRING is the basename for that directory.
func_mktempdir ()
{
    my_template="${TMPDIR-/tmp}/${1-$progname}"

    if test "$opt_dry_run" = ":"; then
      # Return a directory name, but don't create it in dry-run mode
      my_tmpdir="${my_template}-$$"
    else

      # If mktemp works, use that first and foremost
      my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`

      if test ! -d "$my_tmpdir"; then
        # Failing that, at least try and use $RANDOM to avoid a race
        my_tmpdir="${my_template}-${RANDOM-0}$$"

        save_mktempdir_umask=`umask`
        umask 0077
        $MKDIR "$my_tmpdir"
        umask $save_mktempdir_umask
      fi

      # If we're not in dry-run mode, bomb out on failure
      test -d "$my_tmpdir" || \
        func_fatal_error "cannot create temporary directory \`$my_tmpdir'"
    fi

    $ECHO "X$my_tmpdir" | $Xsed
}


# func_quote_for_eval arg
# Aesthetically quote ARG to be evaled later.
# This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT
# is double-quoted, suitable for a subsequent eval, whereas
# FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters
# which are still active within double quotes backslashified.
func_quote_for_eval ()
{
    case $1 in
      *[\\\`\"\$]*)
	func_quote_for_eval_unquoted_result=`$ECHO "X$1" | $Xsed -e "$sed_quote_subst"` ;;
      *)
        func_quote_for_eval_unquoted_result="$1" ;;
    esac

    case $func_quote_for_eval_unquoted_result in
      # Double-quote args containing shell metacharacters to delay
      # word splitting, command substitution and and variable
      # expansion for a subsequent eval.
      # Many Bourne shells cannot handle close brackets correctly
      # in scan sets, so we specify it separately.
      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
        func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\""
        ;;
      *)
        func_quote_for_eval_result="$func_quote_for_eval_unquoted_result"
    esac
}


# func_quote_for_expand arg
# Aesthetically quote ARG to be evaled later; same as above,
# but do not quote variable references.
func_quote_for_expand ()
{
    case $1 in
      *[\\\`\"]*)
	my_arg=`$ECHO "X$1" | $Xsed \
	    -e "$double_quote_subst" -e "$sed_double_backslash"` ;;
      *)
        my_arg="$1" ;;
    esac

    case $my_arg in
      # Double-quote args containing shell metacharacters to delay
      # word splitting and command substitution for a subsequent eval.
      # Many Bourne shells cannot handle close brackets correctly
      # in scan sets, so we specify it separately.
      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
        my_arg="\"$my_arg\""
        ;;
    esac

    func_quote_for_expand_result="$my_arg"
}


# func_show_eval cmd [fail_exp]
# Unless opt_silent is true, then output CMD.  Then, if opt_dryrun is
# not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
# is given, then evaluate it.
func_show_eval ()
{
    my_cmd="$1"
    my_fail_exp="${2-:}"

    ${opt_silent-false} || {
      func_quote_for_expand "$my_cmd"
      eval "func_echo $func_quote_for_expand_result"
    }

    if ${opt_dry_run-false}; then :; else
      eval "$my_cmd"
      my_status=$?
      if test "$my_status" -eq 0; then :; else
	eval "(exit $my_status); $my_fail_exp"
      fi
    fi
}


# func_show_eval_locale cmd [fail_exp]
# Unless opt_silent is true, then output CMD.  Then, if opt_dryrun is
# not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
# is given, then evaluate it.  Use the saved locale for evaluation.
func_show_eval_locale ()
{
    my_cmd="$1"
    my_fail_exp="${2-:}"

    ${opt_silent-false} || {
      func_quote_for_expand "$my_cmd"
      eval "func_echo $func_quote_for_expand_result"
    }

    if ${opt_dry_run-false}; then :; else
      eval "$lt_user_locale
	    $my_cmd"
      my_status=$?
      eval "$lt_safe_locale"
      if test "$my_status" -eq 0; then :; else
	eval "(exit $my_status); $my_fail_exp"
      fi
    fi
}





# func_version
# Echo version message to standard output and exit.
func_version ()
{
    $SED -n '/^# '$PROGRAM' (GNU /,/# warranty; / {
        s/^# //
	s/^# *$//
        s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/
        p
     }' < "$progpath"
     exit $?
}

# func_usage
# Echo short help message to standard output and exit.
func_usage ()
{
    $SED -n '/^# Usage:/,/# -h/ {
        s/^# //
	s/^# *$//
	s/\$progname/'$progname'/
	p
    }' < "$progpath"
    $ECHO
    $ECHO "run \`$progname --help | more' for full usage"
    exit $?
}

# func_help
# Echo long help message to standard output and exit.
func_help ()
{
    $SED -n '/^# Usage:/,/# Report bugs to/ {
        s/^# //
	s/^# *$//
	s*\$progname*'$progname'*
	s*\$host*'"$host"'*
	s*\$SHELL*'"$SHELL"'*
	s*\$LTCC*'"$LTCC"'*
	s*\$LTCFLAGS*'"$LTCFLAGS"'*
	s*\$LD*'"$LD"'*
	s/\$with_gnu_ld/'"$with_gnu_ld"'/
	s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/
	s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/
	p
     }' < "$progpath"
    exit $?
}

# func_missing_arg argname
# Echo program name prefixed message to standard error and set global
# exit_cmd.
func_missing_arg ()
{
    func_error "missing argument for $1"
    exit_cmd=exit
}

exit_cmd=:





# 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%%%"

# Global variables.
# $mode is unset
nonopt=
execute_dlfiles=
preserve_args=
lo2o="s/\\.lo\$/.${objext}/"
o2lo="s/\\.${objext}\$/.lo/"
extracted_archives=
extracted_serial=0

opt_dry_run=false
opt_duplicate_deps=false
opt_silent=false
opt_debug=:

# If this variable is set in any of the actions, the command in it
# will be execed at the end.  This prevents here-documents from being
# left over by shells.
exec_cmd=

# func_fatal_configuration arg...
# Echo program name prefixed message to standard error, followed by
# a configuration failure hint, and exit.
func_fatal_configuration ()
{
    func_error ${1+"$@"}
    func_error "See the $PACKAGE documentation for more information."
    func_fatal_error "Fatal configuration error."
}


# func_config
# Display the configuration for all the tags in this script.
func_config ()
{
    re_begincf='^# ### BEGIN LIBTOOL'
    re_endcf='^# ### END LIBTOOL'

    # Default configuration.
    $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath"

    # Now print the configurations for the tags.
    for tagname in $taglist; do
      $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath"
    done

    exit $?
}

# func_features
# Display the features supported by this script.
func_features ()
{
    $ECHO "host: $host"
    if test "$build_libtool_libs" = yes; then
      $ECHO "enable shared libraries"
    else
      $ECHO "disable shared libraries"
    fi
    if test "$build_old_libs" = yes; then
      $ECHO "enable static libraries"
    else
      $ECHO "disable static libraries"
    fi

    exit $?
}

# func_enable_tag tagname
# Verify that TAGNAME is valid, and either flag an error and exit, or
# enable the TAGNAME tag.  We also add TAGNAME to the global $taglist
# variable here.
func_enable_tag ()
{
  # Global variable:
  tagname="$1"

  re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
  re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
  sed_extractcf="/$re_begincf/,/$re_endcf/p"

  # Validate tagname.
  case $tagname in
    *[!-_A-Za-z0-9,/]*)
      func_fatal_error "invalid tag name: $tagname"
      ;;
  esac

  # Don't test for the "default" C tag, as we know it's
  # there but not specially marked.
  case $tagname in
    CC) ;;
    *)
      if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
	taglist="$taglist $tagname"

	# Evaluate the configuration.  Be careful to quote the path
	# and the sed script, to avoid splitting on whitespace, but
	# also don't use non-portable quotes within backquotes within
	# quotes we have to do it in 2 steps:
	extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
	eval "$extractedcf"
      else
	func_error "ignoring unknown tag $tagname"
      fi
      ;;
  esac
}

# Parse options once, thoroughly.  This comes as soon as possible in
# the script to make things like `libtool --version' happen quickly.
{

  # Shorthand for --mode=foo, only valid as the first argument
  case $1 in
  clean|clea|cle|cl)
    shift; set dummy --mode clean ${1+"$@"}; shift
    ;;
  compile|compil|compi|comp|com|co|c)
    shift; set dummy --mode compile ${1+"$@"}; shift
    ;;
  execute|execut|execu|exec|exe|ex|e)
    shift; set dummy --mode execute ${1+"$@"}; shift
    ;;
  finish|finis|fini|fin|fi|f)
    shift; set dummy --mode finish ${1+"$@"}; shift
    ;;
  install|instal|insta|inst|ins|in|i)
    shift; set dummy --mode install ${1+"$@"}; shift
    ;;
  link|lin|li|l)
    shift; set dummy --mode link ${1+"$@"}; shift
    ;;
  uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
    shift; set dummy --mode uninstall ${1+"$@"}; shift
    ;;
  esac

  # Parse non-mode specific arguments:
  while test "$#" -gt 0; do
    opt="$1"
    shift

    case $opt in
      --config)		func_config					;;

      --debug)		preserve_args="$preserve_args $opt"
			func_echo "enabling shell trace mode"
			opt_debug='set -x'
			$opt_debug
			;;

      -dlopen)		test "$#" -eq 0 && func_missing_arg "$opt" && break
			execute_dlfiles="$execute_dlfiles $1"
			shift
			;;

      --dry-run | -n)	opt_dry_run=:					;;
      --features)       func_features					;;
      --finish)		mode="finish"					;;

      --mode)		test "$#" -eq 0 && func_missing_arg "$opt" && break
			case $1 in
			  # Valid mode arguments:
			  clean)	;;
			  compile)	;;
			  execute)	;;
			  finish)	;;
			  install)	;;
			  link)		;;
			  relink)	;;
			  uninstall)	;;

			  # Catch anything else as an error
			  *) func_error "invalid argument for $opt"
			     exit_cmd=exit
			     break
			     ;;
		        esac

			mode="$1"
			shift
			;;

      --preserve-dup-deps)
			opt_duplicate_deps=:				;;

      --quiet|--silent)	preserve_args="$preserve_args $opt"
			opt_silent=:
			;;

      --verbose| -v)	preserve_args="$preserve_args $opt"
			opt_silent=false
			;;

      --tag)		test "$#" -eq 0 && func_missing_arg "$opt" && break
			preserve_args="$preserve_args $opt $1"
			func_enable_tag "$1"	# tagname is set here
			shift
			;;

      # Separate optargs to long options:
      -dlopen=*|--mode=*|--tag=*)
			func_opt_split "$opt"
			set dummy "$func_opt_split_opt" "$func_opt_split_arg" ${1+"$@"}
			shift
			;;

      -\?|-h)		func_usage					;;
      --help)		opt_help=:					;;
      --version)	func_version					;;

      -*)		func_fatal_help "unrecognized option \`$opt'"	;;

      *)		nonopt="$opt"
			break
			;;
    esac
  done


  case $host in
    *cygwin* | *mingw* | *pw32* | *cegcc*)
      # don't eliminate duplications in $postdeps and $predeps
      opt_duplicate_compiler_generated_deps=:
      ;;
    *)
      opt_duplicate_compiler_generated_deps=$opt_duplicate_deps
      ;;
  esac

  # Having warned about all mis-specified options, bail out if
  # anything was wrong.
  $exit_cmd $EXIT_FAILURE
}

# func_check_version_match
# Ensure that we are using m4 macros, and libtool script from the same
# release of libtool.
func_check_version_match ()
{
  if test "$package_revision" != "$macro_revision"; then
    if test "$VERSION" != "$macro_version"; then
      if test -z "$macro_version"; then
        cat >&2 <<_LT_EOF
$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
$progname: definition of this LT_INIT comes from an older release.
$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
$progname: and run autoconf again.
_LT_EOF
      else
        cat >&2 <<_LT_EOF
$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
$progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
$progname: and run autoconf again.
_LT_EOF
      fi
    else
      cat >&2 <<_LT_EOF
$progname: Version mismatch error.  This is $PACKAGE $VERSION, revision $package_revision,
$progname: but the definition of this LT_INIT comes from revision $macro_revision.
$progname: You should recreate aclocal.m4 with macros from revision $package_revision
$progname: of $PACKAGE $VERSION and run autoconf again.
_LT_EOF
    fi

    exit $EXIT_MISMATCH
  fi
}


## ----------- ##
##    Main.    ##
## ----------- ##

$opt_help || {
  # Sanity checks first:
  func_check_version_match

  if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
    func_fatal_configuration "not configured to build any kind of library"
  fi

  test -z "$mode" && func_fatal_error "error: you must specify a MODE."


  # Darwin sucks
  eval std_shrext=\"$shrext_cmds\"


  # Only execute mode is allowed to have -dlopen flags.
  if test -n "$execute_dlfiles" && test "$mode" != execute; then
    func_error "unrecognized option \`-dlopen'"
    $ECHO "$help" 1>&2
    exit $EXIT_FAILURE
  fi

  # Change the help message to a mode-specific one.
  generic_help="$help"
  help="Try \`$progname --help --mode=$mode' for more information."
}


# func_lalib_p file
# True iff FILE is a libtool `.la' library or `.lo' object file.
# This function is only a basic sanity check; it will hardly flush out
# determined imposters.
func_lalib_p ()
{
    test -f "$1" &&
      $SED -e 4q "$1" 2>/dev/null \
        | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
}

# func_lalib_unsafe_p file
# True iff FILE is a libtool `.la' library or `.lo' object file.
# This function implements the same check as func_lalib_p without
# resorting to external programs.  To this end, it redirects stdin and
# closes it afterwards, without saving the original file descriptor.
# As a safety measure, use it only where a negative result would be
# fatal anyway.  Works if `file' does not exist.
func_lalib_unsafe_p ()
{
    lalib_p=no
    if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then
	for lalib_p_l in 1 2 3 4
	do
	    read lalib_p_line
	    case "$lalib_p_line" in
		\#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;;
	    esac
	done
	exec 0<&5 5<&-
    fi
    test "$lalib_p" = yes
}

# func_ltwrapper_script_p file
# True iff FILE is a libtool wrapper script
# This function is only a basic sanity check; it will hardly flush out
# determined imposters.
func_ltwrapper_script_p ()
{
    func_lalib_p "$1"
}

# func_ltwrapper_executable_p file
# True iff FILE is a libtool wrapper executable
# This function is only a basic sanity check; it will hardly flush out
# determined imposters.
func_ltwrapper_executable_p ()
{
    func_ltwrapper_exec_suffix=
    case $1 in
    *.exe) ;;
    *) func_ltwrapper_exec_suffix=.exe ;;
    esac
    $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1
}

# func_ltwrapper_scriptname file
# Assumes file is an ltwrapper_executable
# uses $file to determine the appropriate filename for a
# temporary ltwrapper_script.
func_ltwrapper_scriptname ()
{
    func_ltwrapper_scriptname_result=""
    if func_ltwrapper_executable_p "$1"; then
	func_dirname_and_basename "$1" "" "."
	func_stripname '' '.exe' "$func_basename_result"
	func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"
    fi
}

# func_ltwrapper_p file
# True iff FILE is a libtool wrapper script or wrapper executable
# This function is only a basic sanity check; it will hardly flush out
# determined imposters.
func_ltwrapper_p ()
{
    func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1"
}


# func_execute_cmds commands fail_cmd
# Execute tilde-delimited COMMANDS.
# If FAIL_CMD is given, eval that upon failure.
# FAIL_CMD may read-access the current command in variable CMD!
func_execute_cmds ()
{
    $opt_debug
    save_ifs=$IFS; IFS='~'
    for cmd in $1; do
      IFS=$save_ifs
      eval cmd=\"$cmd\"
      func_show_eval "$cmd" "${2-:}"
    done
    IFS=$save_ifs
}


# func_source file
# Source FILE, adding directory component if necessary.
# Note that it is not necessary on cygwin/mingw to append a dot to
# FILE even if both FILE and FILE.exe exist: automatic-append-.exe
# behavior happens only for exec(3), not for open(2)!  Also, sourcing
# `FILE.' does not work on cygwin managed mounts.
func_source ()
{
    $opt_debug
    case $1 in
    */* | *\\*)	. "$1" ;;
    *)		. "./$1" ;;
    esac
}


# func_infer_tag arg
# Infer tagged configuration to use if any are available and
# if one wasn't chosen via the "--tag" command line option.
# Only attempt this if the compiler in the base compile
# command doesn't match the default compiler.
# arg is usually of the form 'gcc ...'
func_infer_tag ()
{
    $opt_debug
    if test -n "$available_tags" && test -z "$tagname"; then
      CC_quoted=
      for arg in $CC; do
        func_quote_for_eval "$arg"
	CC_quoted="$CC_quoted $func_quote_for_eval_result"
      done
      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` "*) ;;
      # Blanks at the start of $base_compile will cause this to fail
      # if we don't check for them as well.
      *)
	for z in $available_tags; do
	  if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
	    # Evaluate the configuration.
	    eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
	    CC_quoted=
	    for arg in $CC; do
	      # Double-quote args containing other shell metacharacters.
	      func_quote_for_eval "$arg"
	      CC_quoted="$CC_quoted $func_quote_for_eval_result"
	    done
	    case "$@ " in
	      " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*)
	      # The compiler in the base compile command matches
	      # the one in the tagged configuration.
	      # Assume this is the tagged configuration we want.
	      tagname=$z
	      break
	      ;;
	    esac
	  fi
	done
	# If $tagname still isn't set, then no tagged configuration
	# was found and let the user know that the "--tag" command
	# line option must be used.
	if test -z "$tagname"; then
	  func_echo "unable to infer tagged configuration"
	  func_fatal_error "specify a tag with \`--tag'"
#	else
#	  func_verbose "using $tagname tagged configuration"
	fi
	;;
      esac
    fi
}



# func_write_libtool_object output_name pic_name nonpic_name
# Create a libtool object file (analogous to a ".la" file),
# but don't create it if we're doing a dry run.
func_write_libtool_object ()
{
    write_libobj=${1}
    if test "$build_libtool_libs" = yes; then
      write_lobj=\'${2}\'
    else
      write_lobj=none
    fi

    if test "$build_old_libs" = yes; then
      write_oldobj=\'${3}\'
    else
      write_oldobj=none
    fi

    $opt_dry_run || {
      cat >${write_libobj}T <<EOF
# $write_libobj - a libtool object file
# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
#
# Please DO NOT delete this file!
# It is necessary for linking the library.

# Name of the PIC object.
pic_object=$write_lobj

# Name of the non-PIC object
non_pic_object=$write_oldobj

EOF
      $MV "${write_libobj}T" "${write_libobj}"
    }
}

# func_mode_compile arg...
func_mode_compile ()
{
    $opt_debug
    # Get the compilation command and the source file.
    base_compile=
    srcfile="$nonopt"  #  always keep a non-empty value in "srcfile"
    suppress_opt=yes
    suppress_output=
    arg_mode=normal
    libobj=
    later=
    pie_flag=

    for arg
    do
      case $arg_mode in
      arg  )
	# do not "continue".  Instead, add this to base_compile
	lastarg="$arg"
	arg_mode=normal
	;;

      target )
	libobj="$arg"
	arg_mode=normal
	continue
	;;

      normal )
	# Accept any command-line options.
	case $arg in
	-o)
	  test -n "$libobj" && \
	    func_fatal_error "you cannot specify \`-o' more than once"
	  arg_mode=target
	  continue
	  ;;

	-pie | -fpie | -fPIE)
          pie_flag="$pie_flag $arg"
	  continue
	  ;;

	-shared | -static | -prefer-pic | -prefer-non-pic)
	  later="$later $arg"
	  continue
	  ;;

	-no-suppress)
	  suppress_opt=no
	  continue
	  ;;

	-Xcompiler)
	  arg_mode=arg  #  the next one goes into the "base_compile" arg list
	  continue      #  The current "srcfile" will either be retained or
	  ;;            #  replaced later.  I would guess that would be a bug.

	-Wc,*)
	  func_stripname '-Wc,' '' "$arg"
	  args=$func_stripname_result
	  lastarg=
	  save_ifs="$IFS"; IFS=','
	  for arg in $args; do
	    IFS="$save_ifs"
	    func_quote_for_eval "$arg"
	    lastarg="$lastarg $func_quote_for_eval_result"
	  done
	  IFS="$save_ifs"
	  func_stripname ' ' '' "$lastarg"
	  lastarg=$func_stripname_result

	  # Add the arguments to base_compile.
	  base_compile="$base_compile $lastarg"
	  continue
	  ;;

	*)
	  # Accept the current argument as the source file.
	  # The previous "srcfile" becomes the current argument.
	  #
	  lastarg="$srcfile"
	  srcfile="$arg"
	  ;;
	esac  #  case $arg
	;;
      esac    #  case $arg_mode

      # Aesthetically quote the previous argument.
      func_quote_for_eval "$lastarg"
      base_compile="$base_compile $func_quote_for_eval_result"
    done # for arg

    case $arg_mode in
    arg)
      func_fatal_error "you must specify an argument for -Xcompile"
      ;;
    target)
      func_fatal_error "you must specify a target with \`-o'"
      ;;
    *)
      # Get the name of the library object.
      test -z "$libobj" && {
	func_basename "$srcfile"
	libobj="$func_basename_result"
      }
      ;;
    esac

    # Recognize several different file suffixes.
    # If the user specifies -o file.o, it is replaced with file.lo
    case $libobj in
    *.[cCFSifmso] | \
    *.ada | *.adb | *.ads | *.asm | \
    *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
    *.[fF][09]? | *.for | *.java | *.obj | *.sx)
      func_xform "$libobj"
      libobj=$func_xform_result
      ;;
    esac

    case $libobj in
    *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;;
    *)
      func_fatal_error "cannot determine name of library object from \`$libobj'"
      ;;
    esac

    func_infer_tag $base_compile

    for arg in $later; do
      case $arg in
      -shared)
	test "$build_libtool_libs" != yes && \
	  func_fatal_configuration "can not build a shared library"
	build_old_libs=no
	continue
	;;

      -static)
	build_libtool_libs=no
	build_old_libs=yes
	continue
	;;

      -prefer-pic)
	pic_mode=yes
	continue
	;;

      -prefer-non-pic)
	pic_mode=no
	continue
	;;
      esac
    done

    func_quote_for_eval "$libobj"
    test "X$libobj" != "X$func_quote_for_eval_result" \
      && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"'	 &()|`$[]' \
      && func_warning "libobj name \`$libobj' may not contain shell special characters."
    func_dirname_and_basename "$obj" "/" ""
    objname="$func_basename_result"
    xdir="$func_dirname_result"
    lobj=${xdir}$objdir/$objname

    test -z "$base_compile" && \
      func_fatal_help "you must specify a compilation command"

    # Delete any leftover library objects.
    if test "$build_old_libs" = yes; then
      removelist="$obj $lobj $libobj ${libobj}T"
    else
      removelist="$lobj $libobj ${libobj}T"
    fi

    # On Cygwin there's no "real" PIC flag so we must build both object types
    case $host_os in
    cygwin* | mingw* | pw32* | os2* | cegcc*)
      pic_mode=default
      ;;
    esac
    if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
      # non-PIC code in shared libraries is not supported
      pic_mode=default
    fi

    # 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}
      lockfile="$output_obj.lock"
    else
      output_obj=
      need_locks=no
      lockfile=
    fi

    # Lock this critical section if it is needed
    # We use this script file to make the link, it avoids creating a new file
    if test "$need_locks" = yes; then
      until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
	func_echo "Waiting for $lockfile to be removed"
	sleep 2
      done
    elif test "$need_locks" = warn; then
      if test -f "$lockfile"; then
	$ECHO "\
*** ERROR, $lockfile exists and contains:
`cat $lockfile 2>/dev/null`

This indicates that another process is trying to use the same
temporary object file, and libtool could not work around it because
your compiler does not support \`-c' and \`-o' together.  If you
repeat this compilation, it may succeed, by chance, but you had better
avoid parallel builds (make -j) in this platform, or get a better
compiler."

	$opt_dry_run || $RM $removelist
	exit $EXIT_FAILURE
      fi
      removelist="$removelist $output_obj"
      $ECHO "$srcfile" > "$lockfile"
    fi

    $opt_dry_run || $RM $removelist
    removelist="$removelist $lockfile"
    trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15

    if test -n "$fix_srcfile_path"; then
      eval srcfile=\"$fix_srcfile_path\"
    fi
    func_quote_for_eval "$srcfile"
    qsrcfile=$func_quote_for_eval_result

    # Only build a PIC object if we are building libtool libraries.
    if test "$build_libtool_libs" = yes; then
      # Without this assignment, base_compile gets emptied.
      fbsd_hideous_sh_bug=$base_compile

      if test "$pic_mode" != no; then
	command="$base_compile $qsrcfile $pic_flag"
      else
	# Don't build PIC code
	command="$base_compile $qsrcfile"
      fi

      func_mkdir_p "$xdir$objdir"

      if test -z "$output_obj"; then
	# Place PIC objects in $objdir
	command="$command -o $lobj"
      fi

      func_show_eval_locale "$command"	\
          'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'

      if test "$need_locks" = warn &&
	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
	$ECHO "\
*** ERROR, $lockfile contains:
`cat $lockfile 2>/dev/null`

but it should contain:
$srcfile

This indicates that another process is trying to use the same
temporary object file, and libtool could not work around it because
your compiler does not support \`-c' and \`-o' together.  If you
repeat this compilation, it may succeed, by chance, but you had better
avoid parallel builds (make -j) in this platform, or get a better
compiler."

	$opt_dry_run || $RM $removelist
	exit $EXIT_FAILURE
      fi

      # Just move the object if needed, then go on to compile the next one
      if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
	func_show_eval '$MV "$output_obj" "$lobj"' \
	  'error=$?; $opt_dry_run || $RM $removelist; exit $error'
      fi

      # Allow error messages only from the first compilation.
      if test "$suppress_opt" = yes; then
	suppress_output=' >/dev/null 2>&1'
      fi
    fi

    # Only build a position-dependent object if we build old libraries.
    if test "$build_old_libs" = yes; then
      if test "$pic_mode" != yes; then
	# Don't build PIC code
	command="$base_compile $qsrcfile$pie_flag"
      else
	command="$base_compile $qsrcfile $pic_flag"
      fi
      if test "$compiler_c_o" = yes; then
	command="$command -o $obj"
      fi

      # Suppress compiler output if we already did a PIC compilation.
      command="$command$suppress_output"
      func_show_eval_locale "$command" \
        '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'

      if test "$need_locks" = warn &&
	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
	$ECHO "\
*** ERROR, $lockfile contains:
`cat $lockfile 2>/dev/null`

but it should contain:
$srcfile

This indicates that another process is trying to use the same
temporary object file, and libtool could not work around it because
your compiler does not support \`-c' and \`-o' together.  If you
repeat this compilation, it may succeed, by chance, but you had better
avoid parallel builds (make -j) in this platform, or get a better
compiler."

	$opt_dry_run || $RM $removelist
	exit $EXIT_FAILURE
      fi

      # Just move the object if needed
      if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
	func_show_eval '$MV "$output_obj" "$obj"' \
	  'error=$?; $opt_dry_run || $RM $removelist; exit $error'
      fi
    fi

    $opt_dry_run || {
      func_write_libtool_object "$libobj" "$objdir/$objname" "$objname"

      # Unlock the critical section if it was locked
      if test "$need_locks" != no; then
	removelist=$lockfile
        $RM "$lockfile"
      fi
    }

    exit $EXIT_SUCCESS
}

$opt_help || {
test "$mode" = compile && func_mode_compile ${1+"$@"}
}

func_mode_help ()
{
    # We need to display help for each of the modes.
    case $mode in
      "")
        # Generic help is extracted from the usage comments
        # at the start of this file.
        func_help
        ;;

      clean)
        $ECHO \
"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE...

Remove files from the build directory.

RM is the name of the program to use to delete files associated with each FILE
(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
to RM.

If FILE is a libtool library, object or program, all the files associated
with it are deleted. Otherwise, only FILE itself is deleted using RM."
        ;;

      compile)
      $ECHO \
"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE

Compile a source file into a libtool library object.

This mode accepts the following additional options:

  -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
  -shared           do not build a \`.o' file suitable for static linking
  -static           only build a \`.o' file suitable for static linking

COMPILE-COMMAND is a command to be used in creating a \`standard' object file
from the given SOURCEFILE.

The output file name is determined by removing the directory component from
SOURCEFILE, then substituting the C source code suffix \`.c' with the
library object suffix, \`.lo'."
        ;;

      execute)
        $ECHO \
"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]...

Automatically set library path, then run a program.

This mode accepts the following additional options:

  -dlopen FILE      add the directory containing FILE to the library path

This mode sets the library path environment variable according to \`-dlopen'
flags.

If any of the ARGS are libtool executable wrappers, then they are translated
into their corresponding uninstalled binary, and any of their required library
directories are added to the library path.

Then, COMMAND is executed, with ARGS as arguments."
        ;;

      finish)
        $ECHO \
"Usage: $progname [OPTION]... --mode=finish [LIBDIR]...

Complete the installation of libtool libraries.

Each LIBDIR is a directory that contains libtool libraries.

The commands that this mode executes may require superuser privileges.  Use
the \`--dry-run' option if you just want to see what would be executed."
        ;;

      install)
        $ECHO \
"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND...

Install executables or libraries.

INSTALL-COMMAND is the installation command.  The first component should be
either the \`install' or \`cp' program.

The following components of INSTALL-COMMAND are treated specially:

  -inst-prefix 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)."
        ;;

      link)
        $ECHO \
"Usage: $progname [OPTION]... --mode=link LINK-COMMAND...

Link object files or libraries together to form another library, or to
create an executable program.

LINK-COMMAND is a command using the C compiler that you would use to create
a program from several object files.

The following components of LINK-COMMAND are treated specially:

  -all-static       do not do any dynamic linking at all
  -avoid-version    do not add a version suffix if possible
  -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)
  -export-symbols SYMFILE
                    try to export only the symbols listed in SYMFILE
  -export-symbols-regex REGEX
                    try to export only the symbols matching REGEX
  -LLIBDIR          search LIBDIR for required installed libraries
  -lNAME            OUTPUT-FILE requires the installed library libNAME
  -module           build a library that can dlopened
  -no-fast-install  disable the fast-install mode
  -no-install       link a not-installable executable
  -no-undefined     declare that a library does not refer to external symbols
  -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
  -objectlist FILE  Use a list of object files found in FILE to specify objects
  -precious-files-regex REGEX
                    don't remove output files matching REGEX
  -release RELEASE  specify package release information
  -rpath LIBDIR     the created library will eventually be installed in LIBDIR
  -R[ ]LIBDIR       add LIBDIR to the runtime path of programs and libraries
  -shared           only do dynamic linking of libtool libraries
  -shrext SUFFIX    override the standard shared library file extension
  -static           do not do any dynamic linking of uninstalled libtool libraries
  -static-libtool-libs
                    do not do any dynamic linking of libtool libraries
  -version-info CURRENT[:REVISION[:AGE]]
                    specify library version info [each variable defaults to 0]
  -weak LIBNAME     declare that the target provides the LIBNAME interface

All other options (arguments beginning with \`-') are ignored.

Every other argument is treated as a filename.  Files ending in \`.la' are
treated as uninstalled libtool libraries, other files are standard or library
object files.

If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
only library objects (\`.lo' files) may be specified, and \`-rpath' is
required, except when creating a convenience library.

If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
using \`ar' and \`ranlib', or on Windows using \`lib'.

If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
is created, otherwise an executable program is created."
        ;;

      uninstall)
        $ECHO \
"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...

Remove libraries from an installation directory.

RM is the name of the program to use to delete files associated with each FILE
(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
to RM.

If FILE is a libtool library, all the files associated with it are deleted.
Otherwise, only FILE itself is deleted using RM."
        ;;

      *)
        func_fatal_help "invalid operation mode \`$mode'"
        ;;
    esac

    $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


# func_mode_execute arg...
func_mode_execute ()
{
    $opt_debug
    # The first argument is the command name.
    cmd="$nonopt"
    test -z "$cmd" && \
      func_fatal_help "you must specify a COMMAND"

    # Handle -dlopen flags immediately.
    for file in $execute_dlfiles; do
      test -f "$file" \
	|| func_fatal_help "\`$file' is not a file"

      dir=
      case $file in
      *.la)
	# Check to see that this really is a libtool archive.
	func_lalib_unsafe_p "$file" \
	  || func_fatal_help "\`$lib' is not a valid libtool archive"

	# Read the libtool library.
	dlname=
	library_names=
	func_source "$file"

	# Skip this library if it cannot be dlopened.
	if test -z "$dlname"; then
	  # Warn if it was a shared library.
	  test -n "$library_names" && \
	    func_warning "\`$file' was not linked with \`-export-dynamic'"
	  continue
	fi

	func_dirname "$file" "" "."
	dir="$func_dirname_result"

	if test -f "$dir/$objdir/$dlname"; then
	  dir="$dir/$objdir"
	else
	  if test ! -f "$dir/$dlname"; then
	    func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'"
	  fi
	fi
	;;

      *.lo)
	# Just add the directory containing the .lo file.
	func_dirname "$file" "" "."
	dir="$func_dirname_result"
	;;

      *)
	func_warning "\`-dlopen' is ignored for non-libtool libraries and objects"
	continue
	;;
      esac

      # Get the absolute pathname.
      absdir=`cd "$dir" && pwd`
      test -n "$absdir" && dir="$absdir"

      # Now add the directory to shlibpath_var.
      if eval "test -z \"\$$shlibpath_var\""; then
	eval "$shlibpath_var=\"\$dir\""
      else
	eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
      fi
    done

    # This variable tells wrapper scripts just to set shlibpath_var
    # rather than running their programs.
    libtool_execute_magic="$magic"

    # Check if any of the arguments is a wrapper script.
    args=
    for file
    do
      case $file in
      -*) ;;
      *)
	# Do a test to see if this is really a libtool program.
	if func_ltwrapper_script_p "$file"; then
	  func_source "$file"
	  # Transform arg to wrapped name.
	  file="$progdir/$program"
	elif func_ltwrapper_executable_p "$file"; then
	  func_ltwrapper_scriptname "$file"
	  func_source "$func_ltwrapper_scriptname_result"
	  # Transform arg to wrapped name.
	  file="$progdir/$program"
	fi
	;;
      esac
      # Quote arguments (to preserve shell metacharacters).
      func_quote_for_eval "$file"
      args="$args $func_quote_for_eval_result"
    done

    if test "X$opt_dry_run" = Xfalse; then
      if test -n "$shlibpath_var"; then
	# Export the shlibpath_var.
	eval "export $shlibpath_var"
      fi

      # Restore saved environment variables
      for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
      do
	eval "if test \"\${save_$lt_var+set}\" = set; then
                $lt_var=\$save_$lt_var; export $lt_var
	      else
		$lt_unset $lt_var
	      fi"
      done

      # Now prepare to actually exec the command.
      exec_cmd="\$cmd$args"
    else
      # Display what would be done.
      if test -n "$shlibpath_var"; then
	eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
	$ECHO "export $shlibpath_var"
      fi
      $ECHO "$cmd$args"
      exit $EXIT_SUCCESS
    fi
}

test "$mode" = execute && func_mode_execute ${1+"$@"}


# func_mode_finish arg...
func_mode_finish ()
{
    $opt_debug
    libdirs="$nonopt"
    admincmds=

    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
      for dir
      do
	libdirs="$libdirs $dir"
      done

      for libdir in $libdirs; do
	if test -n "$finish_cmds"; then
	  # Do each command in the finish commands.
	  func_execute_cmds "$finish_cmds" 'admincmds="$admincmds
'"$cmd"'"'
	fi
	if test -n "$finish_eval"; then
	  # Do the single finish_eval.
	  eval cmds=\"$finish_eval\"
	  $opt_dry_run || eval "$cmds" || admincmds="$admincmds
       $cmds"
	fi
      done
    fi

    # Exit here if they wanted silent mode.
    $opt_silent && exit $EXIT_SUCCESS

    $ECHO "X----------------------------------------------------------------------" | $Xsed
    $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:"
    if test -n "$shlibpath_var"; then
      $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"
    fi
    if test -n "$hardcode_libdir_flag_spec"; then
      libdir=LIBDIR
      eval flag=\"$hardcode_libdir_flag_spec\"

      $ECHO "   - use the \`$flag' linker flag"
    fi
    if test -n "$admincmds"; then
      $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'"
    fi
    $ECHO

    $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) and ld.so(8) manual pages."
        ;;
    esac
    $ECHO "X----------------------------------------------------------------------" | $Xsed
    exit $EXIT_SUCCESS
}

test "$mode" = finish && func_mode_finish ${1+"$@"}


# func_mode_install arg...
func_mode_install ()
{
    $opt_debug
    # There may be an optional sh(1) argument at the beginning of
    # 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
      # Aesthetically quote it.
      func_quote_for_eval "$nonopt"
      install_prog="$func_quote_for_eval_result "
      arg=$1
      shift
    else
      install_prog=
      arg=$nonopt
    fi

    # The real first argument should be the name of the installation program.
    # Aesthetically quote it.
    func_quote_for_eval "$arg"
    install_prog="$install_prog$func_quote_for_eval_result"

    # We need to accept at least all the BSD install flags.
    dest=
    files=
    opts=
    prev=
    install_type=
    isdir=no
    stripme=
    for arg
    do
      if test -n "$dest"; then
	files="$files $dest"
	dest=$arg
	continue
      fi

      case $arg in
      -d) isdir=yes ;;
      -f)
	case " $install_prog " in
	*[\\\ /]cp\ *) ;;
	*) prev=$arg ;;
	esac
	;;
      -g | -m | -o)
	prev=$arg
	;;
      -s)
	stripme=" -s"
	continue
	;;
      -*)
	;;
      *)
	# If the previous option needed an argument, then skip it.
	if test -n "$prev"; then
	  prev=
	else
	  dest=$arg
	  continue
	fi
	;;
      esac

      # Aesthetically quote the argument.
      func_quote_for_eval "$arg"
      install_prog="$install_prog $func_quote_for_eval_result"
    done

    test -z "$install_prog" && \
      func_fatal_help "you must specify an install program"

    test -n "$prev" && \
      func_fatal_help "the \`$prev' option requires an argument"

    if test -z "$files"; then
      if test -z "$dest"; then
	func_fatal_help "no file or destination specified"
      else
	func_fatal_help "you must specify a destination"
      fi
    fi

    # Strip any trailing slash from the destination.
    func_stripname '' '/' "$dest"
    dest=$func_stripname_result

    # Check to see that the destination is a directory.
    test -d "$dest" && isdir=yes
    if test "$isdir" = yes; then
      destdir="$dest"
      destname=
    else
      func_dirname_and_basename "$dest" "" "."
      destdir="$func_dirname_result"
      destname="$func_basename_result"

      # Not a directory, so check to see that there is only one file specified.
      set dummy $files; shift
      test "$#" -gt 1 && \
	func_fatal_help "\`$dest' is not a directory"
    fi
    case $destdir in
    [\\/]* | [A-Za-z]:[\\/]*) ;;
    *)
      for file in $files; do
	case $file in
	*.lo) ;;
	*)
	  func_fatal_help "\`$destdir' must be an absolute directory name"
	  ;;
	esac
      done
      ;;
    esac

    # This variable tells wrapper scripts just to set variables rather
    # than running their programs.
    libtool_install_magic="$magic"

    staticlibs=
    future_libdirs=
    current_libdirs=
    for file in $files; do

      # Do each installation.
      case $file in
      *.$libext)
	# Do the static libraries later.
	staticlibs="$staticlibs $file"
	;;

      *.la)
	# Check to see that this really is a libtool archive.
	func_lalib_unsafe_p "$file" \
	  || func_fatal_help "\`$file' is not a valid libtool archive"

	library_names=
	old_library=
	relink_command=
	func_source "$file"

	# Add the libdir to current_libdirs if it is the destination.
	if test "X$destdir" = "X$libdir"; then
	  case "$current_libdirs " in
	  *" $libdir "*) ;;
	  *) current_libdirs="$current_libdirs $libdir" ;;
	  esac
	else
	  # Note the libdir as a future libdir.
	  case "$future_libdirs " in
	  *" $libdir "*) ;;
	  *) future_libdirs="$future_libdirs $libdir" ;;
	  esac
	fi

	func_dirname "$file" "/" ""
	dir="$func_dirname_result"
	dir="$dir$objdir"

	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\$%%"`

	  # Don't allow the user to place us outside of our expected
	  # location b/c this prevents finding dependent libraries that
	  # are installed to the same prefix.
	  # At present, this check doesn't affect windows .dll's that
	  # are installed into $libdir/../bin (currently, that works fine)
	  # but it's something to keep an eye on.
	  test "$inst_prefix_dir" = "$destdir" && \
	    func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir"

	  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%"`
	  else
	    relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%%"`
	  fi

	  func_warning "relinking \`$file'"
	  func_show_eval "$relink_command" \
	    'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"'
	fi

	# See the names of the shared library.
	set dummy $library_names; shift
	if test -n "$1"; then
	  realname="$1"
	  shift

	  srcname="$realname"
	  test -n "$relink_command" && srcname="$realname"T

	  # Install the shared library and build the symlinks.
	  func_show_eval "$install_prog $dir/$srcname $destdir/$realname" \
	      'exit $?'
	  tstripme="$stripme"
	  case $host_os in
	  cygwin* | mingw* | pw32* | cegcc*)
	    case $realname in
	    *.dll.a)
	      tstripme=""
	      ;;
	    esac
	    ;;
	  esac
	  if test -n "$tstripme" && test -n "$striplib"; then
	    func_show_eval "$striplib $destdir/$realname" 'exit $?'
	  fi

	  if test "$#" -gt 0; then
	    # Delete the old symlinks, and create new ones.
	    # Try `ln -sf' first, because the `ln' binary might depend on
	    # the symlink we replace!  Solaris /bin/ln does not understand -f,
	    # so we also need to try rm && ln -s.
	    for linkname
	    do
	      test "$linkname" != "$realname" \
		&& func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })"
	    done
	  fi

	  # Do each command in the postinstall commands.
	  lib="$destdir/$realname"
	  func_execute_cmds "$postinstall_cmds" 'exit $?'
	fi

	# Install the pseudo-library for information purposes.
	func_basename "$file"
	name="$func_basename_result"
	instname="$dir/$name"i
	func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'

	# Maybe install the static library, too.
	test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
	;;

      *.lo)
	# Install (i.e. copy) a libtool object.

	# Figure out destination file name, if it wasn't already specified.
	if test -n "$destname"; then
	  destfile="$destdir/$destname"
	else
	  func_basename "$file"
	  destfile="$func_basename_result"
	  destfile="$destdir/$destfile"
	fi

	# Deduce the name of the destination old-style object file.
	case $destfile in
	*.lo)
	  func_lo2o "$destfile"
	  staticdest=$func_lo2o_result
	  ;;
	*.$objext)
	  staticdest="$destfile"
	  destfile=
	  ;;
	*)
	  func_fatal_help "cannot copy a libtool object to \`$destfile'"
	  ;;
	esac

	# Install the libtool object if requested.
	test -n "$destfile" && \
	  func_show_eval "$install_prog $file $destfile" 'exit $?'

	# Install the old object if enabled.
	if test "$build_old_libs" = yes; then
	  # Deduce the name of the old-style object file.
	  func_lo2o "$file"
	  staticobj=$func_lo2o_result
	  func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?'
	fi
	exit $EXIT_SUCCESS
	;;

      *)
	# Figure out destination file name, if it wasn't already specified.
	if test -n "$destname"; then
	  destfile="$destdir/$destname"
	else
	  func_basename "$file"
	  destfile="$func_basename_result"
	  destfile="$destdir/$destfile"
	fi

	# If the file is missing, and there is a .exe on the end, strip it
	# because it is most likely a libtool script we actually want to
	# install
	stripped_ext=""
	case $file in
	  *.exe)
	    if test ! -f "$file"; then
	      func_stripname '' '.exe' "$file"
	      file=$func_stripname_result
	      stripped_ext=".exe"
	    fi
	    ;;
	esac

	# Do a test to see if this is really a libtool program.
	case $host in
	*cygwin* | *mingw*)
	    if func_ltwrapper_executable_p "$file"; then
	      func_ltwrapper_scriptname "$file"
	      wrapper=$func_ltwrapper_scriptname_result
	    else
	      func_stripname '' '.exe' "$file"
	      wrapper=$func_stripname_result
	    fi
	    ;;
	*)
	    wrapper=$file
	    ;;
	esac
	if func_ltwrapper_script_p "$wrapper"; then
	  notinst_deplibs=
	  relink_command=

	  func_source "$wrapper"

	  # Check the variables that should have been set.
	  test -z "$generated_by_libtool_version" && \
	    func_fatal_error "invalid libtool wrapper script \`$wrapper'"

	  finalize=yes
	  for lib in $notinst_deplibs; do
	    # Check to see that each library is installed.
	    libdir=
	    if test -f "$lib"; then
	      func_source "$lib"
	    fi
	    libfile="$libdir/"`$ECHO "X$lib" | $Xsed -e '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
	    fi
	  done

	  relink_command=
	  func_source "$wrapper"

	  outputname=
	  if test "$fast_install" = no && test -n "$relink_command"; then
	    $opt_dry_run || {
	      if test "$finalize" = yes; then
	        tmpdir=`func_mktempdir`
		func_basename "$file$stripped_ext"
		file="$func_basename_result"
	        outputname="$tmpdir/$file"
	        # Replace the output file specification.
	        relink_command=`$ECHO "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`

	        $opt_silent || {
	          func_quote_for_expand "$relink_command"
		  eval "func_echo $func_quote_for_expand_result"
	        }
	        if eval "$relink_command"; then :
	          else
		  func_error "error: relink \`$file' with the above command before installing it"
		  $opt_dry_run || ${RM}r "$tmpdir"
		  continue
	        fi
	        file="$outputname"
	      else
	        func_warning "cannot relink \`$file'"
	      fi
	    }
	  else
	    # Install the binary that we compiled earlier.
	    file=`$ECHO "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
	  fi
	fi

	# remove .exe since cygwin /usr/bin/install will append another
	# one anyway
	case $install_prog,$host in
	*/usr/bin/install*,*cygwin*)
	  case $file:$destfile in
	  *.exe:*.exe)
	    # this is ok
	    ;;
	  *.exe:*)
	    destfile=$destfile.exe
	    ;;
	  *:*.exe)
	    func_stripname '' '.exe' "$destfile"
	    destfile=$func_stripname_result
	    ;;
	  esac
	  ;;
	esac
	func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?'
	$opt_dry_run || if test -n "$outputname"; then
	  ${RM}r "$tmpdir"
	fi
	;;
      esac
    done

    for file in $staticlibs; do
      func_basename "$file"
      name="$func_basename_result"

      # Set up the ranlib parameters.
      oldlib="$destdir/$name"

      func_show_eval "$install_prog \$file \$oldlib" 'exit $?'

      if test -n "$stripme" && test -n "$old_striplib"; then
	func_show_eval "$old_striplib $oldlib" 'exit $?'
      fi

      # Do each command in the postinstall commands.
      func_execute_cmds "$old_postinstall_cmds" 'exit $?'
    done

    test -n "$future_libdirs" && \
      func_warning "remember to run \`$progname --finish$future_libdirs'"

    if test -n "$current_libdirs"; then
      # Maybe just do a dry run.
      $opt_dry_run && current_libdirs=" -n$current_libdirs"
      exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
    else
      exit $EXIT_SUCCESS
    fi
}

test "$mode" = install && func_mode_install ${1+"$@"}


# func_generate_dlsyms outputname originator pic_p
# Extract symbols from dlprefiles and create ${outputname}S.o with
# a dlpreopen symbol table.
func_generate_dlsyms ()
{
    $opt_debug
    my_outputname="$1"
    my_originator="$2"
    my_pic_p="${3-no}"
    my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'`
    my_dlsyms=

    if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
      if test -n "$NM" && test -n "$global_symbol_pipe"; then
	my_dlsyms="${my_outputname}S.c"
      else
	func_error "not configured to extract global symbols from dlpreopened files"
      fi
    fi

    if test -n "$my_dlsyms"; then
      case $my_dlsyms in
      "") ;;
      *.c)
	# Discover the nlist of each of the dlfiles.
	nlist="$output_objdir/${my_outputname}.nm"

	func_show_eval "$RM $nlist ${nlist}S ${nlist}T"

	# Parse the name list into a source file.
	func_verbose "creating $output_objdir/$my_dlsyms"

	$opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\
/* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */
/* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */

#ifdef __cplusplus
extern \"C\" {
#endif

/* External symbol declarations for the compiler. */\
"

	if test "$dlself" = yes; then
	  func_verbose "generating symbol list for \`$output'"

	  $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`
	  for progfile in $progfiles; do
	    func_verbose "extracting global C symbols from \`$progfile'"
	    $opt_dry_run || eval "$NM $progfile | $global_symbol_pipe >> '$nlist'"
	  done

	  if test -n "$exclude_expsyms"; then
	    $opt_dry_run || {
	      eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
	      eval '$MV "$nlist"T "$nlist"'
	    }
	  fi

	  if test -n "$export_symbols_regex"; then
	    $opt_dry_run || {
	      eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
	      eval '$MV "$nlist"T "$nlist"'
	    }
	  fi

	  # Prepare the list of exported symbols
	  if test -z "$export_symbols"; then
	    export_symbols="$output_objdir/$outputname.exp"
	    $opt_dry_run || {
	      $RM $export_symbols
	      eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
	      case $host in
	      *cygwin* | *mingw* | *cegcc* )
                eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
                eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
	        ;;
	      esac
	    }
	  else
	    $opt_dry_run || {
	      eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
	      eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
	      eval '$MV "$nlist"T "$nlist"'
	      case $host in
	        *cygwin | *mingw* | *cegcc* )
	          eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
	          eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
	          ;;
	      esac
	    }
	  fi
	fi

	for dlprefile in $dlprefiles; do
	  func_verbose "extracting global C symbols from \`$dlprefile'"
	  func_basename "$dlprefile"
	  name="$func_basename_result"
	  $opt_dry_run || {
	    eval '$ECHO ": $name " >> "$nlist"'
	    eval "$NM $dlprefile 2>/dev/null | $global_symbol_pipe >> '$nlist'"
	  }
	done

	$opt_dry_run || {
	  # Make sure we have at least an empty file.
	  test -f "$nlist" || : > "$nlist"

	  if test -n "$exclude_expsyms"; then
	    $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
	    $MV "$nlist"T "$nlist"
	  fi

	  # Try sorting and uniquifying the output.
	  if $GREP -v "^: " < "$nlist" |
	      if sort -k 3 </dev/null >/dev/null 2>&1; then
		sort -k 3
	      else
		sort +2
	      fi |
	      uniq > "$nlist"S; then
	    :
	  else
	    $GREP -v "^: " < "$nlist" > "$nlist"S
	  fi

	  if test -f "$nlist"S; then
	    eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"'
	  else
	    $ECHO '/* NONE */' >> "$output_objdir/$my_dlsyms"
	  fi

	  $ECHO >> "$output_objdir/$my_dlsyms" "\

/* The mapping between symbol names and symbols.  */
typedef struct {
  const char *name;
  void *address;
} lt_dlsymlist;
"
	  case $host in
	  *cygwin* | *mingw* | *cegcc* )
	    $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= ;;
	  *osf5*)
	    echo >> "$output_objdir/$my_dlsyms" "\
/* This system does not cope well with relocations in const data */"
	    lt_dlsym_const= ;;
	  *)
	    lt_dlsym_const=const ;;
	  esac

	  $ECHO >> "$output_objdir/$my_dlsyms" "\
extern $lt_dlsym_const lt_dlsymlist
lt_${my_prefix}_LTX_preloaded_symbols[];
$lt_dlsym_const lt_dlsymlist
lt_${my_prefix}_LTX_preloaded_symbols[] =
{\
  { \"$my_originator\", (void *) 0 },"

	  case $need_lib_prefix in
	  no)
	    eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms"
	    ;;
	  *)
	    eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms"
	    ;;
	  esac
	  $ECHO >> "$output_objdir/$my_dlsyms" "\
  {0, (void *) 0}
};

/* This works around a problem in FreeBSD linker */
#ifdef FREEBSD_WORKAROUND
static const void *lt_preloaded_setup() {
  return lt_${my_prefix}_LTX_preloaded_symbols;
}
#endif

#ifdef __cplusplus
}
#endif\
"
	} # !$opt_dry_run

	pic_flag_for_symtable=
	case "$compile_command " in
	*" -static "*) ;;
	*)
	  case $host in
	  # compiling the symbol table file with pic_flag works around
	  # a FreeBSD bug that causes programs to crash when -lm is
	  # linked before any other PIC object.  But we must not use
	  # pic_flag when linking with -static.  The problem exists in
	  # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
	  *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
	    pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;;
	  *-*-hpux*)
	    pic_flag_for_symtable=" $pic_flag"  ;;
	  *)
	    if test "X$my_pic_p" != Xno; then
	      pic_flag_for_symtable=" $pic_flag"
	    fi
	    ;;
	  esac
	  ;;
	esac
	symtab_cflags=
	for arg in $LTCFLAGS; do
	  case $arg in
	  -pie | -fpie | -fPIE) ;;
	  *) symtab_cflags="$symtab_cflags $arg" ;;
	  esac
	done

	# Now compile the dynamic symbol file.
	func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?'

	# Clean up the generated files.
	func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"'

	# Transform the symbol file into the correct name.
	symfileobj="$output_objdir/${my_outputname}S.$objext"
	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%"`
	  else
	    compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
	    finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "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%"`
	  ;;
	esac
	;;
      *)
	func_fatal_error "unknown suffix for \`$my_dlsyms'"
	;;
      esac
    else
      # We keep going just in case the user didn't refer to
      # lt_preloaded_symbols.  The linker will fail if global_symbol_pipe
      # 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@%%"`
    fi
}

# func_win32_libid arg
# return the library type of file 'arg'
#
# 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.
func_win32_libid ()
{
  $opt_debug
  win32_libid_type="unknown"
  win32_fileres=`file -L $1 2>/dev/null`
  case $win32_fileres in
  *ar\ archive\ import\ library*) # definitely import
    win32_libid_type="x86 archive import"
    ;;
  *ar\ archive*) # could be an import, or static
    if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
       $EGREP 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
      win32_nmres=`eval $NM -f posix -A $1 |
	$SED -n -e '
	    1,100{
		/ I /{
		    s,.*,import,
		    p
		    q
		}
	    }'`
      case $win32_nmres in
      import*)  win32_libid_type="x86 archive import";;
      *)        win32_libid_type="x86 archive static";;
      esac
    fi
    ;;
  *DLL*)
    win32_libid_type="x86 DLL"
    ;;
  *executable*) # but shell scripts are "executable" too...
    case $win32_fileres in
    *MS\ Windows\ PE\ Intel*)
      win32_libid_type="x86 DLL"
      ;;
    esac
    ;;
  esac
  $ECHO "$win32_libid_type"
}



# func_extract_an_archive dir oldlib
func_extract_an_archive ()
{
    $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 ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
     :
    else
      func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib"
    fi
}


# func_extract_archives gentop oldlib ...
func_extract_archives ()
{
    $opt_debug
    my_gentop="$1"; shift
    my_oldlibs=${1+"$@"}
    my_oldobjs=""
    my_xlib=""
    my_xabs=""
    my_xdir=""

    for my_xlib in $my_oldlibs; do
      # Extract the objects.
      case $my_xlib in
	[\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
	*) my_xabs=`pwd`"/$my_xlib" ;;
      esac
      func_basename "$my_xlib"
      my_xlib="$func_basename_result"
      my_xlib_u=$my_xlib
      while :; do
        case " $extracted_archives " in
	*" $my_xlib_u "*)
	  func_arith $extracted_serial + 1
	  extracted_serial=$func_arith_result
	  my_xlib_u=lt$extracted_serial-$my_xlib ;;
	*) break ;;
	esac
      done
      extracted_archives="$extracted_archives $my_xlib_u"
      my_xdir="$my_gentop/$my_xlib_u"

      func_mkdir_p "$my_xdir"

      case $host in
      *-darwin*)
	func_verbose "Extracting $my_xabs"
	# Do not bother doing anything if just a dry run
	$opt_dry_run || {
	  darwin_orig_dir=`pwd`
	  cd $my_xdir || exit $?
	  darwin_archive=$my_xabs
	  darwin_curdir=`pwd`
	  darwin_base_archive=`basename "$darwin_archive"`
	  darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true`
	  if test -n "$darwin_arches"; then
	    darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'`
	    darwin_arch=
	    func_verbose "$darwin_base_archive has multiple architectures $darwin_arches"
	    for darwin_arch in  $darwin_arches ; do
	      func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
	      $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
	      cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
	      func_extract_an_archive "`pwd`" "${darwin_base_archive}"
	      cd "$darwin_curdir"
	      $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
	    done # $darwin_arches
            ## Okay now we've a bunch of thin objects, gotta fatten them up :)
	    darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u`
	    darwin_file=
	    darwin_files=
	    for darwin_file in $darwin_filelist; do
	      darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
	      $LIPO -create -output "$darwin_file" $darwin_files
	    done # $darwin_filelist
	    $RM -rf unfat-$$
	    cd "$darwin_orig_dir"
	  else
	    cd $darwin_orig_dir
	    func_extract_an_archive "$my_xdir" "$my_xabs"
	  fi # $darwin_arches
	} # !$opt_dry_run
	;;
      *)
        func_extract_an_archive "$my_xdir" "$my_xabs"
	;;
      esac
      my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
    done

    func_extract_archives_result="$my_oldobjs"
}



# func_emit_wrapper_part1 [arg=no]
#
# 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 ()
{
	func_emit_wrapper_part1_arg1=no
	if test -n "$1" ; then
	  func_emit_wrapper_part1_arg1=$1
	fi

	$ECHO "\
#! $SHELL

# $output - temporary wrapper script for $objdir/$outputname
# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
#
# The $output program cannot be directly executed until all the libtool
# libraries that it depends on are installed.
#
# This wrapper script should never be moved out of the build directory.
# If it is, it will not operate correctly.

# 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
if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
  emulate sh
  NULLCMD=:
  # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
  # is contrary to our usage.  Disable this feature.
  alias -g '\${1+\"\$@\"}'='\"\$@\"'
  setopt NO_GLOB_SUBST
else
  case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
fi
BIN_SH=xpg4; export BIN_SH # for Tru64
DUALCASE=1; export DUALCASE # for MKS sh

# 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

relink_command=\"$relink_command\"

# This environment variable determines our operation mode.
if test \"\$libtool_install_magic\" = \"$magic\"; then
  # install mode needs the following variables:
  generated_by_libtool_version='$macro_version'
  notinst_deplibs='$notinst_deplibs'
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\
"
	$ECHO "\

  # Find the directory that this script lives in.
  thisdir=\`\$ECHO \"X\$file\" | \$Xsed -e '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'\`
  while test -n \"\$file\"; do
    destdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`

    # If there was a directory component, then change thisdir.
    if test \"x\$destdir\" != \"x\$file\"; then
      case \"\$destdir\" in
      [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
      *) thisdir=\"\$thisdir/\$destdir\" ;;
      esac
    fi

    file=\`\$ECHO \"X\$file\" | \$Xsed -e '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
  if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then
    # special case for '.'
    if test \"\$thisdir\" = \".\"; then
      thisdir=\`pwd\`
    fi
    # remove .libs from thisdir
    case \"\$thisdir\" in
    *[\\\\/]$objdir ) thisdir=\`\$ECHO \"X\$thisdir\" | \$Xsed -e 's%[\\\\/][^\\\\/]*$%%'\` ;;
    $objdir )   thisdir=. ;;
    esac
  fi

  # Try to get the absolute directory name.
  absdir=\`cd \"\$thisdir\" && pwd\`
  test -n \"\$absdir\" && thisdir=\"\$absdir\"
"

	if test "$fast_install" = yes; then
	  $ECHO "\
  program=lt-'$outputname'$exeext
  progdir=\"\$thisdir/$objdir\"

  if test ! -f \"\$progdir/\$program\" ||
     { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
       test \"X\$file\" != \"X\$progdir/\$program\"; }; then

    file=\"\$\$-\$program\"

    if test ! -d \"\$progdir\"; then
      $MKDIR \"\$progdir\"
    else
      $RM \"\$progdir/\$file\"
    fi"

	  $ECHO "\

    # relink executable if necessary
    if test -n \"\$relink_command\"; then
      if relink_command_output=\`eval \$relink_command 2>&1\`; then :
      else
	$ECHO \"\$relink_command_output\" >&2
	$RM \"\$progdir/\$file\"
	exit 1
      fi
    fi

    $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
    { $RM \"\$progdir/\$program\";
      $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; }
    $RM \"\$progdir/\$file\"
  fi"
	else
	  $ECHO "\
  program='$outputname'
  progdir=\"\$thisdir/$objdir\"
"
	fi

	$ECHO "\

  if test -f \"\$progdir/\$program\"; then"

	# Export our shlibpath_var if we have one.
	if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
	  $ECHO "\
    # Add our own library path to $shlibpath_var
    $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"

    # 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/::*\$//'\`

    export $shlibpath_var
"
	fi

	# fixup the dll searchpath if we need to.
	if test -n "$dllsearchpath"; then
	  $ECHO "\
    # Add the dll search path components to the executable PATH
    PATH=$dllsearchpath:\$PATH
"
	fi

	$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
    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
    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
#
# Convert paths to host format when used with build tools.
# Intended for use with "native" mingw (where libtool itself
# is running under the msys shell), or in the following cross-
# build environments:
#    $build          $host
#    mingw (msys)    mingw  [e.g. native]
#    cygwin          mingw
#    *nix + wine     mingw
# where wine is equipped with the `winepath' executable.
# In the native mingw case, the (msys) shell automatically
# converts paths for any non-msys applications it launches,
# but that facility isn't available from inside the cwrapper.
# Similar accommodations are necessary for $host mingw and
# $build cygwin.  Calling this function does no harm for other
# $host/$build combinations not listed above.
#
# ARG is the path (on $build) that should be converted to
# the proper representation for $host. The result is stored
# in $func_to_host_path_result.
func_to_host_path ()
{
  func_to_host_path_result="$1"
  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"`
            ;;
          *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"`
            ;;
          * )
            # Unfortunately, winepath does not exit with a non-zero
            # error code, so we are forced to check the contents of
            # stdout. On the other hand, if the command is not
            # found, the shell will set an exit code of 127 and print
            # *an error message* to stdout. So we must check for both
            # error code of zero AND non-empty stdout, which explains
            # 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" |\
                $SED -e "$lt_sed_naive_backslashify"`
            else
              # Allow warning below.
              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 "Continuing, but uninstalled executables may not work."
          # Fallback:
          func_to_host_path_result="$1"
        fi
        ;;
    esac
  fi
}
# end: func_to_host_path

# func_to_host_pathlist arg
#
# Convert pathlists to host format when used with build tools.
# See func_to_host_path(), above. This function supports the
# following $build/$host combinations (but does no harm for
# combinations not listed here):
#    $build          $host
#    mingw (msys)    mingw  [e.g. native]
#    cygwin          mingw
#    *nix + wine     mingw
#
# Path separators are also converted from $build format to
# $host format. If ARG begins or ends with a path separator
# character, it is preserved (but converted to $host format)
# on output.
#
# ARG is a pathlist (on $build) that should be converted to
# the proper representation on $host. The result is stored
# in $func_to_host_pathlist_result.
func_to_host_pathlist ()
{
  func_to_host_pathlist_result="$1"
  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|:*$||'`
        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"`
            ;;
          *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" |\
              $SED -e "$lt_sed_naive_backslashify"`
            ;;
          * )
            # unfortunately, winepath doesn't convert pathlists
            func_to_host_pathlist_result=""
            func_to_host_pathlist_oldIFS=$IFS
            IFS=:
            for func_to_host_pathlist_f in $func_to_host_pathlist_tmp1 ; do
              IFS=$func_to_host_pathlist_oldIFS
              if test -n "$func_to_host_pathlist_f" ; then
                func_to_host_path "$func_to_host_pathlist_f"
                if test -n "$func_to_host_path_result" ; then
                  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"
                  fi
                fi
              fi
              IFS=:
            done
            IFS=$func_to_host_pathlist_oldIFS
            ;;
        esac
        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 "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
          # below, but for the user to provide a working wine installation
          # with winepath so that path translation in the cross-to-mingw
          # case works properly.
          lt_replace_pathsep_nix_to_dos="s|:|;|g"
          func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp1" |\
            $SED -e "$lt_replace_pathsep_nix_to_dos"`
        fi
        # Now, add the leading and trailing path separators back
        case "$1" in
          :* ) func_to_host_pathlist_result=";$func_to_host_pathlist_result"
            ;;
        esac
        case "$1" in
          *: ) func_to_host_pathlist_result="$func_to_host_pathlist_result;"
            ;;
        esac
        ;;
    esac
  fi
}
# end: func_to_host_pathlist

# func_emit_cwrapperexe_src
# emit the source code for a wrapper executable on stdout
# Must ONLY be called from within func_mode_link because
# it depends on a number of variable set therein.
func_emit_cwrapperexe_src ()
{
	cat <<EOF

/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
   Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION

   The $output program cannot be directly executed until all the libtool
   libraries that it depends on are installed.

   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"
#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 <stdarg.h>
#include <assert.h>
#include <string.h>
#include <ctype.h>
#include <errno.h>
#include <fcntl.h>
#include <sys/stat.h>

#if defined(PATH_MAX)
# define LT_PATHMAX PATH_MAX
#elif defined(MAXPATHLEN)
# define LT_PATHMAX MAXPATHLEN
#else
# define LT_PATHMAX 1024
#endif

#ifndef S_IXOTH
# define S_IXOTH 0
#endif
#ifndef S_IXGRP
# 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

#ifndef DIR_SEPARATOR
# define DIR_SEPARATOR '/'
# define PATH_SEPARATOR ':'
#endif

#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
  defined (__OS2__)
# define HAVE_DOS_BASED_FILE_SYSTEM
# define FOPEN_WB "wb"
# ifndef DIR_SEPARATOR_2
#  define DIR_SEPARATOR_2 '\\'
# endif
# ifndef PATH_SEPARATOR_2
#  define PATH_SEPARATOR_2 ';'
# endif
#endif

#ifndef DIR_SEPARATOR_2
# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
#else /* DIR_SEPARATOR_2 */
# define IS_DIR_SEPARATOR(ch) \
	(((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
#endif /* DIR_SEPARATOR_2 */

#ifndef PATH_SEPARATOR_2
# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
#else /* PATH_SEPARATOR_2 */
# 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
#ifndef _O_BINARY
# define _O_BINARY 0
#endif

#define XMALLOC(type, num)      ((type *) xmalloc ((num) * sizeof(type)))
#define XFREE(stale) do { \
  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);
}
#else
# define LTWRAPPER_DEBUGPRINTF(args)
#endif

const char *program_name = NULL;

void *xmalloc (size_t num);
char *xstrdup (const char *string);
const char *base_name (const char *name);
char *find_executable (const char *wrapper);
char *chase_symlinks (const char *pathspec);
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_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 =
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";
const char * LIB_PATH_VARNAME = "$shlibpath_var";
EOF

	    if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
              func_to_host_pathlist "$temp_rpath"
	      cat <<EOF
const char * LIB_PATH_VALUE   = "$func_to_host_pathlist_result";
EOF
	    else
	      cat <<"EOF"
const char * LIB_PATH_VALUE   = "";
EOF
	    fi

	    if test -n "$dllsearchpath"; then
              func_to_host_pathlist "$dllsearchpath:"
	      cat <<EOF
const char * EXE_PATH_VARNAME = "PATH";
const char * EXE_PATH_VALUE   = "$func_to_host_pathlist_result";
EOF
	    else
	      cat <<"EOF"
const char * EXE_PATH_VARNAME = "";
const char * EXE_PATH_VALUE   = "";
EOF
	    fi

	    if test "$fast_install" = yes; then
	      cat <<EOF
const char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */
EOF
	    else
	      cat <<EOF
const char * TARGET_PROGRAM_NAME = "$outputname"; /* hopefully, no .exe */
EOF
	    fi


	    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 */

int
main (int argc, char *argv[])
{
  char **newargz;
  int  newargc;
  char *tmp_pathspec;
  char *actual_cwrapper_path;
  char *actual_cwrapper_name;
  char *target_name;
  char *lt_argv_zero;
  intptr_t rval = 127;

  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));

  /* very simple arg parsing; don't want to rely on getopt */
  for (i = 1; i < argc; i++)
    {
      if (strcmp (argv[i], dumpscript_opt) == 0)
	{
EOF
	    case "$host" in
	      *mingw* | *cygwin* )
		# make stdout use "unix" line endings
		echo "          setmode(1,_O_BINARY);"
		;;
	      esac

	    cat <<"EOF"
	  printf ("%s", script_text_part1);
	  printf ("%s", script_text_part2);
	  return 0;
	}
    }

  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));

  actual_cwrapper_path = chase_symlinks (tmp_pathspec);
  LTWRAPPER_DEBUGPRINTF (("(main) found exe (after symlink chase) at : %s\n",
			  actual_cwrapper_path));
  XFREE (tmp_pathspec);

  actual_cwrapper_name = xstrdup( base_name (actual_cwrapper_path));
  strendzap (actual_cwrapper_path, actual_cwrapper_name);

  /* wrapper name transforms */
  strendzap (actual_cwrapper_name, ".exe");
  tmp_pathspec = lt_extend_str (actual_cwrapper_name, ".exe", 1);
  XFREE (actual_cwrapper_name);
  actual_cwrapper_name = tmp_pathspec;
  tmp_pathspec = 0;

  /* target_name transforms -- use actual target program name; might have lt- prefix */
  target_name = xstrdup (base_name (TARGET_PROGRAM_NAME));
  strendzap (target_name, ".exe");
  tmp_pathspec = lt_extend_str (target_name, ".exe", 1);
  XFREE (target_name);
  target_name = tmp_pathspec;
  tmp_pathspec = 0;

  LTWRAPPER_DEBUGPRINTF (("(main) libtool target name: %s\n",
			  target_name));
EOF

	    cat <<EOF
  newargz[0] =
    XMALLOC (char, (strlen (actual_cwrapper_path) +
		    strlen ("$objdir") + 1 + strlen (actual_cwrapper_name) + 1));
  strcpy (newargz[0], actual_cwrapper_path);
  strcat (newargz[0], "$objdir");
  strcat (newargz[0], "/");
EOF

	    cat <<"EOF"
  /* stop here, and copy so we don't have to do this twice */
  tmp_pathspec = xstrdup (newargz[0]);

  /* do NOT want the lt- prefix here, so use actual_cwrapper_name */
  strcat (newargz[0], actual_cwrapper_name);

  /* DO want the lt- prefix here if it exists, so use target_name */
  lt_argv_zero = lt_extend_str (tmp_pathspec, target_name, 1);
  XFREE (tmp_pathspec);
  tmp_pathspec = NULL;
EOF

	    case $host_os in
	      mingw*)
	    cat <<"EOF"
  {
    char* p;
    while ((p = strchr (newargz[0], '\\')) != NULL)
      {
	*p = '/';
      }
    while ((p = strchr (lt_argv_zero, '\\')) != NULL)
      {
	*p = '/';
      }
  }
EOF
	    ;;
	    esac

	    cat <<"EOF"
  XFREE (target_name);
  XFREE (actual_cwrapper_path);
  XFREE (actual_cwrapper_name);

  lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */
  lt_setenv ("DUALCASE", "1");  /* for MSK sh */
  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>")));
  for (i = 0; i < newargc; i++)
    {
      LTWRAPPER_DEBUGPRINTF (("(main) newargz[%d]   : %s\n", i, (newargz[i] ? newargz[i] : "<NULL>")));
    }

EOF

	    case $host_os in
	      mingw*)
		cat <<"EOF"
  /* execv doesn't actually work on mingw as expected on unix */
  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));
      return 127;
    }
  return rval;
EOF
		;;
	      *)
		cat <<"EOF"
  execv (lt_argv_zero, newargz);
  return rval; /* =127, but avoids unused variable warning */
EOF
		;;
	    esac

	    cat <<"EOF"
}

void *
xmalloc (size_t num)
{
  void *p = (void *) malloc (num);
  if (!p)
    lt_fatal ("Memory exhausted");

  return p;
}

char *
xstrdup (const char *string)
{
  return string ? strcpy ((char *) xmalloc (strlen (string) + 1),
			  string) : NULL;
}

const char *
base_name (const char *name)
{
  const char *base;

#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
  /* Skip over the disk name in MSDOS pathnames. */
  if (isalpha ((unsigned char) name[0]) && name[1] == ':')
    name += 2;
#endif

  for (base = name; *name; name++)
    if (IS_DIR_SEPARATOR (*name))
      base = name + 1;
  return base;
}

int
check_executable (const char *path)
{
  struct stat st;

  LTWRAPPER_DEBUGPRINTF (("(check_executable)  : %s\n",
			  path ? (*path ? path : "EMPTY!") : "NULL!"));
  if ((!path) || (!*path))
    return 0;

  if ((stat (path, &st) >= 0)
      && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)))
    return 1;
  else
    return 0;
}

int
make_executable (const char *path)
{
  int rval = 0;
  struct stat st;

  LTWRAPPER_DEBUGPRINTF (("(make_executable)   : %s\n",
			  path ? (*path ? path : "EMPTY!") : "NULL!"));
  if ((!path) || (!*path))
    return 0;

  if (stat (path, &st) >= 0)
    {
      rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR);
    }
  return rval;
}

/* Searches for the full path of the wrapper.  Returns
   newly allocated full path name if found, NULL otherwise
   Does not chase symlinks, even on platforms that support them.
*/
char *
find_executable (const char *wrapper)
{
  int has_slash = 0;
  const char *p;
  const char *p_next;
  /* static buffer for getcwd */
  char tmp[LT_PATHMAX + 1];
  int tmp_len;
  char *concat_name;

  LTWRAPPER_DEBUGPRINTF (("(find_executable)   : %s\n",
			  wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"));

  if ((wrapper == NULL) || (*wrapper == '\0'))
    return NULL;

  /* Absolute path? */
#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
  if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':')
    {
      concat_name = xstrdup (wrapper);
      if (check_executable (concat_name))
	return concat_name;
      XFREE (concat_name);
    }
  else
    {
#endif
      if (IS_DIR_SEPARATOR (wrapper[0]))
	{
	  concat_name = xstrdup (wrapper);
	  if (check_executable (concat_name))
	    return concat_name;
	  XFREE (concat_name);
	}
#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
    }
#endif

  for (p = wrapper; *p; p++)
    if (*p == '/')
      {
	has_slash = 1;
	break;
      }
  if (!has_slash)
    {
      /* no slashes; search PATH */
      const char *path = getenv ("PATH");
      if (path != NULL)
	{
	  for (p = path; *p; p = p_next)
	    {
	      const char *q;
	      size_t p_len;
	      for (q = p; *q; q++)
		if (IS_PATH_SEPARATOR (*q))
		  break;
	      p_len = q - p;
	      p_next = (*q == '\0' ? q : q + 1);
	      if (p_len == 0)
		{
		  /* empty path: current directory */
		  if (getcwd (tmp, LT_PATHMAX) == NULL)
		    lt_fatal ("getcwd failed");
		  tmp_len = strlen (tmp);
		  concat_name =
		    XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
		  memcpy (concat_name, tmp, tmp_len);
		  concat_name[tmp_len] = '/';
		  strcpy (concat_name + tmp_len + 1, wrapper);
		}
	      else
		{
		  concat_name =
		    XMALLOC (char, p_len + 1 + strlen (wrapper) + 1);
		  memcpy (concat_name, p, p_len);
		  concat_name[p_len] = '/';
		  strcpy (concat_name + p_len + 1, wrapper);
		}
	      if (check_executable (concat_name))
		return concat_name;
	      XFREE (concat_name);
	    }
	}
      /* not found in PATH; assume curdir */
    }
  /* Relative path | not found in path: prepend cwd */
  if (getcwd (tmp, LT_PATHMAX) == NULL)
    lt_fatal ("getcwd failed");
  tmp_len = strlen (tmp);
  concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
  memcpy (concat_name, tmp, tmp_len);
  concat_name[tmp_len] = '/';
  strcpy (concat_name + tmp_len + 1, wrapper);

  if (check_executable (concat_name))
    return concat_name;
  XFREE (concat_name);
  return NULL;
}

char *
chase_symlinks (const char *pathspec)
{
#ifndef S_ISLNK
  return xstrdup (pathspec);
#else
  char buf[LT_PATHMAX];
  struct stat s;
  char *tmp_pathspec = xstrdup (pathspec);
  char *p;
  int has_symlinks = 0;
  while (strlen (tmp_pathspec) && !has_symlinks)
    {
      LTWRAPPER_DEBUGPRINTF (("checking path component for symlinks: %s\n",
			      tmp_pathspec));
      if (lstat (tmp_pathspec, &s) == 0)
	{
	  if (S_ISLNK (s.st_mode) != 0)
	    {
	      has_symlinks = 1;
	      break;
	    }

	  /* search backwards for last DIR_SEPARATOR */
	  p = tmp_pathspec + strlen (tmp_pathspec) - 1;
	  while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
	    p--;
	  if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
	    {
	      /* no more DIR_SEPARATORS left */
	      break;
	    }
	  *p = '\0';
	}
      else
	{
	  char *errstr = strerror (errno);
	  lt_fatal ("Error accessing file %s (%s)", tmp_pathspec, errstr);
	}
    }
  XFREE (tmp_pathspec);

  if (!has_symlinks)
    {
      return xstrdup (pathspec);
    }

  tmp_pathspec = realpath (pathspec, buf);
  if (tmp_pathspec == 0)
    {
      lt_fatal ("Could not follow symlinks for %s", pathspec);
    }
  return xstrdup (tmp_pathspec);
#endif
}

char *
strendzap (char *str, const char *pat)
{
  size_t len, patlen;

  assert (str != NULL);
  assert (pat != NULL);

  len = strlen (str);
  patlen = strlen (pat);

  if (patlen <= len)
    {
      str += len - patlen;
      if (strcmp (str, pat) == 0)
	*str = '\0';
    }
  return str;
}

static void
lt_error_core (int exit_status, const char *mode,
	       const char *message, va_list ap)
{
  fprintf (stderr, "%s: %s: ", program_name, mode);
  vfprintf (stderr, message, ap);
  fprintf (stderr, ".\n");

  if (exit_status >= 0)
    exit (exit_status);
}

void
lt_fatal (const char *message, ...)
{
  va_list ap;
  va_start (ap, message);
  lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
  va_end (ap);
}

void
lt_setenv (const char *name, const char *value)
{
  LTWRAPPER_DEBUGPRINTF (("(lt_setenv) setting '%s' to '%s'\n",
                          (name ? name : "<NULL>"),
                          (value ? value : "<NULL>")));
  {
#ifdef HAVE_SETENV
    /* always make a copy, for consistency with !HAVE_SETENV */
    char *str = xstrdup (value);
    setenv (name, str, 1);
#else
    int len = strlen (name) + 1 + strlen (value) + 1;
    char *str = XMALLOC (char, len);
    sprintf (str, "%s=%s", name, value);
    if (putenv (str) != EXIT_SUCCESS)
      {
        XFREE (str);
      }
#endif
  }
}

char *
lt_extend_str (const char *orig_value, const char *add, int to_end)
{
  char *new_value;
  if (orig_value && *orig_value)
    {
      int orig_value_len = strlen (orig_value);
      int add_len = strlen (add);
      new_value = XMALLOC (char, add_len + orig_value_len + 1);
      if (to_end)
        {
          strcpy (new_value, orig_value);
          strcpy (new_value + orig_value_len, add);
        }
      else
        {
          strcpy (new_value, add);
          strcpy (new_value + add_len, orig_value);
        }
    }
  else
    {
      new_value = xstrdup (add);
    }
  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>")));

  if (name && *name && value && *value)
    {
      char *new_value = lt_extend_str (getenv (name), value, 0);
      /* some systems can't cope with a ':'-terminated path #' */
      int len = strlen (new_value);
      while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1]))
        {
          new_value[len-1] = '\0';
        }
      lt_setenv (name, new_value);
      XFREE (new_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>")));

  if (name && *name && value && *value)
    {
      char *new_value = lt_extend_str (getenv (name), value, 0);
      lt_setenv (name, new_value);
      XFREE (new_value);
    }
}


EOF
}
# end: func_emit_cwrapperexe_src

# func_mode_link arg...
func_mode_link ()
{
    $opt_debug
    case $host in
    *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
      # It is impossible to link a dll without this setting, and
      # we shouldn't force the makefile maintainer to figure out
      # which system we are compiling for in order to pass an extra
      # flag for every libtool invocation.
      # allow_undefined=no

      # FIXME: Unfortunately, there are problems with the above when trying
      # to make a dll which has undefined symbols, in which case not
      # even a static library is built.  For now, we need to specify
      # -no-undefined on the libtool link line when we can be certain
      # that all symbols are satisfied, otherwise we get a static library.
      allow_undefined=yes
      ;;
    *)
      allow_undefined=yes
      ;;
    esac
    libtool_args=$nonopt
    base_compile="$nonopt $@"
    compile_command=$nonopt
    finalize_command=$nonopt

    compile_rpath=
    finalize_rpath=
    compile_shlibpath=
    finalize_shlibpath=
    convenience=
    old_convenience=
    deplibs=
    old_deplibs=
    compiler_flags=
    linker_flags=
    dllsearchpath=
    lib_search_path=`pwd`
    inst_prefix_dir=
    new_inherited_linker_flags=

    avoid_version=no
    dlfiles=
    dlprefiles=
    dlself=no
    export_dynamic=no
    export_symbols=
    export_symbols_regex=
    generated=
    libobjs=
    ltlibs=
    module=no
    no_install=no
    objs=
    non_pic_objects=
    precious_files_regex=
    prefer_static_libs=no
    preload=no
    prev=
    prevarg=
    release=
    rpath=
    xrpath=
    perm_rpath=
    temp_rpath=
    thread_safe=no
    vinfo=
    vinfo_number=no
    weak_libs=
    single_module="${wl}-single_module"
    func_infer_tag $base_compile

    # We need to know -static, to get the right output filenames.
    for arg
    do
      case $arg in
      -shared)
	test "$build_libtool_libs" != yes && \
	  func_fatal_configuration "can not build a shared library"
	build_old_libs=no
	break
	;;
      -all-static | -static | -static-libtool-libs)
	case $arg in
	-all-static)
	  if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
	    func_warning "complete static linking is impossible in this configuration"
	  fi
	  if test -n "$link_static_flag"; then
	    dlopen_self=$dlopen_self_static
	  fi
	  prefer_static_libs=yes
	  ;;
	-static)
	  if test -z "$pic_flag" && test -n "$link_static_flag"; then
	    dlopen_self=$dlopen_self_static
	  fi
	  prefer_static_libs=built
	  ;;
	-static-libtool-libs)
	  if test -z "$pic_flag" && test -n "$link_static_flag"; then
	    dlopen_self=$dlopen_self_static
	  fi
	  prefer_static_libs=yes
	  ;;
	esac
	build_libtool_libs=no
	build_old_libs=yes
	break
	;;
      esac
    done

    # See if our shared archives depend on static archives.
    test -n "$old_archive_from_new_cmds" && build_old_libs=yes

    # Go through the arguments, transforming them on the way.
    while test "$#" -gt 0; do
      arg="$1"
      shift
      func_quote_for_eval "$arg"
      qarg=$func_quote_for_eval_unquoted_result
      func_append libtool_args " $func_quote_for_eval_result"

      # If the previous option needs an argument, assign it.
      if test -n "$prev"; then
	case $prev in
	output)
	  func_append compile_command " @OUTPUT@"
	  func_append finalize_command " @OUTPUT@"
	  ;;
	esac

	case $prev in
	dlfiles|dlprefiles)
	  if test "$preload" = no; then
	    # Add the symbol object into the linking commands.
	    func_append compile_command " @SYMFILE@"
	    func_append finalize_command " @SYMFILE@"
	    preload=yes
	  fi
	  case $arg in
	  *.la | *.lo) ;;  # We handle these cases below.
	  force)
	    if test "$dlself" = no; then
	      dlself=needless
	      export_dynamic=yes
	    fi
	    prev=
	    continue
	    ;;
	  self)
	    if test "$prev" = dlprefiles; then
	      dlself=yes
	    elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
	      dlself=yes
	    else
	      dlself=needless
	      export_dynamic=yes
	    fi
	    prev=
	    continue
	    ;;
	  *)
	    if test "$prev" = dlfiles; then
	      dlfiles="$dlfiles $arg"
	    else
	      dlprefiles="$dlprefiles $arg"
	    fi
	    prev=
	    continue
	    ;;
	  esac
	  ;;
	expsyms)
	  export_symbols="$arg"
	  test -f "$arg" \
	    || func_fatal_error "symbol file \`$arg' does not exist"
	  prev=
	  continue
	  ;;
	expsyms_regex)
	  export_symbols_regex="$arg"
	  prev=
	  continue
	  ;;
	framework)
	  case $host in
	    *-*-darwin*)
	      case "$deplibs " in
		*" $qarg.ltframework "*) ;;
		*) deplibs="$deplibs $qarg.ltframework" # this is fixed later
		   ;;
	      esac
	      ;;
	  esac
	  prev=
	  continue
	  ;;
	inst_prefix)
	  inst_prefix_dir="$arg"
	  prev=
	  continue
	  ;;
	objectlist)
	  if test -f "$arg"; then
	    save_arg=$arg
	    moreargs=
	    for fil in `cat "$save_arg"`
	    do
#	      moreargs="$moreargs $fil"
	      arg=$fil
	      # A libtool-controlled object.

	      # Check to see that this really is a libtool object.
	      if func_lalib_unsafe_p "$arg"; then
		pic_object=
		non_pic_object=

		# Read the .lo file
		func_source "$arg"

		if test -z "$pic_object" ||
		   test -z "$non_pic_object" ||
		   test "$pic_object" = none &&
		   test "$non_pic_object" = none; then
		  func_fatal_error "cannot find name of object for \`$arg'"
		fi

		# Extract subdirectory from the argument.
		func_dirname "$arg" "/" ""
		xdir="$func_dirname_result"

		if test "$pic_object" != none; then
		  # Prepend the subdirectory the object is found in.
		  pic_object="$xdir$pic_object"

		  if test "$prev" = dlfiles; then
		    if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
		      dlfiles="$dlfiles $pic_object"
		      prev=
		      continue
		    else
		      # If libtool objects are unsupported, then we need to preload.
		      prev=dlprefiles
		    fi
		  fi

		  # CHECK ME:  I think I busted this.  -Ossama
		  if test "$prev" = dlprefiles; then
		    # Preload the old-style object.
		    dlprefiles="$dlprefiles $pic_object"
		    prev=
		  fi

		  # A PIC object.
		  func_append libobjs " $pic_object"
		  arg="$pic_object"
		fi

		# Non-PIC object.
		if test "$non_pic_object" != none; then
		  # Prepend the subdirectory the object is found in.
		  non_pic_object="$xdir$non_pic_object"

		  # A standard non-PIC object
		  func_append non_pic_objects " $non_pic_object"
		  if test -z "$pic_object" || test "$pic_object" = none ; then
		    arg="$non_pic_object"
		  fi
		else
		  # If the PIC object exists, use it instead.
		  # $xdir was prepended to $pic_object above.
		  non_pic_object="$pic_object"
		  func_append non_pic_objects " $non_pic_object"
		fi
	      else
		# Only an error if not doing a dry-run.
		if $opt_dry_run; then
		  # Extract subdirectory from the argument.
		  func_dirname "$arg" "/" ""
		  xdir="$func_dirname_result"

		  func_lo2o "$arg"
		  pic_object=$xdir$objdir/$func_lo2o_result
		  non_pic_object=$xdir$func_lo2o_result
		  func_append libobjs " $pic_object"
		  func_append non_pic_objects " $non_pic_object"
	        else
		  func_fatal_error "\`$arg' is not a valid libtool object"
		fi
	      fi
	    done
	  else
	    func_fatal_error "link input file \`$arg' does not exist"
	  fi
	  arg=$save_arg
	  prev=
	  continue
	  ;;
	precious_regex)
	  precious_files_regex="$arg"
	  prev=
	  continue
	  ;;
	release)
	  release="-$arg"
	  prev=
	  continue
	  ;;
	rpath | xrpath)
	  # We need an absolute path.
	  case $arg in
	  [\\/]* | [A-Za-z]:[\\/]*) ;;
	  *)
	    func_fatal_error "only absolute run-paths are allowed"
	    ;;
	  esac
	  if test "$prev" = rpath; then
	    case "$rpath " in
	    *" $arg "*) ;;
	    *) rpath="$rpath $arg" ;;
	    esac
	  else
	    case "$xrpath " in
	    *" $arg "*) ;;
	    *) xrpath="$xrpath $arg" ;;
	    esac
	  fi
	  prev=
	  continue
	  ;;
	shrext)
	  shrext_cmds="$arg"
	  prev=
	  continue
	  ;;
	weak)
	  weak_libs="$weak_libs $arg"
	  prev=
	  continue
	  ;;
	xcclinker)
	  linker_flags="$linker_flags $qarg"
	  compiler_flags="$compiler_flags $qarg"
	  prev=
	  func_append compile_command " $qarg"
	  func_append finalize_command " $qarg"
	  continue
	  ;;
	xcompiler)
	  compiler_flags="$compiler_flags $qarg"
	  prev=
	  func_append compile_command " $qarg"
	  func_append finalize_command " $qarg"
	  continue
	  ;;
	xlinker)
	  linker_flags="$linker_flags $qarg"
	  compiler_flags="$compiler_flags $wl$qarg"
	  prev=
	  func_append compile_command " $wl$qarg"
	  func_append finalize_command " $wl$qarg"
	  continue
	  ;;
	*)
	  eval "$prev=\"\$arg\""
	  prev=
	  continue
	  ;;
	esac
      fi # test -n "$prev"

      prevarg="$arg"

      case $arg in
      -all-static)
	if test -n "$link_static_flag"; then
	  # See comment for -static flag below, for more details.
	  func_append compile_command " $link_static_flag"
	  func_append finalize_command " $link_static_flag"
	fi
	continue
	;;

      -allow-undefined)
	# FIXME: remove this flag sometime in the future.
	func_fatal_error "\`-allow-undefined' must not be used because it is the default"
	;;

      -avoid-version)
	avoid_version=yes
	continue
	;;

      -dlopen)
	prev=dlfiles
	continue
	;;

      -dlpreopen)
	prev=dlprefiles
	continue
	;;

      -export-dynamic)
	export_dynamic=yes
	continue
	;;

      -export-symbols | -export-symbols-regex)
	if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
	  func_fatal_error "more than one -exported-symbols argument is not allowed"
	fi
	if test "X$arg" = "X-export-symbols"; then
	  prev=expsyms
	else
	  prev=expsyms_regex
	fi
	continue
	;;

      -framework)
	prev=framework
	continue
	;;

      -inst-prefix-dir)
	prev=inst_prefix
	continue
	;;

      # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
      # so, if we see these flags be careful not to treat them like -L
      -L[A-Z][A-Z]*:*)
	case $with_gcc/$host in
	no/*-*-irix* | /*-*-irix*)
	  func_append compile_command " $arg"
	  func_append finalize_command " $arg"
	  ;;
	esac
	continue
	;;

      -L*)
	func_stripname '-L' '' "$arg"
	dir=$func_stripname_result
	if test -z "$dir"; then
	  if test "$#" -gt 0; then
	    func_fatal_error "require no space between \`-L' and \`$1'"
	  else
	    func_fatal_error "need path for \`-L' option"
	  fi
	fi
	# We need an absolute path.
	case $dir in
	[\\/]* | [A-Za-z]:[\\/]*) ;;
	*)
	  absdir=`cd "$dir" && pwd`
	  test -z "$absdir" && \
	    func_fatal_error "cannot determine absolute directory name of \`$dir'"
	  dir="$absdir"
	  ;;
	esac
	case "$deplibs " in
	*" -L$dir "*) ;;
	*)
	  deplibs="$deplibs -L$dir"
	  lib_search_path="$lib_search_path $dir"
	  ;;
	esac
	case $host in
	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
	  testbindir=`$ECHO "X$dir" | $Xsed -e 's*/lib$*/bin*'`
	  case :$dllsearchpath: in
	  *":$dir:"*) ;;
	  ::) dllsearchpath=$dir;;
	  *) dllsearchpath="$dllsearchpath:$dir";;
	  esac
	  case :$dllsearchpath: in
	  *":$testbindir:"*) ;;
	  ::) dllsearchpath=$testbindir;;
	  *) dllsearchpath="$dllsearchpath:$testbindir";;
	  esac
	  ;;
	esac
	continue
	;;

      -l*)
	if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
	  case $host in
	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc*)
	    # These systems don't actually have a C or math library (as such)
	    continue
	    ;;
	  *-*-os2*)
	    # These systems don't actually have a C library (as such)
	    test "X$arg" = "X-lc" && continue
	    ;;
	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
	    # Do not include libc due to us having libc/libc_r.
	    test "X$arg" = "X-lc" && continue
	    ;;
	  *-*-rhapsody* | *-*-darwin1.[012])
	    # Rhapsody C and math libraries are in the System framework
	    deplibs="$deplibs System.ltframework"
	    continue
	    ;;
	  *-*-sco3.2v5* | *-*-sco5v6*)
	    # Causes problems with __ctype
	    test "X$arg" = "X-lc" && continue
	    ;;
	  *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
	    # Compiler inserts libc in the correct place for threads to work
	    test "X$arg" = "X-lc" && continue
	    ;;
	  esac
	elif test "X$arg" = "X-lc_r"; then
	 case $host in
	 *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
	   # Do not include libc_r directly, use -pthread flag.
	   continue
	   ;;
	 esac
	fi
	deplibs="$deplibs $arg"
	continue
	;;

      -module)
	module=yes
	continue
	;;

      # Tru64 UNIX uses -model [arg] to determine the layout of C++
      # classes, name mangling, and exception handling.
      # Darwin uses the -arch flag to determine output architecture.
      -model|-arch|-isysroot)
	compiler_flags="$compiler_flags $arg"
	func_append compile_command " $arg"
	func_append finalize_command " $arg"
	prev=xcompiler
	continue
	;;

      -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
	compiler_flags="$compiler_flags $arg"
	func_append compile_command " $arg"
	func_append finalize_command " $arg"
	case "$new_inherited_linker_flags " in
	    *" $arg "*) ;;
	    * ) new_inherited_linker_flags="$new_inherited_linker_flags $arg" ;;
	esac
	continue
	;;

      -multi_module)
	single_module="${wl}-multi_module"
	continue
	;;

      -no-fast-install)
	fast_install=no
	continue
	;;

      -no-install)
	case $host in
	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*)
	  # The PATH hackery in wrapper scripts is required on Windows
	  # and Darwin in order for the loader to find any dlls it needs.
	  func_warning "\`-no-install' is ignored for $host"
	  func_warning "assuming \`-no-fast-install' instead"
	  fast_install=no
	  ;;
	*) no_install=yes ;;
	esac
	continue
	;;

      -no-undefined)
	allow_undefined=no
	continue
	;;

      -objectlist)
	prev=objectlist
	continue
	;;

      -o) prev=output ;;

      -precious-files-regex)
	prev=precious_regex
	continue
	;;

      -release)
	prev=release
	continue
	;;

      -rpath)
	prev=rpath
	continue
	;;

      -R)
	prev=xrpath
	continue
	;;

      -R*)
	func_stripname '-R' '' "$arg"
	dir=$func_stripname_result
	# We need an absolute path.
	case $dir in
	[\\/]* | [A-Za-z]:[\\/]*) ;;
	*)
	  func_fatal_error "only absolute run-paths are allowed"
	  ;;
	esac
	case "$xrpath " in
	*" $dir "*) ;;
	*) xrpath="$xrpath $dir" ;;
	esac
	continue
	;;

      -shared)
	# The effects of -shared are defined in a previous loop.
	continue
	;;

      -shrext)
	prev=shrext
	continue
	;;

      -static | -static-libtool-libs)
	# The effects of -static are defined in a previous loop.
	# We used to do the same as -all-static on platforms that
	# didn't have a PIC flag, but the assumption that the effects
	# would be equivalent was wrong.  It would break on at least
	# Digital Unix and AIX.
	continue
	;;

      -thread-safe)
	thread_safe=yes
	continue
	;;

      -version-info)
	prev=vinfo
	continue
	;;

      -version-number)
	prev=vinfo
	vinfo_number=yes
	continue
	;;

      -weak)
        prev=weak
	continue
	;;

      -Wc,*)
	func_stripname '-Wc,' '' "$arg"
	args=$func_stripname_result
	arg=
	save_ifs="$IFS"; IFS=','
	for flag in $args; do
	  IFS="$save_ifs"
          func_quote_for_eval "$flag"
	  arg="$arg $wl$func_quote_for_eval_result"
	  compiler_flags="$compiler_flags $func_quote_for_eval_result"
	done
	IFS="$save_ifs"
	func_stripname ' ' '' "$arg"
	arg=$func_stripname_result
	;;

      -Wl,*)
	func_stripname '-Wl,' '' "$arg"
	args=$func_stripname_result
	arg=
	save_ifs="$IFS"; IFS=','
	for flag in $args; do
	  IFS="$save_ifs"
          func_quote_for_eval "$flag"
	  arg="$arg $wl$func_quote_for_eval_result"
	  compiler_flags="$compiler_flags $wl$func_quote_for_eval_result"
	  linker_flags="$linker_flags $func_quote_for_eval_result"
	done
	IFS="$save_ifs"
	func_stripname ' ' '' "$arg"
	arg=$func_stripname_result
	;;

      -Xcompiler)
	prev=xcompiler
	continue
	;;

      -Xlinker)
	prev=xlinker
	continue
	;;

      -XCClinker)
	prev=xcclinker
	continue
	;;

      # -msg_* for osf cc
      -msg_*)
	func_quote_for_eval "$arg"
	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
      -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
      -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*)
        func_quote_for_eval "$arg"
	arg="$func_quote_for_eval_result"
        func_append compile_command " $arg"
        func_append finalize_command " $arg"
        compiler_flags="$compiler_flags $arg"
        continue
        ;;

      # Some other compiler flag.
      -* | +*)
        func_quote_for_eval "$arg"
	arg="$func_quote_for_eval_result"
	;;

      *.$objext)
	# A standard object.
	objs="$objs $arg"
	;;

      *.lo)
	# A libtool-controlled object.

	# Check to see that this really is a libtool object.
	if func_lalib_unsafe_p "$arg"; then
	  pic_object=
	  non_pic_object=

	  # Read the .lo file
	  func_source "$arg"

	  if test -z "$pic_object" ||
	     test -z "$non_pic_object" ||
	     test "$pic_object" = none &&
	     test "$non_pic_object" = none; then
	    func_fatal_error "cannot find name of object for \`$arg'"
	  fi

	  # Extract subdirectory from the argument.
	  func_dirname "$arg" "/" ""
	  xdir="$func_dirname_result"

	  if test "$pic_object" != none; then
	    # Prepend the subdirectory the object is found in.
	    pic_object="$xdir$pic_object"

	    if test "$prev" = dlfiles; then
	      if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
		dlfiles="$dlfiles $pic_object"
		prev=
		continue
	      else
		# If libtool objects are unsupported, then we need to preload.
		prev=dlprefiles
	      fi
	    fi

	    # CHECK ME:  I think I busted this.  -Ossama
	    if test "$prev" = dlprefiles; then
	      # Preload the old-style object.
	      dlprefiles="$dlprefiles $pic_object"
	      prev=
	    fi

	    # A PIC object.
	    func_append libobjs " $pic_object"
	    arg="$pic_object"
	  fi

	  # Non-PIC object.
	  if test "$non_pic_object" != none; then
	    # Prepend the subdirectory the object is found in.
	    non_pic_object="$xdir$non_pic_object"

	    # A standard non-PIC object
	    func_append non_pic_objects " $non_pic_object"
	    if test -z "$pic_object" || test "$pic_object" = none ; then
	      arg="$non_pic_object"
	    fi
	  else
	    # If the PIC object exists, use it instead.
	    # $xdir was prepended to $pic_object above.
	    non_pic_object="$pic_object"
	    func_append non_pic_objects " $non_pic_object"
	  fi
	else
	  # Only an error if not doing a dry-run.
	  if $opt_dry_run; then
	    # Extract subdirectory from the argument.
	    func_dirname "$arg" "/" ""
	    xdir="$func_dirname_result"

	    func_lo2o "$arg"
	    pic_object=$xdir$objdir/$func_lo2o_result
	    non_pic_object=$xdir$func_lo2o_result
	    func_append libobjs " $pic_object"
	    func_append non_pic_objects " $non_pic_object"
	  else
	    func_fatal_error "\`$arg' is not a valid libtool object"
	  fi
	fi
	;;

      *.$libext)
	# An archive.
	deplibs="$deplibs $arg"
	old_deplibs="$old_deplibs $arg"
	continue
	;;

      *.la)
	# A libtool-controlled library.

	if test "$prev" = dlfiles; then
	  # This library was specified with -dlopen.
	  dlfiles="$dlfiles $arg"
	  prev=
	elif test "$prev" = dlprefiles; then
	  # The library was specified with -dlpreopen.
	  dlprefiles="$dlprefiles $arg"
	  prev=
	else
	  deplibs="$deplibs $arg"
	fi
	continue
	;;

      # Some other compiler argument.
      *)
	# Unknown arguments in both finalize_command and compile_command need
	# to be aesthetically quoted because they are evaled later.
	func_quote_for_eval "$arg"
	arg="$func_quote_for_eval_result"
	;;
      esac # arg

      # Now actually substitute the argument into the commands.
      if test -n "$arg"; then
	func_append compile_command " $arg"
	func_append finalize_command " $arg"
      fi
    done # argument parsing loop

    test -n "$prev" && \
      func_fatal_help "the \`$prevarg' option requires an argument"

    if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
      eval arg=\"$export_dynamic_flag_spec\"
      func_append compile_command " $arg"
      func_append finalize_command " $arg"
    fi

    oldlibs=
    # calculate the name of the file, without its directory
    func_basename "$output"
    outputname="$func_basename_result"
    libobjs_save="$libobjs"

    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\'\`
    else
      shlib_search_path=
    fi
    eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
    eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"

    func_dirname "$output" "/" ""
    output_objdir="$func_dirname_result$objdir"
    # Create the object directory.
    func_mkdir_p "$output_objdir"

    # Determine the type of output
    case $output in
    "")
      func_fatal_help "you must specify an output file"
      ;;
    *.$libext) linkmode=oldlib ;;
    *.lo | *.$objext) linkmode=obj ;;
    *.la) linkmode=lib ;;
    *) linkmode=prog ;; # Anything else should be a program.
    esac

    specialdeplibs=

    libs=
    # Find all interdependent deplibs by searching for libraries
    # that are linked more than once (e.g. -la -lb -la)
    for deplib in $deplibs; do
      if $opt_duplicate_deps ; then
	case "$libs " in
	*" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
	esac
      fi
      libs="$libs $deplib"
    done

    if test "$linkmode" = lib; then
      libs="$predeps $libs $compiler_lib_search_path $postdeps"

      # Compute libraries that are listed more than once in $predeps
      # $postdeps and mark them as special (i.e., whose duplicates are
      # not to be eliminated).
      pre_post_deps=
      if $opt_duplicate_compiler_generated_deps; then
	for pre_post_dep in $predeps $postdeps; do
	  case "$pre_post_deps " in
	  *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;;
	  esac
	  pre_post_deps="$pre_post_deps $pre_post_dep"
	done
      fi
      pre_post_deps=
    fi

    deplibs=
    newdependency_libs=
    newlib_search_path=
    need_relink=no # whether we're linking any uninstalled libtool libraries
    notinst_deplibs= # not-installed libtool libraries
    notinst_path= # paths that contain not-installed libtool libraries

    case $linkmode in
    lib)
	passes="conv dlpreopen link"
	for file in $dlfiles $dlprefiles; do
	  case $file in
	  *.la) ;;
	  *)
	    func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file"
	    ;;
	  esac
	done
	;;
    prog)
	compile_deplibs=
	finalize_deplibs=
	alldeplibs=no
	newdlfiles=
	newdlprefiles=
	passes="conv scan dlopen dlpreopen link"
	;;
    *)  passes="conv"
	;;
    esac

    for pass in $passes; do
      # The preopen pass in lib mode reverses $deplibs; put it back here
      # so that -L comes before libs that need it for instance...
      if test "$linkmode,$pass" = "lib,link"; then
	## FIXME: Find the place where the list is rebuilt in the wrong
	##        order, and fix it there properly
        tmp_deplibs=
	for deplib in $deplibs; do
	  tmp_deplibs="$deplib $tmp_deplibs"
	done
	deplibs="$tmp_deplibs"
      fi

      if test "$linkmode,$pass" = "lib,link" ||
	 test "$linkmode,$pass" = "prog,scan"; then
	libs="$deplibs"
	deplibs=
      fi
      if test "$linkmode" = prog; then
	case $pass in
	dlopen) libs="$dlfiles" ;;
	dlpreopen) libs="$dlprefiles" ;;
	link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
	esac
      fi
      if test "$linkmode,$pass" = "lib,dlpreopen"; then
	# Collect and forward deplibs of preopened libtool libs
	for lib in $dlprefiles; do
	  # Ignore non-libtool-libs
	  dependency_libs=
	  case $lib in
	  *.la)	func_source "$lib" ;;
	  esac

	  # 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"`
	    case " $weak_libs " in
	    *" $deplib_base "*) ;;
	    *) deplibs="$deplibs $deplib" ;;
	    esac
	  done
	done
	libs="$dlprefiles"
      fi
      if test "$pass" = dlopen; then
	# Collect dlpreopened libraries
	save_deplibs="$deplibs"
	deplibs=
      fi

      for deplib in $libs; do
	lib=
	found=no
	case $deplib in
	-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
	  if test "$linkmode,$pass" = "prog,link"; then
	    compile_deplibs="$deplib $compile_deplibs"
	    finalize_deplibs="$deplib $finalize_deplibs"
	  else
	    compiler_flags="$compiler_flags $deplib"
	    if test "$linkmode" = lib ; then
		case "$new_inherited_linker_flags " in
		    *" $deplib "*) ;;
		    * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
		esac
	    fi
	  fi
	  continue
	  ;;
	-l*)
	  if test "$linkmode" != lib && test "$linkmode" != prog; then
	    func_warning "\`-l' is ignored for archives/objects"
	    continue
	  fi
	  func_stripname '-l' '' "$deplib"
	  name=$func_stripname_result
	  if test "$linkmode" = lib; then
	    searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
	  else
	    searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
	  fi
	  for searchdir in $searchdirs; do
	    for search_ext in .la $std_shrext .so .a; do
	      # Search the libtool library
	      lib="$searchdir/lib${name}${search_ext}"
	      if test -f "$lib"; then
		if test "$search_ext" = ".la"; then
		  found=yes
		else
		  found=no
		fi
		break 2
	      fi
	    done
	  done
	  if test "$found" != yes; then
	    # deplib doesn't seem to be a libtool library
	    if test "$linkmode,$pass" = "prog,link"; then
	      compile_deplibs="$deplib $compile_deplibs"
	      finalize_deplibs="$deplib $finalize_deplibs"
	    else
	      deplibs="$deplib $deplibs"
	      test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
	    fi
	    continue
	  else # deplib is a libtool library
	    # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
	    # We need to do some special things here, and not later.
	    if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
	      case " $predeps $postdeps " in
	      *" $deplib "*)
		if func_lalib_p "$lib"; then
		  library_names=
		  old_library=
		  func_source "$lib"
		  for l in $old_library $library_names; do
		    ll="$l"
		  done
		  if test "X$ll" = "X$old_library" ; then # only static version available
		    found=no
		    func_dirname "$lib" "" "."
		    ladir="$func_dirname_result"
		    lib=$ladir/$old_library
		    if test "$linkmode,$pass" = "prog,link"; then
		      compile_deplibs="$deplib $compile_deplibs"
		      finalize_deplibs="$deplib $finalize_deplibs"
		    else
		      deplibs="$deplib $deplibs"
		      test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
		    fi
		    continue
		  fi
		fi
		;;
	      *) ;;
	      esac
	    fi
	  fi
	  ;; # -l
	*.ltframework)
	  if test "$linkmode,$pass" = "prog,link"; then
	    compile_deplibs="$deplib $compile_deplibs"
	    finalize_deplibs="$deplib $finalize_deplibs"
	  else
	    deplibs="$deplib $deplibs"
	    if test "$linkmode" = lib ; then
		case "$new_inherited_linker_flags " in
		    *" $deplib "*) ;;
		    * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
		esac
	    fi
	  fi
	  continue
	  ;;
	-L*)
	  case $linkmode in
	  lib)
	    deplibs="$deplib $deplibs"
	    test "$pass" = conv && continue
	    newdependency_libs="$deplib $newdependency_libs"
	    func_stripname '-L' '' "$deplib"
	    newlib_search_path="$newlib_search_path $func_stripname_result"
	    ;;
	  prog)
	    if test "$pass" = conv; then
	      deplibs="$deplib $deplibs"
	      continue
	    fi
	    if test "$pass" = scan; then
	      deplibs="$deplib $deplibs"
	    else
	      compile_deplibs="$deplib $compile_deplibs"
	      finalize_deplibs="$deplib $finalize_deplibs"
	    fi
	    func_stripname '-L' '' "$deplib"
	    newlib_search_path="$newlib_search_path $func_stripname_result"
	    ;;
	  *)
	    func_warning "\`-L' is ignored for archives/objects"
	    ;;
	  esac # linkmode
	  continue
	  ;; # -L
	-R*)
	  if test "$pass" = link; then
	    func_stripname '-R' '' "$deplib"
	    dir=$func_stripname_result
	    # Make sure the xrpath contains only unique directories.
	    case "$xrpath " in
	    *" $dir "*) ;;
	    *) xrpath="$xrpath $dir" ;;
	    esac
	  fi
	  deplibs="$deplib $deplibs"
	  continue
	  ;;
	*.la) lib="$deplib" ;;
	*.$libext)
	  if test "$pass" = conv; then
	    deplibs="$deplib $deplibs"
	    continue
	  fi
	  case $linkmode in
	  lib)
	    # Linking convenience modules into shared libraries is allowed,
	    # but linking other static libraries is non-portable.
	    case " $dlpreconveniencelibs " in
	    *" $deplib "*) ;;
	    *)
	      valid_a_lib=no
	      case $deplibs_check_method in
		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 \
		    | $EGREP "$match_pattern_regex" > /dev/null; then
		    valid_a_lib=yes
		  fi
		;;
		pass_all)
		  valid_a_lib=yes
		;;
	      esac
	      if test "$valid_a_lib" != yes; then
		$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."
	      else
		$ECHO
		$ECHO "*** Warning: Linking the shared library $output against the"
		$ECHO "*** static library $deplib is not portable!"
		deplibs="$deplib $deplibs"
	      fi
	      ;;
	    esac
	    continue
	    ;;
	  prog)
	    if test "$pass" != link; then
	      deplibs="$deplib $deplibs"
	    else
	      compile_deplibs="$deplib $compile_deplibs"
	      finalize_deplibs="$deplib $finalize_deplibs"
	    fi
	    continue
	    ;;
	  esac # linkmode
	  ;; # *.$libext
	*.lo | *.$objext)
	  if test "$pass" = conv; then
	    deplibs="$deplib $deplibs"
	  elif test "$linkmode" = prog; then
	    if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
	      # If there is no dlopen support or we're linking statically,
	      # we need to preload.
	      newdlprefiles="$newdlprefiles $deplib"
	      compile_deplibs="$deplib $compile_deplibs"
	      finalize_deplibs="$deplib $finalize_deplibs"
	    else
	      newdlfiles="$newdlfiles $deplib"
	    fi
	  fi
	  continue
	  ;;
	%DEPLIBS%)
	  alldeplibs=yes
	  continue
	  ;;
	esac # case $deplib

	if test "$found" = yes || test -f "$lib"; then :
	else
	  func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'"
	fi

	# Check to see that this really is a libtool archive.
	func_lalib_unsafe_p "$lib" \
	  || func_fatal_error "\`$lib' is not a valid libtool archive"

	func_dirname "$lib" "" "."
	ladir="$func_dirname_result"

	dlname=
	dlopen=
	dlpreopen=
	libdir=
	library_names=
	old_library=
	inherited_linker_flags=
	# If the library was installed with an old release of libtool,
	# it will not redefine variables installed, or shouldnotlink
	installed=yes
	shouldnotlink=no
	avoidtemprpath=


	# Read the .la file
	func_source "$lib"

	# 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'`
	  for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do
	    case " $new_inherited_linker_flags " in
	      *" $tmp_inherited_linker_flag "*) ;;
	      *) new_inherited_linker_flags="$new_inherited_linker_flags $tmp_inherited_linker_flag";;
	    esac
	  done
	fi
	dependency_libs=`$ECHO "X $dependency_libs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
	if test "$linkmode,$pass" = "lib,link" ||
	   test "$linkmode,$pass" = "prog,scan" ||
	   { test "$linkmode" != prog && test "$linkmode" != lib; }; then
	  test -n "$dlopen" && dlfiles="$dlfiles $dlopen"
	  test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen"
	fi

	if test "$pass" = conv; then
	  # Only check for convenience libraries
	  deplibs="$lib $deplibs"
	  if test -z "$libdir"; then
	    if test -z "$old_library"; then
	      func_fatal_error "cannot find name of link library for \`$lib'"
	    fi
	    # It is a libtool convenience library, so add in its objects.
	    convenience="$convenience $ladir/$objdir/$old_library"
	    old_convenience="$old_convenience $ladir/$objdir/$old_library"
	  elif test "$linkmode" != prog && test "$linkmode" != lib; then
	    func_fatal_error "\`$lib' is not a convenience library"
	  fi
	  tmp_libs=
	  for deplib in $dependency_libs; do
	    deplibs="$deplib $deplibs"
	    if $opt_duplicate_deps ; then
	      case "$tmp_libs " in
	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
	      esac
	    fi
	    tmp_libs="$tmp_libs $deplib"
	  done
	  continue
	fi # $pass = conv


	# Get the name of the library we link against.
	linklib=
	for l in $old_library $library_names; do
	  linklib="$l"
	done
	if test -z "$linklib"; then
	  func_fatal_error "cannot find name of link library for \`$lib'"
	fi

	# This library was specified with -dlopen.
	if test "$pass" = dlopen; then
	  if test -z "$libdir"; then
	    func_fatal_error "cannot -dlopen a convenience library: \`$lib'"
	  fi
	  if test -z "$dlname" ||
	     test "$dlopen_support" != yes ||
	     test "$build_libtool_libs" = no; then
	    # If there is no dlname, no dlopen support or we're linking
	    # statically, we need to preload.  We also need to preload any
	    # dependent libraries so libltdl's deplib preloader doesn't
	    # bomb out in the load deplibs phase.
	    dlprefiles="$dlprefiles $lib $dependency_libs"
	  else
	    newdlfiles="$newdlfiles $lib"
	  fi
	  continue
	fi # $pass = dlopen

	# We need an absolute path.
	case $ladir in
	[\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
	*)
	  abs_ladir=`cd "$ladir" && pwd`
	  if test -z "$abs_ladir"; then
	    func_warning "cannot determine absolute directory name of \`$ladir'"
	    func_warning "passing it literally to the linker, although it might fail"
	    abs_ladir="$ladir"
	  fi
	  ;;
	esac
	func_basename "$lib"
	laname="$func_basename_result"

	# Find the relevant object directory and library name.
	if test "X$installed" = Xyes; then
	  if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
	    func_warning "library \`$lib' was moved."
	    dir="$ladir"
	    absdir="$abs_ladir"
	    libdir="$abs_ladir"
	  else
	    dir="$libdir"
	    absdir="$libdir"
	  fi
	  test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
	else
	  if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
	    dir="$ladir"
	    absdir="$abs_ladir"
	    # Remove this search path later
	    notinst_path="$notinst_path $abs_ladir"
	  else
	    dir="$ladir/$objdir"
	    absdir="$abs_ladir/$objdir"
	    # Remove this search path later
	    notinst_path="$notinst_path $abs_ladir"
	  fi
	fi # $installed = yes
	func_stripname 'lib' '.la' "$laname"
	name=$func_stripname_result

	# This library was specified with -dlpreopen.
	if test "$pass" = dlpreopen; then
	  if test -z "$libdir" && test "$linkmode" = prog; then
	    func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'"
	  fi
	  # Prefer using a static library (so that no silly _DYNAMIC symbols
	  # are required to link).
	  if test -n "$old_library"; then
	    newdlprefiles="$newdlprefiles $dir/$old_library"
	    # Keep a list of preopened convenience libraries to check
	    # that they are being used correctly in the link pass.
	    test -z "$libdir" && \
		dlpreconveniencelibs="$dlpreconveniencelibs $dir/$old_library"
	  # Otherwise, use the dlname, so that lt_dlopen finds it.
	  elif test -n "$dlname"; then
	    newdlprefiles="$newdlprefiles $dir/$dlname"
	  else
	    newdlprefiles="$newdlprefiles $dir/$linklib"
	  fi
	fi # $pass = dlpreopen

	if test -z "$libdir"; then
	  # Link the convenience library
	  if test "$linkmode" = lib; then
	    deplibs="$dir/$old_library $deplibs"
	  elif test "$linkmode,$pass" = "prog,link"; then
	    compile_deplibs="$dir/$old_library $compile_deplibs"
	    finalize_deplibs="$dir/$old_library $finalize_deplibs"
	  else
	    deplibs="$lib $deplibs" # used for prog,scan pass
	  fi
	  continue
	fi


	if test "$linkmode" = prog && test "$pass" != link; then
	  newlib_search_path="$newlib_search_path $ladir"
	  deplibs="$lib $deplibs"

	  linkalldeplibs=no
	  if test "$link_all_deplibs" != no || test -z "$library_names" ||
	     test "$build_libtool_libs" = no; then
	    linkalldeplibs=yes
	  fi

	  tmp_libs=
	  for deplib in $dependency_libs; do
	    case $deplib in
	    -L*) func_stripname '-L' '' "$deplib"
	         newlib_search_path="$newlib_search_path $func_stripname_result"
		 ;;
	    esac
	    # Need to link against all dependency_libs?
	    if test "$linkalldeplibs" = yes; then
	      deplibs="$deplib $deplibs"
	    else
	      # Need to hardcode shared library paths
	      # or/and link against static libraries
	      newdependency_libs="$deplib $newdependency_libs"
	    fi
	    if $opt_duplicate_deps ; then
	      case "$tmp_libs " in
	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
	      esac
	    fi
	    tmp_libs="$tmp_libs $deplib"
	  done # for deplib
	  continue
	fi # $linkmode = prog...

	if test "$linkmode,$pass" = "prog,link"; then
	  if test -n "$library_names" &&
	     { { test "$prefer_static_libs" = no ||
	         test "$prefer_static_libs,$installed" = "built,yes"; } ||
	       test -z "$old_library"; }; then
	    # We need to hardcode the library path
	    if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
	      # Make sure the rpath contains only unique directories.
	      case "$temp_rpath:" in
	      *"$absdir:"*) ;;
	      *) temp_rpath="$temp_rpath$absdir:" ;;
	      esac
	    fi

	    # Hardcode the library path.
	    # Skip directories that are in the system default run-time
	    # search path.
	    case " $sys_lib_dlsearch_path " in
	    *" $absdir "*) ;;
	    *)
	      case "$compile_rpath " in
	      *" $absdir "*) ;;
	      *) compile_rpath="$compile_rpath $absdir"
	      esac
	      ;;
	    esac
	    case " $sys_lib_dlsearch_path " in
	    *" $libdir "*) ;;
	    *)
	      case "$finalize_rpath " in
	      *" $libdir "*) ;;
	      *) finalize_rpath="$finalize_rpath $libdir"
	      esac
	      ;;
	    esac
	  fi # $linkmode,$pass = prog,link...

	  if test "$alldeplibs" = yes &&
	     { test "$deplibs_check_method" = pass_all ||
	       { test "$build_libtool_libs" = yes &&
		 test -n "$library_names"; }; }; then
	    # We only need to search for static libraries
	    continue
	  fi
	fi

	link_static=no # Whether the deplib will be linked statically
	use_static_libs=$prefer_static_libs
	if test "$use_static_libs" = built && test "$installed" = yes; then
	  use_static_libs=no
	fi
	if test -n "$library_names" &&
	   { test "$use_static_libs" = no || test -z "$old_library"; }; then
	  case $host in
	  *cygwin* | *mingw* | *cegcc*)
	      # No point in relinking DLLs because paths are not encoded
	      notinst_deplibs="$notinst_deplibs $lib"
	      need_relink=no
	    ;;
	  *)
	    if test "$installed" = no; then
	      notinst_deplibs="$notinst_deplibs $lib"
	      need_relink=yes
	    fi
	    ;;
	  esac
	  # This is a shared library

	  # Warn about portability, can't link against -module's on some
	  # systems (darwin).  Don't bleat about dlopened modules though!
	  dlopenmodule=""
	  for dlpremoduletest in $dlprefiles; do
	    if test "X$dlpremoduletest" = "X$lib"; then
	      dlopenmodule="$dlpremoduletest"
	      break
	    fi
	  done
	  if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then
	    $ECHO
	    if test "$linkmode" = prog; then
	      $ECHO "*** Warning: Linking the executable $output against the loadable module"
	    else
	      $ECHO "*** Warning: Linking the shared library $output against the loadable module"
	    fi
	    $ECHO "*** $linklib is not portable!"
	  fi
	  if test "$linkmode" = lib &&
	     test "$hardcode_into_libs" = yes; then
	    # Hardcode the library path.
	    # Skip directories that are in the system default run-time
	    # search path.
	    case " $sys_lib_dlsearch_path " in
	    *" $absdir "*) ;;
	    *)
	      case "$compile_rpath " in
	      *" $absdir "*) ;;
	      *) compile_rpath="$compile_rpath $absdir"
	      esac
	      ;;
	    esac
	    case " $sys_lib_dlsearch_path " in
	    *" $libdir "*) ;;
	    *)
	      case "$finalize_rpath " in
	      *" $libdir "*) ;;
	      *) finalize_rpath="$finalize_rpath $libdir"
	      esac
	      ;;
	    esac
	  fi

	  if test -n "$old_archive_from_expsyms_cmds"; then
	    # figure out the soname
	    set dummy $library_names
	    shift
	    realname="$1"
	    shift
	    libname=`eval "\\$ECHO \"$libname_spec\""`
	    # use dlname if we got it. it's perfectly good, no?
	    if test -n "$dlname"; then
	      soname="$dlname"
	    elif test -n "$soname_spec"; then
	      # bleh windows
	      case $host in
	      *cygwin* | mingw* | *cegcc*)
	        func_arith $current - $age
		major=$func_arith_result
		versuffix="-$major"
		;;
	      esac
	      eval soname=\"$soname_spec\"
	    else
	      soname="$realname"
	    fi

	    # Make a new name for the extract_expsyms_cmds to use
	    soroot="$soname"
	    func_basename "$soroot"
	    soname="$func_basename_result"
	    func_stripname 'lib' '.dll' "$soname"
	    newlib=libimp-$func_stripname_result.a

	    # If the library has no export list, then create one now
	    if test -f "$output_objdir/$soname-def"; then :
	    else
	      func_verbose "extracting exported symbol list from \`$soname'"
	      func_execute_cmds "$extract_expsyms_cmds" 'exit $?'
	    fi

	    # Create $newlib
	    if test -f "$output_objdir/$newlib"; then :; else
	      func_verbose "generating import library for \`$soname'"
	      func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?'
	    fi
	    # make sure the library variables are pointing to the new library
	    dir=$output_objdir
	    linklib=$newlib
	  fi # test -n "$old_archive_from_expsyms_cmds"

	  if test "$linkmode" = prog || test "$mode" != relink; then
	    add_shlibpath=
	    add_dir=
	    add=
	    lib_linked=yes
	    case $hardcode_action in
	    immediate | unsupported)
	      if test "$hardcode_direct" = no; then
		add="$dir/$linklib"
		case $host in
		  *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
		  *-*-sysv4*uw2*) add_dir="-L$dir" ;;
		  *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
		    *-*-unixware7*) add_dir="-L$dir" ;;
		  *-*-darwin* )
		    # if the lib is a (non-dlopened) module then we can not
		    # link against it, someone is ignoring the earlier warnings
		    if /usr/bin/file -L $add 2> /dev/null |
			 $GREP ": [^:]* bundle" >/dev/null ; then
		      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"
			else
			  add="$dir/$old_library"
			fi
		      elif test -n "$old_library"; then
			add="$dir/$old_library"
		      fi
		    fi
		esac
	      elif test "$hardcode_minus_L" = no; then
		case $host in
		*-*-sunos*) add_shlibpath="$dir" ;;
		esac
		add_dir="-L$dir"
		add="-l$name"
	      elif test "$hardcode_shlibpath_var" = no; then
		add_shlibpath="$dir"
		add="-l$name"
	      else
		lib_linked=no
	      fi
	      ;;
	    relink)
	      if test "$hardcode_direct" = yes &&
	         test "$hardcode_direct_absolute" = no; then
		add="$dir/$linklib"
	      elif test "$hardcode_minus_L" = yes; then
		add_dir="-L$dir"
		# Try looking first in the location we're being installed to.
		if test -n "$inst_prefix_dir"; then
		  case $libdir in
		    [\\/]*)
		      add_dir="$add_dir -L$inst_prefix_dir$libdir"
		      ;;
		  esac
		fi
		add="-l$name"
	      elif test "$hardcode_shlibpath_var" = yes; then
		add_shlibpath="$dir"
		add="-l$name"
	      else
		lib_linked=no
	      fi
	      ;;
	    *) lib_linked=no ;;
	    esac

	    if test "$lib_linked" != yes; then
	      func_fatal_configuration "unsupported hardcode properties"
	    fi

	    if test -n "$add_shlibpath"; then
	      case :$compile_shlibpath: in
	      *":$add_shlibpath:"*) ;;
	      *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;
	      esac
	    fi
	    if test "$linkmode" = prog; then
	      test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
	      test -n "$add" && compile_deplibs="$add $compile_deplibs"
	    else
	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
	      test -n "$add" && deplibs="$add $deplibs"
	      if test "$hardcode_direct" != yes &&
		 test "$hardcode_minus_L" != yes &&
		 test "$hardcode_shlibpath_var" = yes; then
		case :$finalize_shlibpath: in
		*":$libdir:"*) ;;
		*) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
		esac
	      fi
	    fi
	  fi

	  if test "$linkmode" = prog || test "$mode" = relink; then
	    add_shlibpath=
	    add_dir=
	    add=
	    # Finalize command for both is simple: just hardcode it.
	    if test "$hardcode_direct" = yes &&
	       test "$hardcode_direct_absolute" = no; then
	      add="$libdir/$linklib"
	    elif test "$hardcode_minus_L" = yes; then
	      add_dir="-L$libdir"
	      add="-l$name"
	    elif test "$hardcode_shlibpath_var" = yes; then
	      case :$finalize_shlibpath: in
	      *":$libdir:"*) ;;
	      *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
	      esac
	      add="-l$name"
	    elif test "$hardcode_automatic" = yes; then
	      if test -n "$inst_prefix_dir" &&
		 test -f "$inst_prefix_dir$libdir/$linklib" ; then
		add="$inst_prefix_dir$libdir/$linklib"
	      else
		add="$libdir/$linklib"
	      fi
	    else
	      # We cannot seem to hardcode it, guess we'll fake it.
	      add_dir="-L$libdir"
	      # Try looking first in the location we're being installed to.
	      if test -n "$inst_prefix_dir"; then
		case $libdir in
		  [\\/]*)
		    add_dir="$add_dir -L$inst_prefix_dir$libdir"
		    ;;
		esac
	      fi
	      add="-l$name"
	    fi

	    if test "$linkmode" = prog; then
	      test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
	      test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
	    else
	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
	      test -n "$add" && deplibs="$add $deplibs"
	    fi
	  fi
	elif test "$linkmode" = prog; then
	  # Here we assume that one of hardcode_direct or hardcode_minus_L
	  # is not unsupported.  This is valid on all known static and
	  # shared platforms.
	  if test "$hardcode_direct" != unsupported; then
	    test -n "$old_library" && linklib="$old_library"
	    compile_deplibs="$dir/$linklib $compile_deplibs"
	    finalize_deplibs="$dir/$linklib $finalize_deplibs"
	  else
	    compile_deplibs="-l$name -L$dir $compile_deplibs"
	    finalize_deplibs="-l$name -L$dir $finalize_deplibs"
	  fi
	elif test "$build_libtool_libs" = yes; then
	  # Not a shared library
	  if test "$deplibs_check_method" != pass_all; then
	    # We're trying link a shared library against a static one
	    # but the system doesn't support it.

	    # Just print a warning and add the library to dependency_libs so
	    # that the program can be linked against the static library.
	    $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."
	    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."
	      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."
	      fi
	      if test "$build_old_libs" = no; then
		build_libtool_libs=module
		build_old_libs=yes
	      else
		build_libtool_libs=no
	      fi
	    fi
	  else
	    deplibs="$dir/$old_library $deplibs"
	    link_static=yes
	  fi
	fi # link shared/static library?

	if test "$linkmode" = lib; then
	  if test -n "$dependency_libs" &&
	     { test "$hardcode_into_libs" != yes ||
	       test "$build_old_libs" = yes ||
	       test "$link_static" = yes; }; then
	    # Extract -R from dependency_libs
	    temp_deplibs=
	    for libdir in $dependency_libs; do
	      case $libdir in
	      -R*) func_stripname '-R' '' "$libdir"
	           temp_xrpath=$func_stripname_result
		   case " $xrpath " in
		   *" $temp_xrpath "*) ;;
		   *) xrpath="$xrpath $temp_xrpath";;
		   esac;;
	      *) temp_deplibs="$temp_deplibs $libdir";;
	      esac
	    done
	    dependency_libs="$temp_deplibs"
	  fi

	  newlib_search_path="$newlib_search_path $absdir"
	  # Link against this library
	  test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
	  # ... and its dependency_libs
	  tmp_libs=
	  for deplib in $dependency_libs; do
	    newdependency_libs="$deplib $newdependency_libs"
	    if $opt_duplicate_deps ; then
	      case "$tmp_libs " in
	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
	      esac
	    fi
	    tmp_libs="$tmp_libs $deplib"
	  done

	  if test "$link_all_deplibs" != no; then
	    # Add the search paths of all dependency libraries
	    for deplib in $dependency_libs; do
	      case $deplib in
	      -L*) path="$deplib" ;;
	      *.la)
	        func_dirname "$deplib" "" "."
		dir="$func_dirname_result"
		# We need an absolute path.
		case $dir in
		[\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
		*)
		  absdir=`cd "$dir" && pwd`
		  if test -z "$absdir"; then
		    func_warning "cannot determine absolute directory name of \`$dir'"
		    absdir="$dir"
		  fi
		  ;;
		esac
		if $GREP "^installed=no" $deplib > /dev/null; then
		case $host in
		*-*-darwin*)
		  depdepl=
		  eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
		  if test -n "$deplibrary_names" ; then
		    for tmp in $deplibrary_names ; do
		      depdepl=$tmp
		    done
		    if test -f "$absdir/$objdir/$depdepl" ; then
		      depdepl="$absdir/$objdir/$depdepl"
		      darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
                      if test -z "$darwin_install_name"; then
                          darwin_install_name=`${OTOOL64} -L $depdepl  | awk '{if (NR == 2) {print $1;exit}}'`
                      fi
		      compiler_flags="$compiler_flags ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}"
		      linker_flags="$linker_flags -dylib_file ${darwin_install_name}:${depdepl}"
		      path=
		    fi
		  fi
		  ;;
		*)
		  path="-L$absdir/$objdir"
		  ;;
		esac
		else
		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
		  test -z "$libdir" && \
		    func_fatal_error "\`$deplib' is not a valid libtool archive"
		  test "$absdir" != "$libdir" && \
		    func_warning "\`$deplib' seems to be moved"

		  path="-L$absdir"
		fi
		;;
	      esac
	      case " $deplibs " in
	      *" $path "*) ;;
	      *) deplibs="$path $deplibs" ;;
	      esac
	    done
	  fi # link_all_deplibs != no
	fi # linkmode = lib
      done # for deplib in $libs
      if test "$pass" = link; then
	if test "$linkmode" = "prog"; then
	  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'`
	fi
      fi
      dependency_libs="$newdependency_libs"
      if test "$pass" = dlpreopen; then
	# Link the dlpreopened libraries before other libraries
	for deplib in $save_deplibs; do
	  deplibs="$deplib $deplibs"
	done
      fi
      if test "$pass" != dlopen; then
	if test "$pass" != conv; then
	  # Make sure lib_search_path contains only unique directories.
	  lib_search_path=
	  for dir in $newlib_search_path; do
	    case "$lib_search_path " in
	    *" $dir "*) ;;
	    *) lib_search_path="$lib_search_path $dir" ;;
	    esac
	  done
	  newlib_search_path=
	fi

	if test "$linkmode,$pass" != "prog,link"; then
	  vars="deplibs"
	else
	  vars="compile_deplibs finalize_deplibs"
	fi
	for var in $vars dependency_libs; do
	  # Add libraries to $var in reverse order
	  eval tmp_libs=\"\$$var\"
	  new_libs=
	  for deplib in $tmp_libs; do
	    # FIXME: Pedantically, this is the right thing to do, so
	    #        that some nasty dependency loop isn't accidentally
	    #        broken:
	    #new_libs="$deplib $new_libs"
	    # Pragmatically, this seems to cause very few problems in
	    # practice:
	    case $deplib in
	    -L*) new_libs="$deplib $new_libs" ;;
	    -R*) ;;
	    *)
	      # And here is the reason: when a library appears more
	      # than once as an explicit dependence of a library, or
	      # is implicitly linked in more than once by the
	      # compiler, it is considered special, and multiple
	      # occurrences thereof are not removed.  Compare this
	      # with having the same library being listed as a
	      # dependency of multiple other libraries: in this case,
	      # we know (pedantically, we assume) the library does not
	      # need to be listed more than once, so we keep only the
	      # last copy.  This is not always right, but it is rare
	      # enough that we require users that really mean to play
	      # such unportable linking tricks to link the library
	      # using -Wl,-lname, so that libtool does not consider it
	      # for duplicate removal.
	      case " $specialdeplibs " in
	      *" $deplib "*) new_libs="$deplib $new_libs" ;;
	      *)
		case " $new_libs " in
		*" $deplib "*) ;;
		*) new_libs="$deplib $new_libs" ;;
		esac
		;;
	      esac
	      ;;
	    esac
	  done
	  tmp_libs=
	  for deplib in $new_libs; do
	    case $deplib in
	    -L*)
	      case " $tmp_libs " in
	      *" $deplib "*) ;;
	      *) tmp_libs="$tmp_libs $deplib" ;;
	      esac
	      ;;
	    *) tmp_libs="$tmp_libs $deplib" ;;
	    esac
	  done
	  eval $var=\"$tmp_libs\"
	done # for var
      fi
      # Last step: remove runtime libs from dependency_libs
      # (they stay in deplibs)
      tmp_libs=
      for i in $dependency_libs ; do
	case " $predeps $postdeps $compiler_lib_search_path " in
	*" $i "*)
	  i=""
	  ;;
	esac
	if test -n "$i" ; then
	  tmp_libs="$tmp_libs $i"
	fi
      done
      dependency_libs=$tmp_libs
    done # for pass
    if test "$linkmode" = prog; then
      dlfiles="$newdlfiles"
    fi
    if test "$linkmode" = prog || test "$linkmode" = lib; then
      dlprefiles="$newdlprefiles"
    fi

    case $linkmode in
    oldlib)
      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
	func_warning "\`-dlopen' is ignored for archives"
      fi

      case " $deplibs" in
      *\ -l* | *\ -L*)
	func_warning "\`-l' and \`-L' are ignored for archives" ;;
      esac

      test -n "$rpath" && \
	func_warning "\`-rpath' is ignored for archives"

      test -n "$xrpath" && \
	func_warning "\`-R' is ignored for archives"

      test -n "$vinfo" && \
	func_warning "\`-version-info/-version-number' is ignored for archives"

      test -n "$release" && \
	func_warning "\`-release' is ignored for archives"

      test -n "$export_symbols$export_symbols_regex" && \
	func_warning "\`-export-symbols' is ignored for archives"

      # Now set the variables for building old libraries.
      build_libtool_libs=no
      oldlibs="$output"
      objs="$objs$old_deplibs"
      ;;

    lib)
      # Make sure we only generate libraries of the form `libNAME.la'.
      case $outputname in
      lib*)
	func_stripname 'lib' '.la' "$outputname"
	name=$func_stripname_result
	eval shared_ext=\"$shrext_cmds\"
	eval libname=\"$libname_spec\"
	;;
      *)
	test "$module" = no && \
	  func_fatal_help "libtool library \`$output' must begin with \`lib'"

	if test "$need_lib_prefix" != no; then
	  # Add the "lib" prefix for modules if required
	  func_stripname '' '.la' "$outputname"
	  name=$func_stripname_result
	  eval shared_ext=\"$shrext_cmds\"
	  eval libname=\"$libname_spec\"
	else
	  func_stripname '' '.la' "$outputname"
	  libname=$func_stripname_result
	fi
	;;
      esac

      if test -n "$objs"; then
	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 "*** Warning: Linking the shared library $output against the non-libtool"
	  $ECHO "*** objects $objs is not portable!"
	  libobjs="$libobjs $objs"
	fi
      fi

      test "$dlself" != no && \
	func_warning "\`-dlopen self' is ignored for libtool libraries"

      set dummy $rpath
      shift
      test "$#" -gt 1 && \
	func_warning "ignoring multiple \`-rpath's for a libtool library"

      install_libdir="$1"

      oldlibs=
      if test -z "$rpath"; then
	if test "$build_libtool_libs" = yes; then
	  # Building a libtool convenience library.
	  # Some compilers have problems with a `.al' extension so
	  # convenience libraries should have the same extension an
	  # archive normally would.
	  oldlibs="$output_objdir/$libname.$libext $oldlibs"
	  build_libtool_libs=convenience
	  build_old_libs=yes
	fi

	test -n "$vinfo" && \
	  func_warning "\`-version-info/-version-number' is ignored for convenience libraries"

	test -n "$release" && \
	  func_warning "\`-release' is ignored for convenience libraries"
      else

	# Parse the version information argument.
	save_ifs="$IFS"; IFS=':'
	set dummy $vinfo 0 0 0
	shift
	IFS="$save_ifs"

	test -n "$7" && \
	  func_fatal_help "too many parameters to \`-version-info'"

	# convert absolute version numbers to libtool ages
	# this retains compatibility with .la files and attempts
	# to make the code below a bit more comprehensible

	case $vinfo_number in
	yes)
	  number_major="$1"
	  number_minor="$2"
	  number_revision="$3"
	  #
	  # There are really only two kinds -- those that
	  # use the current revision as the major version
	  # and those that subtract age and use age as
	  # a minor version.  But, then there is irix
	  # which has an extra 1 added just for fun
	  #
	  case $version_type in
	  darwin|linux|osf|windows|none)
	    func_arith $number_major + $number_minor
	    current=$func_arith_result
	    age="$number_minor"
	    revision="$number_revision"
	    ;;
	  freebsd-aout|freebsd-elf|sunos)
	    current="$number_major"
	    revision="$number_minor"
	    age="0"
	    ;;
	  irix|nonstopux)
	    func_arith $number_major + $number_minor
	    current=$func_arith_result
	    age="$number_minor"
	    revision="$number_minor"
	    lt_irix_increment=no
	    ;;
	  esac
	  ;;
	no)
	  current="$1"
	  revision="$2"
	  age="$3"
	  ;;
	esac

	# Check that each of the things are valid numbers.
	case $current in
	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
	*)
	  func_error "CURRENT \`$current' must be a nonnegative integer"
	  func_fatal_error "\`$vinfo' is not valid version information"
	  ;;
	esac

	case $revision in
	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
	*)
	  func_error "REVISION \`$revision' must be a nonnegative integer"
	  func_fatal_error "\`$vinfo' is not valid version information"
	  ;;
	esac

	case $age in
	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
	*)
	  func_error "AGE \`$age' must be a nonnegative integer"
	  func_fatal_error "\`$vinfo' is not valid version information"
	  ;;
	esac

	if test "$age" -gt "$current"; then
	  func_error "AGE \`$age' is greater than the current interface number \`$current'"
	  func_fatal_error "\`$vinfo' is not valid version information"
	fi

	# Calculate the version variables.
	major=
	versuffix=
	verstring=
	case $version_type in
	none) ;;

	darwin)
	  # Like Linux, but with the current version available in
	  # verstring for coding it into the library header
	  func_arith $current - $age
	  major=.$func_arith_result
	  versuffix="$major.$age.$revision"
	  # Darwin ld doesn't like 0 for these options...
	  func_arith $current + 1
	  minor_current=$func_arith_result
	  xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
	  verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
	  ;;

	freebsd-aout)
	  major=".$current"
	  versuffix=".$current.$revision";
	  ;;

	freebsd-elf)
	  major=".$current"
	  versuffix=".$current"
	  ;;

	irix | nonstopux)
	  if test "X$lt_irix_increment" = "Xno"; then
	    func_arith $current - $age
	  else
	    func_arith $current - $age + 1
	  fi
	  major=$func_arith_result

	  case $version_type in
	    nonstopux) verstring_prefix=nonstopux ;;
	    *)         verstring_prefix=sgi ;;
	  esac
	  verstring="$verstring_prefix$major.$revision"

	  # Add in all the interfaces that we are compatible with.
	  loop=$revision
	  while test "$loop" -ne 0; do
	    func_arith $revision - $loop
	    iface=$func_arith_result
	    func_arith $loop - 1
	    loop=$func_arith_result
	    verstring="$verstring_prefix$major.$iface:$verstring"
	  done

	  # Before this point, $major must not contain `.'.
	  major=.$major
	  versuffix="$major.$revision"
	  ;;

	linux)
	  func_arith $current - $age
	  major=.$func_arith_result
	  versuffix="$major.$age.$revision"
	  ;;

	osf)
	  func_arith $current - $age
	  major=.$func_arith_result
	  versuffix=".$current.$age.$revision"
	  verstring="$current.$age.$revision"

	  # Add in all the interfaces that we are compatible with.
	  loop=$age
	  while test "$loop" -ne 0; do
	    func_arith $current - $loop
	    iface=$func_arith_result
	    func_arith $loop - 1
	    loop=$func_arith_result
	    verstring="$verstring:${iface}.0"
	  done

	  # Make executables depend on our current version.
	  verstring="$verstring:${current}.0"
	  ;;

	qnx)
	  major=".$current"
	  versuffix=".$current"
	  ;;

	sunos)
	  major=".$current"
	  versuffix=".$current.$revision"
	  ;;

	windows)
	  # Use '-' rather than '.', since we only want one
	  # extension on DOS 8.3 filesystems.
	  func_arith $current - $age
	  major=$func_arith_result
	  versuffix="-$major"
	  ;;

	*)
	  func_fatal_configuration "unknown library version type \`$version_type'"
	  ;;
	esac

	# Clear the version info if we defaulted, and they specified a release.
	if test -z "$vinfo" && test -n "$release"; then
	  major=
	  case $version_type in
	  darwin)
	    # we can't check for "0.0" in archive_cmds due to quoting
	    # problems, so we reset it completely
	    verstring=
	    ;;
	  *)
	    verstring="0.0"
	    ;;
	  esac
	  if test "$need_version" = no; then
	    versuffix=
	  else
	    versuffix=".0.0"
	  fi
	fi

	# Remove version info from name if versioning should be avoided
	if test "$avoid_version" = yes && test "$need_version" = no; then
	  major=
	  versuffix=
	  verstring=""
	fi

	# Check to see if the archive will have undefined symbols.
	if test "$allow_undefined" = yes; then
	  if test "$allow_undefined_flag" = unsupported; then
	    func_warning "undefined symbols not allowed in $host shared libraries"
	    build_libtool_libs=no
	    build_old_libs=yes
	  fi
	else
	  # Don't allow undefined symbols.
	  allow_undefined_flag="$no_undefined_flag"
	fi

      fi

      func_generate_dlsyms "$libname" "$libname" "yes"
      libobjs="$libobjs $symfileobj"
      test "X$libobjs" = "X " && libobjs=

      if test "$mode" != relink; then
	# Remove our outputs, but don't remove object files since they
	# may have been created when compiling PIC objects.
	removelist=
	tempremovelist=`$ECHO "$output_objdir/*"`
	for p in $tempremovelist; do
	  case $p in
	    *.$objext | *.gcno)
	       ;;
	    $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
	       if test "X$precious_files_regex" != "X"; then
		 if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
		 then
		   continue
		 fi
	       fi
	       removelist="$removelist $p"
	       ;;
	    *) ;;
	  esac
	done
	test -n "$removelist" && \
	  func_show_eval "${RM}r \$removelist"
      fi

      # Now set the variables for building old libraries.
      if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
	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`
      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"`
      #done

      if test -n "$xrpath"; then
	# If the user specified any rpath flags, then add them.
	temp_xrpath=
	for libdir in $xrpath; do
	  temp_xrpath="$temp_xrpath -R$libdir"
	  case "$finalize_rpath " in
	  *" $libdir "*) ;;
	  *) finalize_rpath="$finalize_rpath $libdir" ;;
	  esac
	done
	if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
	  dependency_libs="$temp_xrpath $dependency_libs"
	fi
      fi

      # Make sure dlfiles contains only unique files that won't be dlpreopened
      old_dlfiles="$dlfiles"
      dlfiles=
      for lib in $old_dlfiles; do
	case " $dlprefiles $dlfiles " in
	*" $lib "*) ;;
	*) dlfiles="$dlfiles $lib" ;;
	esac
      done

      # Make sure dlprefiles contains only unique files
      old_dlprefiles="$dlprefiles"
      dlprefiles=
      for lib in $old_dlprefiles; do
	case "$dlprefiles " in
	*" $lib "*) ;;
	*) dlprefiles="$dlprefiles $lib" ;;
	esac
      done

      if test "$build_libtool_libs" = yes; then
	if test -n "$rpath"; then
	  case $host in
	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc*)
	    # these systems don't actually have a c library (as such)!
	    ;;
	  *-*-rhapsody* | *-*-darwin1.[012])
	    # Rhapsody C library is in the System framework
	    deplibs="$deplibs System.ltframework"
	    ;;
	  *-*-netbsd*)
	    # Don't link with libc until the a.out ld.so is fixed.
	    ;;
	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
	    # Do not include libc due to us having libc/libc_r.
	    ;;
	  *-*-sco3.2v5* | *-*-sco5v6*)
	    # Causes problems with __ctype
	    ;;
	  *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
	    # Compiler inserts libc in the correct place for threads to work
	    ;;
	  *)
	    # Add libc to deplibs on all other systems if necessary.
	    if test "$build_libtool_need_lc" = "yes"; then
	      deplibs="$deplibs -lc"
	    fi
	    ;;
	  esac
	fi

	# Transform deplibs into only deplibs that can be linked in shared.
	name_save=$name
	libname_save=$libname
	release_save=$release
	versuffix_save=$versuffix
	major_save=$major
	# I'm not sure if I'm treating the release correctly.  I think
	# release should show up in the -l (ie -lgmp5) so we don't want to
	# add it in twice.  Is that correct?
	release=""
	versuffix=""
	major=""
	newdeplibs=
	droppeddeps=no
	case $deplibs_check_method in
	pass_all)
	  # Don't check for shared/static.  Everything works.
	  # This might be a little naive.  We might want to check
	  # whether the library exists or not.  But this is on
	  # osf3 & osf4 and I'm not really sure... Just
	  # implementing what was already the behavior.
	  newdeplibs=$deplibs
	  ;;
	test_compile)
	  # This code stresses the "libraries are programs" paradigm to its
	  # limits. Maybe even breaks it.  We compile a program, linking it
	  # against the deplibs as a proxy for the library.  Then we can check
	  # whether they linked in statically or dynamically with ldd.
	  $opt_dry_run || $RM conftest.c
	  cat > conftest.c <<EOF
	  int main() { return 0; }
EOF
	  $opt_dry_run || $RM conftest
	  if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
	    ldd_output=`ldd conftest`
	    for i in $deplibs; do
	      case $i in
	      -l*)
		func_stripname -l '' "$i"
		name=$func_stripname_result
		if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
		  case " $predeps $postdeps " in
		  *" $i "*)
		    newdeplibs="$newdeplibs $i"
		    i=""
		    ;;
		  esac
		fi
		if test -n "$i" ; then
		  libname=`eval "\\$ECHO \"$libname_spec\""`
		  deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
		  set dummy $deplib_matches; shift
		  deplib_match=$1
		  if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
		    newdeplibs="$newdeplibs $i"
		  else
		    droppeddeps=yes
		    $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."
		  fi
		fi
		;;
	      *)
		newdeplibs="$newdeplibs $i"
		;;
	      esac
	    done
	  else
	    # Error occurred in the first compile.  Let's try to salvage
	    # the situation: Compile a separate program for each library.
	    for i in $deplibs; do
	      case $i in
	      -l*)
		func_stripname -l '' "$i"
		name=$func_stripname_result
		$opt_dry_run || $RM conftest
		if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
		  ldd_output=`ldd conftest`
		  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
		    case " $predeps $postdeps " in
		    *" $i "*)
		      newdeplibs="$newdeplibs $i"
		      i=""
		      ;;
		    esac
		  fi
		  if test -n "$i" ; then
		    libname=`eval "\\$ECHO \"$libname_spec\""`
		    deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
		    set dummy $deplib_matches; shift
		    deplib_match=$1
		    if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
		      newdeplibs="$newdeplibs $i"
		    else
		      droppeddeps=yes
		      $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."
		    fi
		  fi
		else
		  droppeddeps=yes
		  $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."
		fi
		;;
	      *)
		newdeplibs="$newdeplibs $i"
		;;
	      esac
	    done
	  fi
	  ;;
	file_magic*)
	  set dummy $deplibs_check_method; shift
	  file_magic_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
	  for a_deplib in $deplibs; do
	    case $a_deplib in
	    -l*)
	      func_stripname -l '' "$a_deplib"
	      name=$func_stripname_result
	      if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
		case " $predeps $postdeps " in
		*" $a_deplib "*)
		  newdeplibs="$newdeplibs $a_deplib"
		  a_deplib=""
		  ;;
		esac
	      fi
	      if test -n "$a_deplib" ; then
		libname=`eval "\\$ECHO \"$libname_spec\""`
		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
		  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
		  for potent_lib in $potential_libs; do
		      # Follow soft links.
		      if ls -lLd "$potent_lib" 2>/dev/null |
			 $GREP " -> " >/dev/null; then
			continue
		      fi
		      # The statement above tries to avoid entering an
		      # endless loop below, in case of cyclic links.
		      # We might still enter an endless loop, since a link
		      # loop can be closed while we follow links,
		      # but so what?
		      potlib="$potent_lib"
		      while test -h "$potlib" 2>/dev/null; do
			potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
			case $potliblink in
			[\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
			*) potlib=`$ECHO "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
			esac
		      done
		      if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
			 $SED -e 10q |
			 $EGREP "$file_magic_regex" > /dev/null; then
			newdeplibs="$newdeplibs $a_deplib"
			a_deplib=""
			break 2
		      fi
		  done
		done
	      fi
	      if test -n "$a_deplib" ; then
		droppeddeps=yes
		$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"
		if test -z "$potlib" ; then
		  $ECHO "*** with $libname but no candidates were found. (...for file magic test)"
		else
		  $ECHO "*** with $libname and none of the candidates passed a file format test"
		  $ECHO "*** using a file magic. Last file checked: $potlib"
		fi
	      fi
	      ;;
	    *)
	      # Add a -L argument.
	      newdeplibs="$newdeplibs $a_deplib"
	      ;;
	    esac
	  done # Gone through all deplibs.
	  ;;
	match_pattern*)
	  set dummy $deplibs_check_method; shift
	  match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
	  for a_deplib in $deplibs; do
	    case $a_deplib in
	    -l*)
	      func_stripname -l '' "$a_deplib"
	      name=$func_stripname_result
	      if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
		case " $predeps $postdeps " in
		*" $a_deplib "*)
		  newdeplibs="$newdeplibs $a_deplib"
		  a_deplib=""
		  ;;
		esac
	      fi
	      if test -n "$a_deplib" ; then
		libname=`eval "\\$ECHO \"$libname_spec\""`
		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
		  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 | \
		       $EGREP "$match_pattern_regex" > /dev/null; then
		      newdeplibs="$newdeplibs $a_deplib"
		      a_deplib=""
		      break 2
		    fi
		  done
		done
	      fi
	      if test -n "$a_deplib" ; then
		droppeddeps=yes
		$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"
		if test -z "$potlib" ; then
		  $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)"
		else
		  $ECHO "*** with $libname and none of the candidates passed a file format test"
		  $ECHO "*** using a regex pattern. Last file checked: $potlib"
		fi
	      fi
	      ;;
	    *)
	      # Add a -L argument.
	      newdeplibs="$newdeplibs $a_deplib"
	      ;;
	    esac
	  done # Gone through all deplibs.
	  ;;
	none | unknown | *)
	  newdeplibs=""
	  tmp_deplibs=`$ECHO "X $deplibs" | $Xsed \
	      -e 's/ -lc$//' -e '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,,"`
	    done
	  fi
	  if $ECHO "X $tmp_deplibs" | $Xsed -e 's/[	 ]//g' |
	     $GREP . >/dev/null; then
	    $ECHO
	    if test "X$deplibs_check_method" = "Xnone"; then
	      $ECHO "*** Warning: inter-library dependencies are not supported in this platform."
	    else
	      $ECHO "*** Warning: inter-library dependencies are not known to be supported."
	    fi
	    $ECHO "*** All declared inter-library dependencies are being dropped."
	    droppeddeps=yes
	  fi
	  ;;
	esac
	versuffix=$versuffix_save
	major=$major_save
	release=$release_save
	libname=$libname_save
	name=$name_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 /'`
	  ;;
	esac

	if test "$droppeddeps" = yes; then
	  if test "$module" = yes; then
	    $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."
	    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."
	    fi
	    if test "$build_old_libs" = no; then
	      oldlibs="$output_objdir/$libname.$libext"
	      build_libtool_libs=module
	      build_old_libs=yes
	    else
	      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."

	    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."
	      if test "$build_old_libs" = no; then
		oldlibs="$output_objdir/$libname.$libext"
		build_libtool_libs=module
		build_old_libs=yes
	      else
		build_libtool_libs=no
	      fi
	    fi
	  fi
	fi
	# Done checking deplibs!
	deplibs=$newdeplibs
      fi
      # 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'`
	  ;;
      esac

      # move library search paths that coincide with paths to not yet
      # installed libraries to the beginning of the library search list
      new_libs=
      for path in $notinst_path; do
	case " $new_libs " in
	*" -L$path/$objdir "*) ;;
	*)
	  case " $deplibs " in
	  *" -L$path/$objdir "*)
	    new_libs="$new_libs -L$path/$objdir" ;;
	  esac
	  ;;
	esac
      done
      for deplib in $deplibs; do
	case $deplib in
	-L*)
	  case " $new_libs " in
	  *" $deplib "*) ;;
	  *) new_libs="$new_libs $deplib" ;;
	  esac
	  ;;
	*) new_libs="$new_libs $deplib" ;;
	esac
      done
      deplibs="$new_libs"

      # All the library-specific variables (install_libdir is set above).
      library_names=
      old_library=
      dlname=

      # Test again, we may have decided not to build it any more
      if test "$build_libtool_libs" = yes; then
	if test "$hardcode_into_libs" = yes; then
	  # Hardcode the library paths
	  hardcode_libdirs=
	  dep_rpath=
	  rpath="$finalize_rpath"
	  test "$mode" != relink && rpath="$compile_rpath$rpath"
	  for libdir in $rpath; do
	    if test -n "$hardcode_libdir_flag_spec"; then
	      if test -n "$hardcode_libdir_separator"; then
		if test -z "$hardcode_libdirs"; then
		  hardcode_libdirs="$libdir"
		else
		  # Just accumulate the unique libdirs.
		  case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
		  *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
		    ;;
		  *)
		    hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
		    ;;
		  esac
		fi
	      else
		eval flag=\"$hardcode_libdir_flag_spec\"
		dep_rpath="$dep_rpath $flag"
	      fi
	    elif test -n "$runpath_var"; then
	      case "$perm_rpath " in
	      *" $libdir "*) ;;
	      *) perm_rpath="$perm_rpath $libdir" ;;
	      esac
	    fi
	  done
	  # Substitute the hardcoded libdirs into the rpath.
	  if test -n "$hardcode_libdir_separator" &&
	     test -n "$hardcode_libdirs"; then
	    libdir="$hardcode_libdirs"
	    if test -n "$hardcode_libdir_flag_spec_ld"; then
	      eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
	    else
	      eval dep_rpath=\"$hardcode_libdir_flag_spec\"
	    fi
	  fi
	  if test -n "$runpath_var" && test -n "$perm_rpath"; then
	    # We should set the runpath_var.
	    rpath=
	    for dir in $perm_rpath; do
	      rpath="$rpath$dir:"
	    done
	    eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
	  fi
	  test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
	fi

	shlibpath="$finalize_shlibpath"
	test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
	if test -n "$shlibpath"; then
	  eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
	fi

	# Get the real and link names of the library.
	eval shared_ext=\"$shrext_cmds\"
	eval library_names=\"$library_names_spec\"
	set dummy $library_names
	shift
	realname="$1"
	shift

	if test -n "$soname_spec"; then
	  eval soname=\"$soname_spec\"
	else
	  soname="$realname"
	fi
	if test -z "$dlname"; then
	  dlname=$soname
	fi

	lib="$output_objdir/$realname"
	linknames=
	for link
	do
	  linknames="$linknames $link"
	done

	# Use standard objects if they are pic
	test -z "$pic_flag" && libobjs=`$ECHO "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
	test "X$libobjs" = "X " && libobjs=

	delfiles=
	if test -n "$export_symbols" && test -n "$include_expsyms"; then
	  $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
	  export_symbols="$output_objdir/$libname.uexp"
	  delfiles="$delfiles $export_symbols"
	fi

	orig_export_symbols=
	case $host_os in
	cygwin* | mingw* | cegcc*)
	  if test -n "$export_symbols" && test -z "$export_symbols_regex"; then
	    # exporting using user supplied symfile
	    if test "x`$SED 1q $export_symbols`" != xEXPORTS; then
	      # and it's NOT already a .def file. Must figure out
	      # which of the given symbols are data symbols and tag
	      # them as such. So, trigger use of export_symbols_cmds.
	      # export_symbols gets reassigned inside the "prepare
	      # the list of exported symbols" if statement, so the
	      # include_expsyms logic still works.
	      orig_export_symbols="$export_symbols"
	      export_symbols=
	      always_export_symbols=yes
	    fi
	  fi
	  ;;
	esac

	# Prepare the list of exported symbols
	if test -z "$export_symbols"; then
	  if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
	    func_verbose "generating symbol list for \`$libname.la'"
	    export_symbols="$output_objdir/$libname.exp"
	    $opt_dry_run || $RM $export_symbols
	    cmds=$export_symbols_cmds
	    save_ifs="$IFS"; IFS='~'
	    for cmd in $cmds; do
	      IFS="$save_ifs"
	      eval cmd=\"$cmd\"
	      func_len " $cmd"
	      len=$func_len_result
	      if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
		func_show_eval "$cmd" 'exit $?'
		skipped_export=false
	      else
		# The command line is too long to execute in one step.
		func_verbose "using reloadable object file for export list..."
		skipped_export=:
		# Break out early, otherwise skipped_export may be
		# set to false by a later but shorter cmd.
		break
	      fi
	    done
	    IFS="$save_ifs"
	    if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then
	      func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
	      func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
	    fi
	  fi
	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"'
	fi

	if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then
	  # The given exports_symbols file has to be filtered, so filter it.
	  func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
	  # FIXME: $output_objdir/$libname.filter potentially contains lots of
	  # 's' commands which not all seds can handle. GNU sed should be fine
	  # though. Also, the filter scales superlinearly with the number of
	  # global variables. join(1) would be nice here, but unfortunately
	  # isn't a blessed tool.
	  $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
	  delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"
	  export_symbols=$output_objdir/$libname.def
	  $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
	fi

	tmp_deplibs=
	for test_deplib in $deplibs; do
	  case " $convenience " in
	  *" $test_deplib "*) ;;
	  *)
	    tmp_deplibs="$tmp_deplibs $test_deplib"
	    ;;
	  esac
	done
	deplibs="$tmp_deplibs"

	if test -n "$convenience"; then
	  if test -n "$whole_archive_flag_spec" &&
	    test "$compiler_needs_object" = yes &&
	    test -z "$libobjs"; then
	    # extract the archives, so we have objects to list.
	    # TODO: could optimize this to just extract one archive.
	    whole_archive_flag_spec=
	  fi
	  if test -n "$whole_archive_flag_spec"; then
	    save_libobjs=$libobjs
	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
	    test "X$libobjs" = "X " && libobjs=
	  else
	    gentop="$output_objdir/${outputname}x"
	    generated="$generated $gentop"

	    func_extract_archives $gentop $convenience
	    libobjs="$libobjs $func_extract_archives_result"
	    test "X$libobjs" = "X " && libobjs=
	  fi
	fi

	if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
	  eval flag=\"$thread_safe_flag_spec\"
	  linker_flags="$linker_flags $flag"
	fi

	# Make a backup of the uninstalled library when relinking
	if test "$mode" = relink; then
	  $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?
	fi

	# Do each of the archive commands.
	if test "$module" = yes && test -n "$module_cmds" ; then
	  if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
	    eval test_cmds=\"$module_expsym_cmds\"
	    cmds=$module_expsym_cmds
	  else
	    eval test_cmds=\"$module_cmds\"
	    cmds=$module_cmds
	  fi
	else
	  if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
	    eval test_cmds=\"$archive_expsym_cmds\"
	    cmds=$archive_expsym_cmds
	  else
	    eval test_cmds=\"$archive_cmds\"
	    cmds=$archive_cmds
	  fi
	fi

	if test "X$skipped_export" != "X:" &&
	   func_len " $test_cmds" &&
	   len=$func_len_result &&
	   test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
	  :
	else
	  # The command line is too long to link in one step, link piecewise
	  # or, if using GNU ld and skipped_export is not :, use a linker
	  # script.

	  # Save the value of $output and $libobjs because we want to
	  # use them later.  If we have whole_archive_flag_spec, we
	  # want to use save_libobjs as it was before
	  # whole_archive_flag_spec was expanded, because we can't
	  # assume the linker understands whole_archive_flag_spec.
	  # This may have to be revisited, in case too many
	  # convenience libraries get linked in and end up exceeding
	  # the spec.
	  if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
	    save_libobjs=$libobjs
	  fi
	  save_output=$output
	  output_la=`$ECHO "X$output" | $Xsed -e "$basename"`

	  # Clear the reloadable object creation command queue and
	  # initialize k to one.
	  test_cmds=
	  concat_cmds=
	  objlist=
	  last_robj=
	  k=1

	  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
	    for obj in $save_libobjs
	    do
	      $ECHO "$obj" >> $output
	    done
	    $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
	    func_verbose "creating linker input file list: $output"
	    : > $output
	    set x $save_libobjs
	    shift
	    firstobj=
	    if test "$compiler_needs_object" = yes; then
	      firstobj="$1 "
	      shift
	    fi
	    for obj
	    do
	      $ECHO "$obj" >> $output
	    done
	    delfiles="$delfiles $output"
	    output=$firstobj\"$file_list_spec$output\"
	  else
	    if test -n "$save_libobjs"; then
	      func_verbose "creating reloadable object files..."
	      output=$output_objdir/$output_la-${k}.$objext
	      eval test_cmds=\"$reload_cmds\"
	      func_len " $test_cmds"
	      len0=$func_len_result
	      len=$len0

	      # Loop over the list of objects to be linked.
	      for obj in $save_libobjs
	      do
		func_len " $obj"
		func_arith $len + $func_len_result
		len=$func_arith_result
		if test "X$objlist" = X ||
		   test "$len" -lt "$max_cmd_len"; then
		  func_append objlist " $obj"
		else
		  # The command $test_cmds is almost too long, add a
		  # 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\"
		  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\"
		  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
		  func_len " $last_robj"
		  func_arith $len0 + $func_len_result
		  len=$func_arith_result
		fi
	      done
	      # Handle the remaining objects by creating one last
	      # 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\"
	      if test -n "$last_robj"; then
	        eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\"
	      fi
	      delfiles="$delfiles $output"

	    else
	      output=
	    fi

	    if ${skipped_export-false}; then
	      func_verbose "generating symbol list for \`$libname.la'"
	      export_symbols="$output_objdir/$libname.exp"
	      $opt_dry_run || $RM $export_symbols
	      libobjs=$output
	      # Append the command to create the export file.
	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
	      eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\"
	      if test -n "$last_robj"; then
		eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
	      fi
	    fi

	    test -n "$save_libobjs" &&
	      func_verbose "creating a temporary reloadable object file: $output"

	    # Loop through the commands generated above and execute them.
	    save_ifs="$IFS"; IFS='~'
	    for cmd in $concat_cmds; do
	      IFS="$save_ifs"
	      $opt_silent || {
		  func_quote_for_expand "$cmd"
		  eval "func_echo $func_quote_for_expand_result"
	      }
	      $opt_dry_run || eval "$cmd" || {
		lt_exit=$?

		# Restore the uninstalled library and exit
		if test "$mode" = relink; then
		  ( cd "$output_objdir" && \
		    $RM "${realname}T" && \
		    $MV "${realname}U" "$realname" )
		fi

		exit $lt_exit
	      }
	    done
	    IFS="$save_ifs"

	    if test -n "$export_symbols_regex" && ${skipped_export-false}; then
	      func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
	      func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
	    fi
	  fi

          if ${skipped_export-false}; then
	    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"'
	    fi

	    if test -n "$orig_export_symbols"; then
	      # The given exports_symbols file has to be filtered, so filter it.
	      func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
	      # FIXME: $output_objdir/$libname.filter potentially contains lots of
	      # 's' commands which not all seds can handle. GNU sed should be fine
	      # though. Also, the filter scales superlinearly with the number of
	      # global variables. join(1) would be nice here, but unfortunately
	      # isn't a blessed tool.
	      $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
	      delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"
	      export_symbols=$output_objdir/$libname.def
	      $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
	    fi
	  fi

	  libobjs=$output
	  # Restore the value of output.
	  output=$save_output

	  if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
	    test "X$libobjs" = "X " && libobjs=
	  fi
	  # Expand the library linking commands again to reset the
	  # value of $libobjs for piecewise linking.

	  # Do each of the archive commands.
	  if test "$module" = yes && test -n "$module_cmds" ; then
	    if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
	      cmds=$module_expsym_cmds
	    else
	      cmds=$module_cmds
	    fi
	  else
	    if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
	      cmds=$archive_expsym_cmds
	    else
	      cmds=$archive_cmds
	    fi
	  fi
	fi

	if test -n "$delfiles"; then
	  # Append the command to remove temporary files to $cmds.
	  eval cmds=\"\$cmds~\$RM $delfiles\"
	fi

	# Add any objects from preloaded convenience libraries
	if test -n "$dlprefiles"; then
	  gentop="$output_objdir/${outputname}x"
	  generated="$generated $gentop"

	  func_extract_archives $gentop $dlprefiles
	  libobjs="$libobjs $func_extract_archives_result"
	  test "X$libobjs" = "X " && libobjs=
	fi

	save_ifs="$IFS"; IFS='~'
	for cmd in $cmds; do
	  IFS="$save_ifs"
	  eval cmd=\"$cmd\"
	  $opt_silent || {
	    func_quote_for_expand "$cmd"
	    eval "func_echo $func_quote_for_expand_result"
	  }
	  $opt_dry_run || eval "$cmd" || {
	    lt_exit=$?

	    # Restore the uninstalled library and exit
	    if test "$mode" = relink; then
	      ( cd "$output_objdir" && \
	        $RM "${realname}T" && \
		$MV "${realname}U" "$realname" )
	    fi

	    exit $lt_exit
	  }
	done
	IFS="$save_ifs"

	# Restore the uninstalled library and exit
	if test "$mode" = relink; then
	  $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?

	  if test -n "$convenience"; then
	    if test -z "$whole_archive_flag_spec"; then
	      func_show_eval '${RM}r "$gentop"'
	    fi
	  fi

	  exit $EXIT_SUCCESS
	fi

	# Create links to the real library.
	for linkname in $linknames; do
	  if test "$realname" != "$linkname"; then
	    func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?'
	  fi
	done

	# If -module or -export-dynamic was specified, set the dlname.
	if test "$module" = yes || test "$export_dynamic" = yes; then
	  # On all known operating systems, these are identical.
	  dlname="$soname"
	fi
      fi
      ;;

    obj)
      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
	func_warning "\`-dlopen' is ignored for objects"
      fi

      case " $deplibs" in
      *\ -l* | *\ -L*)
	func_warning "\`-l' and \`-L' are ignored for objects" ;;
      esac

      test -n "$rpath" && \
	func_warning "\`-rpath' is ignored for objects"

      test -n "$xrpath" && \
	func_warning "\`-R' is ignored for objects"

      test -n "$vinfo" && \
	func_warning "\`-version-info' is ignored for objects"

      test -n "$release" && \
	func_warning "\`-release' is ignored for objects"

      case $output in
      *.lo)
	test -n "$objs$old_deplibs" && \
	  func_fatal_error "cannot build library object \`$output' from non-libtool objects"

	libobj=$output
	func_lo2o "$libobj"
	obj=$func_lo2o_result
	;;
      *)
	libobj=
	obj="$output"
	;;
      esac

      # Delete the old objects.
      $opt_dry_run || $RM $obj $libobj

      # Objects from convenience libraries.  This assumes
      # single-version convenience libraries.  Whenever we create
      # different ones for PIC/non-PIC, this we'll have to duplicate
      # the extraction.
      reload_conv_objs=
      gentop=
      # reload_cmds runs $LD directly, so let us get rid of
      # -Wl from whole_archive_flag_spec and hope we can get by with
      # turning comma into space..
      wl=

      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'`
	else
	  gentop="$output_objdir/${obj}x"
	  generated="$generated $gentop"

	  func_extract_archives $gentop $convenience
	  reload_conv_objs="$reload_objs $func_extract_archives_result"
	fi
      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

      output="$obj"
      func_execute_cmds "$reload_cmds" 'exit $?'

      # Exit if we aren't doing a library object file.
      if test -z "$libobj"; then
	if test -n "$gentop"; then
	  func_show_eval '${RM}r "$gentop"'
	fi

	exit $EXIT_SUCCESS
      fi

      if test "$build_libtool_libs" != yes; then
	if test -n "$gentop"; then
	  func_show_eval '${RM}r "$gentop"'
	fi

	# Create an invalid libtool object if no PIC, so that we don't
	# accidentally link it into a program.
	# $show "echo timestamp > $libobj"
	# $opt_dry_run || eval "echo timestamp > $libobj" || exit $?
	exit $EXIT_SUCCESS
      fi

      if test -n "$pic_flag" || test "$pic_mode" != default; then
	# Only do commands if we really have different PIC objects.
	reload_objs="$libobjs $reload_conv_objs"
	output="$libobj"
	func_execute_cmds "$reload_cmds" 'exit $?'
      fi

      if test -n "$gentop"; then
	func_show_eval '${RM}r "$gentop"'
      fi

      exit $EXIT_SUCCESS
      ;;

    prog)
      case $host in
	*cygwin*) func_stripname '' '.exe' "$output"
	          output=$func_stripname_result.exe;;
      esac
      test -n "$vinfo" && \
	func_warning "\`-version-info' is ignored for programs"

      test -n "$release" && \
	func_warning "\`-release' is ignored for programs"

      test "$preload" = yes \
        && test "$dlopen_support" = unknown \
	&& test "$dlopen_self" = unknown \
	&& test "$dlopen_self_static" = unknown && \
	  func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support."

      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 /'`
	;;
      esac

      case $host in
      *-*-darwin*)
	# Don't allow lazy linking, it breaks C++ global constructors
	# But is supposedly fixed on 10.4 or later (yay!).
	if test "$tagname" = CXX ; then
	  case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
	    10.[0123])
	      compile_command="$compile_command ${wl}-bind_at_load"
	      finalize_command="$finalize_command ${wl}-bind_at_load"
	    ;;
	  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'`
	;;
      esac


      # move library search paths that coincide with paths to not yet
      # installed libraries to the beginning of the library search list
      new_libs=
      for path in $notinst_path; do
	case " $new_libs " in
	*" -L$path/$objdir "*) ;;
	*)
	  case " $compile_deplibs " in
	  *" -L$path/$objdir "*)
	    new_libs="$new_libs -L$path/$objdir" ;;
	  esac
	  ;;
	esac
      done
      for deplib in $compile_deplibs; do
	case $deplib in
	-L*)
	  case " $new_libs " in
	  *" $deplib "*) ;;
	  *) new_libs="$new_libs $deplib" ;;
	  esac
	  ;;
	*) new_libs="$new_libs $deplib" ;;
	esac
      done
      compile_deplibs="$new_libs"


      compile_command="$compile_command $compile_deplibs"
      finalize_command="$finalize_command $finalize_deplibs"

      if test -n "$rpath$xrpath"; then
	# If the user specified any rpath flags, then add them.
	for libdir in $rpath $xrpath; do
	  # This is the magic to use -rpath.
	  case "$finalize_rpath " in
	  *" $libdir "*) ;;
	  *) finalize_rpath="$finalize_rpath $libdir" ;;
	  esac
	done
      fi

      # Now hardcode the library paths
      rpath=
      hardcode_libdirs=
      for libdir in $compile_rpath $finalize_rpath; do
	if test -n "$hardcode_libdir_flag_spec"; then
	  if test -n "$hardcode_libdir_separator"; then
	    if test -z "$hardcode_libdirs"; then
	      hardcode_libdirs="$libdir"
	    else
	      # Just accumulate the unique libdirs.
	      case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
		;;
	      *)
		hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
		;;
	      esac
	    fi
	  else
	    eval flag=\"$hardcode_libdir_flag_spec\"
	    rpath="$rpath $flag"
	  fi
	elif test -n "$runpath_var"; then
	  case "$perm_rpath " in
	  *" $libdir "*) ;;
	  *) perm_rpath="$perm_rpath $libdir" ;;
	  esac
	fi
	case $host in
	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
	  testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'`
	  case :$dllsearchpath: in
	  *":$libdir:"*) ;;
	  ::) dllsearchpath=$libdir;;
	  *) dllsearchpath="$dllsearchpath:$libdir";;
	  esac
	  case :$dllsearchpath: in
	  *":$testbindir:"*) ;;
	  ::) dllsearchpath=$testbindir;;
	  *) dllsearchpath="$dllsearchpath:$testbindir";;
	  esac
	  ;;
	esac
      done
      # Substitute the hardcoded libdirs into the rpath.
      if test -n "$hardcode_libdir_separator" &&
	 test -n "$hardcode_libdirs"; then
	libdir="$hardcode_libdirs"
	eval rpath=\" $hardcode_libdir_flag_spec\"
      fi
      compile_rpath="$rpath"

      rpath=
      hardcode_libdirs=
      for libdir in $finalize_rpath; do
	if test -n "$hardcode_libdir_flag_spec"; then
	  if test -n "$hardcode_libdir_separator"; then
	    if test -z "$hardcode_libdirs"; then
	      hardcode_libdirs="$libdir"
	    else
	      # Just accumulate the unique libdirs.
	      case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
		;;
	      *)
		hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
		;;
	      esac
	    fi
	  else
	    eval flag=\"$hardcode_libdir_flag_spec\"
	    rpath="$rpath $flag"
	  fi
	elif test -n "$runpath_var"; then
	  case "$finalize_perm_rpath " in
	  *" $libdir "*) ;;
	  *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
	  esac
	fi
      done
      # Substitute the hardcoded libdirs into the rpath.
      if test -n "$hardcode_libdir_separator" &&
	 test -n "$hardcode_libdirs"; then
	libdir="$hardcode_libdirs"
	eval rpath=\" $hardcode_libdir_flag_spec\"
      fi
      finalize_rpath="$rpath"

      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`
      fi

      func_generate_dlsyms "$outputname" "@PROGRAM@" "no"

      # template prelinking step
      if test -n "$prelink_cmds"; then
	func_execute_cmds "$prelink_cmds" 'exit $?'
      fi

      wrappers_required=yes
      case $host in
      *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
        fi
        ;;
      esac
      if test "$wrappers_required" = no; then
	# Replace the output file specification.
	compile_command=`$ECHO "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
	link_command="$compile_command$compile_rpath"

	# We have no uninstalled library dependencies, so finalize right now.
	exit_status=0
	func_show_eval "$link_command" 'exit_status=$?'

	# Delete the generated files.
	if test -f "$output_objdir/${outputname}S.${objext}"; then
	  func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"'
	fi

	exit $exit_status
      fi

      if test -n "$compile_shlibpath$finalize_shlibpath"; then
	compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
      fi
      if test -n "$finalize_shlibpath"; then
	finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
      fi

      compile_var=
      finalize_var=
      if test -n "$runpath_var"; then
	if test -n "$perm_rpath"; then
	  # We should set the runpath_var.
	  rpath=
	  for dir in $perm_rpath; do
	    rpath="$rpath$dir:"
	  done
	  compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
	fi
	if test -n "$finalize_perm_rpath"; then
	  # We should set the runpath_var.
	  rpath=
	  for dir in $finalize_perm_rpath; do
	    rpath="$rpath$dir:"
	  done
	  finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
	fi
      fi

      if test "$no_install" = yes; then
	# 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'`
	# Delete the old output file.
	$opt_dry_run || $RM $output
	# Link the executable and exit
	func_show_eval "$link_command" 'exit $?'
	exit $EXIT_SUCCESS
      fi

      if test "$hardcode_action" = relink; then
	# Fast installation is not supported
	link_command="$compile_var$compile_command$compile_rpath"
	relink_command="$finalize_var$finalize_command$finalize_rpath"

	func_warning "this platform does not like uninstalled shared libraries"
	func_warning "\`$output' will be relinked during installation"
      else
	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'`
	  else
	    # fast_install is set to needless
	    relink_command=
	  fi
	else
	  link_command="$compile_var$compile_command$compile_rpath"
	  relink_command="$finalize_var$finalize_command$finalize_rpath"
	fi
      fi

      # Replace the output file specification.
      link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`

      # Delete the old output files.
      $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname

      func_show_eval "$link_command" 'exit $?'

      # Now create the wrapper script.
      func_verbose "creating $output"

      # Quote the relink command for shipping.
      if test -n "$relink_command"; then
	# Preserve any variables that may affect compiler behavior
	for var in $variables_saved_for_relink; do
	  if eval test -z \"\${$var+set}\"; then
	    relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
	  elif eval var_value=\$$var; test -z "$var_value"; then
	    relink_command="$var=; export $var; $relink_command"
	  else
	    func_quote_for_eval "$var_value"
	    relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
	  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"`
      fi

      # Only actually do things if not in dry run mode.
      $opt_dry_run || {
	# win32 will think the script is a binary if it has
	# a .exe suffix, so we strip it off here.
	case $output in
	  *.exe) func_stripname '' '.exe' "$output"
	         output=$func_stripname_result ;;
	esac
	# test for cygwin because mv fails w/o .exe extensions
	case $host in
	  *cygwin*)
	    exeext=.exe
	    func_stripname '' '.exe' "$outputname"
	    outputname=$func_stripname_result ;;
	  *) exeext= ;;
	esac
	case $host in
	  *cygwin* | *mingw* )
	    func_dirname_and_basename "$output" "" "."
	    output_name=$func_basename_result
	    output_path=$func_dirname_result
	    cwrappersource="$output_path/$objdir/lt-$output_name.c"
	    cwrapper="$output_path/$output_name.exe"
	    $RM $cwrappersource $cwrapper
	    trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15

	    func_emit_cwrapperexe_src > $cwrappersource

	    # The wrapper executable is built using the $host compiler,
	    # because it contains $host paths and files. If cross-
	    # compiling, it, like the target executable, must be
	    # executed on the $host or under an emulation environment.
	    $opt_dry_run || {
	      $LTCC $LTCFLAGS -o $cwrapper $cwrappersource
	      $STRIP $cwrapper
	    }

	    # Now, create the wrapper script for func_source use:
	    func_ltwrapper_scriptname $cwrapper
	    $RM $func_ltwrapper_scriptname_result
	    trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15
	    $opt_dry_run || {
	      # note: this script will not be executed, so do not chmod.
	      if test "x$build" = "x$host" ; then
		$cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result
	      else
		func_emit_wrapper no > $func_ltwrapper_scriptname_result
	      fi
	    }
	  ;;
	  * )
	    $RM $output
	    trap "$RM $output; exit $EXIT_FAILURE" 1 2 15

	    func_emit_wrapper no > $output
	    chmod +x $output
	  ;;
	esac
      }
      exit $EXIT_SUCCESS
      ;;
    esac

    # See if we need to build an old-fashioned archive.
    for oldlib in $oldlibs; do

      if test "$build_libtool_libs" = convenience; then
	oldobjs="$libobjs_save $symfileobj"
	addlibs="$convenience"
	build_libtool_libs=no
      else
	if test "$build_libtool_libs" = module; then
	  oldobjs="$libobjs_save"
	  build_libtool_libs=no
	else
	  oldobjs="$old_deplibs $non_pic_objects"
	  if test "$preload" = yes && test -f "$symfileobj"; then
	    oldobjs="$oldobjs $symfileobj"
	  fi
	fi
	addlibs="$old_convenience"
      fi

      if test -n "$addlibs"; then
	gentop="$output_objdir/${outputname}x"
	generated="$generated $gentop"

	func_extract_archives $gentop $addlibs
	oldobjs="$oldobjs $func_extract_archives_result"
      fi

      # Do each command in the archive commands.
      if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
	cmds=$old_archive_from_new_cmds
      else

	# Add any objects from preloaded convenience libraries
	if test -n "$dlprefiles"; then
	  gentop="$output_objdir/${outputname}x"
	  generated="$generated $gentop"

	  func_extract_archives $gentop $dlprefiles
	  oldobjs="$oldobjs $func_extract_archives_result"
	fi

	# POSIX demands no paths to be encoded in archives.  We have
	# to avoid creating archives with duplicate basenames if we
	# might have to extract them afterwards, e.g., when creating a
	# static archive out of a convenience library, or when linking
	# the entirety of a libtool archive into another (currently
	# not supported by libtool).
	if (for obj in $oldobjs
	    do
	      func_basename "$obj"
	      $ECHO "$func_basename_result"
	    done | sort | sort -uc >/dev/null 2>&1); then
	  :
	else
	  $ECHO "copying selected object files to avoid basename conflicts..."
	  gentop="$output_objdir/${outputname}x"
	  generated="$generated $gentop"
	  func_mkdir_p "$gentop"
	  save_oldobjs=$oldobjs
	  oldobjs=
	  counter=1
	  for obj in $save_oldobjs
	  do
	    func_basename "$obj"
	    objbase="$func_basename_result"
	    case " $oldobjs " in
	    " ") oldobjs=$obj ;;
	    *[\ /]"$objbase "*)
	      while :; do
		# Make sure we don't pick an alternate name that also
		# overlaps.
		newobj=lt$counter-$objbase
		func_arith $counter + 1
		counter=$func_arith_result
		case " $oldobjs " in
		*[\ /]"$newobj "*) ;;
		*) if test ! -f "$gentop/$newobj"; then break; fi ;;
		esac
	      done
	      func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
	      oldobjs="$oldobjs $gentop/$newobj"
	      ;;
	    *) oldobjs="$oldobjs $obj" ;;
	    esac
	  done
	fi
	eval cmds=\"$old_archive_cmds\"

	func_len " $cmds"
	len=$func_len_result
	if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
	  cmds=$old_archive_cmds
	else
	  # the command line is too long to link in one step, link in parts
	  func_verbose "using piecewise archive linking..."
	  save_RANLIB=$RANLIB
	  RANLIB=:
	  objlist=
	  concat_cmds=
	  save_oldobjs=$oldobjs
	  oldobjs=
	  # Is there a better way of finding the last object in the list?
	  for obj in $save_oldobjs
	  do
	    last_oldobj=$obj
	  done
	  eval test_cmds=\"$old_archive_cmds\"
	  func_len " $test_cmds"
	  len0=$func_len_result
	  len=$len0
	  for obj in $save_oldobjs
	  do
	    func_len " $obj"
	    func_arith $len + $func_len_result
	    len=$func_arith_result
	    func_append objlist " $obj"
	    if test "$len" -lt "$max_cmd_len"; then
	      :
	    else
	      # the above command should be used before it gets too long
	      oldobjs=$objlist
	      if test "$obj" = "$last_oldobj" ; then
		RANLIB=$save_RANLIB
	      fi
	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
	      eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
	      objlist=
	      len=$len0
	    fi
	  done
	  RANLIB=$save_RANLIB
	  oldobjs=$objlist
	  if test "X$oldobjs" = "X" ; then
	    eval cmds=\"\$concat_cmds\"
	  else
	    eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
	  fi
	fi
      fi
      func_execute_cmds "$cmds" 'exit $?'
    done

    test -n "$generated" && \
      func_show_eval "${RM}r$generated"

    # Now create the libtool archive.
    case $output in
    *.la)
      old_library=
      test "$build_old_libs" = yes && old_library="$libname.$libext"
      func_verbose "creating $output"

      # Preserve any variables that may affect compiler behavior
      for var in $variables_saved_for_relink; do
	if eval test -z \"\${$var+set}\"; then
	  relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
	elif eval var_value=\$$var; test -z "$var_value"; then
	  relink_command="$var=; export $var; $relink_command"
	else
	  func_quote_for_eval "$var_value"
	  relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
	fi
      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"`
      if test "$hardcode_automatic" = yes ; then
	relink_command=
      fi

      # Only create the output if not a dry run.
      $opt_dry_run || {
	for installed in no yes; do
	  if test "$installed" = yes; then
	    if test -z "$install_libdir"; then
	      break
	    fi
	    output="$output_objdir/$outputname"i
	    # Replace all uninstalled libtool libraries with the installed ones
	    newdependency_libs=
	    for deplib in $dependency_libs; do
	      case $deplib in
	      *.la)
		func_basename "$deplib"
		name="$func_basename_result"
		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
		test -z "$libdir" && \
		  func_fatal_error "\`$deplib' is not a valid libtool archive"
		newdependency_libs="$newdependency_libs $libdir/$name"
		;;
	      *) newdependency_libs="$newdependency_libs $deplib" ;;
	      esac
	    done
	    dependency_libs="$newdependency_libs"
	    newdlfiles=

	    for lib in $dlfiles; do
	      case $lib in
	      *.la)
	        func_basename "$lib"
		name="$func_basename_result"
		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
		test -z "$libdir" && \
		  func_fatal_error "\`$lib' is not a valid libtool archive"
		newdlfiles="$newdlfiles $libdir/$name"
		;;
	      *) newdlfiles="$newdlfiles $lib" ;;
	      esac
	    done
	    dlfiles="$newdlfiles"
	    newdlprefiles=
	    for lib in $dlprefiles; do
	      case $lib in
	      *.la)
		# Only pass preopened files to the pseudo-archive (for
		# eventual linking with the app. that links it) if we
		# didn't already link the preopened objects directly into
		# the library:
		func_basename "$lib"
		name="$func_basename_result"
		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
		test -z "$libdir" && \
		  func_fatal_error "\`$lib' is not a valid libtool archive"
		newdlprefiles="$newdlprefiles $libdir/$name"
		;;
	      esac
	    done
	    dlprefiles="$newdlprefiles"
	  else
	    newdlfiles=
	    for lib in $dlfiles; do
	      case $lib in
		[\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
		*) abs=`pwd`"/$lib" ;;
	      esac
	      newdlfiles="$newdlfiles $abs"
	    done
	    dlfiles="$newdlfiles"
	    newdlprefiles=
	    for lib in $dlprefiles; do
	      case $lib in
		[\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
		*) abs=`pwd`"/$lib" ;;
	      esac
	      newdlprefiles="$newdlprefiles $abs"
	    done
	    dlprefiles="$newdlprefiles"
	  fi
	  $RM $output
	  # place dlname in correct position for cygwin
	  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 ;;
	  esac
	  $ECHO > $output "\
# $outputname - a libtool library file
# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
#
# Please DO NOT delete this file!
# It is necessary for linking the library.

# The name that we can dlopen(3).
dlname='$tdlname'

# Names of this library.
library_names='$library_names'

# The name of the static archive.
old_library='$old_library'

# Linker flags that can not go in dependency_libs.
inherited_linker_flags='$new_inherited_linker_flags'

# Libraries that this one depends upon.
dependency_libs='$dependency_libs'

# Names of additional weak libraries provided by this library
weak_library_names='$weak_libs'

# Version information for $libname.
current=$current
age=$age
revision=$revision

# Is this an already installed library?
installed=$installed

# Should we warn about portability when linking against -modules?
shouldnotlink=$module

# Files to dlopen/dlpreopen
dlopen='$dlfiles'
dlpreopen='$dlprefiles'

# Directory that this library needs to be installed in:
libdir='$install_libdir'"
	  if test "$installed" = no && test "$need_relink" = yes; then
	    $ECHO >> $output "\
relink_command=\"$relink_command\""
	  fi
	done
      }

      # Do a symbolic link so that the libtool archive can be found in
      # LD_LIBRARY_PATH before the program is installed.
      func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?'
      ;;
    esac
    exit $EXIT_SUCCESS
}

{ test "$mode" = link || test "$mode" = relink; } &&
    func_mode_link ${1+"$@"}


# func_mode_uninstall arg...
func_mode_uninstall ()
{
    $opt_debug
    RM="$nonopt"
    files=
    rmforce=
    exit_status=0

    # This variable tells wrapper scripts just to set variables rather
    # than running their programs.
    libtool_install_magic="$magic"

    for arg
    do
      case $arg in
      -f) RM="$RM $arg"; rmforce=yes ;;
      -*) RM="$RM $arg" ;;
      *) files="$files $arg" ;;
      esac
    done

    test -z "$RM" && \
      func_fatal_help "you must specify an RM program"

    rmdirs=

    origobjdir="$objdir"
    for file in $files; do
      func_dirname "$file" "" "."
      dir="$func_dirname_result"
      if test "X$dir" = X.; then
	objdir="$origobjdir"
      else
	objdir="$dir/$origobjdir"
      fi
      func_basename "$file"
      name="$func_basename_result"
      test "$mode" = uninstall && objdir="$dir"

      # Remember objdir for removal later, being careful to avoid duplicates
      if test "$mode" = clean; then
	case " $rmdirs " in
	  *" $objdir "*) ;;
	  *) rmdirs="$rmdirs $objdir" ;;
	esac
      fi

      # Don't error if the file doesn't exist and rm -f was used.
      if { test -L "$file"; } >/dev/null 2>&1 ||
	 { test -h "$file"; } >/dev/null 2>&1 ||
	 test -f "$file"; then
	:
      elif test -d "$file"; then
	exit_status=1
	continue
      elif test "$rmforce" = yes; then
	continue
      fi

      rmfiles="$file"

      case $name in
      *.la)
	# Possibly a libtool archive, so verify it.
	if func_lalib_p "$file"; then
	  func_source $dir/$name

	  # Delete the libtool libraries and symlinks.
	  for n in $library_names; do
	    rmfiles="$rmfiles $objdir/$n"
	  done
	  test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"

	  case "$mode" in
	  clean)
	    case "  $library_names " in
	    # "  " in the beginning catches empty $dlname
	    *" $dlname "*) ;;
	    *) rmfiles="$rmfiles $objdir/$dlname" ;;
	    esac
	    test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
	    ;;
	  uninstall)
	    if test -n "$library_names"; then
	      # Do each command in the postuninstall commands.
	      func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
	    fi

	    if test -n "$old_library"; then
	      # Do each command in the old_postuninstall commands.
	      func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
	    fi
	    # FIXME: should reinstall the best remaining shared library.
	    ;;
	  esac
	fi
	;;

      *.lo)
	# Possibly a libtool object, so verify it.
	if func_lalib_p "$file"; then

	  # Read the .lo file
	  func_source $dir/$name

	  # Add PIC object to the list of files to remove.
	  if test -n "$pic_object" &&
	     test "$pic_object" != none; then
	    rmfiles="$rmfiles $dir/$pic_object"
	  fi

	  # Add non-PIC object to the list of files to remove.
	  if test -n "$non_pic_object" &&
	     test "$non_pic_object" != none; then
	    rmfiles="$rmfiles $dir/$non_pic_object"
	  fi
	fi
	;;

      *)
	if test "$mode" = clean ; then
	  noexename=$name
	  case $file in
	  *.exe)
	    func_stripname '' '.exe' "$file"
	    file=$func_stripname_result
	    func_stripname '' '.exe' "$name"
	    noexename=$func_stripname_result
	    # $file with .exe has already been added to rmfiles,
	    # add $file without .exe
	    rmfiles="$rmfiles $file"
	    ;;
	  esac
	  # Do a test to see if this is a libtool program.
	  if func_ltwrapper_p "$file"; then
	    if func_ltwrapper_executable_p "$file"; then
	      func_ltwrapper_scriptname "$file"
	      relink_command=
	      func_source $func_ltwrapper_scriptname_result
	      rmfiles="$rmfiles $func_ltwrapper_scriptname_result"
	    else
	      relink_command=
	      func_source $dir/$noexename
	    fi

	    # note $name still contains .exe if it was in $file originally
	    # as does the version of $file that was added into $rmfiles
	    rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}"
	    if test "$fast_install" = yes && test -n "$relink_command"; then
	      rmfiles="$rmfiles $objdir/lt-$name"
	    fi
	    if test "X$noexename" != "X$name" ; then
	      rmfiles="$rmfiles $objdir/lt-${noexename}.c"
	    fi
	  fi
	fi
	;;
      esac
      func_show_eval "$RM $rmfiles" 'exit_status=1'
    done
    objdir="$origobjdir"

    # Try to remove the ${objdir}s in the directories where we deleted files
    for dir in $rmdirs; do
      if test -d "$dir"; then
	func_show_eval "rmdir $dir >/dev/null 2>&1"
      fi
    done

    exit $exit_status
}

{ test "$mode" = uninstall || test "$mode" = clean; } &&
    func_mode_uninstall ${1+"$@"}

test -z "$mode" && {
  help="$generic_help"
  func_fatal_help "you must specify a MODE"
}

test -z "$exec_cmd" && \
  func_fatal_help "invalid operation mode \`$mode'"

if test -n "$exec_cmd"; then
  eval exec "$exec_cmd"
  exit $EXIT_FAILURE
fi

exit $exit_status


# The TAGs below are defined such that we never get into a situation
# in which we disable both kinds of libraries.  Given conflicting
# choices, we go for a static library, that is the most portable,
# since we can't tell whether shared libraries were disabled because
# the user asked for that or because the platform doesn't support
# them.  This is particularly important on AIX, because we don't
# support having both static and shared libraries enabled at the same
# time on that platform, so we default to a shared-only configuration.
# If a disable-shared tag is given, we'll fallback to a static-only
# configuration.  But we'll never go from static-only to shared-only.

# ### BEGIN LIBTOOL TAG CONFIG: disable-shared
build_libtool_libs=no
build_old_libs=yes
# ### END LIBTOOL TAG CONFIG: disable-shared

# ### BEGIN LIBTOOL TAG CONFIG: disable-static
build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
# ### END LIBTOOL TAG CONFIG: disable-static

# Local Variables:
# mode:shell-script
# sh-indentation:2
# End:
# vi:sw=2

EOF-ltmain.sh
echo - 'floatmagic.h'
cat << 'EOF-floatmagic.h' > 'floatmagic.h'
/*
 * floatmagic.h -- Definitions of isnan and isinf for gawk. 
 */

/* 
 * Copyright (C) 2009 the Free Software Foundation, Inc.
 * 
 * This file is part of GAWK, the GNU implementation of the
 * AWK Programming Language.
 * 
 * GAWK 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.
 * 
 * GAWK 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
 */

/*
 * NOTE: <math.h> MUST be included before this file. Also <config.h>.
 *
 * These definitions are taken from the Autoconf 2.63 manual. Not pretty.
 */

#ifndef HAVE_ISNAN
#ifndef isnan
# define isnan(x) \
    (sizeof (x) == sizeof (long double) ? isnan_ld (x) \
     : sizeof (x) == sizeof (double) ? isnan_d (x) \
     : isnan_f (x))
static inline int isnan_f  (float       x) { return x != x; }
static inline int isnan_d  (double      x) { return x != x; }
static inline int isnan_ld (long double x) { return x != x; }
#endif
#endif

#ifndef HAVE_ISINF
#ifndef isinf
# define isinf(x) \
    (sizeof (x) == sizeof (long double) ? isinf_ld (x) \
     : sizeof (x) == sizeof (double) ? isinf_d (x) \
     : isinf_f (x))
static inline int isinf_f  (float       x) { return isnan (x - x); }
static inline int isinf_d  (double      x) { return isnan (x - x); }
static inline int isinf_ld (long double x) { return isnan (x - x); }
#endif
#endif
EOF-floatmagic.h
echo making directory 'libsigsegv'
mkdir 'libsigsegv'
cd 'libsigsegv'
#! /bin/sh
echo - 'AUTHORS'
cat << 'EOF-AUTHORS' > 'AUTHORS'
Authors of GNU libsigsegv.

Bruno Haible <bruno@clisp.org>                   Versions 1.0 and 2.0
Paolo Bonzini <bonzini@gnu.org>                  HP-UX, MacOS X, Cygwin support
EOF-AUTHORS
echo - 'COPYING'
cat << 'EOF-COPYING' > 'COPYING'
                    GNU GENERAL PUBLIC LICENSE
                       Version 2, June 1991

 Copyright (C) 1989, 1991 Free Software Foundation, Inc.
                          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.

                            Preamble

  The licenses for most software are designed to take away your
freedom to share and change it.  By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users.  This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it.  (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.)  You can apply it to
your programs, too.

  When we speak of free software, we are referring to freedom, not
price.  Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.

  To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.

  For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have.  You must make sure that they, too, receive or can get the
source code.  And you must show them these terms so they know their
rights.

  We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.

  Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software.  If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.

  Finally, any free program is threatened constantly by software
patents.  We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary.  To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.

  The precise terms and conditions for copying, distribution and
modification follow.

                    GNU GENERAL PUBLIC LICENSE
   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

  0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License.  The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language.  (Hereinafter, translation is included without limitation in
the term "modification".)  Each licensee is addressed as "you".

Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope.  The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.

  1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.

You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.

  2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:

    a) You must cause the modified files to carry prominent notices
    stating that you changed the files and the date of any change.

    b) You must cause any work that you distribute or publish, that in
    whole or in part contains or is derived from the Program or any
    part thereof, to be licensed as a whole at no charge to all third
    parties under the terms of this License.

    c) If the modified program normally reads commands interactively
    when run, you must cause it, when started running for such
    interactive use in the most ordinary way, to print or display an
    announcement including an appropriate copyright notice and a
    notice that there is no warranty (or else, saying that you provide
    a warranty) and that users may redistribute the program under
    these conditions, and telling the user how to view a copy of this
    License.  (Exception: if the Program itself is interactive but
    does not normally print such an announcement, your work based on
    the Program is not required to print an announcement.)

These requirements apply to the modified work as a whole.  If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works.  But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.

Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.

In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.

  3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:

    a) Accompany it with the complete corresponding machine-readable
    source code, which must be distributed under the terms of Sections
    1 and 2 above on a medium customarily used for software interchange; or,

    b) Accompany it with a written offer, valid for at least three
    years, to give any third party, for a charge no more than your
    cost of physically performing source distribution, a complete
    machine-readable copy of the corresponding source code, to be
    distributed under the terms of Sections 1 and 2 above on a medium
    customarily used for software interchange; or,

    c) Accompany it with the information you received as to the offer
    to distribute corresponding source code.  (This alternative is
    allowed only for noncommercial distribution and only if you
    received the program in object code or executable form with such
    an offer, in accord with Subsection b above.)

The source code for a work means the preferred form of the work for
making modifications to it.  For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable.  However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.

If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.

  4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License.  Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.

  5. You are not required to accept this License, since you have not
signed it.  However, nothing else grants you permission to modify or
distribute the Program or its derivative works.  These actions are
prohibited by law if you do not accept this License.  Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.

  6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions.  You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.

  7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License.  If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all.  For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.

If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.

It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices.  Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.

This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.

  8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded.  In such case, this License incorporates
the limitation as if written in the body of this License.

  9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time.  Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.

Each version is given a distinguishing version number.  If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation.  If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.

  10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission.  For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this.  Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.

                            NO WARRANTY

  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.

  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.

                     END OF TERMS AND CONDITIONS

        Appendix: How to Apply These Terms to Your New Programs

  If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.

  To do so, attach the following notices to the program.  It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.

    <one line to give the program's name and a brief idea of what it does.>
    Copyright (C) <year>  <name of author>

    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 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, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.

Also add information on how to contact you by electronic and paper mail.

If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:

    Gnomovision version 69, Copyright (C) year  name of author
    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
    This is free software, and you are welcome to redistribute it
    under certain conditions; type `show c' for details.

The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License.  Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.

You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary.  Here is a sample; alter the names:

  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
  `Gnomovision' (which makes passes at compilers) written by James Hacker.

  <signature of Ty Coon>, 1 April 1989
  Ty Coon, President of Vice

This General Public License does not permit incorporating your program into
proprietary programs.  If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library.  If this is what you want to do, use the GNU Library General
Public License instead of this License.
EOF-COPYING
echo - 'ChangeLog'
cat << 'EOF-ChangeLog' > 'ChangeLog'
2009-06-8  Arnold Robbins  <arnold@skeeve.com>

	Update to Autoconf 2.63, Automake 1.11, Libtool 2.2.6a
	This makes change of 2008-08-01 actually work!

	* m4/*, ltmain.sh, configure.ac: Updated to latest libtool.
	* configure, Makfile.in, */Makefile.in: Regenerated.

2008-08-1  Arnold Robbins  <arnold@skeeve.com>

	* Makefile.am (install): Do nothing for inclusion with gawk.

2009-06-23  Bruno Haible  <bruno@clisp.org>

	* Makefile.am (check-next): No longer ask for copies of config.log.

2009-06-23  Bruno Haible  <bruno@clisp.org>

	Improve support for MirBSD 10.
	* configure.ac (CFG_FAULT, FAULT_CONTEXT): Treat MirBSD/i386 like
	OpenBSD/i386.

2009-06-23  Bruno Haible  <bruno@clisp.org>

	Add support for platforms that follow POSIX:2008, not POSIX:2001.
	* configure.ac (POSIX): Add MirBSD to known list.
	(CFG_FAULT, FAULT_CONTEXT, FAULT_CONTEXT_INCLUDE): Define appropriately
	when <ucontext.h> does not exist.
	* src/fault-posix-ucontext.h: Renamed from src/fault-posix.h.
	* src/fault-posix.h: New file.
	* src/fault-aix5.h: Update.
	* src/fault-hpux-hppa.h: Update.
	* src/fault-netbsd.h: Update.
	* src/fault-solaris.h: Update.
	* src/Makefile.am (noinst_HEADERS): Add fault-posix-ucontext.h.

2009-06-23  Bruno Haible  <bruno@clisp.org>

	* configure.ac (FAULT_CONTEXT_INCLUDE): Reinstall the AC_SUBST
	invocation.

2009-05-21  Bruno Haible  <bruno@clisp.org>

	* configure.ac (FAULT_CONTEXT_INCLUDE): Don't substitute into
	Makefiles.

2009-05-21  Bruno Haible  <bruno@clisp.org>

	* tests/Makefile.am (AUTOMAKE_OPTIONS): Assume automake >= 1.11.
	Use color-tests option.

2009-01-14  Bruno Haible  <bruno@clisp.org>

	* configure.ac: More consistent m4 quoting.

2008-09-27  Bruno Haible  <bruno@clisp.org>

	* build-aux/config.sub: Update to GNU version 2008-09-08.

2008-09-23  Eric Blake  <ebb9@byu.net>

	Use 2 * SIGSTKSZ consistently in configuration checks.
	* m4/sigaltstack.m4 (SV_SIGALTSTACK): Work around IRIX sigaltstack bug.
	* m4/sigaltstack-longjmp.m4 (SV_TRY_LEAVE_HANDLER_LONGJMP): Likewise.
	* m4/sigaltstack-siglongjmp.m4 (SV_TRY_LEAVE_HANDLER_SIGLONGJMP):
	Likewise.

2008-09-21  Bruno Haible  <bruno@clisp.org>

	* src/Makefile.am (LIBSIGSEGV_VERSION_INFO): New variable.
	(libsigsegv_la_LDFLAGS): Pass -rpath and -version-info option.
	Reported by Thomas Klausner <tk@giga.or.at>.

2008-09-21  Eric Blake  <ebb9@byu.net>
            Bruno Haible  <bruno@clisp.org>

	Detect and work around bug in Irix 5.3 sigaltstack.
	* m4/sigaltstack.m4 (SV_SIGALTSTACK): Test for broken stack_t direction
	in sigaltstack.
	* src/handler-unix.c (stackoverflow_install_handler): Adjust stack
	accordingly.
	* tests/stackoverflow1.c (stack_lower_bound, stack_upper_bound): New
	variables.
	(stackoverflow_handler): Use them to expose IRIX bug.
	(main): Initialize them.

2008-09-07  Bruno Haible  <bruno@clisp.org>

	* m4/libtool.m4: Update from libtool-2.2.6.
	* m4/ltoptions.m4: Likewise.
	* m4/ltsugar.m4: Likewise.
	* m4/ltversion.m4: Likewise.
	* build-aux/ltmain.sh: Likewise.

2008-08-25  Bruno Haible  <bruno@clisp.org>

	* Version 2.6 released.

2008-08-24  Bruno Haible  <bruno@clisp.org>

	* configure.ac: Treat Dragonfly BSD platforms like FreeBSD.
	Reported by Thomas Klausner <tk@giga.or.at>.

2008-08-24  Bruno Haible  <bruno@clisp.org>

	* src/stackvma-mincore.c (mincore_is_near_this): Improve logic. Needed
	for reliable NULL pointer access classification as SIGSEGV on AIX 4.3.

2008-08-24  Bruno Haible  <bruno@clisp.org>

	* m4/sigaltstack.m4: Change 'volatile int' return type to 'int'. Needed
	for AIX 4.3 xlc.
	* m4/sigaltstack-longjmp.m4: Likewise.
	* m4/sigaltstack-siglongjmp.m4: Likewise.
	* tests/stackoverflow1.c (recurse): Likewise.
	* tests/stackoverflow2.c (recurse): Likewise.

2008-08-24  Bruno Haible  <bruno@clisp.org>

	* tests/sigsegv1.c: Include <config.h>.
	* tests/sigsegv2.c: Likewise.
	* tests/sigsegv3.c: Include <config.h> before all other headers.
	* tests/stackoverflow1.c: Likewise.
	* tests/stackoverflow2.c: Likewise.

2008-08-24  Bruno Haible  <bruno@clisp.org>

	Fix the sigsegv3 test on MacOS X.
	* src/sigsegv.h.in (sigsegv_leave_handler): Take 4 arguments.
	* NEWS: Mention the change.
	* src/handler-macos.c (our_exception_thread, signalled_thread): New
	variables.
	(catch_exception_raise): Set signalled_thread during the user_handler
	invocation.
	(mach_exception_thread): Initialize our_exception_thread.
	(sigsegv_leave_handler): Take 4 arguments. When called from within
	the exception thread, let the signalled thread do a hyperjump.
	* src/handler-unix.c (sigsegv_leave_handler): Take 4 arguments.
	* src/handler-win32.c (sigsegv_leave_handler): Likewise.
	* src/handler-none.c (sigsegv_leave_handler): Likewise.
	* src/machfault-macos.h (SIGSEGV_INTEGER_ARGUMENT_1,
	SIGSEGV_INTEGER_ARGUMENT_2, SIGSEGV_INTEGER_ARGUMENT_3,
	SIGSEGV_FRAME_POINTER): New macros.
	* tests/sigsegv3.c (handler_continuation): New function.
	(handler): Update to new API.
	* tests/stackoverflow1.c (stackoverflow_handler_continuation): New
	function.
	(stackoverflow_handler): Update to new API.
	* tests/stackoverflow2.c (stackoverflow_handler_continuation): New
	function.
	(stackoverflow_handler, sigsegv_handler): Update to new API.

2008-08-24  Bruno Haible  <bruno@clisp.org>

	Test the use of sigsegv_leave_handler from within a SIGSEGV handler.
	* tests/sigsegv3.c: New file.
	* tests/Makefile.am (TESTS, noinst_PROGRAMS): Add sigsegv3.

2008-08-23  Eric Blake  <ebb9@byu.net>

	* src/Makefile.am (noinst_HEADERS): Remove machfault-macos-powerpc.h
	and machfault-macos-i386.h. Add machfault-macos.h.

2008-08-17  Bruno Haible  <bruno@clisp.org>

	Allow building universal binaries on MacOS X.
	* src/machfault-macos.h: New file, combining
	src/machfault-macos-powerpc.h and src/machfault-macos-i386.h.
	* src/machfault-macos-powerpc.h: Remove file.
	* src/machfault-macos-i386.h: Remove file.
	* configure.ac (CFG_MACHFAULT): Set to machfault-macos.h.
	(FAULT_CONTEXT_INCLUDE) [MacOSX]: Set to #ifdefs for all four possible
	architectures.

2008-07-20  Bruno Haible  <bruno@clisp.org>

	Make sigsegv_get_vma async-safe.
	* src/sigsegv.h.in (sigsegv_handler_t, stackoverflow_handler_t):
	Mention async-safety constraints.
	+ src/stackvma-rofile.c: New file.
	* src/stackvma-freebsd.c: Include stackvma-rofile.c.
	(sigsegv_get_vma): Use struct rofile instead of FILE.
	* src/stackvma-linux.c: Include stackvma-rofile.c.
	(sigsegv_get_vma): Use struct rofile instead of FILE.
	* src/stackvma-procfs.c: Include <sys/mman.h> instead of <stdlib.h> and
	<stdio.h>.
	(sigsegv_get_vma): Avoid using sprintf. Ensure pagesize is initialized.
	Use mmap/munmap instead of malloc/free.
	* src/Makefile.am (EXTRA_DIST): Add stackvma-rofile.c.
	Reported by Eric Blake <ebb9@byu.net>.

2008-07-20  Bruno Haible  <bruno@clisp.org>

	* src/handler-unix.c (sigsegv_handler): Preserve errno.

2008-07-20  Eric Blake  <ebb9@byu.net>

	* src/stackvma-mincore.c (mincore_is_near_this): Fix logic.

2008-07-20  Bruno Haible  <bruno@clisp.org>

	* tests/stackoverflow2.c (main): Test also a NULL pointer access.
	Reported by Eric Blake <ebb9@byu.net>.

2008-06-23  Bruno Haible  <bruno@clisp.org>

	* build-aux/config.guess: Update to GNU version 2008-06-16.
	* build-aux/config.sub: Likewise.

2008-05-31  Bruno Haible  <bruno@clisp.org>

	Make cross-compile from MacOS X 10.5 to MacOS X 10.4 work.
	* src/handler-macos.c (MacOS_X_10_5_HEADERS): New macro.
	* src/machfault-macos-i386.h: Use it.
	* src/machfault-macos-powerpc.h: Likewise.
	Reported by Dr Toma�� Slivnik <slivnik@tomaz.name>.

2008-05-31  Bruno Haible  <bruno@clisp.org>

	* m4/mmap-anon.m4 (SV_MMAP_ANON): Add known cross-compile results for
	MacOS X.
	Reported by Dr Toma�� Slivnik <slivnik@tomaz.name>.

2008-05-27  Bruno Haible  <bruno@clisp.org>

	* configure.ac: Require at least autoconf 2.62. Merge
	FAULT_CONTEXT_INCLUDE2 variable into FAULT_CONTEXT_INCLUDE.
	* src/sigsegv.h.in: Remove FAULT_CONTEXT_INCLUDE2 substitution.
	* src/Makefile.am (sigsegv.h.msvc): Update.

2008-05-27  Bruno Haible  <bruno@clisp.org>

	* configure.ac: Bump version number to 2.6.
	* src/sigsegv.h.in (LIBSIGSEGV_VERSION): Likewise.

2008-05-27  Bruno Haible  <bruno@clisp.org>

	Support for 64-bit mode on MacOS X 10.5.
	* src/handler-macos.c (catch_exception_raise): Align the stack pointer
	also on x86_64. Needed for MMX instructions.
	* src/machfault-macos-i386.h: Choose among 64-bit and 32-bit flavours.
	Use new names for the 32-bit flavour when possible.
	* src/machfault-macos-powerpc.h: Choose among 64-bit and 32-bit
	flavours.
	* configure.ac (FAULT_CONTEXT, FAULT_CONTEXT_INCLUDE2): Choose
	right flavour (ppc_thread_state_t/ppc_thread_state64_t or
	i386_thread_state_t/x86_thread_state32_t/x86_thread_state64_t) at
	compile time.

2008-05-18  Bruno Haible  <bruno@clisp.org>

	* m4/libtool.m4: Update from libtool-2.2.4.
	* m4/ltoptions.m4: Likewise.
	* m4/ltversion.m4: Likewise.
	* m4/lt~obsolete.m4: Likewise.
	* build-aux/ltmain.sh: Likewise.

2008-04-06  Bruno Haible  <bruno@clisp.org>

	* m4/libtool.m4: Update from libtool-2.2.2.
	* m4/ltoptions.m4: New file, from libtool-2.2.2.
	* m4/ltsugar.m4: New file, from libtool-2.2.2.
	* m4/ltversion.m4: New file, from libtool-2.2.2.
	* m4/lt~obsolete.m4: New file, from libtool-2.2.2.
	* build-aux/ltmain.sh: New file, from libtool-2.2.2.
	* configure.ac: Use LT_INIT instead of AC_PROG_LIBTOOL.

2007-11-16  Bruno Haible  <bruno@clisp.org>

	* src/fault-freebsd-i386.h (SIGSEGV_FAULT_STACKPOINTER): Use sc_rsp
	also on x86_64-freebsd platform.
	Reported by Dmitri Hrapof <hrapof@common-lisp.ru> and
	Petr Salinger <Petr.Salinger@seznam.cz>.

2007-11-15  Bruno Haible  <bruno@clisp.org>

	* configure.ac (CFG_SIGNALS, CFG_FAULT): Port to i586-kfreebsd-gnu
	and x86_64-kfreebsd-gnu.
	* src/fault-freebsd-i386.h (SIGSEGV_FAULT_STACKPOINTER): Likewise.
	Based on patch by Petr Salinger <Petr.Salinger@seznam.cz>.

2007-11-11  Bruno Haible  <bruno@clisp.org>

	* Version 2.5 released.

2007-11-11  Bruno Haible  <bruno@clisp.org>

	* configure.ac: Bump version number to 2.5.
	* src/sigsegv.h.in (LIBSIGSEGV_VERSION): Likewise.

2007-10-28  Bruno Haible  <bruno@clisp.org>

	* src/handler-macos.c (catch_exception_raise): Align the new stack
	pointer on a 16-byte boundary.
	* src/handler-win32.c (main_exception_filter): Correct alignment:
	%esp must be aligned to == -4 mod 16 upon function entry.

2007-10-28  Bruno Haible  <bruno@clisp.org>

	* src/sigsegv.h.in (stackoverflow_install_handler): Avoid comment
	inside comment.
	Reported by Chris Willmore <willmc@rpi.edu>.

2007-10-28  Bruno Haible  <bruno@clisp.org>

	* src/machfault-macos-powerpc.h (SIGSEGV_FAULT_ADDRESS,
	SIGSEGV_STACK_POINTER, SIGSEGV_PROGRAM_COUNTER): Add __DARWIN_UNIX03
	conditional.
	* src/machfault-macos-i386.h (SIGSEGV_FAULT_ADDRESS,
	SIGSEGV_STACK_POINTER, SIGSEGV_PROGRAM_COUNTER): Likewise.
	* src/fault-macosdarwin7-powerpc.h (SIGSEGV_FAULT_STACKPOINTER):
	Likewise.
	* src/fault-macosdarwin7-powerpc.c (get_fault_addr): Likewise.
	Reported by Chris Willmore <willmc@rpi.edu>.

2007-01-12  Bruno Haible  <bruno@clisp.org>

	* Makefile.am (check-next): Don't ask for reports from x86_64-*-linux*
	platforms.

2006-07-14  Bruno Haible  <bruno@clisp.org>

	* m4/sigaltstack.m4 (SV_SIGALTSTACK): Use SIGSTKSZ instead of
	hardcoding 16384.
	* m4/sigaltstack-longjmp.m4 (SV_TRY_LEAVE_HANDLER_LONGJMP): Likewise.
	* m4/sigaltstack-siglongjmp.m4 (SV_TRY_LEAVE_HANDLER_SIGLONGJMP):
	Likewise.
	* tests/stackoverflow1.c (main): Likewise.
	* tests/stackoverflow2.c (main): Likewise.
	* src/sigsegv.h.in (stackoverflow_install_handler): Update
	recommendation for extra_stack_size.
	Needed for ia64.
	Reported by Peter Van Eynde <pvaneynd@users.sourceforge.net>.

2006-06-23  Bruno Haible  <bruno@clisp.org>

	* Version 2.4 released.

2006-06-23  Bruno Haible  <bruno@clisp.org>

	* configure.ac: Bump version number to 2.4.
	* src/sigsegv.h.in (LIBSIGSEGV_VERSION): Likewise.

2006-06-17  Bruno Haible  <bruno@clisp.org>

	* src/Makefile.am (noinst_HEADERS): Add fault-netbsd.h.

2006-06-17  Bruno Haible  <bruno@clisp.org>

	* m4/sigaltstack.m4: Insert 'volatile' and pass a pointer, to defeat
	GCC 4 optimizations.
	* m4/sigaltstack-longjmp.m4: Likewise.
	* m4/sigaltstack-siglongjmp.m4: Likewise.

2006-06-17  Bruno Haible  <bruno@clisp.org>

	* tests/stackoverflow1.c (recurse): Remove useless cast.
	* tests/stackoverflow2.c (recurse): Likewise.

2006-06-17  Bruno Haible  <bruno@clisp.org>

	* src/stackvma-freebsd.c (sigsegv_get_vma): Test whether mincore()
	works as expected before using it.

2006-03-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) [ linux ]: Avoid warning when
	"parsing" /etc/ld.so.conf and empty /etc/ld.so.conf.d.

2006-06-13  Bruno Haible  <bruno@clisp.org>

	Make NetBSD/i386 stack overflow detection work even without mincore.
	* src/fault-netbsd.h: New file.
	* configure.ac (CFG_FAULT): Choose it when appropriate.

2006-05-16  Bruno Haible  <bruno@clisp.org>

	Don't allow the compiler to reorder instructions in the tests.
	* tests/sigsegv1.c (crashes): Use volatile in pointer access.
	* tests/sigsegv2.c (main): Likewise.
	* tests/stackoverflow2.c (main): Likewise.

2006-05-14  Bruno Haible  <bruno@clisp.org>

	Exploit the mincore() system call where available.
	* src/stackvma-mincore.c: New file.
	* src/Makefile.am (EXTRA_DIST): Add it.
	* src/stackvma.h: Add double-inclusion guard.
	* src/stackvma-freebsd.c: If mincore() is available, include also
	stackvma-mincore.c.
	(sigsegv_get_vma): If mincore() is available, use it as fallback.
	* src/stackvma-linux.c: If mincore() is available, include also
	stackvma-mincore.c.
	(sigsegv_get_vma): If mincore() is available, use it as fallback.
	* src/stackvma-procfs.c: If mincore() is available, include also
	stackvma-mincore.c.
	(sigsegv_get_vma): If mincore() is available, use it as fallback.
	* configure.ac: Test for mincore.
	(CFG_STACKVMA): Set to stackvma-mincore.c if nothing else is available.

2006-05-14  Bruno Haible  <bruno@clisp.org>

	* src/stackvma-simple.c: New file, extracted from handler-unix.c.
	* src/Makefile.am (EXTRA_DIST): Add it.
	* src/stackvma-beos.c: Include stackvma-simple.c.
	(sigsegv_get_vma): Fill the vma's is_near_this field.
	* src/stackvma-freebsd.c: Include stackvma-simple.c.
	(sigsegv_get_vma): Fill the vma's is_near_this field.
	* src/stackvma-linux.c: Include stackvma-simple.c.
	(sigsegv_get_vma): Fill the vma's is_near_this field.
	* src/stackvma-mach.c: Include stackvma-simple.c.
	(sigsegv_get_vma): Fill the vma's is_near_this field.
	* src/stackvma-procfs.c: Include stackvma-simple.c.
	(sigsegv_get_vma): Fill the vma's is_near_this field.
	* src/stackvma.h (vma_struct): Add is_near_this field.
	* src/handler-unix.c (sigsegv_handler): Use the vma's is_near_this
	function.

2006-04-28  Bruno Haible  <bruno@clisp.org>

	* Version 2.3 released.

2006-04-28  Bruno Haible  <bruno@clisp.org>

	* configure.ac: Bump version number to 2.3.
	* src/sigsegv.h.in (LIBSIGSEGV_VERSION): Likewise.

	* build-aux/config.guess, build-aux/config.sub: Update to GNU version
	2006-04-26.

	* build-aux/install-sh: Update from automake-1.9.6.
	* build-aux/missing: Likewise.

	* build-aux/ltmain.sh: Update from libtool-1.5.22.
	* m4/libtool.m4: Likewise.

2006-04-28  Bruno Haible  <bruno@clisp.org>

	* build-aux: Renamed from autoconf.
	* configure.ac (AC_CONFIG_AUX_DIR): Set to build-aux.

2006-04-22  Bruno Haible  <bruno@clisp.org>

	* configure.ac: Renamed from configure.in.

2006-04-21  Bruno Haible  <bruno@clisp.org>

	* src/machfault-macos-i386.h: Rewritten for Darwin 8.6.1.
	* configure.in: Change FAULT_CONTEXT for i?86-darwin.

2005-06-21  Paolo Bonzini  <bonzini@gnu.org>

	* configure.in: For handler-macos.c, include mach/thread_status.h.
	* configure: Regenerate.

2005-06-21  Paolo Bonzini  <bonzini@gnu.org>

	* tests/stackoverflow1.c (recurse): Make more resilient to compiler
	optimization.
	(recurse_1): New.
	* tests/stackoverflow2.c: Likewise.

2005-05-24  Bruno Haible  <bruno@clisp.org>

	* src/handler-win32.c (main_exception_filter): Copy CONTEXT structure
	to safe area on the stack.
	Based on patch by Doug Currie <e@flavors.com>.

	* src/handler-win32.c (main_exception_filter): Swap arguments passed
	to stack_overflow_handler.
	Patch by Doug Currie <e@flavors.com>.

	* src/handler-win32.c (main_exception_filter): Align %esp on a 16-byte
	boundary.

2005-03-02  Bruno Haible  <bruno@clisp.org>

	* Version 2.2 released.

2005-03-02  Bruno Haible  <bruno@clisp.org>

	* autoconf/config.guess: Update.
	* autoconf/config.sub: Update.
	* autoconf/missing: Update from automake-1.9.5.

	* m4/libtool.m4: Upgrade to libtool-1.5.14 with gettext modifications.
	* autoconf/ltmain.sh: Likewise.

2005-03-02  Bruno Haible  <bruno@clisp.org>

	* src/fault-aix5.h: New file.
	* src/fault-aix5-powerpc.h: New file.
	* src/Makefile.am (noinst_HEADERS): Add them.
	* configure.in: Choose them when the POSIX test succeeds on AIX.

	* src/fault-aix3-powerpc.h: Renamed from src/fault-aix-powerpc.h.
	* src/fault-aix3.h: Renamed from src/fault-aix.h.
	* src/Makefile.am (noinst_HEADERS): Update.
	* configure.in: Update. When cross-compiling, assume the AIX test
	succeeds only on AIX 3 and AIX 4.

2005-03-01  Bruno Haible  <bruno@clisp.org>

	* configure.in: Fix test of CFG_MACHFAULT.

2005-02-27  Bruno Haible  <bruno@clisp.org>

	* configure.in: Skip tests that are not needed on MacOS X >= 10.2.
	* m4/sigaltstack.m4 (SV_SIGALTSTACK): Don't perform the test on
	MacOS X >= 10.2.

2005-02-18  Bruno Haible  <bruno@clisp.org>

	* tests/sigsegv1.c (handler_called): Declare as volatile.
	* tests/sigsegv2.c (logcount, logdata): Likewise.
	* tests/stackoverflow1.c (pass): Likewise.
	* tests/stackoverflow2.c (pass): Likewise.

2005-01-29  Bruno Haible  <bruno@clisp.org>

	* src/sigsegv.h.in (LIBSIGSEGV_VERSION): New macro.
	(libsigsegv_version): New declaration.
	* src/version.c: New file.
	* src/Makefile.am (libsigsegv_la_SOURCES): Add version.c.
	* Makefile.msvc (OBJECTS): Add version.obj.
	(version.obj): New rule.
	Suggested by Sam Steingold.

2004-08-25  Bruno Haible  <bruno@clisp.org>

	* m4/libtool.m4: Upgrade to libtool-1.5.6.
	* autoconf/ltmain.sh: Upgrade to libtool-1.5.6.

2004-08-18  Bruno Haible  <bruno@clisp.org>

	* configure.in: Bump version number to 2.2.

2004-08-17  Bruno Haible  <bruno@clisp.org>

	Finish the Mach-based MacOS X support.
	* src/handler-macos.c: Don't include mach/vm_map.h.
	Include machfault.h instead of fault.h.
	(save_exc_state): Remove variable.
	(save_thread_state): New variable.
	(terminating_handler): New function.
	(altstack_handler): Pass the save_thread_state, not the save_exc_state,
	to the user's handler.
	(catch_exception_raise): Make it work also for platforms which don't
	have an exc_state type. Call SIGSEGV_FAULT_ADDRESS with 2 arguments.
	Don't clobber the exc_state; instead set the thread's program counter
	to terminating_handler or altstack_handler, depending on the case.
	Return KERN_SUCCESS at the end.
	* src/machfault.h: New file.
	* src/machfault-macos-powerpc.h (SIGSEGV_FAULT_ADDRESS): Add a second
	argument.
	* src/machfault-macos-i386.h: New file.
	* src/Makefile.am (EXTRA_DIST): Add handler-macos.c.
	(NOINST_HEADERS): Add machfault.h, machfault-macos-i386.h,
	machfault-macos-powerpc.h.
	* configure.in (CFG_HANDLER): Initialize to empty.
	(CFG_MACHFAULT): New substituted variable.
	On MacOS X PowerPC+i386, use CFG_HANDLER=handler-macos.c
	unconditionally.
	(sv_cv_fault_include, sv_cv_have_stack_overflow_recovery): Set
	correctly also in the handler-macos.c case.

2004-08-16  Bruno Haible  <bruno@clisp.org>

	Support for MacOS X 10.3 on PowerPC.
	* src/fault-macosdarwin5-powerpc.h: Renamed from
	src/fault-macos-powerpc.h.
	* src/fault-macosdarwin5-powerpc.c: Renamed from
	src/fault-macos-powerpc.c.
	* src/fault-macosdarwin7-powerpc.h: New file.
	* src/fault-macosdarwin7-powerpc.c: New file.
	* src/Makefile.am (noinst_HEADERS): Update.
	* configure.in: Test the method for MacOSX/Darwin5 PowerPC only after
	the method for MacOSX/Darwin7 PowerPC failed.
	Substitute FAULT_CONTEXT_INCLUDE2.
	* src/sigsegv.h.in: Insert @FAULT_CONTEXT_INCLUDE2@.
	* src/Makefile.am (sigsegv.h.msvc): Replace @FAULT_CONTEXT_INCLUDE2@.

2003-12-09  Paolo Bonzini  <bonzini@gnu.org>

	* src/handler-macos.c: Completed; removed dependency on
	signals.
	* src/machfault-macos-powerpc.h: Reorganized.

2003-12-08  Paolo Bonzini  <bonzini@gnu.org>
            Bruno Haible  <bruno@clisp.org>

	* src/handler-macos.c: New file.
	* src/machfault.h: New file.
	* src/machfault-macos-powerpc.h: New file.

2003-12-05  Bruno Haible  <bruno@clisp.org>

	* m4/fault.m4: Tweak indentation. Bump serial number.
	* m4/getpagesize.m4: Likewise.
	* m4/mmap-anon.m4: Likewise.
	* m4/sigaltstack.m4: Likewise.
	* m4/sigaltstack-longjmp.m4: Likewise.
	* m4/sigaltstack-siglongjmp.m4: Likewise.

2003-12-05  Paolo Bonzini  <bonzini@gnu.org>

	* aclocal.m4: Regenerate with Automake 1.7h.
	* configure.in: Drop m4/Makefile from list of generated files.
	* configure: Regenerate.
	* Makefile.am (install-data-hook): New name of the install-am
	target, for Automake 1.8 compatibility.  Other -am targets
	are not affected because Automake does not have anything to
	do to make them.
	(AUTOMAKE_OPTIONS): Bump minimum Automake requirement to 1.7h.
	(SUBDIRS): Remove m4.
	($(srcdir)/config.h.msvc): New target for config.h.msvc.
	* Makefile.in: Regenerate with Automake 1.7h.
	* m4/Makefile.am: Delete, Automake 1.7h takes care of it.
	* m4/Makefile.in: Delete.
	* src/Makefile.am (installdirs): Delete, Automake 1.7h adds it.
	* src/Makefile.in: Regenerate with Automake 1.7h.
	* tests/Makefile.in: Regenerate with Automake 1.7h.

	* autoconf/config.guess: Update from automake-1.7h.
	* autoconf/config.sub: Likewise.
	* autoconf/install.sh: Likewise.
	* autoconf/missing: Likewise.
	* autoconf/mkinstalldirs: Delete.
	* m4/fault.m4: autoupdate and manually tweak.
	* m4/sigaltstack.m4: Likewise.
	* m4/sigaltstack-longjmp.m4: Likewise.
	* m4/sigaltstack-siglongjmp.m4: Likewise.
	* m4/mmap-anon.m4: Likewise.
	* m4/getpagesize.m4: Likewise.

2003-10-29  Bruno Haible  <bruno@clisp.org>

	* tests/sigsegv1.c (main): Add a check whether mprotect with
	PROT_READ_WRITE really works.
	* tests/sigsegv2.c (main): Likewise.
	Reported by Ullal Devappa Kini <wmbfqj@vsnl.net>.

2003-08-21  Bruno Haible  <bruno@clisp.org>

	* Version 2.1 released.

2003-06-24  Paolo Bonzini  <bonzini@gnu.org>

	* m4/fault.m4: Exit if we detect an infinite loop.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

2003-06-18  Bruno Haible  <bruno@clisp.org>

	* autoconf/install-sh: Update from automake-1.7.5.

2003-05-14  Paolo Bonzini  <bonzini@gnu.org>

	* configure.in: Use signals-bsd.h for OpenBSD and NetBSD too.
	Support instruction decoding to get fault address for Alphas.
	* src/fault-netbsd-alpha.h: New file.
	* src/fault-netbsd-alpha.c: New file.
	* src/Makefile.am (noinst_HEADERS): Add them.

2003-05-14  Paolo Bonzini  <bonzini@gnu.org>

	* src/dispatcher.c (insert): Fix lossage in 64-bit environments
	(cast from void* to unsigned int).

2003-05-10  Bruno Haible  <bruno@clisp.org>

	* tests/Makefile.am (../src/libsigsegv.la): New rule.

	* Makefile.msvc (handler.obj): Complete the dependencies.
	(stackoverflow2.exe): New rule.
	(check): Depend on it.
	(clean): Remove it.

2003-05-10  Paolo Bonzini  <bonzini@gnu.org>
            Bruno Haible  <bruno@clisp.org>

	* configure.in: AC_SUBST of CFG_STACKVMA, CFG_LEAVE, CFG_HANDLER.
	* src/Makefile.am: Add dependencies for the object files.

2003-05-08  Paolo Bonzini  <bonzini@gnu.org>

	* configure.in: Add $srcdir/ to #include statements. Needed when
	builddir != srcdir.

	* src/signals-macos.h (SIGSEGV_FOR_ALL_SIGNALS): Add SIGSEGV.

2003-05-03  Paolo Bonzini  <bonzini@gnu.org>

	* configure.in: Tweak 2003-04-26 patch so that it works on mingw32 and
	Cygwin.

2003-05-02  Bruno Haible  <bruno@clisp.org>

	* src/handler-unix.c: Add special case for stack handling on IA-64.
	* src/fault-linux-ia64.h: Complete the port.
	* configure.in: Improve Linux/IA-64 support.

2003-05-01  Bruno Haible  <bruno@clisp.org>

	* configure.in: Don't use fault-hurd.h on NetBSD/alpha. It does not
	work.

2003-05-01  Bruno Haible  <bruno@clisp.org>

	Support for Linux/HPPA.
	* fault-linux-hppa.h: Don't include <siginfo.h>.
	(SIGSEGV_FAULT_ADDRESS): Change.
	(SIGSEGV_FAULT_ADDRESS_FROM_SIGINFO): Define it, otherwise the value
	passed for sip is 0.
	(SIGSEGV_FAULT_CONTEXT, SIGSEGV_FAULT_STACKPOINTER): Remove macros.
	* configure.in: Improve Linux/HPPA support.

2003-05-01  Bruno Haible  <bruno@clisp.org>

	Support for OpenBSD/i386.
	* src/fault-openbsd.h: New file.
	* src/fault-openbsd-i386.h: New file.
	* src/Makefile.am (noinst_HEADERS): Add them.
	* configure.in: If the POSIX test works and the OS is OpenBSD, use
	fault-openbsd.h instead of fault-posix.h.

2003-05-01  Bruno Haible  <bruno@clisp.org>

	* src/fault-hpux-hppa.h: Make it work on machines with 64-bit registers
	as well.
	* configure.in: Likewise.

2003-04-29  Bruno Haible  <bruno@clisp.org>

	* configure.in: Define HAVE_STACKVMA if CFG_STACKVMA is nontrivial.
	* src/handler-unix.c: Test HAVE_STACKVMA instead of CFG_STACKVMA.

	* m4/fault.m4 (SV_TRY_FAULT): On HP-UX, always pass 0 as first argument
	of mmap().
	* tests/mmaputil.h (mmap_zeromap): Likewise.

2003-04-28  Bruno Haible  <bruno@clisp.org>

	* src/stackvma-freebsd.c (sigsegv_get_vma): Fix logic error.

2002-04-17  Paolo Bonzini  <bonzini@gnu.org>

	Support for Cygwin.
	* configure.in: Treat cygwin* like mingw*.
	* src/handler-win32.c [CYGWIN] (exception_list, _except_list,
	debug_get_except_list, cygwin_exception_handler,
	libsigsegv_exception_handler, do_install_main_exception_filter): New
	definitions.
	(install_main_exception_filter): New function.
	(sigsegv_install_handler, stackoverflow_install_handler): Call it.

2003-04-26  Bruno Haible  <bruno@clisp.org>

	* configure.in: Don't set sv_cv_have_stack_overflow_recovery=yes if
	not all of the fault-*.h and stackvma-*.h premises are fulfilled.
	Reported by Paolo Bonzini <bonzini@gnu.org> for NetBSD/Alpha.

2003-04-03  Bruno Haible  <bruno@clisp.org>

	* configure.in: Add --enable-relocatable option.
	* m4/relocatable.m4: New file, from GNU gettext.
	* m4/Makefile.am (EXTRA_DIST): Add it.

	* m4/libtool.m4: Update from GNU gettext, based on libtool-1.4.3.
	* autoconf/ltmain.sh: Likewise.

2003-04-02  Bruno Haible  <bruno@clisp.org>

	* configure.in: Bump version number to 2.1.

	* tests/stackoverflow2.c: New file, based on code by Paolo Bonzini.
	* tests/Makefile.am (TESTS, noinst_PROGRAMS): Add stackoverflow2.

2003-04-02  Paolo Bonzini  <bonzini@gnu.org>
            Bruno Haible  <bruno@clisp.org>

	Complete the port to MacOS X (Darwin).
	* m4/fault.m4: Include sys/signal.h. Have an exit status of 3 instead
	of 1 if fault_address is misdetected.
	* m4/sigaltstack.m4: Define stack_t to struct sigaltstack if absent.
	Include <sys/signal.h>.
	* configure.in: Add check for sys/signal.h.
	Add support for catching stack overflow on MacOSX.
	Add support for MacOSX on i386.
	Provide a fallback for SS_ONSTACK before using it.
	* src/fault-macos-i386.h: New file.
	* src/stackvma-mach.c: New file.
	* src/fault-macos-powerpc.h (SIGSEGV_FAULT_STACKPOINTER): Change.
	* src/handler-unix.c: Include <sys/signal.h>.
	(SS_DISABLE): Provide a fallback.
	* src/leave-sigaltstack.c: Include sys/signal.h.
	(SS_ONSTACK): Provide a fallback.
	* src/Makefile.am (noinst_HEADERS): Add fault-macos-i386.h.
	(EXTRA_DIST): Add stackvma-mach.c.
	* tests/sigsegv1.c: Abort after 10 handler invocations.
	(main): Drop SKIP message, now emitted by automake 1.7.x.
	* tests/sigsegv2.c: Abort after 10 handler invocations.
	(main): Drop SKIP message, now emitted by automake 1.7.x.
	* tests/stackoverflow1.c (main): Drop SKIP message, now emitted by
	automake 1.7.x.

2002-10-14  Bruno Haible  <bruno@clisp.org>

	* src/fault-none.h: New file.
	* src/fault.h: Include CFG_FAULT unconditionally.
	* src/leave-none.c: New file.
	* src/leave.c: Include CFG_LEAVE unconditionally.
	* src/stackvma.c: Include CFG_STACKVMA unconditionally.
	* configure.in (CFG_LEAVE, CFG_STACKVMA): Define always.
	* src/Makefile.am (noinst_HEADERS): Add fault-none.h.
	(EXTRA_DIST): Add leave-none.c.
	Reported by Paolo Bonzini <bonzini@gnu.org>.

2002-09-30  Bruno Haible  <bruno@clisp.org>

	* src/Makefile.am (noinst_HEADERS): Add fault-hurd.h,
	fault-linux-m68k.c, fault-macos-powerpc.h, fault-macos-powerpc.c,
	signals-hurd.h, signals-macos.h.

2002-09-30  Bruno Haible  <bruno@clisp.org>

	* Makefile.am (check-next): Don't ask for reports from i?86-*-linux*
	platforms.

2002-09-30  Bruno Haible  <bruno@clisp.org>

	Better Linux/PowerPC support.
	* configure.in: Change Linux/PowerPC support.
	* src/fault-linux-powerpc.h (SIGSEGV_FAULT_ADDRESS): New macro.

2002-09-30  Bruno Haible  <bruno@clisp.org>

	Better Linux/m68k support.
	* configure.in: Change Linux/m68k support.
	* src/fault-linux-m68k.c: New file.
	* src/fault-linux-m68k.h: Use it.

2002-09-30  Bruno Haible  <bruno@clisp.org>

	Tentative Hurd support.
	* configure.in: Add Hurd support.
	* src/signals-hurd.h: New file.
	* src/fault-hurd.h: New file.

2002-09-30  Bruno Haible  <bruno@clisp.org>

	MacOSX/PowerPC support.
	* configure.in: Add MacOSX/PowerPC support.
	* src/signals-macos.h: New file.
	* src/fault-macos-powerpc.c: New file.
	* src/fault-macos-powerpc.h: New file.

2002-09-16  Bruno Haible  <bruno@clisp.org>

	* src/fault-posix.h: Don't include <siginfo.h>. Needed for hppa-linux.
	Reported by Will Newton <will@misconception.org.uk>.

2002-08-28  Bruno Haible  <bruno@clisp.org>

	* Version 2.0 released.

2002-07-28  Bruno Haible  <bruno@clisp.org>

	Big reorganization and rewrite. Every file changed.

EOF-ChangeLog
echo - 'ChangeLog.1'
cat << 'EOF-ChangeLog.1' > 'ChangeLog.1'
2002-07-15  Bruno Haible  <bruno@clisp.org>

	* sigsegv.h.in (HAVE_STACK_OVERFLOW_RECOVERY): Define also on FreeBSD.
	(stackoverflow_context_t): Define as 'struct sigcontext *' on FreeBSD.
	* handler.c (SIGSEGV_ALL_SIGNALS) [FreeBSD]: Add SIGSEGV; this is the
	signal that gets sent on stack overflow.
	(get_vma) [FreeBSD]: New.
	(reset_onstack_flag) [FreeBSD]: New .

2002-05-07  Paolo Bonzini  <bonzini@gnu.org>

	* sigsegv.h.in [__hpux, hpux]: Define HAVE_SIGSEGV_RECOVERY.
	* handler.c (UNIX_HPUX) [__hpux, hpux]: New macro.
	Define the hacks to access CR21.
	* test1.c (mmap_zeromap): Return the address.
	(handler): Don't hardcode the correct fault address.
	(main): Set page to the result of mmap_zeromap.
	* test2.c (mmap_zeromap): Return the address.
	(main): Set area1/area2/area3 to the result of mmap_zeromap.

2002-05-06  Bruno Haible  <bruno@clisp.org>

	* test1.c: Include <stdlib.h>, for exit().
	* test2.c: Likewise.
	* test3.c: Likewise.

2002-04-28  Bruno Haible  <bruno@clisp.org>

	* Makefile.devel (ACLOCAL): Remove variable.
	(ACSELECT): Remove variable.
	(OTHERMACROS): Remove variable.
	(m4/*.m4): New rules.
	(autoconf/aclocal.m4): Construct using aclocal instead of acselect.

2001-08-25  Bruno Haible  <haible@clisp.cons.org>

	Upgrade to autoconf-2.52.
	* autoconf/autoconf: Upgrade to autoconf-2.52.
	* autoconf/acgeneral.m4: Remove file.
	* autoconf/acspecific.m4: Remove file.
	* autoconf/autoconf.m4f: New file, from autoconf-2.52.
	* autoconf/aclocal.m4: Require autoconf-2.52.
	(CL_CANONICAL_HOST): Call AC_CANONICAL_HOST. Don't cache the result,
	AC_CANONICAL_HOST does it itself. Add $SHELL in front of
	$ac_config_guess and $ac_config_sub.
	(CL_SIGACTION_REINSTALL): Include <string.h>, for memset declaration.
	* Makefile.devel (AUTOCONF_FILES): Remove acgeneral.m4, acspecific.m4.
	Add autoconf.m4f.
	(configure): Use autoconf options -A, -l instead of -m.
	* config.h.in: Don't define HAVE_MEMSET.
	(MPROTECT_CONST, SETRLIMIT_CONST): Use #undef, not #define, to work
	around an autoconf bug.

2001-08-05  Bruno Haible  <haible@clisp.cons.org>

	* autoconf/acgeneral.m4 (AC_MSG_RESULTPROTO): Remove macro.
	(AC_LANG_EXTERN): Move to aclocal.m4.
	* autoconf/aclocal.m4 (AC_LANG_EXTERN): Moved here from acgeneral.m4.
	(CL_PROTO): Use AC_MSG_RESULT directly, instead of AC_MSG_RESULTPROTO.
	(CL_SILENT): No need to pushdef AC_MSG_RESULTPROTO.

2001-06-08  Bruno Haible  <haible@clisp.cons.org>

        * autoconf/ltmain.sh: Upgrade to libtool-1.4.
        * autoconf/ltconfig: Remove file.

2001-06-08  Bruno Haible  <haible@clisp.cons.org>

        * autoconf/config.guess: Update to GNU version 2001-05-11.
        * autoconf/config.sub: Likewise.

2001-05-09  Bruno Haible  <haible@clisp.cons.org>

        * sigsegv.h.in: Recognize __arm__ as CPU indicator on Linux.
        * handler.c: Likewise.

2001-03-19  Bruno Haible  <haible@clisp.cons.org>

        * autoconf/aclocal.m4 (CL_CANONICAL_HOST): Always define
          ac_config_guess and ac_config_sub. Then ignore requests for
          AC_CONFIG_AUX_DIR_DEFAULT or AC_CANONICAL_HOST.

2001-03-19  Bruno Haible  <haible@clisp.cons.org>

        * ltconfig, ltmain.sh: Upgrade to libtool-1.3.5.

2001-02-20  Bruno Haible  <haible@clisp.cons.org>

        * Makefile.in (libdir, includedir): Use the autoconf determined value,
          in order to respect the configure arguments.
          (mandir): Remove unused variable.
        * Makefile.msvc (mandir): LIkewise.

	* Makefile.in (install, installdirs, uninstall): Support DESTDIR.

2000-12-08  Bruno Haible  <haible@clisp.cons.org>

        * Makefile.in (exec_prefix): Use configure's --exec-prefix argument.

2000-11-15  Bruno Haible  <haible@clisp.cons.org>

        * Makefile.msvc: Add support for MFLAGS and DEBUG parameters.

2000-11-12  Bruno Haible  <haible@clisp.cons.org>

        * autoconf/config.guess, autoconf/config.sub: Upgrade to newest
          version from GNU CVS.

2000-11-08  Bruno Haible  <haible@clisp.cons.org>

        * aclocal.m4 (CL_SIGNAL_UNBLOCK): Enable 'volatile' for gotsig,
          wasblocked.
          (CL_SIGNAL_BLOCK_OTHERS): Enable 'volatile' for gotsig,
          somewereblocked.
          (CL_SIGACTION_UNBLOCK): Enable 'volatile' for gotsig, wasblocked.

2000-09-29  Bruno Haible  <haible@clisp.cons.org>

        * autoconf/aclocal.m4 (CL_CANONICAL_HOST): Fix bug in 2000-05-23
          change.

2000-05-29  Bruno Haible  <haible@clisp.cons.org>

        * autoconf/aclocal.m4 (CL_PROG_INSTALL): Fix typo.
        Reported by Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>.

2000-05-25  Bruno Haible  <haible@clisp.cons.org>

        * Makefile.msvc: Use 'copy' and 'ren' instead of 'cp' and 'mv'.

2000-05-23  Bruno Haible  <haible@clisp.cons.org>

        * autoconf/aclocal.m4 (CL_CANONICAL_HOST): Determine host_cpu,
          host_vendor, host_os correctly if $host has more than two hyphens.

2000-04-02  Bruno Haible  <bruno@linuix.math.u-bordeaux.fr>

        Allow building on filesystems lacking symlinks and hard links.
        * Makefile.devel (autoconf/aclocal.m4): Replace AC_PROG_LN_S with
          CL_PROG_LN_S.
        * configure.in: Add CL_PROG_LN_S.
        * src/Makefile.in (LN): Remove.

1999-06-18  Bruno Haible  <bruno@linuix.math.u-bordeaux.fr>

        * handler.c (user_handler): Define also on WIN32.

1999-06-16  Bruno Haible  <bruno@linuix.math.u-bordeaux.fr>

        * sigsegv.h.in (stackoverflow_context_t): More precise definition on
          Solaris, Irix, OSF/1.

1999-05-30  Bruno Haible  <bruno@linuix.math.u-bordeaux.fr>

        * Makefile.in (install-lib): New target.

1999-05-29  Bruno Haible  <bruno@linuix.math.u-bordeaux.fr>

        * Makefile.in (install): Make sure the directories $(prefix) and
          $(exec_prefix) exist.

1999-05-16  Bruno Haible  <bruno@linuix.math.u-bordeaux.fr>

        Libtoolify.
        * autoconf/ltconfig, autoconf/ltmain.sh: New files, from libtool-1.2.
        * Makefile.devel (OTHERMACROS): New macro.
          (autoconf/aclocal.m4): Add the contents of $(OTHERMACROS).
        * configure.in: Call CL_CANONICAL_HOST and AM_PROG_LIBTOOL.
        * Makefile.in (LIBTOOL, LIBTOOL_COMPILE, LIBTOOL_LINK,
           LIBTOOL_INSTALL, LIBTOOL_UNINSTALL): New macros.
          (top_builddir): New macro.
          (OBJECTS): Change .o to .lo.
          (all): Change .a to .la.
          (handler.lo): Renamed from handler.o. Use $(LIBTOOL_COMPILE).
          (dispatcher.lo): Renamed from dispatcher.o. Use $(LIBTOOL_COMPILE).
          (libsigsegv.la): Renamed from libsigsegv.a. Use $(LIBTOOL_LINK).
          (install): Use $(LIBTOOL_INSTALL). Copy ./sigsegv.h not
          $(srcdir)/sigsegv.h.
          (uninstall): Use $(LIBTOOL_UNINSTALL).
          (test1, test2, test3): Change .a to .la. Use $(LIBTOOL_LINK).
          (clean): Also remove *.lo *.la .libs _libs.
          (distclean): Also remove libtool.

1999-05-16  Bruno Haible  <bruno@linuix.math.u-bordeaux.fr>

        For Linux 2.0.x with glibc2.0.
        * aclocal.m4 (CL_SIGALTSTACK): Define HAVE_SIGALTSTACK only if the
          sigaction flags macro SA_ONSTACK is also defined.

1999-05-15  Bruno Haible  <bruno@linuix.math.u-bordeaux.fr>

        For DEC OSF/1 3.2.
        * sigsegv.h.in (HAVE_STACK_OVERFLOW_RECOVERY): Undefine if test3
          doesn't work.
        * Makefile.in (SEDPREPARE0, SEDCOMMAND3): New macros.
          (sigsegv.h): Also try running test3.

1999-05-09  Bruno Haible  <bruno@linuix.math.u-bordeaux.fr>

        * sigsegv.h.in (HAVE_STACK_OVERFLOW_RECOVERY): Also define on Solaris,
          Irix, OSF/1.
        * handler.c: Use symbolic UNIX_* macros for various Unix brands.
          (SIGSEGV_FAULT_HANDLER_ARGLIST, SIGSEGV_ALL_SIGNALS): Define also
          when HAVE_SIGSEGV_RECOVERY is not defined. Add support for
          Linux/m68k, Linux/mips, Linux/alpha, Linux/arm.
          (SIGSEGV_FAULT_CONTEXT, SIGSEGV_FAULT_STACKPOINTER): New macros.
          (get_vma) [UNIX_LINUX]: No need to initialize prev twice.
          (reset_onstack_flag) [UNIX_LINUX]: New function.
          (get_vma, reset_onstack_flag) [UNIX_SUNOS, UNIX_IRIX, UNIX_OSF]: New
          functions.
          (sigsegv_leave_handler): If SIGACTION_NEED_UNBLOCK is defined,
          unblock the signal itself. Call reset_onstack_flag.
          (stackoverflow_deinstall_handler): Print something if sigaltstack
          fails.
        * aclocal.m4 (CL_SIGNAL_UNBLOCK, CL_SIGNAL_BLOCK_OTHERS,
           CL_SIGACTION_UNBLOCK): Perform the test if either POSIX or BSD
          signal mask primitives are available. Otherwise,
          SIGACTION_NEED_UNBLOCK would not be defined on Solaris.

1999-05-07  Bruno Haible  <bruno@linuix.math.u-bordeaux.fr>

        * test3.c (main): Make more verbose.

        Avoid a "make check" failure with "cc" on DEC OSF/1 4.0.
        * test2.c (barrier): New function.
          (main): Call it at the right moment.

        * Makefile.in (SEDPREPARE1, SEDCOMMAND2): Don't use # as literal.
          Only GNU make understands \#, other `make's don't.

1999-05-02  Bruno Haible  <bruno@linuix.math.u-bordeaux.fr>

        Support for catching stack overflow on Unix, using sigaltstack().
        * aclocal.m4 (CL_SIGALTSTACK): New macro.
        * configure.in: Add CL_SIGALTSTACK and CL_RLIMIT.
        * config.h.in: Add HAVE_SIGALTSTACK, HAVE_SETRLIMIT,
          RLIMIT_RESOURCE_T, SETRLIMIT_CONST.
        * Makefile.in (SEDPREPARE1, SEDCOMMAND1, SEDCOMMAND2): New macros.
          (sigsegv.h): Use them. Depend on config.h.
        * sigsegv.h.in: Test __linux__ instead of linux.
          Conditionally define HAVE_STACK_OVERFLOW_RECOVERY for Linux.
          (sigsegv_handler_t): Add `serious' argument.
          (stackoverflow_context_t): New type.
          (stackoverflow_handler_t, stackoverflow_install_handler,
           stackoverflow_deinstall_handler): Declare unconditionally.
          (stackoverflow_handler_t): Add `scp' argument.
          (stackoverflow_install_handler): Change return type to `int'.
        * handler.c: Test __linux__ instead of linux.
          Move Win32 section to the end.
          On Unix, install SIGSEGV handler if HAVE_SIGSEGV_RECOVERY or
          HAVE_STACK_OVERFLOW_RECOVERY.
          (vma_struct): New type.
          (get_vma): New function.
          (SIGSEGV_FAULT_CONTEXT, SIGSEGV_FAULT_STACKPOINTER): New macros.
          (stack_top): New variable.
          (remember_stack_top): New function.
          (stk_user_handler, stk_extra_stack, stk_extra_stack_size): New
          variables.
          (no_user_handler): Remove, use NULL instead.
          (sigsegv_handler): Extend to support HAVE_STACK_OVERFLOW_RECOVERY.
          (install_for): Add SA_ONSTACK to sigaction flags if needed.
          (sigsegv_deinstall_handler): Deinstall handlers only if
          not needed for stk_user_handler.
          (stackoverflow_install_handler, stackoverflow_deinstall_handler):
          New functions.
          (stack_overflow_handler) [WIN32]: Add context argument.
          (main_exception_filter): Pass context argument.
        * test1.c (handler): Add `serious' argument.
        * test2.c (handler): Likewise.
        * test3.c (stackoverflow_handler): Add `scp' argument. Use
          sigsegv_leave_handler instead of complicated #ifdef spaghetti.
          (main): Call setrlimit, to make sure the recursion doesn't kill the
          machine. If stackoverflow_install_handler returns -1, bypass the
          test, because it would crash.

1999-03-15  Bruno Haible  <bruno@linuix.math.u-bordeaux.fr>

        * configure.in: Add CL_CC_GCC.
        * Makefile.in: Use "-x none" option where appropriate.
        * dispatcher.c: In C++ mode, don't define a function named `delete'.

1999-02-08  Bruno Haible  <bruno@linuix.math.u-bordeaux.fr>

        * sigsegv/sigsegv.h.in: Renamed from sigsegv/sigsegv.h.
          Added "#undef HAVE_SIGSEGV_RECOVERY", commented out.
        * Makefile.in (sigsegv.h): Try compiling and running test1. If it
          fails, like on Solaris 2.5 and 2.5.1, uncomment "#undef
          HAVE_SIGSEGV_RECOVERY".
        * Makefile.msvc: Update.

1999-01-29  Bruno Haible  <bruno@linuix.math.u-bordeaux.fr>

        * sigsegv.h [linux && sparc]: Disable HAVE_SIGSEGV_RECOVERY. It does
          not work any more.

EOF-ChangeLog.1
echo - 'INSTALL'
cat << 'EOF-INSTALL' > 'INSTALL'
Basic Installation
==================

   These are generic installation instructions.

   The `configure' shell script attempts to guess correct values for
various system-dependent variables used during compilation.  It uses
those values to create a `Makefile' in each directory of the package.
It may also create one or more `.h' files containing system-dependent
definitions.  Finally, it creates a shell script `config.status' that
you can run in the future to recreate the current configuration, a file
`config.cache' that saves the results of its tests to speed up
reconfiguring, and a file `config.log' containing compiler output
(useful mainly for debugging `configure').

   If you need to do unusual things to compile the package, please try
to figure out how `configure' could check whether to do them, and mail
diffs or instructions to the address given in the `README' so they can
be considered for the next release.  If at some point `config.cache'
contains results you don't want to keep, you may remove or edit it.

   The file `configure.in' is used to create `configure' by a program
called `autoconf'.  You only need `configure.in' if you want to change
it or regenerate `configure' using a newer version of `autoconf'.

The 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.  If you're
     using `csh' on an old version of System V, you might need to type
     `sh ./configure' instead to prevent `csh' from trying to execute
     `configure' itself.

     Running `configure' takes awhile.  While running, it prints some
     messages telling which features it is checking for.

  2. Type `make' to compile the package.

  3. Optionally, type `make check' to run any self-tests that come with
     the package.

  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
     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
     also a `make maintainer-clean' target, but that is intended mainly
     for the package's developers.  If you use it, you may have to get
     all sorts of other programs in order to regenerate files that came
     with the distribution.

Compilers and Options
=====================

   Some systems require unusual options for compilation or linking that
the `configure' script does not know about.  You can give `configure'
initial values for variables by setting them in the environment.  Using
a Bourne-compatible shell, you can do that on the command line like
this:
     CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure

Or on systems that have the `env' program, you can do it like this:
     env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure

Compiling For Multiple Architectures
====================================

   You can compile the package for more than one kind of computer at the
same time, by placing the object files for each architecture in their
own directory.  To do this, you must use a version of `make' that
supports the `VPATH' variable, such as 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 `..'.

   If you have to use a `make' that does not supports the `VPATH'
variable, you have to compile the package for one architecture at a time
in the source code directory.  After you have installed the package for
one architecture, use `make distclean' before reconfiguring for another
architecture.

   On MacOS X 10.5 and later systems, you 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"

   This is not guaranteed to produce working output in all cases.  You
may have to build one architecture at a time and combine the results
using the 'lipo' tool if you have problems.

Installation Names
==================

   By default, `make install' will install the package's files in
`/usr/local/bin', `/usr/local/man', etc.  You can specify an
installation prefix other than `/usr/local' by giving `configure' the
option `--prefix=PATH'.

   You can specify separate installation prefixes for
architecture-specific files and architecture-independent files.  If you
give `configure' the option `--exec-prefix=PATH', the package will use
PATH as the prefix for installing programs and libraries.
Documentation and other data files will still use the regular prefix.

   In addition, if you use an unusual directory layout you can give
options like `--bindir=PATH' 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.

   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
is something like `gnu-as' or `x' (for the X Window System).  The
`README' should mention any `--enable-' and `--with-' options that the
package recognizes.

   For packages that use the X Window System, `configure' can usually
find the X include and library files automatically, but if it doesn't,
you can use the `configure' options `--x-includes=DIR' and
`--x-libraries=DIR' to specify their locations.

   For packages that use the GNU libiconv library, you can use the
`configure' option `--with-libiconv-prefix' to specify the prefix you
used while installing libiconv.

Particular Systems
==================

   On HP-UX, the default C compiler is not ANSI C compatible.  If GNU CC
is not installed, it is recommended to use the following options in order
to use an ANSI C compiler:

     ./configure CC="cc -Ae"

and if that doesn't work, install pre-built binaries of GCC for HP-UX.

   On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
parse its `<wchar.h>' header file.  The option `-nodtk' can be used as
a workaround.  If GNU CC is not installed, it is therefore recommended
to try

     ./configure CC="cc"

and if that doesn't work, try

     ./configure CC="cc -nodtk"

   On AIX 3, the C include files by default don't define some necessary
prototype declarations.  If GNU CC is not installed, it is recommended to
use the following options:

     ./configure CC="xlc -D_ALL_SOURCE"

   On BeOS, user installed software goes in /boot/home/config, not
/usr/local.  It is recommended to use the following options:

     ./configure --prefix=/boot/home/config

Specifying the System Type
==========================

   There may be some features `configure' can not figure out
automatically, but needs to determine by the type of host the package
will run on.  Usually `configure' can figure that out, but if it prints
a message saying it can not guess the host type, give it the
`--host=TYPE' option.  TYPE can either be a short name for the system
type, such as `sun4', or a canonical name with three fields:
     CPU-COMPANY-SYSTEM

See the file `config.sub' for the possible values of each field.  If
`config.sub' isn't included in this package, then this package doesn't
need to know the host type.

   If you are building compiler tools for cross-compiling, you can also
use the `--target=TYPE' option to select the type of system they will
produce code for and the `--build=TYPE' option to select the type of
system on which you are compiling the package.

Sharing Defaults
================

   If you want to set default values for `configure' scripts to share,
you can create a site shell script called `config.site' that gives
default values for variables like `CC', `cache_file', and `prefix'.
`configure' looks for `PREFIX/share/config.site' if it exists, then
`PREFIX/etc/config.site' if it exists.  Or, you can set the
`CONFIG_SITE' environment variable to the location of the site script.
A warning: not all `configure' scripts look for a site script.

Operation Controls
==================

   `configure' recognizes the following options to control how it
operates.

`--cache-file=FILE'
     Use and save the results of the tests in FILE instead of
     `./config.cache'.  Set FILE to `/dev/null' to disable caching, for
     debugging `configure'.

`--help'
     Print a summary of the options to `configure', and exit.

`--quiet'
`--silent'
`-q'
     Do not print messages saying which checks are being made.  To
     suppress all normal output, redirect it to `/dev/null' (any error
     messages will still be shown).

`--srcdir=DIR'
     Look for the package's source code in directory DIR.  Usually
     `configure' can determine that directory automatically.

`--version'
     Print the version of Autoconf used to generate the `configure'
     script, and exit.

`configure' also accepts some other, not widely useful, options.

EOF-INSTALL
echo - 'Makefile.am'
cat << 'EOF-Makefile.am' > 'Makefile.am'
## Makefile for libsigsegv.
## Copyright (C) 2002-2003, 2007, 2009 Bruno Haible <bruno@clisp.org>
##
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation; either version 2, or (at your option)
## any later version.
##
## 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.

## Process this file with automake to produce Makefile.in.

AUTOMAKE_OPTIONS = 1.7h gnu no-dependencies
ACLOCAL_AMFLAGS = -I m4

SUBDIRS = src tests

EXTRA_DIST = ChangeLog.1 PORTING README.woe32 Makefile.msvc config.h.msvc

DISTCLEANFILES = termbold termnorm


# Lead the user through the installation, in the hope that he will help us
# by sending his config.log.

TARGETSTACK =
AM_MAKEFLAGS = TARGETSTACK="$(TARGETSTACK) $@"

all-am: all-next
all-next:
	@if echo "$(TARGETSTACK)" | grep check-recursive > /dev/null; then :; else \
	   if echo "$(TARGETSTACK)" | grep install-recursive > /dev/null; then :; else \
	     echo; echo "Now please type '"`cat termbold`"make check"`cat termnorm`"' to run a quick test suite. Hope it works."; echo; \
	   fi; \
	 fi

check-am: check-next
check-next:
	@when="Now"; \
	if grep '^@PLATFORM@ .* @VERSION@$$' $(srcdir)/PORTING > /dev/null; then :; else \
	  case '@PLATFORM@' in \
	    i?86-*-linux* | x86_64-*-linux*) ;; \
	    *) \
	      echo; \
	      echo "Please send the following summary line via email to the author"; \
	      echo "Bruno Haible <bruno@clisp.org> for inclusion into the list of"; \
	      echo "successfully tested platforms (see PORTING file)."; echo; \
	      if test @HAVE_SIGSEGV_RECOVERY@ = 1; then have1=yes; else have1=no; fi; \
	      if test @HAVE_STACK_OVERFLOW_RECOVERY@ = 1; then have2=yes; else have2=no; fi; \
	      echo `cat termbold`"libsigsegv: @PLATFORM@ | $$have1 | $$have2 | @VERSION@"`cat termnorm`; \
	      when="Then"; \
	      ;; \
	  esac; \
	fi; \
	echo; echo "$$when please type '"`cat termbold`"make install"`cat termnorm`"' to install the package."; echo

install-data-hook: install-next
install-next:
	@echo; echo "Now use the package; you can remove it later via '"`cat termbold`"make uninstall"`cat termnorm`"'."; echo

# ADR: For gawk, install should do nothing
install:
	@echo make install suppressed for gawk

# Rules for "make dist".

$(srcdir)/config.h.msvc : config.h.in
	sed -e 's/#undef CFG_HANDLER/#define CFG_HANDLER "handler-win32.c"/' < $(srcdir)/config.h.in > $@
EOF-Makefile.am
echo - 'Makefile.in'
cat << 'EOF-Makefile.in' > 'Makefile.in'
# Makefile.in generated by automake 1.11 from Makefile.am.
# @configure_input@

# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
# Inc.
# This Makefile.in 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.

# This program 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.

@SET_MAKE@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = .
DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
	$(srcdir)/Makefile.in $(srcdir)/config.h.in \
	$(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \
	build-aux/config.guess build-aux/config.sub \
	build-aux/install-sh build-aux/ltmain.sh build-aux/missing
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/bold.m4 \
	$(top_srcdir)/m4/fault.m4 $(top_srcdir)/m4/getpagesize.m4 \
	$(top_srcdir)/m4/libtool.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/mmap-anon.m4 \
	$(top_srcdir)/m4/relocatable.m4 \
	$(top_srcdir)/m4/sigaltstack-longjmp.m4 \
	$(top_srcdir)/m4/sigaltstack-siglongjmp.m4 \
	$(top_srcdir)/m4/sigaltstack.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 =
CONFIG_CLEAN_VPATH_FILES =
depcomp =
am__depfiles_maybe =
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
	html-recursive info-recursive install-data-recursive \
	install-dvi-recursive install-exec-recursive \
	install-html-recursive install-info-recursive \
	install-pdf-recursive install-ps-recursive install-recursive \
	installcheck-recursive installdirs-recursive pdf-recursive \
	ps-recursive uninstall-recursive
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
  distclean-recursive maintainer-clean-recursive
AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
	$(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
	distdir dist dist-all distcheck
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
am__remove_distdir = \
  { test ! -d "$(distdir)" \
    || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
         && rm -fr "$(distdir)"; }; }
am__relativize = \
  dir0=`pwd`; \
  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
  sed_rest='s,^[^/]*/*,,'; \
  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
  sed_butlast='s,/*[^/]*$$,,'; \
  while test -n "$$dir1"; do \
    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
    if test "$$first" != "."; then \
      if test "$$first" = ".."; then \
        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
      else \
        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
        if test "$$first2" = "$$first"; then \
          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
        else \
          dir2="../$$dir2"; \
        fi; \
        dir0="$$dir0"/"$$first"; \
      fi; \
    fi; \
    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
  done; \
  reldir="$$dir2"
DIST_ARCHIVES = $(distdir).tar.gz
GZIP_ENV = --best
distuninstallcheck_listfiles = find . -type f -print
distcleancheck_listfiles = find . -type f -print
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFG_HANDLER = @CFG_HANDLER@
CFG_LEAVE = @CFG_LEAVE@
CFG_STACKVMA = @CFG_STACKVMA@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FAULT_CONTEXT = @FAULT_CONTEXT@
FGREP = @FGREP@
GREP = @GREP@
HAVE_SIGSEGV_RECOVERY = @HAVE_SIGSEGV_RECOVERY@
HAVE_STACK_OVERFLOW_RECOVERY = @HAVE_STACK_OVERFLOW_RECOVERY@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PLATFORM = @PLATFORM@
RANLIB = @RANLIB@
RELOCATABLE = @RELOCATABLE@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
AUTOMAKE_OPTIONS = 1.7h gnu no-dependencies
ACLOCAL_AMFLAGS = -I m4
SUBDIRS = src tests
EXTRA_DIST = ChangeLog.1 PORTING README.woe32 Makefile.msvc config.h.msvc
DISTCLEANFILES = termbold termnorm

# Lead the user through the installation, in the hope that he will help us
# by sending his config.log.
TARGETSTACK = 
AM_MAKEFLAGS = TARGETSTACK="$(TARGETSTACK) $@"
all: config.h
	$(MAKE) $(AM_MAKEFLAGS) all-recursive

.SUFFIXES:
am--refresh:
	@:
$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
	@for dep in $?; do \
	  case '$(am__configure_deps)' in \
	    *$$dep*) \
	      echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \
	      $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \
		&& exit 0; \
	      exit 1;; \
	  esac; \
	done; \
	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
	$(am__cd) $(top_srcdir) && \
	  $(AUTOMAKE) --gnu Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
	@case '$?' in \
	  *config.status*) \
	    echo ' $(SHELL) ./config.status'; \
	    $(SHELL) ./config.status;; \
	  *) \
	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
	    cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
	esac;

$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
	$(SHELL) ./config.status --recheck

$(top_srcdir)/configure:  $(am__configure_deps)
	$(am__cd) $(srcdir) && $(AUTOCONF)
$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
	$(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
$(am__aclocal_m4_deps):

config.h: stamp-h1
	@if test ! -f $@; then \
	  rm -f stamp-h1; \
	  $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \
	else :; fi

stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
	@rm -f stamp-h1
	cd $(top_builddir) && $(SHELL) ./config.status config.h
$(srcdir)/config.h.in:  $(am__configure_deps) 
	($(am__cd) $(top_srcdir) && $(AUTOHEADER))
	rm -f stamp-h1
	touch $@

distclean-hdr:
	-rm -f config.h stamp-h1

mostlyclean-libtool:
	-rm -f *.lo

clean-libtool:
	-rm -rf .libs _libs

distclean-libtool:
	-rm -f libtool config.lt

# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
# To change the values of `make' variables: instead of editing Makefiles,
# (1) if the variable is set in `config.status', edit `config.status'
#     (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'; \
	for f in x $$MAKEFLAGS; do \
	  case $$f in \
	    *=* | --[!k]*);; \
	    *k*) failcom='fail=yes';; \
	  esac; \
	done; \
	dot_seen=no; \
	target=`echo $@ | sed s/-recursive//`; \
	list='$(SUBDIRS)'; for subdir in $$list; do \
	  echo "Making $$target in $$subdir"; \
	  if test "$$subdir" = "."; then \
	    dot_seen=yes; \
	    local_target="$$target-am"; \
	  else \
	    local_target="$$target"; \
	  fi; \
	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
	  || eval $$failcom; \
	done; \
	if test "$$dot_seen" = "no"; then \
	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
	fi; test -z "$$fail"

$(RECURSIVE_CLEAN_TARGETS):
	@failcom='exit 1'; \
	for f in x $$MAKEFLAGS; do \
	  case $$f in \
	    *=* | --[!k]*);; \
	    *k*) failcom='fail=yes';; \
	  esac; \
	done; \
	dot_seen=no; \
	case "$@" in \
	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
	  *) list='$(SUBDIRS)' ;; \
	esac; \
	rev=''; for subdir in $$list; do \
	  if test "$$subdir" = "."; then :; else \
	    rev="$$subdir $$rev"; \
	  fi; \
	done; \
	rev="$$rev ."; \
	target=`echo $@ | sed s/-recursive//`; \
	for subdir in $$rev; do \
	  echo "Making $$target in $$subdir"; \
	  if test "$$subdir" = "."; then \
	    local_target="$$target-am"; \
	  else \
	    local_target="$$target"; \
	  fi; \
	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
	  || eval $$failcom; \
	done && test -z "$$fail"
tags-recursive:
	list='$(SUBDIRS)'; for subdir in $$list; do \
	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
	done
ctags-recursive:
	list='$(SUBDIRS)'; for subdir in $$list; do \
	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
	done

ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
	unique=`for i in $$list; do \
	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
	  done | \
	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
	      END { if (nonempty) { for (i in files) print i; }; }'`; \
	mkid -fID $$unique
tags: TAGS

TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
		$(TAGS_FILES) $(LISP)
	set x; \
	here=`pwd`; \
	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
	  include_option=--etags-include; \
	  empty_fix=.; \
	else \
	  include_option=--include; \
	  empty_fix=; \
	fi; \
	list='$(SUBDIRS)'; for subdir in $$list; do \
	  if test "$$subdir" = .; then :; else \
	    test ! -f $$subdir/TAGS || \
	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
	  fi; \
	done; \
	list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
	unique=`for i in $$list; do \
	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
	  done | \
	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
	      END { if (nonempty) { for (i in files) print i; }; }'`; \
	shift; \
	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
	  test -n "$$unique" || unique=$$empty_fix; \
	  if test $$# -gt 0; then \
	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
	      "$$@" $$unique; \
	  else \
	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
	      $$unique; \
	  fi; \
	fi
ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
		$(TAGS_FILES) $(LISP)
	list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
	unique=`for i in $$list; do \
	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
	  done | \
	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
	      END { if (nonempty) { for (i in files) print i; }; }'`; \
	test -z "$(CTAGS_ARGS)$$unique" \
	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
	     $$unique

GTAGS:
	here=`$(am__cd) $(top_builddir) && pwd` \
	  && $(am__cd) $(top_srcdir) \
	  && gtags -i $(GTAGS_ARGS) "$$here"

distclean-tags:
	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags

distdir: $(DISTFILES)
	$(am__remove_distdir)
	test -d "$(distdir)" || mkdir "$(distdir)"
	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
	list='$(DISTFILES)'; \
	  dist_files=`for file in $$list; do echo $$file; done | \
	  sed -e "s|^$$srcdirstrip/||;t" \
	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
	case $$dist_files in \
	  */*) $(MKDIR_P) `echo "$$dist_files" | \
			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
			   sort -u` ;; \
	esac; \
	for file in $$dist_files; do \
	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
	  if test -d $$d/$$file; then \
	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
	    if test -d "$(distdir)/$$file"; then \
	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
	    fi; \
	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
	    fi; \
	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
	  else \
	    test -f "$(distdir)/$$file" \
	    || cp -p $$d/$$file "$(distdir)/$$file" \
	    || exit 1; \
	  fi; \
	done
	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
	  if test "$$subdir" = .; then :; else \
	    test -d "$(distdir)/$$subdir" \
	    || $(MKDIR_P) "$(distdir)/$$subdir" \
	    || exit 1; \
	  fi; \
	done
	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
	  if test "$$subdir" = .; then :; else \
	    dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
	    $(am__relativize); \
	    new_distdir=$$reldir; \
	    dir1=$$subdir; dir2="$(top_distdir)"; \
	    $(am__relativize); \
	    new_top_distdir=$$reldir; \
	    echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
	    echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
	    ($(am__cd) $$subdir && \
	      $(MAKE) $(AM_MAKEFLAGS) \
	        top_distdir="$$new_top_distdir" \
	        distdir="$$new_distdir" \
		am__remove_distdir=: \
		am__skip_length_check=: \
		am__skip_mode_fix=: \
	        distdir) \
	      || exit 1; \
	  fi; \
	done
	-test -n "$(am__skip_mode_fix)" \
	|| find "$(distdir)" -type d ! -perm -777 -exec chmod a+rwx {} \; -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 {} {} \; \
	|| chmod -R a+r "$(distdir)"
dist-gzip: distdir
	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
	$(am__remove_distdir)

dist-bzip2: distdir
	tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
	$(am__remove_distdir)

dist-lzma: distdir
	tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
	$(am__remove_distdir)

dist-xz: distdir
	tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
	$(am__remove_distdir)

dist-tarZ: distdir
	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
	$(am__remove_distdir)

dist-shar: distdir
	shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
	$(am__remove_distdir)

dist-zip: distdir
	-rm -f $(distdir).zip
	zip -rq $(distdir).zip $(distdir)
	$(am__remove_distdir)

dist dist-all: distdir
	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
	$(am__remove_distdir)

# This target untars the dist file and tries a VPATH configuration.  Then
# it guarantees that the distribution is self-contained by making another
# tarfile.
distcheck: dist
	case '$(DIST_ARCHIVES)' in \
	*.tar.gz*) \
	  GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
	*.tar.bz2*) \
	  bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
	*.tar.lzma*) \
	  unlzma -c $(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 ;;\
	*.zip*) \
	  unzip $(distdir).zip ;;\
	esac
	chmod -R a-w $(distdir); chmod a+w $(distdir)
	mkdir $(distdir)/_build
	mkdir $(distdir)/_inst
	chmod a-w $(distdir)
	test -d $(distdir)/_build || exit 0; \
	dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
	  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
	  && am__cwd=`pwd` \
	  && $(am__cd) $(distdir)/_build \
	  && ../configure --srcdir=.. --prefix="$$dc_install_base" \
	    $(DISTCHECK_CONFIGURE_FLAGS) \
	  && $(MAKE) $(AM_MAKEFLAGS) \
	  && $(MAKE) $(AM_MAKEFLAGS) dvi \
	  && $(MAKE) $(AM_MAKEFLAGS) check \
	  && $(MAKE) $(AM_MAKEFLAGS) install \
	  && $(MAKE) $(AM_MAKEFLAGS) installcheck \
	  && $(MAKE) $(AM_MAKEFLAGS) uninstall \
	  && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
	        distuninstallcheck \
	  && chmod -R a-w "$$dc_install_base" \
	  && ({ \
	       (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
	            distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
	      } || { rm -rf "$$dc_destdir"; exit 1; }) \
	  && rm -rf "$$dc_destdir" \
	  && $(MAKE) $(AM_MAKEFLAGS) dist \
	  && rm -rf $(DIST_ARCHIVES) \
	  && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
	  && cd "$$am__cwd" \
	  || exit 1
	$(am__remove_distdir)
	@(echo "$(distdir) archives ready for distribution: "; \
	  list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
	  sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
distuninstallcheck:
	@$(am__cd) '$(distuninstallcheck_dir)' \
	&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
	   || { echo "ERROR: files left after uninstall:" ; \
	        if test -n "$(DESTDIR)"; then \
	          echo "  (check DESTDIR support)"; \
	        fi ; \
	        $(distuninstallcheck_listfiles) ; \
	        exit 1; } >&2
distcleancheck: distclean
	@if test '$(srcdir)' = . ; then \
	  echo "ERROR: distcleancheck can only run from a VPATH build" ; \
	  exit 1 ; \
	fi
	@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
	  || { echo "ERROR: files left in build directory after distclean:" ; \
	       $(distcleancheck_listfiles) ; \
	       exit 1; } >&2
check-am: all-am
check: check-recursive
all-am: Makefile config.h
installdirs: installdirs-recursive
installdirs-am:
install-exec: install-exec-recursive
install-data: install-data-recursive
uninstall: uninstall-recursive

install-am: all-am
	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am

installcheck: installcheck-recursive
install-strip:
	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
	  `test -z '$(STRIP)' || \
	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:

clean-generic:

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)
	-test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)

maintainer-clean-generic:
	@echo "This command is intended for maintainers to use"
	@echo "it deletes files that may require special tools to rebuild."
clean: clean-recursive

clean-am: clean-generic clean-libtool mostlyclean-am

distclean: distclean-recursive
	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
	-rm -f Makefile
distclean-am: clean-am distclean-generic distclean-hdr \
	distclean-libtool distclean-tags

dvi: dvi-recursive

dvi-am:

html: html-recursive

html-am:

info: info-recursive

info-am:

install-data-am:
	@$(NORMAL_INSTALL)
	$(MAKE) $(AM_MAKEFLAGS) install-data-hook
install-dvi: install-dvi-recursive

install-dvi-am:

install-exec-am:

install-html: install-html-recursive

install-html-am:

install-info: install-info-recursive

install-info-am:

install-man:

install-pdf: install-pdf-recursive

install-pdf-am:

install-ps: install-ps-recursive

install-ps-am:

installcheck-am:

maintainer-clean: maintainer-clean-recursive
	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
	-rm -rf $(top_srcdir)/autom4te.cache
	-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic

mostlyclean: mostlyclean-recursive

mostlyclean-am: mostlyclean-generic mostlyclean-libtool

pdf: pdf-recursive

pdf-am:

ps: ps-recursive

ps-am:

uninstall-am:

.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \
	ctags-recursive install-am install-data-am install-strip \
	tags-recursive

.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
	all all-am am--refresh check check-am clean clean-generic \
	clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \
	dist-gzip dist-lzma dist-shar dist-tarZ dist-xz dist-zip \
	distcheck distclean distclean-generic distclean-hdr \
	distclean-libtool distclean-tags distcleancheck distdir \
	distuninstallcheck dvi dvi-am html html-am info info-am \
	install install-am install-data install-data-am \
	install-data-hook 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-generic \
	mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
	uninstall uninstall-am


all-am: all-next
all-next:
	@if echo "$(TARGETSTACK)" | grep check-recursive > /dev/null; then :; else \
	   if echo "$(TARGETSTACK)" | grep install-recursive > /dev/null; then :; else \
	     echo; echo "Now please type '"`cat termbold`"make check"`cat termnorm`"' to run a quick test suite. Hope it works."; echo; \
	   fi; \
	 fi

check-am: check-next
check-next:
	@when="Now"; \
	if grep '^@PLATFORM@ .* @VERSION@$$' $(srcdir)/PORTING > /dev/null; then :; else \
	  case '@PLATFORM@' in \
	    i?86-*-linux* | x86_64-*-linux*) ;; \
	    *) \
	      echo; \
	      echo "Please send the following summary line via email to the author"; \
	      echo "Bruno Haible <bruno@clisp.org> for inclusion into the list of"; \
	      echo "successfully tested platforms (see PORTING file)."; echo; \
	      if test @HAVE_SIGSEGV_RECOVERY@ = 1; then have1=yes; else have1=no; fi; \
	      if test @HAVE_STACK_OVERFLOW_RECOVERY@ = 1; then have2=yes; else have2=no; fi; \
	      echo `cat termbold`"libsigsegv: @PLATFORM@ | $$have1 | $$have2 | @VERSION@"`cat termnorm`; \
	      when="Then"; \
	      ;; \
	  esac; \
	fi; \
	echo; echo "$$when please type '"`cat termbold`"make install"`cat termnorm`"' to install the package."; echo

install-data-hook: install-next
install-next:
	@echo; echo "Now use the package; you can remove it later via '"`cat termbold`"make uninstall"`cat termnorm`"'."; echo

# ADR: For gawk, install should do nothing
install:
	@echo make install suppressed for gawk

# Rules for "make dist".

$(srcdir)/config.h.msvc : config.h.in
	sed -e 's/#undef CFG_HANDLER/#define CFG_HANDLER "handler-win32.c"/' < $(srcdir)/config.h.in > $@

# 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:
EOF-Makefile.in
echo - 'Makefile.msvc'
cat << 'EOF-Makefile.msvc' > 'Makefile.msvc'
# -*- Makefile -*- for libsigsegv

#### Start of system configuration section. ####

# Flags that can be set on the nmake command line:
#   MFLAGS={-ML|-MT|-MD} for defining the compilation model
#     MFLAGS=-ML (the default)  Single-threaded, statically linked - libc.lib
#     MFLAGS=-MT                Multi-threaded, statically linked  - libcmt.lib
#     MFLAGS=-MD                Multi-threaded, dynamically linked - msvcrt.lib
#   DEBUG=1   for compiling with debugging information
# Note that nmake command line flags are automatically passed to subdirectory
# Makefiles. Therefore we don't need to pass them explicitly to subdirectory
# Makefiles, but the subdirectory Makefiles need to have the same defaults.
# Building as a DLL not supported yet.
DLL=0
!if !defined(DEBUG)
DEBUG=0
!endif
!if !defined(MFLAGS)
!if !$(DLL)
MFLAGS=
!else
MFLAGS=-MD
!endif
!endif

!if $(DEBUG)
OPTIMFLAGS = -Od -Z7
!else
OPTIMFLAGS = -D_NDEBUG -O1
!endif

# Directories used by "make":
srcdir = .

# Directories used by "make install":
prefix = /usr/local
local_prefix = /usr/local
exec_prefix = $(prefix)
libdir = $(exec_prefix)/lib
includedir = $(prefix)/include

# Programs used by "make":
CC = cl
CFLAGS = $(MFLAGS) $(OPTIMFLAGS)
CPP = cl -E
INCLUDES = -I. -I$(srcdir)
AR = lib
AR_FLAGS = /out:
MV = ren
CP = copy
LN = copy
RM = -del

# Programs used by "make install":
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@

#### End of system configuration section. ####

SHELL = /bin/sh

OBJECTS = handler.obj dispatcher.obj version.obj

all : sigsegv.lib

config.h : config.h.msvc
	$(CP) $(srcdir)\config.h.msvc config.h

sigsegv.h : src/sigsegv.h.msvc
	$(CP) $(srcdir)\src\sigsegv.h.msvc sigsegv.h

handler.obj : $(srcdir)/src/handler.c $(srcdir)/src/handler-win32.c sigsegv.h config.h
	$(CC) $(CFLAGS) $(INCLUDES) -c $(srcdir)/src/handler.c

dispatcher.obj : $(srcdir)/src/dispatcher.c sigsegv.h config.h
	$(CC) $(CFLAGS) $(INCLUDES) -c $(srcdir)/src/dispatcher.c

version.obj : $(srcdir)/src/version.c sigsegv.h
	$(CC) $(CFLAGS) $(INCLUDES) -c $(srcdir)/src/version.c

!if !$(DLL)
sigsegv.lib : $(OBJECTS)
	$(RM) sigsegv.lib
	$(AR) $(AR_FLAGS)sigsegv.lib $(OBJECTS)
!else
# sigsegv.dll and sigsegv.lib are created together.
sigsegv.lib : $(OBJECTS)
	$(CC) $(MFLAGS) -LD $(OBJECTS) -Fesigsegv.dll
!endif

sigsegv1.exe : $(srcdir)/tests/sigsegv1.c sigsegv.h sigsegv.lib
	$(CC) $(CFLAGS) $(INCLUDES) $(srcdir)/tests/sigsegv1.c sigsegv.lib /Fesigsegv1

sigsegv2.exe : $(srcdir)/tests/sigsegv2.c sigsegv.h sigsegv.lib
	$(CC) $(CFLAGS) $(INCLUDES) $(srcdir)/tests/sigsegv2.c sigsegv.lib /Fesigsegv2

stackoverflow1.exe : $(srcdir)/tests/stackoverflow1.c sigsegv.h sigsegv.lib
	$(CC) $(CFLAGS) $(INCLUDES) $(srcdir)/tests/stackoverflow1.c sigsegv.lib /Festackoverflow1

stackoverflow2.exe : $(srcdir)/tests/stackoverflow2.c sigsegv.h sigsegv.lib
	$(CC) $(CFLAGS) $(INCLUDES) $(srcdir)/tests/stackoverflow2.c sigsegv.lib /Festackoverflow2

check : all sigsegv1.exe sigsegv2.exe stackoverflow1.exe stackoverflow2.exe
	sigsegv1.exe
	sigsegv2.exe
	stackoverflow1.exe
	stackoverflow2.exe

mostlyclean : clean

clean : force
	$(RM) sigsegv.h *.obj *.lib *.exp *.dll core
	$(RM) sigsegv1.exe sigsegv2.exe stackoverflow1.exe stackoverflow2.exe

distclean : clean
	$(RM) config.status config.log config.cache Makefile config.h

maintainer-clean : distclean

force :

EOF-Makefile.msvc
echo - 'NEWS'
cat << 'EOF-NEWS' > 'NEWS'
New in 2.7:

* Support for platforms that follow POSIX:2008, not POSIX:2001.
* Support for MirBSD 10.
* Support for IRIX 5.3. Contributed by Eric Blake.

New in 2.6:

* sigsegv_leave_handler is changed. Previously it was a normal function with
  no arguments. Now it is a function that take a non-returning continuation
  function and three arguments for it as arguments.
  Where you had code like
     int my_handler(void* fault_address, int serious)
     {
       ...code_before()...;
       sigsegv_leave_handler();
       ...code_after()...;
       longjmp(...);
     }
  you now have to write
     void my_handler_tail(void* arg1, void* arg2, void* arg3)
     {
       ...code_after()...;
       longjmp(...);
     }
     int my_handler(void* fault_address, int serious)
     {
       ...code_before()...;
       #if LIBSIGSEGV_VERSION >= 0x0206
       return sigsegv_leave_handler(my_handler_tail, arg, NULL, NULL);
       #else
       sigsegv_leave_handler();
       my_handler_tail(arg, NULL, NULL);
       /* NOTREACHED */
       abort();
       #endif
     }
* sigsegv_leave_handler now works correctly on MacOS X.
* Support for 64-bit ABI on MacOS X 10.5.
* Support for building universal binaries on MacOS X.
* Improved distinction between stack overflow and other fault on NetBSD,
  OpenBSD, FreeBSD, Linux, AIX, Solaris. Contributed by Eric Blake.
* GNU gnulib now has an autoconf macro for locating libsigsegv:
  http://www.gnu.org/software/gnulib/MODULES.html#module=libsigsegv

New in 2.5:

* Support for MacOS X 10.5.

New in 2.4:

* Support for GCC 4 on more platforms.
* Added support for catching stack overflow on NetBSD.
* Improved support for catching stack overflow on Linux, Solaris:
  Works also when /proc is not mounted or lacks read permissions.

New in 2.3:

* Support for GCC 4 on some platforms contributed by Paolo Bonzini.
* Support for MacOS X i386 contributed by Bruno Haible.
* Improved support for Woe32 contributed by Doug Currie.

New in 2.2:

* Support for new versions of MacOS X contributed by Paolo Bonzini.
* Improved support for AIX 5, contributed by Bruno Haible.

New in 2.1:

* Support for MacOS X contributed by Paolo Bonzini.
* Support for Cygwin contributed by Paolo Bonzini.
* Support for Linux/ia64 and Linux/hppa contributed by Bruno Haible.
* Support for OpenBSD/i386 contributed by Bruno Haible.
* Support for NetBSD/alpha contributed by Paolo Bonzini.

New in 2.0:

* Modernized infrastructure.
* Added support for catching stack overflow on AIX 4, HP-UX, and BeOS.
* Dropped support for NeXTstep.
* The function sigsegv_leave_handler() no longer restores the signal mask.
  This must now be done by the calling handler (either through sigprocmask
  or through siglongjmp).

New in 1.2:

* Support for HP-UX contributed by Paolo Bonzini.

New in 1.1:

* Catching stack overflow now works on some Unix systems:
  - Linux 2.2.x with glibc-2.1,
  - Sun Solaris,
  - DEC OSF/1 4.0,
  - SGI Irix.

EOF-NEWS
echo - 'PORTING'
cat << 'EOF-PORTING' > 'PORTING'
Successfully tested platforms
=============================

__PLATFORM__________________________________SIGSEGV__STACK_OVERFLOW__VERSION___
                                           |         |           |
alpha-dec-osf4.0d                          |   yes   |   yes     | 2.1
alpha-dec-osf4.0f                          |   yes   |   yes     | 2.1
alphaev56-dec-osf4.0d                      |   yes   |   yes     | 2.6
alphaev56-dec-osf4.0f                      |   yes   |   yes     | 2.6
alpha-dec-osf4.0g                          |   yes   |   yes     | 2.1
alpha-dec-osf5.1                           |   yes   |   yes     | 2.1
alphaev67-dec-osf5.1                       |   yes   |   yes     | 2.2
alphaev67-dec-osf5.1a                      |   yes   |   yes     | 2.6
alphaev6-dec-osf5.1b                       |   yes   |   yes     | 2.6
alpha-unknown-freebsd4.8                   |   yes   |   yes     | 2.1
alpha-portbld-freebsd5.5                   |   yes   |   yes     | 2.3
alphaev67-unknown-linux2.4.17-gnu-glibc2.1 |   yes   |   yes     | 1.95
alphaev6-unknown-linux2.2.19-gnu-glibc2.2  |   yes   |   yes     | 2.1
alphaev67-unknown-linux2.2.20-gnu-glibc2.2 |   yes   |   yes     | 2.1
alphaev67-unknown-linux2.4.4-gnu-glibc2.2  |   yes   |   yes     | 2.1
alphaev6-unknown-linux2.4.9-gnu-glibc2.2   |   yes   |   yes     | 2.1
alphaev67-unknown-linux2.4.9-gnu-glibc2.2  |   yes   |   yes     | 2.1
alphaev6-unknown-linux2.4.18-gnu-glibc2.2  |   yes   |   yes     | 2.1
alphaev67-unknown-linux2.4.18-gnu-glibc2.2 |   yes   |   yes     | 2.1
alpha-unknown-linux2.4.19-gnu-glibc2.3     |   yes   |   yes     | 2.6
alphaev68-unknown-linux2.6.11-gnu-glibc2.3 |   yes   |   yes     | 2.2
alpha-unknown-openbsd3.7                   |   yes   |   yes     | 2.2
alpha-unknown-netbsd1.6                    |   yes   |   yes     | 2.1
armv4l-unknown-linux2.4.0-gnu-glibc2.2     |   no    |   yes     | 2.1
armv4l-unknown-linux2.4.3-gnu-glibc2.2     |   yes   |   yes     | 2.1
armv4l-unknown-linux2.4.9-gnu-glibc2.2     |   no    |   yes     | 2.0.1
armv5tel-unknown-linux2.4.20-gnu-glibc2.2  |   yes   |   yes     | 2.2
armv6l-unknown-linux2.6.18-gnu-glibc2.3    |   yes   |   yes     | 2.4
arm-angstrom-linux2.6.23-gnueabi-glibc2.4  |   yes   |   yes     | 2.5
hppa1.1-hp-hpux11.00                       |   yes   |   yes     | 2.1
hppa2.0-hp-hpux10.20                       |   yes   |   yes     | 2.2
hppa2.0w-hp-hpux11.00                      |   yes   |   yes     | 2.6
hppa2.0w-hp-hpux11.11                      |   yes   |   yes     | 2.6
hppa2.0w-hp-hpux11.31                      |   yes   |   yes     | 2.6
hppa-unknown-linux2.4.19-gnu-glibc2.2      |   yes   |   yes     | 2.0.1
hppa64-unknown-linux2.4.17-gnu-glibc2.2    |   yes   |   yes     | 2.1
hppa2.0-unknown-linux2.6.20.1-gnu-glibc2.3 |   yes   |   no      | 2.4
i370-ibm-openedition                       |   no    |   no      | 2.6
i586-pc-beos                               |   no    |   yes     | 2.1
i686-pc-cygwin                             |   yes   |   yes     | 2.02
i686-pc-cygwin                             |   yes   |   yes     | 2.4
i386-apple-darwin8.6.1                     |   yes   |   yes     | 2.3
i686-apple-darwin8.6.1                     |   yes   |   yes     | 2.3
i386-apple-darwin8.8.1                     |   yes   |   yes     | 2.4
i386-apple-darwin8.8.2                     |   yes   |   yes     | 2.4
i386-apple-darwin8.8.3                     |   yes   |   yes     | 2.4
i386-apple-darwin8.9.1                     |   yes   |   yes     | 2.4
i386-apple-darwin8.10.1                    |   yes   |   yes     | 2.4
i386-apple-darwin8.11.1                    |   yes   |   yes     | 2.6
i386-apple-darwin9.0.0                     |   yes   |   yes     | 2.5
i386-apple-darwin9.1.0                     |   yes   |   yes     | 2.5
i386-apple-darwin9.2.2                     |   yes   |   yes     | 2.5
i386-apple-darwin9.3.0                     |   yes   |   yes     | 2.6
i386-apple-darwin9.4.0                     |   yes   |   yes     | 2.5
i386-apple-darwin9.5.0                     |   yes   |   yes     | 2.5
i586-pc-linux2.2.14-gnu-glibc2.1           |   yes   |   yes     | 2.1
i686-pc-linux2.2.14-gnu-glibc2.1           |   yes   |   yes     | 2.0
i686-pc-linux2.2.19-gnu-glibc2.1           |   yes   |   yes     | 1.95
i486-pc-linux2.2.21-gnu-glibc2.1           |   yes   |   yes     | 2.0
i586-pc-linux2.4.18-gnu-glibc2.1           |   yes   |   yes     | 2.0
i686-pc-linux2.4.19-gnu-glibc2.1           |   yes   |   yes     | 2.2
i686-pc-linux2.2.16-gnu-glibc2.2           |   yes   |   yes     | 2.0
i686-pc-linux2.2.19-gnu-glibc2.2           |   yes   |   yes     | 2.0
i686-pc-linux2.4.7-gnu-glibc2.2            |   yes   |   yes     | 2.1
i586-pc-linux2.4.9-gnu-glibc2.2            |   yes   |   yes     | 2.0
i686-pc-linux2.4.9-gnu-glibc2.2            |   yes   |   yes     | 2.0
i386-pc-linux2.4.18-gnu-glibc2.2           |   yes   |   yes     | 2.0
i686-pc-linux2.4.18-gnu-glibc2.2           |   yes   |   yes     | 2.0
i586-pc-linux2.4.19-gnu-glibc2.2           |   yes   |   yes     | 2.0
i686-pc-linux2.4.19-gnu-glibc2.2           |   yes   |   yes     | 2.0
i686-pc-linux2.4.20-gnu-glibc2.2           |   yes   |   yes     | 2.0
i586-pc-linux2.2.19-gnu-glibc2.3           |   yes   |   yes     | 2.1
i686-pc-linux2.4.18-gnu-glibc2.3           |   yes   |   yes     | 1.97
i486-pc-linux2.4.20-gnu-glibc2.3           |   yes   |   yes     | 2.0
i586-pc-linux2.4.20-gnu-glibc2.3           |   yes   |   yes     | 2.0
i686-pc-linux2.4.20-gnu-glibc2.3           |   yes   |   yes     | 2.0
i686-pc-linux2.4.21-gnu-glibc2.3           |   yes   |   yes     | 2.6
i586-pc-linux2.4.22-gnu-glibc2.3           |   yes   |   yes     | 2.0
i386-pc-mingw32                            |   yes   |   yes     | 2.4
i586-pc-mingw32                            |   yes   |   yes     | 2.1
i686-pc-mingw32                            |   yes   |   yes     | 2.6
i386-unknown-mirbsd10                      |   yes   |   yes     | 2.7
i386-pc-os2-emx                            |   no    |   no      | 2.5
i386-pc-solaris2.9                         |   yes   |   yes     | 2.2
i386-pc-solaris2.10                        |   yes   |   yes     | 2.6
i386-pc-solaris2.11                        |   yes   |   yes     | 2.2
i686-pc-win32-msvc6                        |   yes   |   yes     | 1.96
i386-unknown-freebsd4.0                    |   yes   |   yes     | 2.1
i386-unknown-freebsd4.0-gnu-glibc2.3       |   yes   |   yes     | 2.1
i386-unknown-freebsd4.6                    |   yes   |   yes     | 1.95
i386-unknown-freebsd4.7                    |   yes   |   yes     | 2.1
i386-unknown-freebsd4.8                    |   yes   |   yes     | 2.1
i386-unknown-freebsd4.9                    |   yes   |   yes     | 2.2
i386-unknown-freebsd4.10                   |   yes   |   yes     | 2.2
i386-unknown-freebsd5.0                    |   yes   |   yes     | 2.6
i386-portbld-freebsd6.0                    |   yes   |   yes     | 2.3
i386-unknown-freebsd6.2                    |   yes   |   yes     | 2.6
i686-unknown-kfreebsd6.2-gnu-glibc2.6      |   yes   |   yes     | 2.5+
i386-unknown-netbsdelf1.6                  |   no    |   no      | 2.6
i386-unknown-netbsdelf2.0.2                |   yes   |   yes     | 2.4
i386-unknown-netbsdelf3.0                  |   yes   |   yes     | 2.4
i386-unknown-netbsd                        |   yes   |   no      | 2.2
i386-unknown-openbsd3.2                    |   yes   |   yes     | 2.3
i386-unknown-openbsd3.3                    |   yes   |   yes     | 2.1
i386-unknown-openbsd3.4                    |   yes   |   yes     | 2.2
i386-unknown-openbsd3.6                    |   yes   |   yes     | 2.1
i386-unknown-openbsd3.8                    |   yes   |   yes     | 2.4
i386-unknown-openbsd3.9                    |   yes   |   yes     | 2.6
i386-unknown-openbsd4.0                    |   yes   |   yes     | 2.6
ia64-portbld-freebsd7.0                    |   yes   |   no      | 2.3
ia64-hp-hpux11.22                          |   yes   |   no      | 2.1
ia64-hp-hpux11.23                          |   yes   |   no      | 2.2
ia64-hp-hpux11.31                          |   yes   |   no      | 2.6
ia64-unknown-linux2.4.18-gnu-glibc2.2      |   yes   |   yes     | 2.4
ia64-unknown-linux2.4.21-gnu-glibc2.3      |   yes   |   yes     | 2.6
ia64-unknown-linux2.6.9-gnu-glibc2.3       |   yes   |   yes     | 2.6
ia64-unknown-linux2.6.16.27-gnu-glibc2.4   |   yes   |   yes     | 2.6
mips-sgi-irix5.3                           |   yes   |   yes     | 2.6+
mips-sgi-irix6.2                           |   yes   |   yes     | 2.6+
mips-sgi-irix6.5                           |   yes   |   yes     | 2.6+
mips-unknown-linux2.4.27-gnu-glibc2.3      |   yes   |   yes     | 2.6
nsr-tandem-nsk                             |   no    |   no      | 2.1
rs6000-ibm-aix3.2.5                        |   yes   |   no      | 2.2
rs6000-ibm-aix4.2.0.0                      |   yes   |   yes     | 2.2
rs6000-ibm-aix4.2.1.0                      |   yes   |   yes     | 2.1
powerpc-ibm-aix4.3.2.0                     |   yes   |   yes     | 2.6
powerpc-ibm-aix4.3.3.0                     |   yes   |   yes     | 1.95
powerpc-ibm-aix5.1.0.0                     |   yes   |   yes     | 2.6
powerpc-ibm-aix5.2.0.0                     |   yes   |   yes     | 2.5
powerpc-ibm-aix5.3.0.0                     |   yes   |   yes     | 2.5
powerpc-apple-darwin5.5                    |   yes   |   yes     | 2.2
powerpc-apple-darwin6.0                    |   yes   |   yes     | 2.4
powerpc-apple-darwin6.8                    |   yes   |   yes     | 2.2
powerpc-apple-darwin7.7.0                  |   yes   |   yes     | 2.2
powerpc-apple-darwin7.8.0                  |   yes   |   yes     | 2.2
powerpc-apple-darwin7.9.0                  |   yes   |   yes     | 2.6
powerpc-apple-darwin8.1.0                  |   yes   |   yes     | 2.2
powerpc-apple-darwin8.3.0                  |   yes   |   yes     | 2.2
powerpc-apple-darwin8.4.0                  |   yes   |   yes     | 2.2
powerpc-apple-darwin8.7.0                  |   yes   |   yes     | 2.4
powerpc-apple-darwin8.8.0                  |   yes   |   yes     | 2.4
powerpc-apple-darwin8.9.0                  |   yes   |   yes     | 2.4
powerpc-apple-darwin8.10.0                 |   yes   |   yes     | 2.5
powerpc-apple-darwin8.11.0                 |   yes   |   yes     | 2.6
powerpc-apple-darwin8.11.1                 |   yes   |   yes     | 2.5
powerpc-apple-darwin9.2.0                  |   yes   |   yes     | 2.5
powerpc-unknown-linux2.2.17-gnu-glibc2.1   |   no    |   yes     | 1.95
powerpc-unknown-linux2.2.17-gnu-glibc2.2   |   yes   |   yes     | 2.0.1
powerpc-unknown-linux2.4.19-gnu-glibc2.2   |   yes   |   yes     | 2.4
powerpc-unknown-linux2.4.28-gnu-glibc2.2   |   yes   |   yes     | 2.1
powerpc-unknown-linux2.4.26-gnu-glibc2.3   |   yes   |   yes     | 2.1
powerpc-unknown-linux2.6.10-gnu-glibc2.3   |   yes   |   yes     | 2.2
powerpc-unknown-linux2.6.16-gnu-glibc2.3   |   yes   |   yes     | 2.4
powerpc-unknown-linux2.6.16-gnu-glibc2.4   |   yes   |   yes     | 2.6
powerpc-unknown-netbsd2.0                  |   yes   |   no      | 2.1
powerpc-unknown-netbsd3.99.23              |   yes   |   yes     | 2.4
powerpc-unknown-openbsd4.0                 |   yes   |   yes     | 2.4
powerpc-unknown-openbsd4.1                 |   yes   |   yes     | 2.4
powerpc64-unknown-linux2.6.5-gnu-glibc2.3  |   yes   |   yes     | 2.4
s390x-ibm-linux2.6.16.46-gnu-glibc2.4      |   no    |   yes     | 2.5
sparc-unknown-linux2.4.32-gnu-glibc2.3     |   yes   |   no      | 2.1
sparc-unknown-openbsd3.9                   |   yes   |   no      | 2.4
sparc-sun-solaris2.5.1                     |   yes   |   yes     | 2.2
sparc-sun-solaris2.6                       |   yes   |   yes     | 2.2
sparc-sun-solaris2.7                       |   yes   |   yes     | 2.6
sparc-sun-solaris2.8                       |   yes   |   yes     | 2.6
sparc-sun-solaris2.9                       |   yes   |   yes     | 2.6
sparc-sun-solaris2.10                      |   yes   |   yes     | 2.6
sparc-sun-solaris2.11                      |   yes   |   yes     | 2.4
sparc64-unknown-linux2.2.18-gnu-glibc2.1   |   no    |   no      | 1.95
sparc64-unknown-linux2.4.28-gnu-glibc2.3   |   yes   |   no      | 2.6
sparc64-unknown-openbsd3.6                 |   no    |   no      | 2.2
x86_64-unknown-kfreebsd6.2-gnu-glibc2.6    |   yes   |   yes     | 2.5+
x86_64-unknown-linux2.4.21-gnu-glibc2.2    |   yes   |   yes     | 2.1
x86_64-unknown-linux2.4.21-gnu-glibc2.3    |   yes   |   yes     | 2.1
x86_64-unknown-linux2.6.3-gnu-glibc2.3     |   yes   |   yes     | 2.1
x86_64-unknown-linux2.6.9-gnu-glibc2.3     |   yes   |   yes     | 2.4
x86_64-unknown-linux2.6.11.4-gnu-glibc2.3  |   yes   |   yes     | 2.4
x86_64-unknown-linux2.6.13-gnu-glibc2.3    |   yes   |   yes     | 2.4
x86_64-unknown-linux2.6.16-gnu-glibc2.4    |   yes   |   yes     | 2.4
x86_64-unknown-linux2.6.16.13-gnu-glibc2.4 |   yes   |   yes     | 2.4
x86_64-unknown-linux2.6.16.21-gnu-glibc2.4 |   yes   |   yes     | 2.4
x86_64-unknown-linux2.6.16.27-gnu-glibc2.4 |   yes   |   yes     | 2.6
x86_64-unknown-linux2.6.17-gnu-glibc2.4    |   yes   |   yes     | 2.4
x86_64-unknown-linux2.6.20-gnu-glibc2.5    |   yes   |   yes     | 2.4
x86_64-unknown-linux2.6.20.1-gnu-glibc2.5  |   yes   |   yes     | 2.4
x86_64-unknown-linux2.6.21-gnu-glibc2.6    |   yes   |   yes     | 2.4
x86_64-unknown-netbsd3.0                   |   yes   |   yes     | 2.4
x86_64-unknown-netbsd4.99.72               |   yes   |   yes     | 2.5
amd64-portbld-freebsd5.4                   |   yes   |   yes     | 2.2
amd64-portbld-freebsd6.0                   |   yes   |   yes     | 2.3
amd64-portbld-freebsd7.0                   |   yes   |   yes     | 2.3


On FreeBSD 5.2, libsigsegv works best if the /proc filesystem is mounted.
(It is not mounted by default.)


Porting to new platforms
========================

On Unix systems, where faults are notified to the program through a signal
handler, the core routines in handler-unix.c can be used without
modifications. But they need the following bits of information. Each of
them is stored in a platform dependent file; the file is chosen in configure.

  * List of signals that are sent when an invalid virtual memory address
    is accessed, or when the stack overflows.
    This is a file among signals-*.h.
    configure chooses and sets the variable CFG_SIGNALS.

  * What arguments are passed to a fault handler.
    This is a file among fault-*.h.
    configure chooses and sets the variable CFG_FAULT.

  * How to determine the stack's virtual memory area.
    This is a file among stackvma-*.c.
    configure chooses and sets the variable CFG_STACKVMA.

  * How to leave a signal handler that is executing on the alternate
    signal stack.
    This is a file among leave-*.c.
    configure chooses and sets the variable CFG_LEAVE.

For each of these, the approach should be:

  - Find a way to implement the needed functionality.  This might involve
    study of the system include files (in particular <signal.h> and
    <ucontext.h>) and of the kernel sources.
    For CFG_FAULT, the best starting point is to run the tests/sigsegv1
    program with a breakpoint set at 'sigsegv_handler'.

  - Add to configure.in a test whether your new code works.  This will
    help portability to platforms similar to yours.
    Then regenerate the configure script (run "autoconf") and verify
    that the test says "yes" on your platform.

  - Create a platform dependent file (e.g. fault-<os>-<cpu>.h) and change
    configure.in to choose this particular file when your test says "yes".
    Then regenerate the configure script (run "autoconf").

  - Verify that "make" and "make check" pass.

For non-Unix systems, a separate handler-<os>.c is likely to be needed.
EOF-PORTING
echo - 'README'
cat << 'EOF-README' > 'README'
           GNU libsigsegv  -  Handling page faults in user mode

This is a library for handling page faults in user mode. A page fault
occurs when a program tries to access to a region of memory that is
currently not available. Catching and handling a page fault is a useful
technique for implementing:

  - pageable virtual memory,
  - memory-mapped access to persistent databases,
  - generational garbage collectors,
  - stack overflow handlers,
  - distributed shared memory,
  - ...

This library supports three sets of functions, all defined in <sigsegv.h>:

  - Global SIGSEGV handlers:
    sigsegv_install_handler, sigsegv_deinstall_handler.

  - Local SIGSEGV handlers (a handler per memory area):
    sigsegv_init, sigsegv_register, sigsegv_unregister, sigsegv_dispatch.

  - Stack overflow handlers:
    stackoverflow_install_handler, stackoverflow_deinstall_handler.

Each of the three APIs can be used independently or simultaneously.
For examples of the use of the APIs, see:

  - Global SIGSEGV handlers: see tests/sigsegv1.c.
  - Local SIGSEGV handlers: see tests/sigsegv2.c.
  - Stack overflow handlers: see tests/stackoverflow1.c.


About portability.

Some platforms don't support this functionality. In <sigsegv.h>, the
preprocessor macro HAVE_SIGSEGV_RECOVERY will be defined if global and
local SIGSEGV handlers are available, and the preprocessor macro
HAVE_STACK_OVERFLOW_RECOVERY will be defined if stack overflow handlers
are available. Note that the declared functions are available in all cases;
on platforms where HAVE_SIGSEGV_RECOVERY or HAVE_STACK_OVERFLOW_RECOVERY is
not defined, they will simply always return an error code or do nothing.

The list of platforms where this library is known to work is contained in
the file PORTING.


About pageable virtual memory.

Pageable virtual memory is usually done in the operating system's kernel.
This library helps in implementing the others.

Installing a page fault handler is usually more efficient than doing
access checks in software at every access, because it's effectively the
hardware (the MMU) which checks whether a page is present or not.

Note that if you use system calls (like read()) to write into write-
protected pages, the system will react by returning -1 and setting
errno to EFAULT, instead of signalling SIGSEGV and restarting the system
call. In this case, the program has to do what the SIGSEGV handler would
do, and then restart the read() operation. Some buggy systems (SunOS 4)
go into an endless loop on this occasion; on these systems you have to
make sure that an area is writable _before_ you call read() on it,


About stack overflow handlers.

In some applications, the stack overflow handler performs some cleanup or
notifies the user and then immediately terminates the application.  In
other applications, the stack overflow handler longjmps back to a central
point in the application.  This library supports both uses.  In the second
case, the handler must ensure to restore the normal signal mask (because
many signals are blocked while the handler is executed), and must also
call sigsegv_leave_handler() to transfer control; then only it can longjmp
away.


About shared libraries.

This library builds as a static library by default.  This seems useful
because of the small size of the library (4 KB).  Of course, you can build
it as a shared library by specifying the configure option '--enable-shared'.


Installation instructions on Unix:

        ./configure
        make
        make check
        make install

Installation instructions on Woe32:

        See README.woe32.


Using libsigsegv in your package:
  - For the APIs, see the comments in the <sigsegv.h> file (generated from
    src/sigsegv.h.in).
  - An autoconf macro for determining where libsigsegv is installed and how to
    link with it is part of GNU gnulib, see
    <http://www.gnu.org/software/gnulib/MODULES.html#module=libsigsegv>


Copyright notice:

Copyright 1998-1999, 2002-2008  Bruno Haible <bruno@clisp.org>
Copyright 2002-2005  Paolo Bonzini <bonzini@gnu.org>
Copyright 2008  Eric Blake <ebb9@byu.net>

This is free software distributed under the GNU General Public Licence
described in the file COPYING. There is ABSOLUTELY NO WARRANTY, explicit or
implied, on this software.


Download:

ftp://ftp.gnu.org/pub/gnu/libsigsegv/libsigsegv-2.6.tar.gz
http://ftp.gnu.org/gnu/libsigsegv/libsigsegv-2.6.tar.gz

Homepage:

http://libsigsegv.sourceforge.net/
EOF-README
echo - 'README.woe32'
cat << 'EOF-README.woe32' > 'README.woe32'
Installation on Woe32 (WinNT/2000/XP/Vista, Win95/98/ME):

===============================================================================
Installation instructions on Woe32 with Cygwin, compiling for mingw32:

- Requires the cygwin tools, with the mingw32 compiler and runtime packages.

- Build instructions:

  Make sure that cygwin's 'bin' directory is the first entry in PATH.

  Run bash.

        CC="gcc -mno-cygwin" ./configure --host=i386-pc-mingw32
        make
        make check
        make install

===============================================================================
Installation instructions on Woe32 with MS Visual C/C++ 4.0, 5.0, 6.0, or 7.0:

- Requires MS Visual C/C++ 4.0 or 5.0 or 6.0 or 7.0.

  Note that binaries created with MSVC 7.0 should not be distributed: They
  depend on a closed-source library 'msvcr70.dll' which is not normally part
  of a Woe32 installation. You cannot distribute 'msvcr70.dll' with the
  binaries - this would be a violation of the GPL and of the Microsoft EULA.
  You can distribute the binaries without including 'msvcr70.dll', but this
  will cause problems for users that don't have this library on their system.
  Therefore it is not recommended. This problem does not occur with MSVC 6.0
  and earlier.

- Cannot build in a separate directory.

- Build instructions:

   Make sure that the MSVC4.0 or MSVC5.0 or MSVC6.0 utilities ("cl" etc.) are
   found in PATH.

   For shared library (DLL): **NOT YET SUPPORTED**

        nmake -f Makefile.msvc DLL=1 MFLAGS=-MD check
 
   For static library:

        nmake -f Makefile.msvc check

   If you want to build both the shared and static library, you have to
   unpack the libsigsegv sources twice in different directories. Don't mix
   the two formats; you cannot use the sigsegv.h generated for the static
   library together with the shared library or vice versa.

- Installation:

   Copy sigsegv.h to your header file repository.
   Copy sigsegv.lib to your library repository.
   If you built for shared library, also copy sigsegv.dll into one of the
   directories listed in your PATH, or into the directory containing the
   executable which shall make use of libsigsegv.
EOF-README.woe32
echo - 'aclocal.m4'
cat << 'EOF-aclocal.m4' > 'aclocal.m4'
# generated automatically by aclocal 1.11 -*- Autoconf -*-

# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
# 2005, 2006, 2007, 2008, 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.

# This program 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.

m4_ifndef([AC_AUTOCONF_VERSION],
  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.63],,
[m4_warning([this file was generated for autoconf 2.63.
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'.])])

# Copyright (C) 2002, 2003, 2005, 2006, 2007, 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.

# AM_AUTOMAKE_VERSION(VERSION)
# ----------------------------
# Automake X.Y traces this macro to ensure aclocal.m4 has been
# generated from the m4 files accompanying Automake X.Y.
# (This private macro should not be called outside this file.)
AC_DEFUN([AM_AUTOMAKE_VERSION],
[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], [],
      [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])

# _AM_AUTOCONF_VERSION(VERSION)
# -----------------------------
# aclocal traces this macro to find the Autoconf version.
# This is a private macro too.  Using m4_define simplifies
# the logic in aclocal, which can simply ignore this definition.
m4_define([_AM_AUTOCONF_VERSION], [])

# AM_SET_CURRENT_AUTOMAKE_VERSION
# -------------------------------
# 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
m4_ifndef([AC_AUTOCONF_VERSION],
  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])

# AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-

# Copyright (C) 2001, 2003, 2005  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.

# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
# $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
#
# Of course, Automake must honor this variable whenever it calls a
# tool from the auxiliary directory.  The problem is that $srcdir (and
# therefore $ac_aux_dir as well) can be either absolute or relative,
# depending on how configure is run.  This is pretty annoying, since
# it makes $ac_aux_dir quite unusable in subdirectories: in the top
# source directory, any form will work fine, but in subdirectories a
# relative path needs to be adjusted first.
#
# $ac_aux_dir/missing
#    fails when called from a subdirectory if $ac_aux_dir is relative
# $top_srcdir/$ac_aux_dir/missing
#    fails if $ac_aux_dir is absolute,
#    fails when called from a subdirectory in a VPATH build with
#          a relative $ac_aux_dir
#
# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
# are both prefixed by $srcdir.  In an in-source build this is usually
# harmless because $srcdir is `.', but things will broke when you
# start a VPATH build or use an absolute $srcdir.
#
# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
# iff we strip the leading $srcdir from $ac_aux_dir.  That would be:
#   am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
# and then we would define $MISSING as
#   MISSING="\${SHELL} $am_aux_dir/missing"
# This will work as long as MISSING is not called from configure, because
# unfortunately $(top_srcdir) has no meaning in configure.
# However there are other variables, like CC, which are often used in
# configure, and could therefore not use this "fixed" $ac_aux_dir.
#
# Another solution, used here, is to always expand $ac_aux_dir to an
# absolute PATH.  The drawback is that using absolute paths prevent a
# configured tree to be moved without reconfiguration.

AC_DEFUN([AM_AUX_DIR_EXPAND],
[dnl Rely on autoconf to set up CDPATH properly.
AC_PREREQ([2.50])dnl
# expand $ac_aux_dir to an absolute path
am_aux_dir=`cd $ac_aux_dir && pwd`
])

# AM_CONDITIONAL                                            -*- Autoconf -*-

# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 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 9

# AM_CONDITIONAL(NAME, SHELL-CONDITION)
# -------------------------------------
# Define a conditional.
AC_DEFUN([AM_CONDITIONAL],
[AC_PREREQ(2.52)dnl
 ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
	[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
AC_SUBST([$1_TRUE])dnl
AC_SUBST([$1_FALSE])dnl
_AM_SUBST_NOTMAKE([$1_TRUE])dnl
_AM_SUBST_NOTMAKE([$1_FALSE])dnl
m4_define([_AM_COND_VALUE_$1], [$2])dnl
if $2; then
  $1_TRUE=
  $1_FALSE='#'
else
  $1_TRUE='#'
  $1_FALSE=
fi
AC_CONFIG_COMMANDS_PRE(
[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
  AC_MSG_ERROR([[conditional "$1" was never defined.
Usually this means the macro was only invoked conditionally.]])
fi])])

# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 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 10

# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
# written in clear, in which case automake, when reading aclocal.m4,
# will think it sees a *use*, and therefore will trigger all it's
# C support machinery.  Also note that it means that autoscan, seeing
# CC etc. in the Makefile, will ask for an AC_PROG_CC use...


# _AM_DEPENDENCIES(NAME)
# ----------------------
# See how the compiler implements dependency checking.
# NAME is "CC", "CXX", "GCJ", or "OBJC".
# We try a few techniques and use that to set a single cache variable.
#
# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
# dependency, and given that the user is not expected to run this macro,
# just rely on AC_PROG_CC.
AC_DEFUN([_AM_DEPENDENCIES],
[AC_REQUIRE([AM_SET_DEPDIR])dnl
AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
AC_REQUIRE([AM_MAKE_INCLUDE])dnl
AC_REQUIRE([AM_DEP_TRACK])dnl

ifelse([$1], CC,   [depcc="$CC"   am_compiler_list=],
       [$1], CXX,  [depcc="$CXX"  am_compiler_list=],
       [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
       [$1], UPC,  [depcc="$UPC"  am_compiler_list=],
       [$1], GCJ,  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
                   [depcc="$$1"   am_compiler_list=])

AC_CACHE_CHECK([dependency style of $depcc],
               [am_cv_$1_dependencies_compiler_type],
[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
  # We make a subdir and do the tests there.  Otherwise we can end up
  # making bogus files that we don't know about and never remove.  For
  # instance it was reported that on HP-UX the gcc test will end up
  # making a dummy file named `D' -- because `-MD' means `put the output
  # in D'.
  mkdir conftest.dir
  # Copy depcomp to subdir because otherwise we won't find it if we're
  # using a relative directory.
  cp "$am_depcomp" conftest.dir
  cd conftest.dir
  # We will build objects and dependencies in a subdirectory because
  # it helps to detect inapplicable dependency modes.  For instance
  # both Tru64's cc and ICC support -MD to output dependencies as a
  # side effect of compilation, but ICC will put the dependencies in
  # the current directory while Tru64 will put them in the object
  # directory.
  mkdir sub

  am_cv_$1_dependencies_compiler_type=none
  if test "$am_compiler_list" = ""; then
     am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
  fi
  am__universal=false
  m4_case([$1], [CC],
    [case " $depcc " in #(
     *\ -arch\ *\ -arch\ *) am__universal=true ;;
     esac],
    [CXX],
    [case " $depcc " in #(
     *\ -arch\ *\ -arch\ *) am__universal=true ;;
     esac])

  for depmode in $am_compiler_list; do
    # Setup a source with many dependencies, because some compilers
    # like to wrap large dependency lists on column 80 (with \), and
    # we should not choose a depcomp mode which is confused by this.
    #
    # We need to recreate these files for each test, as the compiler may
    # overwrite some of them when testing with obscure command lines.
    # This happens at least with the AIX C compiler.
    : > sub/conftest.c
    for i in 1 2 3 4 5 6; do
      echo '#include "conftst'$i'.h"' >> sub/conftest.c
      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
      # Solaris 8's {/usr,}/bin/sh.
      touch sub/conftst$i.h
    done
    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf

    # We check with `-c' and `-o' for the sake of the "dashmstdout"
    # mode.  It turns out that the SunPro C++ compiler does not properly
    # handle `-M -o', and we need to detect this.  Also, some Intel
    # versions had trouble with output in subdirs
    am__obj=sub/conftest.${OBJEXT-o}
    am__minus_obj="-o $am__obj"
    case $depmode in
    gcc)
      # This depmode causes a compiler race in universal mode.
      test "$am__universal" = false || continue
      ;;
    nosideeffect)
      # after this tag, mechanisms are not by side-effect, so they'll
      # only be used when explicitly requested
      if test "x$enable_dependency_tracking" = xyes; then
	continue
      else
	break
      fi
      ;;
    msvisualcpp | msvcmsys)
      # This compiler won't grok `-c -o', but also, the minuso test has
      # not run yet.  These depmodes are late enough in the game, and
      # so weak that their functioning should not be impacted.
      am__obj=conftest.${OBJEXT-o}
      am__minus_obj=
      ;;
    none) break ;;
    esac
    if depmode=$depmode \
       source=sub/conftest.c object=$am__obj \
       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
         >/dev/null 2>conftest.err &&
       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
      # icc doesn't choke on unknown options, it will just issue warnings
      # or remarks (even with -Werror).  So we grep stderr for any message
      # that says an option was ignored or not supported.
      # When given -MP, icc 7.0 and 7.1 complain thusly:
      #   icc: Command line warning: ignoring option '-M'; no argument required
      # The diagnosis changed in icc 8.0:
      #   icc: Command line remark: option '-MP' not supported
      if (grep 'ignoring option' conftest.err ||
          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
        am_cv_$1_dependencies_compiler_type=$depmode
        break
      fi
    fi
  done

  cd ..
  rm -rf conftest.dir
else
  am_cv_$1_dependencies_compiler_type=none
fi
])
AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
AM_CONDITIONAL([am__fastdep$1], [
  test "x$enable_dependency_tracking" != xno \
  && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
])


# AM_SET_DEPDIR
# -------------
# Choose a directory name for dependency files.
# This macro is AC_REQUIREd in _AM_DEPENDENCIES
AC_DEFUN([AM_SET_DEPDIR],
[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
])


# AM_DEP_TRACK
# ------------
AC_DEFUN([AM_DEP_TRACK],
[AC_ARG_ENABLE(dependency-tracking,
[  --disable-dependency-tracking  speeds up one-time build
  --enable-dependency-tracking   do not reject slow dependency extractors])
if test "x$enable_dependency_tracking" != xno; then
  am_depcomp="$ac_aux_dir/depcomp"
  AMDEPBACKSLASH='\'
fi
AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
AC_SUBST([AMDEPBACKSLASH])dnl
_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
])

# Generate code to set up dependency tracking.              -*- Autoconf -*-

# Copyright (C) 1999, 2000, 2001, 2002, 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 5

# _AM_OUTPUT_DEPENDENCY_COMMANDS
# ------------------------------
AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
[{
  # Autoconf 2.62 quotes --file arguments for eval, but not when files
  # are listed without --file.  Let's play safe and only enable the eval
  # if we detect the quoting.
  case $CONFIG_FILES in
  *\'*) eval set x "$CONFIG_FILES" ;;
  *)   set x $CONFIG_FILES ;;
  esac
  shift
  for mf
  do
    # Strip MF so we end up with the name of the file.
    mf=`echo "$mf" | sed -e 's/:.*$//'`
    # Check whether this is an Automake generated Makefile or not.
    # We used to match only the files named `Makefile.in', but
    # some people rename them; so instead we look at the file content.
    # Grep'ing the first line is not enough: some people post-process
    # each Makefile.in and add a new line on top of each file to say so.
    # Grep'ing the whole file is not good either: AIX grep has a line
    # limit of 2048, but all sed's we know have understand at least 4000.
    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
      dirpart=`AS_DIRNAME("$mf")`
    else
      continue
    fi
    # Extract the definition of DEPDIR, am__include, and am__quote
    # from the Makefile without running `make'.
    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
    test -z "$DEPDIR" && continue
    am__include=`sed -n 's/^am__include = //p' < "$mf"`
    test -z "am__include" && continue
    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
    # When using ansi2knr, U may be empty or an underscore; expand it
    U=`sed -n 's/^U = //p' < "$mf"`
    # Find all dependency output files, they are included files with
    # $(DEPDIR) in their names.  We invoke sed twice because it is the
    # simplest approach to changing $(DEPDIR) to its actual value in the
    # expansion.
    for file in `sed -n "
      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
      # Make sure the directory exists.
      test -f "$dirpart/$file" && continue
      fdir=`AS_DIRNAME(["$file"])`
      AS_MKDIR_P([$dirpart/$fdir])
      # echo "creating $dirpart/$file"
      echo '# dummy' > "$dirpart/$file"
    done
  done
}
])# _AM_OUTPUT_DEPENDENCY_COMMANDS


# AM_OUTPUT_DEPENDENCY_COMMANDS
# -----------------------------
# This macro should only be invoked once -- use via AC_REQUIRE.
#
# This code is only required when automatic dependency tracking
# is enabled.  FIXME.  This creates each `.P' file that we will
# need in order to bootstrap the dependency handling code.
AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
[AC_CONFIG_COMMANDS([depfiles],
     [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
     [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
])

# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
# 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 8

# AM_CONFIG_HEADER is obsolete.  It has been replaced by AC_CONFIG_HEADERS.
AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])

# Do all the work for Automake.                             -*- Autoconf -*-

# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
# 2005, 2006, 2008, 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 16

# This macro actually does too much.  Some checks are only needed if
# your package does certain things.  But this isn't really a big deal.

# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
# AM_INIT_AUTOMAKE([OPTIONS])
# -----------------------------------------------
# The call with PACKAGE and VERSION arguments is the old style
# call (pre autoconf-2.50), which is being phased out.  PACKAGE
# and VERSION should now be passed to AC_INIT and removed from
# the call to AM_INIT_AUTOMAKE.
# We support both call styles for the transition.  After
# the next Automake release, Autoconf can make the AC_INIT
# arguments mandatory, and then we can depend on a new Autoconf
# release and drop the old call support.
AC_DEFUN([AM_INIT_AUTOMAKE],
[AC_PREREQ([2.62])dnl
dnl Autoconf wants to disallow AM_ names.  We explicitly allow
dnl the ones we care about.
m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
AC_REQUIRE([AC_PROG_INSTALL])dnl
if test "`cd $srcdir && pwd`" != "`pwd`"; then
  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
  # is not polluted with repeated "-I."
  AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
  # test to see if srcdir already configured
  if test -f $srcdir/config.status; then
    AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
  fi
fi

# test whether we have cygpath
if test -z "$CYGPATH_W"; then
  if (cygpath --version) >/dev/null 2>/dev/null; then
    CYGPATH_W='cygpath -w'
  else
    CYGPATH_W=echo
  fi
fi
AC_SUBST([CYGPATH_W])

# Define the identity of the package.
dnl Distinguish between old-style and new-style calls.
m4_ifval([$2],
[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
 AC_SUBST([PACKAGE], [$1])dnl
 AC_SUBST([VERSION], [$2])],
[_AM_SET_OPTIONS([$1])dnl
dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
  [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
 AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
 AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl

_AM_IF_OPTION([no-define],,
[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
 AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl

# Some tools Automake needs.
AC_REQUIRE([AM_SANITY_CHECK])dnl
AC_REQUIRE([AC_ARG_PROGRAM])dnl
AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
AM_MISSING_PROG(AUTOCONF, autoconf)
AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
AM_MISSING_PROG(AUTOHEADER, autoheader)
AM_MISSING_PROG(MAKEINFO, makeinfo)
AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
AC_REQUIRE([AM_PROG_MKDIR_P])dnl
# We need awk for the "check" target.  The system "awk" is bad on
# some platforms.
AC_REQUIRE([AC_PROG_AWK])dnl
AC_REQUIRE([AC_PROG_MAKE_SET])dnl
AC_REQUIRE([AM_SET_LEADING_DOT])dnl
_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
	      [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
			     [_AM_PROG_TAR([v7])])])
_AM_IF_OPTION([no-dependencies],,
[AC_PROVIDE_IFELSE([AC_PROG_CC],
		  [_AM_DEPENDENCIES(CC)],
		  [define([AC_PROG_CC],
			  defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
AC_PROVIDE_IFELSE([AC_PROG_CXX],
		  [_AM_DEPENDENCIES(CXX)],
		  [define([AC_PROG_CXX],
			  defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
AC_PROVIDE_IFELSE([AC_PROG_OBJC],
		  [_AM_DEPENDENCIES(OBJC)],
		  [define([AC_PROG_OBJC],
			  defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
])
_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This macro
dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
AC_CONFIG_COMMANDS_PRE(dnl
[m4_provide_if([_AM_COMPILER_EXEEXT],
  [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
])

dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
dnl mangled by Autoconf and run in a shell conditional statement.
m4_define([_AC_COMPILER_EXEEXT],
m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])


# When config.status generates a header, we must update the stamp-h file.
# This file resides in the same directory as the config header
# that is generated.  The stamp files are numbered to have different names.

# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
# loop where config.status creates the headers, so we can generate
# our stamp files there.
AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
[# Compute $1's index in $config_headers.
_am_arg=$1
_am_stamp_count=1
for _am_header in $config_headers :; do
  case $_am_header in
    $_am_arg | $_am_arg:* )
      break ;;
    * )
      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
  esac
done
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])

# Copyright (C) 2001, 2003, 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.

# AM_PROG_INSTALL_SH
# ------------------
# Define $install_sh.
AC_DEFUN([AM_PROG_INSTALL_SH],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
if test x"${install_sh}" != xset; then
  case $am_aux_dir in
  *\ * | *\	*)
    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
  *)
    install_sh="\${SHELL} $am_aux_dir/install-sh"
  esac
fi
AC_SUBST(install_sh)])

# Copyright (C) 2003, 2005  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 2

# Check whether the underlying file-system supports filenames
# with a leading dot.  For instance MS-DOS doesn't.
AC_DEFUN([AM_SET_LEADING_DOT],
[rm -rf .tst 2>/dev/null
mkdir .tst 2>/dev/null
if test -d .tst; then
  am__leading_dot=.
else
  am__leading_dot=_
fi
rmdir .tst 2>/dev/null
AC_SUBST([am__leading_dot])])

# Check to see how 'make' treats includes.	            -*- Autoconf -*-

# Copyright (C) 2001, 2002, 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.

# serial 4

# AM_MAKE_INCLUDE()
# -----------------
# Check to see how make treats includes.
AC_DEFUN([AM_MAKE_INCLUDE],
[am_make=${MAKE-make}
cat > confinc << 'END'
am__doit:
	@echo this is the am__doit target
.PHONY: am__doit
END
# If we don't find an include directive, just comment out the code.
AC_MSG_CHECKING([for style of include used by $am_make])
am__include="#"
am__quote=
_am_result=none
# First try GNU make style include.
echo "include confinc" > confmf
# Ignore all kinds of additional output from `make'.
case `$am_make -s -f confmf 2> /dev/null` in #(
*the\ am__doit\ target*)
  am__include=include
  am__quote=
  _am_result=GNU
  ;;
esac
# Now try BSD make style include.
if test "$am__include" = "#"; then
   echo '.include "confinc"' > confmf
   case `$am_make -s -f confmf 2> /dev/null` in #(
   *the\ am__doit\ target*)
     am__include=.include
     am__quote="\""
     _am_result=BSD
     ;;
   esac
fi
AC_SUBST([am__include])
AC_SUBST([am__quote])
AC_MSG_RESULT([$_am_result])
rm -f confinc confmf
])

# Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-

# Copyright (C) 1997, 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_MISSING_PROG(NAME, PROGRAM)
# ------------------------------
AC_DEFUN([AM_MISSING_PROG],
[AC_REQUIRE([AM_MISSING_HAS_RUN])
$1=${$1-"${am_missing_run}$2"}
AC_SUBST($1)])


# AM_MISSING_HAS_RUN
# ------------------
# Define MISSING if not defined so far and test if it supports --run.
# If it does, set am_missing_run to use it, otherwise, to nothing.
AC_DEFUN([AM_MISSING_HAS_RUN],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
AC_REQUIRE_AUX_FILE([missing])dnl
if test x"${MISSING+set}" != xset; then
  case $am_aux_dir in
  *\ * | *\	*)
    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
  *)
    MISSING="\${SHELL} $am_aux_dir/missing" ;;
  esac
fi
# Use eval to expand $SHELL
if eval "$MISSING --run true"; then
  am_missing_run="$MISSING --run "
else
  am_missing_run=
  AC_MSG_WARN([`missing' script is too old or missing])
fi
])

# Copyright (C) 2003, 2004, 2005, 2006  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.

# AM_PROG_MKDIR_P
# ---------------
# Check for `mkdir -p'.
AC_DEFUN([AM_PROG_MKDIR_P],
[AC_PREREQ([2.60])dnl
AC_REQUIRE([AC_PROG_MKDIR_P])dnl
dnl Automake 1.8 to 1.9.6 used to define mkdir_p.  We now use MKDIR_P,
dnl while keeping a definition of mkdir_p for backward compatibility.
dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
dnl Makefile.ins that do not define MKDIR_P, so we do our own
dnl adjustment using top_builddir (which is defined more often than
dnl MKDIR_P).
AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
case $mkdir_p in
  [[\\/$]]* | ?:[[\\/]]*) ;;
  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
esac
])

# Helper functions for option handling.                     -*- Autoconf -*-

# Copyright (C) 2001, 2002, 2003, 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 4

# _AM_MANGLE_OPTION(NAME)
# -----------------------
AC_DEFUN([_AM_MANGLE_OPTION],
[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])

# _AM_SET_OPTION(NAME)
# ------------------------------
# Set option NAME.  Presently that only means defining a flag for this option.
AC_DEFUN([_AM_SET_OPTION],
[m4_define(_AM_MANGLE_OPTION([$1]), 1)])

# _AM_SET_OPTIONS(OPTIONS)
# ----------------------------------
# OPTIONS is a space-separated list of Automake options.
AC_DEFUN([_AM_SET_OPTIONS],
[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])

# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
# -------------------------------------------
# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
AC_DEFUN([_AM_IF_OPTION],
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])

# Check to make sure that the build environment is sane.    -*- Autoconf -*-

# Copyright (C) 1996, 1997, 2000, 2001, 2003, 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 5

# AM_SANITY_CHECK
# ---------------
AC_DEFUN([AM_SANITY_CHECK],
[AC_MSG_CHECKING([whether build environment is sane])
# Just in case
sleep 1
echo timestamp > conftest.file
# Reject unsafe characters in $srcdir or the absolute working directory
# name.  Accept space and tab only in the latter.
am_lf='
'
case `pwd` in
  *[[\\\"\#\$\&\'\`$am_lf]]*)
    AC_MSG_ERROR([unsafe absolute working directory name]);;
esac
case $srcdir in
  *[[\\\"\#\$\&\'\`$am_lf\ \	]]*)
    AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
esac

# Do `set' in a subshell so we don't clobber the current shell's
# arguments.  Must try -L first in case configure is actually a
# symlink; some systems play weird games with the mod time of symlinks
# (eg FreeBSD returns the mod time of the symlink's containing
# directory).
if (
   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
   if test "$[*]" = "X"; then
      # -L didn't work.
      set X `ls -t "$srcdir/configure" conftest.file`
   fi
   rm -f conftest.file
   if test "$[*]" != "X $srcdir/configure conftest.file" \
      && test "$[*]" != "X conftest.file $srcdir/configure"; then

      # If neither matched, then we have a broken ls.  This can happen
      # 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".
      AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
alias in your environment])
   fi

   test "$[2]" = conftest.file
   )
then
   # Ok.
   :
else
   AC_MSG_ERROR([newly created file is older than distributed files!
Check your system clock])
fi
AC_MSG_RESULT(yes)])

# Copyright (C) 2001, 2003, 2005  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.

# AM_PROG_INSTALL_STRIP
# ---------------------
# One issue with vendor `install' (even GNU) is that you can't
# specify the program used to strip binaries.  This is especially
# annoying in cross-compiling environments, where the build's strip
# is unlikely to handle the host's binaries.
# Fortunately install-sh will honor a STRIPPROG variable, so we
# always use install-sh in `make install-strip', and initialize
# STRIPPROG with the value of the STRIP variable (set by the user).
AC_DEFUN([AM_PROG_INSTALL_STRIP],
[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
# Installed binaries are usually stripped using `strip' when the user
# run `make install-strip'.  However `strip' might not be the right
# tool to use in cross-compilation environments, therefore Automake
# will honor the `STRIP' environment variable to overrule this program.
dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
if test "$cross_compiling" != no; then
  AC_CHECK_TOOL([STRIP], [strip], :)
fi
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
AC_SUBST([INSTALL_STRIP_PROGRAM])])

# Copyright (C) 2006, 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 2

# _AM_SUBST_NOTMAKE(VARIABLE)
# ---------------------------
# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
# This macro is traced by Automake.
AC_DEFUN([_AM_SUBST_NOTMAKE])

# AM_SUBST_NOTMAKE(VARIABLE)
# ---------------------------
# Public sister of _AM_SUBST_NOTMAKE.
AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])

# Check how to create a tarball.                            -*- Autoconf -*-

# Copyright (C) 2004, 2005  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 2

# _AM_PROG_TAR(FORMAT)
# --------------------
# Check how to create a tarball in format FORMAT.
# FORMAT should be one of `v7', `ustar', or `pax'.
#
# Substitute a variable $(am__tar) that is a command
# writing to stdout a FORMAT-tarball containing the directory
# $tardir.
#     tardir=directory && $(am__tar) > result.tar
#
# Substitute a variable $(am__untar) that extract such
# a tarball read from stdin.
#     $(am__untar) < result.tar
AC_DEFUN([_AM_PROG_TAR],
[# Always define AMTAR for backward compatibility.
AM_MISSING_PROG([AMTAR], [tar])
m4_if([$1], [v7],
     [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
     [m4_case([$1], [ustar],, [pax],,
              [m4_fatal([Unknown tar format])])
AC_MSG_CHECKING([how to create a $1 tar archive])
# Loop over all known methods to create a tar archive until one works.
_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
_am_tools=${am_cv_prog_tar_$1-$_am_tools}
# Do not fold the above two line into one, because Tru64 sh and
# Solaris sh will not grok spaces in the rhs of `-'.
for _am_tool in $_am_tools
do
  case $_am_tool in
  gnutar)
    for _am_tar in tar gnutar gtar;
    do
      AM_RUN_LOG([$_am_tar --version]) && break
    done
    am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
    am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
    am__untar="$_am_tar -xf -"
    ;;
  plaintar)
    # Must skip GNU tar: if it does not support --format= it doesn't create
    # ustar tarball either.
    (tar --version) >/dev/null 2>&1 && continue
    am__tar='tar chf - "$$tardir"'
    am__tar_='tar chf - "$tardir"'
    am__untar='tar xf -'
    ;;
  pax)
    am__tar='pax -L -x $1 -w "$$tardir"'
    am__tar_='pax -L -x $1 -w "$tardir"'
    am__untar='pax -r'
    ;;
  cpio)
    am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
    am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
    am__untar='cpio -i -H $1 -d'
    ;;
  none)
    am__tar=false
    am__tar_=false
    am__untar=false
    ;;
  esac

  # If the value was cached, stop now.  We just wanted to have am__tar
  # and am__untar set.
  test -n "${am_cv_prog_tar_$1}" && break

  # tar/untar a dummy directory, and stop if the command works
  rm -rf conftest.dir
  mkdir conftest.dir
  echo GrepMe > conftest.dir/file
  AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
  rm -rf conftest.dir
  if test -s conftest.tar; then
    AM_RUN_LOG([$am__untar <conftest.tar])
    grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
  fi
done
rm -rf conftest.dir

AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
AC_MSG_RESULT([$am_cv_prog_tar_$1])])
AC_SUBST([am__tar])
AC_SUBST([am__untar])
]) # _AM_PROG_TAR

m4_include([m4/bold.m4])
m4_include([m4/fault.m4])
m4_include([m4/getpagesize.m4])
m4_include([m4/libtool.m4])
m4_include([m4/ltoptions.m4])
m4_include([m4/ltsugar.m4])
m4_include([m4/ltversion.m4])
m4_include([m4/lt~obsolete.m4])
m4_include([m4/mmap-anon.m4])
m4_include([m4/relocatable.m4])
m4_include([m4/sigaltstack-longjmp.m4])
m4_include([m4/sigaltstack-siglongjmp.m4])
m4_include([m4/sigaltstack.m4])
EOF-aclocal.m4
echo making directory 'build-aux'
mkdir 'build-aux'
cd 'build-aux'
#! /bin/sh
echo - 'config.guess'
cat << 'EOF-config.guess' > 'config.guess'
#! /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
#   Free Software Foundation, Inc.

timestamp='2008-04-14'

# 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 2 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, write to the Free Software
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
# 02110-1301, USA.
#
# 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.


# 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.
#
# 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.

me=`echo "$0" | sed -e 's,.*/,,'`

usage="\
Usage: $0 [OPTION]

Output the configuration name of the system \`$me' is run on.

Operation modes:
  -h, --help         print this help, then exit
  -t, --time-stamp   print date of last modification, then exit
  -v, --version      print version number, then exit

Report bugs and patches to <config-patches@gnu.org>."

version="\
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.

This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."

help="
Try \`$me --help' for more information."

# Parse command line
while test $# -gt 0 ; do
  case $1 in
    --time-stamp | --time* | -t )
       echo "$timestamp" ; exit ;;
    --version | -v )
       echo "$version" ; exit ;;
    --help | --h* | -h )
       echo "$usage"; exit ;;
    -- )     # Stop option processing
       shift; break ;;
    - )	# Use stdin as input.
       break ;;
    -* )
       echo "$me: invalid option $1$help" >&2
       exit 1 ;;
    * )
       break ;;
  esac
done

if test $# != 0; then
  echo "$me: too many arguments$help" >&2
  exit 1
fi

trap 'exit 1' 1 2 15

# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
# compiler to aid in system detection is discouraged as it requires
# temporary files to be created and, as you can see below, it is a
# headache to deal with in a portable fashion.

# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
# use `HOST_CC' if defined, but it is deprecated.

# Portable tmp directory creation inspired by the Autoconf team.

set_cc_for_build='
trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
: ${TMPDIR=/tmp} ;
 { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
 { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
 { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
 { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
dummy=$tmp/dummy ;
tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
case $CC_FOR_BUILD,$HOST_CC,$CC in
 ,,)    echo "int x;" > $dummy.c ;
	for c in cc gcc c89 c99 ; do
	  if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
	     CC_FOR_BUILD="$c"; break ;
	  fi ;
	done ;
	if test x"$CC_FOR_BUILD" = x ; then
	  CC_FOR_BUILD=no_compiler_found ;
	fi
	;;
 ,,*)   CC_FOR_BUILD=$CC ;;
 ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
esac ; set_cc_for_build= ;'

# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
# (ghazi@noc.rutgers.edu 1994-08-24)
if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
	PATH=$PATH:/.attbin ; export PATH
fi

UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown

# Note: order is significant - the case branches are not exclusive.

case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
    *:NetBSD:*:*)
	# NetBSD (nbsd) targets should (where applicable) match one or
	# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
	# switched to ELF, *-*-netbsd* would select the old
	# object file format.  This provides both forward
	# compatibility and a consistent mechanism for selecting the
	# object file format.
	#
	# Note: NetBSD doesn't particularly care about the vendor
	# portion of the name.  We always set it to "unknown".
	sysctl="sysctl -n hw.machine_arch"
	UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
	    /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
	case "${UNAME_MACHINE_ARCH}" in
	    armeb) machine=armeb-unknown ;;
	    arm*) machine=arm-unknown ;;
	    sh3el) machine=shl-unknown ;;
	    sh3eb) machine=sh-unknown ;;
	    sh5el) machine=sh5le-unknown ;;
	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
	esac
	# The Operating System including object format, if it has switched
	# to ELF recently, or will in the future.
	case "${UNAME_MACHINE_ARCH}" in
	    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
		then
		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
		    # Return netbsd for either.  FIX?
		    os=netbsd
		else
		    os=netbsdelf
		fi
		;;
	    *)
	        os=netbsd
		;;
	esac
	# The OS release
	# Debian GNU/NetBSD machines have a different userland, and
	# thus, need a distinct triplet. However, they do not need
	# kernel version information, so it can be replaced with a
	# suitable tag, in the style of linux-gnu.
	case "${UNAME_VERSION}" in
	    Debian*)
		release='-gnu'
		;;
	    *)
		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
		;;
	esac
	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
	# contains redundant information, the shorter form:
	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
	echo "${machine}-${os}${release}"
	exit ;;
    *:OpenBSD:*:*)
	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
	exit ;;
    *:ekkoBSD:*:*)
	echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
	exit ;;
    *:SolidBSD:*:*)
	echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
	exit ;;
    macppc:MirBSD:*:*)
	echo powerpc-unknown-mirbsd${UNAME_RELEASE}
	exit ;;
    *:MirBSD:*:*)
	echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
	exit ;;
    alpha:OSF1:*:*)
	case $UNAME_RELEASE in
	*4.0)
		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
		;;
	*5.*)
	        UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
		;;
	esac
	# According to Compaq, /usr/sbin/psrinfo has been available on
	# OSF/1 and Tru64 systems produced since 1995.  I hope that
	# covers most systems running today.  This code pipes the CPU
	# types through head -n 1, so we only detect the type of CPU 0.
	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
	case "$ALPHA_CPU_TYPE" in
	    "EV4 (21064)")
		UNAME_MACHINE="alpha" ;;
	    "EV4.5 (21064)")
		UNAME_MACHINE="alpha" ;;
	    "LCA4 (21066/21068)")
		UNAME_MACHINE="alpha" ;;
	    "EV5 (21164)")
		UNAME_MACHINE="alphaev5" ;;
	    "EV5.6 (21164A)")
		UNAME_MACHINE="alphaev56" ;;
	    "EV5.6 (21164PC)")
		UNAME_MACHINE="alphapca56" ;;
	    "EV5.7 (21164PC)")
		UNAME_MACHINE="alphapca57" ;;
	    "EV6 (21264)")
		UNAME_MACHINE="alphaev6" ;;
	    "EV6.7 (21264A)")
		UNAME_MACHINE="alphaev67" ;;
	    "EV6.8CB (21264C)")
		UNAME_MACHINE="alphaev68" ;;
	    "EV6.8AL (21264B)")
		UNAME_MACHINE="alphaev68" ;;
	    "EV6.8CX (21264D)")
		UNAME_MACHINE="alphaev68" ;;
	    "EV6.9A (21264/EV69A)")
		UNAME_MACHINE="alphaev69" ;;
	    "EV7 (21364)")
		UNAME_MACHINE="alphaev7" ;;
	    "EV7.9 (21364A)")
		UNAME_MACHINE="alphaev79" ;;
	esac
	# A Pn.n version is a patched version.
	# A Vn.n version is a released version.
	# A Tn.n version is a released field test version.
	# A Xn.n version is an unreleased experimental baselevel.
	# 1.2 uses "1.2" for uname -r.
	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
	exit ;;
    Alpha\ *:Windows_NT*:*)
	# How do we know it's Interix rather than the generic POSIX subsystem?
	# Should we change UNAME_MACHINE based on the output of uname instead
	# of the specific Alpha model?
	echo alpha-pc-interix
	exit ;;
    21064:Windows_NT:50:3)
	echo alpha-dec-winnt3.5
	exit ;;
    Amiga*:UNIX_System_V:4.0:*)
	echo m68k-unknown-sysv4
	exit ;;
    *:[Aa]miga[Oo][Ss]:*:*)
	echo ${UNAME_MACHINE}-unknown-amigaos
	exit ;;
    *:[Mm]orph[Oo][Ss]:*:*)
	echo ${UNAME_MACHINE}-unknown-morphos
	exit ;;
    *:OS/390:*:*)
	echo i370-ibm-openedition
	exit ;;
    *:z/VM:*:*)
	echo s390-ibm-zvmoe
	exit ;;
    *:OS400:*:*)
        echo powerpc-ibm-os400
	exit ;;
    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
	echo arm-acorn-riscix${UNAME_RELEASE}
	exit ;;
    arm:riscos:*:*|arm:RISCOS:*:*)
	echo arm-unknown-riscos
	exit ;;
    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
	echo hppa1.1-hitachi-hiuxmpp
	exit ;;
    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
	if test "`(/bin/universe) 2>/dev/null`" = att ; then
		echo pyramid-pyramid-sysv3
	else
		echo pyramid-pyramid-bsd
	fi
	exit ;;
    NILE*:*:*:dcosx)
	echo pyramid-pyramid-svr4
	exit ;;
    DRS?6000:unix:4.0:6*)
	echo sparc-icl-nx6
	exit ;;
    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
	case `/usr/bin/uname -p` in
	    sparc) echo sparc-icl-nx7; exit ;;
	esac ;;
    sun4H:SunOS:5.*:*)
	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
	exit ;;
    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
	exit ;;
    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
	echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
	exit ;;
    sun4*:SunOS:6*:*)
	# According to config.sub, this is the proper way to canonicalize
	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
	# it's likely to be more like Solaris than SunOS4.
	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
	exit ;;
    sun4*:SunOS:*:*)
	case "`/usr/bin/arch -k`" in
	    Series*|S4*)
		UNAME_RELEASE=`uname -v`
		;;
	esac
	# Japanese Language versions have a version number like `4.1.3-JL'.
	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
	exit ;;
    sun3*:SunOS:*:*)
	echo m68k-sun-sunos${UNAME_RELEASE}
	exit ;;
    sun*:*:4.2BSD:*)
	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
	case "`/bin/arch`" in
	    sun3)
		echo m68k-sun-sunos${UNAME_RELEASE}
		;;
	    sun4)
		echo sparc-sun-sunos${UNAME_RELEASE}
		;;
	esac
	exit ;;
    aushp:SunOS:*:*)
	echo sparc-auspex-sunos${UNAME_RELEASE}
	exit ;;
    # The situation for MiNT is a little confusing.  The machine name
    # can be virtually everything (everything which is not
    # "atarist" or "atariste" at least should have a processor
    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
    # to the lowercase version "mint" (or "freemint").  Finally
    # the system name "TOS" denotes a system which is actually not
    # MiNT.  But MiNT is downward compatible to TOS, so this should
    # be no problem.
    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
        echo m68k-atari-mint${UNAME_RELEASE}
	exit ;;
    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
	echo m68k-atari-mint${UNAME_RELEASE}
        exit ;;
    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
        echo m68k-atari-mint${UNAME_RELEASE}
	exit ;;
    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
        echo m68k-milan-mint${UNAME_RELEASE}
        exit ;;
    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
        echo m68k-hades-mint${UNAME_RELEASE}
        exit ;;
    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
        echo m68k-unknown-mint${UNAME_RELEASE}
        exit ;;
    m68k:machten:*:*)
	echo m68k-apple-machten${UNAME_RELEASE}
	exit ;;
    powerpc:machten:*:*)
	echo powerpc-apple-machten${UNAME_RELEASE}
	exit ;;
    RISC*:Mach:*:*)
	echo mips-dec-mach_bsd4.3
	exit ;;
    RISC*:ULTRIX:*:*)
	echo mips-dec-ultrix${UNAME_RELEASE}
	exit ;;
    VAX*:ULTRIX*:*:*)
	echo vax-dec-ultrix${UNAME_RELEASE}
	exit ;;
    2020:CLIX:*:* | 2430:CLIX:*:*)
	echo clipper-intergraph-clix${UNAME_RELEASE}
	exit ;;
    mips:*:*:UMIPS | mips:*:*:RISCos)
	eval $set_cc_for_build
	sed 's/^	//' << EOF >$dummy.c
#ifdef __cplusplus
#include <stdio.h>  /* for printf() prototype */
	int main (int argc, char *argv[]) {
#else
	int main (argc, argv) int argc; char *argv[]; {
#endif
	#if defined (host_mips) && defined (MIPSEB)
	#if defined (SYSTYPE_SYSV)
	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
	#endif
	#if defined (SYSTYPE_SVR4)
	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
	#endif
	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
	#endif
	#endif
	  exit (-1);
	}
EOF
	$CC_FOR_BUILD -o $dummy $dummy.c &&
	  dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
	  SYSTEM_NAME=`$dummy $dummyarg` &&
	    { echo "$SYSTEM_NAME"; exit; }
	echo mips-mips-riscos${UNAME_RELEASE}
	exit ;;
    Motorola:PowerMAX_OS:*:*)
	echo powerpc-motorola-powermax
	exit ;;
    Motorola:*:4.3:PL8-*)
	echo powerpc-harris-powermax
	exit ;;
    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
	echo powerpc-harris-powermax
	exit ;;
    Night_Hawk:Power_UNIX:*:*)
	echo powerpc-harris-powerunix
	exit ;;
    m88k:CX/UX:7*:*)
	echo m88k-harris-cxux7
	exit ;;
    m88k:*:4*:R4*)
	echo m88k-motorola-sysv4
	exit ;;
    m88k:*:3*:R3*)
	echo m88k-motorola-sysv3
	exit ;;
    AViiON:dgux:*:*)
        # DG/UX returns AViiON for all architectures
        UNAME_PROCESSOR=`/usr/bin/uname -p`
	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
	then
	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
	       [ ${TARGET_BINARY_INTERFACE}x = x ]
	    then
		echo m88k-dg-dgux${UNAME_RELEASE}
	    else
		echo m88k-dg-dguxbcs${UNAME_RELEASE}
	    fi
	else
	    echo i586-dg-dgux${UNAME_RELEASE}
	fi
 	exit ;;
    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
	echo m88k-dolphin-sysv3
	exit ;;
    M88*:*:R3*:*)
	# Delta 88k system running SVR3
	echo m88k-motorola-sysv3
	exit ;;
    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
	echo m88k-tektronix-sysv3
	exit ;;
    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
	echo m68k-tektronix-bsd
	exit ;;
    *:IRIX*:*:*)
	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
	exit ;;
    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
    i*86:AIX:*:*)
	echo i386-ibm-aix
	exit ;;
    ia64:AIX:*:*)
	if [ -x /usr/bin/oslevel ] ; then
		IBM_REV=`/usr/bin/oslevel`
	else
		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
	fi
	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
	exit ;;
    *:AIX:2:3)
	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
		eval $set_cc_for_build
		sed 's/^		//' << EOF >$dummy.c
		#include <sys/systemcfg.h>

		main()
			{
			if (!__power_pc())
				exit(1);
			puts("powerpc-ibm-aix3.2.5");
			exit(0);
			}
EOF
		if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
		then
			echo "$SYSTEM_NAME"
		else
			echo rs6000-ibm-aix3.2.5
		fi
	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
		echo rs6000-ibm-aix3.2.4
	else
		echo rs6000-ibm-aix3.2
	fi
	exit ;;
    *:AIX:*:[456])
	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
		IBM_ARCH=rs6000
	else
		IBM_ARCH=powerpc
	fi
	if [ -x /usr/bin/oslevel ] ; then
		IBM_REV=`/usr/bin/oslevel`
	else
		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
	fi
	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
	exit ;;
    *:AIX:*:*)
	echo rs6000-ibm-aix
	exit ;;
    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
	echo romp-ibm-bsd4.4
	exit ;;
    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
	exit ;;                             # report: romp-ibm BSD 4.3
    *:BOSX:*:*)
	echo rs6000-bull-bosx
	exit ;;
    DPX/2?00:B.O.S.:*:*)
	echo m68k-bull-sysv3
	exit ;;
    9000/[34]??:4.3bsd:1.*:*)
	echo m68k-hp-bsd
	exit ;;
    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
	echo m68k-hp-bsd4.4
	exit ;;
    9000/[34678]??:HP-UX:*:*)
	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
	case "${UNAME_MACHINE}" in
	    9000/31? )            HP_ARCH=m68000 ;;
	    9000/[34]?? )         HP_ARCH=m68k ;;
	    9000/[678][0-9][0-9])
		if [ -x /usr/bin/getconf ]; then
		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
                    case "${sc_cpu_version}" in
                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
                      532)                      # CPU_PA_RISC2_0
                        case "${sc_kernel_bits}" in
                          32) HP_ARCH="hppa2.0n" ;;
                          64) HP_ARCH="hppa2.0w" ;;
			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
                        esac ;;
                    esac
		fi
		if [ "${HP_ARCH}" = "" ]; then
		    eval $set_cc_for_build
		    sed 's/^              //' << EOF >$dummy.c

              #define _HPUX_SOURCE
              #include <stdlib.h>
              #include <unistd.h>

              int main ()
              {
              #if defined(_SC_KERNEL_BITS)
                  long bits = sysconf(_SC_KERNEL_BITS);
              #endif
                  long cpu  = sysconf (_SC_CPU_VERSION);

                  switch (cpu)
              	{
              	case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
              	case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
              	case CPU_PA_RISC2_0:
              #if defined(_SC_KERNEL_BITS)
              	    switch (bits)
              		{
              		case 64: puts ("hppa2.0w"); break;
              		case 32: puts ("hppa2.0n"); break;
              		default: puts ("hppa2.0"); break;
              		} break;
              #else  /* !defined(_SC_KERNEL_BITS) */
              	    puts ("hppa2.0"); break;
              #endif
              	default: puts ("hppa1.0"); break;
              	}
                  exit (0);
              }
EOF
		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
		    test -z "$HP_ARCH" && HP_ARCH=hppa
		fi ;;
	esac
	if [ ${HP_ARCH} = "hppa2.0w" ]
	then
	    eval $set_cc_for_build

	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
	    # generating 64-bit code.  GNU and HP use different nomenclature:
	    #
	    # $ CC_FOR_BUILD=cc ./config.guess
	    # => hppa2.0w-hp-hpux11.23
	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
	    # => hppa64-hp-hpux11.23

	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
		grep __LP64__ >/dev/null
	    then
		HP_ARCH="hppa2.0w"
	    else
		HP_ARCH="hppa64"
	    fi
	fi
	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
	exit ;;
    ia64:HP-UX:*:*)
	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
	echo ia64-hp-hpux${HPUX_REV}
	exit ;;
    3050*:HI-UX:*:*)
	eval $set_cc_for_build
	sed 's/^	//' << EOF >$dummy.c
	#include <unistd.h>
	int
	main ()
	{
	  long cpu = sysconf (_SC_CPU_VERSION);
	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
	     results, however.  */
	  if (CPU_IS_PA_RISC (cpu))
	    {
	      switch (cpu)
		{
		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
		  default: puts ("hppa-hitachi-hiuxwe2"); break;
		}
	    }
	  else if (CPU_IS_HP_MC68K (cpu))
	    puts ("m68k-hitachi-hiuxwe2");
	  else puts ("unknown-hitachi-hiuxwe2");
	  exit (0);
	}
EOF
	$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
		{ echo "$SYSTEM_NAME"; exit; }
	echo unknown-hitachi-hiuxwe2
	exit ;;
    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
	echo hppa1.1-hp-bsd
	exit ;;
    9000/8??:4.3bsd:*:*)
	echo hppa1.0-hp-bsd
	exit ;;
    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
	echo hppa1.0-hp-mpeix
	exit ;;
    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
	echo hppa1.1-hp-osf
	exit ;;
    hp8??:OSF1:*:*)
	echo hppa1.0-hp-osf
	exit ;;
    i*86:OSF1:*:*)
	if [ -x /usr/sbin/sysversion ] ; then
	    echo ${UNAME_MACHINE}-unknown-osf1mk
	else
	    echo ${UNAME_MACHINE}-unknown-osf1
	fi
	exit ;;
    parisc*:Lites*:*:*)
	echo hppa1.1-hp-lites
	exit ;;
    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
	echo c1-convex-bsd
        exit ;;
    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
	if getsysinfo -f scalar_acc
	then echo c32-convex-bsd
	else echo c2-convex-bsd
	fi
        exit ;;
    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
	echo c34-convex-bsd
        exit ;;
    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
	echo c38-convex-bsd
        exit ;;
    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
	echo c4-convex-bsd
        exit ;;
    CRAY*Y-MP:*:*:*)
	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
	exit ;;
    CRAY*[A-Z]90:*:*:*)
	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
	      -e 's/\.[^.]*$/.X/'
	exit ;;
    CRAY*TS:*:*:*)
	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
	exit ;;
    CRAY*T3E:*:*:*)
	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
	exit ;;
    CRAY*SV1:*:*:*)
	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
	exit ;;
    *:UNICOS/mp:*:*)
	echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
	exit ;;
    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
        exit ;;
    5000:UNIX_System_V:4.*:*)
        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
	exit ;;
    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
	exit ;;
    sparc*:BSD/OS:*:*)
	echo sparc-unknown-bsdi${UNAME_RELEASE}
	exit ;;
    *:BSD/OS:*:*)
	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
	exit ;;
    *:FreeBSD:*:*)
	case ${UNAME_MACHINE} in
	    pc98)
		echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
	    amd64)
		echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
	    *)
		echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
	esac
	exit ;;
    i*:CYGWIN*:*)
	echo ${UNAME_MACHINE}-pc-cygwin
	exit ;;
    *:MINGW*:*)
	echo ${UNAME_MACHINE}-pc-mingw32
	exit ;;
    i*:windows32*:*)
    	# uname -m includes "-pc" on this system.
    	echo ${UNAME_MACHINE}-mingw32
	exit ;;
    i*:PW*:*)
	echo ${UNAME_MACHINE}-pc-pw32
	exit ;;
    *:Interix*:[3456]*)
    	case ${UNAME_MACHINE} in
	    x86)
		echo i586-pc-interix${UNAME_RELEASE}
		exit ;;
	    EM64T | authenticamd)
		echo x86_64-unknown-interix${UNAME_RELEASE}
		exit ;;
	    IA64)
		echo ia64-unknown-interix${UNAME_RELEASE}
		exit ;;
	esac ;;
    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
	echo i${UNAME_MACHINE}-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
	# UNAME_MACHINE based on the output of uname instead of i386?
	echo i586-pc-interix
	exit ;;
    i*:UWIN*:*)
	echo ${UNAME_MACHINE}-pc-uwin
	exit ;;
    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
	echo x86_64-unknown-cygwin
	exit ;;
    p*:CYGWIN*:*)
	echo powerpcle-unknown-cygwin
	exit ;;
    prep*:SunOS:5.*:*)
	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
	exit ;;
    *:GNU:*:*)
	# the GNU system
	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
	exit ;;
    *:GNU/*:*:*)
	# other systems with GNU libc and userland
	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
	exit ;;
    i*86:Minix:*:*)
	echo ${UNAME_MACHINE}-pc-minix
	exit ;;
    arm*:Linux:*:*)
	eval $set_cc_for_build
	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
	    | grep -q __ARM_EABI__
	then
	    echo ${UNAME_MACHINE}-unknown-linux-gnu
	else
	    echo ${UNAME_MACHINE}-unknown-linux-gnueabi
	fi
	exit ;;
    avr32*:Linux:*:*)
	echo ${UNAME_MACHINE}-unknown-linux-gnu
	exit ;;
    cris:Linux:*:*)
	echo cris-axis-linux-gnu
	exit ;;
    crisv32:Linux:*:*)
	echo crisv32-axis-linux-gnu
	exit ;;
    frv:Linux:*:*)
    	echo frv-unknown-linux-gnu
	exit ;;
    ia64:Linux:*:*)
	echo ${UNAME_MACHINE}-unknown-linux-gnu
	exit ;;
    m32r*: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:*:*)
	eval $set_cc_for_build
	sed 's/^	//' << EOF >$dummy.c
	#undef CPU
	#undef mips64
	#undef mips64el
	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
	CPU=mips64el
	#else
	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
	CPU=mips64
	#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; }
	;;
    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 ;;
    parisc:Linux:*:* | hppa:Linux:*:*)
	# Look for CPU level
	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
	  PA7*) echo hppa1.1-unknown-linux-gnu ;;
	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
	  *)    echo hppa-unknown-linux-gnu ;;
	esac
	exit ;;
    parisc64:Linux:*:* | hppa64:Linux:*:*)
	echo hppa64-unknown-linux-gnu
	exit ;;
    s390:Linux:*:* | s390x:Linux:*:*)
	echo ${UNAME_MACHINE}-ibm-linux
	exit ;;
    sh64*:Linux:*:*)
    	echo ${UNAME_MACHINE}-unknown-linux-gnu
	exit ;;
    sh*:Linux:*:*)
	echo ${UNAME_MACHINE}-unknown-linux-gnu
	exit ;;
    sparc:Linux:*:* | sparc64:Linux:*:*)
	echo ${UNAME_MACHINE}-unknown-linux-gnu
	exit ;;
    vax:Linux:*:*)
	echo ${UNAME_MACHINE}-dec-linux-gnu
	exit ;;
    x86_64:Linux:*:*)
	echo x86_64-unknown-linux-gnu
	exit ;;
    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
	# sysname and nodename.
	echo i386-sequent-sysv4
	exit ;;
    i*86:UNIX_SV:4.2MP:2.*)
        # Unixware is an offshoot of SVR4, but it has its own version
        # number series starting with 2...
        # I am not positive that other SVR4 systems won't match this,
	# I just have to hope.  -- rms.
        # Use sysv4.2uw... so that sysv4* matches it.
	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
	exit ;;
    i*86:OS/2:*:*)
	# If we were able to find `uname', then EMX Unix compatibility
	# is probably installed.
	echo ${UNAME_MACHINE}-pc-os2-emx
	exit ;;
    i*86:XTS-300:*:STOP)
	echo ${UNAME_MACHINE}-unknown-stop
	exit ;;
    i*86:atheos:*:*)
	echo ${UNAME_MACHINE}-unknown-atheos
	exit ;;
    i*86:syllable:*:*)
	echo ${UNAME_MACHINE}-pc-syllable
	exit ;;
    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
	echo i386-unknown-lynxos${UNAME_RELEASE}
	exit ;;
    i*86:*DOS:*:*)
	echo ${UNAME_MACHINE}-pc-msdosdjgpp
	exit ;;
    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
	UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
		echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
	else
		echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
	fi
	exit ;;
    i*86:*:5:[678]*)
    	# UnixWare 7.x, OpenUNIX and OpenServer 6.
	case `/bin/uname -X | grep "^Machine"` in
	    *486*)	     UNAME_MACHINE=i486 ;;
	    *Pentium)	     UNAME_MACHINE=i586 ;;
	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
	esac
	echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
	exit ;;
    i*86:*:3.2:*)
	if test -f /usr/options/cb.name; then
		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
	elif /bin/uname -X 2>/dev/null >/dev/null ; then
		UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
			&& UNAME_MACHINE=i586
		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
			&& UNAME_MACHINE=i686
		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
			&& UNAME_MACHINE=i686
		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
	else
		echo ${UNAME_MACHINE}-pc-sysv32
	fi
	exit ;;
    pc:*:*:*)
	# Left here for compatibility:
        # uname -m prints for DJGPP always 'pc', but it prints nothing about
        # the processor, so we play safe by assuming i386.
	echo i386-pc-msdosdjgpp
        exit ;;
    Intel:Mach:3*:*)
	echo i386-pc-mach3
	exit ;;
    paragon:*:*:*)
	echo i860-intel-osf1
	exit ;;
    i860:*:4.*:*) # i860-SVR4
	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
	else # Add other i860-SVR4 vendors below as they are discovered.
	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
	fi
	exit ;;
    mini*:CTIX:SYS*5:*)
	# "miniframe"
	echo m68010-convergent-sysv
	exit ;;
    mc68k:UNIX:SYSTEM5:3.51m)
	echo m68k-convergent-sysv
	exit ;;
    M680?0:D-NIX:5.3:*)
	echo m68k-diab-dnix
	exit ;;
    M68*:*:R3V[5678]*:*)
	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
    3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
	OS_REL=''
	test -r /etc/.relid \
	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
	  && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
          && { echo i486-ncr-sysv4; exit; } ;;
    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
	echo m68k-unknown-lynxos${UNAME_RELEASE}
	exit ;;
    mc68030:UNIX_System_V:4.*:*)
	echo m68k-atari-sysv4
	exit ;;
    TSUNAMI:LynxOS:2.*:*)
	echo sparc-unknown-lynxos${UNAME_RELEASE}
	exit ;;
    rs6000:LynxOS:2.*:*)
	echo rs6000-unknown-lynxos${UNAME_RELEASE}
	exit ;;
    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
	echo powerpc-unknown-lynxos${UNAME_RELEASE}
	exit ;;
    SM[BE]S:UNIX_SV:*:*)
	echo mips-dde-sysv${UNAME_RELEASE}
	exit ;;
    RM*:ReliantUNIX-*:*:*)
	echo mips-sni-sysv4
	exit ;;
    RM*:SINIX-*:*:*)
	echo mips-sni-sysv4
	exit ;;
    *:SINIX-*:*:*)
	if uname -p 2>/dev/null >/dev/null ; then
		UNAME_MACHINE=`(uname -p) 2>/dev/null`
		echo ${UNAME_MACHINE}-sni-sysv4
	else
		echo ns32k-sni-sysv
	fi
	exit ;;
    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
                      # says <Richard.M.Bartel@ccMail.Census.GOV>
        echo i586-unisys-sysv4
        exit ;;
    *:UNIX_System_V:4*:FTX*)
	# From Gerald Hewes <hewes@openmarket.com>.
	# How about differentiating between stratus architectures? -djm
	echo hppa1.1-stratus-sysv4
	exit ;;
    *:*:*:FTX*)
	# From seanf@swdc.stratus.com.
	echo i860-stratus-sysv4
	exit ;;
    i*86:VOS:*:*)
	# From Paul.Green@stratus.com.
	echo ${UNAME_MACHINE}-stratus-vos
	exit ;;
    *:VOS:*:*)
	# From Paul.Green@stratus.com.
	echo hppa1.1-stratus-vos
	exit ;;
    mc68*:A/UX:*:*)
	echo m68k-apple-aux${UNAME_RELEASE}
	exit ;;
    news*:NEWS-OS:6*:*)
	echo mips-sony-newsos6
	exit ;;
    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
	if [ -d /usr/nec ]; then
	        echo mips-nec-sysv${UNAME_RELEASE}
	else
	        echo mips-unknown-sysv${UNAME_RELEASE}
	fi
        exit ;;
    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
	echo powerpc-be-beos
	exit ;;
    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
	echo powerpc-apple-beos
	exit ;;
    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
	echo i586-pc-beos
	exit ;;
    BePC:Haiku:*:*)	# Haiku running on Intel PC compatible.
	echo i586-pc-haiku
	exit ;;
    SX-4:SUPER-UX:*:*)
	echo sx4-nec-superux${UNAME_RELEASE}
	exit ;;
    SX-5:SUPER-UX:*:*)
	echo sx5-nec-superux${UNAME_RELEASE}
	exit ;;
    SX-6:SUPER-UX:*:*)
	echo sx6-nec-superux${UNAME_RELEASE}
	exit ;;
    SX-7:SUPER-UX:*:*)
	echo sx7-nec-superux${UNAME_RELEASE}
	exit ;;
    SX-8:SUPER-UX:*:*)
	echo sx8-nec-superux${UNAME_RELEASE}
	exit ;;
    SX-8R:SUPER-UX:*:*)
	echo sx8r-nec-superux${UNAME_RELEASE}
	exit ;;
    Power*:Rhapsody:*:*)
	echo powerpc-apple-rhapsody${UNAME_RELEASE}
	exit ;;
    *:Rhapsody:*:*)
	echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
	exit ;;
    *:Darwin:*:*)
	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
	case $UNAME_PROCESSOR in
	    unknown) UNAME_PROCESSOR=powerpc ;;
	esac
	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
	exit ;;
    *:procnto*:*:* | *:QNX:[0123456789]*:*)
	UNAME_PROCESSOR=`uname -p`
	if test "$UNAME_PROCESSOR" = "x86"; then
		UNAME_PROCESSOR=i386
		UNAME_MACHINE=pc
	fi
	echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
	exit ;;
    *:QNX:*:4*)
	echo i386-pc-qnx
	exit ;;
    NSE-?:NONSTOP_KERNEL:*:*)
	echo nse-tandem-nsk${UNAME_RELEASE}
	exit ;;
    NSR-?:NONSTOP_KERNEL:*:*)
	echo nsr-tandem-nsk${UNAME_RELEASE}
	exit ;;
    *:NonStop-UX:*:*)
	echo mips-compaq-nonstopux
	exit ;;
    BS2000:POSIX*:*:*)
	echo bs2000-siemens-sysv
	exit ;;
    DS/*:UNIX_System_V:*:*)
	echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
	exit ;;
    *:Plan9:*:*)
	# "uname -m" is not consistent, so use $cputype instead. 386
	# is converted to i386 for consistency with other x86
	# operating systems.
	if test "$cputype" = "386"; then
	    UNAME_MACHINE=i386
	else
	    UNAME_MACHINE="$cputype"
	fi
	echo ${UNAME_MACHINE}-unknown-plan9
	exit ;;
    *:TOPS-10:*:*)
	echo pdp10-unknown-tops10
	exit ;;
    *:TENEX:*:*)
	echo pdp10-unknown-tenex
	exit ;;
    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
	echo pdp10-dec-tops20
	exit ;;
    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
	echo pdp10-xkl-tops20
	exit ;;
    *:TOPS-20:*:*)
	echo pdp10-unknown-tops20
	exit ;;
    *:ITS:*:*)
	echo pdp10-unknown-its
	exit ;;
    SEI:*:*:SEIUX)
        echo mips-sei-seiux${UNAME_RELEASE}
	exit ;;
    *:DragonFly:*:*)
	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
	exit ;;
    *:*VMS:*:*)
    	UNAME_MACHINE=`(uname -p) 2>/dev/null`
	case "${UNAME_MACHINE}" in
	    A*) echo alpha-dec-vms ; exit ;;
	    I*) echo ia64-dec-vms ; exit ;;
	    V*) echo vax-dec-vms ; exit ;;
	esac ;;
    *:XENIX:*:SysV)
	echo i386-pc-xenix
	exit ;;
    i*86:skyos:*:*)
	echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
	exit ;;
    i*86:rdos:*:*)
	echo ${UNAME_MACHINE}-pc-rdos
	exit ;;
esac

#echo '(No uname command or uname output not recognized.)' 1>&2
#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2

eval $set_cc_for_build
cat >$dummy.c <<EOF
#ifdef _SEQUENT_
# include <sys/types.h>
# include <sys/utsname.h>
#endif
main ()
{
#if defined (sony)
#if defined (MIPSEB)
  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
     I don't know....  */
  printf ("mips-sony-bsd\n"); exit (0);
#else
#include <sys/param.h>
  printf ("m68k-sony-newsos%s\n",
#ifdef NEWSOS4
          "4"
#else
	  ""
#endif
         ); exit (0);
#endif
#endif

#if defined (__arm) && defined (__acorn) && defined (__unix)
  printf ("arm-acorn-riscix\n"); exit (0);
#endif

#if defined (hp300) && !defined (hpux)
  printf ("m68k-hp-bsd\n"); exit (0);
#endif

#if defined (NeXT)
#if !defined (__ARCHITECTURE__)
#define __ARCHITECTURE__ "m68k"
#endif
  int version;
  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
  if (version < 4)
    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
  else
    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
  exit (0);
#endif

#if defined (MULTIMAX) || defined (n16)
#if defined (UMAXV)
  printf ("ns32k-encore-sysv\n"); exit (0);
#else
#if defined (CMU)
  printf ("ns32k-encore-mach\n"); exit (0);
#else
  printf ("ns32k-encore-bsd\n"); exit (0);
#endif
#endif
#endif

#if defined (__386BSD__)
  printf ("i386-pc-bsd\n"); exit (0);
#endif

#if defined (sequent)
#if defined (i386)
  printf ("i386-sequent-dynix\n"); exit (0);
#endif
#if defined (ns32000)
  printf ("ns32k-sequent-dynix\n"); exit (0);
#endif
#endif

#if defined (_SEQUENT_)
    struct utsname un;

    uname(&un);

    if (strncmp(un.version, "V2", 2) == 0) {
	printf ("i386-sequent-ptx2\n"); exit (0);
    }
    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
	printf ("i386-sequent-ptx1\n"); exit (0);
    }
    printf ("i386-sequent-ptx\n"); exit (0);

#endif

#if defined (vax)
# if !defined (ultrix)
#  include <sys/param.h>
#  if defined (BSD)
#   if BSD == 43
      printf ("vax-dec-bsd4.3\n"); exit (0);
#   else
#    if BSD == 199006
      printf ("vax-dec-bsd4.3reno\n"); exit (0);
#    else
      printf ("vax-dec-bsd\n"); exit (0);
#    endif
#   endif
#  else
    printf ("vax-dec-bsd\n"); exit (0);
#  endif
# else
    printf ("vax-dec-ultrix\n"); exit (0);
# endif
#endif

#if defined (alliant) && defined (i860)
  printf ("i860-alliant-bsd\n"); exit (0);
#endif

  exit (1);
}
EOF

$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
	{ echo "$SYSTEM_NAME"; exit; }

# Apollos put the system type in the environment.

test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }

# Convex versions that predate uname can use getsysinfo(1)

if [ -x /usr/convex/getsysinfo ]
then
    case `getsysinfo -f cpu_type` in
    c1*)
	echo c1-convex-bsd
	exit ;;
    c2*)
	if getsysinfo -f scalar_acc
	then echo c32-convex-bsd
	else echo c2-convex-bsd
	fi
	exit ;;
    c34*)
	echo c34-convex-bsd
	exit ;;
    c38*)
	echo c38-convex-bsd
	exit ;;
    c4*)
	echo c4-convex-bsd
	exit ;;
    esac
fi

cat >&2 <<EOF
$0: unable to guess system type

This script, last modified $timestamp, has failed to recognize
the operating system you are using. It is advised that you
download the most up to date version of the config scripts from

  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
and
  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD

If the version you run ($0) is already up to date, please
send the following data and any information you think might be
pertinent to <config-patches@gnu.org> in order to provide the needed
information to handle your system.

config.guess timestamp = $timestamp

uname -m = `(uname -m) 2>/dev/null || echo unknown`
uname -r = `(uname -r) 2>/dev/null || echo unknown`
uname -s = `(uname -s) 2>/dev/null || echo unknown`
uname -v = `(uname -v) 2>/dev/null || echo unknown`

/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`

hostinfo               = `(hostinfo) 2>/dev/null`
/bin/universe          = `(/bin/universe) 2>/dev/null`
/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
/bin/arch              = `(/bin/arch) 2>/dev/null`
/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`

UNAME_MACHINE = ${UNAME_MACHINE}
UNAME_RELEASE = ${UNAME_RELEASE}
UNAME_SYSTEM  = ${UNAME_SYSTEM}
UNAME_VERSION = ${UNAME_VERSION}
EOF

exit 1

# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "timestamp='"
# time-stamp-format: "%:y-%02m-%02d"
# time-stamp-end: "'"
# End:
EOF-config.guess
echo - 'config.sub'
cat << 'EOF-config.sub' > 'config.sub'
#! /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
#   Free Software Foundation, Inc.

timestamp='2008-09-08'

# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
# can handle that machine.  It does not imply ALL GNU software can.
#
# 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 2 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, write to the Free Software
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
# 02110-1301, USA.
#
# 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.


# Please send patches to <config-patches@gnu.org>.  Submit a context
# diff and a properly formatted 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.

# 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.
# Each package is responsible for reporting which valid configurations
# it does not support.  The user should be able to distinguish
# a failure to support a valid configuration from a meaningless
# configuration.

# The goal of this file is to map all the various variations of a given
# machine specification into a single specification in the form:
#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
# or in some cases, the newer four-part form:
#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
# It is wrong to echo any other type of specification.

me=`echo "$0" | sed -e 's,.*/,,'`

usage="\
Usage: $0 [OPTION] CPU-MFR-OPSYS
       $0 [OPTION] ALIAS

Canonicalize a configuration name.

Operation modes:
  -h, --help         print this help, then exit
  -t, --time-stamp   print date of last modification, then exit
  -v, --version      print version number, then exit

Report bugs and patches to <config-patches@gnu.org>."

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.

This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."

help="
Try \`$me --help' for more information."

# Parse command line
while test $# -gt 0 ; do
  case $1 in
    --time-stamp | --time* | -t )
       echo "$timestamp" ; exit ;;
    --version | -v )
       echo "$version" ; exit ;;
    --help | --h* | -h )
       echo "$usage"; exit ;;
    -- )     # Stop option processing
       shift; break ;;
    - )	# Use stdin as input.
       break ;;
    -* )
       echo "$me: invalid option $1$help"
       exit 1 ;;

    *local*)
       # First pass through any local machine types.
       echo $1
       exit ;;

    * )
       break ;;
  esac
done

case $# in
 0) echo "$me: missing argument$help" >&2
    exit 1;;
 1) ;;
 *) echo "$me: too many arguments$help" >&2
    exit 1;;
esac

# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
# Here we must recognize all the valid KERNEL-OS combinations.
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in
  nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
  uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
  storm-chaos* | os2-emx* | rtmk-nova*)
    os=-$maybe_os
    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
    ;;
  *)
    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
    if [ $basic_machine != $1 ]
    then os=`echo $1 | sed 's/.*-/-/'`
    else os=; fi
    ;;
esac

### Let's recognize common machines as not being operating systems so
### that things like config.sub decstation-3100 work.  We also
### recognize some manufacturers as not being operating systems, so we
### can provide default operating systems below.
case $os in
	-sun*os*)
		# Prevent following clause from handling this invalid input.
		;;
	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
	-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)
		os=
		basic_machine=$1
		;;
	-sim | -cisco | -oki | -wec | -winbond)
		os=
		basic_machine=$1
		;;
	-scout)
		;;
	-wrs)
		os=-vxworks
		basic_machine=$1
		;;
	-chorusos*)
		os=-chorusos
		basic_machine=$1
		;;
 	-chorusrdb)
 		os=-chorusrdb
		basic_machine=$1
 		;;
	-hiux*)
		os=-hiuxwe2
		;;
	-sco6)
		os=-sco5v6
		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
		;;
	-sco5)
		os=-sco3.2v5
		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
		;;
	-sco4)
		os=-sco3.2v4
		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
		;;
	-sco3.2.[4-9]*)
		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
		;;
	-sco3.2v[4-9]*)
		# Don't forget version if it is 3.2v4 or newer.
		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
		;;
	-sco5v6*)
		# Don't forget version if it is 3.2v4 or newer.
		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
		;;
	-sco*)
		os=-sco3.2v2
		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
		;;
	-udk*)
		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
		;;
	-isc)
		os=-isc2.2
		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
		;;
	-clix*)
		basic_machine=clipper-intergraph
		;;
	-isc*)
		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
		;;
	-lynx*)
		os=-lynxos
		;;
	-ptx*)
		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
		;;
	-windowsnt*)
		os=`echo $os | sed -e 's/windowsnt/winnt/'`
		;;
	-psos*)
		os=-psos
		;;
	-mint | -mint[0-9]*)
		basic_machine=m68k-atari
		os=-mint
		;;
esac

# Decode aliases for certain CPU-COMPANY combinations.
case $basic_machine in
	# Recognize the basic CPU types without company name.
	# Some are omitted here because they have special meanings below.
	1750a | 580 \
	| a29k \
	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
	| am33_2.0 \
	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
	| bfin \
	| c4x | clipper \
	| d10v | d30v | dlx | dsp16xx \
	| fido | fr30 | frv \
	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
	| i370 | i860 | i960 | ia64 \
	| ip2k | iq2000 \
	| m32c | m32r | m32rle | m68000 | m68k | m88k \
	| maxq | mb | microblaze | mcore | mep | metag \
	| mips | mipsbe | mipseb | mipsel | mipsle \
	| mips16 \
	| mips64 | mips64el \
	| mips64octeon | mips64octeonel \
	| mips64orion | mips64orionel \
	| mips64r5900 | mips64r5900el \
	| mips64vr | mips64vrel \
	| mips64vr4100 | mips64vr4100el \
	| mips64vr4300 | mips64vr4300el \
	| mips64vr5000 | mips64vr5000el \
	| mips64vr5900 | mips64vr5900el \
	| mipsisa32 | mipsisa32el \
	| mipsisa32r2 | mipsisa32r2el \
	| mipsisa64 | mipsisa64el \
	| mipsisa64r2 | mipsisa64r2el \
	| mipsisa64sb1 | mipsisa64sb1el \
	| mipsisa64sr71k | mipsisa64sr71kel \
	| mipstx39 | mipstx39el \
	| mn10200 | mn10300 \
	| mt \
	| msp430 \
	| nios | nios2 \
	| ns16k | ns32k \
	| or32 \
	| pdp10 | pdp11 | pj | pjl \
	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
	| pyramid \
	| score \
	| sh | sh[1234] | sh[24]a | 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 \
	| spu | strongarm \
	| tahoe | thumb | tic4x | tic80 | tron \
	| v850 | v850e \
	| we32k \
	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
	| z8k | z80)
		basic_machine=$basic_machine-unknown
		;;
	m6811 | m68hc11 | m6812 | m68hc12)
		# Motorola 68HC11/12.
		basic_machine=$basic_machine-unknown
		os=-none
		;;
	m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
		;;
	ms1)
		basic_machine=mt-unknown
		;;

	# We use `pc' rather than `unknown'
	# because (1) that's what they normally are, and
	# (2) the word "unknown" tends to confuse beginning users.
	i*86 | x86_64)
	  basic_machine=$basic_machine-pc
	  ;;
	# Object if more than one company name word.
	*-*-*)
		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
		exit 1
		;;
	# Recognize the basic CPU types with company name.
	580-* \
	| a29k-* \
	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
	| avr-* | avr32-* \
	| bfin-* | bs2000-* \
	| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
	| clipper-* | craynv-* | cydra-* \
	| d10v-* | d30v-* | dlx-* \
	| elxsi-* \
	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
	| h8300-* | h8500-* \
	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
	| i*86-* | i860-* | i960-* | ia64-* \
	| ip2k-* | iq2000-* \
	| m32c-* | m32r-* | m32rle-* \
	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
	| mips16-* \
	| mips64-* | mips64el-* \
	| mips64octeon-* | mips64octeonel-* \
	| mips64orion-* | mips64orionel-* \
	| mips64r5900-* | mips64r5900el-* \
	| mips64vr-* | mips64vrel-* \
	| mips64vr4100-* | mips64vr4100el-* \
	| mips64vr4300-* | mips64vr4300el-* \
	| mips64vr5000-* | mips64vr5000el-* \
	| mips64vr5900-* | mips64vr5900el-* \
	| mipsisa32-* | mipsisa32el-* \
	| mipsisa32r2-* | mipsisa32r2el-* \
	| mipsisa64-* | mipsisa64el-* \
	| mipsisa64r2-* | mipsisa64r2el-* \
	| mipsisa64sb1-* | mipsisa64sb1el-* \
	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
	| mipstx39-* | mipstx39el-* \
	| mmix-* \
	| mt-* \
	| msp430-* \
	| nios-* | nios2-* \
	| none-* | np1-* | ns16k-* | ns32k-* \
	| orion-* \
	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
	| pyramid-* \
	| romp-* | rs6000-* \
	| sh-* | sh[1234]-* | sh[24]a-* | 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-* \
	| tron-* \
	| v850-* | v850e-* | vax-* \
	| we32k-* \
	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
	| xstormy16-* | xtensa*-* \
	| ymp-* \
	| z8k-* | z80-*)
		;;
	# Recognize the basic CPU types without company name, with glob match.
	xtensa*)
		basic_machine=$basic_machine-unknown
		;;
	# Recognize the various machine names and aliases which stand
	# for a CPU type and a company and sometimes even an OS.
	386bsd)
		basic_machine=i386-unknown
		os=-bsd
		;;
	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
		basic_machine=m68000-att
		;;
	3b*)
		basic_machine=we32k-att
		;;
	a29khif)
		basic_machine=a29k-amd
		os=-udi
		;;
    	abacus)
		basic_machine=abacus-unknown
		;;
	adobe68k)
		basic_machine=m68010-adobe
		os=-scout
		;;
	alliant | fx80)
		basic_machine=fx80-alliant
		;;
	altos | altos3068)
		basic_machine=m68k-altos
		;;
	am29k)
		basic_machine=a29k-none
		os=-bsd
		;;
	amd64)
		basic_machine=x86_64-pc
		;;
	amd64-*)
		basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
		;;
	amdahl)
		basic_machine=580-amdahl
		os=-sysv
		;;
	amiga | amiga-*)
		basic_machine=m68k-unknown
		;;
	amigaos | amigados)
		basic_machine=m68k-unknown
		os=-amigaos
		;;
	amigaunix | amix)
		basic_machine=m68k-unknown
		os=-sysv4
		;;
	apollo68)
		basic_machine=m68k-apollo
		os=-sysv
		;;
	apollo68bsd)
		basic_machine=m68k-apollo
		os=-bsd
		;;
	aux)
		basic_machine=m68k-apple
		os=-aux
		;;
	balance)
		basic_machine=ns32k-sequent
		os=-dynix
		;;
	blackfin)
		basic_machine=bfin-unknown
		os=-linux
		;;
	blackfin-*)
		basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
		os=-linux
		;;
	c90)
		basic_machine=c90-cray
		os=-unicos
		;;
        cegcc)
		basic_machine=arm-unknown
		os=-cegcc
		;;
	convex-c1)
		basic_machine=c1-convex
		os=-bsd
		;;
	convex-c2)
		basic_machine=c2-convex
		os=-bsd
		;;
	convex-c32)
		basic_machine=c32-convex
		os=-bsd
		;;
	convex-c34)
		basic_machine=c34-convex
		os=-bsd
		;;
	convex-c38)
		basic_machine=c38-convex
		os=-bsd
		;;
	cray | j90)
		basic_machine=j90-cray
		os=-unicos
		;;
	craynv)
		basic_machine=craynv-cray
		os=-unicosmp
		;;
	cr16)
		basic_machine=cr16-unknown
		os=-elf
		;;
	crds | unos)
		basic_machine=m68k-crds
		;;
	crisv32 | crisv32-* | etraxfs*)
		basic_machine=crisv32-axis
		;;
	cris | cris-* | etrax*)
		basic_machine=cris-axis
		;;
	crx)
		basic_machine=crx-unknown
		os=-elf
		;;
	da30 | da30-*)
		basic_machine=m68k-da30
		;;
	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
		basic_machine=mips-dec
		;;
	decsystem10* | dec10*)
		basic_machine=pdp10-dec
		os=-tops10
		;;
	decsystem20* | dec20*)
		basic_machine=pdp10-dec
		os=-tops20
		;;
	delta | 3300 | motorola-3300 | motorola-delta \
	      | 3300-motorola | delta-motorola)
		basic_machine=m68k-motorola
		;;
	delta88)
		basic_machine=m88k-motorola
		os=-sysv3
		;;
	dicos)
		basic_machine=i686-pc
		os=-dicos
		;;
	djgpp)
		basic_machine=i586-pc
		os=-msdosdjgpp
		;;
	dpx20 | dpx20-*)
		basic_machine=rs6000-bull
		os=-bosx
		;;
	dpx2* | dpx2*-bull)
		basic_machine=m68k-bull
		os=-sysv3
		;;
	ebmon29k)
		basic_machine=a29k-amd
		os=-ebmon
		;;
	elxsi)
		basic_machine=elxsi-elxsi
		os=-bsd
		;;
	encore | umax | mmax)
		basic_machine=ns32k-encore
		;;
	es1800 | OSE68k | ose68k | ose | OSE)
		basic_machine=m68k-ericsson
		os=-ose
		;;
	fx2800)
		basic_machine=i860-alliant
		;;
	genix)
		basic_machine=ns32k-ns
		;;
	gmicro)
		basic_machine=tron-gmicro
		os=-sysv
		;;
	go32)
		basic_machine=i386-pc
		os=-go32
		;;
	h3050r* | hiux*)
		basic_machine=hppa1.1-hitachi
		os=-hiuxwe2
		;;
	h8300hms)
		basic_machine=h8300-hitachi
		os=-hms
		;;
	h8300xray)
		basic_machine=h8300-hitachi
		os=-xray
		;;
	h8500hms)
		basic_machine=h8500-hitachi
		os=-hms
		;;
	harris)
		basic_machine=m88k-harris
		os=-sysv3
		;;
	hp300-*)
		basic_machine=m68k-hp
		;;
	hp300bsd)
		basic_machine=m68k-hp
		os=-bsd
		;;
	hp300hpux)
		basic_machine=m68k-hp
		os=-hpux
		;;
	hp3k9[0-9][0-9] | hp9[0-9][0-9])
		basic_machine=hppa1.0-hp
		;;
	hp9k2[0-9][0-9] | hp9k31[0-9])
		basic_machine=m68000-hp
		;;
	hp9k3[2-9][0-9])
		basic_machine=m68k-hp
		;;
	hp9k6[0-9][0-9] | hp6[0-9][0-9])
		basic_machine=hppa1.0-hp
		;;
	hp9k7[0-79][0-9] | hp7[0-79][0-9])
		basic_machine=hppa1.1-hp
		;;
	hp9k78[0-9] | hp78[0-9])
		# FIXME: really hppa2.0-hp
		basic_machine=hppa1.1-hp
		;;
	hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
		# FIXME: really hppa2.0-hp
		basic_machine=hppa1.1-hp
		;;
	hp9k8[0-9][13679] | hp8[0-9][13679])
		basic_machine=hppa1.1-hp
		;;
	hp9k8[0-9][0-9] | hp8[0-9][0-9])
		basic_machine=hppa1.0-hp
		;;
	hppa-next)
		os=-nextstep3
		;;
	hppaosf)
		basic_machine=hppa1.1-hp
		os=-osf
		;;
	hppro)
		basic_machine=hppa1.1-hp
		os=-proelf
		;;
	i370-ibm* | ibm*)
		basic_machine=i370-ibm
		;;
# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
	i*86v32)
		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
		os=-sysv32
		;;
	i*86v4*)
		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
		os=-sysv4
		;;
	i*86v)
		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
		os=-sysv
		;;
	i*86sol2)
		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
		os=-solaris2
		;;
	i386mach)
		basic_machine=i386-mach
		os=-mach
		;;
	i386-vsta | vsta)
		basic_machine=i386-unknown
		os=-vsta
		;;
	iris | iris4d)
		basic_machine=mips-sgi
		case $os in
		    -irix*)
			;;
		    *)
			os=-irix4
			;;
		esac
		;;
	isi68 | isi)
		basic_machine=m68k-isi
		os=-sysv
		;;
	m68knommu)
		basic_machine=m68k-unknown
		os=-linux
		;;
	m68knommu-*)
		basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
		os=-linux
		;;
	m88k-omron*)
		basic_machine=m88k-omron
		;;
	magnum | m3230)
		basic_machine=mips-mips
		os=-sysv
		;;
	merlin)
		basic_machine=ns32k-utek
		os=-sysv
		;;
	mingw32)
		basic_machine=i386-pc
		os=-mingw32
		;;
	mingw32ce)
		basic_machine=arm-unknown
		os=-mingw32ce
		;;
	miniframe)
		basic_machine=m68000-convergent
		;;
	*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
		basic_machine=m68k-atari
		os=-mint
		;;
	mips3*-*)
		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
		;;
	mips3*)
		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
		;;
	monitor)
		basic_machine=m68k-rom68k
		os=-coff
		;;
	morphos)
		basic_machine=powerpc-unknown
		os=-morphos
		;;
	msdos)
		basic_machine=i386-pc
		os=-msdos
		;;
	ms1-*)
		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
		;;
	mvs)
		basic_machine=i370-ibm
		os=-mvs
		;;
	ncr3000)
		basic_machine=i486-ncr
		os=-sysv4
		;;
	netbsd386)
		basic_machine=i386-unknown
		os=-netbsd
		;;
	netwinder)
		basic_machine=armv4l-rebel
		os=-linux
		;;
	news | news700 | news800 | news900)
		basic_machine=m68k-sony
		os=-newsos
		;;
	news1000)
		basic_machine=m68030-sony
		os=-newsos
		;;
	news-3600 | risc-news)
		basic_machine=mips-sony
		os=-newsos
		;;
	necv70)
		basic_machine=v70-nec
		os=-sysv
		;;
	next | m*-next )
		basic_machine=m68k-next
		case $os in
		    -nextstep* )
			;;
		    -ns2*)
		      os=-nextstep2
			;;
		    *)
		      os=-nextstep3
			;;
		esac
		;;
	nh3000)
		basic_machine=m68k-harris
		os=-cxux
		;;
	nh[45]000)
		basic_machine=m88k-harris
		os=-cxux
		;;
	nindy960)
		basic_machine=i960-intel
		os=-nindy
		;;
	mon960)
		basic_machine=i960-intel
		os=-mon960
		;;
	nonstopux)
		basic_machine=mips-compaq
		os=-nonstopux
		;;
	np1)
		basic_machine=np1-gould
		;;
	nsr-tandem)
		basic_machine=nsr-tandem
		;;
	op50n-* | op60c-*)
		basic_machine=hppa1.1-oki
		os=-proelf
		;;
	openrisc | openrisc-*)
		basic_machine=or32-unknown
		;;
	os400)
		basic_machine=powerpc-ibm
		os=-os400
		;;
	OSE68000 | ose68000)
		basic_machine=m68000-ericsson
		os=-ose
		;;
	os68k)
		basic_machine=m68k-none
		os=-os68k
		;;
	pa-hitachi)
		basic_machine=hppa1.1-hitachi
		os=-hiuxwe2
		;;
	paragon)
		basic_machine=i860-intel
		os=-osf
		;;
	parisc)
		basic_machine=hppa-unknown
		os=-linux
		;;
	parisc-*)
		basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
		os=-linux
		;;
	pbd)
		basic_machine=sparc-tti
		;;
	pbb)
		basic_machine=m68k-tti
		;;
	pc532 | pc532-*)
		basic_machine=ns32k-pc532
		;;
	pc98)
		basic_machine=i386-pc
		;;
	pc98-*)
		basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
		;;
	pentium | p5 | k5 | k6 | nexgen | viac3)
		basic_machine=i586-pc
		;;
	pentiumpro | p6 | 6x86 | athlon | athlon_*)
		basic_machine=i686-pc
		;;
	pentiumii | pentium2 | pentiumiii | pentium3)
		basic_machine=i686-pc
		;;
	pentium4)
		basic_machine=i786-pc
		;;
	pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
		;;
	pentiumpro-* | p6-* | 6x86-* | athlon-*)
		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
		;;
	pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
		;;
	pentium4-*)
		basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
		;;
	pn)
		basic_machine=pn-gould
		;;
	power)	basic_machine=power-ibm
		;;
	ppc)	basic_machine=powerpc-unknown
		;;
	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
		;;
	ppcle | powerpclittle | ppc-le | powerpc-little)
		basic_machine=powerpcle-unknown
		;;
	ppcle-* | powerpclittle-*)
		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
		;;
	ppc64)	basic_machine=powerpc64-unknown
		;;
	ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
		;;
	ppc64le | powerpc64little | ppc64-le | powerpc64-little)
		basic_machine=powerpc64le-unknown
		;;
	ppc64le-* | powerpc64little-*)
		basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
		;;
	ps2)
		basic_machine=i386-ibm
		;;
	pw32)
		basic_machine=i586-unknown
		os=-pw32
		;;
	rdos)
		basic_machine=i386-pc
		os=-rdos
		;;
	rom68k)
		basic_machine=m68k-rom68k
		os=-coff
		;;
	rm[46]00)
		basic_machine=mips-siemens
		;;
	rtpc | rtpc-*)
		basic_machine=romp-ibm
		;;
	s390 | s390-*)
		basic_machine=s390-ibm
		;;
	s390x | s390x-*)
		basic_machine=s390x-ibm
		;;
	sa29200)
		basic_machine=a29k-amd
		os=-udi
		;;
	sb1)
		basic_machine=mipsisa64sb1-unknown
		;;
	sb1el)
		basic_machine=mipsisa64sb1el-unknown
		;;
	sde)
		basic_machine=mipsisa32-sde
		os=-elf
		;;
	sei)
		basic_machine=mips-sei
		os=-seiux
		;;
	sequent)
		basic_machine=i386-sequent
		;;
	sh)
		basic_machine=sh-hitachi
		os=-hms
		;;
	sh5el)
		basic_machine=sh5le-unknown
		;;
	sh64)
		basic_machine=sh64-unknown
		;;
	sparclite-wrs | simso-wrs)
		basic_machine=sparclite-wrs
		os=-vxworks
		;;
	sps7)
		basic_machine=m68k-bull
		os=-sysv2
		;;
	spur)
		basic_machine=spur-unknown
		;;
	st2000)
		basic_machine=m68k-tandem
		;;
	stratus)
		basic_machine=i860-stratus
		os=-sysv4
		;;
	sun2)
		basic_machine=m68000-sun
		;;
	sun2os3)
		basic_machine=m68000-sun
		os=-sunos3
		;;
	sun2os4)
		basic_machine=m68000-sun
		os=-sunos4
		;;
	sun3os3)
		basic_machine=m68k-sun
		os=-sunos3
		;;
	sun3os4)
		basic_machine=m68k-sun
		os=-sunos4
		;;
	sun4os3)
		basic_machine=sparc-sun
		os=-sunos3
		;;
	sun4os4)
		basic_machine=sparc-sun
		os=-sunos4
		;;
	sun4sol2)
		basic_machine=sparc-sun
		os=-solaris2
		;;
	sun3 | sun3-*)
		basic_machine=m68k-sun
		;;
	sun4)
		basic_machine=sparc-sun
		;;
	sun386 | sun386i | roadrunner)
		basic_machine=i386-sun
		;;
	sv1)
		basic_machine=sv1-cray
		os=-unicos
		;;
	symmetry)
		basic_machine=i386-sequent
		os=-dynix
		;;
	t3e)
		basic_machine=alphaev5-cray
		os=-unicos
		;;
	t90)
		basic_machine=t90-cray
		os=-unicos
		;;
	tic54x | c54x*)
		basic_machine=tic54x-unknown
		os=-coff
		;;
	tic55x | c55x*)
		basic_machine=tic55x-unknown
		os=-coff
		;;
	tic6x | c6x*)
		basic_machine=tic6x-unknown
		os=-coff
		;;
	tile*)
		basic_machine=tile-unknown
		os=-linux-gnu
		;;
	tx39)
		basic_machine=mipstx39-unknown
		;;
	tx39el)
		basic_machine=mipstx39el-unknown
		;;
	toad1)
		basic_machine=pdp10-xkl
		os=-tops20
		;;
	tower | tower-32)
		basic_machine=m68k-ncr
		;;
	tpf)
		basic_machine=s390x-ibm
		os=-tpf
		;;
	udi29k)
		basic_machine=a29k-amd
		os=-udi
		;;
	ultra3)
		basic_machine=a29k-nyu
		os=-sym1
		;;
	v810 | necv810)
		basic_machine=v810-nec
		os=-none
		;;
	vaxv)
		basic_machine=vax-dec
		os=-sysv
		;;
	vms)
		basic_machine=vax-dec
		os=-vms
		;;
	vpp*|vx|vx-*)
		basic_machine=f301-fujitsu
		;;
	vxworks960)
		basic_machine=i960-wrs
		os=-vxworks
		;;
	vxworks68)
		basic_machine=m68k-wrs
		os=-vxworks
		;;
	vxworks29k)
		basic_machine=a29k-wrs
		os=-vxworks
		;;
	w65*)
		basic_machine=w65-wdc
		os=-none
		;;
	w89k-*)
		basic_machine=hppa1.1-winbond
		os=-proelf
		;;
	xbox)
		basic_machine=i686-pc
		os=-mingw32
		;;
	xps | xps100)
		basic_machine=xps100-honeywell
		;;
	ymp)
		basic_machine=ymp-cray
		os=-unicos
		;;
	z8k-*-coff)
		basic_machine=z8k-unknown
		os=-sim
		;;
	z80-*-coff)
		basic_machine=z80-unknown
		os=-sim
		;;
	none)
		basic_machine=none-none
		os=-none
		;;

# Here we handle the default manufacturer of certain CPU types.  It is in
# some cases the only manufacturer, in others, it is the most popular.
	w89k)
		basic_machine=hppa1.1-winbond
		;;
	op50n)
		basic_machine=hppa1.1-oki
		;;
	op60c)
		basic_machine=hppa1.1-oki
		;;
	romp)
		basic_machine=romp-ibm
		;;
	mmix)
		basic_machine=mmix-knuth
		;;
	rs6000)
		basic_machine=rs6000-ibm
		;;
	vax)
		basic_machine=vax-dec
		;;
	pdp10)
		# there are many clones, so DEC is not a safe bet
		basic_machine=pdp10-unknown
		;;
	pdp11)
		basic_machine=pdp11-dec
		;;
	we32k)
		basic_machine=we32k-att
		;;
	sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
		basic_machine=sh-unknown
		;;
	sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
		basic_machine=sparc-sun
		;;
	cydra)
		basic_machine=cydra-cydrome
		;;
	orion)
		basic_machine=orion-highlevel
		;;
	orion105)
		basic_machine=clipper-highlevel
		;;
	mac | mpw | mac-mpw)
		basic_machine=m68k-apple
		;;
	pmac | pmac-mpw)
		basic_machine=powerpc-apple
		;;
	*-unknown)
		# Make sure to match an already-canonicalized machine name.
		;;
	*)
		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
		exit 1
		;;
esac

# Here we canonicalize certain aliases for manufacturers.
case $basic_machine in
	*-digital*)
		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
		;;
	*-commodore*)
		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
		;;
	*)
		;;
esac

# Decode manufacturer-specific aliases for certain operating systems.

if [ x"$os" != x"" ]
then
case $os in
        # First match some system type aliases
        # that might get confused with valid system types.
	# -solaris* is a basic system type, with this one exception.
	-solaris1 | -solaris1.*)
		os=`echo $os | sed -e 's|solaris1|sunos4|'`
		;;
	-solaris)
		os=-solaris2
		;;
	-svr4*)
		os=-sysv4
		;;
	-unixware*)
		os=-sysv4.2uw
		;;
	-gnu/linux*)
		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
		;;
	# First accept the basic system types.
	# The portable systems comes first.
	# 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* \
	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
	      | -aos* \
	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
	      | -openbsd* | -solidbsd* \
	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
	      | -chorusos* | -chorusrdb* | -cegcc* \
	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
	      | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
	      | -uxpv* | -beos* | -mpeix* | -udk* \
	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
	# Remember, each alternative MUST END IN *, to match a version number.
		;;
	-qnx*)
		case $basic_machine in
		    x86-* | i*86-*)
			;;
		    *)
			os=-nto$os
			;;
		esac
		;;
	-nto-qnx*)
		;;
	-nto*)
		os=`echo $os | sed -e 's|nto|nto-qnx|'`
		;;
	-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
	      | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
	      | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
		;;
	-mac*)
		os=`echo $os | sed -e 's|mac|macos|'`
		;;
	-linux-dietlibc)
		os=-linux-dietlibc
		;;
	-linux*)
		os=`echo $os | sed -e 's|linux|linux-gnu|'`
		;;
	-sunos5*)
		os=`echo $os | sed -e 's|sunos5|solaris2|'`
		;;
	-sunos6*)
		os=`echo $os | sed -e 's|sunos6|solaris3|'`
		;;
	-opened*)
		os=-openedition
		;;
        -os400*)
		os=-os400
		;;
	-wince*)
		os=-wince
		;;
	-osfrose*)
		os=-osfrose
		;;
	-osf*)
		os=-osf
		;;
	-utek*)
		os=-bsd
		;;
	-dynix*)
		os=-bsd
		;;
	-acis*)
		os=-aos
		;;
	-atheos*)
		os=-atheos
		;;
	-syllable*)
		os=-syllable
		;;
	-386bsd)
		os=-bsd
		;;
	-ctix* | -uts*)
		os=-sysv
		;;
	-nova*)
		os=-rtmk-nova
		;;
	-ns2 )
		os=-nextstep2
		;;
	-nsk*)
		os=-nsk
		;;
	# Preserve the version number of sinix5.
	-sinix5.*)
		os=`echo $os | sed -e 's|sinix|sysv|'`
		;;
	-sinix*)
		os=-sysv4
		;;
        -tpf*)
		os=-tpf
		;;
	-triton*)
		os=-sysv3
		;;
	-oss*)
		os=-sysv3
		;;
	-svr4)
		os=-sysv4
		;;
	-svr3)
		os=-sysv3
		;;
	-sysvr4)
		os=-sysv4
		;;
	# This must come after -sysvr4.
	-sysv*)
		;;
	-ose*)
		os=-ose
		;;
	-es1800*)
		os=-ose
		;;
	-xenix)
		os=-xenix
		;;
	-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
		os=-mint
		;;
	-aros*)
		os=-aros
		;;
	-kaos*)
		os=-kaos
		;;
	-zvmoe)
		os=-zvmoe
		;;
	-dicos*)
		os=-dicos
		;;
	-none)
		;;
	*)
		# Get rid of the `-' at the beginning of $os.
		os=`echo $os | sed 's/[^-]*-//'`
		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
		exit 1
		;;
esac
else

# Here we handle the default operating systems that come with various machines.
# The value should be what the vendor currently ships out the door with their
# machine or put another way, the most popular os provided with the machine.

# Note that if you're going to try to match "-MANUFACTURER" here (say,
# "-sun"), then you have to tell the case statement up towards the top
# that MANUFACTURER isn't an operating system.  Otherwise, code above
# will signal an error saying that MANUFACTURER isn't an operating
# system, and we'll never get to this point.

case $basic_machine in
        score-*)
		os=-elf
		;;
        spu-*)
		os=-elf
		;;
	*-acorn)
		os=-riscix1.2
		;;
	arm*-rebel)
		os=-linux
		;;
	arm*-semi)
		os=-aout
		;;
        c4x-* | tic4x-*)
        	os=-coff
		;;
	# This must come before the *-dec entry.
	pdp10-*)
		os=-tops20
		;;
	pdp11-*)
		os=-none
		;;
	*-dec | vax-*)
		os=-ultrix4.2
		;;
	m68*-apollo)
		os=-domain
		;;
	i386-sun)
		os=-sunos4.0.2
		;;
	m68000-sun)
		os=-sunos3
		# This also exists in the configure program, but was not the
		# default.
		# os=-sunos4
		;;
	m68*-cisco)
		os=-aout
		;;
        mep-*)
		os=-elf
		;;
	mips*-cisco)
		os=-elf
		;;
	mips*-*)
		os=-elf
		;;
	or32-*)
		os=-coff
		;;
	*-tti)	# must be before sparc entry or we get the wrong os.
		os=-sysv3
		;;
	sparc-* | *-sun)
		os=-sunos4.1.1
		;;
	*-be)
		os=-beos
		;;
	*-haiku)
		os=-haiku
		;;
	*-ibm)
		os=-aix
		;;
    	*-knuth)
		os=-mmixware
		;;
	*-wec)
		os=-proelf
		;;
	*-winbond)
		os=-proelf
		;;
	*-oki)
		os=-proelf
		;;
	*-hp)
		os=-hpux
		;;
	*-hitachi)
		os=-hiux
		;;
	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
		os=-sysv
		;;
	*-cbm)
		os=-amigaos
		;;
	*-dg)
		os=-dgux
		;;
	*-dolphin)
		os=-sysv3
		;;
	m68k-ccur)
		os=-rtu
		;;
	m88k-omron*)
		os=-luna
		;;
	*-next )
		os=-nextstep
		;;
	*-sequent)
		os=-ptx
		;;
	*-crds)
		os=-unos
		;;
	*-ns)
		os=-genix
		;;
	i370-*)
		os=-mvs
		;;
	*-next)
		os=-nextstep3
		;;
	*-gould)
		os=-sysv
		;;
	*-highlevel)
		os=-bsd
		;;
	*-encore)
		os=-bsd
		;;
	*-sgi)
		os=-irix
		;;
	*-siemens)
		os=-sysv4
		;;
	*-masscomp)
		os=-rtu
		;;
	f30[01]-fujitsu | f700-fujitsu)
		os=-uxpv
		;;
	*-rom68k)
		os=-coff
		;;
	*-*bug)
		os=-coff
		;;
	*-apple)
		os=-macos
		;;
	*-atari*)
		os=-mint
		;;
	*)
		os=-none
		;;
esac
fi

# Here we handle the case where we know the os, and the CPU type, but not the
# manufacturer.  We pick the logical manufacturer.
vendor=unknown
case $basic_machine in
	*-unknown)
		case $os in
			-riscix*)
				vendor=acorn
				;;
			-sunos*)
				vendor=sun
				;;
			-aix*)
				vendor=ibm
				;;
			-beos*)
				vendor=be
				;;
			-hpux*)
				vendor=hp
				;;
			-mpeix*)
				vendor=hp
				;;
			-hiux*)
				vendor=hitachi
				;;
			-unos*)
				vendor=crds
				;;
			-dgux*)
				vendor=dg
				;;
			-luna*)
				vendor=omron
				;;
			-genix*)
				vendor=ns
				;;
			-mvs* | -opened*)
				vendor=ibm
				;;
			-os400*)
				vendor=ibm
				;;
			-ptx*)
				vendor=sequent
				;;
			-tpf*)
				vendor=ibm
				;;
			-vxsim* | -vxworks* | -windiss*)
				vendor=wrs
				;;
			-aux*)
				vendor=apple
				;;
			-hms*)
				vendor=hitachi
				;;
			-mpw* | -macos*)
				vendor=apple
				;;
			-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
				vendor=atari
				;;
			-vos*)
				vendor=stratus
				;;
		esac
		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
		;;
esac

echo $basic_machine$os
exit

# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "timestamp='"
# time-stamp-format: "%:y-%02m-%02d"
# time-stamp-end: "'"
# End:
EOF-config.sub
echo - 'install-sh'
cat << 'EOF-install-sh' > 'install-sh'
#!/bin/sh
# install - install a program, script, or datafile

scriptversion=2005-05-14.22

# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
# following copyright and license.
#
# Copyright (C) 1994 X Consortium
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to
# deal in the Software without restriction, including without limitation the
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
# sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#
# Except as contained in this notice, the name of the X Consortium shall not
# be used in advertising or otherwise to promote the sale, use or other deal-
# ings in this Software without prior written authorization from the X Consor-
# tium.
#
#
# FSF changes to this file are in the public domain.
#
# Calling this script install-sh is preferred over install.sh, to prevent
# `make' implicit rules from creating a file called install from it
# when there is no Makefile.
#
# This script is compatible with the BSD install script, but was written
# from scratch.  It can only install one file at a time, a restriction
# shared with many OS's install programs.

# set DOITPROG to echo to test this script

# Don't use :- since 4.3BSD and earlier shells don't like it.
doit="${DOITPROG-}"

# put in absolute paths if you don't have them in your path; or use env. vars.

mvprog="${MVPROG-mv}"
cpprog="${CPPROG-cp}"
chmodprog="${CHMODPROG-chmod}"
chownprog="${CHOWNPROG-chown}"
chgrpprog="${CHGRPPROG-chgrp}"
stripprog="${STRIPPROG-strip}"
rmprog="${RMPROG-rm}"
mkdirprog="${MKDIRPROG-mkdir}"

chmodcmd="$chmodprog 0755"
chowncmd=
chgrpcmd=
stripcmd=
rmcmd="$rmprog -f"
mvcmd="$mvprog"
src=
dst=
dir_arg=
dstarg=
no_target_directory=

usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
   or: $0 [OPTION]... SRCFILES... DIRECTORY
   or: $0 [OPTION]... -t DIRECTORY SRCFILES...
   or: $0 [OPTION]... -d DIRECTORIES...

In the 1st form, copy SRCFILE to DSTFILE.
In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
In the 4th, create DIRECTORIES.

Options:
-c         (ignored)
-d         create directories instead of installing files.
-g GROUP   $chgrpprog installed files to GROUP.
-m MODE    $chmodprog installed files to MODE.
-o USER    $chownprog installed files to USER.
-s         $stripprog installed files.
-t DIRECTORY  install into DIRECTORY.
-T         report an error if DSTFILE is a directory.
--help     display this help and exit.
--version  display version info and exit.

Environment variables override the default commands:
  CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG
"

while test -n "$1"; do
  case $1 in
    -c) shift
        continue;;

    -d) dir_arg=true
        shift
        continue;;

    -g) chgrpcmd="$chgrpprog $2"
        shift
        shift
        continue;;

    --help) echo "$usage"; exit $?;;

    -m) chmodcmd="$chmodprog $2"
        shift
        shift
        continue;;

    -o) chowncmd="$chownprog $2"
        shift
        shift
        continue;;

    -s) stripcmd=$stripprog
        shift
        continue;;

    -t) dstarg=$2
	shift
	shift
	continue;;

    -T) no_target_directory=true
	shift
	continue;;

    --version) echo "$0 $scriptversion"; exit $?;;

    *)  # When -d is used, all remaining arguments are directories to create.
	# When -t is used, the destination is already specified.
	test -n "$dir_arg$dstarg" && break
        # Otherwise, the last argument is the destination.  Remove it from $@.
	for arg
	do
          if test -n "$dstarg"; then
	    # $@ is not empty: it contains at least $arg.
	    set fnord "$@" "$dstarg"
	    shift # fnord
	  fi
	  shift # arg
	  dstarg=$arg
	done
	break;;
  esac
done

if test -z "$1"; then
  if test -z "$dir_arg"; then
    echo "$0: no input file specified." >&2
    exit 1
  fi
  # It's OK to call `install-sh -d' without argument.
  # This can happen when creating conditional directories.
  exit 0
fi

for src
do
  # Protect names starting with `-'.
  case $src in
    -*) src=./$src ;;
  esac

  if test -n "$dir_arg"; then
    dst=$src
    src=

    if test -d "$dst"; then
      mkdircmd=:
      chmodcmd=
    else
      mkdircmd=$mkdirprog
    fi
  else
    # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
    # might cause directories to be created, which would be especially bad
    # if $src (and thus $dsttmp) contains '*'.
    if test ! -f "$src" && test ! -d "$src"; then
      echo "$0: $src does not exist." >&2
      exit 1
    fi

    if test -z "$dstarg"; then
      echo "$0: no destination specified." >&2
      exit 1
    fi

    dst=$dstarg
    # Protect names starting with `-'.
    case $dst in
      -*) dst=./$dst ;;
    esac

    # If destination is a directory, append the input filename; won't work
    # if double slashes aren't ignored.
    if test -d "$dst"; then
      if test -n "$no_target_directory"; then
	echo "$0: $dstarg: Is a directory" >&2
	exit 1
      fi
      dst=$dst/`basename "$src"`
    fi
  fi

  # This sed command emulates the dirname command.
  dstdir=`echo "$dst" | sed -e 's,/*$,,;s,[^/]*$,,;s,/*$,,;s,^$,.,'`

  # Make sure that the destination directory exists.

  # Skip lots of stat calls in the usual case.
  if test ! -d "$dstdir"; then
    defaultIFS='
	 '
    IFS="${IFS-$defaultIFS}"

    oIFS=$IFS
    # Some sh's can't handle IFS=/ for some reason.
    IFS='%'
    set x `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
    shift
    IFS=$oIFS

    pathcomp=

    while test $# -ne 0 ; do
      pathcomp=$pathcomp$1
      shift
      if test ! -d "$pathcomp"; then
        $mkdirprog "$pathcomp"
	# mkdir can fail with a `File exist' error in case several
	# install-sh are creating the directory concurrently.  This
	# is OK.
	test -d "$pathcomp" || exit
      fi
      pathcomp=$pathcomp/
    done
  fi

  if test -n "$dir_arg"; then
    $doit $mkdircmd "$dst" \
      && { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \
      && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \
      && { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \
      && { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; }

  else
    dstfile=`basename "$dst"`

    # Make a couple of temp file names in the proper directory.
    dsttmp=$dstdir/_inst.$$_
    rmtmp=$dstdir/_rm.$$_

    # Trap to clean up those temp files at exit.
    trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
    trap '(exit $?); exit' 1 2 13 15

    # Copy the file name to the temp name.
    $doit $cpprog "$src" "$dsttmp" &&

    # and set any options; do chmod last to preserve setuid bits.
    #
    # If any of these fail, we abort the whole thing.  If we want to
    # ignore errors from any of these, just make sure not to ignore
    # errors from the above "$doit $cpprog $src $dsttmp" command.
    #
    { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
      && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
      && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
      && { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } &&

    # Now rename the file to the real destination.
    { $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \
      || {
	   # The rename failed, perhaps because mv can't rename something else
	   # to itself, or perhaps because mv is so ancient that it does not
	   # support -f.

	   # Now remove or move aside any old file at destination location.
	   # We try this two ways since rm can't unlink itself on some
	   # systems and the destination file might be busy for other
	   # reasons.  In this case, the final cleanup might fail but the new
	   # file should still install successfully.
	   {
	     if test -f "$dstdir/$dstfile"; then
	       $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \
	       || $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \
	       || {
		 echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
		 (exit 1); exit 1
	       }
	     else
	       :
	     fi
	   } &&

	   # Now rename the file to the real destination.
	   $doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
	 }
    }
  fi || { (exit 1); exit 1; }
done

# The final little trick to "correctly" pass the exit status to the exit trap.
{
  (exit 0); exit 0
}

# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-end: "$"
# End:
EOF-install-sh
echo - 'ltmain.sh'
cat << 'EOF-ltmain.sh' > 'ltmain.sh'
# Generated from ltmain.m4sh.

# ltmain.sh (GNU libtool) 2.2.6
# 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.
# This is free software; see the source for copying conditions.  There is NO
# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

# GNU Libtool is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# As a special exception to the GNU General Public License,
# if you distribute this file as part of a program or library that
# is built using GNU Libtool, you may include this file under the
# same distribution terms that you use for the rest of that program.
#
# GNU Libtool is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GNU Libtool; see the file COPYING.  If not, a copy
# can be downloaded from http://www.gnu.org/licenses/gpl.html,
# or obtained by writing to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

# Usage: $progname [OPTION]... [MODE-ARG]...
#
# 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
#
# 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
#
# MODE-ARGS vary depending on the MODE.
# 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
#
# Report bugs to <bug-libtool@gnu.org>.

PROGRAM=ltmain.sh
PACKAGE=libtool
VERSION=2.2.6
TIMESTAMP=""
package_revision=1.3012

# Be Bourne compatible
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
  emulate sh
  NULLCMD=:
  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
  # is contrary to our usage.  Disable this feature.
  alias -g '${1+"$@"}'='"$@"'
  setopt NO_GLOB_SUBST
else
  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
fi
BIN_SH=xpg4; export BIN_SH # for Tru64
DUALCASE=1; export DUALCASE # for MKS sh

# 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
do
  eval "if test \"\${$lt_var+set}\" = set; then
          save_$lt_var=\$$lt_var
          $lt_var=C
	  export $lt_var
	  lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\"
	  lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\"
	fi"
done

$lt_unset CDPATH





: ${CP="cp -f"}
: ${ECHO="echo"}
: ${EGREP="/usr/bin/grep -E"}
: ${FGREP="/usr/bin/grep -F"}
: ${GREP="/usr/bin/grep"}
: ${LN_S="ln -s"}
: ${MAKE="make"}
: ${MKDIR="mkdir"}
: ${MV="mv -f"}
: ${RM="rm -f"}
: ${SED="/opt/local/bin/gsed"}
: ${SHELL="${CONFIG_SHELL-/bin/sh}"}
: ${Xsed="$SED -e 1s/^X//"}

# Global variables:
EXIT_SUCCESS=0
EXIT_FAILURE=1
EXIT_MISMATCH=63  # $? = 63 is used to indicate version mismatch to missing.
EXIT_SKIP=77	  # $? = 77 is used to indicate a skipped test to automake.

exit_status=$EXIT_SUCCESS

# Make sure IFS has a sensible default
lt_nl='
'
IFS=" 	$lt_nl"

dirname="s,/[^/]*$,,"
basename="s,^.*/,,"

# func_dirname_and_basename file append nondir_replacement
# perform func_basename and func_dirname in a single function
# call:
#   dirname:  Compute the dirname of FILE.  If nonempty,
#             add APPEND to the result, otherwise set result
#             to NONDIR_REPLACEMENT.
#             value returned in "$func_dirname_result"
#   basename: Compute filename of FILE.
#             value retuned in "$func_basename_result"
# Implementation must be kept synchronized with func_dirname
# and func_basename. For efficiency, we do not delegate to
# those functions but instead duplicate the functionality here.
func_dirname_and_basename ()
{
  # Extract subdirectory from the argument.
  func_dirname_result=`$ECHO "X${1}" | $Xsed -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"`
}

# 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"

# 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
  [\\/]*|[A-Za-z]:\\*) ;;
  *[\\/]*)
     progdir=$func_dirname_result
     progdir=`cd "$progdir" && pwd`
     progpath="$progdir/$progname"
     ;;
  *)
     save_IFS="$IFS"
     IFS=:
     for progdir in $PATH; do
       IFS="$save_IFS"
       test -x "$progdir/$progname" && break
     done
     IFS="$save_IFS"
     test -n "$progdir" || progdir=`pwd`
     progpath="$progdir/$progname"
     ;;
esac

# 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='s/\([`"$\\]\)/\\\1/g'

# Same as above, but do not quote variable references.
double_quote_subst='s/\(["`\\]\)/\\\1/g'

# Re-`\' parameter expansions in output of double_quote_subst that were
# `\'-ed in input to the same.  If an odd number of `\' preceded a '$'
# in input to double_quote_subst, that '$' was protected from expansion.
# Since each input `\' is now two `\'s, look for any number of runs of
# four `\'s followed by two `\'s and then a '$'.  `\' that '$'.
bs='\\'
bs2='\\\\'
bs4='\\\\\\\\'
dollar='\$'
sed_double_backslash="\
  s/$bs4/&\\
/g
  s/^$bs2$dollar/$bs&/
  s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g
  s/\n//g"

# Standard options:
opt_dry_run=false
opt_help=false
opt_quiet=false
opt_verbose=false
opt_warning=:

# func_echo arg...
# Echo program name prefixed message, along with the current mode
# name if it has been set yet.
func_echo ()
{
    $ECHO "$progname${mode+: }$mode: $*"
}

# func_verbose arg...
# Echo program name prefixed message in verbose mode only.
func_verbose ()
{
    $opt_verbose && func_echo ${1+"$@"}

    # A bug in bash halts the script if the last line of a function
    # fails when set -e is in force, so we need another command to
    # work around that:
    :
}

# func_error arg...
# Echo program name prefixed message to standard error.
func_error ()
{
    $ECHO "$progname${mode+: }$mode: "${1+"$@"} 1>&2
}

# func_warning arg...
# Echo program name prefixed warning message to standard error.
func_warning ()
{
    $opt_warning && $ECHO "$progname${mode+: }$mode: warning: "${1+"$@"} 1>&2

    # bash bug again:
    :
}

# func_fatal_error arg...
# Echo program name prefixed message to standard error, and exit.
func_fatal_error ()
{
    func_error ${1+"$@"}
    exit $EXIT_FAILURE
}

# func_fatal_help arg...
# Echo program name prefixed message to standard error, followed by
# a help hint, and exit.
func_fatal_help ()
{
    func_error ${1+"$@"}
    func_fatal_error "$help"
}
help="Try \`$progname --help' for more information."  ## default


# func_grep expression filename
# Check whether EXPRESSION matches any line of FILENAME, without output.
func_grep ()
{
    $GREP "$1" "$2" >/dev/null 2>&1
}


# func_mkdir_p directory-path
# Make sure the entire path to DIRECTORY-PATH is available.
func_mkdir_p ()
{
    my_directory_path="$1"
    my_dir_list=

    if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then

      # Protect directory names starting with `-'
      case $my_directory_path in
        -*) my_directory_path="./$my_directory_path" ;;
      esac

      # While some portion of DIR does not yet exist...
      while test ! -d "$my_directory_path"; do
        # ...make a list in topmost first order.  Use a colon delimited
	# list incase some portion of path contains whitespace.
        my_dir_list="$my_directory_path:$my_dir_list"

        # If the last portion added has no slash in it, the list is done
        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"`
      done
      my_dir_list=`$ECHO "X$my_dir_list" | $Xsed -e 's,:*$,,'`

      save_mkdir_p_IFS="$IFS"; IFS=':'
      for my_dir in $my_dir_list; do
	IFS="$save_mkdir_p_IFS"
        # mkdir can fail with a `File exist' error if two processes
        # try to create one of the directories concurrently.  Don't
        # stop in that case!
        $MKDIR "$my_dir" 2>/dev/null || :
      done
      IFS="$save_mkdir_p_IFS"

      # Bail out if we (or some other process) failed to create a directory.
      test -d "$my_directory_path" || \
        func_fatal_error "Failed to create \`$1'"
    fi
}


# func_mktempdir [string]
# Make a temporary directory that won't clash with other running
# libtool processes, and avoids race conditions if possible.  If
# given, STRING is the basename for that directory.
func_mktempdir ()
{
    my_template="${TMPDIR-/tmp}/${1-$progname}"

    if test "$opt_dry_run" = ":"; then
      # Return a directory name, but don't create it in dry-run mode
      my_tmpdir="${my_template}-$$"
    else

      # If mktemp works, use that first and foremost
      my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`

      if test ! -d "$my_tmpdir"; then
        # Failing that, at least try and use $RANDOM to avoid a race
        my_tmpdir="${my_template}-${RANDOM-0}$$"

        save_mktempdir_umask=`umask`
        umask 0077
        $MKDIR "$my_tmpdir"
        umask $save_mktempdir_umask
      fi

      # If we're not in dry-run mode, bomb out on failure
      test -d "$my_tmpdir" || \
        func_fatal_error "cannot create temporary directory \`$my_tmpdir'"
    fi

    $ECHO "X$my_tmpdir" | $Xsed
}


# func_quote_for_eval arg
# Aesthetically quote ARG to be evaled later.
# This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT
# is double-quoted, suitable for a subsequent eval, whereas
# FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters
# which are still active within double quotes backslashified.
func_quote_for_eval ()
{
    case $1 in
      *[\\\`\"\$]*)
	func_quote_for_eval_unquoted_result=`$ECHO "X$1" | $Xsed -e "$sed_quote_subst"` ;;
      *)
        func_quote_for_eval_unquoted_result="$1" ;;
    esac

    case $func_quote_for_eval_unquoted_result in
      # Double-quote args containing shell metacharacters to delay
      # word splitting, command substitution and and variable
      # expansion for a subsequent eval.
      # Many Bourne shells cannot handle close brackets correctly
      # in scan sets, so we specify it separately.
      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
        func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\""
        ;;
      *)
        func_quote_for_eval_result="$func_quote_for_eval_unquoted_result"
    esac
}


# func_quote_for_expand arg
# Aesthetically quote ARG to be evaled later; same as above,
# but do not quote variable references.
func_quote_for_expand ()
{
    case $1 in
      *[\\\`\"]*)
	my_arg=`$ECHO "X$1" | $Xsed \
	    -e "$double_quote_subst" -e "$sed_double_backslash"` ;;
      *)
        my_arg="$1" ;;
    esac

    case $my_arg in
      # Double-quote args containing shell metacharacters to delay
      # word splitting and command substitution for a subsequent eval.
      # Many Bourne shells cannot handle close brackets correctly
      # in scan sets, so we specify it separately.
      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \	]*|*]*|"")
        my_arg="\"$my_arg\""
        ;;
    esac

    func_quote_for_expand_result="$my_arg"
}


# func_show_eval cmd [fail_exp]
# Unless opt_silent is true, then output CMD.  Then, if opt_dryrun is
# not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
# is given, then evaluate it.
func_show_eval ()
{
    my_cmd="$1"
    my_fail_exp="${2-:}"

    ${opt_silent-false} || {
      func_quote_for_expand "$my_cmd"
      eval "func_echo $func_quote_for_expand_result"
    }

    if ${opt_dry_run-false}; then :; else
      eval "$my_cmd"
      my_status=$?
      if test "$my_status" -eq 0; then :; else
	eval "(exit $my_status); $my_fail_exp"
      fi
    fi
}


# func_show_eval_locale cmd [fail_exp]
# Unless opt_silent is true, then output CMD.  Then, if opt_dryrun is
# not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
# is given, then evaluate it.  Use the saved locale for evaluation.
func_show_eval_locale ()
{
    my_cmd="$1"
    my_fail_exp="${2-:}"

    ${opt_silent-false} || {
      func_quote_for_expand "$my_cmd"
      eval "func_echo $func_quote_for_expand_result"
    }

    if ${opt_dry_run-false}; then :; else
      eval "$lt_user_locale
	    $my_cmd"
      my_status=$?
      eval "$lt_safe_locale"
      if test "$my_status" -eq 0; then :; else
	eval "(exit $my_status); $my_fail_exp"
      fi
    fi
}





# func_version
# Echo version message to standard output and exit.
func_version ()
{
    $SED -n '/^# '$PROGRAM' (GNU /,/# warranty; / {
        s/^# //
	s/^# *$//
        s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/
        p
     }' < "$progpath"
     exit $?
}

# func_usage
# Echo short help message to standard output and exit.
func_usage ()
{
    $SED -n '/^# Usage:/,/# -h/ {
        s/^# //
	s/^# *$//
	s/\$progname/'$progname'/
	p
    }' < "$progpath"
    $ECHO
    $ECHO "run \`$progname --help | more' for full usage"
    exit $?
}

# func_help
# Echo long help message to standard output and exit.
func_help ()
{
    $SED -n '/^# Usage:/,/# Report bugs to/ {
        s/^# //
	s/^# *$//
	s*\$progname*'$progname'*
	s*\$host*'"$host"'*
	s*\$SHELL*'"$SHELL"'*
	s*\$LTCC*'"$LTCC"'*
	s*\$LTCFLAGS*'"$LTCFLAGS"'*
	s*\$LD*'"$LD"'*
	s/\$with_gnu_ld/'"$with_gnu_ld"'/
	s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/
	s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/
	p
     }' < "$progpath"
    exit $?
}

# func_missing_arg argname
# Echo program name prefixed message to standard error and set global
# exit_cmd.
func_missing_arg ()
{
    func_error "missing argument for $1"
    exit_cmd=exit
}

exit_cmd=:





# 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%%%"

# Global variables.
# $mode is unset
nonopt=
execute_dlfiles=
preserve_args=
lo2o="s/\\.lo\$/.${objext}/"
o2lo="s/\\.${objext}\$/.lo/"
extracted_archives=
extracted_serial=0

opt_dry_run=false
opt_duplicate_deps=false
opt_silent=false
opt_debug=:

# If this variable is set in any of the actions, the command in it
# will be execed at the end.  This prevents here-documents from being
# left over by shells.
exec_cmd=

# func_fatal_configuration arg...
# Echo program name prefixed message to standard error, followed by
# a configuration failure hint, and exit.
func_fatal_configuration ()
{
    func_error ${1+"$@"}
    func_error "See the $PACKAGE documentation for more information."
    func_fatal_error "Fatal configuration error."
}


# func_config
# Display the configuration for all the tags in this script.
func_config ()
{
    re_begincf='^# ### BEGIN LIBTOOL'
    re_endcf='^# ### END LIBTOOL'

    # Default configuration.
    $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath"

    # Now print the configurations for the tags.
    for tagname in $taglist; do
      $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath"
    done

    exit $?
}

# func_features
# Display the features supported by this script.
func_features ()
{
    $ECHO "host: $host"
    if test "$build_libtool_libs" = yes; then
      $ECHO "enable shared libraries"
    else
      $ECHO "disable shared libraries"
    fi
    if test "$build_old_libs" = yes; then
      $ECHO "enable static libraries"
    else
      $ECHO "disable static libraries"
    fi

    exit $?
}

# func_enable_tag tagname
# Verify that TAGNAME is valid, and either flag an error and exit, or
# enable the TAGNAME tag.  We also add TAGNAME to the global $taglist
# variable here.
func_enable_tag ()
{
  # Global variable:
  tagname="$1"

  re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
  re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
  sed_extractcf="/$re_begincf/,/$re_endcf/p"

  # Validate tagname.
  case $tagname in
    *[!-_A-Za-z0-9,/]*)
      func_fatal_error "invalid tag name: $tagname"
      ;;
  esac

  # Don't test for the "default" C tag, as we know it's
  # there but not specially marked.
  case $tagname in
    CC) ;;
    *)
      if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
	taglist="$taglist $tagname"

	# Evaluate the configuration.  Be careful to quote the path
	# and the sed script, to avoid splitting on whitespace, but
	# also don't use non-portable quotes within backquotes within
	# quotes we have to do it in 2 steps:
	extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
	eval "$extractedcf"
      else
	func_error "ignoring unknown tag $tagname"
      fi
      ;;
  esac
}

# Parse options once, thoroughly.  This comes as soon as possible in
# the script to make things like `libtool --version' happen quickly.
{

  # Shorthand for --mode=foo, only valid as the first argument
  case $1 in
  clean|clea|cle|cl)
    shift; set dummy --mode clean ${1+"$@"}; shift
    ;;
  compile|compil|compi|comp|com|co|c)
    shift; set dummy --mode compile ${1+"$@"}; shift
    ;;
  execute|execut|execu|exec|exe|ex|e)
    shift; set dummy --mode execute ${1+"$@"}; shift
    ;;
  finish|finis|fini|fin|fi|f)
    shift; set dummy --mode finish ${1+"$@"}; shift
    ;;
  install|instal|insta|inst|ins|in|i)
    shift; set dummy --mode install ${1+"$@"}; shift
    ;;
  link|lin|li|l)
    shift; set dummy --mode link ${1+"$@"}; shift
    ;;
  uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
    shift; set dummy --mode uninstall ${1+"$@"}; shift
    ;;
  esac

  # Parse non-mode specific arguments:
  while test "$#" -gt 0; do
    opt="$1"
    shift

    case $opt in
      --config)		func_config					;;

      --debug)		preserve_args="$preserve_args $opt"
			func_echo "enabling shell trace mode"
			opt_debug='set -x'
			$opt_debug
			;;

      -dlopen)		test "$#" -eq 0 && func_missing_arg "$opt" && break
			execute_dlfiles="$execute_dlfiles $1"
			shift
			;;

      --dry-run | -n)	opt_dry_run=:					;;
      --features)       func_features					;;
      --finish)		mode="finish"					;;

      --mode)		test "$#" -eq 0 && func_missing_arg "$opt" && break
			case $1 in
			  # Valid mode arguments:
			  clean)	;;
			  compile)	;;
			  execute)	;;
			  finish)	;;
			  install)	;;
			  link)		;;
			  relink)	;;
			  uninstall)	;;

			  # Catch anything else as an error
			  *) func_error "invalid argument for $opt"
			     exit_cmd=exit
			     break
			     ;;
		        esac

			mode="$1"
			shift
			;;

      --preserve-dup-deps)
			opt_duplicate_deps=:				;;

      --quiet|--silent)	preserve_args="$preserve_args $opt"
			opt_silent=:
			;;

      --verbose| -v)	preserve_args="$preserve_args $opt"
			opt_silent=false
			;;

      --tag)		test "$#" -eq 0 && func_missing_arg "$opt" && break
			preserve_args="$preserve_args $opt $1"
			func_enable_tag "$1"	# tagname is set here
			shift
			;;

      # Separate optargs to long options:
      -dlopen=*|--mode=*|--tag=*)
			func_opt_split "$opt"
			set dummy "$func_opt_split_opt" "$func_opt_split_arg" ${1+"$@"}
			shift
			;;

      -\?|-h)		func_usage					;;
      --help)		opt_help=:					;;
      --version)	func_version					;;

      -*)		func_fatal_help "unrecognized option \`$opt'"	;;

      *)		nonopt="$opt"
			break
			;;
    esac
  done


  case $host in
    *cygwin* | *mingw* | *pw32* | *cegcc*)
      # don't eliminate duplications in $postdeps and $predeps
      opt_duplicate_compiler_generated_deps=:
      ;;
    *)
      opt_duplicate_compiler_generated_deps=$opt_duplicate_deps
      ;;
  esac

  # Having warned about all mis-specified options, bail out if
  # anything was wrong.
  $exit_cmd $EXIT_FAILURE
}

# func_check_version_match
# Ensure that we are using m4 macros, and libtool script from the same
# release of libtool.
func_check_version_match ()
{
  if test "$package_revision" != "$macro_revision"; then
    if test "$VERSION" != "$macro_version"; then
      if test -z "$macro_version"; then
        cat >&2 <<_LT_EOF
$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
$progname: definition of this LT_INIT comes from an older release.
$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
$progname: and run autoconf again.
_LT_EOF
      else
        cat >&2 <<_LT_EOF
$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
$progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
$progname: and run autoconf again.
_LT_EOF
      fi
    else
      cat >&2 <<_LT_EOF
$progname: Version mismatch error.  This is $PACKAGE $VERSION, revision $package_revision,
$progname: but the definition of this LT_INIT comes from revision $macro_revision.
$progname: You should recreate aclocal.m4 with macros from revision $package_revision
$progname: of $PACKAGE $VERSION and run autoconf again.
_LT_EOF
    fi

    exit $EXIT_MISMATCH
  fi
}


## ----------- ##
##    Main.    ##
## ----------- ##

$opt_help || {
  # Sanity checks first:
  func_check_version_match

  if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
    func_fatal_configuration "not configured to build any kind of library"
  fi

  test -z "$mode" && func_fatal_error "error: you must specify a MODE."


  # Darwin sucks
  eval std_shrext=\"$shrext_cmds\"


  # Only execute mode is allowed to have -dlopen flags.
  if test -n "$execute_dlfiles" && test "$mode" != execute; then
    func_error "unrecognized option \`-dlopen'"
    $ECHO "$help" 1>&2
    exit $EXIT_FAILURE
  fi

  # Change the help message to a mode-specific one.
  generic_help="$help"
  help="Try \`$progname --help --mode=$mode' for more information."
}


# func_lalib_p file
# True iff FILE is a libtool `.la' library or `.lo' object file.
# This function is only a basic sanity check; it will hardly flush out
# determined imposters.
func_lalib_p ()
{
    test -f "$1" &&
      $SED -e 4q "$1" 2>/dev/null \
        | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
}

# func_lalib_unsafe_p file
# True iff FILE is a libtool `.la' library or `.lo' object file.
# This function implements the same check as func_lalib_p without
# resorting to external programs.  To this end, it redirects stdin and
# closes it afterwards, without saving the original file descriptor.
# As a safety measure, use it only where a negative result would be
# fatal anyway.  Works if `file' does not exist.
func_lalib_unsafe_p ()
{
    lalib_p=no
    if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then
	for lalib_p_l in 1 2 3 4
	do
	    read lalib_p_line
	    case "$lalib_p_line" in
		\#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;;
	    esac
	done
	exec 0<&5 5<&-
    fi
    test "$lalib_p" = yes
}

# func_ltwrapper_script_p file
# True iff FILE is a libtool wrapper script
# This function is only a basic sanity check; it will hardly flush out
# determined imposters.
func_ltwrapper_script_p ()
{
    func_lalib_p "$1"
}

# func_ltwrapper_executable_p file
# True iff FILE is a libtool wrapper executable
# This function is only a basic sanity check; it will hardly flush out
# determined imposters.
func_ltwrapper_executable_p ()
{
    func_ltwrapper_exec_suffix=
    case $1 in
    *.exe) ;;
    *) func_ltwrapper_exec_suffix=.exe ;;
    esac
    $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1
}

# func_ltwrapper_scriptname file
# Assumes file is an ltwrapper_executable
# uses $file to determine the appropriate filename for a
# temporary ltwrapper_script.
func_ltwrapper_scriptname ()
{
    func_ltwrapper_scriptname_result=""
    if func_ltwrapper_executable_p "$1"; then
	func_dirname_and_basename "$1" "" "."
	func_stripname '' '.exe' "$func_basename_result"
	func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"
    fi
}

# func_ltwrapper_p file
# True iff FILE is a libtool wrapper script or wrapper executable
# This function is only a basic sanity check; it will hardly flush out
# determined imposters.
func_ltwrapper_p ()
{
    func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1"
}


# func_execute_cmds commands fail_cmd
# Execute tilde-delimited COMMANDS.
# If FAIL_CMD is given, eval that upon failure.
# FAIL_CMD may read-access the current command in variable CMD!
func_execute_cmds ()
{
    $opt_debug
    save_ifs=$IFS; IFS='~'
    for cmd in $1; do
      IFS=$save_ifs
      eval cmd=\"$cmd\"
      func_show_eval "$cmd" "${2-:}"
    done
    IFS=$save_ifs
}


# func_source file
# Source FILE, adding directory component if necessary.
# Note that it is not necessary on cygwin/mingw to append a dot to
# FILE even if both FILE and FILE.exe exist: automatic-append-.exe
# behavior happens only for exec(3), not for open(2)!  Also, sourcing
# `FILE.' does not work on cygwin managed mounts.
func_source ()
{
    $opt_debug
    case $1 in
    */* | *\\*)	. "$1" ;;
    *)		. "./$1" ;;
    esac
}


# func_infer_tag arg
# Infer tagged configuration to use if any are available and
# if one wasn't chosen via the "--tag" command line option.
# Only attempt this if the compiler in the base compile
# command doesn't match the default compiler.
# arg is usually of the form 'gcc ...'
func_infer_tag ()
{
    $opt_debug
    if test -n "$available_tags" && test -z "$tagname"; then
      CC_quoted=
      for arg in $CC; do
        func_quote_for_eval "$arg"
	CC_quoted="$CC_quoted $func_quote_for_eval_result"
      done
      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` "*) ;;
      # Blanks at the start of $base_compile will cause this to fail
      # if we don't check for them as well.
      *)
	for z in $available_tags; do
	  if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
	    # Evaluate the configuration.
	    eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
	    CC_quoted=
	    for arg in $CC; do
	      # Double-quote args containing other shell metacharacters.
	      func_quote_for_eval "$arg"
	      CC_quoted="$CC_quoted $func_quote_for_eval_result"
	    done
	    case "$@ " in
	      " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*)
	      # The compiler in the base compile command matches
	      # the one in the tagged configuration.
	      # Assume this is the tagged configuration we want.
	      tagname=$z
	      break
	      ;;
	    esac
	  fi
	done
	# If $tagname still isn't set, then no tagged configuration
	# was found and let the user know that the "--tag" command
	# line option must be used.
	if test -z "$tagname"; then
	  func_echo "unable to infer tagged configuration"
	  func_fatal_error "specify a tag with \`--tag'"
#	else
#	  func_verbose "using $tagname tagged configuration"
	fi
	;;
      esac
    fi
}



# func_write_libtool_object output_name pic_name nonpic_name
# Create a libtool object file (analogous to a ".la" file),
# but don't create it if we're doing a dry run.
func_write_libtool_object ()
{
    write_libobj=${1}
    if test "$build_libtool_libs" = yes; then
      write_lobj=\'${2}\'
    else
      write_lobj=none
    fi

    if test "$build_old_libs" = yes; then
      write_oldobj=\'${3}\'
    else
      write_oldobj=none
    fi

    $opt_dry_run || {
      cat >${write_libobj}T <<EOF
# $write_libobj - a libtool object file
# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
#
# Please DO NOT delete this file!
# It is necessary for linking the library.

# Name of the PIC object.
pic_object=$write_lobj

# Name of the non-PIC object
non_pic_object=$write_oldobj

EOF
      $MV "${write_libobj}T" "${write_libobj}"
    }
}

# func_mode_compile arg...
func_mode_compile ()
{
    $opt_debug
    # Get the compilation command and the source file.
    base_compile=
    srcfile="$nonopt"  #  always keep a non-empty value in "srcfile"
    suppress_opt=yes
    suppress_output=
    arg_mode=normal
    libobj=
    later=
    pie_flag=

    for arg
    do
      case $arg_mode in
      arg  )
	# do not "continue".  Instead, add this to base_compile
	lastarg="$arg"
	arg_mode=normal
	;;

      target )
	libobj="$arg"
	arg_mode=normal
	continue
	;;

      normal )
	# Accept any command-line options.
	case $arg in
	-o)
	  test -n "$libobj" && \
	    func_fatal_error "you cannot specify \`-o' more than once"
	  arg_mode=target
	  continue
	  ;;

	-pie | -fpie | -fPIE)
          pie_flag="$pie_flag $arg"
	  continue
	  ;;

	-shared | -static | -prefer-pic | -prefer-non-pic)
	  later="$later $arg"
	  continue
	  ;;

	-no-suppress)
	  suppress_opt=no
	  continue
	  ;;

	-Xcompiler)
	  arg_mode=arg  #  the next one goes into the "base_compile" arg list
	  continue      #  The current "srcfile" will either be retained or
	  ;;            #  replaced later.  I would guess that would be a bug.

	-Wc,*)
	  func_stripname '-Wc,' '' "$arg"
	  args=$func_stripname_result
	  lastarg=
	  save_ifs="$IFS"; IFS=','
	  for arg in $args; do
	    IFS="$save_ifs"
	    func_quote_for_eval "$arg"
	    lastarg="$lastarg $func_quote_for_eval_result"
	  done
	  IFS="$save_ifs"
	  func_stripname ' ' '' "$lastarg"
	  lastarg=$func_stripname_result

	  # Add the arguments to base_compile.
	  base_compile="$base_compile $lastarg"
	  continue
	  ;;

	*)
	  # Accept the current argument as the source file.
	  # The previous "srcfile" becomes the current argument.
	  #
	  lastarg="$srcfile"
	  srcfile="$arg"
	  ;;
	esac  #  case $arg
	;;
      esac    #  case $arg_mode

      # Aesthetically quote the previous argument.
      func_quote_for_eval "$lastarg"
      base_compile="$base_compile $func_quote_for_eval_result"
    done # for arg

    case $arg_mode in
    arg)
      func_fatal_error "you must specify an argument for -Xcompile"
      ;;
    target)
      func_fatal_error "you must specify a target with \`-o'"
      ;;
    *)
      # Get the name of the library object.
      test -z "$libobj" && {
	func_basename "$srcfile"
	libobj="$func_basename_result"
      }
      ;;
    esac

    # Recognize several different file suffixes.
    # If the user specifies -o file.o, it is replaced with file.lo
    case $libobj in
    *.[cCFSifmso] | \
    *.ada | *.adb | *.ads | *.asm | \
    *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
    *.[fF][09]? | *.for | *.java | *.obj | *.sx)
      func_xform "$libobj"
      libobj=$func_xform_result
      ;;
    esac

    case $libobj in
    *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;;
    *)
      func_fatal_error "cannot determine name of library object from \`$libobj'"
      ;;
    esac

    func_infer_tag $base_compile

    for arg in $later; do
      case $arg in
      -shared)
	test "$build_libtool_libs" != yes && \
	  func_fatal_configuration "can not build a shared library"
	build_old_libs=no
	continue
	;;

      -static)
	build_libtool_libs=no
	build_old_libs=yes
	continue
	;;

      -prefer-pic)
	pic_mode=yes
	continue
	;;

      -prefer-non-pic)
	pic_mode=no
	continue
	;;
      esac
    done

    func_quote_for_eval "$libobj"
    test "X$libobj" != "X$func_quote_for_eval_result" \
      && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"'	 &()|`$[]' \
      && func_warning "libobj name \`$libobj' may not contain shell special characters."
    func_dirname_and_basename "$obj" "/" ""
    objname="$func_basename_result"
    xdir="$func_dirname_result"
    lobj=${xdir}$objdir/$objname

    test -z "$base_compile" && \
      func_fatal_help "you must specify a compilation command"

    # Delete any leftover library objects.
    if test "$build_old_libs" = yes; then
      removelist="$obj $lobj $libobj ${libobj}T"
    else
      removelist="$lobj $libobj ${libobj}T"
    fi

    # On Cygwin there's no "real" PIC flag so we must build both object types
    case $host_os in
    cygwin* | mingw* | pw32* | os2* | cegcc*)
      pic_mode=default
      ;;
    esac
    if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
      # non-PIC code in shared libraries is not supported
      pic_mode=default
    fi

    # 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}
      lockfile="$output_obj.lock"
    else
      output_obj=
      need_locks=no
      lockfile=
    fi

    # Lock this critical section if it is needed
    # We use this script file to make the link, it avoids creating a new file
    if test "$need_locks" = yes; then
      until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
	func_echo "Waiting for $lockfile to be removed"
	sleep 2
      done
    elif test "$need_locks" = warn; then
      if test -f "$lockfile"; then
	$ECHO "\
*** ERROR, $lockfile exists and contains:
`cat $lockfile 2>/dev/null`

This indicates that another process is trying to use the same
temporary object file, and libtool could not work around it because
your compiler does not support \`-c' and \`-o' together.  If you
repeat this compilation, it may succeed, by chance, but you had better
avoid parallel builds (make -j) in this platform, or get a better
compiler."

	$opt_dry_run || $RM $removelist
	exit $EXIT_FAILURE
      fi
      removelist="$removelist $output_obj"
      $ECHO "$srcfile" > "$lockfile"
    fi

    $opt_dry_run || $RM $removelist
    removelist="$removelist $lockfile"
    trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15

    if test -n "$fix_srcfile_path"; then
      eval srcfile=\"$fix_srcfile_path\"
    fi
    func_quote_for_eval "$srcfile"
    qsrcfile=$func_quote_for_eval_result

    # Only build a PIC object if we are building libtool libraries.
    if test "$build_libtool_libs" = yes; then
      # Without this assignment, base_compile gets emptied.
      fbsd_hideous_sh_bug=$base_compile

      if test "$pic_mode" != no; then
	command="$base_compile $qsrcfile $pic_flag"
      else
	# Don't build PIC code
	command="$base_compile $qsrcfile"
      fi

      func_mkdir_p "$xdir$objdir"

      if test -z "$output_obj"; then
	# Place PIC objects in $objdir
	command="$command -o $lobj"
      fi

      func_show_eval_locale "$command"	\
          'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'

      if test "$need_locks" = warn &&
	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
	$ECHO "\
*** ERROR, $lockfile contains:
`cat $lockfile 2>/dev/null`

but it should contain:
$srcfile

This indicates that another process is trying to use the same
temporary object file, and libtool could not work around it because
your compiler does not support \`-c' and \`-o' together.  If you
repeat this compilation, it may succeed, by chance, but you had better
avoid parallel builds (make -j) in this platform, or get a better
compiler."

	$opt_dry_run || $RM $removelist
	exit $EXIT_FAILURE
      fi

      # Just move the object if needed, then go on to compile the next one
      if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
	func_show_eval '$MV "$output_obj" "$lobj"' \
	  'error=$?; $opt_dry_run || $RM $removelist; exit $error'
      fi

      # Allow error messages only from the first compilation.
      if test "$suppress_opt" = yes; then
	suppress_output=' >/dev/null 2>&1'
      fi
    fi

    # Only build a position-dependent object if we build old libraries.
    if test "$build_old_libs" = yes; then
      if test "$pic_mode" != yes; then
	# Don't build PIC code
	command="$base_compile $qsrcfile$pie_flag"
      else
	command="$base_compile $qsrcfile $pic_flag"
      fi
      if test "$compiler_c_o" = yes; then
	command="$command -o $obj"
      fi

      # Suppress compiler output if we already did a PIC compilation.
      command="$command$suppress_output"
      func_show_eval_locale "$command" \
        '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'

      if test "$need_locks" = warn &&
	 test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
	$ECHO "\
*** ERROR, $lockfile contains:
`cat $lockfile 2>/dev/null`

but it should contain:
$srcfile

This indicates that another process is trying to use the same
temporary object file, and libtool could not work around it because
your compiler does not support \`-c' and \`-o' together.  If you
repeat this compilation, it may succeed, by chance, but you had better
avoid parallel builds (make -j) in this platform, or get a better
compiler."

	$opt_dry_run || $RM $removelist
	exit $EXIT_FAILURE
      fi

      # Just move the object if needed
      if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
	func_show_eval '$MV "$output_obj" "$obj"' \
	  'error=$?; $opt_dry_run || $RM $removelist; exit $error'
      fi
    fi

    $opt_dry_run || {
      func_write_libtool_object "$libobj" "$objdir/$objname" "$objname"

      # Unlock the critical section if it was locked
      if test "$need_locks" != no; then
	removelist=$lockfile
        $RM "$lockfile"
      fi
    }

    exit $EXIT_SUCCESS
}

$opt_help || {
test "$mode" = compile && func_mode_compile ${1+"$@"}
}

func_mode_help ()
{
    # We need to display help for each of the modes.
    case $mode in
      "")
        # Generic help is extracted from the usage comments
        # at the start of this file.
        func_help
        ;;

      clean)
        $ECHO \
"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE...

Remove files from the build directory.

RM is the name of the program to use to delete files associated with each FILE
(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
to RM.

If FILE is a libtool library, object or program, all the files associated
with it are deleted. Otherwise, only FILE itself is deleted using RM."
        ;;

      compile)
      $ECHO \
"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE

Compile a source file into a libtool library object.

This mode accepts the following additional options:

  -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
  -shared           do not build a \`.o' file suitable for static linking
  -static           only build a \`.o' file suitable for static linking

COMPILE-COMMAND is a command to be used in creating a \`standard' object file
from the given SOURCEFILE.

The output file name is determined by removing the directory component from
SOURCEFILE, then substituting the C source code suffix \`.c' with the
library object suffix, \`.lo'."
        ;;

      execute)
        $ECHO \
"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]...

Automatically set library path, then run a program.

This mode accepts the following additional options:

  -dlopen FILE      add the directory containing FILE to the library path

This mode sets the library path environment variable according to \`-dlopen'
flags.

If any of the ARGS are libtool executable wrappers, then they are translated
into their corresponding uninstalled binary, and any of their required library
directories are added to the library path.

Then, COMMAND is executed, with ARGS as arguments."
        ;;

      finish)
        $ECHO \
"Usage: $progname [OPTION]... --mode=finish [LIBDIR]...

Complete the installation of libtool libraries.

Each LIBDIR is a directory that contains libtool libraries.

The commands that this mode executes may require superuser privileges.  Use
the \`--dry-run' option if you just want to see what would be executed."
        ;;

      install)
        $ECHO \
"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND...

Install executables or libraries.

INSTALL-COMMAND is the installation command.  The first component should be
either the \`install' or \`cp' program.

The following components of INSTALL-COMMAND are treated specially:

  -inst-prefix 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)."
        ;;

      link)
        $ECHO \
"Usage: $progname [OPTION]... --mode=link LINK-COMMAND...

Link object files or libraries together to form another library, or to
create an executable program.

LINK-COMMAND is a command using the C compiler that you would use to create
a program from several object files.

The following components of LINK-COMMAND are treated specially:

  -all-static       do not do any dynamic linking at all
  -avoid-version    do not add a version suffix if possible
  -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)
  -export-symbols SYMFILE
                    try to export only the symbols listed in SYMFILE
  -export-symbols-regex REGEX
                    try to export only the symbols matching REGEX
  -LLIBDIR          search LIBDIR for required installed libraries
  -lNAME            OUTPUT-FILE requires the installed library libNAME
  -module           build a library that can dlopened
  -no-fast-install  disable the fast-install mode
  -no-install       link a not-installable executable
  -no-undefined     declare that a library does not refer to external symbols
  -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
  -objectlist FILE  Use a list of object files found in FILE to specify objects
  -precious-files-regex REGEX
                    don't remove output files matching REGEX
  -release RELEASE  specify package release information
  -rpath LIBDIR     the created library will eventually be installed in LIBDIR
  -R[ ]LIBDIR       add LIBDIR to the runtime path of programs and libraries
  -shared           only do dynamic linking of libtool libraries
  -shrext SUFFIX    override the standard shared library file extension
  -static           do not do any dynamic linking of uninstalled libtool libraries
  -static-libtool-libs
                    do not do any dynamic linking of libtool libraries
  -version-info CURRENT[:REVISION[:AGE]]
                    specify library version info [each variable defaults to 0]
  -weak LIBNAME     declare that the target provides the LIBNAME interface

All other options (arguments beginning with \`-') are ignored.

Every other argument is treated as a filename.  Files ending in \`.la' are
treated as uninstalled libtool libraries, other files are standard or library
object files.

If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
only library objects (\`.lo' files) may be specified, and \`-rpath' is
required, except when creating a convenience library.

If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
using \`ar' and \`ranlib', or on Windows using \`lib'.

If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
is created, otherwise an executable program is created."
        ;;

      uninstall)
        $ECHO \
"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...

Remove libraries from an installation directory.

RM is the name of the program to use to delete files associated with each FILE
(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
to RM.

If FILE is a libtool library, all the files associated with it are deleted.
Otherwise, only FILE itself is deleted using RM."
        ;;

      *)
        func_fatal_help "invalid operation mode \`$mode'"
        ;;
    esac

    $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


# func_mode_execute arg...
func_mode_execute ()
{
    $opt_debug
    # The first argument is the command name.
    cmd="$nonopt"
    test -z "$cmd" && \
      func_fatal_help "you must specify a COMMAND"

    # Handle -dlopen flags immediately.
    for file in $execute_dlfiles; do
      test -f "$file" \
	|| func_fatal_help "\`$file' is not a file"

      dir=
      case $file in
      *.la)
	# Check to see that this really is a libtool archive.
	func_lalib_unsafe_p "$file" \
	  || func_fatal_help "\`$lib' is not a valid libtool archive"

	# Read the libtool library.
	dlname=
	library_names=
	func_source "$file"

	# Skip this library if it cannot be dlopened.
	if test -z "$dlname"; then
	  # Warn if it was a shared library.
	  test -n "$library_names" && \
	    func_warning "\`$file' was not linked with \`-export-dynamic'"
	  continue
	fi

	func_dirname "$file" "" "."
	dir="$func_dirname_result"

	if test -f "$dir/$objdir/$dlname"; then
	  dir="$dir/$objdir"
	else
	  if test ! -f "$dir/$dlname"; then
	    func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'"
	  fi
	fi
	;;

      *.lo)
	# Just add the directory containing the .lo file.
	func_dirname "$file" "" "."
	dir="$func_dirname_result"
	;;

      *)
	func_warning "\`-dlopen' is ignored for non-libtool libraries and objects"
	continue
	;;
      esac

      # Get the absolute pathname.
      absdir=`cd "$dir" && pwd`
      test -n "$absdir" && dir="$absdir"

      # Now add the directory to shlibpath_var.
      if eval "test -z \"\$$shlibpath_var\""; then
	eval "$shlibpath_var=\"\$dir\""
      else
	eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
      fi
    done

    # This variable tells wrapper scripts just to set shlibpath_var
    # rather than running their programs.
    libtool_execute_magic="$magic"

    # Check if any of the arguments is a wrapper script.
    args=
    for file
    do
      case $file in
      -*) ;;
      *)
	# Do a test to see if this is really a libtool program.
	if func_ltwrapper_script_p "$file"; then
	  func_source "$file"
	  # Transform arg to wrapped name.
	  file="$progdir/$program"
	elif func_ltwrapper_executable_p "$file"; then
	  func_ltwrapper_scriptname "$file"
	  func_source "$func_ltwrapper_scriptname_result"
	  # Transform arg to wrapped name.
	  file="$progdir/$program"
	fi
	;;
      esac
      # Quote arguments (to preserve shell metacharacters).
      func_quote_for_eval "$file"
      args="$args $func_quote_for_eval_result"
    done

    if test "X$opt_dry_run" = Xfalse; then
      if test -n "$shlibpath_var"; then
	# Export the shlibpath_var.
	eval "export $shlibpath_var"
      fi

      # Restore saved environment variables
      for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
      do
	eval "if test \"\${save_$lt_var+set}\" = set; then
                $lt_var=\$save_$lt_var; export $lt_var
	      else
		$lt_unset $lt_var
	      fi"
      done

      # Now prepare to actually exec the command.
      exec_cmd="\$cmd$args"
    else
      # Display what would be done.
      if test -n "$shlibpath_var"; then
	eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
	$ECHO "export $shlibpath_var"
      fi
      $ECHO "$cmd$args"
      exit $EXIT_SUCCESS
    fi
}

test "$mode" = execute && func_mode_execute ${1+"$@"}


# func_mode_finish arg...
func_mode_finish ()
{
    $opt_debug
    libdirs="$nonopt"
    admincmds=

    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
      for dir
      do
	libdirs="$libdirs $dir"
      done

      for libdir in $libdirs; do
	if test -n "$finish_cmds"; then
	  # Do each command in the finish commands.
	  func_execute_cmds "$finish_cmds" 'admincmds="$admincmds
'"$cmd"'"'
	fi
	if test -n "$finish_eval"; then
	  # Do the single finish_eval.
	  eval cmds=\"$finish_eval\"
	  $opt_dry_run || eval "$cmds" || admincmds="$admincmds
       $cmds"
	fi
      done
    fi

    # Exit here if they wanted silent mode.
    $opt_silent && exit $EXIT_SUCCESS

    $ECHO "X----------------------------------------------------------------------" | $Xsed
    $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:"
    if test -n "$shlibpath_var"; then
      $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"
    fi
    if test -n "$hardcode_libdir_flag_spec"; then
      libdir=LIBDIR
      eval flag=\"$hardcode_libdir_flag_spec\"

      $ECHO "   - use the \`$flag' linker flag"
    fi
    if test -n "$admincmds"; then
      $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'"
    fi
    $ECHO

    $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) and ld.so(8) manual pages."
        ;;
    esac
    $ECHO "X----------------------------------------------------------------------" | $Xsed
    exit $EXIT_SUCCESS
}

test "$mode" = finish && func_mode_finish ${1+"$@"}


# func_mode_install arg...
func_mode_install ()
{
    $opt_debug
    # There may be an optional sh(1) argument at the beginning of
    # 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
      # Aesthetically quote it.
      func_quote_for_eval "$nonopt"
      install_prog="$func_quote_for_eval_result "
      arg=$1
      shift
    else
      install_prog=
      arg=$nonopt
    fi

    # The real first argument should be the name of the installation program.
    # Aesthetically quote it.
    func_quote_for_eval "$arg"
    install_prog="$install_prog$func_quote_for_eval_result"

    # We need to accept at least all the BSD install flags.
    dest=
    files=
    opts=
    prev=
    install_type=
    isdir=no
    stripme=
    for arg
    do
      if test -n "$dest"; then
	files="$files $dest"
	dest=$arg
	continue
      fi

      case $arg in
      -d) isdir=yes ;;
      -f)
	case " $install_prog " in
	*[\\\ /]cp\ *) ;;
	*) prev=$arg ;;
	esac
	;;
      -g | -m | -o)
	prev=$arg
	;;
      -s)
	stripme=" -s"
	continue
	;;
      -*)
	;;
      *)
	# If the previous option needed an argument, then skip it.
	if test -n "$prev"; then
	  prev=
	else
	  dest=$arg
	  continue
	fi
	;;
      esac

      # Aesthetically quote the argument.
      func_quote_for_eval "$arg"
      install_prog="$install_prog $func_quote_for_eval_result"
    done

    test -z "$install_prog" && \
      func_fatal_help "you must specify an install program"

    test -n "$prev" && \
      func_fatal_help "the \`$prev' option requires an argument"

    if test -z "$files"; then
      if test -z "$dest"; then
	func_fatal_help "no file or destination specified"
      else
	func_fatal_help "you must specify a destination"
      fi
    fi

    # Strip any trailing slash from the destination.
    func_stripname '' '/' "$dest"
    dest=$func_stripname_result

    # Check to see that the destination is a directory.
    test -d "$dest" && isdir=yes
    if test "$isdir" = yes; then
      destdir="$dest"
      destname=
    else
      func_dirname_and_basename "$dest" "" "."
      destdir="$func_dirname_result"
      destname="$func_basename_result"

      # Not a directory, so check to see that there is only one file specified.
      set dummy $files; shift
      test "$#" -gt 1 && \
	func_fatal_help "\`$dest' is not a directory"
    fi
    case $destdir in
    [\\/]* | [A-Za-z]:[\\/]*) ;;
    *)
      for file in $files; do
	case $file in
	*.lo) ;;
	*)
	  func_fatal_help "\`$destdir' must be an absolute directory name"
	  ;;
	esac
      done
      ;;
    esac

    # This variable tells wrapper scripts just to set variables rather
    # than running their programs.
    libtool_install_magic="$magic"

    staticlibs=
    future_libdirs=
    current_libdirs=
    for file in $files; do

      # Do each installation.
      case $file in
      *.$libext)
	# Do the static libraries later.
	staticlibs="$staticlibs $file"
	;;

      *.la)
	# Check to see that this really is a libtool archive.
	func_lalib_unsafe_p "$file" \
	  || func_fatal_help "\`$file' is not a valid libtool archive"

	library_names=
	old_library=
	relink_command=
	func_source "$file"

	# Add the libdir to current_libdirs if it is the destination.
	if test "X$destdir" = "X$libdir"; then
	  case "$current_libdirs " in
	  *" $libdir "*) ;;
	  *) current_libdirs="$current_libdirs $libdir" ;;
	  esac
	else
	  # Note the libdir as a future libdir.
	  case "$future_libdirs " in
	  *" $libdir "*) ;;
	  *) future_libdirs="$future_libdirs $libdir" ;;
	  esac
	fi

	func_dirname "$file" "/" ""
	dir="$func_dirname_result"
	dir="$dir$objdir"

	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\$%%"`

	  # Don't allow the user to place us outside of our expected
	  # location b/c this prevents finding dependent libraries that
	  # are installed to the same prefix.
	  # At present, this check doesn't affect windows .dll's that
	  # are installed into $libdir/../bin (currently, that works fine)
	  # but it's something to keep an eye on.
	  test "$inst_prefix_dir" = "$destdir" && \
	    func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir"

	  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%"`
	  else
	    relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%%"`
	  fi

	  func_warning "relinking \`$file'"
	  func_show_eval "$relink_command" \
	    'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"'
	fi

	# See the names of the shared library.
	set dummy $library_names; shift
	if test -n "$1"; then
	  realname="$1"
	  shift

	  srcname="$realname"
	  test -n "$relink_command" && srcname="$realname"T

	  # Install the shared library and build the symlinks.
	  func_show_eval "$install_prog $dir/$srcname $destdir/$realname" \
	      'exit $?'
	  tstripme="$stripme"
	  case $host_os in
	  cygwin* | mingw* | pw32* | cegcc*)
	    case $realname in
	    *.dll.a)
	      tstripme=""
	      ;;
	    esac
	    ;;
	  esac
	  if test -n "$tstripme" && test -n "$striplib"; then
	    func_show_eval "$striplib $destdir/$realname" 'exit $?'
	  fi

	  if test "$#" -gt 0; then
	    # Delete the old symlinks, and create new ones.
	    # Try `ln -sf' first, because the `ln' binary might depend on
	    # the symlink we replace!  Solaris /bin/ln does not understand -f,
	    # so we also need to try rm && ln -s.
	    for linkname
	    do
	      test "$linkname" != "$realname" \
		&& func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })"
	    done
	  fi

	  # Do each command in the postinstall commands.
	  lib="$destdir/$realname"
	  func_execute_cmds "$postinstall_cmds" 'exit $?'
	fi

	# Install the pseudo-library for information purposes.
	func_basename "$file"
	name="$func_basename_result"
	instname="$dir/$name"i
	func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'

	# Maybe install the static library, too.
	test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
	;;

      *.lo)
	# Install (i.e. copy) a libtool object.

	# Figure out destination file name, if it wasn't already specified.
	if test -n "$destname"; then
	  destfile="$destdir/$destname"
	else
	  func_basename "$file"
	  destfile="$func_basename_result"
	  destfile="$destdir/$destfile"
	fi

	# Deduce the name of the destination old-style object file.
	case $destfile in
	*.lo)
	  func_lo2o "$destfile"
	  staticdest=$func_lo2o_result
	  ;;
	*.$objext)
	  staticdest="$destfile"
	  destfile=
	  ;;
	*)
	  func_fatal_help "cannot copy a libtool object to \`$destfile'"
	  ;;
	esac

	# Install the libtool object if requested.
	test -n "$destfile" && \
	  func_show_eval "$install_prog $file $destfile" 'exit $?'

	# Install the old object if enabled.
	if test "$build_old_libs" = yes; then
	  # Deduce the name of the old-style object file.
	  func_lo2o "$file"
	  staticobj=$func_lo2o_result
	  func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?'
	fi
	exit $EXIT_SUCCESS
	;;

      *)
	# Figure out destination file name, if it wasn't already specified.
	if test -n "$destname"; then
	  destfile="$destdir/$destname"
	else
	  func_basename "$file"
	  destfile="$func_basename_result"
	  destfile="$destdir/$destfile"
	fi

	# If the file is missing, and there is a .exe on the end, strip it
	# because it is most likely a libtool script we actually want to
	# install
	stripped_ext=""
	case $file in
	  *.exe)
	    if test ! -f "$file"; then
	      func_stripname '' '.exe' "$file"
	      file=$func_stripname_result
	      stripped_ext=".exe"
	    fi
	    ;;
	esac

	# Do a test to see if this is really a libtool program.
	case $host in
	*cygwin* | *mingw*)
	    if func_ltwrapper_executable_p "$file"; then
	      func_ltwrapper_scriptname "$file"
	      wrapper=$func_ltwrapper_scriptname_result
	    else
	      func_stripname '' '.exe' "$file"
	      wrapper=$func_stripname_result
	    fi
	    ;;
	*)
	    wrapper=$file
	    ;;
	esac
	if func_ltwrapper_script_p "$wrapper"; then
	  notinst_deplibs=
	  relink_command=

	  func_source "$wrapper"

	  # Check the variables that should have been set.
	  test -z "$generated_by_libtool_version" && \
	    func_fatal_error "invalid libtool wrapper script \`$wrapper'"

	  finalize=yes
	  for lib in $notinst_deplibs; do
	    # Check to see that each library is installed.
	    libdir=
	    if test -f "$lib"; then
	      func_source "$lib"
	    fi
	    libfile="$libdir/"`$ECHO "X$lib" | $Xsed -e '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
	    fi
	  done

	  relink_command=
	  func_source "$wrapper"

	  outputname=
	  if test "$fast_install" = no && test -n "$relink_command"; then
	    $opt_dry_run || {
	      if test "$finalize" = yes; then
	        tmpdir=`func_mktempdir`
		func_basename "$file$stripped_ext"
		file="$func_basename_result"
	        outputname="$tmpdir/$file"
	        # Replace the output file specification.
	        relink_command=`$ECHO "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`

	        $opt_silent || {
	          func_quote_for_expand "$relink_command"
		  eval "func_echo $func_quote_for_expand_result"
	        }
	        if eval "$relink_command"; then :
	          else
		  func_error "error: relink \`$file' with the above command before installing it"
		  $opt_dry_run || ${RM}r "$tmpdir"
		  continue
	        fi
	        file="$outputname"
	      else
	        func_warning "cannot relink \`$file'"
	      fi
	    }
	  else
	    # Install the binary that we compiled earlier.
	    file=`$ECHO "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
	  fi
	fi

	# remove .exe since cygwin /usr/bin/install will append another
	# one anyway
	case $install_prog,$host in
	*/usr/bin/install*,*cygwin*)
	  case $file:$destfile in
	  *.exe:*.exe)
	    # this is ok
	    ;;
	  *.exe:*)
	    destfile=$destfile.exe
	    ;;
	  *:*.exe)
	    func_stripname '' '.exe' "$destfile"
	    destfile=$func_stripname_result
	    ;;
	  esac
	  ;;
	esac
	func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?'
	$opt_dry_run || if test -n "$outputname"; then
	  ${RM}r "$tmpdir"
	fi
	;;
      esac
    done

    for file in $staticlibs; do
      func_basename "$file"
      name="$func_basename_result"

      # Set up the ranlib parameters.
      oldlib="$destdir/$name"

      func_show_eval "$install_prog \$file \$oldlib" 'exit $?'

      if test -n "$stripme" && test -n "$old_striplib"; then
	func_show_eval "$old_striplib $oldlib" 'exit $?'
      fi

      # Do each command in the postinstall commands.
      func_execute_cmds "$old_postinstall_cmds" 'exit $?'
    done

    test -n "$future_libdirs" && \
      func_warning "remember to run \`$progname --finish$future_libdirs'"

    if test -n "$current_libdirs"; then
      # Maybe just do a dry run.
      $opt_dry_run && current_libdirs=" -n$current_libdirs"
      exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
    else
      exit $EXIT_SUCCESS
    fi
}

test "$mode" = install && func_mode_install ${1+"$@"}


# func_generate_dlsyms outputname originator pic_p
# Extract symbols from dlprefiles and create ${outputname}S.o with
# a dlpreopen symbol table.
func_generate_dlsyms ()
{
    $opt_debug
    my_outputname="$1"
    my_originator="$2"
    my_pic_p="${3-no}"
    my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'`
    my_dlsyms=

    if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
      if test -n "$NM" && test -n "$global_symbol_pipe"; then
	my_dlsyms="${my_outputname}S.c"
      else
	func_error "not configured to extract global symbols from dlpreopened files"
      fi
    fi

    if test -n "$my_dlsyms"; then
      case $my_dlsyms in
      "") ;;
      *.c)
	# Discover the nlist of each of the dlfiles.
	nlist="$output_objdir/${my_outputname}.nm"

	func_show_eval "$RM $nlist ${nlist}S ${nlist}T"

	# Parse the name list into a source file.
	func_verbose "creating $output_objdir/$my_dlsyms"

	$opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\
/* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */
/* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */

#ifdef __cplusplus
extern \"C\" {
#endif

/* External symbol declarations for the compiler. */\
"

	if test "$dlself" = yes; then
	  func_verbose "generating symbol list for \`$output'"

	  $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`
	  for progfile in $progfiles; do
	    func_verbose "extracting global C symbols from \`$progfile'"
	    $opt_dry_run || eval "$NM $progfile | $global_symbol_pipe >> '$nlist'"
	  done

	  if test -n "$exclude_expsyms"; then
	    $opt_dry_run || {
	      eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
	      eval '$MV "$nlist"T "$nlist"'
	    }
	  fi

	  if test -n "$export_symbols_regex"; then
	    $opt_dry_run || {
	      eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
	      eval '$MV "$nlist"T "$nlist"'
	    }
	  fi

	  # Prepare the list of exported symbols
	  if test -z "$export_symbols"; then
	    export_symbols="$output_objdir/$outputname.exp"
	    $opt_dry_run || {
	      $RM $export_symbols
	      eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
	      case $host in
	      *cygwin* | *mingw* | *cegcc* )
                eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
                eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
	        ;;
	      esac
	    }
	  else
	    $opt_dry_run || {
	      eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
	      eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
	      eval '$MV "$nlist"T "$nlist"'
	      case $host in
	        *cygwin | *mingw* | *cegcc* )
	          eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
	          eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
	          ;;
	      esac
	    }
	  fi
	fi

	for dlprefile in $dlprefiles; do
	  func_verbose "extracting global C symbols from \`$dlprefile'"
	  func_basename "$dlprefile"
	  name="$func_basename_result"
	  $opt_dry_run || {
	    eval '$ECHO ": $name " >> "$nlist"'
	    eval "$NM $dlprefile 2>/dev/null | $global_symbol_pipe >> '$nlist'"
	  }
	done

	$opt_dry_run || {
	  # Make sure we have at least an empty file.
	  test -f "$nlist" || : > "$nlist"

	  if test -n "$exclude_expsyms"; then
	    $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
	    $MV "$nlist"T "$nlist"
	  fi

	  # Try sorting and uniquifying the output.
	  if $GREP -v "^: " < "$nlist" |
	      if sort -k 3 </dev/null >/dev/null 2>&1; then
		sort -k 3
	      else
		sort +2
	      fi |
	      uniq > "$nlist"S; then
	    :
	  else
	    $GREP -v "^: " < "$nlist" > "$nlist"S
	  fi

	  if test -f "$nlist"S; then
	    eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"'
	  else
	    $ECHO '/* NONE */' >> "$output_objdir/$my_dlsyms"
	  fi

	  $ECHO >> "$output_objdir/$my_dlsyms" "\

/* The mapping between symbol names and symbols.  */
typedef struct {
  const char *name;
  void *address;
} lt_dlsymlist;
"
	  case $host in
	  *cygwin* | *mingw* | *cegcc* )
	    $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= ;;
	  *osf5*)
	    echo >> "$output_objdir/$my_dlsyms" "\
/* This system does not cope well with relocations in const data */"
	    lt_dlsym_const= ;;
	  *)
	    lt_dlsym_const=const ;;
	  esac

	  $ECHO >> "$output_objdir/$my_dlsyms" "\
extern $lt_dlsym_const lt_dlsymlist
lt_${my_prefix}_LTX_preloaded_symbols[];
$lt_dlsym_const lt_dlsymlist
lt_${my_prefix}_LTX_preloaded_symbols[] =
{\
  { \"$my_originator\", (void *) 0 },"

	  case $need_lib_prefix in
	  no)
	    eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms"
	    ;;
	  *)
	    eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms"
	    ;;
	  esac
	  $ECHO >> "$output_objdir/$my_dlsyms" "\
  {0, (void *) 0}
};

/* This works around a problem in FreeBSD linker */
#ifdef FREEBSD_WORKAROUND
static const void *lt_preloaded_setup() {
  return lt_${my_prefix}_LTX_preloaded_symbols;
}
#endif

#ifdef __cplusplus
}
#endif\
"
	} # !$opt_dry_run

	pic_flag_for_symtable=
	case "$compile_command " in
	*" -static "*) ;;
	*)
	  case $host in
	  # compiling the symbol table file with pic_flag works around
	  # a FreeBSD bug that causes programs to crash when -lm is
	  # linked before any other PIC object.  But we must not use
	  # pic_flag when linking with -static.  The problem exists in
	  # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
	  *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
	    pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;;
	  *-*-hpux*)
	    pic_flag_for_symtable=" $pic_flag"  ;;
	  *)
	    if test "X$my_pic_p" != Xno; then
	      pic_flag_for_symtable=" $pic_flag"
	    fi
	    ;;
	  esac
	  ;;
	esac
	symtab_cflags=
	for arg in $LTCFLAGS; do
	  case $arg in
	  -pie | -fpie | -fPIE) ;;
	  *) symtab_cflags="$symtab_cflags $arg" ;;
	  esac
	done

	# Now compile the dynamic symbol file.
	func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?'

	# Clean up the generated files.
	func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"'

	# Transform the symbol file into the correct name.
	symfileobj="$output_objdir/${my_outputname}S.$objext"
	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%"`
	  else
	    compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
	    finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "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%"`
	  ;;
	esac
	;;
      *)
	func_fatal_error "unknown suffix for \`$my_dlsyms'"
	;;
      esac
    else
      # We keep going just in case the user didn't refer to
      # lt_preloaded_symbols.  The linker will fail if global_symbol_pipe
      # 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@%%"`
    fi
}

# func_win32_libid arg
# return the library type of file 'arg'
#
# 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.
func_win32_libid ()
{
  $opt_debug
  win32_libid_type="unknown"
  win32_fileres=`file -L $1 2>/dev/null`
  case $win32_fileres in
  *ar\ archive\ import\ library*) # definitely import
    win32_libid_type="x86 archive import"
    ;;
  *ar\ archive*) # could be an import, or static
    if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
       $EGREP 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
      win32_nmres=`eval $NM -f posix -A $1 |
	$SED -n -e '
	    1,100{
		/ I /{
		    s,.*,import,
		    p
		    q
		}
	    }'`
      case $win32_nmres in
      import*)  win32_libid_type="x86 archive import";;
      *)        win32_libid_type="x86 archive static";;
      esac
    fi
    ;;
  *DLL*)
    win32_libid_type="x86 DLL"
    ;;
  *executable*) # but shell scripts are "executable" too...
    case $win32_fileres in
    *MS\ Windows\ PE\ Intel*)
      win32_libid_type="x86 DLL"
      ;;
    esac
    ;;
  esac
  $ECHO "$win32_libid_type"
}



# func_extract_an_archive dir oldlib
func_extract_an_archive ()
{
    $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 ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
     :
    else
      func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib"
    fi
}


# func_extract_archives gentop oldlib ...
func_extract_archives ()
{
    $opt_debug
    my_gentop="$1"; shift
    my_oldlibs=${1+"$@"}
    my_oldobjs=""
    my_xlib=""
    my_xabs=""
    my_xdir=""

    for my_xlib in $my_oldlibs; do
      # Extract the objects.
      case $my_xlib in
	[\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
	*) my_xabs=`pwd`"/$my_xlib" ;;
      esac
      func_basename "$my_xlib"
      my_xlib="$func_basename_result"
      my_xlib_u=$my_xlib
      while :; do
        case " $extracted_archives " in
	*" $my_xlib_u "*)
	  func_arith $extracted_serial + 1
	  extracted_serial=$func_arith_result
	  my_xlib_u=lt$extracted_serial-$my_xlib ;;
	*) break ;;
	esac
      done
      extracted_archives="$extracted_archives $my_xlib_u"
      my_xdir="$my_gentop/$my_xlib_u"

      func_mkdir_p "$my_xdir"

      case $host in
      *-darwin*)
	func_verbose "Extracting $my_xabs"
	# Do not bother doing anything if just a dry run
	$opt_dry_run || {
	  darwin_orig_dir=`pwd`
	  cd $my_xdir || exit $?
	  darwin_archive=$my_xabs
	  darwin_curdir=`pwd`
	  darwin_base_archive=`basename "$darwin_archive"`
	  darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true`
	  if test -n "$darwin_arches"; then
	    darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'`
	    darwin_arch=
	    func_verbose "$darwin_base_archive has multiple architectures $darwin_arches"
	    for darwin_arch in  $darwin_arches ; do
	      func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
	      $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
	      cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
	      func_extract_an_archive "`pwd`" "${darwin_base_archive}"
	      cd "$darwin_curdir"
	      $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
	    done # $darwin_arches
            ## Okay now we've a bunch of thin objects, gotta fatten them up :)
	    darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u`
	    darwin_file=
	    darwin_files=
	    for darwin_file in $darwin_filelist; do
	      darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
	      $LIPO -create -output "$darwin_file" $darwin_files
	    done # $darwin_filelist
	    $RM -rf unfat-$$
	    cd "$darwin_orig_dir"
	  else
	    cd $darwin_orig_dir
	    func_extract_an_archive "$my_xdir" "$my_xabs"
	  fi # $darwin_arches
	} # !$opt_dry_run
	;;
      *)
        func_extract_an_archive "$my_xdir" "$my_xabs"
	;;
      esac
      my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
    done

    func_extract_archives_result="$my_oldobjs"
}



# func_emit_wrapper_part1 [arg=no]
#
# 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 ()
{
	func_emit_wrapper_part1_arg1=no
	if test -n "$1" ; then
	  func_emit_wrapper_part1_arg1=$1
	fi

	$ECHO "\
#! $SHELL

# $output - temporary wrapper script for $objdir/$outputname
# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
#
# The $output program cannot be directly executed until all the libtool
# libraries that it depends on are installed.
#
# This wrapper script should never be moved out of the build directory.
# If it is, it will not operate correctly.

# 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
if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
  emulate sh
  NULLCMD=:
  # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
  # is contrary to our usage.  Disable this feature.
  alias -g '\${1+\"\$@\"}'='\"\$@\"'
  setopt NO_GLOB_SUBST
else
  case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
fi
BIN_SH=xpg4; export BIN_SH # for Tru64
DUALCASE=1; export DUALCASE # for MKS sh

# 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

relink_command=\"$relink_command\"

# This environment variable determines our operation mode.
if test \"\$libtool_install_magic\" = \"$magic\"; then
  # install mode needs the following variables:
  generated_by_libtool_version='$macro_version'
  notinst_deplibs='$notinst_deplibs'
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\
"
	$ECHO "\

  # Find the directory that this script lives in.
  thisdir=\`\$ECHO \"X\$file\" | \$Xsed -e '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'\`
  while test -n \"\$file\"; do
    destdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`

    # If there was a directory component, then change thisdir.
    if test \"x\$destdir\" != \"x\$file\"; then
      case \"\$destdir\" in
      [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
      *) thisdir=\"\$thisdir/\$destdir\" ;;
      esac
    fi

    file=\`\$ECHO \"X\$file\" | \$Xsed -e '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
  if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then
    # special case for '.'
    if test \"\$thisdir\" = \".\"; then
      thisdir=\`pwd\`
    fi
    # remove .libs from thisdir
    case \"\$thisdir\" in
    *[\\\\/]$objdir ) thisdir=\`\$ECHO \"X\$thisdir\" | \$Xsed -e 's%[\\\\/][^\\\\/]*$%%'\` ;;
    $objdir )   thisdir=. ;;
    esac
  fi

  # Try to get the absolute directory name.
  absdir=\`cd \"\$thisdir\" && pwd\`
  test -n \"\$absdir\" && thisdir=\"\$absdir\"
"

	if test "$fast_install" = yes; then
	  $ECHO "\
  program=lt-'$outputname'$exeext
  progdir=\"\$thisdir/$objdir\"

  if test ! -f \"\$progdir/\$program\" ||
     { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
       test \"X\$file\" != \"X\$progdir/\$program\"; }; then

    file=\"\$\$-\$program\"

    if test ! -d \"\$progdir\"; then
      $MKDIR \"\$progdir\"
    else
      $RM \"\$progdir/\$file\"
    fi"

	  $ECHO "\

    # relink executable if necessary
    if test -n \"\$relink_command\"; then
      if relink_command_output=\`eval \$relink_command 2>&1\`; then :
      else
	$ECHO \"\$relink_command_output\" >&2
	$RM \"\$progdir/\$file\"
	exit 1
      fi
    fi

    $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
    { $RM \"\$progdir/\$program\";
      $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; }
    $RM \"\$progdir/\$file\"
  fi"
	else
	  $ECHO "\
  program='$outputname'
  progdir=\"\$thisdir/$objdir\"
"
	fi

	$ECHO "\

  if test -f \"\$progdir/\$program\"; then"

	# Export our shlibpath_var if we have one.
	if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
	  $ECHO "\
    # Add our own library path to $shlibpath_var
    $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"

    # 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/::*\$//'\`

    export $shlibpath_var
"
	fi

	# fixup the dll searchpath if we need to.
	if test -n "$dllsearchpath"; then
	  $ECHO "\
    # Add the dll search path components to the executable PATH
    PATH=$dllsearchpath:\$PATH
"
	fi

	$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
    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
    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
#
# Convert paths to host format when used with build tools.
# Intended for use with "native" mingw (where libtool itself
# is running under the msys shell), or in the following cross-
# build environments:
#    $build          $host
#    mingw (msys)    mingw  [e.g. native]
#    cygwin          mingw
#    *nix + wine     mingw
# where wine is equipped with the `winepath' executable.
# In the native mingw case, the (msys) shell automatically
# converts paths for any non-msys applications it launches,
# but that facility isn't available from inside the cwrapper.
# Similar accommodations are necessary for $host mingw and
# $build cygwin.  Calling this function does no harm for other
# $host/$build combinations not listed above.
#
# ARG is the path (on $build) that should be converted to
# the proper representation for $host. The result is stored
# in $func_to_host_path_result.
func_to_host_path ()
{
  func_to_host_path_result="$1"
  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"`
            ;;
          *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"`
            ;;
          * )
            # Unfortunately, winepath does not exit with a non-zero
            # error code, so we are forced to check the contents of
            # stdout. On the other hand, if the command is not
            # found, the shell will set an exit code of 127 and print
            # *an error message* to stdout. So we must check for both
            # error code of zero AND non-empty stdout, which explains
            # 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" |\
                $SED -e "$lt_sed_naive_backslashify"`
            else
              # Allow warning below.
              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 "Continuing, but uninstalled executables may not work."
          # Fallback:
          func_to_host_path_result="$1"
        fi
        ;;
    esac
  fi
}
# end: func_to_host_path

# func_to_host_pathlist arg
#
# Convert pathlists to host format when used with build tools.
# See func_to_host_path(), above. This function supports the
# following $build/$host combinations (but does no harm for
# combinations not listed here):
#    $build          $host
#    mingw (msys)    mingw  [e.g. native]
#    cygwin          mingw
#    *nix + wine     mingw
#
# Path separators are also converted from $build format to
# $host format. If ARG begins or ends with a path separator
# character, it is preserved (but converted to $host format)
# on output.
#
# ARG is a pathlist (on $build) that should be converted to
# the proper representation on $host. The result is stored
# in $func_to_host_pathlist_result.
func_to_host_pathlist ()
{
  func_to_host_pathlist_result="$1"
  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|:*$||'`
        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"`
            ;;
          *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" |\
              $SED -e "$lt_sed_naive_backslashify"`
            ;;
          * )
            # unfortunately, winepath doesn't convert pathlists
            func_to_host_pathlist_result=""
            func_to_host_pathlist_oldIFS=$IFS
            IFS=:
            for func_to_host_pathlist_f in $func_to_host_pathlist_tmp1 ; do
              IFS=$func_to_host_pathlist_oldIFS
              if test -n "$func_to_host_pathlist_f" ; then
                func_to_host_path "$func_to_host_pathlist_f"
                if test -n "$func_to_host_path_result" ; then
                  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"
                  fi
                fi
              fi
              IFS=:
            done
            IFS=$func_to_host_pathlist_oldIFS
            ;;
        esac
        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 "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
          # below, but for the user to provide a working wine installation
          # with winepath so that path translation in the cross-to-mingw
          # case works properly.
          lt_replace_pathsep_nix_to_dos="s|:|;|g"
          func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp1" |\
            $SED -e "$lt_replace_pathsep_nix_to_dos"`
        fi
        # Now, add the leading and trailing path separators back
        case "$1" in
          :* ) func_to_host_pathlist_result=";$func_to_host_pathlist_result"
            ;;
        esac
        case "$1" in
          *: ) func_to_host_pathlist_result="$func_to_host_pathlist_result;"
            ;;
        esac
        ;;
    esac
  fi
}
# end: func_to_host_pathlist

# func_emit_cwrapperexe_src
# emit the source code for a wrapper executable on stdout
# Must ONLY be called from within func_mode_link because
# it depends on a number of variable set therein.
func_emit_cwrapperexe_src ()
{
	cat <<EOF

/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
   Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION

   The $output program cannot be directly executed until all the libtool
   libraries that it depends on are installed.

   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"
#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 <stdarg.h>
#include <assert.h>
#include <string.h>
#include <ctype.h>
#include <errno.h>
#include <fcntl.h>
#include <sys/stat.h>

#if defined(PATH_MAX)
# define LT_PATHMAX PATH_MAX
#elif defined(MAXPATHLEN)
# define LT_PATHMAX MAXPATHLEN
#else
# define LT_PATHMAX 1024
#endif

#ifndef S_IXOTH
# define S_IXOTH 0
#endif
#ifndef S_IXGRP
# 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

#ifndef DIR_SEPARATOR
# define DIR_SEPARATOR '/'
# define PATH_SEPARATOR ':'
#endif

#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
  defined (__OS2__)
# define HAVE_DOS_BASED_FILE_SYSTEM
# define FOPEN_WB "wb"
# ifndef DIR_SEPARATOR_2
#  define DIR_SEPARATOR_2 '\\'
# endif
# ifndef PATH_SEPARATOR_2
#  define PATH_SEPARATOR_2 ';'
# endif
#endif

#ifndef DIR_SEPARATOR_2
# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
#else /* DIR_SEPARATOR_2 */
# define IS_DIR_SEPARATOR(ch) \
	(((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
#endif /* DIR_SEPARATOR_2 */

#ifndef PATH_SEPARATOR_2
# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
#else /* PATH_SEPARATOR_2 */
# 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
#ifndef _O_BINARY
# define _O_BINARY 0
#endif

#define XMALLOC(type, num)      ((type *) xmalloc ((num) * sizeof(type)))
#define XFREE(stale) do { \
  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);
}
#else
# define LTWRAPPER_DEBUGPRINTF(args)
#endif

const char *program_name = NULL;

void *xmalloc (size_t num);
char *xstrdup (const char *string);
const char *base_name (const char *name);
char *find_executable (const char *wrapper);
char *chase_symlinks (const char *pathspec);
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_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 =
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";
const char * LIB_PATH_VARNAME = "$shlibpath_var";
EOF

	    if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
              func_to_host_pathlist "$temp_rpath"
	      cat <<EOF
const char * LIB_PATH_VALUE   = "$func_to_host_pathlist_result";
EOF
	    else
	      cat <<"EOF"
const char * LIB_PATH_VALUE   = "";
EOF
	    fi

	    if test -n "$dllsearchpath"; then
              func_to_host_pathlist "$dllsearchpath:"
	      cat <<EOF
const char * EXE_PATH_VARNAME = "PATH";
const char * EXE_PATH_VALUE   = "$func_to_host_pathlist_result";
EOF
	    else
	      cat <<"EOF"
const char * EXE_PATH_VARNAME = "";
const char * EXE_PATH_VALUE   = "";
EOF
	    fi

	    if test "$fast_install" = yes; then
	      cat <<EOF
const char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */
EOF
	    else
	      cat <<EOF
const char * TARGET_PROGRAM_NAME = "$outputname"; /* hopefully, no .exe */
EOF
	    fi


	    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 */

int
main (int argc, char *argv[])
{
  char **newargz;
  int  newargc;
  char *tmp_pathspec;
  char *actual_cwrapper_path;
  char *actual_cwrapper_name;
  char *target_name;
  char *lt_argv_zero;
  intptr_t rval = 127;

  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));

  /* very simple arg parsing; don't want to rely on getopt */
  for (i = 1; i < argc; i++)
    {
      if (strcmp (argv[i], dumpscript_opt) == 0)
	{
EOF
	    case "$host" in
	      *mingw* | *cygwin* )
		# make stdout use "unix" line endings
		echo "          setmode(1,_O_BINARY);"
		;;
	      esac

	    cat <<"EOF"
	  printf ("%s", script_text_part1);
	  printf ("%s", script_text_part2);
	  return 0;
	}
    }

  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));

  actual_cwrapper_path = chase_symlinks (tmp_pathspec);
  LTWRAPPER_DEBUGPRINTF (("(main) found exe (after symlink chase) at : %s\n",
			  actual_cwrapper_path));
  XFREE (tmp_pathspec);

  actual_cwrapper_name = xstrdup( base_name (actual_cwrapper_path));
  strendzap (actual_cwrapper_path, actual_cwrapper_name);

  /* wrapper name transforms */
  strendzap (actual_cwrapper_name, ".exe");
  tmp_pathspec = lt_extend_str (actual_cwrapper_name, ".exe", 1);
  XFREE (actual_cwrapper_name);
  actual_cwrapper_name = tmp_pathspec;
  tmp_pathspec = 0;

  /* target_name transforms -- use actual target program name; might have lt- prefix */
  target_name = xstrdup (base_name (TARGET_PROGRAM_NAME));
  strendzap (target_name, ".exe");
  tmp_pathspec = lt_extend_str (target_name, ".exe", 1);
  XFREE (target_name);
  target_name = tmp_pathspec;
  tmp_pathspec = 0;

  LTWRAPPER_DEBUGPRINTF (("(main) libtool target name: %s\n",
			  target_name));
EOF

	    cat <<EOF
  newargz[0] =
    XMALLOC (char, (strlen (actual_cwrapper_path) +
		    strlen ("$objdir") + 1 + strlen (actual_cwrapper_name) + 1));
  strcpy (newargz[0], actual_cwrapper_path);
  strcat (newargz[0], "$objdir");
  strcat (newargz[0], "/");
EOF

	    cat <<"EOF"
  /* stop here, and copy so we don't have to do this twice */
  tmp_pathspec = xstrdup (newargz[0]);

  /* do NOT want the lt- prefix here, so use actual_cwrapper_name */
  strcat (newargz[0], actual_cwrapper_name);

  /* DO want the lt- prefix here if it exists, so use target_name */
  lt_argv_zero = lt_extend_str (tmp_pathspec, target_name, 1);
  XFREE (tmp_pathspec);
  tmp_pathspec = NULL;
EOF

	    case $host_os in
	      mingw*)
	    cat <<"EOF"
  {
    char* p;
    while ((p = strchr (newargz[0], '\\')) != NULL)
      {
	*p = '/';
      }
    while ((p = strchr (lt_argv_zero, '\\')) != NULL)
      {
	*p = '/';
      }
  }
EOF
	    ;;
	    esac

	    cat <<"EOF"
  XFREE (target_name);
  XFREE (actual_cwrapper_path);
  XFREE (actual_cwrapper_name);

  lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */
  lt_setenv ("DUALCASE", "1");  /* for MSK sh */
  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>")));
  for (i = 0; i < newargc; i++)
    {
      LTWRAPPER_DEBUGPRINTF (("(main) newargz[%d]   : %s\n", i, (newargz[i] ? newargz[i] : "<NULL>")));
    }

EOF

	    case $host_os in
	      mingw*)
		cat <<"EOF"
  /* execv doesn't actually work on mingw as expected on unix */
  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));
      return 127;
    }
  return rval;
EOF
		;;
	      *)
		cat <<"EOF"
  execv (lt_argv_zero, newargz);
  return rval; /* =127, but avoids unused variable warning */
EOF
		;;
	    esac

	    cat <<"EOF"
}

void *
xmalloc (size_t num)
{
  void *p = (void *) malloc (num);
  if (!p)
    lt_fatal ("Memory exhausted");

  return p;
}

char *
xstrdup (const char *string)
{
  return string ? strcpy ((char *) xmalloc (strlen (string) + 1),
			  string) : NULL;
}

const char *
base_name (const char *name)
{
  const char *base;

#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
  /* Skip over the disk name in MSDOS pathnames. */
  if (isalpha ((unsigned char) name[0]) && name[1] == ':')
    name += 2;
#endif

  for (base = name; *name; name++)
    if (IS_DIR_SEPARATOR (*name))
      base = name + 1;
  return base;
}

int
check_executable (const char *path)
{
  struct stat st;

  LTWRAPPER_DEBUGPRINTF (("(check_executable)  : %s\n",
			  path ? (*path ? path : "EMPTY!") : "NULL!"));
  if ((!path) || (!*path))
    return 0;

  if ((stat (path, &st) >= 0)
      && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)))
    return 1;
  else
    return 0;
}

int
make_executable (const char *path)
{
  int rval = 0;
  struct stat st;

  LTWRAPPER_DEBUGPRINTF (("(make_executable)   : %s\n",
			  path ? (*path ? path : "EMPTY!") : "NULL!"));
  if ((!path) || (!*path))
    return 0;

  if (stat (path, &st) >= 0)
    {
      rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR);
    }
  return rval;
}

/* Searches for the full path of the wrapper.  Returns
   newly allocated full path name if found, NULL otherwise
   Does not chase symlinks, even on platforms that support them.
*/
char *
find_executable (const char *wrapper)
{
  int has_slash = 0;
  const char *p;
  const char *p_next;
  /* static buffer for getcwd */
  char tmp[LT_PATHMAX + 1];
  int tmp_len;
  char *concat_name;

  LTWRAPPER_DEBUGPRINTF (("(find_executable)   : %s\n",
			  wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"));

  if ((wrapper == NULL) || (*wrapper == '\0'))
    return NULL;

  /* Absolute path? */
#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
  if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':')
    {
      concat_name = xstrdup (wrapper);
      if (check_executable (concat_name))
	return concat_name;
      XFREE (concat_name);
    }
  else
    {
#endif
      if (IS_DIR_SEPARATOR (wrapper[0]))
	{
	  concat_name = xstrdup (wrapper);
	  if (check_executable (concat_name))
	    return concat_name;
	  XFREE (concat_name);
	}
#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
    }
#endif

  for (p = wrapper; *p; p++)
    if (*p == '/')
      {
	has_slash = 1;
	break;
      }
  if (!has_slash)
    {
      /* no slashes; search PATH */
      const char *path = getenv ("PATH");
      if (path != NULL)
	{
	  for (p = path; *p; p = p_next)
	    {
	      const char *q;
	      size_t p_len;
	      for (q = p; *q; q++)
		if (IS_PATH_SEPARATOR (*q))
		  break;
	      p_len = q - p;
	      p_next = (*q == '\0' ? q : q + 1);
	      if (p_len == 0)
		{
		  /* empty path: current directory */
		  if (getcwd (tmp, LT_PATHMAX) == NULL)
		    lt_fatal ("getcwd failed");
		  tmp_len = strlen (tmp);
		  concat_name =
		    XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
		  memcpy (concat_name, tmp, tmp_len);
		  concat_name[tmp_len] = '/';
		  strcpy (concat_name + tmp_len + 1, wrapper);
		}
	      else
		{
		  concat_name =
		    XMALLOC (char, p_len + 1 + strlen (wrapper) + 1);
		  memcpy (concat_name, p, p_len);
		  concat_name[p_len] = '/';
		  strcpy (concat_name + p_len + 1, wrapper);
		}
	      if (check_executable (concat_name))
		return concat_name;
	      XFREE (concat_name);
	    }
	}
      /* not found in PATH; assume curdir */
    }
  /* Relative path | not found in path: prepend cwd */
  if (getcwd (tmp, LT_PATHMAX) == NULL)
    lt_fatal ("getcwd failed");
  tmp_len = strlen (tmp);
  concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
  memcpy (concat_name, tmp, tmp_len);
  concat_name[tmp_len] = '/';
  strcpy (concat_name + tmp_len + 1, wrapper);

  if (check_executable (concat_name))
    return concat_name;
  XFREE (concat_name);
  return NULL;
}

char *
chase_symlinks (const char *pathspec)
{
#ifndef S_ISLNK
  return xstrdup (pathspec);
#else
  char buf[LT_PATHMAX];
  struct stat s;
  char *tmp_pathspec = xstrdup (pathspec);
  char *p;
  int has_symlinks = 0;
  while (strlen (tmp_pathspec) && !has_symlinks)
    {
      LTWRAPPER_DEBUGPRINTF (("checking path component for symlinks: %s\n",
			      tmp_pathspec));
      if (lstat (tmp_pathspec, &s) == 0)
	{
	  if (S_ISLNK (s.st_mode) != 0)
	    {
	      has_symlinks = 1;
	      break;
	    }

	  /* search backwards for last DIR_SEPARATOR */
	  p = tmp_pathspec + strlen (tmp_pathspec) - 1;
	  while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
	    p--;
	  if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
	    {
	      /* no more DIR_SEPARATORS left */
	      break;
	    }
	  *p = '\0';
	}
      else
	{
	  char *errstr = strerror (errno);
	  lt_fatal ("Error accessing file %s (%s)", tmp_pathspec, errstr);
	}
    }
  XFREE (tmp_pathspec);

  if (!has_symlinks)
    {
      return xstrdup (pathspec);
    }

  tmp_pathspec = realpath (pathspec, buf);
  if (tmp_pathspec == 0)
    {
      lt_fatal ("Could not follow symlinks for %s", pathspec);
    }
  return xstrdup (tmp_pathspec);
#endif
}

char *
strendzap (char *str, const char *pat)
{
  size_t len, patlen;

  assert (str != NULL);
  assert (pat != NULL);

  len = strlen (str);
  patlen = strlen (pat);

  if (patlen <= len)
    {
      str += len - patlen;
      if (strcmp (str, pat) == 0)
	*str = '\0';
    }
  return str;
}

static void
lt_error_core (int exit_status, const char *mode,
	       const char *message, va_list ap)
{
  fprintf (stderr, "%s: %s: ", program_name, mode);
  vfprintf (stderr, message, ap);
  fprintf (stderr, ".\n");

  if (exit_status >= 0)
    exit (exit_status);
}

void
lt_fatal (const char *message, ...)
{
  va_list ap;
  va_start (ap, message);
  lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
  va_end (ap);
}

void
lt_setenv (const char *name, const char *value)
{
  LTWRAPPER_DEBUGPRINTF (("(lt_setenv) setting '%s' to '%s'\n",
                          (name ? name : "<NULL>"),
                          (value ? value : "<NULL>")));
  {
#ifdef HAVE_SETENV
    /* always make a copy, for consistency with !HAVE_SETENV */
    char *str = xstrdup (value);
    setenv (name, str, 1);
#else
    int len = strlen (name) + 1 + strlen (value) + 1;
    char *str = XMALLOC (char, len);
    sprintf (str, "%s=%s", name, value);
    if (putenv (str) != EXIT_SUCCESS)
      {
        XFREE (str);
      }
#endif
  }
}

char *
lt_extend_str (const char *orig_value, const char *add, int to_end)
{
  char *new_value;
  if (orig_value && *orig_value)
    {
      int orig_value_len = strlen (orig_value);
      int add_len = strlen (add);
      new_value = XMALLOC (char, add_len + orig_value_len + 1);
      if (to_end)
        {
          strcpy (new_value, orig_value);
          strcpy (new_value + orig_value_len, add);
        }
      else
        {
          strcpy (new_value, add);
          strcpy (new_value + add_len, orig_value);
        }
    }
  else
    {
      new_value = xstrdup (add);
    }
  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>")));

  if (name && *name && value && *value)
    {
      char *new_value = lt_extend_str (getenv (name), value, 0);
      /* some systems can't cope with a ':'-terminated path #' */
      int len = strlen (new_value);
      while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1]))
        {
          new_value[len-1] = '\0';
        }
      lt_setenv (name, new_value);
      XFREE (new_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>")));

  if (name && *name && value && *value)
    {
      char *new_value = lt_extend_str (getenv (name), value, 0);
      lt_setenv (name, new_value);
      XFREE (new_value);
    }
}


EOF
}
# end: func_emit_cwrapperexe_src

# func_mode_link arg...
func_mode_link ()
{
    $opt_debug
    case $host in
    *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
      # It is impossible to link a dll without this setting, and
      # we shouldn't force the makefile maintainer to figure out
      # which system we are compiling for in order to pass an extra
      # flag for every libtool invocation.
      # allow_undefined=no

      # FIXME: Unfortunately, there are problems with the above when trying
      # to make a dll which has undefined symbols, in which case not
      # even a static library is built.  For now, we need to specify
      # -no-undefined on the libtool link line when we can be certain
      # that all symbols are satisfied, otherwise we get a static library.
      allow_undefined=yes
      ;;
    *)
      allow_undefined=yes
      ;;
    esac
    libtool_args=$nonopt
    base_compile="$nonopt $@"
    compile_command=$nonopt
    finalize_command=$nonopt

    compile_rpath=
    finalize_rpath=
    compile_shlibpath=
    finalize_shlibpath=
    convenience=
    old_convenience=
    deplibs=
    old_deplibs=
    compiler_flags=
    linker_flags=
    dllsearchpath=
    lib_search_path=`pwd`
    inst_prefix_dir=
    new_inherited_linker_flags=

    avoid_version=no
    dlfiles=
    dlprefiles=
    dlself=no
    export_dynamic=no
    export_symbols=
    export_symbols_regex=
    generated=
    libobjs=
    ltlibs=
    module=no
    no_install=no
    objs=
    non_pic_objects=
    precious_files_regex=
    prefer_static_libs=no
    preload=no
    prev=
    prevarg=
    release=
    rpath=
    xrpath=
    perm_rpath=
    temp_rpath=
    thread_safe=no
    vinfo=
    vinfo_number=no
    weak_libs=
    single_module="${wl}-single_module"
    func_infer_tag $base_compile

    # We need to know -static, to get the right output filenames.
    for arg
    do
      case $arg in
      -shared)
	test "$build_libtool_libs" != yes && \
	  func_fatal_configuration "can not build a shared library"
	build_old_libs=no
	break
	;;
      -all-static | -static | -static-libtool-libs)
	case $arg in
	-all-static)
	  if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
	    func_warning "complete static linking is impossible in this configuration"
	  fi
	  if test -n "$link_static_flag"; then
	    dlopen_self=$dlopen_self_static
	  fi
	  prefer_static_libs=yes
	  ;;
	-static)
	  if test -z "$pic_flag" && test -n "$link_static_flag"; then
	    dlopen_self=$dlopen_self_static
	  fi
	  prefer_static_libs=built
	  ;;
	-static-libtool-libs)
	  if test -z "$pic_flag" && test -n "$link_static_flag"; then
	    dlopen_self=$dlopen_self_static
	  fi
	  prefer_static_libs=yes
	  ;;
	esac
	build_libtool_libs=no
	build_old_libs=yes
	break
	;;
      esac
    done

    # See if our shared archives depend on static archives.
    test -n "$old_archive_from_new_cmds" && build_old_libs=yes

    # Go through the arguments, transforming them on the way.
    while test "$#" -gt 0; do
      arg="$1"
      shift
      func_quote_for_eval "$arg"
      qarg=$func_quote_for_eval_unquoted_result
      func_append libtool_args " $func_quote_for_eval_result"

      # If the previous option needs an argument, assign it.
      if test -n "$prev"; then
	case $prev in
	output)
	  func_append compile_command " @OUTPUT@"
	  func_append finalize_command " @OUTPUT@"
	  ;;
	esac

	case $prev in
	dlfiles|dlprefiles)
	  if test "$preload" = no; then
	    # Add the symbol object into the linking commands.
	    func_append compile_command " @SYMFILE@"
	    func_append finalize_command " @SYMFILE@"
	    preload=yes
	  fi
	  case $arg in
	  *.la | *.lo) ;;  # We handle these cases below.
	  force)
	    if test "$dlself" = no; then
	      dlself=needless
	      export_dynamic=yes
	    fi
	    prev=
	    continue
	    ;;
	  self)
	    if test "$prev" = dlprefiles; then
	      dlself=yes
	    elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
	      dlself=yes
	    else
	      dlself=needless
	      export_dynamic=yes
	    fi
	    prev=
	    continue
	    ;;
	  *)
	    if test "$prev" = dlfiles; then
	      dlfiles="$dlfiles $arg"
	    else
	      dlprefiles="$dlprefiles $arg"
	    fi
	    prev=
	    continue
	    ;;
	  esac
	  ;;
	expsyms)
	  export_symbols="$arg"
	  test -f "$arg" \
	    || func_fatal_error "symbol file \`$arg' does not exist"
	  prev=
	  continue
	  ;;
	expsyms_regex)
	  export_symbols_regex="$arg"
	  prev=
	  continue
	  ;;
	framework)
	  case $host in
	    *-*-darwin*)
	      case "$deplibs " in
		*" $qarg.ltframework "*) ;;
		*) deplibs="$deplibs $qarg.ltframework" # this is fixed later
		   ;;
	      esac
	      ;;
	  esac
	  prev=
	  continue
	  ;;
	inst_prefix)
	  inst_prefix_dir="$arg"
	  prev=
	  continue
	  ;;
	objectlist)
	  if test -f "$arg"; then
	    save_arg=$arg
	    moreargs=
	    for fil in `cat "$save_arg"`
	    do
#	      moreargs="$moreargs $fil"
	      arg=$fil
	      # A libtool-controlled object.

	      # Check to see that this really is a libtool object.
	      if func_lalib_unsafe_p "$arg"; then
		pic_object=
		non_pic_object=

		# Read the .lo file
		func_source "$arg"

		if test -z "$pic_object" ||
		   test -z "$non_pic_object" ||
		   test "$pic_object" = none &&
		   test "$non_pic_object" = none; then
		  func_fatal_error "cannot find name of object for \`$arg'"
		fi

		# Extract subdirectory from the argument.
		func_dirname "$arg" "/" ""
		xdir="$func_dirname_result"

		if test "$pic_object" != none; then
		  # Prepend the subdirectory the object is found in.
		  pic_object="$xdir$pic_object"

		  if test "$prev" = dlfiles; then
		    if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
		      dlfiles="$dlfiles $pic_object"
		      prev=
		      continue
		    else
		      # If libtool objects are unsupported, then we need to preload.
		      prev=dlprefiles
		    fi
		  fi

		  # CHECK ME:  I think I busted this.  -Ossama
		  if test "$prev" = dlprefiles; then
		    # Preload the old-style object.
		    dlprefiles="$dlprefiles $pic_object"
		    prev=
		  fi

		  # A PIC object.
		  func_append libobjs " $pic_object"
		  arg="$pic_object"
		fi

		# Non-PIC object.
		if test "$non_pic_object" != none; then
		  # Prepend the subdirectory the object is found in.
		  non_pic_object="$xdir$non_pic_object"

		  # A standard non-PIC object
		  func_append non_pic_objects " $non_pic_object"
		  if test -z "$pic_object" || test "$pic_object" = none ; then
		    arg="$non_pic_object"
		  fi
		else
		  # If the PIC object exists, use it instead.
		  # $xdir was prepended to $pic_object above.
		  non_pic_object="$pic_object"
		  func_append non_pic_objects " $non_pic_object"
		fi
	      else
		# Only an error if not doing a dry-run.
		if $opt_dry_run; then
		  # Extract subdirectory from the argument.
		  func_dirname "$arg" "/" ""
		  xdir="$func_dirname_result"

		  func_lo2o "$arg"
		  pic_object=$xdir$objdir/$func_lo2o_result
		  non_pic_object=$xdir$func_lo2o_result
		  func_append libobjs " $pic_object"
		  func_append non_pic_objects " $non_pic_object"
	        else
		  func_fatal_error "\`$arg' is not a valid libtool object"
		fi
	      fi
	    done
	  else
	    func_fatal_error "link input file \`$arg' does not exist"
	  fi
	  arg=$save_arg
	  prev=
	  continue
	  ;;
	precious_regex)
	  precious_files_regex="$arg"
	  prev=
	  continue
	  ;;
	release)
	  release="-$arg"
	  prev=
	  continue
	  ;;
	rpath | xrpath)
	  # We need an absolute path.
	  case $arg in
	  [\\/]* | [A-Za-z]:[\\/]*) ;;
	  *)
	    func_fatal_error "only absolute run-paths are allowed"
	    ;;
	  esac
	  if test "$prev" = rpath; then
	    case "$rpath " in
	    *" $arg "*) ;;
	    *) rpath="$rpath $arg" ;;
	    esac
	  else
	    case "$xrpath " in
	    *" $arg "*) ;;
	    *) xrpath="$xrpath $arg" ;;
	    esac
	  fi
	  prev=
	  continue
	  ;;
	shrext)
	  shrext_cmds="$arg"
	  prev=
	  continue
	  ;;
	weak)
	  weak_libs="$weak_libs $arg"
	  prev=
	  continue
	  ;;
	xcclinker)
	  linker_flags="$linker_flags $qarg"
	  compiler_flags="$compiler_flags $qarg"
	  prev=
	  func_append compile_command " $qarg"
	  func_append finalize_command " $qarg"
	  continue
	  ;;
	xcompiler)
	  compiler_flags="$compiler_flags $qarg"
	  prev=
	  func_append compile_command " $qarg"
	  func_append finalize_command " $qarg"
	  continue
	  ;;
	xlinker)
	  linker_flags="$linker_flags $qarg"
	  compiler_flags="$compiler_flags $wl$qarg"
	  prev=
	  func_append compile_command " $wl$qarg"
	  func_append finalize_command " $wl$qarg"
	  continue
	  ;;
	*)
	  eval "$prev=\"\$arg\""
	  prev=
	  continue
	  ;;
	esac
      fi # test -n "$prev"

      prevarg="$arg"

      case $arg in
      -all-static)
	if test -n "$link_static_flag"; then
	  # See comment for -static flag below, for more details.
	  func_append compile_command " $link_static_flag"
	  func_append finalize_command " $link_static_flag"
	fi
	continue
	;;

      -allow-undefined)
	# FIXME: remove this flag sometime in the future.
	func_fatal_error "\`-allow-undefined' must not be used because it is the default"
	;;

      -avoid-version)
	avoid_version=yes
	continue
	;;

      -dlopen)
	prev=dlfiles
	continue
	;;

      -dlpreopen)
	prev=dlprefiles
	continue
	;;

      -export-dynamic)
	export_dynamic=yes
	continue
	;;

      -export-symbols | -export-symbols-regex)
	if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
	  func_fatal_error "more than one -exported-symbols argument is not allowed"
	fi
	if test "X$arg" = "X-export-symbols"; then
	  prev=expsyms
	else
	  prev=expsyms_regex
	fi
	continue
	;;

      -framework)
	prev=framework
	continue
	;;

      -inst-prefix-dir)
	prev=inst_prefix
	continue
	;;

      # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
      # so, if we see these flags be careful not to treat them like -L
      -L[A-Z][A-Z]*:*)
	case $with_gcc/$host in
	no/*-*-irix* | /*-*-irix*)
	  func_append compile_command " $arg"
	  func_append finalize_command " $arg"
	  ;;
	esac
	continue
	;;

      -L*)
	func_stripname '-L' '' "$arg"
	dir=$func_stripname_result
	if test -z "$dir"; then
	  if test "$#" -gt 0; then
	    func_fatal_error "require no space between \`-L' and \`$1'"
	  else
	    func_fatal_error "need path for \`-L' option"
	  fi
	fi
	# We need an absolute path.
	case $dir in
	[\\/]* | [A-Za-z]:[\\/]*) ;;
	*)
	  absdir=`cd "$dir" && pwd`
	  test -z "$absdir" && \
	    func_fatal_error "cannot determine absolute directory name of \`$dir'"
	  dir="$absdir"
	  ;;
	esac
	case "$deplibs " in
	*" -L$dir "*) ;;
	*)
	  deplibs="$deplibs -L$dir"
	  lib_search_path="$lib_search_path $dir"
	  ;;
	esac
	case $host in
	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
	  testbindir=`$ECHO "X$dir" | $Xsed -e 's*/lib$*/bin*'`
	  case :$dllsearchpath: in
	  *":$dir:"*) ;;
	  ::) dllsearchpath=$dir;;
	  *) dllsearchpath="$dllsearchpath:$dir";;
	  esac
	  case :$dllsearchpath: in
	  *":$testbindir:"*) ;;
	  ::) dllsearchpath=$testbindir;;
	  *) dllsearchpath="$dllsearchpath:$testbindir";;
	  esac
	  ;;
	esac
	continue
	;;

      -l*)
	if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
	  case $host in
	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc*)
	    # These systems don't actually have a C or math library (as such)
	    continue
	    ;;
	  *-*-os2*)
	    # These systems don't actually have a C library (as such)
	    test "X$arg" = "X-lc" && continue
	    ;;
	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
	    # Do not include libc due to us having libc/libc_r.
	    test "X$arg" = "X-lc" && continue
	    ;;
	  *-*-rhapsody* | *-*-darwin1.[012])
	    # Rhapsody C and math libraries are in the System framework
	    deplibs="$deplibs System.ltframework"
	    continue
	    ;;
	  *-*-sco3.2v5* | *-*-sco5v6*)
	    # Causes problems with __ctype
	    test "X$arg" = "X-lc" && continue
	    ;;
	  *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
	    # Compiler inserts libc in the correct place for threads to work
	    test "X$arg" = "X-lc" && continue
	    ;;
	  esac
	elif test "X$arg" = "X-lc_r"; then
	 case $host in
	 *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
	   # Do not include libc_r directly, use -pthread flag.
	   continue
	   ;;
	 esac
	fi
	deplibs="$deplibs $arg"
	continue
	;;

      -module)
	module=yes
	continue
	;;

      # Tru64 UNIX uses -model [arg] to determine the layout of C++
      # classes, name mangling, and exception handling.
      # Darwin uses the -arch flag to determine output architecture.
      -model|-arch|-isysroot)
	compiler_flags="$compiler_flags $arg"
	func_append compile_command " $arg"
	func_append finalize_command " $arg"
	prev=xcompiler
	continue
	;;

      -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
	compiler_flags="$compiler_flags $arg"
	func_append compile_command " $arg"
	func_append finalize_command " $arg"
	case "$new_inherited_linker_flags " in
	    *" $arg "*) ;;
	    * ) new_inherited_linker_flags="$new_inherited_linker_flags $arg" ;;
	esac
	continue
	;;

      -multi_module)
	single_module="${wl}-multi_module"
	continue
	;;

      -no-fast-install)
	fast_install=no
	continue
	;;

      -no-install)
	case $host in
	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*)
	  # The PATH hackery in wrapper scripts is required on Windows
	  # and Darwin in order for the loader to find any dlls it needs.
	  func_warning "\`-no-install' is ignored for $host"
	  func_warning "assuming \`-no-fast-install' instead"
	  fast_install=no
	  ;;
	*) no_install=yes ;;
	esac
	continue
	;;

      -no-undefined)
	allow_undefined=no
	continue
	;;

      -objectlist)
	prev=objectlist
	continue
	;;

      -o) prev=output ;;

      -precious-files-regex)
	prev=precious_regex
	continue
	;;

      -release)
	prev=release
	continue
	;;

      -rpath)
	prev=rpath
	continue
	;;

      -R)
	prev=xrpath
	continue
	;;

      -R*)
	func_stripname '-R' '' "$arg"
	dir=$func_stripname_result
	# We need an absolute path.
	case $dir in
	[\\/]* | [A-Za-z]:[\\/]*) ;;
	*)
	  func_fatal_error "only absolute run-paths are allowed"
	  ;;
	esac
	case "$xrpath " in
	*" $dir "*) ;;
	*) xrpath="$xrpath $dir" ;;
	esac
	continue
	;;

      -shared)
	# The effects of -shared are defined in a previous loop.
	continue
	;;

      -shrext)
	prev=shrext
	continue
	;;

      -static | -static-libtool-libs)
	# The effects of -static are defined in a previous loop.
	# We used to do the same as -all-static on platforms that
	# didn't have a PIC flag, but the assumption that the effects
	# would be equivalent was wrong.  It would break on at least
	# Digital Unix and AIX.
	continue
	;;

      -thread-safe)
	thread_safe=yes
	continue
	;;

      -version-info)
	prev=vinfo
	continue
	;;

      -version-number)
	prev=vinfo
	vinfo_number=yes
	continue
	;;

      -weak)
        prev=weak
	continue
	;;

      -Wc,*)
	func_stripname '-Wc,' '' "$arg"
	args=$func_stripname_result
	arg=
	save_ifs="$IFS"; IFS=','
	for flag in $args; do
	  IFS="$save_ifs"
          func_quote_for_eval "$flag"
	  arg="$arg $wl$func_quote_for_eval_result"
	  compiler_flags="$compiler_flags $func_quote_for_eval_result"
	done
	IFS="$save_ifs"
	func_stripname ' ' '' "$arg"
	arg=$func_stripname_result
	;;

      -Wl,*)
	func_stripname '-Wl,' '' "$arg"
	args=$func_stripname_result
	arg=
	save_ifs="$IFS"; IFS=','
	for flag in $args; do
	  IFS="$save_ifs"
          func_quote_for_eval "$flag"
	  arg="$arg $wl$func_quote_for_eval_result"
	  compiler_flags="$compiler_flags $wl$func_quote_for_eval_result"
	  linker_flags="$linker_flags $func_quote_for_eval_result"
	done
	IFS="$save_ifs"
	func_stripname ' ' '' "$arg"
	arg=$func_stripname_result
	;;

      -Xcompiler)
	prev=xcompiler
	continue
	;;

      -Xlinker)
	prev=xlinker
	continue
	;;

      -XCClinker)
	prev=xcclinker
	continue
	;;

      # -msg_* for osf cc
      -msg_*)
	func_quote_for_eval "$arg"
	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
      -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
      -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*)
        func_quote_for_eval "$arg"
	arg="$func_quote_for_eval_result"
        func_append compile_command " $arg"
        func_append finalize_command " $arg"
        compiler_flags="$compiler_flags $arg"
        continue
        ;;

      # Some other compiler flag.
      -* | +*)
        func_quote_for_eval "$arg"
	arg="$func_quote_for_eval_result"
	;;

      *.$objext)
	# A standard object.
	objs="$objs $arg"
	;;

      *.lo)
	# A libtool-controlled object.

	# Check to see that this really is a libtool object.
	if func_lalib_unsafe_p "$arg"; then
	  pic_object=
	  non_pic_object=

	  # Read the .lo file
	  func_source "$arg"

	  if test -z "$pic_object" ||
	     test -z "$non_pic_object" ||
	     test "$pic_object" = none &&
	     test "$non_pic_object" = none; then
	    func_fatal_error "cannot find name of object for \`$arg'"
	  fi

	  # Extract subdirectory from the argument.
	  func_dirname "$arg" "/" ""
	  xdir="$func_dirname_result"

	  if test "$pic_object" != none; then
	    # Prepend the subdirectory the object is found in.
	    pic_object="$xdir$pic_object"

	    if test "$prev" = dlfiles; then
	      if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
		dlfiles="$dlfiles $pic_object"
		prev=
		continue
	      else
		# If libtool objects are unsupported, then we need to preload.
		prev=dlprefiles
	      fi
	    fi

	    # CHECK ME:  I think I busted this.  -Ossama
	    if test "$prev" = dlprefiles; then
	      # Preload the old-style object.
	      dlprefiles="$dlprefiles $pic_object"
	      prev=
	    fi

	    # A PIC object.
	    func_append libobjs " $pic_object"
	    arg="$pic_object"
	  fi

	  # Non-PIC object.
	  if test "$non_pic_object" != none; then
	    # Prepend the subdirectory the object is found in.
	    non_pic_object="$xdir$non_pic_object"

	    # A standard non-PIC object
	    func_append non_pic_objects " $non_pic_object"
	    if test -z "$pic_object" || test "$pic_object" = none ; then
	      arg="$non_pic_object"
	    fi
	  else
	    # If the PIC object exists, use it instead.
	    # $xdir was prepended to $pic_object above.
	    non_pic_object="$pic_object"
	    func_append non_pic_objects " $non_pic_object"
	  fi
	else
	  # Only an error if not doing a dry-run.
	  if $opt_dry_run; then
	    # Extract subdirectory from the argument.
	    func_dirname "$arg" "/" ""
	    xdir="$func_dirname_result"

	    func_lo2o "$arg"
	    pic_object=$xdir$objdir/$func_lo2o_result
	    non_pic_object=$xdir$func_lo2o_result
	    func_append libobjs " $pic_object"
	    func_append non_pic_objects " $non_pic_object"
	  else
	    func_fatal_error "\`$arg' is not a valid libtool object"
	  fi
	fi
	;;

      *.$libext)
	# An archive.
	deplibs="$deplibs $arg"
	old_deplibs="$old_deplibs $arg"
	continue
	;;

      *.la)
	# A libtool-controlled library.

	if test "$prev" = dlfiles; then
	  # This library was specified with -dlopen.
	  dlfiles="$dlfiles $arg"
	  prev=
	elif test "$prev" = dlprefiles; then
	  # The library was specified with -dlpreopen.
	  dlprefiles="$dlprefiles $arg"
	  prev=
	else
	  deplibs="$deplibs $arg"
	fi
	continue
	;;

      # Some other compiler argument.
      *)
	# Unknown arguments in both finalize_command and compile_command need
	# to be aesthetically quoted because they are evaled later.
	func_quote_for_eval "$arg"
	arg="$func_quote_for_eval_result"
	;;
      esac # arg

      # Now actually substitute the argument into the commands.
      if test -n "$arg"; then
	func_append compile_command " $arg"
	func_append finalize_command " $arg"
      fi
    done # argument parsing loop

    test -n "$prev" && \
      func_fatal_help "the \`$prevarg' option requires an argument"

    if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
      eval arg=\"$export_dynamic_flag_spec\"
      func_append compile_command " $arg"
      func_append finalize_command " $arg"
    fi

    oldlibs=
    # calculate the name of the file, without its directory
    func_basename "$output"
    outputname="$func_basename_result"
    libobjs_save="$libobjs"

    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\'\`
    else
      shlib_search_path=
    fi
    eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
    eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"

    func_dirname "$output" "/" ""
    output_objdir="$func_dirname_result$objdir"
    # Create the object directory.
    func_mkdir_p "$output_objdir"

    # Determine the type of output
    case $output in
    "")
      func_fatal_help "you must specify an output file"
      ;;
    *.$libext) linkmode=oldlib ;;
    *.lo | *.$objext) linkmode=obj ;;
    *.la) linkmode=lib ;;
    *) linkmode=prog ;; # Anything else should be a program.
    esac

    specialdeplibs=

    libs=
    # Find all interdependent deplibs by searching for libraries
    # that are linked more than once (e.g. -la -lb -la)
    for deplib in $deplibs; do
      if $opt_duplicate_deps ; then
	case "$libs " in
	*" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
	esac
      fi
      libs="$libs $deplib"
    done

    if test "$linkmode" = lib; then
      libs="$predeps $libs $compiler_lib_search_path $postdeps"

      # Compute libraries that are listed more than once in $predeps
      # $postdeps and mark them as special (i.e., whose duplicates are
      # not to be eliminated).
      pre_post_deps=
      if $opt_duplicate_compiler_generated_deps; then
	for pre_post_dep in $predeps $postdeps; do
	  case "$pre_post_deps " in
	  *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;;
	  esac
	  pre_post_deps="$pre_post_deps $pre_post_dep"
	done
      fi
      pre_post_deps=
    fi

    deplibs=
    newdependency_libs=
    newlib_search_path=
    need_relink=no # whether we're linking any uninstalled libtool libraries
    notinst_deplibs= # not-installed libtool libraries
    notinst_path= # paths that contain not-installed libtool libraries

    case $linkmode in
    lib)
	passes="conv dlpreopen link"
	for file in $dlfiles $dlprefiles; do
	  case $file in
	  *.la) ;;
	  *)
	    func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file"
	    ;;
	  esac
	done
	;;
    prog)
	compile_deplibs=
	finalize_deplibs=
	alldeplibs=no
	newdlfiles=
	newdlprefiles=
	passes="conv scan dlopen dlpreopen link"
	;;
    *)  passes="conv"
	;;
    esac

    for pass in $passes; do
      # The preopen pass in lib mode reverses $deplibs; put it back here
      # so that -L comes before libs that need it for instance...
      if test "$linkmode,$pass" = "lib,link"; then
	## FIXME: Find the place where the list is rebuilt in the wrong
	##        order, and fix it there properly
        tmp_deplibs=
	for deplib in $deplibs; do
	  tmp_deplibs="$deplib $tmp_deplibs"
	done
	deplibs="$tmp_deplibs"
      fi

      if test "$linkmode,$pass" = "lib,link" ||
	 test "$linkmode,$pass" = "prog,scan"; then
	libs="$deplibs"
	deplibs=
      fi
      if test "$linkmode" = prog; then
	case $pass in
	dlopen) libs="$dlfiles" ;;
	dlpreopen) libs="$dlprefiles" ;;
	link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
	esac
      fi
      if test "$linkmode,$pass" = "lib,dlpreopen"; then
	# Collect and forward deplibs of preopened libtool libs
	for lib in $dlprefiles; do
	  # Ignore non-libtool-libs
	  dependency_libs=
	  case $lib in
	  *.la)	func_source "$lib" ;;
	  esac

	  # 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"`
	    case " $weak_libs " in
	    *" $deplib_base "*) ;;
	    *) deplibs="$deplibs $deplib" ;;
	    esac
	  done
	done
	libs="$dlprefiles"
      fi
      if test "$pass" = dlopen; then
	# Collect dlpreopened libraries
	save_deplibs="$deplibs"
	deplibs=
      fi

      for deplib in $libs; do
	lib=
	found=no
	case $deplib in
	-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
	  if test "$linkmode,$pass" = "prog,link"; then
	    compile_deplibs="$deplib $compile_deplibs"
	    finalize_deplibs="$deplib $finalize_deplibs"
	  else
	    compiler_flags="$compiler_flags $deplib"
	    if test "$linkmode" = lib ; then
		case "$new_inherited_linker_flags " in
		    *" $deplib "*) ;;
		    * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
		esac
	    fi
	  fi
	  continue
	  ;;
	-l*)
	  if test "$linkmode" != lib && test "$linkmode" != prog; then
	    func_warning "\`-l' is ignored for archives/objects"
	    continue
	  fi
	  func_stripname '-l' '' "$deplib"
	  name=$func_stripname_result
	  if test "$linkmode" = lib; then
	    searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
	  else
	    searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
	  fi
	  for searchdir in $searchdirs; do
	    for search_ext in .la $std_shrext .so .a; do
	      # Search the libtool library
	      lib="$searchdir/lib${name}${search_ext}"
	      if test -f "$lib"; then
		if test "$search_ext" = ".la"; then
		  found=yes
		else
		  found=no
		fi
		break 2
	      fi
	    done
	  done
	  if test "$found" != yes; then
	    # deplib doesn't seem to be a libtool library
	    if test "$linkmode,$pass" = "prog,link"; then
	      compile_deplibs="$deplib $compile_deplibs"
	      finalize_deplibs="$deplib $finalize_deplibs"
	    else
	      deplibs="$deplib $deplibs"
	      test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
	    fi
	    continue
	  else # deplib is a libtool library
	    # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
	    # We need to do some special things here, and not later.
	    if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
	      case " $predeps $postdeps " in
	      *" $deplib "*)
		if func_lalib_p "$lib"; then
		  library_names=
		  old_library=
		  func_source "$lib"
		  for l in $old_library $library_names; do
		    ll="$l"
		  done
		  if test "X$ll" = "X$old_library" ; then # only static version available
		    found=no
		    func_dirname "$lib" "" "."
		    ladir="$func_dirname_result"
		    lib=$ladir/$old_library
		    if test "$linkmode,$pass" = "prog,link"; then
		      compile_deplibs="$deplib $compile_deplibs"
		      finalize_deplibs="$deplib $finalize_deplibs"
		    else
		      deplibs="$deplib $deplibs"
		      test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
		    fi
		    continue
		  fi
		fi
		;;
	      *) ;;
	      esac
	    fi
	  fi
	  ;; # -l
	*.ltframework)
	  if test "$linkmode,$pass" = "prog,link"; then
	    compile_deplibs="$deplib $compile_deplibs"
	    finalize_deplibs="$deplib $finalize_deplibs"
	  else
	    deplibs="$deplib $deplibs"
	    if test "$linkmode" = lib ; then
		case "$new_inherited_linker_flags " in
		    *" $deplib "*) ;;
		    * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
		esac
	    fi
	  fi
	  continue
	  ;;
	-L*)
	  case $linkmode in
	  lib)
	    deplibs="$deplib $deplibs"
	    test "$pass" = conv && continue
	    newdependency_libs="$deplib $newdependency_libs"
	    func_stripname '-L' '' "$deplib"
	    newlib_search_path="$newlib_search_path $func_stripname_result"
	    ;;
	  prog)
	    if test "$pass" = conv; then
	      deplibs="$deplib $deplibs"
	      continue
	    fi
	    if test "$pass" = scan; then
	      deplibs="$deplib $deplibs"
	    else
	      compile_deplibs="$deplib $compile_deplibs"
	      finalize_deplibs="$deplib $finalize_deplibs"
	    fi
	    func_stripname '-L' '' "$deplib"
	    newlib_search_path="$newlib_search_path $func_stripname_result"
	    ;;
	  *)
	    func_warning "\`-L' is ignored for archives/objects"
	    ;;
	  esac # linkmode
	  continue
	  ;; # -L
	-R*)
	  if test "$pass" = link; then
	    func_stripname '-R' '' "$deplib"
	    dir=$func_stripname_result
	    # Make sure the xrpath contains only unique directories.
	    case "$xrpath " in
	    *" $dir "*) ;;
	    *) xrpath="$xrpath $dir" ;;
	    esac
	  fi
	  deplibs="$deplib $deplibs"
	  continue
	  ;;
	*.la) lib="$deplib" ;;
	*.$libext)
	  if test "$pass" = conv; then
	    deplibs="$deplib $deplibs"
	    continue
	  fi
	  case $linkmode in
	  lib)
	    # Linking convenience modules into shared libraries is allowed,
	    # but linking other static libraries is non-portable.
	    case " $dlpreconveniencelibs " in
	    *" $deplib "*) ;;
	    *)
	      valid_a_lib=no
	      case $deplibs_check_method in
		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 \
		    | $EGREP "$match_pattern_regex" > /dev/null; then
		    valid_a_lib=yes
		  fi
		;;
		pass_all)
		  valid_a_lib=yes
		;;
	      esac
	      if test "$valid_a_lib" != yes; then
		$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."
	      else
		$ECHO
		$ECHO "*** Warning: Linking the shared library $output against the"
		$ECHO "*** static library $deplib is not portable!"
		deplibs="$deplib $deplibs"
	      fi
	      ;;
	    esac
	    continue
	    ;;
	  prog)
	    if test "$pass" != link; then
	      deplibs="$deplib $deplibs"
	    else
	      compile_deplibs="$deplib $compile_deplibs"
	      finalize_deplibs="$deplib $finalize_deplibs"
	    fi
	    continue
	    ;;
	  esac # linkmode
	  ;; # *.$libext
	*.lo | *.$objext)
	  if test "$pass" = conv; then
	    deplibs="$deplib $deplibs"
	  elif test "$linkmode" = prog; then
	    if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
	      # If there is no dlopen support or we're linking statically,
	      # we need to preload.
	      newdlprefiles="$newdlprefiles $deplib"
	      compile_deplibs="$deplib $compile_deplibs"
	      finalize_deplibs="$deplib $finalize_deplibs"
	    else
	      newdlfiles="$newdlfiles $deplib"
	    fi
	  fi
	  continue
	  ;;
	%DEPLIBS%)
	  alldeplibs=yes
	  continue
	  ;;
	esac # case $deplib

	if test "$found" = yes || test -f "$lib"; then :
	else
	  func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'"
	fi

	# Check to see that this really is a libtool archive.
	func_lalib_unsafe_p "$lib" \
	  || func_fatal_error "\`$lib' is not a valid libtool archive"

	func_dirname "$lib" "" "."
	ladir="$func_dirname_result"

	dlname=
	dlopen=
	dlpreopen=
	libdir=
	library_names=
	old_library=
	inherited_linker_flags=
	# If the library was installed with an old release of libtool,
	# it will not redefine variables installed, or shouldnotlink
	installed=yes
	shouldnotlink=no
	avoidtemprpath=


	# Read the .la file
	func_source "$lib"

	# 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'`
	  for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do
	    case " $new_inherited_linker_flags " in
	      *" $tmp_inherited_linker_flag "*) ;;
	      *) new_inherited_linker_flags="$new_inherited_linker_flags $tmp_inherited_linker_flag";;
	    esac
	  done
	fi
	dependency_libs=`$ECHO "X $dependency_libs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
	if test "$linkmode,$pass" = "lib,link" ||
	   test "$linkmode,$pass" = "prog,scan" ||
	   { test "$linkmode" != prog && test "$linkmode" != lib; }; then
	  test -n "$dlopen" && dlfiles="$dlfiles $dlopen"
	  test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen"
	fi

	if test "$pass" = conv; then
	  # Only check for convenience libraries
	  deplibs="$lib $deplibs"
	  if test -z "$libdir"; then
	    if test -z "$old_library"; then
	      func_fatal_error "cannot find name of link library for \`$lib'"
	    fi
	    # It is a libtool convenience library, so add in its objects.
	    convenience="$convenience $ladir/$objdir/$old_library"
	    old_convenience="$old_convenience $ladir/$objdir/$old_library"
	  elif test "$linkmode" != prog && test "$linkmode" != lib; then
	    func_fatal_error "\`$lib' is not a convenience library"
	  fi
	  tmp_libs=
	  for deplib in $dependency_libs; do
	    deplibs="$deplib $deplibs"
	    if $opt_duplicate_deps ; then
	      case "$tmp_libs " in
	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
	      esac
	    fi
	    tmp_libs="$tmp_libs $deplib"
	  done
	  continue
	fi # $pass = conv


	# Get the name of the library we link against.
	linklib=
	for l in $old_library $library_names; do
	  linklib="$l"
	done
	if test -z "$linklib"; then
	  func_fatal_error "cannot find name of link library for \`$lib'"
	fi

	# This library was specified with -dlopen.
	if test "$pass" = dlopen; then
	  if test -z "$libdir"; then
	    func_fatal_error "cannot -dlopen a convenience library: \`$lib'"
	  fi
	  if test -z "$dlname" ||
	     test "$dlopen_support" != yes ||
	     test "$build_libtool_libs" = no; then
	    # If there is no dlname, no dlopen support or we're linking
	    # statically, we need to preload.  We also need to preload any
	    # dependent libraries so libltdl's deplib preloader doesn't
	    # bomb out in the load deplibs phase.
	    dlprefiles="$dlprefiles $lib $dependency_libs"
	  else
	    newdlfiles="$newdlfiles $lib"
	  fi
	  continue
	fi # $pass = dlopen

	# We need an absolute path.
	case $ladir in
	[\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
	*)
	  abs_ladir=`cd "$ladir" && pwd`
	  if test -z "$abs_ladir"; then
	    func_warning "cannot determine absolute directory name of \`$ladir'"
	    func_warning "passing it literally to the linker, although it might fail"
	    abs_ladir="$ladir"
	  fi
	  ;;
	esac
	func_basename "$lib"
	laname="$func_basename_result"

	# Find the relevant object directory and library name.
	if test "X$installed" = Xyes; then
	  if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
	    func_warning "library \`$lib' was moved."
	    dir="$ladir"
	    absdir="$abs_ladir"
	    libdir="$abs_ladir"
	  else
	    dir="$libdir"
	    absdir="$libdir"
	  fi
	  test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
	else
	  if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
	    dir="$ladir"
	    absdir="$abs_ladir"
	    # Remove this search path later
	    notinst_path="$notinst_path $abs_ladir"
	  else
	    dir="$ladir/$objdir"
	    absdir="$abs_ladir/$objdir"
	    # Remove this search path later
	    notinst_path="$notinst_path $abs_ladir"
	  fi
	fi # $installed = yes
	func_stripname 'lib' '.la' "$laname"
	name=$func_stripname_result

	# This library was specified with -dlpreopen.
	if test "$pass" = dlpreopen; then
	  if test -z "$libdir" && test "$linkmode" = prog; then
	    func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'"
	  fi
	  # Prefer using a static library (so that no silly _DYNAMIC symbols
	  # are required to link).
	  if test -n "$old_library"; then
	    newdlprefiles="$newdlprefiles $dir/$old_library"
	    # Keep a list of preopened convenience libraries to check
	    # that they are being used correctly in the link pass.
	    test -z "$libdir" && \
		dlpreconveniencelibs="$dlpreconveniencelibs $dir/$old_library"
	  # Otherwise, use the dlname, so that lt_dlopen finds it.
	  elif test -n "$dlname"; then
	    newdlprefiles="$newdlprefiles $dir/$dlname"
	  else
	    newdlprefiles="$newdlprefiles $dir/$linklib"
	  fi
	fi # $pass = dlpreopen

	if test -z "$libdir"; then
	  # Link the convenience library
	  if test "$linkmode" = lib; then
	    deplibs="$dir/$old_library $deplibs"
	  elif test "$linkmode,$pass" = "prog,link"; then
	    compile_deplibs="$dir/$old_library $compile_deplibs"
	    finalize_deplibs="$dir/$old_library $finalize_deplibs"
	  else
	    deplibs="$lib $deplibs" # used for prog,scan pass
	  fi
	  continue
	fi


	if test "$linkmode" = prog && test "$pass" != link; then
	  newlib_search_path="$newlib_search_path $ladir"
	  deplibs="$lib $deplibs"

	  linkalldeplibs=no
	  if test "$link_all_deplibs" != no || test -z "$library_names" ||
	     test "$build_libtool_libs" = no; then
	    linkalldeplibs=yes
	  fi

	  tmp_libs=
	  for deplib in $dependency_libs; do
	    case $deplib in
	    -L*) func_stripname '-L' '' "$deplib"
	         newlib_search_path="$newlib_search_path $func_stripname_result"
		 ;;
	    esac
	    # Need to link against all dependency_libs?
	    if test "$linkalldeplibs" = yes; then
	      deplibs="$deplib $deplibs"
	    else
	      # Need to hardcode shared library paths
	      # or/and link against static libraries
	      newdependency_libs="$deplib $newdependency_libs"
	    fi
	    if $opt_duplicate_deps ; then
	      case "$tmp_libs " in
	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
	      esac
	    fi
	    tmp_libs="$tmp_libs $deplib"
	  done # for deplib
	  continue
	fi # $linkmode = prog...

	if test "$linkmode,$pass" = "prog,link"; then
	  if test -n "$library_names" &&
	     { { test "$prefer_static_libs" = no ||
	         test "$prefer_static_libs,$installed" = "built,yes"; } ||
	       test -z "$old_library"; }; then
	    # We need to hardcode the library path
	    if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
	      # Make sure the rpath contains only unique directories.
	      case "$temp_rpath:" in
	      *"$absdir:"*) ;;
	      *) temp_rpath="$temp_rpath$absdir:" ;;
	      esac
	    fi

	    # Hardcode the library path.
	    # Skip directories that are in the system default run-time
	    # search path.
	    case " $sys_lib_dlsearch_path " in
	    *" $absdir "*) ;;
	    *)
	      case "$compile_rpath " in
	      *" $absdir "*) ;;
	      *) compile_rpath="$compile_rpath $absdir"
	      esac
	      ;;
	    esac
	    case " $sys_lib_dlsearch_path " in
	    *" $libdir "*) ;;
	    *)
	      case "$finalize_rpath " in
	      *" $libdir "*) ;;
	      *) finalize_rpath="$finalize_rpath $libdir"
	      esac
	      ;;
	    esac
	  fi # $linkmode,$pass = prog,link...

	  if test "$alldeplibs" = yes &&
	     { test "$deplibs_check_method" = pass_all ||
	       { test "$build_libtool_libs" = yes &&
		 test -n "$library_names"; }; }; then
	    # We only need to search for static libraries
	    continue
	  fi
	fi

	link_static=no # Whether the deplib will be linked statically
	use_static_libs=$prefer_static_libs
	if test "$use_static_libs" = built && test "$installed" = yes; then
	  use_static_libs=no
	fi
	if test -n "$library_names" &&
	   { test "$use_static_libs" = no || test -z "$old_library"; }; then
	  case $host in
	  *cygwin* | *mingw* | *cegcc*)
	      # No point in relinking DLLs because paths are not encoded
	      notinst_deplibs="$notinst_deplibs $lib"
	      need_relink=no
	    ;;
	  *)
	    if test "$installed" = no; then
	      notinst_deplibs="$notinst_deplibs $lib"
	      need_relink=yes
	    fi
	    ;;
	  esac
	  # This is a shared library

	  # Warn about portability, can't link against -module's on some
	  # systems (darwin).  Don't bleat about dlopened modules though!
	  dlopenmodule=""
	  for dlpremoduletest in $dlprefiles; do
	    if test "X$dlpremoduletest" = "X$lib"; then
	      dlopenmodule="$dlpremoduletest"
	      break
	    fi
	  done
	  if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then
	    $ECHO
	    if test "$linkmode" = prog; then
	      $ECHO "*** Warning: Linking the executable $output against the loadable module"
	    else
	      $ECHO "*** Warning: Linking the shared library $output against the loadable module"
	    fi
	    $ECHO "*** $linklib is not portable!"
	  fi
	  if test "$linkmode" = lib &&
	     test "$hardcode_into_libs" = yes; then
	    # Hardcode the library path.
	    # Skip directories that are in the system default run-time
	    # search path.
	    case " $sys_lib_dlsearch_path " in
	    *" $absdir "*) ;;
	    *)
	      case "$compile_rpath " in
	      *" $absdir "*) ;;
	      *) compile_rpath="$compile_rpath $absdir"
	      esac
	      ;;
	    esac
	    case " $sys_lib_dlsearch_path " in
	    *" $libdir "*) ;;
	    *)
	      case "$finalize_rpath " in
	      *" $libdir "*) ;;
	      *) finalize_rpath="$finalize_rpath $libdir"
	      esac
	      ;;
	    esac
	  fi

	  if test -n "$old_archive_from_expsyms_cmds"; then
	    # figure out the soname
	    set dummy $library_names
	    shift
	    realname="$1"
	    shift
	    libname=`eval "\\$ECHO \"$libname_spec\""`
	    # use dlname if we got it. it's perfectly good, no?
	    if test -n "$dlname"; then
	      soname="$dlname"
	    elif test -n "$soname_spec"; then
	      # bleh windows
	      case $host in
	      *cygwin* | mingw* | *cegcc*)
	        func_arith $current - $age
		major=$func_arith_result
		versuffix="-$major"
		;;
	      esac
	      eval soname=\"$soname_spec\"
	    else
	      soname="$realname"
	    fi

	    # Make a new name for the extract_expsyms_cmds to use
	    soroot="$soname"
	    func_basename "$soroot"
	    soname="$func_basename_result"
	    func_stripname 'lib' '.dll' "$soname"
	    newlib=libimp-$func_stripname_result.a

	    # If the library has no export list, then create one now
	    if test -f "$output_objdir/$soname-def"; then :
	    else
	      func_verbose "extracting exported symbol list from \`$soname'"
	      func_execute_cmds "$extract_expsyms_cmds" 'exit $?'
	    fi

	    # Create $newlib
	    if test -f "$output_objdir/$newlib"; then :; else
	      func_verbose "generating import library for \`$soname'"
	      func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?'
	    fi
	    # make sure the library variables are pointing to the new library
	    dir=$output_objdir
	    linklib=$newlib
	  fi # test -n "$old_archive_from_expsyms_cmds"

	  if test "$linkmode" = prog || test "$mode" != relink; then
	    add_shlibpath=
	    add_dir=
	    add=
	    lib_linked=yes
	    case $hardcode_action in
	    immediate | unsupported)
	      if test "$hardcode_direct" = no; then
		add="$dir/$linklib"
		case $host in
		  *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
		  *-*-sysv4*uw2*) add_dir="-L$dir" ;;
		  *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
		    *-*-unixware7*) add_dir="-L$dir" ;;
		  *-*-darwin* )
		    # if the lib is a (non-dlopened) module then we can not
		    # link against it, someone is ignoring the earlier warnings
		    if /usr/bin/file -L $add 2> /dev/null |
			 $GREP ": [^:]* bundle" >/dev/null ; then
		      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"
			else
			  add="$dir/$old_library"
			fi
		      elif test -n "$old_library"; then
			add="$dir/$old_library"
		      fi
		    fi
		esac
	      elif test "$hardcode_minus_L" = no; then
		case $host in
		*-*-sunos*) add_shlibpath="$dir" ;;
		esac
		add_dir="-L$dir"
		add="-l$name"
	      elif test "$hardcode_shlibpath_var" = no; then
		add_shlibpath="$dir"
		add="-l$name"
	      else
		lib_linked=no
	      fi
	      ;;
	    relink)
	      if test "$hardcode_direct" = yes &&
	         test "$hardcode_direct_absolute" = no; then
		add="$dir/$linklib"
	      elif test "$hardcode_minus_L" = yes; then
		add_dir="-L$dir"
		# Try looking first in the location we're being installed to.
		if test -n "$inst_prefix_dir"; then
		  case $libdir in
		    [\\/]*)
		      add_dir="$add_dir -L$inst_prefix_dir$libdir"
		      ;;
		  esac
		fi
		add="-l$name"
	      elif test "$hardcode_shlibpath_var" = yes; then
		add_shlibpath="$dir"
		add="-l$name"
	      else
		lib_linked=no
	      fi
	      ;;
	    *) lib_linked=no ;;
	    esac

	    if test "$lib_linked" != yes; then
	      func_fatal_configuration "unsupported hardcode properties"
	    fi

	    if test -n "$add_shlibpath"; then
	      case :$compile_shlibpath: in
	      *":$add_shlibpath:"*) ;;
	      *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;
	      esac
	    fi
	    if test "$linkmode" = prog; then
	      test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
	      test -n "$add" && compile_deplibs="$add $compile_deplibs"
	    else
	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
	      test -n "$add" && deplibs="$add $deplibs"
	      if test "$hardcode_direct" != yes &&
		 test "$hardcode_minus_L" != yes &&
		 test "$hardcode_shlibpath_var" = yes; then
		case :$finalize_shlibpath: in
		*":$libdir:"*) ;;
		*) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
		esac
	      fi
	    fi
	  fi

	  if test "$linkmode" = prog || test "$mode" = relink; then
	    add_shlibpath=
	    add_dir=
	    add=
	    # Finalize command for both is simple: just hardcode it.
	    if test "$hardcode_direct" = yes &&
	       test "$hardcode_direct_absolute" = no; then
	      add="$libdir/$linklib"
	    elif test "$hardcode_minus_L" = yes; then
	      add_dir="-L$libdir"
	      add="-l$name"
	    elif test "$hardcode_shlibpath_var" = yes; then
	      case :$finalize_shlibpath: in
	      *":$libdir:"*) ;;
	      *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
	      esac
	      add="-l$name"
	    elif test "$hardcode_automatic" = yes; then
	      if test -n "$inst_prefix_dir" &&
		 test -f "$inst_prefix_dir$libdir/$linklib" ; then
		add="$inst_prefix_dir$libdir/$linklib"
	      else
		add="$libdir/$linklib"
	      fi
	    else
	      # We cannot seem to hardcode it, guess we'll fake it.
	      add_dir="-L$libdir"
	      # Try looking first in the location we're being installed to.
	      if test -n "$inst_prefix_dir"; then
		case $libdir in
		  [\\/]*)
		    add_dir="$add_dir -L$inst_prefix_dir$libdir"
		    ;;
		esac
	      fi
	      add="-l$name"
	    fi

	    if test "$linkmode" = prog; then
	      test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
	      test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
	    else
	      test -n "$add_dir" && deplibs="$add_dir $deplibs"
	      test -n "$add" && deplibs="$add $deplibs"
	    fi
	  fi
	elif test "$linkmode" = prog; then
	  # Here we assume that one of hardcode_direct or hardcode_minus_L
	  # is not unsupported.  This is valid on all known static and
	  # shared platforms.
	  if test "$hardcode_direct" != unsupported; then
	    test -n "$old_library" && linklib="$old_library"
	    compile_deplibs="$dir/$linklib $compile_deplibs"
	    finalize_deplibs="$dir/$linklib $finalize_deplibs"
	  else
	    compile_deplibs="-l$name -L$dir $compile_deplibs"
	    finalize_deplibs="-l$name -L$dir $finalize_deplibs"
	  fi
	elif test "$build_libtool_libs" = yes; then
	  # Not a shared library
	  if test "$deplibs_check_method" != pass_all; then
	    # We're trying link a shared library against a static one
	    # but the system doesn't support it.

	    # Just print a warning and add the library to dependency_libs so
	    # that the program can be linked against the static library.
	    $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."
	    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."
	      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."
	      fi
	      if test "$build_old_libs" = no; then
		build_libtool_libs=module
		build_old_libs=yes
	      else
		build_libtool_libs=no
	      fi
	    fi
	  else
	    deplibs="$dir/$old_library $deplibs"
	    link_static=yes
	  fi
	fi # link shared/static library?

	if test "$linkmode" = lib; then
	  if test -n "$dependency_libs" &&
	     { test "$hardcode_into_libs" != yes ||
	       test "$build_old_libs" = yes ||
	       test "$link_static" = yes; }; then
	    # Extract -R from dependency_libs
	    temp_deplibs=
	    for libdir in $dependency_libs; do
	      case $libdir in
	      -R*) func_stripname '-R' '' "$libdir"
	           temp_xrpath=$func_stripname_result
		   case " $xrpath " in
		   *" $temp_xrpath "*) ;;
		   *) xrpath="$xrpath $temp_xrpath";;
		   esac;;
	      *) temp_deplibs="$temp_deplibs $libdir";;
	      esac
	    done
	    dependency_libs="$temp_deplibs"
	  fi

	  newlib_search_path="$newlib_search_path $absdir"
	  # Link against this library
	  test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
	  # ... and its dependency_libs
	  tmp_libs=
	  for deplib in $dependency_libs; do
	    newdependency_libs="$deplib $newdependency_libs"
	    if $opt_duplicate_deps ; then
	      case "$tmp_libs " in
	      *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
	      esac
	    fi
	    tmp_libs="$tmp_libs $deplib"
	  done

	  if test "$link_all_deplibs" != no; then
	    # Add the search paths of all dependency libraries
	    for deplib in $dependency_libs; do
	      case $deplib in
	      -L*) path="$deplib" ;;
	      *.la)
	        func_dirname "$deplib" "" "."
		dir="$func_dirname_result"
		# We need an absolute path.
		case $dir in
		[\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
		*)
		  absdir=`cd "$dir" && pwd`
		  if test -z "$absdir"; then
		    func_warning "cannot determine absolute directory name of \`$dir'"
		    absdir="$dir"
		  fi
		  ;;
		esac
		if $GREP "^installed=no" $deplib > /dev/null; then
		case $host in
		*-*-darwin*)
		  depdepl=
		  eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
		  if test -n "$deplibrary_names" ; then
		    for tmp in $deplibrary_names ; do
		      depdepl=$tmp
		    done
		    if test -f "$absdir/$objdir/$depdepl" ; then
		      depdepl="$absdir/$objdir/$depdepl"
		      darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
                      if test -z "$darwin_install_name"; then
                          darwin_install_name=`${OTOOL64} -L $depdepl  | awk '{if (NR == 2) {print $1;exit}}'`
                      fi
		      compiler_flags="$compiler_flags ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}"
		      linker_flags="$linker_flags -dylib_file ${darwin_install_name}:${depdepl}"
		      path=
		    fi
		  fi
		  ;;
		*)
		  path="-L$absdir/$objdir"
		  ;;
		esac
		else
		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
		  test -z "$libdir" && \
		    func_fatal_error "\`$deplib' is not a valid libtool archive"
		  test "$absdir" != "$libdir" && \
		    func_warning "\`$deplib' seems to be moved"

		  path="-L$absdir"
		fi
		;;
	      esac
	      case " $deplibs " in
	      *" $path "*) ;;
	      *) deplibs="$path $deplibs" ;;
	      esac
	    done
	  fi # link_all_deplibs != no
	fi # linkmode = lib
      done # for deplib in $libs
      if test "$pass" = link; then
	if test "$linkmode" = "prog"; then
	  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'`
	fi
      fi
      dependency_libs="$newdependency_libs"
      if test "$pass" = dlpreopen; then
	# Link the dlpreopened libraries before other libraries
	for deplib in $save_deplibs; do
	  deplibs="$deplib $deplibs"
	done
      fi
      if test "$pass" != dlopen; then
	if test "$pass" != conv; then
	  # Make sure lib_search_path contains only unique directories.
	  lib_search_path=
	  for dir in $newlib_search_path; do
	    case "$lib_search_path " in
	    *" $dir "*) ;;
	    *) lib_search_path="$lib_search_path $dir" ;;
	    esac
	  done
	  newlib_search_path=
	fi

	if test "$linkmode,$pass" != "prog,link"; then
	  vars="deplibs"
	else
	  vars="compile_deplibs finalize_deplibs"
	fi
	for var in $vars dependency_libs; do
	  # Add libraries to $var in reverse order
	  eval tmp_libs=\"\$$var\"
	  new_libs=
	  for deplib in $tmp_libs; do
	    # FIXME: Pedantically, this is the right thing to do, so
	    #        that some nasty dependency loop isn't accidentally
	    #        broken:
	    #new_libs="$deplib $new_libs"
	    # Pragmatically, this seems to cause very few problems in
	    # practice:
	    case $deplib in
	    -L*) new_libs="$deplib $new_libs" ;;
	    -R*) ;;
	    *)
	      # And here is the reason: when a library appears more
	      # than once as an explicit dependence of a library, or
	      # is implicitly linked in more than once by the
	      # compiler, it is considered special, and multiple
	      # occurrences thereof are not removed.  Compare this
	      # with having the same library being listed as a
	      # dependency of multiple other libraries: in this case,
	      # we know (pedantically, we assume) the library does not
	      # need to be listed more than once, so we keep only the
	      # last copy.  This is not always right, but it is rare
	      # enough that we require users that really mean to play
	      # such unportable linking tricks to link the library
	      # using -Wl,-lname, so that libtool does not consider it
	      # for duplicate removal.
	      case " $specialdeplibs " in
	      *" $deplib "*) new_libs="$deplib $new_libs" ;;
	      *)
		case " $new_libs " in
		*" $deplib "*) ;;
		*) new_libs="$deplib $new_libs" ;;
		esac
		;;
	      esac
	      ;;
	    esac
	  done
	  tmp_libs=
	  for deplib in $new_libs; do
	    case $deplib in
	    -L*)
	      case " $tmp_libs " in
	      *" $deplib "*) ;;
	      *) tmp_libs="$tmp_libs $deplib" ;;
	      esac
	      ;;
	    *) tmp_libs="$tmp_libs $deplib" ;;
	    esac
	  done
	  eval $var=\"$tmp_libs\"
	done # for var
      fi
      # Last step: remove runtime libs from dependency_libs
      # (they stay in deplibs)
      tmp_libs=
      for i in $dependency_libs ; do
	case " $predeps $postdeps $compiler_lib_search_path " in
	*" $i "*)
	  i=""
	  ;;
	esac
	if test -n "$i" ; then
	  tmp_libs="$tmp_libs $i"
	fi
      done
      dependency_libs=$tmp_libs
    done # for pass
    if test "$linkmode" = prog; then
      dlfiles="$newdlfiles"
    fi
    if test "$linkmode" = prog || test "$linkmode" = lib; then
      dlprefiles="$newdlprefiles"
    fi

    case $linkmode in
    oldlib)
      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
	func_warning "\`-dlopen' is ignored for archives"
      fi

      case " $deplibs" in
      *\ -l* | *\ -L*)
	func_warning "\`-l' and \`-L' are ignored for archives" ;;
      esac

      test -n "$rpath" && \
	func_warning "\`-rpath' is ignored for archives"

      test -n "$xrpath" && \
	func_warning "\`-R' is ignored for archives"

      test -n "$vinfo" && \
	func_warning "\`-version-info/-version-number' is ignored for archives"

      test -n "$release" && \
	func_warning "\`-release' is ignored for archives"

      test -n "$export_symbols$export_symbols_regex" && \
	func_warning "\`-export-symbols' is ignored for archives"

      # Now set the variables for building old libraries.
      build_libtool_libs=no
      oldlibs="$output"
      objs="$objs$old_deplibs"
      ;;

    lib)
      # Make sure we only generate libraries of the form `libNAME.la'.
      case $outputname in
      lib*)
	func_stripname 'lib' '.la' "$outputname"
	name=$func_stripname_result
	eval shared_ext=\"$shrext_cmds\"
	eval libname=\"$libname_spec\"
	;;
      *)
	test "$module" = no && \
	  func_fatal_help "libtool library \`$output' must begin with \`lib'"

	if test "$need_lib_prefix" != no; then
	  # Add the "lib" prefix for modules if required
	  func_stripname '' '.la' "$outputname"
	  name=$func_stripname_result
	  eval shared_ext=\"$shrext_cmds\"
	  eval libname=\"$libname_spec\"
	else
	  func_stripname '' '.la' "$outputname"
	  libname=$func_stripname_result
	fi
	;;
      esac

      if test -n "$objs"; then
	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 "*** Warning: Linking the shared library $output against the non-libtool"
	  $ECHO "*** objects $objs is not portable!"
	  libobjs="$libobjs $objs"
	fi
      fi

      test "$dlself" != no && \
	func_warning "\`-dlopen self' is ignored for libtool libraries"

      set dummy $rpath
      shift
      test "$#" -gt 1 && \
	func_warning "ignoring multiple \`-rpath's for a libtool library"

      install_libdir="$1"

      oldlibs=
      if test -z "$rpath"; then
	if test "$build_libtool_libs" = yes; then
	  # Building a libtool convenience library.
	  # Some compilers have problems with a `.al' extension so
	  # convenience libraries should have the same extension an
	  # archive normally would.
	  oldlibs="$output_objdir/$libname.$libext $oldlibs"
	  build_libtool_libs=convenience
	  build_old_libs=yes
	fi

	test -n "$vinfo" && \
	  func_warning "\`-version-info/-version-number' is ignored for convenience libraries"

	test -n "$release" && \
	  func_warning "\`-release' is ignored for convenience libraries"
      else

	# Parse the version information argument.
	save_ifs="$IFS"; IFS=':'
	set dummy $vinfo 0 0 0
	shift
	IFS="$save_ifs"

	test -n "$7" && \
	  func_fatal_help "too many parameters to \`-version-info'"

	# convert absolute version numbers to libtool ages
	# this retains compatibility with .la files and attempts
	# to make the code below a bit more comprehensible

	case $vinfo_number in
	yes)
	  number_major="$1"
	  number_minor="$2"
	  number_revision="$3"
	  #
	  # There are really only two kinds -- those that
	  # use the current revision as the major version
	  # and those that subtract age and use age as
	  # a minor version.  But, then there is irix
	  # which has an extra 1 added just for fun
	  #
	  case $version_type in
	  darwin|linux|osf|windows|none)
	    func_arith $number_major + $number_minor
	    current=$func_arith_result
	    age="$number_minor"
	    revision="$number_revision"
	    ;;
	  freebsd-aout|freebsd-elf|sunos)
	    current="$number_major"
	    revision="$number_minor"
	    age="0"
	    ;;
	  irix|nonstopux)
	    func_arith $number_major + $number_minor
	    current=$func_arith_result
	    age="$number_minor"
	    revision="$number_minor"
	    lt_irix_increment=no
	    ;;
	  esac
	  ;;
	no)
	  current="$1"
	  revision="$2"
	  age="$3"
	  ;;
	esac

	# Check that each of the things are valid numbers.
	case $current in
	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
	*)
	  func_error "CURRENT \`$current' must be a nonnegative integer"
	  func_fatal_error "\`$vinfo' is not valid version information"
	  ;;
	esac

	case $revision in
	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
	*)
	  func_error "REVISION \`$revision' must be a nonnegative integer"
	  func_fatal_error "\`$vinfo' is not valid version information"
	  ;;
	esac

	case $age in
	0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
	*)
	  func_error "AGE \`$age' must be a nonnegative integer"
	  func_fatal_error "\`$vinfo' is not valid version information"
	  ;;
	esac

	if test "$age" -gt "$current"; then
	  func_error "AGE \`$age' is greater than the current interface number \`$current'"
	  func_fatal_error "\`$vinfo' is not valid version information"
	fi

	# Calculate the version variables.
	major=
	versuffix=
	verstring=
	case $version_type in
	none) ;;

	darwin)
	  # Like Linux, but with the current version available in
	  # verstring for coding it into the library header
	  func_arith $current - $age
	  major=.$func_arith_result
	  versuffix="$major.$age.$revision"
	  # Darwin ld doesn't like 0 for these options...
	  func_arith $current + 1
	  minor_current=$func_arith_result
	  xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
	  verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
	  ;;

	freebsd-aout)
	  major=".$current"
	  versuffix=".$current.$revision";
	  ;;

	freebsd-elf)
	  major=".$current"
	  versuffix=".$current"
	  ;;

	irix | nonstopux)
	  if test "X$lt_irix_increment" = "Xno"; then
	    func_arith $current - $age
	  else
	    func_arith $current - $age + 1
	  fi
	  major=$func_arith_result

	  case $version_type in
	    nonstopux) verstring_prefix=nonstopux ;;
	    *)         verstring_prefix=sgi ;;
	  esac
	  verstring="$verstring_prefix$major.$revision"

	  # Add in all the interfaces that we are compatible with.
	  loop=$revision
	  while test "$loop" -ne 0; do
	    func_arith $revision - $loop
	    iface=$func_arith_result
	    func_arith $loop - 1
	    loop=$func_arith_result
	    verstring="$verstring_prefix$major.$iface:$verstring"
	  done

	  # Before this point, $major must not contain `.'.
	  major=.$major
	  versuffix="$major.$revision"
	  ;;

	linux)
	  func_arith $current - $age
	  major=.$func_arith_result
	  versuffix="$major.$age.$revision"
	  ;;

	osf)
	  func_arith $current - $age
	  major=.$func_arith_result
	  versuffix=".$current.$age.$revision"
	  verstring="$current.$age.$revision"

	  # Add in all the interfaces that we are compatible with.
	  loop=$age
	  while test "$loop" -ne 0; do
	    func_arith $current - $loop
	    iface=$func_arith_result
	    func_arith $loop - 1
	    loop=$func_arith_result
	    verstring="$verstring:${iface}.0"
	  done

	  # Make executables depend on our current version.
	  verstring="$verstring:${current}.0"
	  ;;

	qnx)
	  major=".$current"
	  versuffix=".$current"
	  ;;

	sunos)
	  major=".$current"
	  versuffix=".$current.$revision"
	  ;;

	windows)
	  # Use '-' rather than '.', since we only want one
	  # extension on DOS 8.3 filesystems.
	  func_arith $current - $age
	  major=$func_arith_result
	  versuffix="-$major"
	  ;;

	*)
	  func_fatal_configuration "unknown library version type \`$version_type'"
	  ;;
	esac

	# Clear the version info if we defaulted, and they specified a release.
	if test -z "$vinfo" && test -n "$release"; then
	  major=
	  case $version_type in
	  darwin)
	    # we can't check for "0.0" in archive_cmds due to quoting
	    # problems, so we reset it completely
	    verstring=
	    ;;
	  *)
	    verstring="0.0"
	    ;;
	  esac
	  if test "$need_version" = no; then
	    versuffix=
	  else
	    versuffix=".0.0"
	  fi
	fi

	# Remove version info from name if versioning should be avoided
	if test "$avoid_version" = yes && test "$need_version" = no; then
	  major=
	  versuffix=
	  verstring=""
	fi

	# Check to see if the archive will have undefined symbols.
	if test "$allow_undefined" = yes; then
	  if test "$allow_undefined_flag" = unsupported; then
	    func_warning "undefined symbols not allowed in $host shared libraries"
	    build_libtool_libs=no
	    build_old_libs=yes
	  fi
	else
	  # Don't allow undefined symbols.
	  allow_undefined_flag="$no_undefined_flag"
	fi

      fi

      func_generate_dlsyms "$libname" "$libname" "yes"
      libobjs="$libobjs $symfileobj"
      test "X$libobjs" = "X " && libobjs=

      if test "$mode" != relink; then
	# Remove our outputs, but don't remove object files since they
	# may have been created when compiling PIC objects.
	removelist=
	tempremovelist=`$ECHO "$output_objdir/*"`
	for p in $tempremovelist; do
	  case $p in
	    *.$objext | *.gcno)
	       ;;
	    $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
	       if test "X$precious_files_regex" != "X"; then
		 if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
		 then
		   continue
		 fi
	       fi
	       removelist="$removelist $p"
	       ;;
	    *) ;;
	  esac
	done
	test -n "$removelist" && \
	  func_show_eval "${RM}r \$removelist"
      fi

      # Now set the variables for building old libraries.
      if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
	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`
      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"`
      #done

      if test -n "$xrpath"; then
	# If the user specified any rpath flags, then add them.
	temp_xrpath=
	for libdir in $xrpath; do
	  temp_xrpath="$temp_xrpath -R$libdir"
	  case "$finalize_rpath " in
	  *" $libdir "*) ;;
	  *) finalize_rpath="$finalize_rpath $libdir" ;;
	  esac
	done
	if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
	  dependency_libs="$temp_xrpath $dependency_libs"
	fi
      fi

      # Make sure dlfiles contains only unique files that won't be dlpreopened
      old_dlfiles="$dlfiles"
      dlfiles=
      for lib in $old_dlfiles; do
	case " $dlprefiles $dlfiles " in
	*" $lib "*) ;;
	*) dlfiles="$dlfiles $lib" ;;
	esac
      done

      # Make sure dlprefiles contains only unique files
      old_dlprefiles="$dlprefiles"
      dlprefiles=
      for lib in $old_dlprefiles; do
	case "$dlprefiles " in
	*" $lib "*) ;;
	*) dlprefiles="$dlprefiles $lib" ;;
	esac
      done

      if test "$build_libtool_libs" = yes; then
	if test -n "$rpath"; then
	  case $host in
	  *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc*)
	    # these systems don't actually have a c library (as such)!
	    ;;
	  *-*-rhapsody* | *-*-darwin1.[012])
	    # Rhapsody C library is in the System framework
	    deplibs="$deplibs System.ltframework"
	    ;;
	  *-*-netbsd*)
	    # Don't link with libc until the a.out ld.so is fixed.
	    ;;
	  *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
	    # Do not include libc due to us having libc/libc_r.
	    ;;
	  *-*-sco3.2v5* | *-*-sco5v6*)
	    # Causes problems with __ctype
	    ;;
	  *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
	    # Compiler inserts libc in the correct place for threads to work
	    ;;
	  *)
	    # Add libc to deplibs on all other systems if necessary.
	    if test "$build_libtool_need_lc" = "yes"; then
	      deplibs="$deplibs -lc"
	    fi
	    ;;
	  esac
	fi

	# Transform deplibs into only deplibs that can be linked in shared.
	name_save=$name
	libname_save=$libname
	release_save=$release
	versuffix_save=$versuffix
	major_save=$major
	# I'm not sure if I'm treating the release correctly.  I think
	# release should show up in the -l (ie -lgmp5) so we don't want to
	# add it in twice.  Is that correct?
	release=""
	versuffix=""
	major=""
	newdeplibs=
	droppeddeps=no
	case $deplibs_check_method in
	pass_all)
	  # Don't check for shared/static.  Everything works.
	  # This might be a little naive.  We might want to check
	  # whether the library exists or not.  But this is on
	  # osf3 & osf4 and I'm not really sure... Just
	  # implementing what was already the behavior.
	  newdeplibs=$deplibs
	  ;;
	test_compile)
	  # This code stresses the "libraries are programs" paradigm to its
	  # limits. Maybe even breaks it.  We compile a program, linking it
	  # against the deplibs as a proxy for the library.  Then we can check
	  # whether they linked in statically or dynamically with ldd.
	  $opt_dry_run || $RM conftest.c
	  cat > conftest.c <<EOF
	  int main() { return 0; }
EOF
	  $opt_dry_run || $RM conftest
	  if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
	    ldd_output=`ldd conftest`
	    for i in $deplibs; do
	      case $i in
	      -l*)
		func_stripname -l '' "$i"
		name=$func_stripname_result
		if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
		  case " $predeps $postdeps " in
		  *" $i "*)
		    newdeplibs="$newdeplibs $i"
		    i=""
		    ;;
		  esac
		fi
		if test -n "$i" ; then
		  libname=`eval "\\$ECHO \"$libname_spec\""`
		  deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
		  set dummy $deplib_matches; shift
		  deplib_match=$1
		  if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
		    newdeplibs="$newdeplibs $i"
		  else
		    droppeddeps=yes
		    $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."
		  fi
		fi
		;;
	      *)
		newdeplibs="$newdeplibs $i"
		;;
	      esac
	    done
	  else
	    # Error occurred in the first compile.  Let's try to salvage
	    # the situation: Compile a separate program for each library.
	    for i in $deplibs; do
	      case $i in
	      -l*)
		func_stripname -l '' "$i"
		name=$func_stripname_result
		$opt_dry_run || $RM conftest
		if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
		  ldd_output=`ldd conftest`
		  if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
		    case " $predeps $postdeps " in
		    *" $i "*)
		      newdeplibs="$newdeplibs $i"
		      i=""
		      ;;
		    esac
		  fi
		  if test -n "$i" ; then
		    libname=`eval "\\$ECHO \"$libname_spec\""`
		    deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
		    set dummy $deplib_matches; shift
		    deplib_match=$1
		    if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
		      newdeplibs="$newdeplibs $i"
		    else
		      droppeddeps=yes
		      $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."
		    fi
		  fi
		else
		  droppeddeps=yes
		  $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."
		fi
		;;
	      *)
		newdeplibs="$newdeplibs $i"
		;;
	      esac
	    done
	  fi
	  ;;
	file_magic*)
	  set dummy $deplibs_check_method; shift
	  file_magic_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
	  for a_deplib in $deplibs; do
	    case $a_deplib in
	    -l*)
	      func_stripname -l '' "$a_deplib"
	      name=$func_stripname_result
	      if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
		case " $predeps $postdeps " in
		*" $a_deplib "*)
		  newdeplibs="$newdeplibs $a_deplib"
		  a_deplib=""
		  ;;
		esac
	      fi
	      if test -n "$a_deplib" ; then
		libname=`eval "\\$ECHO \"$libname_spec\""`
		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
		  potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
		  for potent_lib in $potential_libs; do
		      # Follow soft links.
		      if ls -lLd "$potent_lib" 2>/dev/null |
			 $GREP " -> " >/dev/null; then
			continue
		      fi
		      # The statement above tries to avoid entering an
		      # endless loop below, in case of cyclic links.
		      # We might still enter an endless loop, since a link
		      # loop can be closed while we follow links,
		      # but so what?
		      potlib="$potent_lib"
		      while test -h "$potlib" 2>/dev/null; do
			potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
			case $potliblink in
			[\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
			*) potlib=`$ECHO "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
			esac
		      done
		      if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
			 $SED -e 10q |
			 $EGREP "$file_magic_regex" > /dev/null; then
			newdeplibs="$newdeplibs $a_deplib"
			a_deplib=""
			break 2
		      fi
		  done
		done
	      fi
	      if test -n "$a_deplib" ; then
		droppeddeps=yes
		$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"
		if test -z "$potlib" ; then
		  $ECHO "*** with $libname but no candidates were found. (...for file magic test)"
		else
		  $ECHO "*** with $libname and none of the candidates passed a file format test"
		  $ECHO "*** using a file magic. Last file checked: $potlib"
		fi
	      fi
	      ;;
	    *)
	      # Add a -L argument.
	      newdeplibs="$newdeplibs $a_deplib"
	      ;;
	    esac
	  done # Gone through all deplibs.
	  ;;
	match_pattern*)
	  set dummy $deplibs_check_method; shift
	  match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
	  for a_deplib in $deplibs; do
	    case $a_deplib in
	    -l*)
	      func_stripname -l '' "$a_deplib"
	      name=$func_stripname_result
	      if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
		case " $predeps $postdeps " in
		*" $a_deplib "*)
		  newdeplibs="$newdeplibs $a_deplib"
		  a_deplib=""
		  ;;
		esac
	      fi
	      if test -n "$a_deplib" ; then
		libname=`eval "\\$ECHO \"$libname_spec\""`
		for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
		  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 | \
		       $EGREP "$match_pattern_regex" > /dev/null; then
		      newdeplibs="$newdeplibs $a_deplib"
		      a_deplib=""
		      break 2
		    fi
		  done
		done
	      fi
	      if test -n "$a_deplib" ; then
		droppeddeps=yes
		$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"
		if test -z "$potlib" ; then
		  $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)"
		else
		  $ECHO "*** with $libname and none of the candidates passed a file format test"
		  $ECHO "*** using a regex pattern. Last file checked: $potlib"
		fi
	      fi
	      ;;
	    *)
	      # Add a -L argument.
	      newdeplibs="$newdeplibs $a_deplib"
	      ;;
	    esac
	  done # Gone through all deplibs.
	  ;;
	none | unknown | *)
	  newdeplibs=""
	  tmp_deplibs=`$ECHO "X $deplibs" | $Xsed \
	      -e 's/ -lc$//' -e '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,,"`
	    done
	  fi
	  if $ECHO "X $tmp_deplibs" | $Xsed -e 's/[	 ]//g' |
	     $GREP . >/dev/null; then
	    $ECHO
	    if test "X$deplibs_check_method" = "Xnone"; then
	      $ECHO "*** Warning: inter-library dependencies are not supported in this platform."
	    else
	      $ECHO "*** Warning: inter-library dependencies are not known to be supported."
	    fi
	    $ECHO "*** All declared inter-library dependencies are being dropped."
	    droppeddeps=yes
	  fi
	  ;;
	esac
	versuffix=$versuffix_save
	major=$major_save
	release=$release_save
	libname=$libname_save
	name=$name_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 /'`
	  ;;
	esac

	if test "$droppeddeps" = yes; then
	  if test "$module" = yes; then
	    $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."
	    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."
	    fi
	    if test "$build_old_libs" = no; then
	      oldlibs="$output_objdir/$libname.$libext"
	      build_libtool_libs=module
	      build_old_libs=yes
	    else
	      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."

	    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."
	      if test "$build_old_libs" = no; then
		oldlibs="$output_objdir/$libname.$libext"
		build_libtool_libs=module
		build_old_libs=yes
	      else
		build_libtool_libs=no
	      fi
	    fi
	  fi
	fi
	# Done checking deplibs!
	deplibs=$newdeplibs
      fi
      # 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'`
	  ;;
      esac

      # move library search paths that coincide with paths to not yet
      # installed libraries to the beginning of the library search list
      new_libs=
      for path in $notinst_path; do
	case " $new_libs " in
	*" -L$path/$objdir "*) ;;
	*)
	  case " $deplibs " in
	  *" -L$path/$objdir "*)
	    new_libs="$new_libs -L$path/$objdir" ;;
	  esac
	  ;;
	esac
      done
      for deplib in $deplibs; do
	case $deplib in
	-L*)
	  case " $new_libs " in
	  *" $deplib "*) ;;
	  *) new_libs="$new_libs $deplib" ;;
	  esac
	  ;;
	*) new_libs="$new_libs $deplib" ;;
	esac
      done
      deplibs="$new_libs"

      # All the library-specific variables (install_libdir is set above).
      library_names=
      old_library=
      dlname=

      # Test again, we may have decided not to build it any more
      if test "$build_libtool_libs" = yes; then
	if test "$hardcode_into_libs" = yes; then
	  # Hardcode the library paths
	  hardcode_libdirs=
	  dep_rpath=
	  rpath="$finalize_rpath"
	  test "$mode" != relink && rpath="$compile_rpath$rpath"
	  for libdir in $rpath; do
	    if test -n "$hardcode_libdir_flag_spec"; then
	      if test -n "$hardcode_libdir_separator"; then
		if test -z "$hardcode_libdirs"; then
		  hardcode_libdirs="$libdir"
		else
		  # Just accumulate the unique libdirs.
		  case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
		  *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
		    ;;
		  *)
		    hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
		    ;;
		  esac
		fi
	      else
		eval flag=\"$hardcode_libdir_flag_spec\"
		dep_rpath="$dep_rpath $flag"
	      fi
	    elif test -n "$runpath_var"; then
	      case "$perm_rpath " in
	      *" $libdir "*) ;;
	      *) perm_rpath="$perm_rpath $libdir" ;;
	      esac
	    fi
	  done
	  # Substitute the hardcoded libdirs into the rpath.
	  if test -n "$hardcode_libdir_separator" &&
	     test -n "$hardcode_libdirs"; then
	    libdir="$hardcode_libdirs"
	    if test -n "$hardcode_libdir_flag_spec_ld"; then
	      eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
	    else
	      eval dep_rpath=\"$hardcode_libdir_flag_spec\"
	    fi
	  fi
	  if test -n "$runpath_var" && test -n "$perm_rpath"; then
	    # We should set the runpath_var.
	    rpath=
	    for dir in $perm_rpath; do
	      rpath="$rpath$dir:"
	    done
	    eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
	  fi
	  test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
	fi

	shlibpath="$finalize_shlibpath"
	test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
	if test -n "$shlibpath"; then
	  eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
	fi

	# Get the real and link names of the library.
	eval shared_ext=\"$shrext_cmds\"
	eval library_names=\"$library_names_spec\"
	set dummy $library_names
	shift
	realname="$1"
	shift

	if test -n "$soname_spec"; then
	  eval soname=\"$soname_spec\"
	else
	  soname="$realname"
	fi
	if test -z "$dlname"; then
	  dlname=$soname
	fi

	lib="$output_objdir/$realname"
	linknames=
	for link
	do
	  linknames="$linknames $link"
	done

	# Use standard objects if they are pic
	test -z "$pic_flag" && libobjs=`$ECHO "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
	test "X$libobjs" = "X " && libobjs=

	delfiles=
	if test -n "$export_symbols" && test -n "$include_expsyms"; then
	  $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
	  export_symbols="$output_objdir/$libname.uexp"
	  delfiles="$delfiles $export_symbols"
	fi

	orig_export_symbols=
	case $host_os in
	cygwin* | mingw* | cegcc*)
	  if test -n "$export_symbols" && test -z "$export_symbols_regex"; then
	    # exporting using user supplied symfile
	    if test "x`$SED 1q $export_symbols`" != xEXPORTS; then
	      # and it's NOT already a .def file. Must figure out
	      # which of the given symbols are data symbols and tag
	      # them as such. So, trigger use of export_symbols_cmds.
	      # export_symbols gets reassigned inside the "prepare
	      # the list of exported symbols" if statement, so the
	      # include_expsyms logic still works.
	      orig_export_symbols="$export_symbols"
	      export_symbols=
	      always_export_symbols=yes
	    fi
	  fi
	  ;;
	esac

	# Prepare the list of exported symbols
	if test -z "$export_symbols"; then
	  if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
	    func_verbose "generating symbol list for \`$libname.la'"
	    export_symbols="$output_objdir/$libname.exp"
	    $opt_dry_run || $RM $export_symbols
	    cmds=$export_symbols_cmds
	    save_ifs="$IFS"; IFS='~'
	    for cmd in $cmds; do
	      IFS="$save_ifs"
	      eval cmd=\"$cmd\"
	      func_len " $cmd"
	      len=$func_len_result
	      if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
		func_show_eval "$cmd" 'exit $?'
		skipped_export=false
	      else
		# The command line is too long to execute in one step.
		func_verbose "using reloadable object file for export list..."
		skipped_export=:
		# Break out early, otherwise skipped_export may be
		# set to false by a later but shorter cmd.
		break
	      fi
	    done
	    IFS="$save_ifs"
	    if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then
	      func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
	      func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
	    fi
	  fi
	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"'
	fi

	if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then
	  # The given exports_symbols file has to be filtered, so filter it.
	  func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
	  # FIXME: $output_objdir/$libname.filter potentially contains lots of
	  # 's' commands which not all seds can handle. GNU sed should be fine
	  # though. Also, the filter scales superlinearly with the number of
	  # global variables. join(1) would be nice here, but unfortunately
	  # isn't a blessed tool.
	  $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
	  delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"
	  export_symbols=$output_objdir/$libname.def
	  $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
	fi

	tmp_deplibs=
	for test_deplib in $deplibs; do
	  case " $convenience " in
	  *" $test_deplib "*) ;;
	  *)
	    tmp_deplibs="$tmp_deplibs $test_deplib"
	    ;;
	  esac
	done
	deplibs="$tmp_deplibs"

	if test -n "$convenience"; then
	  if test -n "$whole_archive_flag_spec" &&
	    test "$compiler_needs_object" = yes &&
	    test -z "$libobjs"; then
	    # extract the archives, so we have objects to list.
	    # TODO: could optimize this to just extract one archive.
	    whole_archive_flag_spec=
	  fi
	  if test -n "$whole_archive_flag_spec"; then
	    save_libobjs=$libobjs
	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
	    test "X$libobjs" = "X " && libobjs=
	  else
	    gentop="$output_objdir/${outputname}x"
	    generated="$generated $gentop"

	    func_extract_archives $gentop $convenience
	    libobjs="$libobjs $func_extract_archives_result"
	    test "X$libobjs" = "X " && libobjs=
	  fi
	fi

	if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
	  eval flag=\"$thread_safe_flag_spec\"
	  linker_flags="$linker_flags $flag"
	fi

	# Make a backup of the uninstalled library when relinking
	if test "$mode" = relink; then
	  $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?
	fi

	# Do each of the archive commands.
	if test "$module" = yes && test -n "$module_cmds" ; then
	  if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
	    eval test_cmds=\"$module_expsym_cmds\"
	    cmds=$module_expsym_cmds
	  else
	    eval test_cmds=\"$module_cmds\"
	    cmds=$module_cmds
	  fi
	else
	  if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
	    eval test_cmds=\"$archive_expsym_cmds\"
	    cmds=$archive_expsym_cmds
	  else
	    eval test_cmds=\"$archive_cmds\"
	    cmds=$archive_cmds
	  fi
	fi

	if test "X$skipped_export" != "X:" &&
	   func_len " $test_cmds" &&
	   len=$func_len_result &&
	   test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
	  :
	else
	  # The command line is too long to link in one step, link piecewise
	  # or, if using GNU ld and skipped_export is not :, use a linker
	  # script.

	  # Save the value of $output and $libobjs because we want to
	  # use them later.  If we have whole_archive_flag_spec, we
	  # want to use save_libobjs as it was before
	  # whole_archive_flag_spec was expanded, because we can't
	  # assume the linker understands whole_archive_flag_spec.
	  # This may have to be revisited, in case too many
	  # convenience libraries get linked in and end up exceeding
	  # the spec.
	  if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
	    save_libobjs=$libobjs
	  fi
	  save_output=$output
	  output_la=`$ECHO "X$output" | $Xsed -e "$basename"`

	  # Clear the reloadable object creation command queue and
	  # initialize k to one.
	  test_cmds=
	  concat_cmds=
	  objlist=
	  last_robj=
	  k=1

	  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
	    for obj in $save_libobjs
	    do
	      $ECHO "$obj" >> $output
	    done
	    $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
	    func_verbose "creating linker input file list: $output"
	    : > $output
	    set x $save_libobjs
	    shift
	    firstobj=
	    if test "$compiler_needs_object" = yes; then
	      firstobj="$1 "
	      shift
	    fi
	    for obj
	    do
	      $ECHO "$obj" >> $output
	    done
	    delfiles="$delfiles $output"
	    output=$firstobj\"$file_list_spec$output\"
	  else
	    if test -n "$save_libobjs"; then
	      func_verbose "creating reloadable object files..."
	      output=$output_objdir/$output_la-${k}.$objext
	      eval test_cmds=\"$reload_cmds\"
	      func_len " $test_cmds"
	      len0=$func_len_result
	      len=$len0

	      # Loop over the list of objects to be linked.
	      for obj in $save_libobjs
	      do
		func_len " $obj"
		func_arith $len + $func_len_result
		len=$func_arith_result
		if test "X$objlist" = X ||
		   test "$len" -lt "$max_cmd_len"; then
		  func_append objlist " $obj"
		else
		  # The command $test_cmds is almost too long, add a
		  # 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\"
		  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\"
		  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
		  func_len " $last_robj"
		  func_arith $len0 + $func_len_result
		  len=$func_arith_result
		fi
	      done
	      # Handle the remaining objects by creating one last
	      # 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\"
	      if test -n "$last_robj"; then
	        eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\"
	      fi
	      delfiles="$delfiles $output"

	    else
	      output=
	    fi

	    if ${skipped_export-false}; then
	      func_verbose "generating symbol list for \`$libname.la'"
	      export_symbols="$output_objdir/$libname.exp"
	      $opt_dry_run || $RM $export_symbols
	      libobjs=$output
	      # Append the command to create the export file.
	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
	      eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\"
	      if test -n "$last_robj"; then
		eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
	      fi
	    fi

	    test -n "$save_libobjs" &&
	      func_verbose "creating a temporary reloadable object file: $output"

	    # Loop through the commands generated above and execute them.
	    save_ifs="$IFS"; IFS='~'
	    for cmd in $concat_cmds; do
	      IFS="$save_ifs"
	      $opt_silent || {
		  func_quote_for_expand "$cmd"
		  eval "func_echo $func_quote_for_expand_result"
	      }
	      $opt_dry_run || eval "$cmd" || {
		lt_exit=$?

		# Restore the uninstalled library and exit
		if test "$mode" = relink; then
		  ( cd "$output_objdir" && \
		    $RM "${realname}T" && \
		    $MV "${realname}U" "$realname" )
		fi

		exit $lt_exit
	      }
	    done
	    IFS="$save_ifs"

	    if test -n "$export_symbols_regex" && ${skipped_export-false}; then
	      func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
	      func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
	    fi
	  fi

          if ${skipped_export-false}; then
	    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"'
	    fi

	    if test -n "$orig_export_symbols"; then
	      # The given exports_symbols file has to be filtered, so filter it.
	      func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
	      # FIXME: $output_objdir/$libname.filter potentially contains lots of
	      # 's' commands which not all seds can handle. GNU sed should be fine
	      # though. Also, the filter scales superlinearly with the number of
	      # global variables. join(1) would be nice here, but unfortunately
	      # isn't a blessed tool.
	      $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
	      delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"
	      export_symbols=$output_objdir/$libname.def
	      $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
	    fi
	  fi

	  libobjs=$output
	  # Restore the value of output.
	  output=$save_output

	  if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
	    eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
	    test "X$libobjs" = "X " && libobjs=
	  fi
	  # Expand the library linking commands again to reset the
	  # value of $libobjs for piecewise linking.

	  # Do each of the archive commands.
	  if test "$module" = yes && test -n "$module_cmds" ; then
	    if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
	      cmds=$module_expsym_cmds
	    else
	      cmds=$module_cmds
	    fi
	  else
	    if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
	      cmds=$archive_expsym_cmds
	    else
	      cmds=$archive_cmds
	    fi
	  fi
	fi

	if test -n "$delfiles"; then
	  # Append the command to remove temporary files to $cmds.
	  eval cmds=\"\$cmds~\$RM $delfiles\"
	fi

	# Add any objects from preloaded convenience libraries
	if test -n "$dlprefiles"; then
	  gentop="$output_objdir/${outputname}x"
	  generated="$generated $gentop"

	  func_extract_archives $gentop $dlprefiles
	  libobjs="$libobjs $func_extract_archives_result"
	  test "X$libobjs" = "X " && libobjs=
	fi

	save_ifs="$IFS"; IFS='~'
	for cmd in $cmds; do
	  IFS="$save_ifs"
	  eval cmd=\"$cmd\"
	  $opt_silent || {
	    func_quote_for_expand "$cmd"
	    eval "func_echo $func_quote_for_expand_result"
	  }
	  $opt_dry_run || eval "$cmd" || {
	    lt_exit=$?

	    # Restore the uninstalled library and exit
	    if test "$mode" = relink; then
	      ( cd "$output_objdir" && \
	        $RM "${realname}T" && \
		$MV "${realname}U" "$realname" )
	    fi

	    exit $lt_exit
	  }
	done
	IFS="$save_ifs"

	# Restore the uninstalled library and exit
	if test "$mode" = relink; then
	  $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?

	  if test -n "$convenience"; then
	    if test -z "$whole_archive_flag_spec"; then
	      func_show_eval '${RM}r "$gentop"'
	    fi
	  fi

	  exit $EXIT_SUCCESS
	fi

	# Create links to the real library.
	for linkname in $linknames; do
	  if test "$realname" != "$linkname"; then
	    func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?'
	  fi
	done

	# If -module or -export-dynamic was specified, set the dlname.
	if test "$module" = yes || test "$export_dynamic" = yes; then
	  # On all known operating systems, these are identical.
	  dlname="$soname"
	fi
      fi
      ;;

    obj)
      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
	func_warning "\`-dlopen' is ignored for objects"
      fi

      case " $deplibs" in
      *\ -l* | *\ -L*)
	func_warning "\`-l' and \`-L' are ignored for objects" ;;
      esac

      test -n "$rpath" && \
	func_warning "\`-rpath' is ignored for objects"

      test -n "$xrpath" && \
	func_warning "\`-R' is ignored for objects"

      test -n "$vinfo" && \
	func_warning "\`-version-info' is ignored for objects"

      test -n "$release" && \
	func_warning "\`-release' is ignored for objects"

      case $output in
      *.lo)
	test -n "$objs$old_deplibs" && \
	  func_fatal_error "cannot build library object \`$output' from non-libtool objects"

	libobj=$output
	func_lo2o "$libobj"
	obj=$func_lo2o_result
	;;
      *)
	libobj=
	obj="$output"
	;;
      esac

      # Delete the old objects.
      $opt_dry_run || $RM $obj $libobj

      # Objects from convenience libraries.  This assumes
      # single-version convenience libraries.  Whenever we create
      # different ones for PIC/non-PIC, this we'll have to duplicate
      # the extraction.
      reload_conv_objs=
      gentop=
      # reload_cmds runs $LD directly, so let us get rid of
      # -Wl from whole_archive_flag_spec and hope we can get by with
      # turning comma into space..
      wl=

      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'`
	else
	  gentop="$output_objdir/${obj}x"
	  generated="$generated $gentop"

	  func_extract_archives $gentop $convenience
	  reload_conv_objs="$reload_objs $func_extract_archives_result"
	fi
      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

      output="$obj"
      func_execute_cmds "$reload_cmds" 'exit $?'

      # Exit if we aren't doing a library object file.
      if test -z "$libobj"; then
	if test -n "$gentop"; then
	  func_show_eval '${RM}r "$gentop"'
	fi

	exit $EXIT_SUCCESS
      fi

      if test "$build_libtool_libs" != yes; then
	if test -n "$gentop"; then
	  func_show_eval '${RM}r "$gentop"'
	fi

	# Create an invalid libtool object if no PIC, so that we don't
	# accidentally link it into a program.
	# $show "echo timestamp > $libobj"
	# $opt_dry_run || eval "echo timestamp > $libobj" || exit $?
	exit $EXIT_SUCCESS
      fi

      if test -n "$pic_flag" || test "$pic_mode" != default; then
	# Only do commands if we really have different PIC objects.
	reload_objs="$libobjs $reload_conv_objs"
	output="$libobj"
	func_execute_cmds "$reload_cmds" 'exit $?'
      fi

      if test -n "$gentop"; then
	func_show_eval '${RM}r "$gentop"'
      fi

      exit $EXIT_SUCCESS
      ;;

    prog)
      case $host in
	*cygwin*) func_stripname '' '.exe' "$output"
	          output=$func_stripname_result.exe;;
      esac
      test -n "$vinfo" && \
	func_warning "\`-version-info' is ignored for programs"

      test -n "$release" && \
	func_warning "\`-release' is ignored for programs"

      test "$preload" = yes \
        && test "$dlopen_support" = unknown \
	&& test "$dlopen_self" = unknown \
	&& test "$dlopen_self_static" = unknown && \
	  func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support."

      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 /'`
	;;
      esac

      case $host in
      *-*-darwin*)
	# Don't allow lazy linking, it breaks C++ global constructors
	# But is supposedly fixed on 10.4 or later (yay!).
	if test "$tagname" = CXX ; then
	  case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
	    10.[0123])
	      compile_command="$compile_command ${wl}-bind_at_load"
	      finalize_command="$finalize_command ${wl}-bind_at_load"
	    ;;
	  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'`
	;;
      esac


      # move library search paths that coincide with paths to not yet
      # installed libraries to the beginning of the library search list
      new_libs=
      for path in $notinst_path; do
	case " $new_libs " in
	*" -L$path/$objdir "*) ;;
	*)
	  case " $compile_deplibs " in
	  *" -L$path/$objdir "*)
	    new_libs="$new_libs -L$path/$objdir" ;;
	  esac
	  ;;
	esac
      done
      for deplib in $compile_deplibs; do
	case $deplib in
	-L*)
	  case " $new_libs " in
	  *" $deplib "*) ;;
	  *) new_libs="$new_libs $deplib" ;;
	  esac
	  ;;
	*) new_libs="$new_libs $deplib" ;;
	esac
      done
      compile_deplibs="$new_libs"


      compile_command="$compile_command $compile_deplibs"
      finalize_command="$finalize_command $finalize_deplibs"

      if test -n "$rpath$xrpath"; then
	# If the user specified any rpath flags, then add them.
	for libdir in $rpath $xrpath; do
	  # This is the magic to use -rpath.
	  case "$finalize_rpath " in
	  *" $libdir "*) ;;
	  *) finalize_rpath="$finalize_rpath $libdir" ;;
	  esac
	done
      fi

      # Now hardcode the library paths
      rpath=
      hardcode_libdirs=
      for libdir in $compile_rpath $finalize_rpath; do
	if test -n "$hardcode_libdir_flag_spec"; then
	  if test -n "$hardcode_libdir_separator"; then
	    if test -z "$hardcode_libdirs"; then
	      hardcode_libdirs="$libdir"
	    else
	      # Just accumulate the unique libdirs.
	      case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
		;;
	      *)
		hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
		;;
	      esac
	    fi
	  else
	    eval flag=\"$hardcode_libdir_flag_spec\"
	    rpath="$rpath $flag"
	  fi
	elif test -n "$runpath_var"; then
	  case "$perm_rpath " in
	  *" $libdir "*) ;;
	  *) perm_rpath="$perm_rpath $libdir" ;;
	  esac
	fi
	case $host in
	*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
	  testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'`
	  case :$dllsearchpath: in
	  *":$libdir:"*) ;;
	  ::) dllsearchpath=$libdir;;
	  *) dllsearchpath="$dllsearchpath:$libdir";;
	  esac
	  case :$dllsearchpath: in
	  *":$testbindir:"*) ;;
	  ::) dllsearchpath=$testbindir;;
	  *) dllsearchpath="$dllsearchpath:$testbindir";;
	  esac
	  ;;
	esac
      done
      # Substitute the hardcoded libdirs into the rpath.
      if test -n "$hardcode_libdir_separator" &&
	 test -n "$hardcode_libdirs"; then
	libdir="$hardcode_libdirs"
	eval rpath=\" $hardcode_libdir_flag_spec\"
      fi
      compile_rpath="$rpath"

      rpath=
      hardcode_libdirs=
      for libdir in $finalize_rpath; do
	if test -n "$hardcode_libdir_flag_spec"; then
	  if test -n "$hardcode_libdir_separator"; then
	    if test -z "$hardcode_libdirs"; then
	      hardcode_libdirs="$libdir"
	    else
	      # Just accumulate the unique libdirs.
	      case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
	      *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
		;;
	      *)
		hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
		;;
	      esac
	    fi
	  else
	    eval flag=\"$hardcode_libdir_flag_spec\"
	    rpath="$rpath $flag"
	  fi
	elif test -n "$runpath_var"; then
	  case "$finalize_perm_rpath " in
	  *" $libdir "*) ;;
	  *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
	  esac
	fi
      done
      # Substitute the hardcoded libdirs into the rpath.
      if test -n "$hardcode_libdir_separator" &&
	 test -n "$hardcode_libdirs"; then
	libdir="$hardcode_libdirs"
	eval rpath=\" $hardcode_libdir_flag_spec\"
      fi
      finalize_rpath="$rpath"

      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`
      fi

      func_generate_dlsyms "$outputname" "@PROGRAM@" "no"

      # template prelinking step
      if test -n "$prelink_cmds"; then
	func_execute_cmds "$prelink_cmds" 'exit $?'
      fi

      wrappers_required=yes
      case $host in
      *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
        fi
        ;;
      esac
      if test "$wrappers_required" = no; then
	# Replace the output file specification.
	compile_command=`$ECHO "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
	link_command="$compile_command$compile_rpath"

	# We have no uninstalled library dependencies, so finalize right now.
	exit_status=0
	func_show_eval "$link_command" 'exit_status=$?'

	# Delete the generated files.
	if test -f "$output_objdir/${outputname}S.${objext}"; then
	  func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"'
	fi

	exit $exit_status
      fi

      if test -n "$compile_shlibpath$finalize_shlibpath"; then
	compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
      fi
      if test -n "$finalize_shlibpath"; then
	finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
      fi

      compile_var=
      finalize_var=
      if test -n "$runpath_var"; then
	if test -n "$perm_rpath"; then
	  # We should set the runpath_var.
	  rpath=
	  for dir in $perm_rpath; do
	    rpath="$rpath$dir:"
	  done
	  compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
	fi
	if test -n "$finalize_perm_rpath"; then
	  # We should set the runpath_var.
	  rpath=
	  for dir in $finalize_perm_rpath; do
	    rpath="$rpath$dir:"
	  done
	  finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
	fi
      fi

      if test "$no_install" = yes; then
	# 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'`
	# Delete the old output file.
	$opt_dry_run || $RM $output
	# Link the executable and exit
	func_show_eval "$link_command" 'exit $?'
	exit $EXIT_SUCCESS
      fi

      if test "$hardcode_action" = relink; then
	# Fast installation is not supported
	link_command="$compile_var$compile_command$compile_rpath"
	relink_command="$finalize_var$finalize_command$finalize_rpath"

	func_warning "this platform does not like uninstalled shared libraries"
	func_warning "\`$output' will be relinked during installation"
      else
	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'`
	  else
	    # fast_install is set to needless
	    relink_command=
	  fi
	else
	  link_command="$compile_var$compile_command$compile_rpath"
	  relink_command="$finalize_var$finalize_command$finalize_rpath"
	fi
      fi

      # Replace the output file specification.
      link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`

      # Delete the old output files.
      $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname

      func_show_eval "$link_command" 'exit $?'

      # Now create the wrapper script.
      func_verbose "creating $output"

      # Quote the relink command for shipping.
      if test -n "$relink_command"; then
	# Preserve any variables that may affect compiler behavior
	for var in $variables_saved_for_relink; do
	  if eval test -z \"\${$var+set}\"; then
	    relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
	  elif eval var_value=\$$var; test -z "$var_value"; then
	    relink_command="$var=; export $var; $relink_command"
	  else
	    func_quote_for_eval "$var_value"
	    relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
	  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"`
      fi

      # Only actually do things if not in dry run mode.
      $opt_dry_run || {
	# win32 will think the script is a binary if it has
	# a .exe suffix, so we strip it off here.
	case $output in
	  *.exe) func_stripname '' '.exe' "$output"
	         output=$func_stripname_result ;;
	esac
	# test for cygwin because mv fails w/o .exe extensions
	case $host in
	  *cygwin*)
	    exeext=.exe
	    func_stripname '' '.exe' "$outputname"
	    outputname=$func_stripname_result ;;
	  *) exeext= ;;
	esac
	case $host in
	  *cygwin* | *mingw* )
	    func_dirname_and_basename "$output" "" "."
	    output_name=$func_basename_result
	    output_path=$func_dirname_result
	    cwrappersource="$output_path/$objdir/lt-$output_name.c"
	    cwrapper="$output_path/$output_name.exe"
	    $RM $cwrappersource $cwrapper
	    trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15

	    func_emit_cwrapperexe_src > $cwrappersource

	    # The wrapper executable is built using the $host compiler,
	    # because it contains $host paths and files. If cross-
	    # compiling, it, like the target executable, must be
	    # executed on the $host or under an emulation environment.
	    $opt_dry_run || {
	      $LTCC $LTCFLAGS -o $cwrapper $cwrappersource
	      $STRIP $cwrapper
	    }

	    # Now, create the wrapper script for func_source use:
	    func_ltwrapper_scriptname $cwrapper
	    $RM $func_ltwrapper_scriptname_result
	    trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15
	    $opt_dry_run || {
	      # note: this script will not be executed, so do not chmod.
	      if test "x$build" = "x$host" ; then
		$cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result
	      else
		func_emit_wrapper no > $func_ltwrapper_scriptname_result
	      fi
	    }
	  ;;
	  * )
	    $RM $output
	    trap "$RM $output; exit $EXIT_FAILURE" 1 2 15

	    func_emit_wrapper no > $output
	    chmod +x $output
	  ;;
	esac
      }
      exit $EXIT_SUCCESS
      ;;
    esac

    # See if we need to build an old-fashioned archive.
    for oldlib in $oldlibs; do

      if test "$build_libtool_libs" = convenience; then
	oldobjs="$libobjs_save $symfileobj"
	addlibs="$convenience"
	build_libtool_libs=no
      else
	if test "$build_libtool_libs" = module; then
	  oldobjs="$libobjs_save"
	  build_libtool_libs=no
	else
	  oldobjs="$old_deplibs $non_pic_objects"
	  if test "$preload" = yes && test -f "$symfileobj"; then
	    oldobjs="$oldobjs $symfileobj"
	  fi
	fi
	addlibs="$old_convenience"
      fi

      if test -n "$addlibs"; then
	gentop="$output_objdir/${outputname}x"
	generated="$generated $gentop"

	func_extract_archives $gentop $addlibs
	oldobjs="$oldobjs $func_extract_archives_result"
      fi

      # Do each command in the archive commands.
      if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
	cmds=$old_archive_from_new_cmds
      else

	# Add any objects from preloaded convenience libraries
	if test -n "$dlprefiles"; then
	  gentop="$output_objdir/${outputname}x"
	  generated="$generated $gentop"

	  func_extract_archives $gentop $dlprefiles
	  oldobjs="$oldobjs $func_extract_archives_result"
	fi

	# POSIX demands no paths to be encoded in archives.  We have
	# to avoid creating archives with duplicate basenames if we
	# might have to extract them afterwards, e.g., when creating a
	# static archive out of a convenience library, or when linking
	# the entirety of a libtool archive into another (currently
	# not supported by libtool).
	if (for obj in $oldobjs
	    do
	      func_basename "$obj"
	      $ECHO "$func_basename_result"
	    done | sort | sort -uc >/dev/null 2>&1); then
	  :
	else
	  $ECHO "copying selected object files to avoid basename conflicts..."
	  gentop="$output_objdir/${outputname}x"
	  generated="$generated $gentop"
	  func_mkdir_p "$gentop"
	  save_oldobjs=$oldobjs
	  oldobjs=
	  counter=1
	  for obj in $save_oldobjs
	  do
	    func_basename "$obj"
	    objbase="$func_basename_result"
	    case " $oldobjs " in
	    " ") oldobjs=$obj ;;
	    *[\ /]"$objbase "*)
	      while :; do
		# Make sure we don't pick an alternate name that also
		# overlaps.
		newobj=lt$counter-$objbase
		func_arith $counter + 1
		counter=$func_arith_result
		case " $oldobjs " in
		*[\ /]"$newobj "*) ;;
		*) if test ! -f "$gentop/$newobj"; then break; fi ;;
		esac
	      done
	      func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
	      oldobjs="$oldobjs $gentop/$newobj"
	      ;;
	    *) oldobjs="$oldobjs $obj" ;;
	    esac
	  done
	fi
	eval cmds=\"$old_archive_cmds\"

	func_len " $cmds"
	len=$func_len_result
	if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
	  cmds=$old_archive_cmds
	else
	  # the command line is too long to link in one step, link in parts
	  func_verbose "using piecewise archive linking..."
	  save_RANLIB=$RANLIB
	  RANLIB=:
	  objlist=
	  concat_cmds=
	  save_oldobjs=$oldobjs
	  oldobjs=
	  # Is there a better way of finding the last object in the list?
	  for obj in $save_oldobjs
	  do
	    last_oldobj=$obj
	  done
	  eval test_cmds=\"$old_archive_cmds\"
	  func_len " $test_cmds"
	  len0=$func_len_result
	  len=$len0
	  for obj in $save_oldobjs
	  do
	    func_len " $obj"
	    func_arith $len + $func_len_result
	    len=$func_arith_result
	    func_append objlist " $obj"
	    if test "$len" -lt "$max_cmd_len"; then
	      :
	    else
	      # the above command should be used before it gets too long
	      oldobjs=$objlist
	      if test "$obj" = "$last_oldobj" ; then
		RANLIB=$save_RANLIB
	      fi
	      test -z "$concat_cmds" || concat_cmds=$concat_cmds~
	      eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
	      objlist=
	      len=$len0
	    fi
	  done
	  RANLIB=$save_RANLIB
	  oldobjs=$objlist
	  if test "X$oldobjs" = "X" ; then
	    eval cmds=\"\$concat_cmds\"
	  else
	    eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
	  fi
	fi
      fi
      func_execute_cmds "$cmds" 'exit $?'
    done

    test -n "$generated" && \
      func_show_eval "${RM}r$generated"

    # Now create the libtool archive.
    case $output in
    *.la)
      old_library=
      test "$build_old_libs" = yes && old_library="$libname.$libext"
      func_verbose "creating $output"

      # Preserve any variables that may affect compiler behavior
      for var in $variables_saved_for_relink; do
	if eval test -z \"\${$var+set}\"; then
	  relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
	elif eval var_value=\$$var; test -z "$var_value"; then
	  relink_command="$var=; export $var; $relink_command"
	else
	  func_quote_for_eval "$var_value"
	  relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
	fi
      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"`
      if test "$hardcode_automatic" = yes ; then
	relink_command=
      fi

      # Only create the output if not a dry run.
      $opt_dry_run || {
	for installed in no yes; do
	  if test "$installed" = yes; then
	    if test -z "$install_libdir"; then
	      break
	    fi
	    output="$output_objdir/$outputname"i
	    # Replace all uninstalled libtool libraries with the installed ones
	    newdependency_libs=
	    for deplib in $dependency_libs; do
	      case $deplib in
	      *.la)
		func_basename "$deplib"
		name="$func_basename_result"
		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
		test -z "$libdir" && \
		  func_fatal_error "\`$deplib' is not a valid libtool archive"
		newdependency_libs="$newdependency_libs $libdir/$name"
		;;
	      *) newdependency_libs="$newdependency_libs $deplib" ;;
	      esac
	    done
	    dependency_libs="$newdependency_libs"
	    newdlfiles=

	    for lib in $dlfiles; do
	      case $lib in
	      *.la)
	        func_basename "$lib"
		name="$func_basename_result"
		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
		test -z "$libdir" && \
		  func_fatal_error "\`$lib' is not a valid libtool archive"
		newdlfiles="$newdlfiles $libdir/$name"
		;;
	      *) newdlfiles="$newdlfiles $lib" ;;
	      esac
	    done
	    dlfiles="$newdlfiles"
	    newdlprefiles=
	    for lib in $dlprefiles; do
	      case $lib in
	      *.la)
		# Only pass preopened files to the pseudo-archive (for
		# eventual linking with the app. that links it) if we
		# didn't already link the preopened objects directly into
		# the library:
		func_basename "$lib"
		name="$func_basename_result"
		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
		test -z "$libdir" && \
		  func_fatal_error "\`$lib' is not a valid libtool archive"
		newdlprefiles="$newdlprefiles $libdir/$name"
		;;
	      esac
	    done
	    dlprefiles="$newdlprefiles"
	  else
	    newdlfiles=
	    for lib in $dlfiles; do
	      case $lib in
		[\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
		*) abs=`pwd`"/$lib" ;;
	      esac
	      newdlfiles="$newdlfiles $abs"
	    done
	    dlfiles="$newdlfiles"
	    newdlprefiles=
	    for lib in $dlprefiles; do
	      case $lib in
		[\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
		*) abs=`pwd`"/$lib" ;;
	      esac
	      newdlprefiles="$newdlprefiles $abs"
	    done
	    dlprefiles="$newdlprefiles"
	  fi
	  $RM $output
	  # place dlname in correct position for cygwin
	  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 ;;
	  esac
	  $ECHO > $output "\
# $outputname - a libtool library file
# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
#
# Please DO NOT delete this file!
# It is necessary for linking the library.

# The name that we can dlopen(3).
dlname='$tdlname'

# Names of this library.
library_names='$library_names'

# The name of the static archive.
old_library='$old_library'

# Linker flags that can not go in dependency_libs.
inherited_linker_flags='$new_inherited_linker_flags'

# Libraries that this one depends upon.
dependency_libs='$dependency_libs'

# Names of additional weak libraries provided by this library
weak_library_names='$weak_libs'

# Version information for $libname.
current=$current
age=$age
revision=$revision

# Is this an already installed library?
installed=$installed

# Should we warn about portability when linking against -modules?
shouldnotlink=$module

# Files to dlopen/dlpreopen
dlopen='$dlfiles'
dlpreopen='$dlprefiles'

# Directory that this library needs to be installed in:
libdir='$install_libdir'"
	  if test "$installed" = no && test "$need_relink" = yes; then
	    $ECHO >> $output "\
relink_command=\"$relink_command\""
	  fi
	done
      }

      # Do a symbolic link so that the libtool archive can be found in
      # LD_LIBRARY_PATH before the program is installed.
      func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?'
      ;;
    esac
    exit $EXIT_SUCCESS
}

{ test "$mode" = link || test "$mode" = relink; } &&
    func_mode_link ${1+"$@"}


# func_mode_uninstall arg...
func_mode_uninstall ()
{
    $opt_debug
    RM="$nonopt"
    files=
    rmforce=
    exit_status=0

    # This variable tells wrapper scripts just to set variables rather
    # than running their programs.
    libtool_install_magic="$magic"

    for arg
    do
      case $arg in
      -f) RM="$RM $arg"; rmforce=yes ;;
      -*) RM="$RM $arg" ;;
      *) files="$files $arg" ;;
      esac
    done

    test -z "$RM" && \
      func_fatal_help "you must specify an RM program"

    rmdirs=

    origobjdir="$objdir"
    for file in $files; do
      func_dirname "$file" "" "."
      dir="$func_dirname_result"
      if test "X$dir" = X.; then
	objdir="$origobjdir"
      else
	objdir="$dir/$origobjdir"
      fi
      func_basename "$file"
      name="$func_basename_result"
      test "$mode" = uninstall && objdir="$dir"

      # Remember objdir for removal later, being careful to avoid duplicates
      if test "$mode" = clean; then
	case " $rmdirs " in
	  *" $objdir "*) ;;
	  *) rmdirs="$rmdirs $objdir" ;;
	esac
      fi

      # Don't error if the file doesn't exist and rm -f was used.
      if { test -L "$file"; } >/dev/null 2>&1 ||
	 { test -h "$file"; } >/dev/null 2>&1 ||
	 test -f "$file"; then
	:
      elif test -d "$file"; then
	exit_status=1
	continue
      elif test "$rmforce" = yes; then
	continue
      fi

      rmfiles="$file"

      case $name in
      *.la)
	# Possibly a libtool archive, so verify it.
	if func_lalib_p "$file"; then
	  func_source $dir/$name

	  # Delete the libtool libraries and symlinks.
	  for n in $library_names; do
	    rmfiles="$rmfiles $objdir/$n"
	  done
	  test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"

	  case "$mode" in
	  clean)
	    case "  $library_names " in
	    # "  " in the beginning catches empty $dlname
	    *" $dlname "*) ;;
	    *) rmfiles="$rmfiles $objdir/$dlname" ;;
	    esac
	    test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
	    ;;
	  uninstall)
	    if test -n "$library_names"; then
	      # Do each command in the postuninstall commands.
	      func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
	    fi

	    if test -n "$old_library"; then
	      # Do each command in the old_postuninstall commands.
	      func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
	    fi
	    # FIXME: should reinstall the best remaining shared library.
	    ;;
	  esac
	fi
	;;

      *.lo)
	# Possibly a libtool object, so verify it.
	if func_lalib_p "$file"; then

	  # Read the .lo file
	  func_source $dir/$name

	  # Add PIC object to the list of files to remove.
	  if test -n "$pic_object" &&
	     test "$pic_object" != none; then
	    rmfiles="$rmfiles $dir/$pic_object"
	  fi

	  # Add non-PIC object to the list of files to remove.
	  if test -n "$non_pic_object" &&
	     test "$non_pic_object" != none; then
	    rmfiles="$rmfiles $dir/$non_pic_object"
	  fi
	fi
	;;

      *)
	if test "$mode" = clean ; then
	  noexename=$name
	  case $file in
	  *.exe)
	    func_stripname '' '.exe' "$file"
	    file=$func_stripname_result
	    func_stripname '' '.exe' "$name"
	    noexename=$func_stripname_result
	    # $file with .exe has already been added to rmfiles,
	    # add $file without .exe
	    rmfiles="$rmfiles $file"
	    ;;
	  esac
	  # Do a test to see if this is a libtool program.
	  if func_ltwrapper_p "$file"; then
	    if func_ltwrapper_executable_p "$file"; then
	      func_ltwrapper_scriptname "$file"
	      relink_command=
	      func_source $func_ltwrapper_scriptname_result
	      rmfiles="$rmfiles $func_ltwrapper_scriptname_result"
	    else
	      relink_command=
	      func_source $dir/$noexename
	    fi

	    # note $name still contains .exe if it was in $file originally
	    # as does the version of $file that was added into $rmfiles
	    rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}"
	    if test "$fast_install" = yes && test -n "$relink_command"; then
	      rmfiles="$rmfiles $objdir/lt-$name"
	    fi
	    if test "X$noexename" != "X$name" ; then
	      rmfiles="$rmfiles $objdir/lt-${noexename}.c"
	    fi
	  fi
	fi
	;;
      esac
      func_show_eval "$RM $rmfiles" 'exit_status=1'
    done
    objdir="$origobjdir"

    # Try to remove the ${objdir}s in the directories where we deleted files
    for dir in $rmdirs; do
      if test -d "$dir"; then
	func_show_eval "rmdir $dir >/dev/null 2>&1"
      fi
    done

    exit $exit_status
}

{ test "$mode" = uninstall || test "$mode" = clean; } &&
    func_mode_uninstall ${1+"$@"}

test -z "$mode" && {
  help="$generic_help"
  func_fatal_help "you must specify a MODE"
}

test -z "$exec_cmd" && \
  func_fatal_help "invalid operation mode \`$mode'"

if test -n "$exec_cmd"; then
  eval exec "$exec_cmd"
  exit $EXIT_FAILURE
fi

exit $exit_status


# The TAGs below are defined such that we never get into a situation
# in which we disable both kinds of libraries.  Given conflicting
# choices, we go for a static library, that is the most portable,
# since we can't tell whether shared libraries were disabled because
# the user asked for that or because the platform doesn't support
# them.  This is particularly important on AIX, because we don't
# support having both static and shared libraries enabled at the same
# time on that platform, so we default to a shared-only configuration.
# If a disable-shared tag is given, we'll fallback to a static-only
# configuration.  But we'll never go from static-only to shared-only.

# ### BEGIN LIBTOOL TAG CONFIG: disable-shared
build_libtool_libs=no
build_old_libs=yes
# ### END LIBTOOL TAG CONFIG: disable-shared

# ### BEGIN LIBTOOL TAG CONFIG: disable-static
build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
# ### END LIBTOOL TAG CONFIG: disable-static

# Local Variables:
# mode:shell-script
# sh-indentation:2
# End:
# vi:sw=2

EOF-ltmain.sh
echo - 'missing'
cat << 'EOF-missing' > 'missing'
#! /bin/sh
# Common stub for a few missing GNU programs while installing.

scriptversion=2005-06-08.21

# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005
#   Free Software Foundation, Inc.
# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.

# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.

# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.

# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.

# 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.

if test $# -eq 0; then
  echo 1>&2 "Try \`$0 --help' for more information"
  exit 1
fi

run=:

# In the cases where this matters, `missing' is being run in the
# srcdir already.
if test -f configure.ac; then
  configure_ac=configure.ac
else
  configure_ac=configure.in
fi

msg="missing on your system"

case "$1" in
--run)
  # Try to run requested program, and just exit if it succeeds.
  run=
  shift
  "$@" && exit 0
  # Exit code 63 means version mismatch.  This often happens
  # when the user try to use an ancient version of a tool on
  # a file that requires a minimum version.  In this case we
  # we should proceed has if the program had been absent, or
  # if --run hadn't been passed.
  if test $? = 63; then
    run=:
    msg="probably too old"
  fi
  ;;

  -h|--h|--he|--hel|--help)
    echo "\
$0 [OPTION]... PROGRAM [ARGUMENT]...

Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
error status if there is no known handling for PROGRAM.

Options:
  -h, --help      display this help and exit
  -v, --version   output version information and exit
  --run           try to run the given command, and emulate it if it fails

Supported PROGRAM values:
  aclocal      touch file \`aclocal.m4'
  autoconf     touch file \`configure'
  autoheader   touch file \`config.h.in'
  automake     touch all \`Makefile.in' files
  bison        create \`y.tab.[ch]', if possible, from existing .[ch]
  flex         create \`lex.yy.c', if possible, from existing .c
  help2man     touch the output file
  lex          create \`lex.yy.c', if possible, from existing .c
  makeinfo     touch the output file
  tar          try tar, gnutar, gtar, then tar without non-portable flags
  yacc         create \`y.tab.[ch]', if possible, from existing .[ch]

Send bug reports to <bug-automake@gnu.org>."
    exit $?
    ;;

  -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
    echo "missing $scriptversion (GNU Automake)"
    exit $?
    ;;

  -*)
    echo 1>&2 "$0: Unknown \`$1' option"
    echo 1>&2 "Try \`$0 --help' for more information"
    exit 1
    ;;

esac

# Now exit if we have it, but it failed.  Also exit now if we
# don't have it and --version was passed (most likely to detect
# the program).
case "$1" in
  lex|yacc)
    # Not GNU programs, they don't have --version.
    ;;

  tar)
    if test -n "$run"; then
       echo 1>&2 "ERROR: \`tar' requires --run"
       exit 1
    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
       exit 1
    fi
    ;;

  *)
    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
       # We have it, but it failed.
       exit 1
    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
       # Could not run --version or --help.  This is probably someone
       # running `$TOOL --version' or `$TOOL --help' to check whether
       # $TOOL exists and not knowing $TOOL uses missing.
       exit 1
    fi
    ;;
esac

# If it does not exist, or fails to run (possibly an outdated version),
# try to emulate it.
case "$1" in
  aclocal*)
    echo 1>&2 "\
WARNING: \`$1' is $msg.  You should only need it if
         you modified \`acinclude.m4' or \`${configure_ac}'.  You might want
         to install the \`Automake' and \`Perl' packages.  Grab them from
         any GNU archive site."
    touch aclocal.m4
    ;;

  autoconf)
    echo 1>&2 "\
WARNING: \`$1' is $msg.  You should only need it if
         you modified \`${configure_ac}'.  You might want to install the
         \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
         archive site."
    touch configure
    ;;

  autoheader)
    echo 1>&2 "\
WARNING: \`$1' is $msg.  You should only need it if
         you modified \`acconfig.h' or \`${configure_ac}'.  You might want
         to install the \`Autoconf' and \`GNU m4' packages.  Grab them
         from any GNU archive site."
    files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
    test -z "$files" && files="config.h"
    touch_files=
    for f in $files; do
      case "$f" in
      *:*) touch_files="$touch_files "`echo "$f" |
				       sed -e 's/^[^:]*://' -e 's/:.*//'`;;
      *) touch_files="$touch_files $f.in";;
      esac
    done
    touch $touch_files
    ;;

  automake*)
    echo 1>&2 "\
WARNING: \`$1' is $msg.  You should only need it if
         you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
         You might want to install the \`Automake' and \`Perl' packages.
         Grab them from any GNU archive site."
    find . -type f -name Makefile.am -print |
	   sed 's/\.am$/.in/' |
	   while read f; do touch "$f"; done
    ;;

  autom4te)
    echo 1>&2 "\
WARNING: \`$1' is needed, but is $msg.
         You might have modified some files without having the
         proper tools for further handling them.
         You can get \`$1' as part of \`Autoconf' from any GNU
         archive site."

    file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
    test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
    if test -f "$file"; then
	touch $file
    else
	test -z "$file" || exec >$file
	echo "#! /bin/sh"
	echo "# Created by GNU Automake missing as a replacement of"
	echo "#  $ $@"
	echo "exit 0"
	chmod +x $file
	exit 1
    fi
    ;;

  bison|yacc)
    echo 1>&2 "\
WARNING: \`$1' $msg.  You should only need it if
         you modified a \`.y' file.  You may need the \`Bison' package
         in order for those modifications to take effect.  You can get
         \`Bison' from any GNU archive site."
    rm -f y.tab.c y.tab.h
    if [ $# -ne 1 ]; then
        eval LASTARG="\${$#}"
	case "$LASTARG" in
	*.y)
	    SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
	    if [ -f "$SRCFILE" ]; then
	         cp "$SRCFILE" y.tab.c
	    fi
	    SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
	    if [ -f "$SRCFILE" ]; then
	         cp "$SRCFILE" y.tab.h
	    fi
	  ;;
	esac
    fi
    if [ ! -f y.tab.h ]; then
	echo >y.tab.h
    fi
    if [ ! -f y.tab.c ]; then
	echo 'main() { return 0; }' >y.tab.c
    fi
    ;;

  lex|flex)
    echo 1>&2 "\
WARNING: \`$1' is $msg.  You should only need it if
         you modified a \`.l' file.  You may need the \`Flex' package
         in order for those modifications to take effect.  You can get
         \`Flex' from any GNU archive site."
    rm -f lex.yy.c
    if [ $# -ne 1 ]; then
        eval LASTARG="\${$#}"
	case "$LASTARG" in
	*.l)
	    SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
	    if [ -f "$SRCFILE" ]; then
	         cp "$SRCFILE" lex.yy.c
	    fi
	  ;;
	esac
    fi
    if [ ! -f lex.yy.c ]; then
	echo 'main() { return 0; }' >lex.yy.c
    fi
    ;;

  help2man)
    echo 1>&2 "\
WARNING: \`$1' is $msg.  You should only need it if
	 you modified a dependency of a manual page.  You may need the
	 \`Help2man' package in order for those modifications to take
	 effect.  You can get \`Help2man' from any GNU archive site."

    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
    if test -z "$file"; then
	file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
    fi
    if [ -f "$file" ]; then
	touch $file
    else
	test -z "$file" || exec >$file
	echo ".ab help2man is required to generate this page"
	exit 1
    fi
    ;;

  makeinfo)
    echo 1>&2 "\
WARNING: \`$1' is $msg.  You should only need it if
         you modified a \`.texi' or \`.texinfo' file, or any other file
         indirectly affecting the aspect of the manual.  The spurious
         call might also be the consequence of using a buggy \`make' (AIX,
         DU, IRIX).  You might want to install the \`Texinfo' package or
         the \`GNU make' package.  Grab either from any GNU archive site."
    # The file to touch is that specified with -o ...
    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
    if test -z "$file"; then
      # ... or it is the one specified with @setfilename ...
      infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
      file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $infile`
      # ... or it is derived from the source name (dir/f.texi becomes f.info)
      test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
    fi
    # If the file does not exist, the user really needs makeinfo;
    # let's fail without touching anything.
    test -f $file || exit 1
    touch $file
    ;;

  tar)
    shift

    # We have already tried tar in the generic part.
    # Look for gnutar/gtar before invocation to avoid ugly error
    # messages.
    if (gnutar --version > /dev/null 2>&1); then
       gnutar "$@" && exit 0
    fi
    if (gtar --version > /dev/null 2>&1); then
       gtar "$@" && exit 0
    fi
    firstarg="$1"
    if shift; then
	case "$firstarg" in
	*o*)
	    firstarg=`echo "$firstarg" | sed s/o//`
	    tar "$firstarg" "$@" && exit 0
	    ;;
	esac
	case "$firstarg" in
	*h*)
	    firstarg=`echo "$firstarg" | sed s/h//`
	    tar "$firstarg" "$@" && exit 0
	    ;;
	esac
    fi

    echo 1>&2 "\
WARNING: I can't seem to be able to run \`tar' with the given arguments.
         You may want to install GNU tar or Free paxutils, or check the
         command line arguments."
    exit 1
    ;;

  *)
    echo 1>&2 "\
WARNING: \`$1' is needed, and is $msg.
         You might have modified some files without having the
         proper tools for further handling them.  Check the \`README' file,
         it often tells you about the needed prerequisites for installing
         this package.  You may also peek at any GNU archive site, in case
         some other package would contain this missing \`$1' program."
    exit 1
    ;;
esac

exit 0

# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-end: "$"
# End:
EOF-missing
cd ..
echo - 'config.h.in'
cat << 'EOF-config.h.in' > 'config.h.in'
/* config.h.in.  Generated from configure.ac by autoheader.  */

/* The name of the include file describing the fault handler. */
#undef CFG_FAULT

/* The name of the file implementing the handler functionality. */
#undef CFG_HANDLER

/* The name of the file implementing sigsegv_reset_onstack_flag. */
#undef CFG_LEAVE

/* The name of the include file describing the Mach fault handler. */
#undef CFG_MACHFAULT

/* The name of the include file describing the fault signals. */
#undef CFG_SIGNALS

/* The name of the file determining the stack virtual memory area. */
#undef CFG_STACKVMA

/* Define to 1 if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H

/* Define if getpagesize() is available as a function or a macro. */
#undef HAVE_GETPAGESIZE

/* Define to 1 if you have the `getrlimit' function. */
#undef HAVE_GETRLIMIT

/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H

/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H

/* Define to 1 if you have the `mincore' function. */
#undef HAVE_MINCORE

/* Define if <sys/mman.h> defines MAP_ANON and mmaping with MAP_ANON works. */
#undef HAVE_MMAP_ANON

/* Define if <sys/mman.h> defines MAP_ANONYMOUS and mmaping with MAP_ANONYMOUS
   works. */
#undef HAVE_MMAP_ANONYMOUS

/* Define if mmaping of the special device /dev/zero works. */
#undef HAVE_MMAP_DEVZERO

/* Define if PAGESIZE is available as a macro. */
#undef HAVE_PAGESIZE

/* Define to 1 if you have the `setrlimit' function. */
#undef HAVE_SETRLIMIT

/* Define to 1 if you have the `sigaltstack' function. */
#undef HAVE_SIGALTSTACK

/* Define if CFG_STACKVMA is set to a nontrivial source file. */
#undef HAVE_STACKVMA

/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H

/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H

/* Define to 1 if you have the <strings.h> header file. */
#undef HAVE_STRINGS_H

/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H

/* Define if sysconf(_SC_PAGESIZE) is available as a function or a macro. */
#undef HAVE_SYSCONF_PAGESIZE

/* Define to 1 if you have the <sys/signal.h> header file. */
#undef HAVE_SYS_SIGNAL_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/types.h> header file. */
#undef HAVE_SYS_TYPES_H

/* Define to 1 if you have the <ucontext.h> header file. */
#undef HAVE_UCONTEXT_H

/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H

/* Define if you have the sigaltstack() function and it works. */
#undef HAVE_WORKING_SIGALTSTACK

/* Define to the sub-directory in which libtool stores uninstalled libraries.
   */
#undef LT_OBJDIR

/* Name of package */
#undef PACKAGE

/* Define to the address where bug reports for this package should be sent. */
#undef PACKAGE_BUGREPORT

/* Define to the full name of this package. */
#undef PACKAGE_NAME

/* Define to the full name and version of this package. */
#undef PACKAGE_STRING

/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME

/* Define to the version of this package. */
#undef PACKAGE_VERSION

/* Define if sigaltstack() interprets the stack_t.ss_sp field incorrectly, as
   the highest address of the alternate stack range rather than as the lowest
   address. */
#undef SIGALTSTACK_SS_REVERSED

/* Define as the direction of stack growth for your system. STACK_DIRECTION >
   0 => grows toward higher addresses STACK_DIRECTION < 0 => grows toward
   lower addresses STACK_DIRECTION = 0 => spaghetti stack. */
#undef STACK_DIRECTION

/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS

/* Version number of package */
#undef VERSION

/* Define to 'struct sigaltstack' if that's the type of the argument to
   sigaltstack */
#undef stack_t
EOF-config.h.in
echo - 'config.h.msvc'
cat << 'EOF-config.h.msvc' > 'config.h.msvc'
/* config.h.in.  Generated from configure.ac by autoheader.  */

/* The name of the include file describing the fault handler. */
#undef CFG_FAULT

/* The name of the file implementing the handler functionality. */
#define CFG_HANDLER "handler-win32.c"

/* The name of the file implementing sigsegv_reset_onstack_flag. */
#undef CFG_LEAVE

/* The name of the include file describing the Mach fault handler. */
#undef CFG_MACHFAULT

/* The name of the include file describing the fault signals. */
#undef CFG_SIGNALS

/* The name of the file determining the stack virtual memory area. */
#undef CFG_STACKVMA

/* Define to 1 if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H

/* Define if getpagesize() is available as a function or a macro. */
#undef HAVE_GETPAGESIZE

/* Define to 1 if you have the `getrlimit' function. */
#undef HAVE_GETRLIMIT

/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H

/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H

/* Define to 1 if you have the `mincore' function. */
#undef HAVE_MINCORE

/* Define if <sys/mman.h> defines MAP_ANON and mmaping with MAP_ANON works. */
#undef HAVE_MMAP_ANON

/* Define if <sys/mman.h> defines MAP_ANONYMOUS and mmaping with MAP_ANONYMOUS
   works. */
#undef HAVE_MMAP_ANONYMOUS

/* Define if mmaping of the special device /dev/zero works. */
#undef HAVE_MMAP_DEVZERO

/* Define if PAGESIZE is available as a macro. */
#undef HAVE_PAGESIZE

/* Define to 1 if you have the `setrlimit' function. */
#undef HAVE_SETRLIMIT

/* Define to 1 if you have the `sigaltstack' function. */
#undef HAVE_SIGALTSTACK

/* Define if CFG_STACKVMA is set to a nontrivial source file. */
#undef HAVE_STACKVMA

/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H

/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H

/* Define to 1 if you have the <strings.h> header file. */
#undef HAVE_STRINGS_H

/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H

/* Define if sysconf(_SC_PAGESIZE) is available as a function or a macro. */
#undef HAVE_SYSCONF_PAGESIZE

/* Define to 1 if you have the <sys/signal.h> header file. */
#undef HAVE_SYS_SIGNAL_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/types.h> header file. */
#undef HAVE_SYS_TYPES_H

/* Define to 1 if you have the <ucontext.h> header file. */
#undef HAVE_UCONTEXT_H

/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H

/* Define if you have the sigaltstack() function and it works. */
#undef HAVE_WORKING_SIGALTSTACK

/* Define to the sub-directory in which libtool stores uninstalled libraries.
   */
#undef LT_OBJDIR

/* Name of package */
#undef PACKAGE

/* Define to the address where bug reports for this package should be sent. */
#undef PACKAGE_BUGREPORT

/* Define to the full name of this package. */
#undef PACKAGE_NAME

/* Define to the full name and version of this package. */
#undef PACKAGE_STRING

/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME

/* Define to the version of this package. */
#undef PACKAGE_VERSION

/* Define if sigaltstack() interprets the stack_t.ss_sp field incorrectly, as
   the highest address of the alternate stack range rather than as the lowest
   address. */
#undef SIGALTSTACK_SS_REVERSED

/* Define as the direction of stack growth for your system. STACK_DIRECTION >
   0 => grows toward higher addresses STACK_DIRECTION < 0 => grows toward
   lower addresses STACK_DIRECTION = 0 => spaghetti stack. */
#undef STACK_DIRECTION

/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS

/* Version number of package */
#undef VERSION

/* Define to 'struct sigaltstack' if that's the type of the argument to
   sigaltstack */
#undef stack_t
EOF-config.h.msvc
echo - 'configure'
cat << 'EOF-configure' > 'configure'
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.63.
#
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
# This configure script is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.
## --------------------- ##
## 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
  emulate sh
  NULLCMD=:
  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
  # is contrary to our usage.  Disable this feature.
  alias -g '${1+"$@"}'='"$@"'
  setopt NO_GLOB_SUBST
else
  case `(set -o) 2>/dev/null` in
  *posix*) set -o posix ;;
esac

fi




# PATH needs CR
# Avoid depending upon Character Ranges.
as_cr_letters='abcdefghijklmnopqrstuvwxyz'
as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
as_cr_Letters=$as_cr_letters$as_cr_LETTERS
as_cr_digits='0123456789'
as_cr_alnum=$as_cr_Letters$as_cr_digits

as_nl='
'
export as_nl
# Printing a long string crashes Solaris 7 /usr/bin/printf.
as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
  as_echo='printf %s\n'
  as_echo_n='printf %s'
else
  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
    as_echo_n='/usr/ucb/echo -n'
  else
    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
    as_echo_n_body='eval
      arg=$1;
      case $arg in
      *"$as_nl"*)
	expr "X$arg" : "X\\(.*\\)$as_nl";
	arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
      esac;
      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
    '
    export as_echo_n_body
    as_echo_n='sh -c $as_echo_n_body as_echo'
  fi
  export as_echo_body
  as_echo='sh -c $as_echo_body as_echo'
fi

# The user is always right.
if test "${PATH_SEPARATOR+set}" != set; then
  PATH_SEPARATOR=:
  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
      PATH_SEPARATOR=';'
  }
fi

# Support unset when possible.
if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
  as_unset=unset
else
  as_unset=false
fi


# IFS
# We need space, tab and new line, in precisely that order.  Quoting is
# there to prevent editors from complaining about space-tab.
# (If _AS_PATH_WALK were called with IFS unset, it would disable word
# splitting by setting IFS to empty value.)
IFS=" ""	$as_nl"

# Find who we are.  Look in the path if we contain no directory separator.
case $0 in
  *[\\/]* ) as_myself=$0 ;;
  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
  IFS=$as_save_IFS
  test -z "$as_dir" && as_dir=.
  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
done
IFS=$as_save_IFS

     ;;
esac
# We did not find ourselves, most probably we were run as `sh COMMAND'
# in which case we are not to be found in the path.
if test "x$as_myself" = x; then
  as_myself=$0
fi
if test ! -f "$as_myself"; then
  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
  { (exit 1); exit 1; }
fi

# Work around bugs in pre-3.0 UWIN ksh.
for as_var in ENV MAIL MAILPATH
do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
done
PS1='$ '
PS2='> '
PS4='+ '

# NLS nuisances.
LC_ALL=C
export LC_ALL
LANGUAGE=C
export LANGUAGE

# Required to use basename.
if expr a : '\(a\)' >/dev/null 2>&1 &&
   test "X`expr 00001 : '.*\(...\)'`" = X001; then
  as_expr=expr
else
  as_expr=false
fi

if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
  as_basename=basename
else
  as_basename=false
fi


# Name of the executable.
as_me=`$as_basename -- "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
	 X"$0" : 'X\(//\)$' \| \
	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X/"$0" |
    sed '/^.*\/\([^/][^/]*\)\/*$/{
	    s//\1/
	    q
	  }
	  /^X\/\(\/\/\)$/{
	    s//\1/
	    q
	  }
	  /^X\/\(\/\).*/{
	    s//\1/
	    q
	  }
	  s/.*/./; q'`

# CDPATH.
$as_unset CDPATH


if test "x$CONFIG_SHELL" = x; then
  if (eval ":") 2>/dev/null; then
  as_have_required=yes
else
  as_have_required=no
fi

  if test $as_have_required = yes &&	 (eval ":
(as_func_return () {
  (exit \$1)
}
as_func_success () {
  as_func_return 0
}
as_func_failure () {
  as_func_return 1
}
as_func_ret_success () {
  return 0
}
as_func_ret_failure () {
  return 1
}

exitcode=0
if as_func_success; then
  :
else
  exitcode=1
  echo as_func_success failed.
fi

if as_func_failure; then
  exitcode=1
  echo as_func_failure succeeded.
fi

if as_func_ret_success; then
  :
else
  exitcode=1
  echo as_func_ret_success failed.
fi

if as_func_ret_failure; then
  exitcode=1
  echo as_func_ret_failure succeeded.
fi

if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
  :
else
  exitcode=1
  echo positional parameters were not saved.
fi

test \$exitcode = 0) || { (exit 1); exit 1; }

(
  as_lineno_1=\$LINENO
  as_lineno_2=\$LINENO
  test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
  test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; }
") 2> /dev/null; then
  :
else
  as_candidate_shells=
    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
do
  IFS=$as_save_IFS
  test -z "$as_dir" && as_dir=.
  case $as_dir in
	 /*)
	   for as_base in sh bash ksh sh5; do
	     as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
	   done;;
       esac
done
IFS=$as_save_IFS


      for as_shell in $as_candidate_shells $SHELL; do
	 # Try only shells that exist, to save several forks.
	 if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
		{ ("$as_shell") 2> /dev/null <<\_ASEOF
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
  # is contrary to our usage.  Disable this feature.
  alias -g '${1+"$@"}'='"$@"'
  setopt NO_GLOB_SUBST
else
  case `(set -o) 2>/dev/null` in
  *posix*) set -o posix ;;
esac

fi


:
_ASEOF
}; then
  CONFIG_SHELL=$as_shell
	       as_have_required=yes
	       if { "$as_shell" 2> /dev/null <<\_ASEOF
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
  # is contrary to our usage.  Disable this feature.
  alias -g '${1+"$@"}'='"$@"'
  setopt NO_GLOB_SUBST
else
  case `(set -o) 2>/dev/null` in
  *posix*) set -o posix ;;
esac

fi


:
(as_func_return () {
  (exit $1)
}
as_func_success () {
  as_func_return 0
}
as_func_failure () {
  as_func_return 1
}
as_func_ret_success () {
  return 0
}
as_func_ret_failure () {
  return 1
}

exitcode=0
if as_func_success; then
  :
else
  exitcode=1
  echo as_func_success failed.
fi

if as_func_failure; then
  exitcode=1
  echo as_func_failure succeeded.
fi

if as_func_ret_success; then
  :
else
  exitcode=1
  echo as_func_ret_success failed.
fi

if as_func_ret_failure; then
  exitcode=1
  echo as_func_ret_failure succeeded.
fi

if ( set x; as_func_ret_success y && test x = "$1" ); then
  :
else
  exitcode=1
  echo positional parameters were not saved.
fi

test $exitcode = 0) || { (exit 1); exit 1; }

(
  as_lineno_1=$LINENO
  as_lineno_2=$LINENO
  test "x$as_lineno_1" != "x$as_lineno_2" &&
  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }

_ASEOF
}; then
  break
fi

fi

      done

      if test "x$CONFIG_SHELL" != x; then
  for as_var in BASH_ENV ENV
	do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
	done
	export CONFIG_SHELL
	exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
fi


    if test $as_have_required = no; then
  echo This script requires a shell more modern than all the
      echo shells that I found on your system.  Please install a
      echo modern shell, or manually run the script under such a
      echo shell if you do have one.
      { (exit 1); exit 1; }
fi


fi

fi



(eval "as_func_return () {
  (exit \$1)
}
as_func_success () {
  as_func_return 0
}
as_func_failure () {
  as_func_return 1
}
as_func_ret_success () {
  return 0
}
as_func_ret_failure () {
  return 1
}

exitcode=0
if as_func_success; then
  :
else
  exitcode=1
  echo as_func_success failed.
fi

if as_func_failure; then
  exitcode=1
  echo as_func_failure succeeded.
fi

if as_func_ret_success; then
  :
else
  exitcode=1
  echo as_func_ret_success failed.
fi

if as_func_ret_failure; then
  exitcode=1
  echo as_func_ret_failure succeeded.
fi

if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
  :
else
  exitcode=1
  echo positional parameters were not saved.
fi

test \$exitcode = 0") || {
  echo No shell found that supports shell functions.
  echo Please tell bug-autoconf@gnu.org about your system,
  echo including any error possibly output before this message.
  echo This can help us improve future autoconf versions.
  echo Configuration will now proceed without shell functions.
}



  as_lineno_1=$LINENO
  as_lineno_2=$LINENO
  test "x$as_lineno_1" != "x$as_lineno_2" &&
  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {

  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
  # uniformly replaced by the line number.  The first 'sed' inserts a
  # line-number line after each line using $LINENO; the second 'sed'
  # does the real work.  The second script uses 'N' to pair each
  # line-number line with the line containing $LINENO, and appends
  # trailing '-' during substitution so that $LINENO is not a special
  # case at line end.
  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
  # scripts with optimization help from Paolo Bonzini.  Blame Lee
  # E. McMahon (1931-1989) for sed's syntax.  :-)
  sed -n '
    p
    /[$]LINENO/=
  ' <$as_myself |
    sed '
      s/[$]LINENO.*/&-/
      t lineno
      b
      :lineno
      N
      :loop
      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
      t loop
      s/-\n.*//
    ' >$as_me.lineno &&
  chmod +x "$as_me.lineno" ||
    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
   { (exit 1); exit 1; }; }

  # Don't try to exec as it changes $[0], causing all sort of problems
  # (the dirname of $[0] is not the place where we might find the
  # original and so on.  Autoconf is especially sensitive to this).
  . "./$as_me.lineno"
  # Exit status is that of the last command.
  exit
}


if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
  as_dirname=dirname
else
  as_dirname=false
fi

ECHO_C= ECHO_N= ECHO_T=
case `echo -n x` in
-n*)
  case `echo 'x\c'` in
  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
  *)   ECHO_C='\c';;
  esac;;
*)
  ECHO_N='-n';;
esac
if expr a : '\(a\)' >/dev/null 2>&1 &&
   test "X`expr 00001 : '.*\(...\)'`" = X001; then
  as_expr=expr
else
  as_expr=false
fi

rm -f conf$$ conf$$.exe conf$$.file
if test -d conf$$.dir; then
  rm -f conf$$.dir/conf$$.file
else
  rm -f conf$$.dir
  mkdir conf$$.dir 2>/dev/null
fi
if (echo >conf$$.file) 2>/dev/null; then
  if ln -s conf$$.file conf$$ 2>/dev/null; then
    as_ln_s='ln -s'
    # ... but there are two gotchas:
    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
    # In both cases, we have to default to `cp -p'.
    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
      as_ln_s='cp -p'
  elif ln conf$$.file conf$$ 2>/dev/null; then
    as_ln_s=ln
  else
    as_ln_s='cp -p'
  fi
else
  as_ln_s='cp -p'
fi
rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
rmdir conf$$.dir 2>/dev/null

if mkdir -p . 2>/dev/null; then
  as_mkdir_p=:
else
  test -d ./-p && rmdir ./-p
  as_mkdir_p=false
fi

if test -x / >/dev/null 2>&1; then
  as_test_x='test -x'
else
  if ls -dL / >/dev/null 2>&1; then
    as_ls_L_option=L
  else
    as_ls_L_option=
  fi
  as_test_x='
    eval sh -c '\''
      if test -d "$1"; then
	test -d "$1/.";
      else
	case $1 in
	-*)set "./$1";;
	esac;
	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
	???[sx]*):;;*)false;;esac;fi
    '\'' sh
  '
fi
as_executable_p=$as_test_x

# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"

# 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

# Name of the host.
# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
# so uname gets run too.
ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`

#
# Initializations.
#
ac_default_prefix=/usr/local
ac_clean_files=
ac_config_libobj_dir=.
LIBOBJS=
cross_compiling=no
subdirs=
MFLAGS=
MAKEFLAGS=
SHELL=${CONFIG_SHELL-/bin/sh}

# Identity of this package.
PACKAGE_NAME=
PACKAGE_TARNAME=
PACKAGE_VERSION=
PACKAGE_STRING=
PACKAGE_BUGREPORT=

ac_unique_file="src/sigsegv.h.in"
# Factoring default headers for most tests.
ac_includes_default="\
#include <stdio.h>
#ifdef HAVE_SYS_TYPES_H
# include <sys/types.h>
#endif
#ifdef HAVE_SYS_STAT_H
# include <sys/stat.h>
#endif
#ifdef STDC_HEADERS
# include <stdlib.h>
# include <stddef.h>
#else
# ifdef HAVE_STDLIB_H
#  include <stdlib.h>
# endif
#endif
#ifdef HAVE_STRING_H
# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
#  include <memory.h>
# endif
# include <string.h>
#endif
#ifdef HAVE_STRINGS_H
# include <strings.h>
#endif
#ifdef HAVE_INTTYPES_H
# include <inttypes.h>
#endif
#ifdef HAVE_STDINT_H
# include <stdint.h>
#endif
#ifdef HAVE_UNISTD_H
# include <unistd.h>
#endif"

ac_subst_vars='am__EXEEXT_FALSE
am__EXEEXT_TRUE
LTLIBOBJS
LIBOBJS
RELOCATABLE
CFG_HANDLER
CFG_LEAVE
HAVE_STACK_OVERFLOW_RECOVERY
CFG_STACKVMA
HAVE_SIGSEGV_RECOVERY
FAULT_CONTEXT_INCLUDE
FAULT_CONTEXT
OTOOL64
OTOOL
LIPO
NMEDIT
DSYMUTIL
lt_ECHO
RANLIB
AR
LN_S
NM
ac_ct_DUMPBIN
DUMPBIN
LD
FGREP
EGREP
GREP
SED
LIBTOOL
PLATFORM
host_os
host_vendor
host_cpu
host
build_os
build_vendor
build_cpu
build
CPP
am__fastdepCC_FALSE
am__fastdepCC_TRUE
CCDEPMODE
AMDEPBACKSLASH
AMDEP_FALSE
AMDEP_TRUE
am__quote
am__include
DEPDIR
OBJEXT
EXEEXT
ac_ct_CC
CPPFLAGS
LDFLAGS
CFLAGS
CC
am__untar
am__tar
AMTAR
am__leading_dot
SET_MAKE
AWK
mkdir_p
MKDIR_P
INSTALL_STRIP_PROGRAM
STRIP
install_sh
MAKEINFO
AUTOHEADER
AUTOMAKE
AUTOCONF
ACLOCAL
VERSION
PACKAGE
CYGPATH_W
am__isrc
INSTALL_DATA
INSTALL_SCRIPT
INSTALL_PROGRAM
target_alias
host_alias
build_alias
LIBS
ECHO_T
ECHO_N
ECHO_C
DEFS
mandir
localedir
libdir
psdir
pdfdir
dvidir
htmldir
infodir
docdir
oldincludedir
includedir
localstatedir
sharedstatedir
sysconfdir
datadir
datarootdir
libexecdir
sbindir
bindir
program_transform_name
prefix
exec_prefix
PACKAGE_BUGREPORT
PACKAGE_STRING
PACKAGE_VERSION
PACKAGE_TARNAME
PACKAGE_NAME
PATH_SEPARATOR
SHELL'
ac_subst_files=''
ac_user_opts='
enable_option_checking
enable_dependency_tracking
enable_shared
enable_static
with_pic
enable_fast_install
with_gnu_ld
enable_libtool_lock
enable_relocatable
'
      ac_precious_vars='build_alias
host_alias
target_alias
CC
CFLAGS
LDFLAGS
LIBS
CPPFLAGS
CPP'


# Initialize some variables set by options.
ac_init_help=
ac_init_version=false
ac_unrecognized_opts=
ac_unrecognized_sep=
# The variables have the same names as the options, with
# dashes changed to underlines.
cache_file=/dev/null
exec_prefix=NONE
no_create=
no_recursion=
prefix=NONE
program_prefix=NONE
program_suffix=NONE
program_transform_name=s,x,x,
silent=
site=
srcdir=
verbose=
x_includes=NONE
x_libraries=NONE

# Installation directory options.
# These are left unexpanded so users can "make install exec_prefix=/foo"
# and all the variables that are supposed to be based on exec_prefix
# by default will actually change.
# Use braces instead of parens because sh, perl, etc. also accept them.
# (The list follows the same order as the GNU Coding Standards.)
bindir='${exec_prefix}/bin'
sbindir='${exec_prefix}/sbin'
libexecdir='${exec_prefix}/libexec'
datarootdir='${prefix}/share'
datadir='${datarootdir}'
sysconfdir='${prefix}/etc'
sharedstatedir='${prefix}/com'
localstatedir='${prefix}/var'
includedir='${prefix}/include'
oldincludedir='/usr/include'
docdir='${datarootdir}/doc/${PACKAGE}'
infodir='${datarootdir}/info'
htmldir='${docdir}'
dvidir='${docdir}'
pdfdir='${docdir}'
psdir='${docdir}'
libdir='${exec_prefix}/lib'
localedir='${datarootdir}/locale'
mandir='${datarootdir}/man'

ac_prev=
ac_dashdash=
for ac_option
do
  # If the previous option needs an argument, assign it.
  if test -n "$ac_prev"; then
    eval $ac_prev=\$ac_option
    ac_prev=
    continue
  fi

  case $ac_option in
  *=*)	ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
  *)	ac_optarg=yes ;;
  esac

  # Accept the important Cygnus configure options, so we can diagnose typos.

  case $ac_dashdash$ac_option in
  --)
    ac_dashdash=yes ;;

  -bindir | --bindir | --bindi | --bind | --bin | --bi)
    ac_prev=bindir ;;
  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
    bindir=$ac_optarg ;;

  -build | --build | --buil | --bui | --bu)
    ac_prev=build_alias ;;
  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
    build_alias=$ac_optarg ;;

  -cache-file | --cache-file | --cache-fil | --cache-fi \
  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
    ac_prev=cache_file ;;
  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
    cache_file=$ac_optarg ;;

  --config-cache | -C)
    cache_file=config.cache ;;

  -datadir | --datadir | --datadi | --datad)
    ac_prev=datadir ;;
  -datadir=* | --datadir=* | --datadi=* | --datad=*)
    datadir=$ac_optarg ;;

  -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
  | --dataroo | --dataro | --datar)
    ac_prev=datarootdir ;;
  -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
  | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
    datarootdir=$ac_optarg ;;

  -disable-* | --disable-*)
    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_echo "$as_me: error: invalid feature name: $ac_useropt" >&2
   { (exit 1); exit 1; }; }
    ac_useropt_orig=$ac_useropt
    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
    case $ac_user_opts in
      *"
"enable_$ac_useropt"
"*) ;;
      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
	 ac_unrecognized_sep=', ';;
    esac
    eval enable_$ac_useropt=no ;;

  -docdir | --docdir | --docdi | --doc | --do)
    ac_prev=docdir ;;
  -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
    docdir=$ac_optarg ;;

  -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
    ac_prev=dvidir ;;
  -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
    dvidir=$ac_optarg ;;

  -enable-* | --enable-*)
    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_echo "$as_me: error: invalid feature name: $ac_useropt" >&2
   { (exit 1); exit 1; }; }
    ac_useropt_orig=$ac_useropt
    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
    case $ac_user_opts in
      *"
"enable_$ac_useropt"
"*) ;;
      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
	 ac_unrecognized_sep=', ';;
    esac
    eval enable_$ac_useropt=\$ac_optarg ;;

  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
  | --exec | --exe | --ex)
    ac_prev=exec_prefix ;;
  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
  | --exec=* | --exe=* | --ex=*)
    exec_prefix=$ac_optarg ;;

  -gas | --gas | --ga | --g)
    # Obsolete; use --with-gas.
    with_gas=yes ;;

  -help | --help | --hel | --he | -h)
    ac_init_help=long ;;
  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
    ac_init_help=recursive ;;
  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
    ac_init_help=short ;;

  -host | --host | --hos | --ho)
    ac_prev=host_alias ;;
  -host=* | --host=* | --hos=* | --ho=*)
    host_alias=$ac_optarg ;;

  -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
    ac_prev=htmldir ;;
  -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
  | --ht=*)
    htmldir=$ac_optarg ;;

  -includedir | --includedir | --includedi | --included | --include \
  | --includ | --inclu | --incl | --inc)
    ac_prev=includedir ;;
  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
  | --includ=* | --inclu=* | --incl=* | --inc=*)
    includedir=$ac_optarg ;;

  -infodir | --infodir | --infodi | --infod | --info | --inf)
    ac_prev=infodir ;;
  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
    infodir=$ac_optarg ;;

  -libdir | --libdir | --libdi | --libd)
    ac_prev=libdir ;;
  -libdir=* | --libdir=* | --libdi=* | --libd=*)
    libdir=$ac_optarg ;;

  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
  | --libexe | --libex | --libe)
    ac_prev=libexecdir ;;
  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
  | --libexe=* | --libex=* | --libe=*)
    libexecdir=$ac_optarg ;;

  -localedir | --localedir | --localedi | --localed | --locale)
    ac_prev=localedir ;;
  -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
    localedir=$ac_optarg ;;

  -localstatedir | --localstatedir | --localstatedi | --localstated \
  | --localstate | --localstat | --localsta | --localst | --locals)
    ac_prev=localstatedir ;;
  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
    localstatedir=$ac_optarg ;;

  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
    ac_prev=mandir ;;
  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
    mandir=$ac_optarg ;;

  -nfp | --nfp | --nf)
    # Obsolete; use --without-fp.
    with_fp=no ;;

  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
  | --no-cr | --no-c | -n)
    no_create=yes ;;

  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
    no_recursion=yes ;;

  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
  | --oldin | --oldi | --old | --ol | --o)
    ac_prev=oldincludedir ;;
  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
    oldincludedir=$ac_optarg ;;

  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
    ac_prev=prefix ;;
  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
    prefix=$ac_optarg ;;

  -program-prefix | --program-prefix | --program-prefi | --program-pref \
  | --program-pre | --program-pr | --program-p)
    ac_prev=program_prefix ;;
  -program-prefix=* | --program-prefix=* | --program-prefi=* \
  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
    program_prefix=$ac_optarg ;;

  -program-suffix | --program-suffix | --program-suffi | --program-suff \
  | --program-suf | --program-su | --program-s)
    ac_prev=program_suffix ;;
  -program-suffix=* | --program-suffix=* | --program-suffi=* \
  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
    program_suffix=$ac_optarg ;;

  -program-transform-name | --program-transform-name \
  | --program-transform-nam | --program-transform-na \
  | --program-transform-n | --program-transform- \
  | --program-transform | --program-transfor \
  | --program-transfo | --program-transf \
  | --program-trans | --program-tran \
  | --progr-tra | --program-tr | --program-t)
    ac_prev=program_transform_name ;;
  -program-transform-name=* | --program-transform-name=* \
  | --program-transform-nam=* | --program-transform-na=* \
  | --program-transform-n=* | --program-transform-=* \
  | --program-transform=* | --program-transfor=* \
  | --program-transfo=* | --program-transf=* \
  | --program-trans=* | --program-tran=* \
  | --progr-tra=* | --program-tr=* | --program-t=*)
    program_transform_name=$ac_optarg ;;

  -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
    ac_prev=pdfdir ;;
  -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
    pdfdir=$ac_optarg ;;

  -psdir | --psdir | --psdi | --psd | --ps)
    ac_prev=psdir ;;
  -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
    psdir=$ac_optarg ;;

  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
  | -silent | --silent | --silen | --sile | --sil)
    silent=yes ;;

  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
    ac_prev=sbindir ;;
  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
  | --sbi=* | --sb=*)
    sbindir=$ac_optarg ;;

  -sharedstatedir | --sharedstatedir | --sharedstatedi \
  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
  | --sharedst | --shareds | --shared | --share | --shar \
  | --sha | --sh)
    ac_prev=sharedstatedir ;;
  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
  | --sha=* | --sh=*)
    sharedstatedir=$ac_optarg ;;

  -site | --site | --sit)
    ac_prev=site ;;
  -site=* | --site=* | --sit=*)
    site=$ac_optarg ;;

  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
    ac_prev=srcdir ;;
  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
    srcdir=$ac_optarg ;;

  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
  | --syscon | --sysco | --sysc | --sys | --sy)
    ac_prev=sysconfdir ;;
  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
    sysconfdir=$ac_optarg ;;

  -target | --target | --targe | --targ | --tar | --ta | --t)
    ac_prev=target_alias ;;
  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
    target_alias=$ac_optarg ;;

  -v | -verbose | --verbose | --verbos | --verbo | --verb)
    verbose=yes ;;

  -version | --version | --versio | --versi | --vers | -V)
    ac_init_version=: ;;

  -with-* | --with-*)
    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_echo "$as_me: error: invalid package name: $ac_useropt" >&2
   { (exit 1); exit 1; }; }
    ac_useropt_orig=$ac_useropt
    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
    case $ac_user_opts in
      *"
"with_$ac_useropt"
"*) ;;
      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
	 ac_unrecognized_sep=', ';;
    esac
    eval with_$ac_useropt=\$ac_optarg ;;

  -without-* | --without-*)
    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_echo "$as_me: error: invalid package name: $ac_useropt" >&2
   { (exit 1); exit 1; }; }
    ac_useropt_orig=$ac_useropt
    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
    case $ac_user_opts in
      *"
"with_$ac_useropt"
"*) ;;
      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
	 ac_unrecognized_sep=', ';;
    esac
    eval with_$ac_useropt=no ;;

  --x)
    # Obsolete; use --with-x.
    with_x=yes ;;

  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
  | --x-incl | --x-inc | --x-in | --x-i)
    ac_prev=x_includes ;;
  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
    x_includes=$ac_optarg ;;

  -x-libraries | --x-libraries | --x-librarie | --x-librari \
  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
    ac_prev=x_libraries ;;
  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
    x_libraries=$ac_optarg ;;

  -*) { $as_echo "$as_me: error: unrecognized option: $ac_option
Try \`$0 --help' for more information." >&2
   { (exit 1); exit 1; }; }
    ;;

  *=*)
    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
    # Reject names that are not valid shell variable names.
    expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
      { $as_echo "$as_me: error: invalid variable name: $ac_envvar" >&2
   { (exit 1); exit 1; }; }
    eval $ac_envvar=\$ac_optarg
    export $ac_envvar ;;

  *)
    # FIXME: should be removed in autoconf 3.0.
    $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
      $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
    ;;

  esac
done

if test -n "$ac_prev"; then
  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
  { $as_echo "$as_me: error: missing argument to $ac_option" >&2
   { (exit 1); exit 1; }; }
fi

if test -n "$ac_unrecognized_opts"; then
  case $enable_option_checking in
    no) ;;
    fatal) { $as_echo "$as_me: error: unrecognized options: $ac_unrecognized_opts" >&2
   { (exit 1); exit 1; }; } ;;
    *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
  esac
fi

# Check all directory arguments for consistency.
for ac_var in	exec_prefix prefix bindir sbindir libexecdir datarootdir \
		datadir sysconfdir sharedstatedir localstatedir includedir \
		oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
		libdir localedir mandir
do
  eval ac_val=\$$ac_var
  # Remove trailing slashes.
  case $ac_val in
    */ )
      ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
      eval $ac_var=\$ac_val;;
  esac
  # Be sure to have absolute directory names.
  case $ac_val in
    [\\/$]* | ?:[\\/]* )  continue;;
    NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
  esac
  { $as_echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
   { (exit 1); exit 1; }; }
done

# There might be people who depend on the old broken behavior: `$host'
# used to hold the argument of --host etc.
# FIXME: To remove some day.
build=$build_alias
host=$host_alias
target=$target_alias

# FIXME: To remove some day.
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
  elif test "x$build_alias" != "x$host_alias"; then
    cross_compiling=yes
  fi
fi

ac_tool_prefix=
test -n "$host_alias" && ac_tool_prefix=$host_alias-

test "$silent" = yes && exec 6>/dev/null


ac_pwd=`pwd` && test -n "$ac_pwd" &&
ac_ls_di=`ls -di .` &&
ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
  { $as_echo "$as_me: error: working directory cannot be determined" >&2
   { (exit 1); exit 1; }; }
test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
  { $as_echo "$as_me: error: pwd does not report name of working directory" >&2
   { (exit 1); exit 1; }; }


# Find the source files, if location was not specified.
if test -z "$srcdir"; then
  ac_srcdir_defaulted=yes
  # Try the directory containing this script, then the parent directory.
  ac_confdir=`$as_dirname -- "$as_myself" ||
$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
	 X"$as_myself" : 'X\(//\)[^/]' \| \
	 X"$as_myself" : 'X\(//\)$' \| \
	 X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X"$as_myself" |
    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
	    s//\1/
	    q
	  }
	  /^X\(\/\/\)[^/].*/{
	    s//\1/
	    q
	  }
	  /^X\(\/\/\)$/{
	    s//\1/
	    q
	  }
	  /^X\(\/\).*/{
	    s//\1/
	    q
	  }
	  s/.*/./; q'`
  srcdir=$ac_confdir
  if test ! -r "$srcdir/$ac_unique_file"; then
    srcdir=..
  fi
else
  ac_srcdir_defaulted=no
fi
if test ! -r "$srcdir/$ac_unique_file"; then
  test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
  { $as_echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
   { (exit 1); exit 1; }; }
fi
ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
ac_abs_confdir=`(
	cd "$srcdir" && test -r "./$ac_unique_file" || { $as_echo "$as_me: error: $ac_msg" >&2
   { (exit 1); exit 1; }; }
	pwd)`
# When building in place, set srcdir=.
if test "$ac_abs_confdir" = "$ac_pwd"; then
  srcdir=.
fi
# Remove unnecessary trailing slashes from srcdir.
# Double slashes in file names in object file debugging info
# mess up M-x gdb in Emacs.
case $srcdir in
*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
esac
for ac_var in $ac_precious_vars; do
  eval ac_env_${ac_var}_set=\${${ac_var}+set}
  eval ac_env_${ac_var}_value=\$${ac_var}
  eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
  eval ac_cv_env_${ac_var}_value=\$${ac_var}
done

#
# Report the --help message.
#
if test "$ac_init_help" = "long"; 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 this package to adapt to many kinds of systems.

Usage: $0 [OPTION]... [VAR=VALUE]...

To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE.  See below for descriptions of some of the useful variables.

Defaults for the options are specified in brackets.

Configuration:
  -h, --help              display this help and exit
      --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
      --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
      --srcdir=DIR        find the sources in DIR [configure dir or \`..']

Installation directories:
  --prefix=PREFIX         install architecture-independent files in PREFIX
                          [$ac_default_prefix]
  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
                          [PREFIX]

By default, \`make install' will install all the files in
\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
an installation prefix other than \`$ac_default_prefix' using \`--prefix',
for instance \`--prefix=\$HOME'.

For better control, use the options below.

Fine tuning of the installation directories:
  --bindir=DIR            user executables [EPREFIX/bin]
  --sbindir=DIR           system admin executables [EPREFIX/sbin]
  --libexecdir=DIR        program executables [EPREFIX/libexec]
  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
  --libdir=DIR            object code libraries [EPREFIX/lib]
  --includedir=DIR        C header files [PREFIX/include]
  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
  --infodir=DIR           info documentation [DATAROOTDIR/info]
  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
  --mandir=DIR            man documentation [DATAROOTDIR/man]
  --docdir=DIR            documentation root [DATAROOTDIR/doc/PACKAGE]
  --htmldir=DIR           html documentation [DOCDIR]
  --dvidir=DIR            dvi documentation [DOCDIR]
  --pdfdir=DIR            pdf documentation [DOCDIR]
  --psdir=DIR             ps documentation [DOCDIR]
_ACEOF

  cat <<\_ACEOF

Program names:
  --program-prefix=PREFIX            prepend PREFIX to installed program names
  --program-suffix=SUFFIX            append SUFFIX to installed program names
  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names

System types:
  --build=BUILD     configure for building on BUILD [guessed]
  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
_ACEOF
fi

if test -n "$ac_init_help"; then

  cat <<\_ACEOF

Optional Features:
  --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]
  --disable-dependency-tracking  speeds up one-time build
  --enable-dependency-tracking   do not reject slow dependency extractors
  --enable-shared[=PKGS]  build shared libraries [default=no]
  --enable-static[=PKGS]  build static libraries [default=yes]
  --enable-fast-install[=PKGS]
                          optimize for fast installation [default=yes]
  --disable-libtool-lock  avoid locking (might break parallel builds)
  --enable-relocatable    install a package that can be moved in the filesystem

Optional Packages:
  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
  --with-pic              try to use only PIC/non-PIC objects [default=use
                          both]
  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]

Some influential environment variables:
  CC          C compiler command
  CFLAGS      C compiler flags
  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
              you have headers in a nonstandard directory <include dir>
  CPP         C preprocessor

Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.

_ACEOF
ac_status=$?
fi

if test "$ac_init_help" = "recursive"; then
  # If there are subdirs, report their specific --help.
  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
    test -d "$ac_dir" ||
      { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
      continue
    ac_builddir=.

case "$ac_dir" in
.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
*)
  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
  # A ".." for each directory in $ac_dir_suffix.
  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
  case $ac_top_builddir_sub in
  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
  esac ;;
esac
ac_abs_top_builddir=$ac_pwd
ac_abs_builddir=$ac_pwd$ac_dir_suffix
# for backward compatibility:
ac_top_builddir=$ac_top_build_prefix

case $srcdir in
  .)  # We are building in place.
    ac_srcdir=.
    ac_top_srcdir=$ac_top_builddir_sub
    ac_abs_top_srcdir=$ac_pwd ;;
  [\\/]* | ?:[\\/]* )  # Absolute name.
    ac_srcdir=$srcdir$ac_dir_suffix;
    ac_top_srcdir=$srcdir
    ac_abs_top_srcdir=$srcdir ;;
  *) # Relative name.
    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
    ac_top_srcdir=$ac_top_build_prefix$srcdir
    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
esac
ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix

    cd "$ac_dir" || { ac_status=$?; continue; }
    # Check for guested configure.
    if test -f "$ac_srcdir/configure.gnu"; then
      echo &&
      $SHELL "$ac_srcdir/configure.gnu" --help=recursive
    elif test -f "$ac_srcdir/configure"; then
      echo &&
      $SHELL "$ac_srcdir/configure" --help=recursive
    else
      $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
    fi || ac_status=$?
    cd "$ac_pwd" || { ac_status=$?; break; }
  done
fi

test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
  cat <<\_ACEOF
configure
generated by GNU Autoconf 2.63

Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it.
_ACEOF
  exit
fi
cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by $as_me, which was
generated by GNU Autoconf 2.63.  Invocation command line was

  $ $0 $@

_ACEOF
exec 5>>config.log
{
cat <<_ASUNAME
## --------- ##
## Platform. ##
## --------- ##

hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
uname -m = `(uname -m) 2>/dev/null || echo unknown`
uname -r = `(uname -r) 2>/dev/null || echo unknown`
uname -s = `(uname -s) 2>/dev/null || echo unknown`
uname -v = `(uname -v) 2>/dev/null || echo unknown`

/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`

/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`

_ASUNAME

as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
  IFS=$as_save_IFS
  test -z "$as_dir" && as_dir=.
  $as_echo "PATH: $as_dir"
done
IFS=$as_save_IFS

} >&5

cat >&5 <<_ACEOF


## ----------- ##
## Core tests. ##
## ----------- ##

_ACEOF


# Keep a trace of the command line.
# Strip out --no-create and --no-recursion so they do not pile up.
# Strip out --silent because we don't want to record it for future runs.
# Also quote any args containing shell meta-characters.
# Make two passes to allow for proper duplicate-argument suppression.
ac_configure_args=
ac_configure_args0=
ac_configure_args1=
ac_must_keep_next=false
for ac_pass in 1 2
do
  for ac_arg
  do
    case $ac_arg in
    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
    | -silent | --silent | --silen | --sile | --sil)
      continue ;;
    *\'*)
      ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
    esac
    case $ac_pass in
    1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
    2)
      ac_configure_args1="$ac_configure_args1 '$ac_arg'"
      if test $ac_must_keep_next = true; then
	ac_must_keep_next=false # Got value, back to normal.
      else
	case $ac_arg in
	  *=* | --config-cache | -C | -disable-* | --disable-* \
	  | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
	  | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
	  | -with-* | --with-* | -without-* | --without-* | --x)
	    case "$ac_configure_args0 " in
	      "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
	    esac
	    ;;
	  -* ) ac_must_keep_next=true ;;
	esac
      fi
      ac_configure_args="$ac_configure_args '$ac_arg'"
      ;;
    esac
  done
done
$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }

# When interrupted or exit'd, cleanup temporary files, and complete
# config.log.  We remove comments because anyway the quotes in there
# would cause problems or look ugly.
# WARNING: Use '\'' to represent an apostrophe within the trap.
# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
trap 'exit_status=$?
  # Save into config.log some information that might help in debugging.
  {
    echo

    cat <<\_ASBOX
## ---------------- ##
## Cache variables. ##
## ---------------- ##
_ASBOX
    echo
    # The following way of writing the cache mishandles newlines in values,
(
  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
    eval ac_val=\$$ac_var
    case $ac_val in #(
    *${as_nl}*)
      case $ac_var in #(
      *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5
$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
      esac
      case $ac_var in #(
      _ | IFS | as_nl) ;; #(
      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
      *) $as_unset $ac_var ;;
      esac ;;
    esac
  done
  (set) 2>&1 |
    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
    *${as_nl}ac_space=\ *)
      sed -n \
	"s/'\''/'\''\\\\'\'''\''/g;
	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
      ;; #(
    *)
      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
      ;;
    esac |
    sort
)
    echo

    cat <<\_ASBOX
## ----------------- ##
## Output variables. ##
## ----------------- ##
_ASBOX
    echo
    for ac_var in $ac_subst_vars
    do
      eval ac_val=\$$ac_var
      case $ac_val in
      *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
      esac
      $as_echo "$ac_var='\''$ac_val'\''"
    done | sort
    echo

    if test -n "$ac_subst_files"; then
      cat <<\_ASBOX
## ------------------- ##
## File substitutions. ##
## ------------------- ##
_ASBOX
      echo
      for ac_var in $ac_subst_files
      do
	eval ac_val=\$$ac_var
	case $ac_val in
	*\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
	esac
	$as_echo "$ac_var='\''$ac_val'\''"
      done | sort
      echo
    fi

    if test -s confdefs.h; then
      cat <<\_ASBOX
## ----------- ##
## confdefs.h. ##
## ----------- ##
_ASBOX
      echo
      cat confdefs.h
      echo
    fi
    test "$ac_signal" != 0 &&
      $as_echo "$as_me: caught signal $ac_signal"
    $as_echo "$as_me: exit $exit_status"
  } >&5
  rm -f core *.core core.conftest.* &&
    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
    exit $exit_status
' 0
for ac_signal in 1 2 13 15; do
  trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
done
ac_signal=0

# confdefs.h avoids OS command line length limits that DEFS can exceed.
rm -f -r conftest* confdefs.h

# Predefined preprocessor variables.

cat >>confdefs.h <<_ACEOF
#define PACKAGE_NAME "$PACKAGE_NAME"
_ACEOF


cat >>confdefs.h <<_ACEOF
#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
_ACEOF


cat >>confdefs.h <<_ACEOF
#define PACKAGE_VERSION "$PACKAGE_VERSION"
_ACEOF


cat >>confdefs.h <<_ACEOF
#define PACKAGE_STRING "$PACKAGE_STRING"
_ACEOF


cat >>confdefs.h <<_ACEOF
#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
_ACEOF


# Let the site file select an alternate cache file if it wants to.
# Prefer an explicitly selected file to automatically selected ones.
ac_site_file1=NONE
ac_site_file2=NONE
if test -n "$CONFIG_SITE"; then
  ac_site_file1=$CONFIG_SITE
elif test "x$prefix" != xNONE; then
  ac_site_file1=$prefix/share/config.site
  ac_site_file2=$prefix/etc/config.site
else
  ac_site_file1=$ac_default_prefix/share/config.site
  ac_site_file2=$ac_default_prefix/etc/config.site
fi
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
    { $as_echo "$as_me:$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"
  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
    { $as_echo "$as_me:$LINENO: loading cache $cache_file" >&5
$as_echo "$as_me: loading cache $cache_file" >&6;}
    case $cache_file in
      [\\/]* | ?:[\\/]* ) . "$cache_file";;
      *)                      . "./$cache_file";;
    esac
  fi
else
  { $as_echo "$as_me:$LINENO: creating cache $cache_file" >&5
$as_echo "$as_me: creating cache $cache_file" >&6;}
  >$cache_file
fi

# Check that the precious variables saved in the cache have kept the same
# value.
ac_cache_corrupted=false
for ac_var in $ac_precious_vars; do
  eval ac_old_set=\$ac_cv_env_${ac_var}_set
  eval ac_new_set=\$ac_env_${ac_var}_set
  eval ac_old_val=\$ac_cv_env_${ac_var}_value
  eval ac_new_val=\$ac_env_${ac_var}_value
  case $ac_old_set,$ac_new_set in
    set,)
      { $as_echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
      ac_cache_corrupted=: ;;
    ,set)
      { $as_echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
      ac_cache_corrupted=: ;;
    ,);;
    *)
      if test "x$ac_old_val" != "x$ac_new_val"; then
	# differences in whitespace do not lead to failure.
	ac_old_val_w=`echo x $ac_old_val`
	ac_new_val_w=`echo x $ac_new_val`
	if test "$ac_old_val_w" != "$ac_new_val_w"; then
	  { $as_echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
	  ac_cache_corrupted=:
	else
	  { $as_echo "$as_me:$LINENO: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
	  eval $ac_var=\$ac_old_val
	fi
	{ $as_echo "$as_me:$LINENO:   former value:  \`$ac_old_val'" >&5
$as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;}
	{ $as_echo "$as_me:$LINENO:   current value: \`$ac_new_val'" >&5
$as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
      fi;;
  esac
  # Pass precious variables to config.status.
  if test "$ac_new_set" = set; then
    case $ac_new_val in
    *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
    *) ac_arg=$ac_var=$ac_new_val ;;
    esac
    case " $ac_configure_args " in
      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
      *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
    esac
  fi
done
if $ac_cache_corrupted; then
  { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
  { $as_echo "$as_me:$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_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
$as_echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
   { (exit 1); exit 1; }; }
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




ac_aux_dir=
for ac_dir in build-aux "$srcdir"/build-aux; do
  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_echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in build-aux \"$srcdir\"/build-aux" >&5
$as_echo "$as_me: error: cannot find install-sh or install.sh in build-aux \"$srcdir\"/build-aux" >&2;}
   { (exit 1); exit 1; }; }
fi

# These three variables are undocumented and unsupported,
# and are intended to be withdrawn in a future Autoconf release.
# They can cause serious problems if a builder's source tree is in a directory
# whose full name contains unusual characters.
ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var.
ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.





  case $TERM in
    # for the most important terminal types we directly know the sequences
    xterm*|vt220*)
      term_bold=`${AWK:-awk} 'BEGIN { printf("%c%c%c%c", 27, 91, 49, 109); }' </dev/null 2>/dev/null`
      term_norm=`${AWK:-awk} 'BEGIN { printf("%c%c%c", 27, 91, 109); }' </dev/null 2>/dev/null`
      ;;
    vt100*)
      term_bold=`${AWK:-awk} 'BEGIN { printf("%c%c%c%c%c%c", 27, 91, 49, 109, 0, 0); }' </dev/null 2>/dev/null`
      term_norm=`${AWK:-awk} 'BEGIN { printf("%c%c%c%c%c", 27, 91, 109, 0, 0); }' </dev/null 2>/dev/null`
      ;;
    # for all others, we try to use a possibly existing `tput' or `tcout' utility
    *)
      paths=`echo "$PATH" | sed -e 's/:/ /g'`
      for tool in tput tcout; do
        for dir in $paths; do
          if test -r "$dir/$tool"; then
            for seq in bold md smso; do # 'smso' is last
              bold="`$dir/$tool $seq 2>/dev/null`"
              if test -n "$bold"; then
                term_bold="$bold"
                break
              fi
            done
            if test -n "$term_bold"; then
              for seq in sgr0 me rmso reset; do # 'reset' is last
                norm="`$dir/$tool $seq 2>/dev/null`"
                if test -n "$norm"; then
                  term_norm="$norm"
                  break
                fi
              done
            fi
            break
          fi
        done
        if test -n "$term_bold" && test -n "$term_norm"; then
          break
        fi
      done
      ;;
  esac
  echo "$term_bold" | tr -d '\n' > termbold
  echo "$term_norm" | tr -d '\n' > termnorm


{ echo; echo "${term_bold}Build Tools:${term_norm}"; } >& 6

am__api_version='1.11'

# Find a good install program.  We prefer a C program (faster),
# so one script is as good as another.  But avoid the broken or
# incompatible versions:
# SysV /etc/install, /usr/sbin/install
# SunOS /usr/etc/install
# IRIX /sbin/install
# AIX /bin/install
# AmigaOS /C/install, which installs bootblocks on floppy discs
# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
# AFS /usr/afsws/bin/install, which mishandles nonexistent args
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# OS/2's system install, which has a completely different semantic
# ./install, which can be erroneously created by make from ./install.sh.
# Reject install programs that cannot install multiple files.
{ $as_echo "$as_me:$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
  $as_echo_n "(cached) " >&6
else
  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
  IFS=$as_save_IFS
  test -z "$as_dir" && as_dir=.
  # Account for people who put trailing slashes in PATH elements.
case $as_dir/ in
  ./ | .// | /cC/* | \
  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
  ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
  /usr/ucb/* ) ;;
  *)
    # OSF1 and SCO ODT 3.0 have their own names for install.
    # Don't use installbsd from OSF since it installs stuff as root
    # by default.
    for ac_prog in ginstall scoinst install; do
      for ac_exec_ext in '' $ac_executable_extensions; do
	if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
	  if test $ac_prog = install &&
	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
	    # AIX install.  It has an incompatible calling convention.
	    :
	  elif test $ac_prog = install &&
	    grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
	    # program-specific install script used by HP pwplus--don't use.
	    :
	  else
	    rm -rf conftest.one conftest.two conftest.dir
	    echo one > conftest.one
	    echo two > conftest.two
	    mkdir conftest.dir
	    if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
	      test -s conftest.one && test -s conftest.two &&
	      test -s conftest.dir/conftest.one &&
	      test -s conftest.dir/conftest.two
	    then
	      ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
	      break 3
	    fi
	  fi
	fi
      done
    done
    ;;
esac

done
IFS=$as_save_IFS

rm -rf conftest.one conftest.two conftest.dir

fi
  if test "${ac_cv_path_install+set}" = set; then
    INSTALL=$ac_cv_path_install
  else
    # As a last resort, use the slow shell script.  Don't cache a
    # value for INSTALL 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.
    INSTALL=$ac_install_sh
  fi
fi
{ $as_echo "$as_me:$LINENO: result: $INSTALL" >&5
$as_echo "$INSTALL" >&6; }

# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
# It thinks the first close brace ends the variable substitution.
test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'

test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'

test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'

{ $as_echo "$as_me:$LINENO: checking whether build environment is sane" >&5
$as_echo_n "checking whether build environment is sane... " >&6; }
# Just in case
sleep 1
echo timestamp > conftest.file
# Reject unsafe characters in $srcdir or the absolute working directory
# name.  Accept space and tab only in the latter.
am_lf='
'
case `pwd` in
  *[\\\"\#\$\&\'\`$am_lf]*)
    { { $as_echo "$as_me:$LINENO: error: unsafe absolute working directory name" >&5
$as_echo "$as_me: error: unsafe absolute working directory name" >&2;}
   { (exit 1); exit 1; }; };;
esac
case $srcdir in
  *[\\\"\#\$\&\'\`$am_lf\ \	]*)
    { { $as_echo "$as_me:$LINENO: error: unsafe srcdir value: \`$srcdir'" >&5
$as_echo "$as_me: error: unsafe srcdir value: \`$srcdir'" >&2;}
   { (exit 1); exit 1; }; };;
esac

# Do `set' in a subshell so we don't clobber the current shell's
# arguments.  Must try -L first in case configure is actually a
# symlink; some systems play weird games with the mod time of symlinks
# (eg FreeBSD returns the mod time of the symlink's containing
# directory).
if (
   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
   if test "$*" = "X"; then
      # -L didn't work.
      set X `ls -t "$srcdir/configure" conftest.file`
   fi
   rm -f conftest.file
   if test "$*" != "X $srcdir/configure conftest.file" \
      && test "$*" != "X conftest.file $srcdir/configure"; then

      # If neither matched, then we have a broken ls.  This can happen
      # 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_echo "$as_me:$LINENO: error: ls -t appears to fail.  Make sure there is not a broken
alias in your environment" >&5
$as_echo "$as_me: error: ls -t appears to fail.  Make sure there is not a broken
alias in your environment" >&2;}
   { (exit 1); exit 1; }; }
   fi

   test "$2" = conftest.file
   )
then
   # Ok.
   :
else
   { { $as_echo "$as_me:$LINENO: error: newly created file is older than distributed files!
Check your system clock" >&5
$as_echo "$as_me: error: newly created file is older than distributed files!
Check your system clock" >&2;}
   { (exit 1); exit 1; }; }
fi
{ $as_echo "$as_me:$LINENO: result: yes" >&5
$as_echo "yes" >&6; }
test "$program_prefix" != NONE &&
  program_transform_name="s&^&$program_prefix&;$program_transform_name"
# Use a double $ so make ignores it.
test "$program_suffix" != NONE &&
  program_transform_name="s&\$&$program_suffix&;$program_transform_name"
# Double any \ or $.
# By default was `s,x,x', remove it if useless.
ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`

# expand $ac_aux_dir to an absolute path
am_aux_dir=`cd $ac_aux_dir && pwd`

if test x"${MISSING+set}" != xset; then
  case $am_aux_dir in
  *\ * | *\	*)
    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
  *)
    MISSING="\${SHELL} $am_aux_dir/missing" ;;
  esac
fi
# Use eval to expand $SHELL
if eval "$MISSING --run true"; then
  am_missing_run="$MISSING --run "
else
  am_missing_run=
  { $as_echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
fi

if test x"${install_sh}" != xset; then
  case $am_aux_dir in
  *\ * | *\	*)
    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
  *)
    install_sh="\${SHELL} $am_aux_dir/install-sh"
  esac
fi

# Installed binaries are usually stripped using `strip' when the user
# run `make install-strip'.  However `strip' might not be the right
# tool to use in cross-compilation environments, therefore Automake
# will honor the `STRIP' environment variable to overrule this program.
if test "$cross_compiling" != no; then
  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:$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:$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:$LINENO: result: $STRIP" >&5
$as_echo "$STRIP" >&6; }
else
  { $as_echo "$as_me:$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:$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:$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:$LINENO: result: $ac_ct_STRIP" >&5
$as_echo "$ac_ct_STRIP" >&6; }
else
  { $as_echo "$as_me:$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:$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

fi
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"

{ $as_echo "$as_me:$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
  $as_echo_n "(cached) " >&6
else
  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
do
  IFS=$as_save_IFS
  test -z "$as_dir" && as_dir=.
  for ac_prog in mkdir gmkdir; do
	 for ac_exec_ext in '' $ac_executable_extensions; do
	   { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
	   case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
	     'mkdir (GNU coreutils) '* | \
	     'mkdir (coreutils) '* | \
	     'mkdir (fileutils) '4.1*)
	       ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
	       break 3;;
	   esac
	 done
       done
done
IFS=$as_save_IFS

fi

  if test "${ac_cv_path_mkdir+set}" = set; then
    MKDIR_P="$ac_cv_path_mkdir -p"
  else
    # As a last resort, use the slow shell script.  Don't cache a
    # 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:$LINENO: result: $MKDIR_P" >&5
$as_echo "$MKDIR_P" >&6; }

mkdir_p="$MKDIR_P"
case $mkdir_p in
  [\\/$]* | ?:[\\/]*) ;;
  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
esac

for ac_prog in gawk mawk nawk awk
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:$LINENO: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_AWK+set}" = set; then
  $as_echo_n "(cached) " >&6
else
  if test -n "$AWK"; then
  ac_cv_prog_AWK="$AWK" # 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_AWK="$ac_prog"
    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
    break 2
  fi
done
done
IFS=$as_save_IFS

fi
fi
AWK=$ac_cv_prog_AWK
if test -n "$AWK"; then
  { $as_echo "$as_me:$LINENO: result: $AWK" >&5
$as_echo "$AWK" >&6; }
else
  { $as_echo "$as_me:$LINENO: result: no" >&5
$as_echo "no" >&6; }
fi


  test -n "$AWK" && break
done

{ $as_echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
$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
  $as_echo_n "(cached) " >&6
else
  cat >conftest.make <<\_ACEOF
SHELL = /bin/sh
all:
	@echo '@@@%%%=$(MAKE)=@@@%%%'
_ACEOF
# 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;;
  *)
    eval ac_cv_prog_make_${ac_make}_set=no;;
esac
rm -f conftest.make
fi
if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
  { $as_echo "$as_me:$LINENO: result: yes" >&5
$as_echo "yes" >&6; }
  SET_MAKE=
else
  { $as_echo "$as_me:$LINENO: result: no" >&5
$as_echo "no" >&6; }
  SET_MAKE="MAKE=${MAKE-make}"
fi

rm -rf .tst 2>/dev/null
mkdir .tst 2>/dev/null
if test -d .tst; then
  am__leading_dot=.
else
  am__leading_dot=_
fi
rmdir .tst 2>/dev/null

if test "`cd $srcdir && pwd`" != "`pwd`"; then
  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
  # is not polluted with repeated "-I."
  am__isrc=' -I$(srcdir)'
  # test to see if srcdir already configured
  if test -f $srcdir/config.status; then
    { { $as_echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
$as_echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
   { (exit 1); exit 1; }; }
  fi
fi

# test whether we have cygpath
if test -z "$CYGPATH_W"; then
  if (cygpath --version) >/dev/null 2>/dev/null; then
    CYGPATH_W='cygpath -w'
  else
    CYGPATH_W=echo
  fi
fi


# Define the identity of the package.
 PACKAGE=libsigsegv
 VERSION=2.7-pre1


cat >>confdefs.h <<_ACEOF
#define PACKAGE "$PACKAGE"
_ACEOF


cat >>confdefs.h <<_ACEOF
#define VERSION "$VERSION"
_ACEOF

# Some tools Automake needs.

ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}


AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}


AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}


AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}


MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}

# We need awk for the "check" target.  The system "awk" is bad on
# some platforms.
# Always define AMTAR for backward compatibility.

AMTAR=${AMTAR-"${am_missing_run}tar"}

am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'





ac_config_headers="$ac_config_headers config.h"


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:$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}gcc"
    $as_echo "$as_me:$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:$LINENO: result: $CC" >&5
$as_echo "$CC" >&6; }
else
  { $as_echo "$as_me:$LINENO: result: no" >&5
$as_echo "no" >&6; }
fi


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:$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="gcc"
    $as_echo "$as_me:$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:$LINENO: result: $ac_ct_CC" >&5
$as_echo "$ac_ct_CC" >&6; }
else
  { $as_echo "$as_me:$LINENO: result: no" >&5
$as_echo "no" >&6; }
fi

  if test "x$ac_ct_CC" = x; then
    CC=""
  else
    case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:$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
else
  CC="$ac_cv_prog_CC"
fi

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:$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:$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:$LINENO: result: $CC" >&5
$as_echo "$CC" >&6; }
else
  { $as_echo "$as_me:$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:$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:$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:$LINENO: result: $CC" >&5
$as_echo "$CC" >&6; }
else
  { $as_echo "$as_me:$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:$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:$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:$LINENO: result: $CC" >&5
$as_echo "$CC" >&6; }
else
  { $as_echo "$as_me:$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:$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:$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:$LINENO: result: $ac_ct_CC" >&5
$as_echo "$ac_ct_CC" >&6; }
else
  { $as_echo "$as_me:$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:$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:$LINENO: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
{ { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
See \`config.log' for more details." >&5
$as_echo "$as_me: error: no acceptable C compiler found in \$PATH
See \`config.log' for more details." >&2;}
   { (exit 1); exit 1; }; }; }

# Provide some information about the compiler.
$as_echo "$as_me:$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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compiler --version >&5") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }
{ (ac_try="$ac_compiler -v >&5"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compiler -v >&5") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }
{ (ac_try="$ac_compiler -V >&5"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compiler -V >&5") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }

cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* 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:$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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link_default") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }; 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:$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:$LINENO: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
{ { $as_echo "$as_me:$LINENO: error: C compiler cannot create executables
See \`config.log' for more details." >&5
$as_echo "$as_me: error: C compiler cannot create executables
See \`config.log' for more details." >&2;}
   { (exit 77); exit 77; }; }; }
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:$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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_try") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }; }; then
    cross_compiling=no
  else
    if test "$cross_compiling" = maybe; then
	cross_compiling=yes
    else
	{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
{ { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs.
If you meant to cross compile, use \`--host'.
See \`config.log' for more details." >&5
$as_echo "$as_me: error: cannot run C compiled programs.
If you meant to cross compile, use \`--host'.
See \`config.log' for more details." >&2;}
   { (exit 1); exit 1; }; }; }
    fi
  fi
fi
{ $as_echo "$as_me:$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:$LINENO: checking whether we are cross compiling" >&5
$as_echo_n "checking whether we are cross compiling... " >&6; }
{ $as_echo "$as_me:$LINENO: result: $cross_compiling" >&5
$as_echo "$cross_compiling" >&6; }

{ $as_echo "$as_me:$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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }; 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:$LINENO: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
See \`config.log' for more details." >&5
$as_echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
See \`config.log' for more details." >&2;}
   { (exit 1); exit 1; }; }; }
fi

rm -f conftest$ac_cv_exeext
{ $as_echo "$as_me:$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:$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 >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

int
main ()
{

  ;
  return 0;
}
_ACEOF
rm -f conftest.o conftest.obj
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }; then
  for ac_file in conftest.o conftest.obj conftest.*; do
  test -f "$ac_file" || continue;
  case $ac_file in
    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
       break;;
  esac
done
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

{ { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
See \`config.log' for more details." >&5
$as_echo "$as_me: error: cannot compute suffix of object files: cannot compile
See \`config.log' for more details." >&2;}
   { (exit 1); exit 1; }; }; }
fi

rm -f conftest.$ac_cv_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
$as_echo "$ac_cv_objext" >&6; }
OBJEXT=$ac_cv_objext
ac_objext=$OBJEXT
{ $as_echo "$as_me:$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
  $as_echo_n "(cached) " >&6
else
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

int
main ()
{
#ifndef __GNUC__
       choke me
#endif

  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  ac_compiler_gnu=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_compiler_gnu=no
fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_cv_c_compiler_gnu=$ac_compiler_gnu

fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
$as_echo "$ac_cv_c_compiler_gnu" >&6; }
if test $ac_compiler_gnu = yes; then
  GCC=yes
else
  GCC=
fi
ac_test_CFLAGS=${CFLAGS+set}
ac_save_CFLAGS=$CFLAGS
{ $as_echo "$as_me:$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
  $as_echo_n "(cached) " >&6
else
  ac_save_c_werror_flag=$ac_c_werror_flag
   ac_c_werror_flag=yes
   ac_cv_prog_cc_g=no
   CFLAGS="-g"
   cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

int
main ()
{

  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  ac_cv_prog_cc_g=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	CFLAGS=""
      cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

int
main ()
{

  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  :
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_c_werror_flag=$ac_save_c_werror_flag
	 CFLAGS="-g"
	 cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

int
main ()
{

  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  ac_cv_prog_cc_g=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5


fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   ac_c_werror_flag=$ac_save_c_werror_flag
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
$as_echo "$ac_cv_prog_cc_g" >&6; }
if test "$ac_test_CFLAGS" = set; then
  CFLAGS=$ac_save_CFLAGS
elif test $ac_cv_prog_cc_g = yes; then
  if test "$GCC" = yes; then
    CFLAGS="-g -O2"
  else
    CFLAGS="-g"
  fi
else
  if test "$GCC" = yes; then
    CFLAGS="-O2"
  else
    CFLAGS=
  fi
fi
{ $as_echo "$as_me:$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 >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* 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"
  rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  ac_cv_prog_cc_c89=$ac_arg
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5


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:$LINENO: result: none needed" >&5
$as_echo "none needed" >&6; } ;;
  xno)
    { $as_echo "$as_me:$LINENO: result: unsupported" >&5
$as_echo "unsupported" >&6; } ;;
  *)
    CC="$CC $ac_cv_prog_cc_c89"
    { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
esac


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
DEPDIR="${am__leading_dot}deps"

ac_config_commands="$ac_config_commands depfiles"


am_make=${MAKE-make}
cat > confinc << 'END'
am__doit:
	@echo this is the am__doit target
.PHONY: am__doit
END
# If we don't find an include directive, just comment out the code.
{ $as_echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
$as_echo_n "checking for style of include used by $am_make... " >&6; }
am__include="#"
am__quote=
_am_result=none
# First try GNU make style include.
echo "include confinc" > confmf
# Ignore all kinds of additional output from `make'.
case `$am_make -s -f confmf 2> /dev/null` in #(
*the\ am__doit\ target*)
  am__include=include
  am__quote=
  _am_result=GNU
  ;;
esac
# Now try BSD make style include.
if test "$am__include" = "#"; then
   echo '.include "confinc"' > confmf
   case `$am_make -s -f confmf 2> /dev/null` in #(
   *the\ am__doit\ target*)
     am__include=.include
     am__quote="\""
     _am_result=BSD
     ;;
   esac
fi


{ $as_echo "$as_me:$LINENO: result: $_am_result" >&5
$as_echo "$_am_result" >&6; }
rm -f confinc confmf

# Check whether --enable-dependency-tracking was given.
if test "${enable_dependency_tracking+set}" = set; then
  enableval=$enable_dependency_tracking;
fi

if test "x$enable_dependency_tracking" != xno; then
  am_depcomp="$ac_aux_dir/depcomp"
  AMDEPBACKSLASH='\'
fi
 if test "x$enable_dependency_tracking" != xno; then
  AMDEP_TRUE=
  AMDEP_FALSE='#'
else
  AMDEP_TRUE='#'
  AMDEP_FALSE=
fi



depcc="$CC"   am_compiler_list=

{ $as_echo "$as_me:$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
  $as_echo_n "(cached) " >&6
else
  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
  # We make a subdir and do the tests there.  Otherwise we can end up
  # making bogus files that we don't know about and never remove.  For
  # instance it was reported that on HP-UX the gcc test will end up
  # making a dummy file named `D' -- because `-MD' means `put the output
  # in D'.
  mkdir conftest.dir
  # Copy depcomp to subdir because otherwise we won't find it if we're
  # using a relative directory.
  cp "$am_depcomp" conftest.dir
  cd conftest.dir
  # We will build objects and dependencies in a subdirectory because
  # it helps to detect inapplicable dependency modes.  For instance
  # both Tru64's cc and ICC support -MD to output dependencies as a
  # side effect of compilation, but ICC will put the dependencies in
  # the current directory while Tru64 will put them in the object
  # directory.
  mkdir sub

  am_cv_CC_dependencies_compiler_type=none
  if test "$am_compiler_list" = ""; then
     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
  fi
  am__universal=false
  case " $depcc " in #(
     *\ -arch\ *\ -arch\ *) am__universal=true ;;
     esac

  for depmode in $am_compiler_list; do
    # Setup a source with many dependencies, because some compilers
    # like to wrap large dependency lists on column 80 (with \), and
    # we should not choose a depcomp mode which is confused by this.
    #
    # We need to recreate these files for each test, as the compiler may
    # overwrite some of them when testing with obscure command lines.
    # This happens at least with the AIX C compiler.
    : > sub/conftest.c
    for i in 1 2 3 4 5 6; do
      echo '#include "conftst'$i'.h"' >> sub/conftest.c
      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
      # Solaris 8's {/usr,}/bin/sh.
      touch sub/conftst$i.h
    done
    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf

    # We check with `-c' and `-o' for the sake of the "dashmstdout"
    # mode.  It turns out that the SunPro C++ compiler does not properly
    # handle `-M -o', and we need to detect this.  Also, some Intel
    # versions had trouble with output in subdirs
    am__obj=sub/conftest.${OBJEXT-o}
    am__minus_obj="-o $am__obj"
    case $depmode in
    gcc)
      # This depmode causes a compiler race in universal mode.
      test "$am__universal" = false || continue
      ;;
    nosideeffect)
      # after this tag, mechanisms are not by side-effect, so they'll
      # only be used when explicitly requested
      if test "x$enable_dependency_tracking" = xyes; then
	continue
      else
	break
      fi
      ;;
    msvisualcpp | msvcmsys)
      # This compiler won't grok `-c -o', but also, the minuso test has
      # not run yet.  These depmodes are late enough in the game, and
      # so weak that their functioning should not be impacted.
      am__obj=conftest.${OBJEXT-o}
      am__minus_obj=
      ;;
    none) break ;;
    esac
    if depmode=$depmode \
       source=sub/conftest.c object=$am__obj \
       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
         >/dev/null 2>conftest.err &&
       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
      # icc doesn't choke on unknown options, it will just issue warnings
      # or remarks (even with -Werror).  So we grep stderr for any message
      # that says an option was ignored or not supported.
      # When given -MP, icc 7.0 and 7.1 complain thusly:
      #   icc: Command line warning: ignoring option '-M'; no argument required
      # The diagnosis changed in icc 8.0:
      #   icc: Command line remark: option '-MP' not supported
      if (grep 'ignoring option' conftest.err ||
          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
        am_cv_CC_dependencies_compiler_type=$depmode
        break
      fi
    fi
  done

  cd ..
  rm -rf conftest.dir
else
  am_cv_CC_dependencies_compiler_type=none
fi

fi
{ $as_echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type

 if
  test "x$enable_dependency_tracking" != xno \
  && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
  am__fastdepCC_TRUE=
  am__fastdepCC_FALSE='#'
else
  am__fastdepCC_TRUE='#'
  am__fastdepCC_FALSE=
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
{ $as_echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
$as_echo_n "checking how to run the C preprocessor... " >&6; }
# On Suns, sometimes $CPP names a directory.
if test -n "$CPP" && test -d "$CPP"; then
  CPP=
fi
if test -z "$CPP"; then
  if test "${ac_cv_prog_CPP+set}" = set; then
  $as_echo_n "(cached) " >&6
else
      # Double quotes because CPP needs to be expanded
    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
    do
      ac_preproc_ok=false
for ac_c_preproc_warn_flag in '' yes
do
  # Use a header file that comes with gcc, so configuring glibc
  # with a fresh cross-compiler works.
  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
  # <limits.h> exists even on freestanding compilers.
  # On the NeXT, cc -E runs the code through the compiler's parser,
  # not just through cpp. "Syntax error" is here to catch this case.
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
#ifdef __STDC__
# include <limits.h>
#else
# include <assert.h>
#endif
		     Syntax error
_ACEOF
if { (ac_try="$ac_cpp conftest.$ac_ext"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } >/dev/null && {
	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
	 test ! -s conftest.err
       }; then
  :
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

  # Broken: fails on valid input.
continue
fi

rm -f conftest.err conftest.$ac_ext

  # OK, works on sane cases.  Now check whether nonexistent headers
  # can be detected and how.
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
#include <ac_nonexistent.h>
_ACEOF
if { (ac_try="$ac_cpp conftest.$ac_ext"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } >/dev/null && {
	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
	 test ! -s conftest.err
       }; then
  # Broken: success on invalid input.
continue
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

  # Passes both tests.
ac_preproc_ok=:
break
fi

rm -f conftest.err 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
  break
fi

    done
    ac_cv_prog_CPP=$CPP

fi
  CPP=$ac_cv_prog_CPP
else
  ac_cv_prog_CPP=$CPP
fi
{ $as_echo "$as_me:$LINENO: result: $CPP" >&5
$as_echo "$CPP" >&6; }
ac_preproc_ok=false
for ac_c_preproc_warn_flag in '' yes
do
  # Use a header file that comes with gcc, so configuring glibc
  # with a fresh cross-compiler works.
  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
  # <limits.h> exists even on freestanding compilers.
  # On the NeXT, cc -E runs the code through the compiler's parser,
  # not just through cpp. "Syntax error" is here to catch this case.
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
#ifdef __STDC__
# include <limits.h>
#else
# include <assert.h>
#endif
		     Syntax error
_ACEOF
if { (ac_try="$ac_cpp conftest.$ac_ext"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } >/dev/null && {
	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
	 test ! -s conftest.err
       }; then
  :
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

  # Broken: fails on valid input.
continue
fi

rm -f conftest.err conftest.$ac_ext

  # OK, works on sane cases.  Now check whether nonexistent headers
  # can be detected and how.
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
#include <ac_nonexistent.h>
_ACEOF
if { (ac_try="$ac_cpp conftest.$ac_ext"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } >/dev/null && {
	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
	 test ! -s conftest.err
       }; then
  # Broken: success on invalid input.
continue
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

  # Passes both tests.
ac_preproc_ok=:
break
fi

rm -f conftest.err 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
  :
else
  { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
{ { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
See \`config.log' for more details." >&5
$as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
See \`config.log' for more details." >&2;}
   { (exit 1); exit 1; }; }; }
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


# Make sure we can run config.sub.
$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
  { { $as_echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
$as_echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;}
   { (exit 1); exit 1; }; }

{ $as_echo "$as_me:$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_echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
$as_echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
   { (exit 1); exit 1; }; }
ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
  { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5
$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;}
   { (exit 1); exit 1; }; }

fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_build" >&5
$as_echo "$ac_cv_build" >&6; }
case $ac_cv_build in
*-*-*) ;;
*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical build" >&5
$as_echo "$as_me: error: invalid value of canonical build" >&2;}
   { (exit 1); exit 1; }; };;
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:$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_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5
$as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;}
   { (exit 1); exit 1; }; }
fi

fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_host" >&5
$as_echo "$ac_cv_host" >&6; }
case $ac_cv_host in
*-*-*) ;;
*) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical host" >&5
$as_echo "$as_me: error: invalid value of canonical host" >&2;}
   { (exit 1); exit 1; }; };;
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:$LINENO: checking host platform" >&5
$as_echo_n "checking host platform... " >&6; }
sv_cv_host="$host"
case "$host_os" in
  linux | linux-*)
    kernelversion=`uname -r | sed -e 's/^\([0-9.]*\).*/\1/'`
    sv_cv_host=`echo $sv_cv_host | sed -e "s/linux/linux$kernelversion/"`
    ;;
esac
cat > conftest.c << EOF
#include <features.h>
#ifdef __GNU_LIBRARY__
Version __GLIBC__ . __GLIBC_MINOR__
#endif
EOF
glibcversion=`$CPP $CPPFLAGS conftest.c 2>/dev/null | grep Version | sed -e 's/Version//' -e 's/ //g'`
if test -n "$glibcversion"; then
  sv_cv_host="$sv_cv_host-glibc$glibcversion"
fi
{ $as_echo "$as_me:$LINENO: result: $sv_cv_host" >&5
$as_echo "$sv_cv_host" >&6; }
PLATFORM="$sv_cv_host"


# Find a good install program.  We prefer a C program (faster),
# so one script is as good as another.  But avoid the broken or
# incompatible versions:
# SysV /etc/install, /usr/sbin/install
# SunOS /usr/etc/install
# IRIX /sbin/install
# AIX /bin/install
# AmigaOS /C/install, which installs bootblocks on floppy discs
# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
# AFS /usr/afsws/bin/install, which mishandles nonexistent args
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# OS/2's system install, which has a completely different semantic
# ./install, which can be erroneously created by make from ./install.sh.
# Reject install programs that cannot install multiple files.
{ $as_echo "$as_me:$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
  $as_echo_n "(cached) " >&6
else
  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
  IFS=$as_save_IFS
  test -z "$as_dir" && as_dir=.
  # Account for people who put trailing slashes in PATH elements.
case $as_dir/ in
  ./ | .// | /cC/* | \
  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
  ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
  /usr/ucb/* ) ;;
  *)
    # OSF1 and SCO ODT 3.0 have their own names for install.
    # Don't use installbsd from OSF since it installs stuff as root
    # by default.
    for ac_prog in ginstall scoinst install; do
      for ac_exec_ext in '' $ac_executable_extensions; do
	if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
	  if test $ac_prog = install &&
	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
	    # AIX install.  It has an incompatible calling convention.
	    :
	  elif test $ac_prog = install &&
	    grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
	    # program-specific install script used by HP pwplus--don't use.
	    :
	  else
	    rm -rf conftest.one conftest.two conftest.dir
	    echo one > conftest.one
	    echo two > conftest.two
	    mkdir conftest.dir
	    if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
	      test -s conftest.one && test -s conftest.two &&
	      test -s conftest.dir/conftest.one &&
	      test -s conftest.dir/conftest.two
	    then
	      ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
	      break 3
	    fi
	  fi
	fi
      done
    done
    ;;
esac

done
IFS=$as_save_IFS

rm -rf conftest.one conftest.two conftest.dir

fi
  if test "${ac_cv_path_install+set}" = set; then
    INSTALL=$ac_cv_path_install
  else
    # As a last resort, use the slow shell script.  Don't cache a
    # value for INSTALL 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.
    INSTALL=$ac_install_sh
  fi
fi
{ $as_echo "$as_me:$LINENO: result: $INSTALL" >&5
$as_echo "$INSTALL" >&6; }

# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
# It thinks the first close brace ends the variable substitution.
test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'

test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'

test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'


case `pwd` in
  *\ * | *\	*)
    { $as_echo "$as_me:$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'













ltmain="$ac_aux_dir/ltmain.sh"

{ $as_echo "$as_me:$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
            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
     $as_unset ac_script || 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
    ac_count=`expr $ac_count + 1`
    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

      $ac_path_SED_found && break 3
    done
  done
done
IFS=$as_save_IFS
  if test -z "$ac_cv_path_SED"; then
    { { $as_echo "$as_me:$LINENO: error: no acceptable sed could be found in \$PATH" >&5
$as_echo "$as_me: error: no acceptable sed could be found in \$PATH" >&2;}
   { (exit 1); exit 1; }; }
  fi
else
  ac_cv_path_SED=$SED
fi

fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_SED" >&5
$as_echo "$ac_cv_path_SED" >&6; }
 SED="$ac_cv_path_SED"
  rm -f conftest.sed

test -z "$SED" && SED=sed
Xsed="$SED -e 1s/^X//"











{ $as_echo "$as_me:$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
  $as_echo_n "(cached) " >&6
else
  if test -z "$GREP"; then
  ac_path_GREP_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 grep ggrep; do
    for ac_exec_ext in '' $ac_executable_extensions; do
      ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
# Check for GNU ac_path_GREP and select it if it is found.
  # Check for GNU $ac_path_GREP
case `"$ac_path_GREP" --version 2>&1` in
*GNU*)
  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_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 'GREP' >> "conftest.nl"
    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
    ac_count=`expr $ac_count + 1`
    if test $ac_count -gt ${ac_path_GREP_max-0}; then
      # Best one so far, save it but keep looking for a better one
      ac_cv_path_GREP="$ac_path_GREP"
      ac_path_GREP_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

      $ac_path_GREP_found && break 3
    done
  done
done
IFS=$as_save_IFS
  if test -z "$ac_cv_path_GREP"; then
    { { $as_echo "$as_me:$LINENO: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
$as_echo "$as_me: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
   { (exit 1); exit 1; }; }
  fi
else
  ac_cv_path_GREP=$GREP
fi

fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5
$as_echo "$ac_cv_path_GREP" >&6; }
 GREP="$ac_cv_path_GREP"


{ $as_echo "$as_me:$LINENO: checking for egrep" >&5
$as_echo_n "checking for egrep... " >&6; }
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
   then ac_cv_path_EGREP="$GREP -E"
   else
     if test -z "$EGREP"; then
  ac_path_EGREP_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 egrep; do
    for ac_exec_ext in '' $ac_executable_extensions; do
      ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
# Check for GNU ac_path_EGREP and select it if it is found.
  # Check for GNU $ac_path_EGREP
case `"$ac_path_EGREP" --version 2>&1` in
*GNU*)
  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_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 'EGREP' >> "conftest.nl"
    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
    ac_count=`expr $ac_count + 1`
    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
      # Best one so far, save it but keep looking for a better one
      ac_cv_path_EGREP="$ac_path_EGREP"
      ac_path_EGREP_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

      $ac_path_EGREP_found && break 3
    done
  done
done
IFS=$as_save_IFS
  if test -z "$ac_cv_path_EGREP"; then
    { { $as_echo "$as_me:$LINENO: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
$as_echo "$as_me: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
   { (exit 1); exit 1; }; }
  fi
else
  ac_cv_path_EGREP=$EGREP
fi

   fi
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5
$as_echo "$ac_cv_path_EGREP" >&6; }
 EGREP="$ac_cv_path_EGREP"


{ $as_echo "$as_me:$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
    ac_count=`expr $ac_count + 1`
    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

      $ac_path_FGREP_found && break 3
    done
  done
done
IFS=$as_save_IFS
  if test -z "$ac_cv_path_FGREP"; then
    { { $as_echo "$as_me:$LINENO: error: no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
$as_echo "$as_me: error: no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
   { (exit 1); exit 1; }; }
  fi
else
  ac_cv_path_FGREP=$FGREP
fi

   fi
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_FGREP" >&5
$as_echo "$ac_cv_path_FGREP" >&6; }
 FGREP="$ac_cv_path_FGREP"


test -z "$GREP" && GREP=grep



















# 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:$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:$LINENO: checking for GNU ld" >&5
$as_echo_n "checking for GNU ld... " >&6; }
else
  { $as_echo "$as_me:$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

LD="$lt_cv_path_LD"
if test -n "$LD"; then
  { $as_echo "$as_me:$LINENO: result: $LD" >&5
$as_echo "$LD" >&6; }
else
  { $as_echo "$as_me:$LINENO: result: no" >&5
$as_echo "no" >&6; }
fi
test -z "$LD" && { { $as_echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
$as_echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
   { (exit 1); exit 1; }; }
{ $as_echo "$as_me:$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:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
$as_echo "$lt_cv_prog_gnu_ld" >&6; }
with_gnu_ld=$lt_cv_prog_gnu_ld









{ $as_echo "$as_me:$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:$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 "$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
{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_prog_DUMPBIN+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.
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_DUMPBIN="$ac_tool_prefix$ac_prog"
    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
    break 2
  fi
done
done
IFS=$as_save_IFS

fi
fi
DUMPBIN=$ac_cv_prog_DUMPBIN
if test -n "$DUMPBIN"; then
  { $as_echo "$as_me:$LINENO: result: $DUMPBIN" >&5
$as_echo "$DUMPBIN" >&6; }
else
  { $as_echo "$as_me:$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
{ $as_echo "$as_me:$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
  $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.
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_DUMPBIN="$ac_prog"
    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
    break 2
  fi
done
done
IFS=$as_save_IFS

fi
fi
ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
if test -n "$ac_ct_DUMPBIN"; then
  { $as_echo "$as_me:$LINENO: result: $ac_ct_DUMPBIN" >&5
$as_echo "$ac_ct_DUMPBIN" >&6; }
else
  { $as_echo "$as_me:$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=":"
  else
    case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:$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
    DUMPBIN=$ac_ct_DUMPBIN
  fi
fi


  if test "$DUMPBIN" != ":"; then
    NM="$DUMPBIN"
  fi
fi
test -z "$NM" && NM=nm






{ $as_echo "$as_me:$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
  lt_cv_nm_interface="BSD nm"
  echo "int some_variable = 0;" > conftest.$ac_ext
  (eval echo "\"\$as_me:4772: $ac_compile\"" >&5)
  (eval "$ac_compile" 2>conftest.err)
  cat conftest.err >&5
  (eval echo "\"\$as_me:4775: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
  cat conftest.err >&5
  (eval echo "\"\$as_me:4778: output\"" >&5)
  cat conftest.out >&5
  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
    lt_cv_nm_interface="MS dumpbin"
  fi
  rm -f conftest*
fi
{ $as_echo "$as_me:$LINENO: result: $lt_cv_nm_interface" >&5
$as_echo "$lt_cv_nm_interface" >&6; }

{ $as_echo "$as_me:$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:$LINENO: result: yes" >&5
$as_echo "yes" >&6; }
else
  { $as_echo "$as_me:$LINENO: result: no, using $LN_S" >&5
$as_echo "no, using $LN_S" >&6; }
fi

# find the maximum length of command line arguments
{ $as_echo "$as_me:$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
    i=0
  teststring="ABCD"

  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
    ;;

  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*)
    # 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;
    ;;

  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
    ;;

  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:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5
$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
else
  { $as_echo "$as_me:$LINENO: result: none" >&5
$as_echo "none" >&6; }
fi
max_cmd_len=$lt_cv_sys_max_cmd_len






: ${CP="cp -f"}
: ${MV="mv -f"}
: ${RM="rm -f"}

{ $as_echo "$as_me:$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:$LINENO: result: $xsi_shell" >&5
$as_echo "$xsi_shell" >&6; }


{ $as_echo "$as_me:$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:$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





# 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:$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:$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










{ $as_echo "$as_me:$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.

case $host_os in
aix[4-9]*)
  lt_cv_deplibs_check_method=pass_all
  ;;

beos*)
  lt_cv_deplibs_check_method=pass_all
  ;;

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'
  ;;

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
  ;;

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
    ;;
  pc)
    lt_cv_deplibs_check_method=pass_all
    ;;
  esac
  ;;

tpf*)
  lt_cv_deplibs_check_method=pass_all
  ;;
esac

fi
{ $as_echo "$as_me:$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












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:$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:$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:$LINENO: result: $AR" >&5
$as_echo "$AR" >&6; }
else
  { $as_echo "$as_me:$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:$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:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
    break 2
  fi
done
done
IFS=$as_save_IFS

fi
fi
ac_ct_AR=$ac_cv_prog_ac_ct_AR
if test -n "$ac_ct_AR"; then
  { $as_echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
$as_echo "$ac_ct_AR" >&6; }
else
  { $as_echo "$as_me:$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:$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:$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:$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:$LINENO: result: $STRIP" >&5
$as_echo "$STRIP" >&6; }
else
  { $as_echo "$as_me:$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:$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:$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:$LINENO: result: $ac_ct_STRIP" >&5
$as_echo "$ac_ct_STRIP" >&6; }
else
  { $as_echo "$as_me:$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:$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=:






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:$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:$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:$LINENO: result: $RANLIB" >&5
$as_echo "$RANLIB" >&6; }
else
  { $as_echo "$as_me:$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:$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:$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:$LINENO: result: $ac_ct_RANLIB" >&5
$as_echo "$ac_ct_RANLIB" >&6; }
else
  { $as_echo "$as_me:$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:$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=:






# 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 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:$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

# 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]'

# Regexp to match symbols that can be accessed directly from C.
sympat='\([_A-Za-z][_A-Za-z0-9]*\)'

# Define system-specific variables.
case $host_os in
aix*)
  symcode='[BCDT]'
  ;;
cygwin* | mingw* | pw32*)
  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

# 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'"

# 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"

  # 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:$LINENO: \"$ac_compile\"") >&5
  (eval $ac_compile) 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }; then
    # Now try to grab the symbols.
    nlist=conftest.nm
    if { (eval echo "$as_me:$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:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && 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

#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:$LINENO: \"$ac_link\"") >&5
  (eval $ac_link) 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && 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=
  fi
done

fi

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:$LINENO: result: failed" >&5
$as_echo "failed" >&6; }
else
  { $as_echo "$as_me:$LINENO: result: ok" >&5
$as_echo "ok" >&6; }
fi























# 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:$LINENO: \"$ac_compile\"") >&5
  (eval $ac_compile) 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }; 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 5877 "configure"' > conftest.$ac_ext
  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
  (eval $ac_compile) 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }; 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:$LINENO: \"$ac_compile\"") >&5
  (eval $ac_compile) 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }; 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:$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 >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

int
main ()
{

  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  lt_cv_cc_needs_belf=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	lt_cv_cc_needs_belf=no
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      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:$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:$LINENO: \"$ac_compile\"") >&5
  (eval $ac_compile) 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }; 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:$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:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
    break 2
  fi
done
done
IFS=$as_save_IFS

fi
fi
DSYMUTIL=$ac_cv_prog_DSYMUTIL
if test -n "$DSYMUTIL"; then
  { $as_echo "$as_me:$LINENO: result: $DSYMUTIL" >&5
$as_echo "$DSYMUTIL" >&6; }
else
  { $as_echo "$as_me:$LINENO: result: no" >&5
$as_echo "no" >&6; }
fi


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:$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
  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:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
    break 2
  fi
done
done
IFS=$as_save_IFS

fi
fi
ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
if test -n "$ac_ct_DSYMUTIL"; then
  { $as_echo "$as_me:$LINENO: result: $ac_ct_DSYMUTIL" >&5
$as_echo "$ac_ct_DSYMUTIL" >&6; }
else
  { $as_echo "$as_me:$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:$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:$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:$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:$LINENO: result: $NMEDIT" >&5
$as_echo "$NMEDIT" >&6; }
else
  { $as_echo "$as_me:$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:$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:$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:$LINENO: result: $ac_ct_NMEDIT" >&5
$as_echo "$ac_ct_NMEDIT" >&6; }
else
  { $as_echo "$as_me:$LINENO: result: no" >&5
$as_echo "no" >&6; }
fi

  if test "x$ac_ct_NMEDIT" = x; then
    NMEDIT=":"
  else
    case $cross_compiling:$ac_tool_warned in
yes:)
{ $as_echo "$as_me:$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:$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:$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:$LINENO: result: $LIPO" >&5
$as_echo "$LIPO" >&6; }
else
  { $as_echo "$as_me:$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:$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:$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:$LINENO: result: $ac_ct_LIPO" >&5
$as_echo "$ac_ct_LIPO" >&6; }
else
  { $as_echo "$as_me:$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:$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:$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:$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:$LINENO: result: $OTOOL" >&5
$as_echo "$OTOOL" >&6; }
else
  { $as_echo "$as_me:$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:$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:$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:$LINENO: result: $ac_ct_OTOOL" >&5
$as_echo "$ac_ct_OTOOL" >&6; }
else
  { $as_echo "$as_me:$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:$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:$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:$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:$LINENO: result: $OTOOL64" >&5
$as_echo "$OTOOL64" >&6; }
else
  { $as_echo "$as_me:$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:$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:$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:$LINENO: result: $ac_ct_OTOOL64" >&5
$as_echo "$ac_ct_OTOOL64" >&6; }
else
  { $as_echo "$as_me:$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:$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



























    { $as_echo "$as_me:$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:$LINENO: result: $lt_cv_apple_cc_single_mod" >&5
$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
    { $as_echo "$as_me:$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 >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

int
main ()
{

  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  lt_cv_ld_exported_symbols_list=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	lt_cv_ld_exported_symbols_list=no
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
	LDFLAGS="$save_LDFLAGS"

fi
{ $as_echo "$as_me:$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


{ $as_echo "$as_me:$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 >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
#include <stdlib.h>
#include <stdarg.h>
#include <string.h>
#include <float.h>

int
main ()
{

  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  ac_cv_header_stdc=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	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 >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* 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 >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* 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 >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* 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
rm -f conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
  { (case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_try") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }; }; then
  :
else
  $as_echo "$as_me: program exited with status $ac_status" >&5
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

( exit $ac_status )
ac_cv_header_stdc=no
fi
rm -rf conftest.dSYM
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi


fi
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
$as_echo "$ac_cv_header_stdc" >&6; }
if test $ac_cv_header_stdc = yes; then

cat >>confdefs.h <<\_ACEOF
#define STDC_HEADERS 1
_ACEOF

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`
{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
$as_echo_n "checking for $ac_header... " >&6; }
if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
  $as_echo_n "(cached) " >&6
else
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
$ac_includes_default

#include <$ac_header>
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  eval "$as_ac_Header=yes"
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	eval "$as_ac_Header=no"
fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
ac_res=`eval 'as_val=${'$as_ac_Header'}
		 $as_echo "$as_val"'`
	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
as_val=`eval 'as_val=${'$as_ac_Header'}
		 $as_echo "$as_val"'`
   if test "x$as_val" = x""yes; then
  cat >>confdefs.h <<_ACEOF
#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
_ACEOF

fi

done



for ac_header in dlfcn.h
do
as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
$as_echo_n "checking for $ac_header... " >&6; }
if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
  $as_echo_n "(cached) " >&6
else
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
$ac_includes_default

#include <$ac_header>
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  eval "$as_ac_Header=yes"
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	eval "$as_ac_Header=no"
fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
ac_res=`eval 'as_val=${'$as_ac_Header'}
		 $as_echo "$as_val"'`
	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
as_val=`eval 'as_val=${'$as_ac_Header'}
		 $as_echo "$as_val"'`
   if test "x$as_val" = x""yes; then
  cat >>confdefs.h <<_ACEOF
#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
_ACEOF

fi

done



# Set options
# 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=no
fi










        enable_dlopen=no


  enable_win32_dll=no



  # 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










# 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
else
  enable_fast_install=yes
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:$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:$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

















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

# 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

# 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"

old_CC="$CC"
old_CFLAGS="$CFLAGS"

# 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:$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

*** 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

MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
if test -n "$MAGIC_CMD"; then
  { $as_echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
$as_echo "$MAGIC_CMD" >&6; }
else
  { $as_echo "$as_me:$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:$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

*** 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

MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
if test -n "$MAGIC_CMD"; then
  { $as_echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
$as_echo "$MAGIC_CMD" >&6; }
else
  { $as_echo "$as_me:$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
  lt_prog_compiler_no_builtin_flag=' -fno-builtin'

  { $as_echo "$as_me:$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:7497: $lt_compile\"" >&5)
   (eval "$lt_compile" 2>conftest.err)
   ac_status=$?
   cat conftest.err >&5
   echo "$as_me:7501: \$? = $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*

fi
{ $as_echo "$as_me:$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:$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*)
      # 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'
      ;;

    hpux*)
      # 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='-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
  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*)
      # 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
      icc* | ecc* | ifort*)
	lt_prog_compiler_wl='-Wl,'
	lt_prog_compiler_pic='-KPIC'
	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:$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:$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:7821: $lt_compile\"" >&5)
   (eval "$lt_compile" 2>conftest.err)
   ac_status=$?
   cat conftest.err >&5
   echo "$as_me:7825: \$? = $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*

fi
{ $as_echo "$as_me:$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:$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"

fi
{ $as_echo "$as_me:$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:$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:7926: $lt_compile\"" >&5)
   (eval "$lt_compile" 2>out/conftest.err)
   ac_status=$?
   cat out/conftest.err >&5
   echo "$as_me:7930: \$? = $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*

fi
{ $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
$as_echo "$lt_cv_prog_compiler_c_o" >&6; }






  { $as_echo "$as_me:$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:7981: $lt_compile\"" >&5)
   (eval "$lt_compile" 2>out/conftest.err)
   ac_status=$?
   cat out/conftest.err >&5
   echo "$as_me:7985: \$? = $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*

fi
{ $as_echo "$as_me:$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:$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:$LINENO: result: $hard_links" >&5
$as_echo "$hard_links" >&6; }
  if test "$hard_links" = no; then
    { $as_echo "$as_me:$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:$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*)
    # 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

*** 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.

_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*)
      # _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' ;;
	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

      # 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 >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

int
main ()
{

  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; 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
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5


fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      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 >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

int
main ()
{

  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; 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
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5


fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      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*)
      # 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"
  if test "$GCC" = "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}"

  else
  ld_shlibs=no
  fi

      ;;

    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
      ;;

    # 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
      ;;

    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 ${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=:

	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
      ;;

    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 >conftest.$ac_ext <<_ACEOF
int foo(void) {}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; 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'

else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5


fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      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
      ;;

    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
      ;;

    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*)
      ;;

    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
      ;;

    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'
      ;;

    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
      ;;

    sysv4.3*)
      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
      hardcode_shlibpath_var=no
      export_dynamic_flag_spec='-Bexport'
      ;;

    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*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:$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:$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:$LINENO: \"$ac_compile\"") >&5
  (eval $ac_compile) 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } 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:$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:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }
        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:$LINENO: result: $archive_cmds_need_lc" >&5
$as_echo "$archive_cmds_need_lc" >&6; }
      ;;
    esac
  fi
  ;;
esac





























































































































































  { $as_echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
$as_echo_n "checking dynamic linker characteristics... " >&6; }

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

# 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'
  ;;

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=`$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'
    ;;
  esac
  ;;

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
  ;;

cygwin* | mingw* | pw32*)
  version_type=windows
  shrext_cmds=".dll"
  need_version=no
  need_lib_prefix=no

  case $GCC,$host_os in
  yes,cygwin* | yes,mingw* | yes,pw32*)
    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="/usr/lib /lib/w32api /lib /usr/local/lib"
      ;;
    mingw*)
      # 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'
      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
  ;;

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
  ;;

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
    ;;
  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
  ;;

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'
  ;;

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
  ;;

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 >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

int
main ()
{

  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  if  ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then
  shlibpath_overrides_runpath=yes
fi

else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5


fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
  LDFLAGS=$save_LDFLAGS
  libdir=$save_libdir

  # 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;/^$/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'
  ;;

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
  ;;

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
  ;;

*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'
  ;;

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
    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
  ;;

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'
      ;;
  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
  ;;

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_name_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
  ;;

*)
  dynamic_linker=no
  ;;
esac
{ $as_echo "$as_me:$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























































































  { $as_echo "$as_me:$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:$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*)
    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:$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 >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* 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
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  ac_cv_lib_dl_dlopen=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_cv_lib_dl_dlopen=no
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:$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

    ;;

  *)
    { $as_echo "$as_me:$LINENO: checking for shl_load" >&5
$as_echo_n "checking for shl_load... " >&6; }
if test "${ac_cv_func_shl_load+set}" = set; then
  $as_echo_n "(cached) " >&6
else
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
/* Define shl_load to an innocuous variant, in case <limits.h> declares shl_load.
   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
#define shl_load innocuous_shl_load

/* System header to define __stub macros and hopefully few prototypes,
    which can conflict with char shl_load (); below.
    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
    <limits.h> exists even on freestanding compilers.  */

#ifdef __STDC__
# include <limits.h>
#else
# include <assert.h>
#endif

#undef shl_load

/* 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 ();
/* The GNU C library defines this for functions which it implements
    to always fail with ENOSYS.  Some functions are actually named
    something starting with __ and the normal name is an alias.  */
#if defined __stub_shl_load || defined __stub___shl_load
choke me
#endif

int
main ()
{
return shl_load ();
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  ac_cv_func_shl_load=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_cv_func_shl_load=no
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
$as_echo "$ac_cv_func_shl_load" >&6; }
if test "x$ac_cv_func_shl_load" = x""yes; then
  lt_cv_dlopen="shl_load"
else
  { $as_echo "$as_me:$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 >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* 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
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  ac_cv_lib_dld_shl_load=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_cv_lib_dld_shl_load=no
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:$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
  { $as_echo "$as_me:$LINENO: checking for dlopen" >&5
$as_echo_n "checking for dlopen... " >&6; }
if test "${ac_cv_func_dlopen+set}" = set; then
  $as_echo_n "(cached) " >&6
else
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
/* Define dlopen to an innocuous variant, in case <limits.h> declares dlopen.
   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
#define dlopen innocuous_dlopen

/* System header to define __stub macros and hopefully few prototypes,
    which can conflict with char dlopen (); below.
    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
    <limits.h> exists even on freestanding compilers.  */

#ifdef __STDC__
# include <limits.h>
#else
# include <assert.h>
#endif

#undef dlopen

/* 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 ();
/* The GNU C library defines this for functions which it implements
    to always fail with ENOSYS.  Some functions are actually named
    something starting with __ and the normal name is an alias.  */
#if defined __stub_dlopen || defined __stub___dlopen
choke me
#endif

int
main ()
{
return dlopen ();
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  ac_cv_func_dlopen=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_cv_func_dlopen=no
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
$as_echo "$ac_cv_func_dlopen" >&6; }
if test "x$ac_cv_func_dlopen" = x""yes; then
  lt_cv_dlopen="dlopen"
else
  { $as_echo "$as_me:$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 >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* 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
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  ac_cv_lib_dl_dlopen=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_cv_lib_dl_dlopen=no
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:$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:$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 >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* 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
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  ac_cv_lib_svld_dlopen=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_cv_lib_svld_dlopen=no
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:$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:$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 >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* 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
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  ac_cv_lib_dld_dld_link=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_cv_lib_dld_dld_link=no
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ $as_echo "$as_me:$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:$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 10773 "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

#ifdef __cplusplus
extern "C" void exit (int);
#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 ());

    exit (status);
}
_LT_EOF
  if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
  (eval $ac_link) 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && 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:$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:$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 10873 "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

#ifdef __cplusplus
extern "C" void exit (int);
#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 ());

    exit (status);
}
_LT_EOF
  if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
  (eval $ac_link) 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && 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:$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:$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:$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:$LINENO: result: yes" >&5
$as_echo "yes" >&6; }
    else
      { $as_echo "$as_me:$LINENO: result: no" >&5
$as_echo "no" >&6; }
    fi
    ;;
  *)
    { $as_echo "$as_me:$LINENO: result: no" >&5
$as_echo "no" >&6; }
    ;;
  esac
fi












  # Report which library types will actually be built
  { $as_echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
$as_echo_n "checking if libtool supports shared libraries... " >&6; }
  { $as_echo "$as_me:$LINENO: result: $can_build_shared" >&5
$as_echo "$can_build_shared" >&6; }

  { $as_echo "$as_me:$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:$LINENO: result: $enable_shared" >&5
$as_echo "$enable_shared" >&6; }

  { $as_echo "$as_me:$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:$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:



# For testing cross-compilation behaviour.
#cross_compiling=yes

{ echo; echo "${term_bold}Optional Platform Environment:${term_norm}"; } >& 6


for ac_header in sys/signal.h
do
as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
  { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
$as_echo_n "checking for $ac_header... " >&6; }
if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
  $as_echo_n "(cached) " >&6
fi
ac_res=`eval 'as_val=${'$as_ac_Header'}
		 $as_echo "$as_val"'`
	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
else
  # Is the header compilable?
{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
$as_echo_n "checking $ac_header usability... " >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
$ac_includes_default
#include <$ac_header>
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  ac_header_compiler=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_header_compiler=no
fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
$as_echo "$ac_header_compiler" >&6; }

# Is the header present?
{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
$as_echo_n "checking $ac_header presence... " >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
#include <$ac_header>
_ACEOF
if { (ac_try="$ac_cpp conftest.$ac_ext"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } >/dev/null && {
	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
	 test ! -s conftest.err
       }; then
  ac_header_preproc=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

  ac_header_preproc=no
fi

rm -f conftest.err conftest.$ac_ext
{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
$as_echo "$ac_header_preproc" >&6; }

# So?  What about this header?
case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
  yes:no: )
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
    ac_header_preproc=yes
    ;;
  no:yes:* )
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
$as_echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
$as_echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}

    ;;
esac
{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
$as_echo_n "checking for $ac_header... " >&6; }
if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
  $as_echo_n "(cached) " >&6
else
  eval "$as_ac_Header=\$ac_header_preproc"
fi
ac_res=`eval 'as_val=${'$as_ac_Header'}
		 $as_echo "$as_val"'`
	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }

fi
as_val=`eval 'as_val=${'$as_ac_Header'}
		 $as_echo "$as_val"'`
   if test "x$as_val" = x""yes; then
  cat >>confdefs.h <<_ACEOF
#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
_ACEOF

fi

done


case "$host_os" in
  sunos4* | freebsd* | dragonfly* | openbsd* | netbsd* | kfreebsd* | knetbsd*)
    CFG_SIGNALS=signals-bsd.h ;;
  hpux*)
    CFG_SIGNALS=signals-hpux.h ;;
  macos* | darwin*)
    CFG_SIGNALS=signals-macos.h ;;
  gnu*)
    CFG_SIGNALS=signals-hurd.h ;;
  *)
    CFG_SIGNALS=signals.h ;;
esac

cat >>confdefs.h <<_ACEOF
#define CFG_SIGNALS "$CFG_SIGNALS"
_ACEOF


# How to determine the memory page size.




for ac_header in unistd.h
do
as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
  { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
$as_echo_n "checking for $ac_header... " >&6; }
if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
  $as_echo_n "(cached) " >&6
fi
ac_res=`eval 'as_val=${'$as_ac_Header'}
		 $as_echo "$as_val"'`
	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
else
  # Is the header compilable?
{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
$as_echo_n "checking $ac_header usability... " >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
$ac_includes_default
#include <$ac_header>
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  ac_header_compiler=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_header_compiler=no
fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
$as_echo "$ac_header_compiler" >&6; }

# Is the header present?
{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
$as_echo_n "checking $ac_header presence... " >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
#include <$ac_header>
_ACEOF
if { (ac_try="$ac_cpp conftest.$ac_ext"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } >/dev/null && {
	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
	 test ! -s conftest.err
       }; then
  ac_header_preproc=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

  ac_header_preproc=no
fi

rm -f conftest.err conftest.$ac_ext
{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
$as_echo "$ac_header_preproc" >&6; }

# So?  What about this header?
case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
  yes:no: )
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
    ac_header_preproc=yes
    ;;
  no:yes:* )
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
$as_echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
$as_echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}

    ;;
esac
{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
$as_echo_n "checking for $ac_header... " >&6; }
if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
  $as_echo_n "(cached) " >&6
else
  eval "$as_ac_Header=\$ac_header_preproc"
fi
ac_res=`eval 'as_val=${'$as_ac_Header'}
		 $as_echo "$as_val"'`
	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }

fi
as_val=`eval 'as_val=${'$as_ac_Header'}
		 $as_echo "$as_val"'`
   if test "x$as_val" = x""yes; then
  cat >>confdefs.h <<_ACEOF
#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
_ACEOF

fi

done



  { $as_echo "$as_me:$LINENO: checking for getpagesize" >&5
$as_echo_n "checking for getpagesize... " >&6; }
if test "${sv_cv_func_getpagesize+set}" = set; then
  $as_echo_n "(cached) " >&6
else

    cat >conftest.$ac_ext <<_ACEOF

      /* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

#if HAVE_UNISTD_H
#include <sys/types.h>
#include <unistd.h>
#endif

int
main ()
{
int pgsz = getpagesize();
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  sv_cv_func_getpagesize=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	sv_cv_func_getpagesize=no
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
fi
{ $as_echo "$as_me:$LINENO: result: $sv_cv_func_getpagesize" >&5
$as_echo "$sv_cv_func_getpagesize" >&6; }
  if test $sv_cv_func_getpagesize = yes; then

cat >>confdefs.h <<\_ACEOF
#define HAVE_GETPAGESIZE 1
_ACEOF

  fi


  { $as_echo "$as_me:$LINENO: checking for sysconf(_SC_PAGESIZE)" >&5
$as_echo_n "checking for sysconf(_SC_PAGESIZE)... " >&6; }
if test "${sv_cv_func_sysconf_pagesize+set}" = set; then
  $as_echo_n "(cached) " >&6
else

    cat >conftest.$ac_ext <<_ACEOF

      /* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

#if HAVE_UNISTD_H
#include <sys/types.h>
#include <unistd.h>
#endif

int
main ()
{
int pgsz = sysconf (_SC_PAGESIZE);
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  sv_cv_func_sysconf_pagesize=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	sv_cv_func_sysconf_pagesize=no
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
fi
{ $as_echo "$as_me:$LINENO: result: $sv_cv_func_sysconf_pagesize" >&5
$as_echo "$sv_cv_func_sysconf_pagesize" >&6; }
  if test $sv_cv_func_sysconf_pagesize = yes; then

cat >>confdefs.h <<\_ACEOF
#define HAVE_SYSCONF_PAGESIZE 1
_ACEOF

  fi


  { $as_echo "$as_me:$LINENO: checking for PAGESIZE in limits.h" >&5
$as_echo_n "checking for PAGESIZE in limits.h... " >&6; }
if test "${sv_cv_macro_pagesize+set}" = set; then
  $as_echo_n "(cached) " >&6
else

    cat >conftest.$ac_ext <<_ACEOF

      /* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
#include <limits.h>
int
main ()
{
int pgsz = PAGESIZE;
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  sv_cv_macro_pagesize=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	sv_cv_macro_pagesize=no
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
fi
{ $as_echo "$as_me:$LINENO: result: $sv_cv_macro_pagesize" >&5
$as_echo "$sv_cv_macro_pagesize" >&6; }
  if test $sv_cv_macro_pagesize = yes; then

cat >>confdefs.h <<\_ACEOF
#define HAVE_PAGESIZE 1
_ACEOF

  fi



# How to allocate fresh memory using mmap.
# (We need mmap, because mprotect() doesn't work on malloc()ed memory on
# some systems.)





  { $as_echo "$as_me:$LINENO: checking for mmap with MAP_ANON" >&5
$as_echo_n "checking for mmap with MAP_ANON... " >&6; }
if test "${sv_cv_func_mmap_anon+set}" = set; then
  $as_echo_n "(cached) " >&6
else

    if test "$cross_compiling" = yes; then

                case "$host_os" in
          freebsd* | linux* | osf* | darwin*)
            sv_cv_func_mmap_anon=yes ;;
          *)
            cat >conftest.$ac_ext <<_ACEOF

              /* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

#include <sys/types.h>
#include <sys/mman.h>

int
main ()
{
mmap (0, 0x10000, PROT_READ | PROT_WRITE, MAP_ANON | MAP_PRIVATE, -1, 0);
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  sv_cv_func_mmap_anon="guessing yes"
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	sv_cv_func_mmap_anon=no
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
            ;;
        esac

else
  cat >conftest.$ac_ext <<_ACEOF

      /* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

#include <sys/types.h>
#include <sys/mman.h>
int main ()
{
  void *p = mmap (0, 0x10000, PROT_READ | PROT_WRITE, MAP_ANON | MAP_PRIVATE, -1, 0);
  return (p == (void *)(-1));
}
_ACEOF
rm -f conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
  { (case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_try") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }; }; then
  sv_cv_func_mmap_anon=yes
else
  $as_echo "$as_me: program exited with status $ac_status" >&5
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

( exit $ac_status )
sv_cv_func_mmap_anon=no
fi
rm -rf conftest.dSYM
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi



fi
{ $as_echo "$as_me:$LINENO: result: $sv_cv_func_mmap_anon" >&5
$as_echo "$sv_cv_func_mmap_anon" >&6; }
  if test "$sv_cv_func_mmap_anon" != no; then

cat >>confdefs.h <<\_ACEOF
#define HAVE_MMAP_ANON 1
_ACEOF

  fi


  { $as_echo "$as_me:$LINENO: checking for mmap with MAP_ANONYMOUS" >&5
$as_echo_n "checking for mmap with MAP_ANONYMOUS... " >&6; }
if test "${sv_cv_func_mmap_anonymous+set}" = set; then
  $as_echo_n "(cached) " >&6
else

    if test "$cross_compiling" = yes; then

                case "$host_os" in
          hpux* | linux* | osf*)
            sv_cv_func_mmap_anonymous=yes ;;
          darwin*)
            sv_cv_func_mmap_anonymous=no ;;
          *)
            cat >conftest.$ac_ext <<_ACEOF

              /* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

#include <sys/types.h>
#include <sys/mman.h>

int
main ()
{
mmap (0, 0x10000, PROT_READ | PROT_WRITE, MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  sv_cv_func_mmap_anonymous="guessing yes"
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	sv_cv_func_mmap_anonymous=no
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
            ;;
        esac

else
  cat >conftest.$ac_ext <<_ACEOF

      /* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

#include <sys/types.h>
#include <sys/mman.h>
int main ()
{
  void *p = mmap (0, 0x10000, PROT_READ | PROT_WRITE, MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);
  return (p == (void *)(-1));
}
_ACEOF
rm -f conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
  { (case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_try") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }; }; then
  sv_cv_func_mmap_anonymous=yes
else
  $as_echo "$as_me: program exited with status $ac_status" >&5
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

( exit $ac_status )
sv_cv_func_mmap_anonymous=no
fi
rm -rf conftest.dSYM
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi



fi
{ $as_echo "$as_me:$LINENO: result: $sv_cv_func_mmap_anonymous" >&5
$as_echo "$sv_cv_func_mmap_anonymous" >&6; }
  if test "$sv_cv_func_mmap_anonymous" != no; then

cat >>confdefs.h <<\_ACEOF
#define HAVE_MMAP_ANONYMOUS 1
_ACEOF

  fi


  { $as_echo "$as_me:$LINENO: checking for mmap of /dev/zero" >&5
$as_echo_n "checking for mmap of /dev/zero... " >&6; }
if test "${sv_cv_func_mmap_devzero+set}" = set; then
  $as_echo_n "(cached) " >&6
else

    if test "$cross_compiling" = yes; then

                case "$host_os" in
          freebsd* | irix* | linux* | osf* | solaris* | sunos4*)
            sv_cv_func_mmap_devzero=yes ;;
          darwin*)
            sv_cv_func_mmap_devzero=no ;;
          *)
            cat >conftest.$ac_ext <<_ACEOF

              /* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

#include <sys/types.h>
#include <sys/mman.h>
#ifndef MAP_FILE
#define MAP_FILE 0
#endif

int
main ()
{
mmap (0, 0x10000, PROT_READ | PROT_WRITE, MAP_FILE | MAP_PRIVATE, 7, 0);
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  sv_cv_func_mmap_devzero="guessing yes"
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	sv_cv_func_mmap_devzero=no
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
            ;;
        esac

else
  cat >conftest.$ac_ext <<_ACEOF

      /* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

#include <sys/types.h>
#include <sys/mman.h>
#include <fcntl.h>
#ifndef MAP_FILE
#define MAP_FILE 0
#endif
int main ()
{
  int fd;
  void *p;
  fd = open ("/dev/zero", O_RDONLY, 0666);
  if (fd < 0) return 1;
  p = mmap (0, 0x10000, PROT_READ | PROT_WRITE, MAP_FILE | MAP_PRIVATE, fd, 0);
  return (p == (void *)(-1));
}
_ACEOF
rm -f conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
  { (case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_try") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }; }; then
  sv_cv_func_mmap_devzero=yes
else
  $as_echo "$as_me: program exited with status $ac_status" >&5
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

( exit $ac_status )
sv_cv_func_mmap_devzero=no
fi
rm -rf conftest.dSYM
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi



fi
{ $as_echo "$as_me:$LINENO: result: $sv_cv_func_mmap_devzero" >&5
$as_echo "$sv_cv_func_mmap_devzero" >&6; }
  if test "$sv_cv_func_mmap_devzero" != no; then

cat >>confdefs.h <<\_ACEOF
#define HAVE_MMAP_DEVZERO 1
_ACEOF

  fi


# How to write a SIGSEGV handler with access to the fault address.

# On MacOS X 10.2 or newer, we don't need these tests, because we'll end up
# using handler-macos.c anyway. If we were to perform the tests, 5 Crash Report
# dialog windows would pop up.
case "$host_os" in
  macos* | darwin[6-9]* | darwin[1-9][0-9]*) ;;
  *)





  { $as_echo "$as_me:$LINENO: checking whether a fault handler according to POSIX works" >&5
$as_echo_n "checking whether a fault handler according to POSIX works... " >&6; }
if test "${sv_cv_fault_posix+set}" = set; then
  $as_echo_n "(cached) " >&6
else

    if test "$cross_compiling" = yes; then
  case "$host" in
         *-*-solaris2.[7-9] | i?86-*-linux2.[4-9]* | i?86-*-freebsd[4-9]* | i?86-*-mirbsd1[0-9] | alpha*-dec-osf[4-9]* | *-*-hpux11* | mips-sgi-irix6*) sv_cv_fault_posix=yes ;;
         *)
           cat >conftest.$ac_ext <<_ACEOF

             /* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

#include <signal.h>

void sigsegv_handler (int sig, siginfo_t *sip, void *ucp)
{
  void *fault_address = (void *) (sip->si_addr);
}

int
main ()
{
struct sigaction action;
action.sa_sigaction = &sigsegv_handler;
   action.sa_flags = SA_SIGINFO;
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  sv_cv_fault_posix="guessing no"
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	sv_cv_fault_posix=no
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
           ;;
       esac

else
  cat >conftest.$ac_ext <<_ACEOF

      /* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

#include <stdlib.h>
#include <signal.h>
#if HAVE_SYS_SIGNAL_H
# include <sys/signal.h>
#endif

#include <sys/types.h>
#include <sys/mman.h>
#if HAVE_MMAP_DEVZERO
# include <fcntl.h>
# ifndef MAP_FILE
#  define MAP_FILE 0
# endif
#endif
#ifndef PROT_NONE
# define PROT_NONE 0
#endif
#if HAVE_MMAP_ANON
# define zero_fd -1
# define map_flags MAP_ANON | MAP_PRIVATE
#elif HAVE_MMAP_ANONYMOUS
# define zero_fd -1
# define map_flags MAP_ANONYMOUS | MAP_PRIVATE
#elif HAVE_MMAP_DEVZERO
static int zero_fd;
# define map_flags MAP_FILE | MAP_PRIVATE
#endif
unsigned long page;
int handler_called = 0;
void sigsegv_handler (int sig, siginfo_t *sip, void *ucp)
{
  void *fault_address = (void *) (sip->si_addr);
  handler_called++;
  if (handler_called == 10)
    exit (4);
  if (fault_address != (void*)(page + 0x678))
    exit (3);
  if (mprotect ((void *) page, 0x10000, PROT_READ | PROT_WRITE) < 0)
    exit (2);
}
void crasher (unsigned long p)
{
  *(int *) (p + 0x678) = 42;
}
int main ()
{
  void *p;
  struct sigaction action;
  /* Preparations.  */
#if !HAVE_MMAP_ANON && !HAVE_MMAP_ANONYMOUS && HAVE_MMAP_DEVZERO
  zero_fd = open ("/dev/zero", O_RDONLY, 0644);
#endif
  /* Setup some mmaped memory.  */
#ifdef __hpux
  /* HP-UX 10 mmap() often fails when given a hint.  So give the OS complete
     freedom about the address range.  */
  p = mmap ((void *) 0,          0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
#else
  p = mmap ((void *) 0x12340000, 0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
#endif
  if (p == (void *)(-1))
    exit (2);
  page = (unsigned long) p;
  /* Make it read-only.  */
  if (mprotect ((void *) page, 0x10000, PROT_READ) < 0)
    exit (2);
  /* Install the SIGSEGV handler.  */
  sigemptyset(&action.sa_mask);
action.sa_sigaction = &sigsegv_handler;
   action.sa_flags = SA_SIGINFO;
  sigaction (SIGSEGV, &action, (struct sigaction *) NULL);
  sigaction (SIGBUS, &action, (struct sigaction *) NULL);
  /* The first write access should invoke the handler and then complete.  */
  crasher (page);
  /* The second write access should not invoke the handler.  */
  crasher (page);
  /* Check that the handler was called only once.  */
  if (handler_called != 1)
    exit (1);
  /* Test passed!  */
  return 0;
}
_ACEOF
rm -f conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
  { (case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_try") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }; }; then
  sv_cv_fault_posix=yes
else
  $as_echo "$as_me: program exited with status $ac_status" >&5
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

( exit $ac_status )
sv_cv_fault_posix=no
fi
rm -rf conftest.dSYM
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi



fi
{ $as_echo "$as_me:$LINENO: result: $sv_cv_fault_posix" >&5
$as_echo "$sv_cv_fault_posix" >&6; }






  { $as_echo "$as_me:$LINENO: checking whether a fault handler according to Linux/i386 works" >&5
$as_echo_n "checking whether a fault handler according to Linux/i386 works... " >&6; }
if test "${sv_cv_fault_linux_i386+set}" = set; then
  $as_echo_n "(cached) " >&6
else

    if test "$cross_compiling" = yes; then
  case "$host" in
         i?86-*-linux2.[2-9]*) sv_cv_fault_linux_i386=yes ;;
         *)
           cat >conftest.$ac_ext <<_ACEOF

             /* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

#include <signal.h>
#include <asm/sigcontext.h>
void sigsegv_handler (int sig, struct sigcontext sc)
{
  void *fault_address = (void *) (sc.cr2);
}

int
main ()
{
struct sigaction action;

  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  sv_cv_fault_linux_i386="guessing no"
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	sv_cv_fault_linux_i386=no
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
           ;;
       esac

else
  cat >conftest.$ac_ext <<_ACEOF

      /* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

#include <stdlib.h>
#include <signal.h>
#if HAVE_SYS_SIGNAL_H
# include <sys/signal.h>
#endif
#include <asm/sigcontext.h>
#include <sys/types.h>
#include <sys/mman.h>
#if HAVE_MMAP_DEVZERO
# include <fcntl.h>
# ifndef MAP_FILE
#  define MAP_FILE 0
# endif
#endif
#ifndef PROT_NONE
# define PROT_NONE 0
#endif
#if HAVE_MMAP_ANON
# define zero_fd -1
# define map_flags MAP_ANON | MAP_PRIVATE
#elif HAVE_MMAP_ANONYMOUS
# define zero_fd -1
# define map_flags MAP_ANONYMOUS | MAP_PRIVATE
#elif HAVE_MMAP_DEVZERO
static int zero_fd;
# define map_flags MAP_FILE | MAP_PRIVATE
#endif
unsigned long page;
int handler_called = 0;
void sigsegv_handler (int sig, struct sigcontext sc)
{
  void *fault_address = (void *) (sc.cr2);
  handler_called++;
  if (handler_called == 10)
    exit (4);
  if (fault_address != (void*)(page + 0x678))
    exit (3);
  if (mprotect ((void *) page, 0x10000, PROT_READ | PROT_WRITE) < 0)
    exit (2);
}
void crasher (unsigned long p)
{
  *(int *) (p + 0x678) = 42;
}
int main ()
{
  void *p;
  struct sigaction action;
  /* Preparations.  */
#if !HAVE_MMAP_ANON && !HAVE_MMAP_ANONYMOUS && HAVE_MMAP_DEVZERO
  zero_fd = open ("/dev/zero", O_RDONLY, 0644);
#endif
  /* Setup some mmaped memory.  */
#ifdef __hpux
  /* HP-UX 10 mmap() often fails when given a hint.  So give the OS complete
     freedom about the address range.  */
  p = mmap ((void *) 0,          0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
#else
  p = mmap ((void *) 0x12340000, 0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
#endif
  if (p == (void *)(-1))
    exit (2);
  page = (unsigned long) p;
  /* Make it read-only.  */
  if (mprotect ((void *) page, 0x10000, PROT_READ) < 0)
    exit (2);
  /* Install the SIGSEGV handler.  */
  sigemptyset(&action.sa_mask);

  action.sa_handler = (void (*) (int)) &sigsegv_handler;
  action.sa_flags = 0;

  sigaction (SIGSEGV, &action, (struct sigaction *) NULL);
  sigaction (SIGBUS, &action, (struct sigaction *) NULL);
  /* The first write access should invoke the handler and then complete.  */
  crasher (page);
  /* The second write access should not invoke the handler.  */
  crasher (page);
  /* Check that the handler was called only once.  */
  if (handler_called != 1)
    exit (1);
  /* Test passed!  */
  return 0;
}
_ACEOF
rm -f conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
  { (case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_try") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }; }; then
  sv_cv_fault_linux_i386=yes
else
  $as_echo "$as_me: program exited with status $ac_status" >&5
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

( exit $ac_status )
sv_cv_fault_linux_i386=no
fi
rm -rf conftest.dSYM
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi



fi
{ $as_echo "$as_me:$LINENO: result: $sv_cv_fault_linux_i386" >&5
$as_echo "$sv_cv_fault_linux_i386" >&6; }






  { $as_echo "$as_me:$LINENO: checking whether a fault handler according to old Linux/i386 works" >&5
$as_echo_n "checking whether a fault handler according to old Linux/i386 works... " >&6; }
if test "${sv_cv_fault_linux_i386_old+set}" = set; then
  $as_echo_n "(cached) " >&6
else

    if test "$cross_compiling" = yes; then
  case "$host" in
         i?86-*-linux2.[2-9]*) sv_cv_fault_linux_i386_old=yes ;;
         *)
           cat >conftest.$ac_ext <<_ACEOF

             /* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

#include <signal.h>

void sigsegv_handler (int sig, unsigned int more)
{
  void *fault_address = (void *) (((unsigned long *) &more) [21]);
}

int
main ()
{
struct sigaction action;

  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  sv_cv_fault_linux_i386_old="guessing no"
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	sv_cv_fault_linux_i386_old=no
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
           ;;
       esac

else
  cat >conftest.$ac_ext <<_ACEOF

      /* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

#include <stdlib.h>
#include <signal.h>
#if HAVE_SYS_SIGNAL_H
# include <sys/signal.h>
#endif

#include <sys/types.h>
#include <sys/mman.h>
#if HAVE_MMAP_DEVZERO
# include <fcntl.h>
# ifndef MAP_FILE
#  define MAP_FILE 0
# endif
#endif
#ifndef PROT_NONE
# define PROT_NONE 0
#endif
#if HAVE_MMAP_ANON
# define zero_fd -1
# define map_flags MAP_ANON | MAP_PRIVATE
#elif HAVE_MMAP_ANONYMOUS
# define zero_fd -1
# define map_flags MAP_ANONYMOUS | MAP_PRIVATE
#elif HAVE_MMAP_DEVZERO
static int zero_fd;
# define map_flags MAP_FILE | MAP_PRIVATE
#endif
unsigned long page;
int handler_called = 0;
void sigsegv_handler (int sig, unsigned int more)
{
  void *fault_address = (void *) (((unsigned long *) &more) [21]);
  handler_called++;
  if (handler_called == 10)
    exit (4);
  if (fault_address != (void*)(page + 0x678))
    exit (3);
  if (mprotect ((void *) page, 0x10000, PROT_READ | PROT_WRITE) < 0)
    exit (2);
}
void crasher (unsigned long p)
{
  *(int *) (p + 0x678) = 42;
}
int main ()
{
  void *p;
  struct sigaction action;
  /* Preparations.  */
#if !HAVE_MMAP_ANON && !HAVE_MMAP_ANONYMOUS && HAVE_MMAP_DEVZERO
  zero_fd = open ("/dev/zero", O_RDONLY, 0644);
#endif
  /* Setup some mmaped memory.  */
#ifdef __hpux
  /* HP-UX 10 mmap() often fails when given a hint.  So give the OS complete
     freedom about the address range.  */
  p = mmap ((void *) 0,          0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
#else
  p = mmap ((void *) 0x12340000, 0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
#endif
  if (p == (void *)(-1))
    exit (2);
  page = (unsigned long) p;
  /* Make it read-only.  */
  if (mprotect ((void *) page, 0x10000, PROT_READ) < 0)
    exit (2);
  /* Install the SIGSEGV handler.  */
  sigemptyset(&action.sa_mask);

  action.sa_handler = (void (*) (int)) &sigsegv_handler;
  action.sa_flags = 0;

  sigaction (SIGSEGV, &action, (struct sigaction *) NULL);
  sigaction (SIGBUS, &action, (struct sigaction *) NULL);
  /* The first write access should invoke the handler and then complete.  */
  crasher (page);
  /* The second write access should not invoke the handler.  */
  crasher (page);
  /* Check that the handler was called only once.  */
  if (handler_called != 1)
    exit (1);
  /* Test passed!  */
  return 0;
}
_ACEOF
rm -f conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
  { (case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_try") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }; }; then
  sv_cv_fault_linux_i386_old=yes
else
  $as_echo "$as_me: program exited with status $ac_status" >&5
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

( exit $ac_status )
sv_cv_fault_linux_i386_old=no
fi
rm -rf conftest.dSYM
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi



fi
{ $as_echo "$as_me:$LINENO: result: $sv_cv_fault_linux_i386_old" >&5
$as_echo "$sv_cv_fault_linux_i386_old" >&6; }






  { $as_echo "$as_me:$LINENO: checking whether a fault handler according to Linux/m68k works" >&5
$as_echo_n "checking whether a fault handler according to Linux/m68k works... " >&6; }
if test "${sv_cv_fault_linux_m68k+set}" = set; then
  $as_echo_n "(cached) " >&6
else

    if test "$cross_compiling" = yes; then
  case "$host" in

         *)
           cat >conftest.$ac_ext <<_ACEOF

             /* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

#include <signal.h>
#include <asm/sigcontext.h>
#include "$srcdir/src/fault-linux-m68k.c"
void sigsegv_handler (int sig, int code, struct sigcontext *scp)
{
  void *fault_address = (void *) (get_fault_addr (scp));
}

int
main ()
{
struct sigaction action;

  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  sv_cv_fault_linux_m68k="guessing no"
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	sv_cv_fault_linux_m68k=no
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
           ;;
       esac

else
  cat >conftest.$ac_ext <<_ACEOF

      /* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

#include <stdlib.h>
#include <signal.h>
#if HAVE_SYS_SIGNAL_H
# include <sys/signal.h>
#endif
#include <asm/sigcontext.h>
#include "$srcdir/src/fault-linux-m68k.c"
#include <sys/types.h>
#include <sys/mman.h>
#if HAVE_MMAP_DEVZERO
# include <fcntl.h>
# ifndef MAP_FILE
#  define MAP_FILE 0
# endif
#endif
#ifndef PROT_NONE
# define PROT_NONE 0
#endif
#if HAVE_MMAP_ANON
# define zero_fd -1
# define map_flags MAP_ANON | MAP_PRIVATE
#elif HAVE_MMAP_ANONYMOUS
# define zero_fd -1
# define map_flags MAP_ANONYMOUS | MAP_PRIVATE
#elif HAVE_MMAP_DEVZERO
static int zero_fd;
# define map_flags MAP_FILE | MAP_PRIVATE
#endif
unsigned long page;
int handler_called = 0;
void sigsegv_handler (int sig, int code, struct sigcontext *scp)
{
  void *fault_address = (void *) (get_fault_addr (scp));
  handler_called++;
  if (handler_called == 10)
    exit (4);
  if (fault_address != (void*)(page + 0x678))
    exit (3);
  if (mprotect ((void *) page, 0x10000, PROT_READ | PROT_WRITE) < 0)
    exit (2);
}
void crasher (unsigned long p)
{
  *(int *) (p + 0x678) = 42;
}
int main ()
{
  void *p;
  struct sigaction action;
  /* Preparations.  */
#if !HAVE_MMAP_ANON && !HAVE_MMAP_ANONYMOUS && HAVE_MMAP_DEVZERO
  zero_fd = open ("/dev/zero", O_RDONLY, 0644);
#endif
  /* Setup some mmaped memory.  */
#ifdef __hpux
  /* HP-UX 10 mmap() often fails when given a hint.  So give the OS complete
     freedom about the address range.  */
  p = mmap ((void *) 0,          0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
#else
  p = mmap ((void *) 0x12340000, 0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
#endif
  if (p == (void *)(-1))
    exit (2);
  page = (unsigned long) p;
  /* Make it read-only.  */
  if (mprotect ((void *) page, 0x10000, PROT_READ) < 0)
    exit (2);
  /* Install the SIGSEGV handler.  */
  sigemptyset(&action.sa_mask);

  action.sa_handler = (void (*) (int)) &sigsegv_handler;
  action.sa_flags = 0;

  sigaction (SIGSEGV, &action, (struct sigaction *) NULL);
  sigaction (SIGBUS, &action, (struct sigaction *) NULL);
  /* The first write access should invoke the handler and then complete.  */
  crasher (page);
  /* The second write access should not invoke the handler.  */
  crasher (page);
  /* Check that the handler was called only once.  */
  if (handler_called != 1)
    exit (1);
  /* Test passed!  */
  return 0;
}
_ACEOF
rm -f conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
  { (case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_try") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }; }; then
  sv_cv_fault_linux_m68k=yes
else
  $as_echo "$as_me: program exited with status $ac_status" >&5
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

( exit $ac_status )
sv_cv_fault_linux_m68k=no
fi
rm -rf conftest.dSYM
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi



fi
{ $as_echo "$as_me:$LINENO: result: $sv_cv_fault_linux_m68k" >&5
$as_echo "$sv_cv_fault_linux_m68k" >&6; }






  { $as_echo "$as_me:$LINENO: checking whether a fault handler according to Linux/PowerPC works" >&5
$as_echo_n "checking whether a fault handler according to Linux/PowerPC works... " >&6; }
if test "${sv_cv_fault_linux_powerpc+set}" = set; then
  $as_echo_n "(cached) " >&6
else

    if test "$cross_compiling" = yes; then
  case "$host" in

         *)
           cat >conftest.$ac_ext <<_ACEOF

             /* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

#include <signal.h>
#include <asm/sigcontext.h>
void sigsegv_handler (int sig, struct sigcontext *scp)
{
  void *fault_address = (void *) (scp->regs->dar);
}

int
main ()
{
struct sigaction action;

  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  sv_cv_fault_linux_powerpc="guessing no"
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	sv_cv_fault_linux_powerpc=no
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
           ;;
       esac

else
  cat >conftest.$ac_ext <<_ACEOF

      /* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

#include <stdlib.h>
#include <signal.h>
#if HAVE_SYS_SIGNAL_H
# include <sys/signal.h>
#endif
#include <asm/sigcontext.h>
#include <sys/types.h>
#include <sys/mman.h>
#if HAVE_MMAP_DEVZERO
# include <fcntl.h>
# ifndef MAP_FILE
#  define MAP_FILE 0
# endif
#endif
#ifndef PROT_NONE
# define PROT_NONE 0
#endif
#if HAVE_MMAP_ANON
# define zero_fd -1
# define map_flags MAP_ANON | MAP_PRIVATE
#elif HAVE_MMAP_ANONYMOUS
# define zero_fd -1
# define map_flags MAP_ANONYMOUS | MAP_PRIVATE
#elif HAVE_MMAP_DEVZERO
static int zero_fd;
# define map_flags MAP_FILE | MAP_PRIVATE
#endif
unsigned long page;
int handler_called = 0;
void sigsegv_handler (int sig, struct sigcontext *scp)
{
  void *fault_address = (void *) (scp->regs->dar);
  handler_called++;
  if (handler_called == 10)
    exit (4);
  if (fault_address != (void*)(page + 0x678))
    exit (3);
  if (mprotect ((void *) page, 0x10000, PROT_READ | PROT_WRITE) < 0)
    exit (2);
}
void crasher (unsigned long p)
{
  *(int *) (p + 0x678) = 42;
}
int main ()
{
  void *p;
  struct sigaction action;
  /* Preparations.  */
#if !HAVE_MMAP_ANON && !HAVE_MMAP_ANONYMOUS && HAVE_MMAP_DEVZERO
  zero_fd = open ("/dev/zero", O_RDONLY, 0644);
#endif
  /* Setup some mmaped memory.  */
#ifdef __hpux
  /* HP-UX 10 mmap() often fails when given a hint.  So give the OS complete
     freedom about the address range.  */
  p = mmap ((void *) 0,          0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
#else
  p = mmap ((void *) 0x12340000, 0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
#endif
  if (p == (void *)(-1))
    exit (2);
  page = (unsigned long) p;
  /* Make it read-only.  */
  if (mprotect ((void *) page, 0x10000, PROT_READ) < 0)
    exit (2);
  /* Install the SIGSEGV handler.  */
  sigemptyset(&action.sa_mask);

  action.sa_handler = (void (*) (int)) &sigsegv_handler;
  action.sa_flags = 0;

  sigaction (SIGSEGV, &action, (struct sigaction *) NULL);
  sigaction (SIGBUS, &action, (struct sigaction *) NULL);
  /* The first write access should invoke the handler and then complete.  */
  crasher (page);
  /* The second write access should not invoke the handler.  */
  crasher (page);
  /* Check that the handler was called only once.  */
  if (handler_called != 1)
    exit (1);
  /* Test passed!  */
  return 0;
}
_ACEOF
rm -f conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
  { (case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_try") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }; }; then
  sv_cv_fault_linux_powerpc=yes
else
  $as_echo "$as_me: program exited with status $ac_status" >&5
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

( exit $ac_status )
sv_cv_fault_linux_powerpc=no
fi
rm -rf conftest.dSYM
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi



fi
{ $as_echo "$as_me:$LINENO: result: $sv_cv_fault_linux_powerpc" >&5
$as_echo "$sv_cv_fault_linux_powerpc" >&6; }






  { $as_echo "$as_me:$LINENO: checking whether a fault handler according to Linux/HPPA works" >&5
$as_echo_n "checking whether a fault handler according to Linux/HPPA works... " >&6; }
if test "${sv_cv_fault_linux_hppa+set}" = set; then
  $as_echo_n "(cached) " >&6
else

    if test "$cross_compiling" = yes; then
  case "$host" in

         *)
           cat >conftest.$ac_ext <<_ACEOF

             /* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

#include <signal.h>

void sigsegv_handler (int sig, siginfo_t *sip, void *ucp)
{
  void *fault_address = (void *) (sip->si_ptr);
}

int
main ()
{
struct sigaction action;
action.sa_sigaction = &sigsegv_handler;
   action.sa_flags = SA_SIGINFO;
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  sv_cv_fault_linux_hppa="guessing no"
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	sv_cv_fault_linux_hppa=no
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
           ;;
       esac

else
  cat >conftest.$ac_ext <<_ACEOF

      /* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

#include <stdlib.h>
#include <signal.h>
#if HAVE_SYS_SIGNAL_H
# include <sys/signal.h>
#endif

#include <sys/types.h>
#include <sys/mman.h>
#if HAVE_MMAP_DEVZERO
# include <fcntl.h>
# ifndef MAP_FILE
#  define MAP_FILE 0
# endif
#endif
#ifndef PROT_NONE
# define PROT_NONE 0
#endif
#if HAVE_MMAP_ANON
# define zero_fd -1
# define map_flags MAP_ANON | MAP_PRIVATE
#elif HAVE_MMAP_ANONYMOUS
# define zero_fd -1
# define map_flags MAP_ANONYMOUS | MAP_PRIVATE
#elif HAVE_MMAP_DEVZERO
static int zero_fd;
# define map_flags MAP_FILE | MAP_PRIVATE
#endif
unsigned long page;
int handler_called = 0;
void sigsegv_handler (int sig, siginfo_t *sip, void *ucp)
{
  void *fault_address = (void *) (sip->si_ptr);
  handler_called++;
  if (handler_called == 10)
    exit (4);
  if (fault_address != (void*)(page + 0x678))
    exit (3);
  if (mprotect ((void *) page, 0x10000, PROT_READ | PROT_WRITE) < 0)
    exit (2);
}
void crasher (unsigned long p)
{
  *(int *) (p + 0x678) = 42;
}
int main ()
{
  void *p;
  struct sigaction action;
  /* Preparations.  */
#if !HAVE_MMAP_ANON && !HAVE_MMAP_ANONYMOUS && HAVE_MMAP_DEVZERO
  zero_fd = open ("/dev/zero", O_RDONLY, 0644);
#endif
  /* Setup some mmaped memory.  */
#ifdef __hpux
  /* HP-UX 10 mmap() often fails when given a hint.  So give the OS complete
     freedom about the address range.  */
  p = mmap ((void *) 0,          0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
#else
  p = mmap ((void *) 0x12340000, 0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
#endif
  if (p == (void *)(-1))
    exit (2);
  page = (unsigned long) p;
  /* Make it read-only.  */
  if (mprotect ((void *) page, 0x10000, PROT_READ) < 0)
    exit (2);
  /* Install the SIGSEGV handler.  */
  sigemptyset(&action.sa_mask);
action.sa_sigaction = &sigsegv_handler;
   action.sa_flags = SA_SIGINFO;
  sigaction (SIGSEGV, &action, (struct sigaction *) NULL);
  sigaction (SIGBUS, &action, (struct sigaction *) NULL);
  /* The first write access should invoke the handler and then complete.  */
  crasher (page);
  /* The second write access should not invoke the handler.  */
  crasher (page);
  /* Check that the handler was called only once.  */
  if (handler_called != 1)
    exit (1);
  /* Test passed!  */
  return 0;
}
_ACEOF
rm -f conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
  { (case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_try") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }; }; then
  sv_cv_fault_linux_hppa=yes
else
  $as_echo "$as_me: program exited with status $ac_status" >&5
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

( exit $ac_status )
sv_cv_fault_linux_hppa=no
fi
rm -rf conftest.dSYM
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi



fi
{ $as_echo "$as_me:$LINENO: result: $sv_cv_fault_linux_hppa" >&5
$as_echo "$sv_cv_fault_linux_hppa" >&6; }






  { $as_echo "$as_me:$LINENO: checking whether a fault handler according to BSD works" >&5
$as_echo_n "checking whether a fault handler according to BSD works... " >&6; }
if test "${sv_cv_fault_bsd+set}" = set; then
  $as_echo_n "(cached) " >&6
else

    if test "$cross_compiling" = yes; then
  case "$host" in
         i?86-*-freebsd[4-9]*) sv_cv_fault_bsd=yes ;;
         *)
           cat >conftest.$ac_ext <<_ACEOF

             /* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

#include <signal.h>

void sigsegv_handler (int sig, int code, struct sigcontext *scp, void *addr)
{
  void *fault_address = (void *) (addr);
}

int
main ()
{
struct sigaction action;

  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  sv_cv_fault_bsd="guessing no"
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	sv_cv_fault_bsd=no
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
           ;;
       esac

else
  cat >conftest.$ac_ext <<_ACEOF

      /* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

#include <stdlib.h>
#include <signal.h>
#if HAVE_SYS_SIGNAL_H
# include <sys/signal.h>
#endif

#include <sys/types.h>
#include <sys/mman.h>
#if HAVE_MMAP_DEVZERO
# include <fcntl.h>
# ifndef MAP_FILE
#  define MAP_FILE 0
# endif
#endif
#ifndef PROT_NONE
# define PROT_NONE 0
#endif
#if HAVE_MMAP_ANON
# define zero_fd -1
# define map_flags MAP_ANON | MAP_PRIVATE
#elif HAVE_MMAP_ANONYMOUS
# define zero_fd -1
# define map_flags MAP_ANONYMOUS | MAP_PRIVATE
#elif HAVE_MMAP_DEVZERO
static int zero_fd;
# define map_flags MAP_FILE | MAP_PRIVATE
#endif
unsigned long page;
int handler_called = 0;
void sigsegv_handler (int sig, int code, struct sigcontext *scp, void *addr)
{
  void *fault_address = (void *) (addr);
  handler_called++;
  if (handler_called == 10)
    exit (4);
  if (fault_address != (void*)(page + 0x678))
    exit (3);
  if (mprotect ((void *) page, 0x10000, PROT_READ | PROT_WRITE) < 0)
    exit (2);
}
void crasher (unsigned long p)
{
  *(int *) (p + 0x678) = 42;
}
int main ()
{
  void *p;
  struct sigaction action;
  /* Preparations.  */
#if !HAVE_MMAP_ANON && !HAVE_MMAP_ANONYMOUS && HAVE_MMAP_DEVZERO
  zero_fd = open ("/dev/zero", O_RDONLY, 0644);
#endif
  /* Setup some mmaped memory.  */
#ifdef __hpux
  /* HP-UX 10 mmap() often fails when given a hint.  So give the OS complete
     freedom about the address range.  */
  p = mmap ((void *) 0,          0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
#else
  p = mmap ((void *) 0x12340000, 0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
#endif
  if (p == (void *)(-1))
    exit (2);
  page = (unsigned long) p;
  /* Make it read-only.  */
  if (mprotect ((void *) page, 0x10000, PROT_READ) < 0)
    exit (2);
  /* Install the SIGSEGV handler.  */
  sigemptyset(&action.sa_mask);

  action.sa_handler = (void (*) (int)) &sigsegv_handler;
  action.sa_flags = 0;

  sigaction (SIGSEGV, &action, (struct sigaction *) NULL);
  sigaction (SIGBUS, &action, (struct sigaction *) NULL);
  /* The first write access should invoke the handler and then complete.  */
  crasher (page);
  /* The second write access should not invoke the handler.  */
  crasher (page);
  /* Check that the handler was called only once.  */
  if (handler_called != 1)
    exit (1);
  /* Test passed!  */
  return 0;
}
_ACEOF
rm -f conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
  { (case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_try") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }; }; then
  sv_cv_fault_bsd=yes
else
  $as_echo "$as_me: program exited with status $ac_status" >&5
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

( exit $ac_status )
sv_cv_fault_bsd=no
fi
rm -rf conftest.dSYM
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi



fi
{ $as_echo "$as_me:$LINENO: result: $sv_cv_fault_bsd" >&5
$as_echo "$sv_cv_fault_bsd" >&6; }






  { $as_echo "$as_me:$LINENO: checking whether a fault handler according to IRIX works" >&5
$as_echo_n "checking whether a fault handler according to IRIX works... " >&6; }
if test "${sv_cv_fault_irix+set}" = set; then
  $as_echo_n "(cached) " >&6
else

    if test "$cross_compiling" = yes; then
  case "$host" in
         mips-sgi-irix6*) sv_cv_fault_irix=yes ;;
         *)
           cat >conftest.$ac_ext <<_ACEOF

             /* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

#include <signal.h>

void sigsegv_handler (int sig, int code, struct sigcontext *scp)
{
  void *fault_address = (void *) ((unsigned long) scp->sc_badvaddr);
}

int
main ()
{
struct sigaction action;

  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  sv_cv_fault_irix="guessing no"
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	sv_cv_fault_irix=no
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
           ;;
       esac

else
  cat >conftest.$ac_ext <<_ACEOF

      /* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

#include <stdlib.h>
#include <signal.h>
#if HAVE_SYS_SIGNAL_H
# include <sys/signal.h>
#endif

#include <sys/types.h>
#include <sys/mman.h>
#if HAVE_MMAP_DEVZERO
# include <fcntl.h>
# ifndef MAP_FILE
#  define MAP_FILE 0
# endif
#endif
#ifndef PROT_NONE
# define PROT_NONE 0
#endif
#if HAVE_MMAP_ANON
# define zero_fd -1
# define map_flags MAP_ANON | MAP_PRIVATE
#elif HAVE_MMAP_ANONYMOUS
# define zero_fd -1
# define map_flags MAP_ANONYMOUS | MAP_PRIVATE
#elif HAVE_MMAP_DEVZERO
static int zero_fd;
# define map_flags MAP_FILE | MAP_PRIVATE
#endif
unsigned long page;
int handler_called = 0;
void sigsegv_handler (int sig, int code, struct sigcontext *scp)
{
  void *fault_address = (void *) ((unsigned long) scp->sc_badvaddr);
  handler_called++;
  if (handler_called == 10)
    exit (4);
  if (fault_address != (void*)(page + 0x678))
    exit (3);
  if (mprotect ((void *) page, 0x10000, PROT_READ | PROT_WRITE) < 0)
    exit (2);
}
void crasher (unsigned long p)
{
  *(int *) (p + 0x678) = 42;
}
int main ()
{
  void *p;
  struct sigaction action;
  /* Preparations.  */
#if !HAVE_MMAP_ANON && !HAVE_MMAP_ANONYMOUS && HAVE_MMAP_DEVZERO
  zero_fd = open ("/dev/zero", O_RDONLY, 0644);
#endif
  /* Setup some mmaped memory.  */
#ifdef __hpux
  /* HP-UX 10 mmap() often fails when given a hint.  So give the OS complete
     freedom about the address range.  */
  p = mmap ((void *) 0,          0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
#else
  p = mmap ((void *) 0x12340000, 0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
#endif
  if (p == (void *)(-1))
    exit (2);
  page = (unsigned long) p;
  /* Make it read-only.  */
  if (mprotect ((void *) page, 0x10000, PROT_READ) < 0)
    exit (2);
  /* Install the SIGSEGV handler.  */
  sigemptyset(&action.sa_mask);

  action.sa_handler = (void (*) (int)) &sigsegv_handler;
  action.sa_flags = 0;

  sigaction (SIGSEGV, &action, (struct sigaction *) NULL);
  sigaction (SIGBUS, &action, (struct sigaction *) NULL);
  /* The first write access should invoke the handler and then complete.  */
  crasher (page);
  /* The second write access should not invoke the handler.  */
  crasher (page);
  /* Check that the handler was called only once.  */
  if (handler_called != 1)
    exit (1);
  /* Test passed!  */
  return 0;
}
_ACEOF
rm -f conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
  { (case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_try") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }; }; then
  sv_cv_fault_irix=yes
else
  $as_echo "$as_me: program exited with status $ac_status" >&5
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

( exit $ac_status )
sv_cv_fault_irix=no
fi
rm -rf conftest.dSYM
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi



fi
{ $as_echo "$as_me:$LINENO: result: $sv_cv_fault_irix" >&5
$as_echo "$sv_cv_fault_irix" >&6; }






  { $as_echo "$as_me:$LINENO: checking whether a fault handler according to HP-UX HPPA works" >&5
$as_echo_n "checking whether a fault handler according to HP-UX HPPA works... " >&6; }
if test "${sv_cv_fault_hpux_hppa+set}" = set; then
  $as_echo_n "(cached) " >&6
else

    if test "$cross_compiling" = yes; then
  case "$host" in
         hppa*-*-hpux11*) sv_cv_fault_hpux_hppa=yes ;;
         *)
           cat >conftest.$ac_ext <<_ACEOF

             /* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

#include <signal.h>

#define USE_64BIT_REGS(mc) \
  (((mc).ss_flags & SS_WIDEREGS) && ((mc).ss_flags & SS_NARROWISINVALID))
#define GET_CR21(mc) \
  (USE_64BIT_REGS(mc) ? (mc).ss_wide.ss_64.ss_cr21 : (mc).ss_narrow.ss_cr21)

void sigsegv_handler (int sig, int code, struct sigcontext *scp)
{
  void *fault_address = (void *) (GET_CR21 (scp->sc_sl.sl_ss));
}

int
main ()
{
struct sigaction action;

  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  sv_cv_fault_hpux_hppa="guessing no"
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	sv_cv_fault_hpux_hppa=no
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
           ;;
       esac

else
  cat >conftest.$ac_ext <<_ACEOF

      /* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

#include <stdlib.h>
#include <signal.h>
#if HAVE_SYS_SIGNAL_H
# include <sys/signal.h>
#endif

#define USE_64BIT_REGS(mc) \
  (((mc).ss_flags & SS_WIDEREGS) && ((mc).ss_flags & SS_NARROWISINVALID))
#define GET_CR21(mc) \
  (USE_64BIT_REGS(mc) ? (mc).ss_wide.ss_64.ss_cr21 : (mc).ss_narrow.ss_cr21)

#include <sys/types.h>
#include <sys/mman.h>
#if HAVE_MMAP_DEVZERO
# include <fcntl.h>
# ifndef MAP_FILE
#  define MAP_FILE 0
# endif
#endif
#ifndef PROT_NONE
# define PROT_NONE 0
#endif
#if HAVE_MMAP_ANON
# define zero_fd -1
# define map_flags MAP_ANON | MAP_PRIVATE
#elif HAVE_MMAP_ANONYMOUS
# define zero_fd -1
# define map_flags MAP_ANONYMOUS | MAP_PRIVATE
#elif HAVE_MMAP_DEVZERO
static int zero_fd;
# define map_flags MAP_FILE | MAP_PRIVATE
#endif
unsigned long page;
int handler_called = 0;
void sigsegv_handler (int sig, int code, struct sigcontext *scp)
{
  void *fault_address = (void *) (GET_CR21 (scp->sc_sl.sl_ss));
  handler_called++;
  if (handler_called == 10)
    exit (4);
  if (fault_address != (void*)(page + 0x678))
    exit (3);
  if (mprotect ((void *) page, 0x10000, PROT_READ | PROT_WRITE) < 0)
    exit (2);
}
void crasher (unsigned long p)
{
  *(int *) (p + 0x678) = 42;
}
int main ()
{
  void *p;
  struct sigaction action;
  /* Preparations.  */
#if !HAVE_MMAP_ANON && !HAVE_MMAP_ANONYMOUS && HAVE_MMAP_DEVZERO
  zero_fd = open ("/dev/zero", O_RDONLY, 0644);
#endif
  /* Setup some mmaped memory.  */
#ifdef __hpux
  /* HP-UX 10 mmap() often fails when given a hint.  So give the OS complete
     freedom about the address range.  */
  p = mmap ((void *) 0,          0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
#else
  p = mmap ((void *) 0x12340000, 0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
#endif
  if (p == (void *)(-1))
    exit (2);
  page = (unsigned long) p;
  /* Make it read-only.  */
  if (mprotect ((void *) page, 0x10000, PROT_READ) < 0)
    exit (2);
  /* Install the SIGSEGV handler.  */
  sigemptyset(&action.sa_mask);

  action.sa_handler = (void (*) (int)) &sigsegv_handler;
  action.sa_flags = 0;

  sigaction (SIGSEGV, &action, (struct sigaction *) NULL);
  sigaction (SIGBUS, &action, (struct sigaction *) NULL);
  /* The first write access should invoke the handler and then complete.  */
  crasher (page);
  /* The second write access should not invoke the handler.  */
  crasher (page);
  /* Check that the handler was called only once.  */
  if (handler_called != 1)
    exit (1);
  /* Test passed!  */
  return 0;
}
_ACEOF
rm -f conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
  { (case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_try") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }; }; then
  sv_cv_fault_hpux_hppa=yes
else
  $as_echo "$as_me: program exited with status $ac_status" >&5
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

( exit $ac_status )
sv_cv_fault_hpux_hppa=no
fi
rm -rf conftest.dSYM
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi



fi
{ $as_echo "$as_me:$LINENO: result: $sv_cv_fault_hpux_hppa" >&5
$as_echo "$sv_cv_fault_hpux_hppa" >&6; }






  { $as_echo "$as_me:$LINENO: checking whether a fault handler according to OSF/1 Alpha works" >&5
$as_echo_n "checking whether a fault handler according to OSF/1 Alpha works... " >&6; }
if test "${sv_cv_fault_osf_alpha+set}" = set; then
  $as_echo_n "(cached) " >&6
else

    if test "$cross_compiling" = yes; then
  case "$host" in
         alpha*-*-osf[4-9]* | alpha*-*-linux2.[4-9]*) sv_cv_fault_osf_alpha=yes ;;
         *)
           cat >conftest.$ac_ext <<_ACEOF

             /* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

#include <signal.h>

void sigsegv_handler (int sig, int code, struct sigcontext *scp)
{
  void *fault_address = (void *) (scp->sc_traparg_a0);
}

int
main ()
{
struct sigaction action;

  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  sv_cv_fault_osf_alpha="guessing no"
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	sv_cv_fault_osf_alpha=no
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
           ;;
       esac

else
  cat >conftest.$ac_ext <<_ACEOF

      /* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

#include <stdlib.h>
#include <signal.h>
#if HAVE_SYS_SIGNAL_H
# include <sys/signal.h>
#endif

#include <sys/types.h>
#include <sys/mman.h>
#if HAVE_MMAP_DEVZERO
# include <fcntl.h>
# ifndef MAP_FILE
#  define MAP_FILE 0
# endif
#endif
#ifndef PROT_NONE
# define PROT_NONE 0
#endif
#if HAVE_MMAP_ANON
# define zero_fd -1
# define map_flags MAP_ANON | MAP_PRIVATE
#elif HAVE_MMAP_ANONYMOUS
# define zero_fd -1
# define map_flags MAP_ANONYMOUS | MAP_PRIVATE
#elif HAVE_MMAP_DEVZERO
static int zero_fd;
# define map_flags MAP_FILE | MAP_PRIVATE
#endif
unsigned long page;
int handler_called = 0;
void sigsegv_handler (int sig, int code, struct sigcontext *scp)
{
  void *fault_address = (void *) (scp->sc_traparg_a0);
  handler_called++;
  if (handler_called == 10)
    exit (4);
  if (fault_address != (void*)(page + 0x678))
    exit (3);
  if (mprotect ((void *) page, 0x10000, PROT_READ | PROT_WRITE) < 0)
    exit (2);
}
void crasher (unsigned long p)
{
  *(int *) (p + 0x678) = 42;
}
int main ()
{
  void *p;
  struct sigaction action;
  /* Preparations.  */
#if !HAVE_MMAP_ANON && !HAVE_MMAP_ANONYMOUS && HAVE_MMAP_DEVZERO
  zero_fd = open ("/dev/zero", O_RDONLY, 0644);
#endif
  /* Setup some mmaped memory.  */
#ifdef __hpux
  /* HP-UX 10 mmap() often fails when given a hint.  So give the OS complete
     freedom about the address range.  */
  p = mmap ((void *) 0,          0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
#else
  p = mmap ((void *) 0x12340000, 0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
#endif
  if (p == (void *)(-1))
    exit (2);
  page = (unsigned long) p;
  /* Make it read-only.  */
  if (mprotect ((void *) page, 0x10000, PROT_READ) < 0)
    exit (2);
  /* Install the SIGSEGV handler.  */
  sigemptyset(&action.sa_mask);

  action.sa_handler = (void (*) (int)) &sigsegv_handler;
  action.sa_flags = 0;

  sigaction (SIGSEGV, &action, (struct sigaction *) NULL);
  sigaction (SIGBUS, &action, (struct sigaction *) NULL);
  /* The first write access should invoke the handler and then complete.  */
  crasher (page);
  /* The second write access should not invoke the handler.  */
  crasher (page);
  /* Check that the handler was called only once.  */
  if (handler_called != 1)
    exit (1);
  /* Test passed!  */
  return 0;
}
_ACEOF
rm -f conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
  { (case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_try") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }; }; then
  sv_cv_fault_osf_alpha=yes
else
  $as_echo "$as_me: program exited with status $ac_status" >&5
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

( exit $ac_status )
sv_cv_fault_osf_alpha=no
fi
rm -rf conftest.dSYM
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi



fi
{ $as_echo "$as_me:$LINENO: result: $sv_cv_fault_osf_alpha" >&5
$as_echo "$sv_cv_fault_osf_alpha" >&6; }






  { $as_echo "$as_me:$LINENO: checking whether a fault handler according to NetBSD Alpha works" >&5
$as_echo_n "checking whether a fault handler according to NetBSD Alpha works... " >&6; }
if test "${sv_cv_fault_netbsd_alpha+set}" = set; then
  $as_echo_n "(cached) " >&6
else

    if test "$cross_compiling" = yes; then
  case "$host" in
         alpha*-*-osf[4-9]* | alpha-*-*bsd*) sv_cv_fault_netbsd_alpha=yes ;;
         *)
           cat >conftest.$ac_ext <<_ACEOF

             /* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

#include <signal.h>
#include "$srcdir/src/fault-netbsd-alpha.c"
void sigsegv_handler (int sig, int code, struct sigcontext *scp)
{
  void *fault_address = (void *) (get_fault_addr (scp));
}

int
main ()
{
struct sigaction action;

  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  sv_cv_fault_netbsd_alpha="guessing no"
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	sv_cv_fault_netbsd_alpha=no
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
           ;;
       esac

else
  cat >conftest.$ac_ext <<_ACEOF

      /* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

#include <stdlib.h>
#include <signal.h>
#if HAVE_SYS_SIGNAL_H
# include <sys/signal.h>
#endif
#include "$srcdir/src/fault-netbsd-alpha.c"
#include <sys/types.h>
#include <sys/mman.h>
#if HAVE_MMAP_DEVZERO
# include <fcntl.h>
# ifndef MAP_FILE
#  define MAP_FILE 0
# endif
#endif
#ifndef PROT_NONE
# define PROT_NONE 0
#endif
#if HAVE_MMAP_ANON
# define zero_fd -1
# define map_flags MAP_ANON | MAP_PRIVATE
#elif HAVE_MMAP_ANONYMOUS
# define zero_fd -1
# define map_flags MAP_ANONYMOUS | MAP_PRIVATE
#elif HAVE_MMAP_DEVZERO
static int zero_fd;
# define map_flags MAP_FILE | MAP_PRIVATE
#endif
unsigned long page;
int handler_called = 0;
void sigsegv_handler (int sig, int code, struct sigcontext *scp)
{
  void *fault_address = (void *) (get_fault_addr (scp));
  handler_called++;
  if (handler_called == 10)
    exit (4);
  if (fault_address != (void*)(page + 0x678))
    exit (3);
  if (mprotect ((void *) page, 0x10000, PROT_READ | PROT_WRITE) < 0)
    exit (2);
}
void crasher (unsigned long p)
{
  *(int *) (p + 0x678) = 42;
}
int main ()
{
  void *p;
  struct sigaction action;
  /* Preparations.  */
#if !HAVE_MMAP_ANON && !HAVE_MMAP_ANONYMOUS && HAVE_MMAP_DEVZERO
  zero_fd = open ("/dev/zero", O_RDONLY, 0644);
#endif
  /* Setup some mmaped memory.  */
#ifdef __hpux
  /* HP-UX 10 mmap() often fails when given a hint.  So give the OS complete
     freedom about the address range.  */
  p = mmap ((void *) 0,          0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
#else
  p = mmap ((void *) 0x12340000, 0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
#endif
  if (p == (void *)(-1))
    exit (2);
  page = (unsigned long) p;
  /* Make it read-only.  */
  if (mprotect ((void *) page, 0x10000, PROT_READ) < 0)
    exit (2);
  /* Install the SIGSEGV handler.  */
  sigemptyset(&action.sa_mask);

  action.sa_handler = (void (*) (int)) &sigsegv_handler;
  action.sa_flags = 0;

  sigaction (SIGSEGV, &action, (struct sigaction *) NULL);
  sigaction (SIGBUS, &action, (struct sigaction *) NULL);
  /* The first write access should invoke the handler and then complete.  */
  crasher (page);
  /* The second write access should not invoke the handler.  */
  crasher (page);
  /* Check that the handler was called only once.  */
  if (handler_called != 1)
    exit (1);
  /* Test passed!  */
  return 0;
}
_ACEOF
rm -f conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
  { (case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_try") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }; }; then
  sv_cv_fault_netbsd_alpha=yes
else
  $as_echo "$as_me: program exited with status $ac_status" >&5
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

( exit $ac_status )
sv_cv_fault_netbsd_alpha=no
fi
rm -rf conftest.dSYM
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi



fi
{ $as_echo "$as_me:$LINENO: result: $sv_cv_fault_netbsd_alpha" >&5
$as_echo "$sv_cv_fault_netbsd_alpha" >&6; }






  { $as_echo "$as_me:$LINENO: checking whether a fault handler according to AIX works" >&5
$as_echo_n "checking whether a fault handler according to AIX works... " >&6; }
if test "${sv_cv_fault_aix+set}" = set; then
  $as_echo_n "(cached) " >&6
else

    if test "$cross_compiling" = yes; then
  case "$host" in
         *-*-aix[34]*) sv_cv_fault_aix=yes ;;
         *)
           cat >conftest.$ac_ext <<_ACEOF

             /* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

#include <signal.h>

void sigsegv_handler (int sig, int code, struct sigcontext *scp)
{
  void *fault_address = (void *) (scp->sc_jmpbuf.jmp_context.o_vaddr);
}

int
main ()
{
struct sigaction action;

  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  sv_cv_fault_aix="guessing no"
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	sv_cv_fault_aix=no
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
           ;;
       esac

else
  cat >conftest.$ac_ext <<_ACEOF

      /* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

#include <stdlib.h>
#include <signal.h>
#if HAVE_SYS_SIGNAL_H
# include <sys/signal.h>
#endif

#include <sys/types.h>
#include <sys/mman.h>
#if HAVE_MMAP_DEVZERO
# include <fcntl.h>
# ifndef MAP_FILE
#  define MAP_FILE 0
# endif
#endif
#ifndef PROT_NONE
# define PROT_NONE 0
#endif
#if HAVE_MMAP_ANON
# define zero_fd -1
# define map_flags MAP_ANON | MAP_PRIVATE
#elif HAVE_MMAP_ANONYMOUS
# define zero_fd -1
# define map_flags MAP_ANONYMOUS | MAP_PRIVATE
#elif HAVE_MMAP_DEVZERO
static int zero_fd;
# define map_flags MAP_FILE | MAP_PRIVATE
#endif
unsigned long page;
int handler_called = 0;
void sigsegv_handler (int sig, int code, struct sigcontext *scp)
{
  void *fault_address = (void *) (scp->sc_jmpbuf.jmp_context.o_vaddr);
  handler_called++;
  if (handler_called == 10)
    exit (4);
  if (fault_address != (void*)(page + 0x678))
    exit (3);
  if (mprotect ((void *) page, 0x10000, PROT_READ | PROT_WRITE) < 0)
    exit (2);
}
void crasher (unsigned long p)
{
  *(int *) (p + 0x678) = 42;
}
int main ()
{
  void *p;
  struct sigaction action;
  /* Preparations.  */
#if !HAVE_MMAP_ANON && !HAVE_MMAP_ANONYMOUS && HAVE_MMAP_DEVZERO
  zero_fd = open ("/dev/zero", O_RDONLY, 0644);
#endif
  /* Setup some mmaped memory.  */
#ifdef __hpux
  /* HP-UX 10 mmap() often fails when given a hint.  So give the OS complete
     freedom about the address range.  */
  p = mmap ((void *) 0,          0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
#else
  p = mmap ((void *) 0x12340000, 0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
#endif
  if (p == (void *)(-1))
    exit (2);
  page = (unsigned long) p;
  /* Make it read-only.  */
  if (mprotect ((void *) page, 0x10000, PROT_READ) < 0)
    exit (2);
  /* Install the SIGSEGV handler.  */
  sigemptyset(&action.sa_mask);

  action.sa_handler = (void (*) (int)) &sigsegv_handler;
  action.sa_flags = 0;

  sigaction (SIGSEGV, &action, (struct sigaction *) NULL);
  sigaction (SIGBUS, &action, (struct sigaction *) NULL);
  /* The first write access should invoke the handler and then complete.  */
  crasher (page);
  /* The second write access should not invoke the handler.  */
  crasher (page);
  /* Check that the handler was called only once.  */
  if (handler_called != 1)
    exit (1);
  /* Test passed!  */
  return 0;
}
_ACEOF
rm -f conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
  { (case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_try") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }; }; then
  sv_cv_fault_aix=yes
else
  $as_echo "$as_me: program exited with status $ac_status" >&5
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

( exit $ac_status )
sv_cv_fault_aix=no
fi
rm -rf conftest.dSYM
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi



fi
{ $as_echo "$as_me:$LINENO: result: $sv_cv_fault_aix" >&5
$as_echo "$sv_cv_fault_aix" >&6; }






  { $as_echo "$as_me:$LINENO: checking whether a fault handler according to MacOSX/Darwin7 PowerPC works" >&5
$as_echo_n "checking whether a fault handler according to MacOSX/Darwin7 PowerPC works... " >&6; }
if test "${sv_cv_fault_macosdarwin7_ppc+set}" = set; then
  $as_echo_n "(cached) " >&6
else

    if test "$cross_compiling" = yes; then
  case "$host" in
         powerpc-*-darwin7*) sv_cv_fault_macosdarwin7_ppc=yes ;;
         *)
           cat >conftest.$ac_ext <<_ACEOF

             /* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

#include <signal.h>
#include "$srcdir/src/fault-macosdarwin7-powerpc.c"
void sigsegv_handler (int sig, siginfo_t *sip, ucontext_t *ucp)
{
  void *fault_address = (void *) (get_fault_addr (sip, ucp));
}

int
main ()
{
struct sigaction action;
action.sa_sigaction = &sigsegv_handler;
   action.sa_flags = SA_SIGINFO;
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  sv_cv_fault_macosdarwin7_ppc="guessing no"
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	sv_cv_fault_macosdarwin7_ppc=no
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
           ;;
       esac

else
  cat >conftest.$ac_ext <<_ACEOF

      /* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

#include <stdlib.h>
#include <signal.h>
#if HAVE_SYS_SIGNAL_H
# include <sys/signal.h>
#endif
#include "$srcdir/src/fault-macosdarwin7-powerpc.c"
#include <sys/types.h>
#include <sys/mman.h>
#if HAVE_MMAP_DEVZERO
# include <fcntl.h>
# ifndef MAP_FILE
#  define MAP_FILE 0
# endif
#endif
#ifndef PROT_NONE
# define PROT_NONE 0
#endif
#if HAVE_MMAP_ANON
# define zero_fd -1
# define map_flags MAP_ANON | MAP_PRIVATE
#elif HAVE_MMAP_ANONYMOUS
# define zero_fd -1
# define map_flags MAP_ANONYMOUS | MAP_PRIVATE
#elif HAVE_MMAP_DEVZERO
static int zero_fd;
# define map_flags MAP_FILE | MAP_PRIVATE
#endif
unsigned long page;
int handler_called = 0;
void sigsegv_handler (int sig, siginfo_t *sip, ucontext_t *ucp)
{
  void *fault_address = (void *) (get_fault_addr (sip, ucp));
  handler_called++;
  if (handler_called == 10)
    exit (4);
  if (fault_address != (void*)(page + 0x678))
    exit (3);
  if (mprotect ((void *) page, 0x10000, PROT_READ | PROT_WRITE) < 0)
    exit (2);
}
void crasher (unsigned long p)
{
  *(int *) (p + 0x678) = 42;
}
int main ()
{
  void *p;
  struct sigaction action;
  /* Preparations.  */
#if !HAVE_MMAP_ANON && !HAVE_MMAP_ANONYMOUS && HAVE_MMAP_DEVZERO
  zero_fd = open ("/dev/zero", O_RDONLY, 0644);
#endif
  /* Setup some mmaped memory.  */
#ifdef __hpux
  /* HP-UX 10 mmap() often fails when given a hint.  So give the OS complete
     freedom about the address range.  */
  p = mmap ((void *) 0,          0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
#else
  p = mmap ((void *) 0x12340000, 0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
#endif
  if (p == (void *)(-1))
    exit (2);
  page = (unsigned long) p;
  /* Make it read-only.  */
  if (mprotect ((void *) page, 0x10000, PROT_READ) < 0)
    exit (2);
  /* Install the SIGSEGV handler.  */
  sigemptyset(&action.sa_mask);
action.sa_sigaction = &sigsegv_handler;
   action.sa_flags = SA_SIGINFO;
  sigaction (SIGSEGV, &action, (struct sigaction *) NULL);
  sigaction (SIGBUS, &action, (struct sigaction *) NULL);
  /* The first write access should invoke the handler and then complete.  */
  crasher (page);
  /* The second write access should not invoke the handler.  */
  crasher (page);
  /* Check that the handler was called only once.  */
  if (handler_called != 1)
    exit (1);
  /* Test passed!  */
  return 0;
}
_ACEOF
rm -f conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
  { (case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_try") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }; }; then
  sv_cv_fault_macosdarwin7_ppc=yes
else
  $as_echo "$as_me: program exited with status $ac_status" >&5
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

( exit $ac_status )
sv_cv_fault_macosdarwin7_ppc=no
fi
rm -rf conftest.dSYM
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi



fi
{ $as_echo "$as_me:$LINENO: result: $sv_cv_fault_macosdarwin7_ppc" >&5
$as_echo "$sv_cv_fault_macosdarwin7_ppc" >&6; }


if test "$sv_cv_fault_macosdarwin7_ppc" != yes; then




  { $as_echo "$as_me:$LINENO: checking whether a fault handler according to MacOSX/Darwin5 PowerPC works" >&5
$as_echo_n "checking whether a fault handler according to MacOSX/Darwin5 PowerPC works... " >&6; }
if test "${sv_cv_fault_macosdarwin5_ppc+set}" = set; then
  $as_echo_n "(cached) " >&6
else

    if test "$cross_compiling" = yes; then
  case "$host" in
         powerpc-*-darwin5*) sv_cv_fault_macosdarwin5_ppc=yes ;;
         *)
           cat >conftest.$ac_ext <<_ACEOF

             /* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

#include <signal.h>
#include "$srcdir/src/fault-macosdarwin5-powerpc.c"
void sigsegv_handler (int sig, int code, struct sigcontext *scp)
{
  void *fault_address = (void *) (get_fault_addr (scp));
}

int
main ()
{
struct sigaction action;

  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  sv_cv_fault_macosdarwin5_ppc="guessing no"
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	sv_cv_fault_macosdarwin5_ppc=no
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
           ;;
       esac

else
  cat >conftest.$ac_ext <<_ACEOF

      /* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

#include <stdlib.h>
#include <signal.h>
#if HAVE_SYS_SIGNAL_H
# include <sys/signal.h>
#endif
#include "$srcdir/src/fault-macosdarwin5-powerpc.c"
#include <sys/types.h>
#include <sys/mman.h>
#if HAVE_MMAP_DEVZERO
# include <fcntl.h>
# ifndef MAP_FILE
#  define MAP_FILE 0
# endif
#endif
#ifndef PROT_NONE
# define PROT_NONE 0
#endif
#if HAVE_MMAP_ANON
# define zero_fd -1
# define map_flags MAP_ANON | MAP_PRIVATE
#elif HAVE_MMAP_ANONYMOUS
# define zero_fd -1
# define map_flags MAP_ANONYMOUS | MAP_PRIVATE
#elif HAVE_MMAP_DEVZERO
static int zero_fd;
# define map_flags MAP_FILE | MAP_PRIVATE
#endif
unsigned long page;
int handler_called = 0;
void sigsegv_handler (int sig, int code, struct sigcontext *scp)
{
  void *fault_address = (void *) (get_fault_addr (scp));
  handler_called++;
  if (handler_called == 10)
    exit (4);
  if (fault_address != (void*)(page + 0x678))
    exit (3);
  if (mprotect ((void *) page, 0x10000, PROT_READ | PROT_WRITE) < 0)
    exit (2);
}
void crasher (unsigned long p)
{
  *(int *) (p + 0x678) = 42;
}
int main ()
{
  void *p;
  struct sigaction action;
  /* Preparations.  */
#if !HAVE_MMAP_ANON && !HAVE_MMAP_ANONYMOUS && HAVE_MMAP_DEVZERO
  zero_fd = open ("/dev/zero", O_RDONLY, 0644);
#endif
  /* Setup some mmaped memory.  */
#ifdef __hpux
  /* HP-UX 10 mmap() often fails when given a hint.  So give the OS complete
     freedom about the address range.  */
  p = mmap ((void *) 0,          0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
#else
  p = mmap ((void *) 0x12340000, 0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
#endif
  if (p == (void *)(-1))
    exit (2);
  page = (unsigned long) p;
  /* Make it read-only.  */
  if (mprotect ((void *) page, 0x10000, PROT_READ) < 0)
    exit (2);
  /* Install the SIGSEGV handler.  */
  sigemptyset(&action.sa_mask);

  action.sa_handler = (void (*) (int)) &sigsegv_handler;
  action.sa_flags = 0;

  sigaction (SIGSEGV, &action, (struct sigaction *) NULL);
  sigaction (SIGBUS, &action, (struct sigaction *) NULL);
  /* The first write access should invoke the handler and then complete.  */
  crasher (page);
  /* The second write access should not invoke the handler.  */
  crasher (page);
  /* Check that the handler was called only once.  */
  if (handler_called != 1)
    exit (1);
  /* Test passed!  */
  return 0;
}
_ACEOF
rm -f conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
  { (case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_try") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }; }; then
  sv_cv_fault_macosdarwin5_ppc=yes
else
  $as_echo "$as_me: program exited with status $ac_status" >&5
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

( exit $ac_status )
sv_cv_fault_macosdarwin5_ppc=no
fi
rm -rf conftest.dSYM
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi



fi
{ $as_echo "$as_me:$LINENO: result: $sv_cv_fault_macosdarwin5_ppc" >&5
$as_echo "$sv_cv_fault_macosdarwin5_ppc" >&6; }

fi





  { $as_echo "$as_me:$LINENO: checking whether a fault handler according to Hurd works" >&5
$as_echo_n "checking whether a fault handler according to Hurd works... " >&6; }
if test "${sv_cv_fault_hurd+set}" = set; then
  $as_echo_n "(cached) " >&6
else

    if test "$cross_compiling" = yes; then
  case "$host" in

         *)
           cat >conftest.$ac_ext <<_ACEOF

             /* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

#include <signal.h>

void sigsegv_handler (int sig, int code, struct sigcontext *scp)
{
  void *fault_address = (void *) (code);
}

int
main ()
{
struct sigaction action;

  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  sv_cv_fault_hurd="guessing no"
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	sv_cv_fault_hurd=no
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
           ;;
       esac

else
  cat >conftest.$ac_ext <<_ACEOF

      /* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

#include <stdlib.h>
#include <signal.h>
#if HAVE_SYS_SIGNAL_H
# include <sys/signal.h>
#endif

#include <sys/types.h>
#include <sys/mman.h>
#if HAVE_MMAP_DEVZERO
# include <fcntl.h>
# ifndef MAP_FILE
#  define MAP_FILE 0
# endif
#endif
#ifndef PROT_NONE
# define PROT_NONE 0
#endif
#if HAVE_MMAP_ANON
# define zero_fd -1
# define map_flags MAP_ANON | MAP_PRIVATE
#elif HAVE_MMAP_ANONYMOUS
# define zero_fd -1
# define map_flags MAP_ANONYMOUS | MAP_PRIVATE
#elif HAVE_MMAP_DEVZERO
static int zero_fd;
# define map_flags MAP_FILE | MAP_PRIVATE
#endif
unsigned long page;
int handler_called = 0;
void sigsegv_handler (int sig, int code, struct sigcontext *scp)
{
  void *fault_address = (void *) (code);
  handler_called++;
  if (handler_called == 10)
    exit (4);
  if (fault_address != (void*)(page + 0x678))
    exit (3);
  if (mprotect ((void *) page, 0x10000, PROT_READ | PROT_WRITE) < 0)
    exit (2);
}
void crasher (unsigned long p)
{
  *(int *) (p + 0x678) = 42;
}
int main ()
{
  void *p;
  struct sigaction action;
  /* Preparations.  */
#if !HAVE_MMAP_ANON && !HAVE_MMAP_ANONYMOUS && HAVE_MMAP_DEVZERO
  zero_fd = open ("/dev/zero", O_RDONLY, 0644);
#endif
  /* Setup some mmaped memory.  */
#ifdef __hpux
  /* HP-UX 10 mmap() often fails when given a hint.  So give the OS complete
     freedom about the address range.  */
  p = mmap ((void *) 0,          0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
#else
  p = mmap ((void *) 0x12340000, 0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
#endif
  if (p == (void *)(-1))
    exit (2);
  page = (unsigned long) p;
  /* Make it read-only.  */
  if (mprotect ((void *) page, 0x10000, PROT_READ) < 0)
    exit (2);
  /* Install the SIGSEGV handler.  */
  sigemptyset(&action.sa_mask);

  action.sa_handler = (void (*) (int)) &sigsegv_handler;
  action.sa_flags = 0;

  sigaction (SIGSEGV, &action, (struct sigaction *) NULL);
  sigaction (SIGBUS, &action, (struct sigaction *) NULL);
  /* The first write access should invoke the handler and then complete.  */
  crasher (page);
  /* The second write access should not invoke the handler.  */
  crasher (page);
  /* Check that the handler was called only once.  */
  if (handler_called != 1)
    exit (1);
  /* Test passed!  */
  return 0;
}
_ACEOF
rm -f conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
  { (case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_try") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }; }; then
  sv_cv_fault_hurd=yes
else
  $as_echo "$as_me: program exited with status $ac_status" >&5
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

( exit $ac_status )
sv_cv_fault_hurd=no
fi
rm -rf conftest.dSYM
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi



fi
{ $as_echo "$as_me:$LINENO: result: $sv_cv_fault_hurd" >&5
$as_echo "$sv_cv_fault_hurd" >&6; }


# End of MacOS X special casing.
    ;;
esac

CFG_HANDLER=
CFG_FAULT=
CFG_MACHFAULT=
FAULT_CONTEXT=void
FAULT_CONTEXT_INCLUDE=
if test -z "$CFG_FAULT" && test "$sv_cv_fault_aix" = yes; then
  case "$host_cpu" in
    powerpc* | rs6000) CFG_FAULT=fault-aix3-powerpc.h ;;
    *) CFG_FAULT=fault-aix3.h ;;
  esac
  FAULT_CONTEXT='struct sigcontext'
fi
if test -z "$CFG_FAULT" && test "$sv_cv_fault_irix" = yes; then
  case "$host_cpu" in
    mips*) CFG_FAULT=fault-irix-mips.h ;;
    *) CFG_FAULT=fault-irix.h ;;
  esac
  FAULT_CONTEXT='struct sigcontext'
fi
if test -z "$CFG_FAULT" && test "$sv_cv_fault_hpux_hppa" = yes; then
  case "$host_cpu" in
    hppa* | parisc*) CFG_FAULT=fault-hpux-hppa.h ;;
    *) CFG_FAULT=fault-hpux.h ;;
  esac
  FAULT_CONTEXT='struct sigcontext'
fi
if test -z "$CFG_FAULT" && test "$sv_cv_fault_osf_alpha" = yes; then
  case "$host_cpu" in
    alpha*) CFG_FAULT=fault-osf-alpha.h ;;
    *) CFG_FAULT=fault-osf.h ;;
  esac
  FAULT_CONTEXT='struct sigcontext'
fi
if test -z "$CFG_FAULT" && test "$sv_cv_fault_netbsd_alpha" = yes; then
  case "$host_cpu" in
    alpha*) CFG_FAULT=fault-netbsd-alpha.h ;;
  esac
  FAULT_CONTEXT='struct sigcontext'
fi
if test -z "$CFG_FAULT" && test "$sv_cv_fault_linux_i386" = yes; then
  case "$host_cpu" in
    i?86 | x86_64) CFG_FAULT=fault-linux-i386.h ;;
  esac
  FAULT_CONTEXT='struct sigcontext'
fi
if test -z "$CFG_FAULT" && test "$sv_cv_fault_linux_i386_old" = yes; then
  case "$host_cpu" in
    i?86 | x86_64) CFG_FAULT=fault-linux-i386-old.h ;;
  esac
  FAULT_CONTEXT='struct sigcontext'
fi
if test -z "$CFG_FAULT" && test "$sv_cv_fault_linux_powerpc" = yes; then
  case "$host_cpu" in
    powerpc* | rs6000) CFG_FAULT=fault-linux-powerpc.h ;;
  esac
  FAULT_CONTEXT='struct sigcontext'
fi
if test -z "$CFG_FAULT" && test "$sv_cv_fault_linux_hppa" = yes; then
  case "$host_cpu" in
    hppa* | parisc*) CFG_FAULT=fault-linux-hppa.h ;;
  esac
fi
if test -z "$CFG_FAULT" && test "$sv_cv_fault_hurd" = yes; then
  case "$host_os" in
    netbsd*) # A false positive.
      ;;
    *)
      CFG_FAULT=fault-hurd.h
      FAULT_CONTEXT='struct sigcontext'
      ;;
  esac
fi
if test -z "$CFG_FAULT" && test "$sv_cv_fault_bsd" = yes; then
  case "$host_os" in
    freebsd* | dragonfly* | kfreebsd*)
      case "$host_cpu" in
        i?86 | x86_64)
          CFG_FAULT=fault-freebsd-i386.h
          FAULT_CONTEXT='struct sigcontext'
          ;;
        *)
          CFG_FAULT=fault-bsd.h
          FAULT_CONTEXT='void'
          ;;
      esac
      ;;
    *)
      CFG_FAULT=fault-bsd.h
      FAULT_CONTEXT='void'
      ;;
  esac
fi
if test -z "$CFG_FAULT" && test "$sv_cv_fault_posix" = yes; then
  case "$host_os" in
    openbsd*)
      case "$host_cpu" in
        i?86 | x86_64) CFG_FAULT=fault-openbsd-i386.h ;;
        *) CFG_FAULT=fault-openbsd.h ;;
      esac
      FAULT_CONTEXT='struct sigcontext'
      ;;
    mirbsd*)
      case "$host_cpu" in
        i?86 | x86_64)
          CFG_FAULT=fault-openbsd-i386.h
          FAULT_CONTEXT='struct sigcontext'
          ;;
      esac
      ;;
    linux*)
      case "$host_cpu" in
        ia64)
          CFG_FAULT=fault-linux-ia64.h
          FAULT_CONTEXT='struct sigcontext'
          ;;
      esac
      ;;
  esac
  if test -z "$CFG_FAULT"; then

for ac_header in ucontext.h
do
as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
  { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
$as_echo_n "checking for $ac_header... " >&6; }
if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
  $as_echo_n "(cached) " >&6
fi
ac_res=`eval 'as_val=${'$as_ac_Header'}
		 $as_echo "$as_val"'`
	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
else
  # Is the header compilable?
{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
$as_echo_n "checking $ac_header usability... " >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
$ac_includes_default
#include <$ac_header>
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  ac_header_compiler=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_header_compiler=no
fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
$as_echo "$ac_header_compiler" >&6; }

# Is the header present?
{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
$as_echo_n "checking $ac_header presence... " >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
#include <$ac_header>
_ACEOF
if { (ac_try="$ac_cpp conftest.$ac_ext"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } >/dev/null && {
	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
	 test ! -s conftest.err
       }; then
  ac_header_preproc=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

  ac_header_preproc=no
fi

rm -f conftest.err conftest.$ac_ext
{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
$as_echo "$ac_header_preproc" >&6; }

# So?  What about this header?
case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
  yes:no: )
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
    ac_header_preproc=yes
    ;;
  no:yes:* )
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
$as_echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
$as_echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}

    ;;
esac
{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
$as_echo_n "checking for $ac_header... " >&6; }
if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
  $as_echo_n "(cached) " >&6
else
  eval "$as_ac_Header=\$ac_header_preproc"
fi
ac_res=`eval 'as_val=${'$as_ac_Header'}
		 $as_echo "$as_val"'`
	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }

fi
as_val=`eval 'as_val=${'$as_ac_Header'}
		 $as_echo "$as_val"'`
   if test "x$as_val" = 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_ucontext_h = yes; then
      case "$host_os" in
        solaris*)
          case "$host_cpu" in
            i?86 | x86_64) CFG_FAULT=fault-solaris-i386.h ;;
            sparc*) CFG_FAULT=fault-solaris-sparc.h ;;
            *) CFG_FAULT=fault-solaris.h ;;
          esac
          ;;
        aix*)
          case "$host_cpu" in
            powerpc* | rs6000) CFG_FAULT=fault-aix5-powerpc.h ;;
            *) CFG_FAULT=fault-aix5.h ;;
          esac
          ;;
        netbsd*)
          CFG_FAULT=fault-netbsd.h
          ;;
        *)
          CFG_FAULT=fault-posix-ucontext.h
          ;;
      esac
      FAULT_CONTEXT='ucontext_t'
      FAULT_CONTEXT_INCLUDE='#include <ucontext.h>'
    else
      CFG_FAULT=fault-posix.h
      FAULT_CONTEXT='void'
    fi
  fi
fi
if test -z "$CFG_FAULT"; then
  case "$host_os" in
    macos* | darwin[6-9]* | darwin[1-9][0-9]*)
      case "$host_cpu" in
        powerpc* | rs6000 | i?86 | x86_64)
          CFG_MACHFAULT=machfault-macos.h
          FAULT_CONTEXT_INCLUDE='#include <signal.h>
#include <mach/thread_status.h>
#if defined __ppc64__
#define sigsegv_thread_state_t ppc_thread_state64_t
#elif defined __ppc__
#define sigsegv_thread_state_t ppc_thread_state_t
#endif
#if defined __x86_64__
#define sigsegv_thread_state_t x86_thread_state64_t
#elif defined __i386__
#if defined x86_THREAD_STATE32
#define sigsegv_thread_state_t x86_thread_state32_t
#else
#define sigsegv_thread_state_t i386_thread_state_t
#endif
#endif'
          FAULT_CONTEXT='sigsegv_thread_state_t'
          ;;
      esac
      if test -n "$CFG_MACHFAULT"; then
        CFG_HANDLER=handler-macos.c
        CFG_FAULT=fault-macos.h # nonexistent, just a dummy
      fi
      ;;
  esac
fi
if test -z "$CFG_FAULT" && test "$sv_cv_fault_linux_m68k" = yes; then
  case "$host_cpu" in
    m68*)
      CFG_FAULT=fault-linux-m68k.h
      FAULT_CONTEXT='struct sigcontext'
      ;;
  esac
fi
if test -z "$CFG_FAULT" && test "$sv_cv_fault_macosdarwin7_ppc" = yes; then
  case "$host_cpu" in
    powerpc* | rs6000)
      CFG_FAULT=fault-macosdarwin7-powerpc.h
      FAULT_CONTEXT='ucontext_t'
      FAULT_CONTEXT_INCLUDE='#include <signal.h>
#include <ucontext.h>'
      ;;
  esac
fi
if test -z "$CFG_FAULT" && test "$sv_cv_fault_macosdarwin5_ppc" = yes; then
  case "$host_cpu" in
    powerpc* | rs6000)
      CFG_FAULT=fault-macosdarwin5-powerpc.h
      FAULT_CONTEXT='struct sigcontext'
      ;;
  esac
fi
if test -z "$CFG_FAULT"; then
  case "$host_os" in
    mingw* | cygwin*)
      FAULT_CONTEXT='CONTEXT'
      FAULT_CONTEXT_INCLUDE='#include <windows.h>'
      CFG_FAULT=fault-win32.h # nonexistent, just a dummy
      ;;
  esac
fi
if test -n "$CFG_FAULT"; then
  sv_cv_have_sigsegv_recovery=yes
else
  sv_cv_have_sigsegv_recovery=no
        case "$host_os" in
    linux*)
      case "$host_cpu" in
        alpha*)
          CFG_FAULT=fault-linux-alpha.h
          FAULT_CONTEXT='struct sigcontext'
          ;;
        arm* | strongarm* | xscale*)
          CFG_FAULT=fault-linux-arm.h
          FAULT_CONTEXT='struct sigcontext'
          ;;
        cris)
          CFG_FAULT=fault-linux-cris.h
          FAULT_CONTEXT='struct sigcontext'
          ;;
        mips*)
          CFG_FAULT=fault-linux-mips.h
          FAULT_CONTEXT='struct sigcontext'
          ;;
        s390*)
          CFG_FAULT=fault-linux-s390.h
          FAULT_CONTEXT='struct sigcontext'
          ;;
        sh*)
          CFG_FAULT=fault-linux-sh.h
          FAULT_CONTEXT='struct sigcontext'
          ;;
        sparc*)
          CFG_FAULT=fault-linux-sparc.h
          FAULT_CONTEXT='struct sigcontext'
          ;;
        x86_64)
          CFG_FAULT=fault-linux-x86_64.h
          FAULT_CONTEXT='struct sigcontext'
          ;;
      esac
      ;;
    beos*)
      case "$host_cpu" in
        i?86 | x86_64) CFG_FAULT=fault-beos-i386.h ;;
        *) CFG_FAULT=fault-beos.h ;;
      esac
      FAULT_CONTEXT='struct vregs'
      ;;
    macos* | darwin*)
      case "$host_cpu" in
        i?86 | x86_64) CFG_FAULT=fault-macos-i386.h ;;
      esac
      FAULT_CONTEXT='struct sigcontext'
      ;;
  esac
fi
{ $as_echo "$as_me:$LINENO: checking for the fault handler specifics" >&5
$as_echo_n "checking for the fault handler specifics... " >&6; }
if test -n "$CFG_FAULT"; then
  sv_cv_fault_include=$CFG_FAULT
else
  if test -n "$CFG_MACHFAULT"; then
    sv_cv_fault_include=$CFG_MACHFAULT
  else
    sv_cv_fault_include=none
  fi
fi
{ $as_echo "$as_me:$LINENO: result: $sv_cv_fault_include" >&5
$as_echo "$sv_cv_fault_include" >&6; }
if test -z "$CFG_FAULT"; then
  CFG_FAULT=fault-none.h
fi

cat >>confdefs.h <<_ACEOF
#define CFG_FAULT "$CFG_FAULT"
_ACEOF

if test -z "$CFG_MACHFAULT"; then
  CFG_MACHFAULT=fault-none.h
fi

cat >>confdefs.h <<_ACEOF
#define CFG_MACHFAULT "$CFG_MACHFAULT"
_ACEOF





{ $as_echo "$as_me:$LINENO: checking if the system supports catching SIGSEGV" >&5
$as_echo_n "checking if the system supports catching SIGSEGV... " >&6; }
{ $as_echo "$as_me:$LINENO: result: $sv_cv_have_sigsegv_recovery" >&5
$as_echo "$sv_cv_have_sigsegv_recovery" >&6; }
if test $sv_cv_have_sigsegv_recovery != no; then
  HAVE_SIGSEGV_RECOVERY=1
else
  HAVE_SIGSEGV_RECOVERY=0
fi



{ $as_echo "$as_me:$LINENO: checking for stack direction" >&5
$as_echo_n "checking for stack direction... " >&6; }
if test "${sv_cv_stack_direction_msg+set}" = set; then
  $as_echo_n "(cached) " >&6
else

  case "$host_cpu" in
        a29k | \
    alpha* | \
    arc | \
    arm* | strongarm* | xscale* | \
    avr | \
    c1 | c2 | c32 | c34 | c38 | \
    clipper | \
    cris | \
    d30v | \
    elxsi | \
    fr30 | \
    h8300 | \
    i?86 | x86_64 | \
    i860 | \
    ia64 | \
    m32r | \
    m68* | \
    m88k | \
    mcore | \
    mips* | \
    mmix | \
    mn10200 | \
    mn10300 | \
    ns32k | \
    pdp11 | \
    pj* | \
    powerpc* | rs6000 | \
    romp | \
    s390* | \
    sh* | \
    sparc* | \
    v850 | \
    vax | \
    xtensa)
      sv_cv_stack_direction=-1 ;;
    c4x | \
    dsp16xx | \
    i960 | \
    hppa* | parisc* | \
    stormy16 | \
    we32k)
      sv_cv_stack_direction=1 ;;
    *)
      if test $cross_compiling = no; then
        cat > conftest.c <<EOF
#include <stdio.h>
int
get_stack_direction ()
{
  auto char dummy;
  static char *dummyaddr = (char *)0;
  if (dummyaddr != (char *)0)
    return &dummy > dummyaddr ? 1 : &dummy < dummyaddr ? -1 : 0;
  else
    {
      dummyaddr = &dummy;
      {
        int result = get_stack_direction ();
        /* The next assignment avoids tail recursion elimination
           (IRIX 6.4 CC).  */
        dummyaddr = (char *)0;
        return result;
      }
    }
}
int
main ()
{
  printf ("%d\n", get_stack_direction ());
  return 0;
}
EOF
        { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
  (eval $ac_link) 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }
        sv_cv_stack_direction=`./conftest`
      else
        sv_cv_stack_direction=0
      fi
      ;;
  esac
  case $sv_cv_stack_direction in
    1)  sv_cv_stack_direction_msg="grows up";;
    -1) sv_cv_stack_direction_msg="grows down";;
    *)  sv_cv_stack_direction_msg="unknown";;
  esac

fi
{ $as_echo "$as_me:$LINENO: result: $sv_cv_stack_direction_msg" >&5
$as_echo "$sv_cv_stack_direction_msg" >&6; }

cat >>confdefs.h <<_ACEOF
#define STACK_DIRECTION $sv_cv_stack_direction
_ACEOF


{ $as_echo "$as_me:$LINENO: checking for PIOCMAP in sys/procfs.h" >&5
$as_echo_n "checking for PIOCMAP in sys/procfs.h... " >&6; }
if test "${sv_cv_procfsvma+set}" = set; then
  $as_echo_n "(cached) " >&6
else

  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
#include <sys/procfs.h>
int
main ()
{
int x = PIOCNMAP + PIOCMAP; prmap_t y;
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  sv_cv_procfsvma=yes
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	sv_cv_procfsvma=no
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext

fi
{ $as_echo "$as_me:$LINENO: result: $sv_cv_procfsvma" >&5
$as_echo "$sv_cv_procfsvma" >&6; }

for ac_func in mincore
do
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
$as_echo_n "checking for $ac_func... " >&6; }
if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
  $as_echo_n "(cached) " >&6
else
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
#define $ac_func innocuous_$ac_func

/* System header to define __stub macros and hopefully few prototypes,
    which can conflict with char $ac_func (); below.
    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
    <limits.h> exists even on freestanding compilers.  */

#ifdef __STDC__
# include <limits.h>
#else
# include <assert.h>
#endif

#undef $ac_func

/* 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 $ac_func ();
/* The GNU C library defines this for functions which it implements
    to always fail with ENOSYS.  Some functions are actually named
    something starting with __ and the normal name is an alias.  */
#if defined __stub_$ac_func || defined __stub___$ac_func
choke me
#endif

int
main ()
{
return $ac_func ();
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  eval "$as_ac_var=yes"
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	eval "$as_ac_var=no"
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
fi
ac_res=`eval 'as_val=${'$as_ac_var'}
		 $as_echo "$as_val"'`
	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
as_val=`eval 'as_val=${'$as_ac_var'}
		 $as_echo "$as_val"'`
   if test "x$as_val" = x""yes; then
  cat >>confdefs.h <<_ACEOF
#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
_ACEOF

fi
done

CFG_STACKVMA=
if test $sv_cv_procfsvma = yes; then
  CFG_STACKVMA=stackvma-procfs.c
else
  case "$host_os" in
    linux*)                CFG_STACKVMA=stackvma-linux.c ;;
    freebsd* | dragonfly*) CFG_STACKVMA=stackvma-freebsd.c ;;
    beos*)                 CFG_STACKVMA=stackvma-beos.c ;;
    macos* | darwin*)      CFG_STACKVMA=stackvma-mach.c ;;
  esac
fi
if test -z "$CFG_STACKVMA" && test $ac_cv_func_mincore = yes; then
  CFG_STACKVMA=stackvma-mincore.c
fi
if test -n "$CFG_STACKVMA"; then

cat >>confdefs.h <<\_ACEOF
#define HAVE_STACKVMA 1
_ACEOF

else
  CFG_STACKVMA=stackvma-none.c
fi

cat >>confdefs.h <<_ACEOF
#define CFG_STACKVMA "$CFG_STACKVMA"
_ACEOF





for ac_func in getrlimit setrlimit
do
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
$as_echo_n "checking for $ac_func... " >&6; }
if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
  $as_echo_n "(cached) " >&6
else
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
#define $ac_func innocuous_$ac_func

/* System header to define __stub macros and hopefully few prototypes,
    which can conflict with char $ac_func (); below.
    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
    <limits.h> exists even on freestanding compilers.  */

#ifdef __STDC__
# include <limits.h>
#else
# include <assert.h>
#endif

#undef $ac_func

/* 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 $ac_func ();
/* The GNU C library defines this for functions which it implements
    to always fail with ENOSYS.  Some functions are actually named
    something starting with __ and the normal name is an alias.  */
#if defined __stub_$ac_func || defined __stub___$ac_func
choke me
#endif

int
main ()
{
return $ac_func ();
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  eval "$as_ac_var=yes"
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	eval "$as_ac_var=no"
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
fi
ac_res=`eval 'as_val=${'$as_ac_var'}
		 $as_echo "$as_val"'`
	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
as_val=`eval 'as_val=${'$as_ac_var'}
		 $as_echo "$as_val"'`
   if test "x$as_val" = x""yes; then
  cat >>confdefs.h <<_ACEOF
#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
_ACEOF

fi
done







for ac_func in sigaltstack
do
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
$as_echo_n "checking for $ac_func... " >&6; }
if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
  $as_echo_n "(cached) " >&6
else
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
#define $ac_func innocuous_$ac_func

/* System header to define __stub macros and hopefully few prototypes,
    which can conflict with char $ac_func (); below.
    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
    <limits.h> exists even on freestanding compilers.  */

#ifdef __STDC__
# include <limits.h>
#else
# include <assert.h>
#endif

#undef $ac_func

/* 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 $ac_func ();
/* The GNU C library defines this for functions which it implements
    to always fail with ENOSYS.  Some functions are actually named
    something starting with __ and the normal name is an alias.  */
#if defined __stub_$ac_func || defined __stub___$ac_func
choke me
#endif

int
main ()
{
return $ac_func ();
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  eval "$as_ac_var=yes"
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	eval "$as_ac_var=no"
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
fi
ac_res=`eval 'as_val=${'$as_ac_var'}
		 $as_echo "$as_val"'`
	       { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
$as_echo "$ac_res" >&6; }
as_val=`eval 'as_val=${'$as_ac_var'}
		 $as_echo "$as_val"'`
   if test "x$as_val" = x""yes; then
  cat >>confdefs.h <<_ACEOF
#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
_ACEOF

fi
done


  if test "$ac_cv_func_sigaltstack" = yes; then
    { $as_echo "$as_me:$LINENO: checking for stack_t" >&5
$as_echo_n "checking for stack_t... " >&6; }
if test "${ac_cv_type_stack_t+set}" = set; then
  $as_echo_n "(cached) " >&6
else
  ac_cv_type_stack_t=no
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

#include <signal.h>
#if HAVE_SYS_SIGNAL_H
# include <sys/signal.h>
#endif


int
main ()
{
if (sizeof (stack_t))
       return 0;
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

#include <signal.h>
#if HAVE_SYS_SIGNAL_H
# include <sys/signal.h>
#endif


int
main ()
{
if (sizeof ((stack_t)))
	  return 0;
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_compile") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest.$ac_objext; then
  :
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	ac_cv_type_stack_t=yes
fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5


fi

rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_stack_t" >&5
$as_echo "$ac_cv_type_stack_t" >&6; }
if test "x$ac_cv_type_stack_t" = x""yes; then
  :
else

cat >>confdefs.h <<\_ACEOF
#define stack_t struct sigaltstack
_ACEOF


fi

  fi

  { $as_echo "$as_me:$LINENO: checking for working sigaltstack" >&5
$as_echo_n "checking for working sigaltstack... " >&6; }
if test "${sv_cv_sigaltstack+set}" = set; then
  $as_echo_n "(cached) " >&6
else

    if test "$ac_cv_func_sigaltstack" = yes; then
      case "$host_os" in
        macos* | darwin[6-9]* | darwin[1-9][0-9]*)
          # On MacOS X 10.2 or newer, just assume that if it compiles, it will
          # work. If we were to perform the real test, 1 Crash Report dialog
          # window would pop up.
          cat >conftest.$ac_ext <<_ACEOF

            /* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
#include <signal.h>
int
main ()
{
int x = SA_ONSTACK; stack_t ss; sigaltstack ((stack_t*)0, &ss);
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  sv_cv_sigaltstack="guessing yes"
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	sv_cv_sigaltstack=no
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
          ;;
        *)
          if test "$cross_compiling" = yes; then

                            case "$host_os" in
                *)
                  cat >conftest.$ac_ext <<_ACEOF

                    /* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */
#include <signal.h>
int
main ()
{
int x = SA_ONSTACK; stack_t ss; sigaltstack ((stack_t*)0, &ss);
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && {
	 test -z "$ac_c_werror_flag" ||
	 test ! -s conftest.err
       } && test -s conftest$ac_exeext && {
	 test "$cross_compiling" = yes ||
	 $as_test_x conftest$ac_exeext
       }; then
  sv_cv_sigaltstack="guessing yes"
else
  $as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

	sv_cv_sigaltstack=no
fi

rm -rf conftest.dSYM
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
      conftest$ac_exeext conftest.$ac_ext
                  ;;
              esac

else
  cat >conftest.$ac_ext <<_ACEOF

            /* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

#include <stdlib.h>
#include <signal.h>
#if HAVE_SYS_SIGNAL_H
# include <sys/signal.h>
#endif
#if HAVE_SETRLIMIT
# include <sys/types.h>
# include <sys/time.h>
# include <sys/resource.h>
#endif
#ifndef SIGSTKSZ
# define SIGSTKSZ 16384
#endif
void stackoverflow_handler (int sig)
{
  /* If we get here, the stack overflow was caught.  */
  exit (0);
}
volatile int * recurse_1 (volatile int n, volatile int *p)
{
  if (n >= 0)
    *recurse_1 (n + 1, p) += n;
  return p;
}
int recurse (volatile int n)
{
  int sum = 0;
  return *recurse_1 (n, &sum);
}
int main ()
{
  char mystack[2 * SIGSTKSZ];
  stack_t altstack;
  struct sigaction action;
#if defined HAVE_SETRLIMIT && defined RLIMIT_STACK
  /* Before starting the endless recursion, try to be friendly to the user's
     machine.  On some Linux 2.2.x systems, there is no stack limit for user
     processes at all.  We don't want to kill such systems.  */
  struct rlimit rl;
  rl.rlim_cur = rl.rlim_max = 0x100000; /* 1 MB */
  setrlimit (RLIMIT_STACK, &rl);
#endif
  /* Install the alternate stack.  Use the midpoint of mystack, to guard
     against a buggy interpretation of ss_sp on IRIX.  */
  altstack.ss_sp = mystack + SIGSTKSZ;
  altstack.ss_size = SIGSTKSZ;
  altstack.ss_flags = 0; /* no SS_DISABLE */
  if (sigaltstack (&altstack, NULL) < 0)
    exit (1);
  /* Install the SIGSEGV handler.  */
  sigemptyset (&action.sa_mask);
  action.sa_handler = &stackoverflow_handler;
  action.sa_flags = SA_ONSTACK;
  sigaction (SIGSEGV, &action, (struct sigaction *) NULL);
  sigaction (SIGBUS, &action, (struct sigaction *) NULL);
  /* Provoke a stack overflow.  */
  recurse (0);
  exit (2);
}
_ACEOF
rm -f conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
  { (case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_try") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }; }; then
  sv_cv_sigaltstack=yes
else
  $as_echo "$as_me: program exited with status $ac_status" >&5
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

( exit $ac_status )
sv_cv_sigaltstack=no
fi
rm -rf conftest.dSYM
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi


          ;;
      esac
    else
      sv_cv_sigaltstack=no
    fi

fi
{ $as_echo "$as_me:$LINENO: result: $sv_cv_sigaltstack" >&5
$as_echo "$sv_cv_sigaltstack" >&6; }
  if test "$sv_cv_sigaltstack" != no; then

cat >>confdefs.h <<\_ACEOF
#define HAVE_WORKING_SIGALTSTACK 1
_ACEOF


                { $as_echo "$as_me:$LINENO: checking for correct stack_t interpretation" >&5
$as_echo_n "checking for correct stack_t interpretation... " >&6; }
if test "${sv_cv_sigaltstack_low_base+set}" = set; then
  $as_echo_n "(cached) " >&6
else

      if test "$cross_compiling" = yes; then

                case "$host_os" in
          irix5*) sv_cv_sigaltstack_low_base="no" ;;
          *)      sv_cv_sigaltstack_low_base="guessing yes" ;;
        esac

else
  cat >conftest.$ac_ext <<_ACEOF

        /* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

#include <stdlib.h>
#include <signal.h>
#if HAVE_SYS_SIGNAL_H
# include <sys/signal.h>
#endif
#ifndef SIGSTKSZ
# define SIGSTKSZ 16384
#endif
volatile char *stack_lower_bound;
volatile char *stack_upper_bound;
static void check_stack_location (volatile char *addr)
{
  if (addr >= stack_lower_bound && addr <= stack_upper_bound)
    exit (0);
  else
    exit (1);
}
static void stackoverflow_handler (int sig)
{
  char dummy;
  check_stack_location (&dummy);
}
int main ()
{
  char mystack[2 * SIGSTKSZ];
  stack_t altstack;
  struct sigaction action;
  /* Install the alternate stack.  */
  altstack.ss_sp = mystack + SIGSTKSZ;
  altstack.ss_size = SIGSTKSZ;
  stack_lower_bound = (char *) altstack.ss_sp;
  stack_upper_bound = (char *) altstack.ss_sp + altstack.ss_size - 1;
  altstack.ss_flags = 0; /* no SS_DISABLE */
  if (sigaltstack (&altstack, NULL) < 0)
    exit (2);
  /* Install the SIGSEGV handler.  */
  sigemptyset (&action.sa_mask);
  action.sa_handler = &stackoverflow_handler;
  action.sa_flags = SA_ONSTACK;
  if (sigaction (SIGSEGV, &action, (struct sigaction *) NULL) < 0)
    exit(3);
  /* Provoke a SIGSEGV.  */
  raise (SIGSEGV);
  exit (3);
}
_ACEOF
rm -f conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
  { (case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_try") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }; }; then
  sv_cv_sigaltstack_low_base=yes
else
  $as_echo "$as_me: program exited with status $ac_status" >&5
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

( exit $ac_status )
sv_cv_sigaltstack_low_base=no
fi
rm -rf conftest.dSYM
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi



fi
{ $as_echo "$as_me:$LINENO: result: $sv_cv_sigaltstack_low_base" >&5
$as_echo "$sv_cv_sigaltstack_low_base" >&6; }
    if test "$sv_cv_sigaltstack_low_base" = no; then

cat >>confdefs.h <<\_ACEOF
#define SIGALTSTACK_SS_REVERSED 1
_ACEOF

    fi
  fi


{ $as_echo "$as_me:$LINENO: checking if the system supports catching stack overflow" >&5
$as_echo_n "checking if the system supports catching stack overflow... " >&6; }
if test "${sv_cv_have_stack_overflow_recovery+set}" = set; then
  $as_echo_n "(cached) " >&6
else

          if test "$CFG_MACHFAULT" != fault-none.h; then
    sv_cv_have_stack_overflow_recovery=yes
  else
    if test "$sv_cv_sigaltstack" != no; then
      sv_cv_have_stack_overflow_recovery=maybe
    else
      case "$host_os" in
        beos*) sv_cv_have_stack_overflow_recovery=maybe ;;
        mingw* | cygwin*) sv_cv_have_stack_overflow_recovery=yes ;;
        *) sv_cv_have_stack_overflow_recovery=no ;;
      esac
    fi
  fi
  if test $sv_cv_have_stack_overflow_recovery = maybe; then
    if test -n "$CFG_FAULT"; then
      cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

#include "$srcdir/src/$CFG_FAULT"
#ifdef SIGSEGV_FAULT_HANDLER_ARGLIST
#ifdef SIGSEGV_FAULT_ADDRESS
xyzzy
#endif
#endif

_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
  $EGREP "xyzzy" >/dev/null 2>&1; then
  condA=true
else
  condA=false
fi
rm -f conftest*

    else
      condA=false
    fi
    if test -n "$CFG_FAULT"; then
      cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

#include "$srcdir/src/$CFG_FAULT"
#ifdef SIGSEGV_FAULT_HANDLER_ARGLIST
#ifdef SIGSEGV_FAULT_STACKPOINTER
xyzzy
#endif
#endif

_ACEOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
  $EGREP "xyzzy" >/dev/null 2>&1; then
  condB=true
else
  condB=false
fi
rm -f conftest*

    else
      condB=false
    fi
    if test "$CFG_STACKVMA" != "stackvma-none.c"; then
      condC=true
    else
      condC=false
    fi
    if { $condA && $condB; } || { $condA && $condC; } || { $condB && $condC; }; then
      sv_cv_have_stack_overflow_recovery=yes
    else
      sv_cv_have_stack_overflow_recovery=no
    fi
  fi

fi
{ $as_echo "$as_me:$LINENO: result: $sv_cv_have_stack_overflow_recovery" >&5
$as_echo "$sv_cv_have_stack_overflow_recovery" >&6; }
if test $sv_cv_have_stack_overflow_recovery != no; then
  HAVE_STACK_OVERFLOW_RECOVERY=1
else
  HAVE_STACK_OVERFLOW_RECOVERY=0
fi


# How to longjmp out of a signal handler, in such a way that the
# alternate signal stack remains functional.

# On MacOS X 10.2 or newer, we don't need these tests, because we'll end up
# using handler-macos.c anyway. If we were to perform the tests, 2 Crash Report
# dialog windows would pop up.
case "$host_os" in
  macos* | darwin[6-9]* | darwin[1-9][0-9]*) ;;
  *)





  { $as_echo "$as_me:$LINENO: checking whether a signal handler can be left through longjmp" >&5
$as_echo_n "checking whether a signal handler can be left through longjmp... " >&6; }
if test "${sv_cv_leave_handler_longjmp+set}" = set; then
  $as_echo_n "(cached) " >&6
else

    if test "$cross_compiling" = yes; then
  case "$host" in
         *-*-osf[4-9]* | *-*-hpux11* | *-*-linux2.[2-9]*) sv_cv_leave_handler_longjmp=yes ;;
         *) sv_cv_leave_handler_longjmp="guessing no" ;;
       esac

else
  cat >conftest.$ac_ext <<_ACEOF

      /* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

#include <stdlib.h>
#include <signal.h>
#include <setjmp.h>

#if HAVE_SETRLIMIT
# include <sys/types.h>
# include <sys/time.h>
# include <sys/resource.h>
#endif
#ifndef SIGSTKSZ
# define SIGSTKSZ 16384
#endif
jmp_buf mainloop;
sigset_t mainsigset;
int pass = 0;
void stackoverflow_handler (int sig)
{
  pass++;
  sigprocmask (SIG_SETMASK, &mainsigset, NULL);
  {  }
  longjmp (mainloop, pass);
}
volatile int * recurse_1 (volatile int n, volatile int *p)
{
  if (n >= 0)
    *recurse_1 (n + 1, p) += n;
  return p;
}
int recurse (volatile int n)
{
  int sum = 0;
  return *recurse_1 (n, &sum);
}
int main ()
{
  char mystack[2 * SIGSTKSZ];
  stack_t altstack;
  struct sigaction action;
  sigset_t emptyset;
#if defined HAVE_SETRLIMIT && defined RLIMIT_STACK
  /* Before starting the endless recursion, try to be friendly to the user's
     machine.  On some Linux 2.2.x systems, there is no stack limit for user
     processes at all.  We don't want to kill such systems.  */
  struct rlimit rl;
  rl.rlim_cur = rl.rlim_max = 0x100000; /* 1 MB */
  setrlimit (RLIMIT_STACK, &rl);
#endif
  /* Install the alternate stack.  Use the midpoint of mystack, to guard
     against a buggy interpretation of ss_sp on IRIX.  */
  altstack.ss_sp = mystack + SIGSTKSZ;
  altstack.ss_size = SIGSTKSZ;
  altstack.ss_flags = 0; /* no SS_DISABLE */
  if (sigaltstack (&altstack, NULL) < 0)
    exit (1);
  /* Install the SIGSEGV handler.  */
  sigemptyset (&action.sa_mask);
  action.sa_handler = &stackoverflow_handler;
  action.sa_flags = SA_ONSTACK;
  sigaction (SIGSEGV, &action, (struct sigaction *) NULL);
  sigaction (SIGBUS, &action, (struct sigaction *) NULL);
  /* Save the current signal mask.  */
  sigemptyset (&emptyset);
  sigprocmask (SIG_BLOCK, &emptyset, &mainsigset);
  /* Provoke two stack overflows in a row.  */
  if (setjmp (mainloop) < 2)
    {
      recurse (0);
      exit (2);
    }
  exit (0);
}
_ACEOF
rm -f conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
  { (case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_try") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }; }; then
  sv_cv_leave_handler_longjmp=yes
else
  $as_echo "$as_me: program exited with status $ac_status" >&5
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

( exit $ac_status )
sv_cv_leave_handler_longjmp=no
fi
rm -rf conftest.dSYM
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi



fi
{ $as_echo "$as_me:$LINENO: result: $sv_cv_leave_handler_longjmp" >&5
$as_echo "$sv_cv_leave_handler_longjmp" >&6; }






  { $as_echo "$as_me:$LINENO: checking whether a signal handler can be left through longjmp and sigaltstack" >&5
$as_echo_n "checking whether a signal handler can be left through longjmp and sigaltstack... " >&6; }
if test "${sv_cv_leave_handler_longjmp_sigaltstack+set}" = set; then
  $as_echo_n "(cached) " >&6
else

    if test "$cross_compiling" = yes; then
  case "$host" in
         *-*-freebsd*) sv_cv_leave_handler_longjmp_sigaltstack=yes ;;
         *) sv_cv_leave_handler_longjmp_sigaltstack="guessing no" ;;
       esac

else
  cat >conftest.$ac_ext <<_ACEOF

      /* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

#include <stdlib.h>
#include <signal.h>
#include <setjmp.h>

#ifndef SS_ONSTACK
#define SS_ONSTACK SA_ONSTACK
#endif

#if HAVE_SETRLIMIT
# include <sys/types.h>
# include <sys/time.h>
# include <sys/resource.h>
#endif
#ifndef SIGSTKSZ
# define SIGSTKSZ 16384
#endif
jmp_buf mainloop;
sigset_t mainsigset;
int pass = 0;
void stackoverflow_handler (int sig)
{
  pass++;
  sigprocmask (SIG_SETMASK, &mainsigset, NULL);
  { stack_t ss;
   if (sigaltstack (NULL, &ss) >= 0)
     {
       ss.ss_flags &= ~SS_ONSTACK;
       sigaltstack (&ss, NULL);
     }
   }
  longjmp (mainloop, pass);
}
volatile int * recurse_1 (volatile int n, volatile int *p)
{
  if (n >= 0)
    *recurse_1 (n + 1, p) += n;
  return p;
}
int recurse (volatile int n)
{
  int sum = 0;
  return *recurse_1 (n, &sum);
}
int main ()
{
  char mystack[2 * SIGSTKSZ];
  stack_t altstack;
  struct sigaction action;
  sigset_t emptyset;
#if defined HAVE_SETRLIMIT && defined RLIMIT_STACK
  /* Before starting the endless recursion, try to be friendly to the user's
     machine.  On some Linux 2.2.x systems, there is no stack limit for user
     processes at all.  We don't want to kill such systems.  */
  struct rlimit rl;
  rl.rlim_cur = rl.rlim_max = 0x100000; /* 1 MB */
  setrlimit (RLIMIT_STACK, &rl);
#endif
  /* Install the alternate stack.  Use the midpoint of mystack, to guard
     against a buggy interpretation of ss_sp on IRIX.  */
  altstack.ss_sp = mystack + SIGSTKSZ;
  altstack.ss_size = SIGSTKSZ;
  altstack.ss_flags = 0; /* no SS_DISABLE */
  if (sigaltstack (&altstack, NULL) < 0)
    exit (1);
  /* Install the SIGSEGV handler.  */
  sigemptyset (&action.sa_mask);
  action.sa_handler = &stackoverflow_handler;
  action.sa_flags = SA_ONSTACK;
  sigaction (SIGSEGV, &action, (struct sigaction *) NULL);
  sigaction (SIGBUS, &action, (struct sigaction *) NULL);
  /* Save the current signal mask.  */
  sigemptyset (&emptyset);
  sigprocmask (SIG_BLOCK, &emptyset, &mainsigset);
  /* Provoke two stack overflows in a row.  */
  if (setjmp (mainloop) < 2)
    {
      recurse (0);
      exit (2);
    }
  exit (0);
}
_ACEOF
rm -f conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
  { (case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_try") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }; }; then
  sv_cv_leave_handler_longjmp_sigaltstack=yes
else
  $as_echo "$as_me: program exited with status $ac_status" >&5
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

( exit $ac_status )
sv_cv_leave_handler_longjmp_sigaltstack=no
fi
rm -rf conftest.dSYM
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi



fi
{ $as_echo "$as_me:$LINENO: result: $sv_cv_leave_handler_longjmp_sigaltstack" >&5
$as_echo "$sv_cv_leave_handler_longjmp_sigaltstack" >&6; }






  { $as_echo "$as_me:$LINENO: checking whether a signal handler can be left through longjmp and setcontext" >&5
$as_echo_n "checking whether a signal handler can be left through longjmp and setcontext... " >&6; }
if test "${sv_cv_leave_handler_longjmp_setcontext+set}" = set; then
  $as_echo_n "(cached) " >&6
else

    if test "$cross_compiling" = yes; then
  case "$host" in
         *-*-irix* | *-*-solaris*) sv_cv_leave_handler_longjmp_setcontext=yes ;;
         *) sv_cv_leave_handler_longjmp_setcontext="guessing no" ;;
       esac

else
  cat >conftest.$ac_ext <<_ACEOF

      /* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

#include <stdlib.h>
#include <signal.h>
#include <setjmp.h>
#include <ucontext.h>
#ifndef SS_ONSTACK
#define SS_ONSTACK SA_ONSTACK
#endif

#if HAVE_SETRLIMIT
# include <sys/types.h>
# include <sys/time.h>
# include <sys/resource.h>
#endif
#ifndef SIGSTKSZ
# define SIGSTKSZ 16384
#endif
jmp_buf mainloop;
sigset_t mainsigset;
int pass = 0;
void stackoverflow_handler (int sig)
{
  pass++;
  sigprocmask (SIG_SETMASK, &mainsigset, NULL);
  { static int fl;
   static ucontext_t uc;
   fl = 0;
   if (getcontext (&uc) >= 0)
     if (fl == 0)
       if (uc.uc_stack.ss_flags & SS_ONSTACK)
         {
           uc.uc_stack.ss_flags &= ~SS_ONSTACK;
           fl = 1;
           setcontext (&uc);
         }
   }
  longjmp (mainloop, pass);
}
volatile int * recurse_1 (volatile int n, volatile int *p)
{
  if (n >= 0)
    *recurse_1 (n + 1, p) += n;
  return p;
}
int recurse (volatile int n)
{
  int sum = 0;
  return *recurse_1 (n, &sum);
}
int main ()
{
  char mystack[2 * SIGSTKSZ];
  stack_t altstack;
  struct sigaction action;
  sigset_t emptyset;
#if defined HAVE_SETRLIMIT && defined RLIMIT_STACK
  /* Before starting the endless recursion, try to be friendly to the user's
     machine.  On some Linux 2.2.x systems, there is no stack limit for user
     processes at all.  We don't want to kill such systems.  */
  struct rlimit rl;
  rl.rlim_cur = rl.rlim_max = 0x100000; /* 1 MB */
  setrlimit (RLIMIT_STACK, &rl);
#endif
  /* Install the alternate stack.  Use the midpoint of mystack, to guard
     against a buggy interpretation of ss_sp on IRIX.  */
  altstack.ss_sp = mystack + SIGSTKSZ;
  altstack.ss_size = SIGSTKSZ;
  altstack.ss_flags = 0; /* no SS_DISABLE */
  if (sigaltstack (&altstack, NULL) < 0)
    exit (1);
  /* Install the SIGSEGV handler.  */
  sigemptyset (&action.sa_mask);
  action.sa_handler = &stackoverflow_handler;
  action.sa_flags = SA_ONSTACK;
  sigaction (SIGSEGV, &action, (struct sigaction *) NULL);
  sigaction (SIGBUS, &action, (struct sigaction *) NULL);
  /* Save the current signal mask.  */
  sigemptyset (&emptyset);
  sigprocmask (SIG_BLOCK, &emptyset, &mainsigset);
  /* Provoke two stack overflows in a row.  */
  if (setjmp (mainloop) < 2)
    {
      recurse (0);
      exit (2);
    }
  exit (0);
}
_ACEOF
rm -f conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
  { (case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_try") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }; }; then
  sv_cv_leave_handler_longjmp_setcontext=yes
else
  $as_echo "$as_me: program exited with status $ac_status" >&5
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

( exit $ac_status )
sv_cv_leave_handler_longjmp_setcontext=no
fi
rm -rf conftest.dSYM
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi



fi
{ $as_echo "$as_me:$LINENO: result: $sv_cv_leave_handler_longjmp_setcontext" >&5
$as_echo "$sv_cv_leave_handler_longjmp_setcontext" >&6; }


# End of MacOS X special casing.
    ;;
esac

# How to siglongjmp out of a signal handler, in such a way that the
# alternate signal stack remains functional.

# On MacOS X 10.2 or newer, we don't need these tests, because we'll end up
# using handler-macos.c anyway. If we were to perform the tests, 2 Crash Report
# dialog windows would pop up.
case "$host_os" in
  macos* | darwin[6-9]* | darwin[1-9][0-9]*) ;;
  *)





  { $as_echo "$as_me:$LINENO: checking whether a signal handler can be left through siglongjmp" >&5
$as_echo_n "checking whether a signal handler can be left through siglongjmp... " >&6; }
if test "${sv_cv_leave_handler_siglongjmp+set}" = set; then
  $as_echo_n "(cached) " >&6
else

    if test "$cross_compiling" = yes; then
  case "$host" in
         *-*-osf[4-9]* | *-*-hpux11* | *-*-linux2.[2-9]* | *-*-irix* | *-*-solaris*) sv_cv_leave_handler_siglongjmp=yes ;;
         *) sv_cv_leave_handler_siglongjmp="guessing no" ;;
       esac

else
  cat >conftest.$ac_ext <<_ACEOF

      /* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

#include <stdlib.h>
#include <signal.h>
#include <setjmp.h>

#if HAVE_SETRLIMIT
# include <sys/types.h>
# include <sys/time.h>
# include <sys/resource.h>
#endif
#ifndef SIGSTKSZ
# define SIGSTKSZ 16384
#endif
sigjmp_buf mainloop;
int pass = 0;
void stackoverflow_handler (int sig)
{
  pass++;
  {  }
  siglongjmp (mainloop, pass);
}
volatile int * recurse_1 (volatile int n, volatile int *p)
{
  if (n >= 0)
    *recurse_1 (n + 1, p) += n;
  return p;
}
int recurse (volatile int n)
{
  int sum = 0;
  return *recurse_1 (n, &sum);
}
int main ()
{
  char mystack[2 * SIGSTKSZ];
  stack_t altstack;
  struct sigaction action;
#ifdef __BEOS__
  /* On BeOS, this would hang, burning CPU time.  Better fail than hang.  */
  exit (1);
#endif
#if defined HAVE_SETRLIMIT && defined RLIMIT_STACK
  /* Before starting the endless recursion, try to be friendly to the user's
     machine.  On some Linux 2.2.x systems, there is no stack limit for user
     processes at all.  We don't want to kill such systems.  */
  struct rlimit rl;
  rl.rlim_cur = rl.rlim_max = 0x100000; /* 1 MB */
  setrlimit (RLIMIT_STACK, &rl);
#endif
  /* Install the alternate stack.  Use the midpoint of mystack, to guard
     against a buggy interpretation of ss_sp on IRIX.  */
  altstack.ss_sp = mystack + SIGSTKSZ;
  altstack.ss_size = SIGSTKSZ;
  altstack.ss_flags = 0; /* no SS_DISABLE */
  if (sigaltstack (&altstack, NULL) < 0)
    exit (1);
  /* Install the SIGSEGV handler.  */
  sigemptyset (&action.sa_mask);
  action.sa_handler = &stackoverflow_handler;
  action.sa_flags = SA_ONSTACK;
  sigaction (SIGSEGV, &action, (struct sigaction *) NULL);
  sigaction (SIGBUS, &action, (struct sigaction *) NULL);
  /* Provoke two stack overflows in a row.  */
  if (sigsetjmp (mainloop, 1) < 2)
    {
      recurse (0);
      exit (2);
    }
  exit (0);
}
_ACEOF
rm -f conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
  { (case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_try") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }; }; then
  sv_cv_leave_handler_siglongjmp=yes
else
  $as_echo "$as_me: program exited with status $ac_status" >&5
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

( exit $ac_status )
sv_cv_leave_handler_siglongjmp=no
fi
rm -rf conftest.dSYM
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi



fi
{ $as_echo "$as_me:$LINENO: result: $sv_cv_leave_handler_siglongjmp" >&5
$as_echo "$sv_cv_leave_handler_siglongjmp" >&6; }






  { $as_echo "$as_me:$LINENO: checking whether a signal handler can be left through siglongjmp and sigaltstack" >&5
$as_echo_n "checking whether a signal handler can be left through siglongjmp and sigaltstack... " >&6; }
if test "${sv_cv_leave_handler_siglongjmp_sigaltstack+set}" = set; then
  $as_echo_n "(cached) " >&6
else

    if test "$cross_compiling" = yes; then
  case "$host" in
         *-*-freebsd*) sv_cv_leave_handler_siglongjmp_sigaltstack=yes ;;
         *) sv_cv_leave_handler_siglongjmp_sigaltstack="guessing no" ;;
       esac

else
  cat >conftest.$ac_ext <<_ACEOF

      /* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

#include <stdlib.h>
#include <signal.h>
#include <setjmp.h>

#ifndef SS_ONSTACK
#define SS_ONSTACK SA_ONSTACK
#endif

#if HAVE_SETRLIMIT
# include <sys/types.h>
# include <sys/time.h>
# include <sys/resource.h>
#endif
#ifndef SIGSTKSZ
# define SIGSTKSZ 16384
#endif
sigjmp_buf mainloop;
int pass = 0;
void stackoverflow_handler (int sig)
{
  pass++;
  { stack_t ss;
   if (sigaltstack (NULL, &ss) >= 0)
     {
       ss.ss_flags &= ~SS_ONSTACK;
       sigaltstack (&ss, NULL);
     }
   }
  siglongjmp (mainloop, pass);
}
volatile int * recurse_1 (volatile int n, volatile int *p)
{
  if (n >= 0)
    *recurse_1 (n + 1, p) += n;
  return p;
}
int recurse (volatile int n)
{
  int sum = 0;
  return *recurse_1 (n, &sum);
}
int main ()
{
  char mystack[2 * SIGSTKSZ];
  stack_t altstack;
  struct sigaction action;
#ifdef __BEOS__
  /* On BeOS, this would hang, burning CPU time.  Better fail than hang.  */
  exit (1);
#endif
#if defined HAVE_SETRLIMIT && defined RLIMIT_STACK
  /* Before starting the endless recursion, try to be friendly to the user's
     machine.  On some Linux 2.2.x systems, there is no stack limit for user
     processes at all.  We don't want to kill such systems.  */
  struct rlimit rl;
  rl.rlim_cur = rl.rlim_max = 0x100000; /* 1 MB */
  setrlimit (RLIMIT_STACK, &rl);
#endif
  /* Install the alternate stack.  Use the midpoint of mystack, to guard
     against a buggy interpretation of ss_sp on IRIX.  */
  altstack.ss_sp = mystack + SIGSTKSZ;
  altstack.ss_size = SIGSTKSZ;
  altstack.ss_flags = 0; /* no SS_DISABLE */
  if (sigaltstack (&altstack, NULL) < 0)
    exit (1);
  /* Install the SIGSEGV handler.  */
  sigemptyset (&action.sa_mask);
  action.sa_handler = &stackoverflow_handler;
  action.sa_flags = SA_ONSTACK;
  sigaction (SIGSEGV, &action, (struct sigaction *) NULL);
  sigaction (SIGBUS, &action, (struct sigaction *) NULL);
  /* Provoke two stack overflows in a row.  */
  if (sigsetjmp (mainloop, 1) < 2)
    {
      recurse (0);
      exit (2);
    }
  exit (0);
}
_ACEOF
rm -f conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
  { (case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_try") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }; }; then
  sv_cv_leave_handler_siglongjmp_sigaltstack=yes
else
  $as_echo "$as_me: program exited with status $ac_status" >&5
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

( exit $ac_status )
sv_cv_leave_handler_siglongjmp_sigaltstack=no
fi
rm -rf conftest.dSYM
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi



fi
{ $as_echo "$as_me:$LINENO: result: $sv_cv_leave_handler_siglongjmp_sigaltstack" >&5
$as_echo "$sv_cv_leave_handler_siglongjmp_sigaltstack" >&6; }






  { $as_echo "$as_me:$LINENO: checking whether a signal handler can be left through siglongjmp and setcontext" >&5
$as_echo_n "checking whether a signal handler can be left through siglongjmp and setcontext... " >&6; }
if test "${sv_cv_leave_handler_siglongjmp_setcontext+set}" = set; then
  $as_echo_n "(cached) " >&6
else

    if test "$cross_compiling" = yes; then
  case "$host" in

         *) sv_cv_leave_handler_siglongjmp_setcontext="guessing no" ;;
       esac

else
  cat >conftest.$ac_ext <<_ACEOF

      /* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

#include <stdlib.h>
#include <signal.h>
#include <setjmp.h>
#include <ucontext.h>
#ifndef SS_ONSTACK
#define SS_ONSTACK SA_ONSTACK
#endif

#if HAVE_SETRLIMIT
# include <sys/types.h>
# include <sys/time.h>
# include <sys/resource.h>
#endif
#ifndef SIGSTKSZ
# define SIGSTKSZ 16384
#endif
sigjmp_buf mainloop;
int pass = 0;
void stackoverflow_handler (int sig)
{
  pass++;
  { static int fl;
   static ucontext_t uc;
   fl = 0;
   if (getcontext(&uc) >= 0)
     if (fl == 0)
       if (uc.uc_stack.ss_flags & SS_ONSTACK)
         {
           uc.uc_stack.ss_flags &= ~SS_ONSTACK;
           fl = 1;
           setcontext(&uc);
         }
   }
  siglongjmp (mainloop, pass);
}
volatile int * recurse_1 (volatile int n, volatile int *p)
{
  if (n >= 0)
    *recurse_1 (n + 1, p) += n;
  return p;
}
int recurse (volatile int n)
{
  int sum = 0;
  return *recurse_1 (n, &sum);
}
int main ()
{
  char mystack[2 * SIGSTKSZ];
  stack_t altstack;
  struct sigaction action;
#ifdef __BEOS__
  /* On BeOS, this would hang, burning CPU time.  Better fail than hang.  */
  exit (1);
#endif
#if defined HAVE_SETRLIMIT && defined RLIMIT_STACK
  /* Before starting the endless recursion, try to be friendly to the user's
     machine.  On some Linux 2.2.x systems, there is no stack limit for user
     processes at all.  We don't want to kill such systems.  */
  struct rlimit rl;
  rl.rlim_cur = rl.rlim_max = 0x100000; /* 1 MB */
  setrlimit (RLIMIT_STACK, &rl);
#endif
  /* Install the alternate stack.  Use the midpoint of mystack, to guard
     against a buggy interpretation of ss_sp on IRIX.  */
  altstack.ss_sp = mystack + SIGSTKSZ;
  altstack.ss_size = SIGSTKSZ;
  altstack.ss_flags = 0; /* no SS_DISABLE */
  if (sigaltstack (&altstack, NULL) < 0)
    exit (1);
  /* Install the SIGSEGV handler.  */
  sigemptyset (&action.sa_mask);
  action.sa_handler = &stackoverflow_handler;
  action.sa_flags = SA_ONSTACK;
  sigaction (SIGSEGV, &action, (struct sigaction *) NULL);
  sigaction (SIGBUS, &action, (struct sigaction *) NULL);
  /* Provoke two stack overflows in a row.  */
  if (sigsetjmp (mainloop, 1) < 2)
    {
      recurse (0);
      exit (2);
    }
  exit (0);
}
_ACEOF
rm -f conftest$ac_exeext
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:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_link") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
  { (case "(($ac_try" in
  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
  *) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
$as_echo "$ac_try_echo") >&5
  (eval "$ac_try") 2>&5
  ac_status=$?
  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }; }; then
  sv_cv_leave_handler_siglongjmp_setcontext=yes
else
  $as_echo "$as_me: program exited with status $ac_status" >&5
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

( exit $ac_status )
sv_cv_leave_handler_siglongjmp_setcontext=no
fi
rm -rf conftest.dSYM
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
fi



fi
{ $as_echo "$as_me:$LINENO: result: $sv_cv_leave_handler_siglongjmp_setcontext" >&5
$as_echo "$sv_cv_leave_handler_siglongjmp_setcontext" >&6; }


# End of MacOS X special casing.
    ;;
esac

CFG_LEAVE=
if test "$sv_cv_leave_handler_longjmp" != no; then
  CFG_LEAVE=leave-nop.c
else
  if test "$sv_cv_leave_handler_longjmp_sigaltstack" != no; then
    CFG_LEAVE=leave-sigaltstack.c
  else
    if test "$sv_cv_leave_handler_longjmp_setcontext" != no; then
      CFG_LEAVE=leave-setcontext.c
    fi
  fi
fi
case "$host_os" in
  # On BeOS, the 6 tests fail because sigaltstack() doesn't exist.
  # If one uses set_signal_stack() instead of sigaltstack(), the first
  # test actually works. i.e. sv_cv_leave_handler_longjmp would be 'yes'.
  beos*) CFG_LEAVE=leave-nop.c ;;
esac
if test -z "$CFG_LEAVE"; then
  CFG_LEAVE=leave-none.c
fi

cat >>confdefs.h <<_ACEOF
#define CFG_LEAVE "$CFG_LEAVE"
_ACEOF



case "$host_os" in
  mingw* | cygwin*) CFG_HANDLER=handler-win32.c ;;
  *)
    if test -z "$CFG_HANDLER"; then
      if test $sv_cv_have_sigsegv_recovery = no \
         && test $sv_cv_have_stack_overflow_recovery = no; then
        CFG_HANDLER=handler-none.c
      else
        CFG_HANDLER=handler-unix.c
      fi
    fi
    ;;
esac

cat >>confdefs.h <<_ACEOF
#define CFG_HANDLER "$CFG_HANDLER"
_ACEOF



{ echo; echo "${term_bold}Build Parameters:${term_norm}"; } >& 6


  { $as_echo "$as_me:$LINENO: checking whether to activate relocatable installation" >&5
$as_echo_n "checking whether to activate relocatable installation... " >&6; }
  # Check whether --enable-relocatable was given.
if test "${enable_relocatable+set}" = set; then
  enableval=$enable_relocatable; if test "$enableval" != no; then
       RELOCATABLE=yes
     else
       RELOCATABLE=no
     fi

else
  RELOCATABLE=no
fi


  { $as_echo "$as_me:$LINENO: result: $RELOCATABLE" >&5
$as_echo "$RELOCATABLE" >&6; }


{ echo; echo "${term_bold}Output Substitution:${term_norm}"; } >& 6

ac_config_files="$ac_config_files Makefile src/Makefile src/sigsegv.h tests/Makefile"

cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
# tests run on this system so they can be shared between configure
# scripts and configure runs, see configure's option --config-cache.
# It is not useful on other systems.  If it contains results you don't
# want to keep, you may remove or edit it.
#
# config.status only pays attention to the cache file if you give it
# the --recheck option to rerun configure.
#
# `ac_cv_env_foo' variables (set or unset) will be overridden when
# loading this file, other *unset* `ac_cv_foo' will be assigned the
# following values.

_ACEOF

# The following way of writing the cache mishandles newlines in values,
# but we know of no workaround that is simple, portable, and efficient.
# So, we kill variables containing newlines.
# Ultrix sh set writes to stderr and can't be redirected directly,
# and sets the high bit in the cache file unless we assign to the vars.
(
  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
    eval ac_val=\$$ac_var
    case $ac_val in #(
    *${as_nl}*)
      case $ac_var in #(
      *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5
$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
      esac
      case $ac_var in #(
      _ | IFS | as_nl) ;; #(
      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
      *) $as_unset $ac_var ;;
      esac ;;
    esac
  done

  (set) 2>&1 |
    case $as_nl`(ac_space=' '; set) 2>&1` in #(
    *${as_nl}ac_space=\ *)
      # `set' does not quote correctly, so add quotes (double-quote
      # substitution turns \\\\ into \\, and sed turns \\ into \).
      sed -n \
	"s/'/'\\\\''/g;
	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
      ;; #(
    *)
      # `set' quotes correctly as required by POSIX, so do not add quotes.
      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
      ;;
    esac |
    sort
) |
  sed '
     /^ac_cv_env_/b end
     t clear
     :clear
     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
     t end
     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
     :end' >>confcache
if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
  if test -w "$cache_file"; then
    test "x$cache_file" != "x/dev/null" &&
      { $as_echo "$as_me:$LINENO: updating cache $cache_file" >&5
$as_echo "$as_me: updating cache $cache_file" >&6;}
    cat confcache >$cache_file
  else
    { $as_echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
  fi
fi
rm -f confcache

test "x$prefix" = xNONE && prefix=$ac_default_prefix
# Let make expand exec_prefix.
test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'

DEFS=-DHAVE_CONFIG_H

ac_libobjs=
ac_ltlibobjs=
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$//'
  ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
  # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
  #    will be set to the directory where LIBOBJS objects are built.
  ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
  ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo'
done
LIBOBJS=$ac_libobjs

LTLIBOBJS=$ac_ltlibobjs


 if test -n "$EXEEXT"; then
  am__EXEEXT_TRUE=
  am__EXEEXT_FALSE='#'
else
  am__EXEEXT_TRUE='#'
  am__EXEEXT_FALSE=
fi

if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
  { { $as_echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
$as_echo "$as_me: error: conditional \"AMDEP\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
   { (exit 1); exit 1; }; }
fi
if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
  { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
$as_echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
   { (exit 1); exit 1; }; }
fi

: ${CONFIG_STATUS=./config.status}
ac_write_fail=0
ac_clean_files_save=$ac_clean_files
ac_clean_files="$ac_clean_files $CONFIG_STATUS"
{ $as_echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
cat >$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
#! $SHELL
# Generated by $as_me.
# Run this file to recreate the current configuration.
# Compiler output produced by configure, useful for debugging
# configure, is in config.log if it exists.

debug=false
ac_cs_recheck=false
ac_cs_silent=false
SHELL=\${CONFIG_SHELL-$SHELL}
_ACEOF

cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
## --------------------- ##
## 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
  emulate sh
  NULLCMD=:
  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
  # is contrary to our usage.  Disable this feature.
  alias -g '${1+"$@"}'='"$@"'
  setopt NO_GLOB_SUBST
else
  case `(set -o) 2>/dev/null` in
  *posix*) set -o posix ;;
esac

fi




# PATH needs CR
# Avoid depending upon Character Ranges.
as_cr_letters='abcdefghijklmnopqrstuvwxyz'
as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
as_cr_Letters=$as_cr_letters$as_cr_LETTERS
as_cr_digits='0123456789'
as_cr_alnum=$as_cr_Letters$as_cr_digits

as_nl='
'
export as_nl
# Printing a long string crashes Solaris 7 /usr/bin/printf.
as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
  as_echo='printf %s\n'
  as_echo_n='printf %s'
else
  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
    as_echo_n='/usr/ucb/echo -n'
  else
    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
    as_echo_n_body='eval
      arg=$1;
      case $arg in
      *"$as_nl"*)
	expr "X$arg" : "X\\(.*\\)$as_nl";
	arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
      esac;
      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
    '
    export as_echo_n_body
    as_echo_n='sh -c $as_echo_n_body as_echo'
  fi
  export as_echo_body
  as_echo='sh -c $as_echo_body as_echo'
fi

# The user is always right.
if test "${PATH_SEPARATOR+set}" != set; then
  PATH_SEPARATOR=:
  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
      PATH_SEPARATOR=';'
  }
fi

# Support unset when possible.
if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
  as_unset=unset
else
  as_unset=false
fi


# IFS
# We need space, tab and new line, in precisely that order.  Quoting is
# there to prevent editors from complaining about space-tab.
# (If _AS_PATH_WALK were called with IFS unset, it would disable word
# splitting by setting IFS to empty value.)
IFS=" ""	$as_nl"

# Find who we are.  Look in the path if we contain no directory separator.
case $0 in
  *[\\/]* ) as_myself=$0 ;;
  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
  IFS=$as_save_IFS
  test -z "$as_dir" && as_dir=.
  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
done
IFS=$as_save_IFS

     ;;
esac
# We did not find ourselves, most probably we were run as `sh COMMAND'
# in which case we are not to be found in the path.
if test "x$as_myself" = x; then
  as_myself=$0
fi
if test ! -f "$as_myself"; then
  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
  { (exit 1); exit 1; }
fi

# Work around bugs in pre-3.0 UWIN ksh.
for as_var in ENV MAIL MAILPATH
do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
done
PS1='$ '
PS2='> '
PS4='+ '

# NLS nuisances.
LC_ALL=C
export LC_ALL
LANGUAGE=C
export LANGUAGE

# Required to use basename.
if expr a : '\(a\)' >/dev/null 2>&1 &&
   test "X`expr 00001 : '.*\(...\)'`" = X001; then
  as_expr=expr
else
  as_expr=false
fi

if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
  as_basename=basename
else
  as_basename=false
fi


# Name of the executable.
as_me=`$as_basename -- "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
	 X"$0" : 'X\(//\)$' \| \
	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X/"$0" |
    sed '/^.*\/\([^/][^/]*\)\/*$/{
	    s//\1/
	    q
	  }
	  /^X\/\(\/\/\)$/{
	    s//\1/
	    q
	  }
	  /^X\/\(\/\).*/{
	    s//\1/
	    q
	  }
	  s/.*/./; q'`

# CDPATH.
$as_unset CDPATH



  as_lineno_1=$LINENO
  as_lineno_2=$LINENO
  test "x$as_lineno_1" != "x$as_lineno_2" &&
  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {

  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
  # uniformly replaced by the line number.  The first 'sed' inserts a
  # line-number line after each line using $LINENO; the second 'sed'
  # does the real work.  The second script uses 'N' to pair each
  # line-number line with the line containing $LINENO, and appends
  # trailing '-' during substitution so that $LINENO is not a special
  # case at line end.
  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
  # scripts with optimization help from Paolo Bonzini.  Blame Lee
  # E. McMahon (1931-1989) for sed's syntax.  :-)
  sed -n '
    p
    /[$]LINENO/=
  ' <$as_myself |
    sed '
      s/[$]LINENO.*/&-/
      t lineno
      b
      :lineno
      N
      :loop
      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
      t loop
      s/-\n.*//
    ' >$as_me.lineno &&
  chmod +x "$as_me.lineno" ||
    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
   { (exit 1); exit 1; }; }

  # Don't try to exec as it changes $[0], causing all sort of problems
  # (the dirname of $[0] is not the place where we might find the
  # original and so on.  Autoconf is especially sensitive to this).
  . "./$as_me.lineno"
  # Exit status is that of the last command.
  exit
}


if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
  as_dirname=dirname
else
  as_dirname=false
fi

ECHO_C= ECHO_N= ECHO_T=
case `echo -n x` in
-n*)
  case `echo 'x\c'` in
  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
  *)   ECHO_C='\c';;
  esac;;
*)
  ECHO_N='-n';;
esac
if expr a : '\(a\)' >/dev/null 2>&1 &&
   test "X`expr 00001 : '.*\(...\)'`" = X001; then
  as_expr=expr
else
  as_expr=false
fi

rm -f conf$$ conf$$.exe conf$$.file
if test -d conf$$.dir; then
  rm -f conf$$.dir/conf$$.file
else
  rm -f conf$$.dir
  mkdir conf$$.dir 2>/dev/null
fi
if (echo >conf$$.file) 2>/dev/null; then
  if ln -s conf$$.file conf$$ 2>/dev/null; then
    as_ln_s='ln -s'
    # ... but there are two gotchas:
    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
    # In both cases, we have to default to `cp -p'.
    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
      as_ln_s='cp -p'
  elif ln conf$$.file conf$$ 2>/dev/null; then
    as_ln_s=ln
  else
    as_ln_s='cp -p'
  fi
else
  as_ln_s='cp -p'
fi
rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
rmdir conf$$.dir 2>/dev/null

if mkdir -p . 2>/dev/null; then
  as_mkdir_p=:
else
  test -d ./-p && rmdir ./-p
  as_mkdir_p=false
fi

if test -x / >/dev/null 2>&1; then
  as_test_x='test -x'
else
  if ls -dL / >/dev/null 2>&1; then
    as_ls_L_option=L
  else
    as_ls_L_option=
  fi
  as_test_x='
    eval sh -c '\''
      if test -d "$1"; then
	test -d "$1/.";
      else
	case $1 in
	-*)set "./$1";;
	esac;
	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
	???[sx]*):;;*)false;;esac;fi
    '\'' sh
  '
fi
as_executable_p=$as_test_x

# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"

# Sed expression to map a string onto a valid variable name.
as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"


exec 6>&1

# Save the log message, to keep $[0] and so on meaningful, and to
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by $as_me, which was
generated by GNU Autoconf 2.63.  Invocation command line was

  CONFIG_FILES    = $CONFIG_FILES
  CONFIG_HEADERS  = $CONFIG_HEADERS
  CONFIG_LINKS    = $CONFIG_LINKS
  CONFIG_COMMANDS = $CONFIG_COMMANDS
  $ $0 $@

on `(hostname || uname -n) 2>/dev/null | sed 1q`
"

_ACEOF

case $ac_config_files in *"
"*) set x $ac_config_files; shift; ac_config_files=$*;;
esac

case $ac_config_headers in *"
"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
esac


cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
# Files that config.status was made for.
config_files="$ac_config_files"
config_headers="$ac_config_headers"
config_commands="$ac_config_commands"

_ACEOF

cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
ac_cs_usage="\
\`$as_me' instantiates files from templates according to the
current configuration.

Usage: $0 [OPTION]... [FILE]...

  -h, --help       print this help, then exit
  -V, --version    print version number and configuration settings, then exit
  -q, --quiet, --silent
                   do not print progress messages
  -d, --debug      don't remove temporary files
      --recheck    update $as_me by reconfiguring in the same conditions
      --file=FILE[:TEMPLATE]
                   instantiate the configuration file FILE
      --header=FILE[:TEMPLATE]
                   instantiate the configuration header FILE

Configuration files:
$config_files

Configuration headers:
$config_headers

Configuration commands:
$config_commands

Report bugs to <bug-autoconf@gnu.org>."

_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_version="\\
config.status
configured by $0, generated by GNU Autoconf 2.63,
  with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"

Copyright (C) 2008 Free Software Foundation, Inc.
This config.status script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it."

ac_pwd='$ac_pwd'
srcdir='$srcdir'
INSTALL='$INSTALL'
MKDIR_P='$MKDIR_P'
AWK='$AWK'
test -n "\$AWK" || AWK=awk
_ACEOF

cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# The default lists apply if the user does not specify any file.
ac_need_defaults=:
while test $# != 0
do
  case $1 in
  --*=*)
    ac_option=`expr "X$1" : 'X\([^=]*\)='`
    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
    ac_shift=:
    ;;
  *)
    ac_option=$1
    ac_optarg=$2
    ac_shift=shift
    ;;
  esac

  case $ac_option in
  # Handling of the options.
  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
    ac_cs_recheck=: ;;
  --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
    $as_echo "$ac_cs_version"; 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"` ;;
    esac
    CONFIG_FILES="$CONFIG_FILES '$ac_optarg'"
    ac_need_defaults=false;;
  --header | --heade | --head | --hea )
    $ac_shift
    case $ac_optarg in
    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
    esac
    CONFIG_HEADERS="$CONFIG_HEADERS '$ac_optarg'"
    ac_need_defaults=false;;
  --he | --h)
    # Conflict between --help and --header
    { $as_echo "$as_me: error: ambiguous option: $1
Try \`$0 --help' for more information." >&2
   { (exit 1); exit 1; }; };;
  --help | --hel | -h )
    $as_echo "$ac_cs_usage"; exit ;;
  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
  | -silent | --silent | --silen | --sile | --sil | --si | --s)
    ac_cs_silent=: ;;

  # This is an error.
  -*) { $as_echo "$as_me: error: unrecognized option: $1
Try \`$0 --help' for more information." >&2
   { (exit 1); exit 1; }; } ;;

  *) ac_config_targets="$ac_config_targets $1"
     ac_need_defaults=false ;;

  esac
  shift
done

ac_configure_extra_args=

if $ac_cs_silent; then
  exec 6>/dev/null
  ac_configure_extra_args="$ac_configure_extra_args --silent"
fi

_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
if \$ac_cs_recheck; then
  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
  shift
  \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
  CONFIG_SHELL='$SHELL'
  export CONFIG_SHELL
  exec "\$@"
fi

_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
exec 5>>config.log
{
  echo
  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
## Running $as_me. ##
_ASBOX
  $as_echo "$ac_log"
} >&5

_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
#
# INIT-COMMANDS
#
AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"


# 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

sed_quote_subst='$sed_quote_subst'
double_quote_subst='$double_quote_subst'
delay_variable_subst='$delay_variable_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_='`$ECHO "X$LD_" | $Xsed -e "$delay_single_quote_subst"`'
old_archive_cmds_='`$ECHO "X$old_archive_cmds_" | $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_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"`'
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"`'
hardcode_action_='`$ECHO "X$hardcode_action_" | $Xsed -e "$delay_single_quote_subst"`'

LTCC='$LTCC'
LTCFLAGS='$LTCFLAGS'
compiler='$compiler_DEFAULT'

# Quote evaled strings.
for var in SED \
GREP \
EGREP \
FGREP \
LD \
NM \
LN_S \
lt_SP2NL \
lt_NL2SP \
reload_flag \
deplibs_check_method \
file_magic_cmd \
AR \
AR_FLAGS \
STRIP \
RANLIB \
CC \
CFLAGS \
compiler \
lt_cv_sys_global_symbol_pipe \
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 \
lt_prog_compiler_static \
lt_cv_prog_compiler_c_o \
need_locks \
DSYMUTIL \
NMEDIT \
LIPO \
OTOOL \
OTOOL64 \
shrext_cmds \
export_dynamic_flag_spec \
whole_archive_flag_spec \
compiler_needs_object \
with_gnu_ld \
allow_undefined_flag \
no_undefined_flag \
hardcode_libdir_flag_spec \
hardcode_libdir_flag_spec_ld \
hardcode_libdir_separator \
fix_srcfile_path \
exclude_expsyms \
include_expsyms \
file_list_spec \
variables_saved_for_relink \
libname_spec \
library_names_spec \
soname_spec \
finish_eval \
old_striplib \
striplib \
LD_ \
compiler_ \
lt_prog_compiler_no_builtin_flag_ \
lt_prog_compiler_wl_ \
lt_prog_compiler_pic_ \
lt_prog_compiler_static_ \
lt_cv_prog_compiler_c_o_ \
export_dynamic_flag_spec_ \
whole_archive_flag_spec_ \
compiler_needs_object_ \
with_gnu_ld_ \
allow_undefined_flag_ \
no_undefined_flag_ \
hardcode_libdir_flag_spec_ \
hardcode_libdir_flag_spec_ld_ \
hardcode_libdir_separator_ \
fix_srcfile_path_ \
exclude_expsyms_ \
include_expsyms_ \
file_list_spec_; do
    case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
    *[\\\\\\\`\\"\\\$]*)
      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
      ;;
    *)
      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
      ;;
    esac
done

# Double-quote double-evaled strings.
for var in reload_cmds \
old_postinstall_cmds \
old_postuninstall_cmds \
old_archive_cmds \
extract_expsyms_cmds \
old_archive_from_new_cmds \
old_archive_from_expsyms_cmds \
archive_cmds \
archive_expsym_cmds \
module_cmds \
module_expsym_cmds \
export_symbols_cmds \
prelink_cmds \
postinstall_cmds \
postuninstall_cmds \
finish_cmds \
sys_lib_search_path_spec \
sys_lib_dlsearch_path_spec \
old_archive_cmds_ \
old_archive_from_new_cmds_ \
old_archive_from_expsyms_cmds_ \
archive_cmds_ \
archive_expsym_cmds_ \
module_cmds_ \
module_expsym_cmds_ \
export_symbols_cmds_ \
prelink_cmds_; do
    case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
    *[\\\\\\\`\\"\\\$]*)
      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -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'

# See if we are running on zsh, and set the options which allow our
# commands through without removal of \ escapes INIT.
if test -n "\${ZSH_VERSION+set}" ; then
   setopt NO_GLOB_SUBST
fi


    PACKAGE='$PACKAGE'
    VERSION='$VERSION'
    TIMESTAMP='$TIMESTAMP'
    RM='$RM'
    ofile='$ofile'




_ACEOF

cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1

# Handling of arguments.
for ac_config_target in $ac_config_targets
do
  case $ac_config_target in
    "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
    "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
    "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
    "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
    "src/sigsegv.h") CONFIG_FILES="$CONFIG_FILES src/sigsegv.h" ;;
    "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;;

  *) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
$as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
   { (exit 1); exit 1; }; };;
  esac
done


# If the user did not use the arguments to specify the items to instantiate,
# then the envvar interface is used.  Set only those that are not.
# We use the long form for the default assignment because of an extremely
# bizarre bug on SunOS 4.1.3.
if $ac_need_defaults; then
  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
  test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
  test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
fi

# Have a temporary directory for convenience.  Make it in the build tree
# simply because there is no reason against having it here, and in addition,
# creating and moving files from /tmp can sometimes cause problems.
# Hook for its removal unless debugging.
# Note that there is a small window in which the directory will not be cleaned:
# after its creation but before its name has been assigned to `$tmp'.
$debug ||
{
  tmp=
  trap 'exit_status=$?
  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
' 0
  trap '{ (exit 1); exit 1; }' 1 2 13 15
}
# Create a (secure) tmp directory for tmp files.

{
  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
  test -n "$tmp" && test -d "$tmp"
}  ||
{
  tmp=./conf$$-$RANDOM
  (umask 077 && mkdir "$tmp")
} ||
{
   $as_echo "$as_me: cannot create a temporary directory in ." >&2
   { (exit 1); exit 1; }
}

# Set up the scripts for CONFIG_FILES section.
# No need to generate them if there are no CONFIG_FILES.
# This happens for instance with `./config.status config.h'.
if test -n "$CONFIG_FILES"; then


ac_cr='
'
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'
else
  ac_cs_awk_cr=$ac_cr
fi

echo 'BEGIN {' >"$tmp/subs1.awk" &&
_ACEOF


{
  echo "cat >conf$$subs.awk <<_ACEOF" &&
  echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
  echo "_ACEOF"
} >conf$$subs.sh ||
  { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
   { (exit 1); exit 1; }; }
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_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
   { (exit 1); exit 1; }; }

  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_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
   { (exit 1); exit 1; }; }
  else
    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
  fi
done
rm -f conf$$subs.sh

cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
_ACEOF
sed -n '
h
s/^/S["/; s/!.*/"]=/
p
g
s/^[^!]*!//
:repl
t repl
s/'"$ac_delim"'$//
t delim
:nl
h
s/\(.\{148\}\).*/\1/
t more1
s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
p
n
b repl
:more1
s/["\\]/\\&/g; s/^/"/; s/$/"\\/
p
g
s/.\{148\}//
t nl
:delim
h
s/\(.\{148\}\).*/\1/
t more2
s/["\\]/\\&/g; s/^/"/; s/$/"/
p
b
:more2
s/["\\]/\\&/g; s/^/"/; s/$/"\\/
p
g
s/.\{148\}//
t delim
' <conf$$subs.awk | sed '
/^[^""]/{
  N
  s/\n//
}
' >>$CONFIG_STATUS || ac_write_fail=1
rm -f conf$$subs.awk
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
_ACAWK
cat >>"\$tmp/subs1.awk" <<_ACAWK &&
  for (key in S) S_is_set[key] = 1
  FS = ""

}
{
  line = $ 0
  nfields = split(line, field, "@")
  substed = 0
  len = length(field[1])
  for (i = 2; i < nfields; i++) {
    key = field[i]
    keylen = length(key)
    if (S_is_set[key]) {
      value = S[key]
      line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
      len += length(value) + length(field[++i])
      substed = 1
    } else
      len += 1 + keylen
  }

  print line
}

_ACAWK
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
  sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
else
  cat
fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
  || { { $as_echo "$as_me:$LINENO: error: could not setup config files machinery" >&5
$as_echo "$as_me: error: could not setup config files machinery" >&2;}
   { (exit 1); exit 1; }; }
_ACEOF

# VPATH may cause trouble with some makes, so we remove $(srcdir),
# ${srcdir} and @srcdir@ 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/
s/:*$//
s/^[^=]*=[	 ]*$//
}'
fi

cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
fi # test -n "$CONFIG_FILES"

# Set up the scripts for CONFIG_HEADERS section.
# No need to generate them if there are no CONFIG_HEADERS.
# This happens for instance with `./config.status Makefile'.
if test -n "$CONFIG_HEADERS"; then
cat >"$tmp/defines.awk" <<\_ACAWK ||
BEGIN {
_ACEOF

# Transform confdefs.h into an awk script `defines.awk', embedded as
# here-document in config.status, that substitutes the proper values into
# config.h.in to produce config.h.

# Create a delimiter string that does not exist in confdefs.h, to ease
# handling of long lines.
ac_delim='%!_!# '
for ac_last_try in false false :; do
  ac_t=`sed -n "/$ac_delim/p" confdefs.h`
  if test -z "$ac_t"; then
    break
  elif $ac_last_try; then
    { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_HEADERS" >&5
$as_echo "$as_me: error: could not make $CONFIG_HEADERS" >&2;}
   { (exit 1); exit 1; }; }
  else
    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
  fi
done

# For the awk script, D is an array of macro values keyed by name,
# likewise P contains macro parameters if any.  Preserve backslash
# newline sequences.

ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
sed -n '
s/.\{148\}/&'"$ac_delim"'/g
t rset
:rset
s/^[	 ]*#[	 ]*define[	 ][	 ]*/ /
t def
d
:def
s/\\$//
t bsnl
s/["\\]/\\&/g
s/^ \('"$ac_word_re"'\)\(([^()]*)\)[	 ]*\(.*\)/P["\1"]="\2"\
D["\1"]=" \3"/p
s/^ \('"$ac_word_re"'\)[	 ]*\(.*\)/D["\1"]=" \2"/p
d
:bsnl
s/["\\]/\\&/g
s/^ \('"$ac_word_re"'\)\(([^()]*)\)[	 ]*\(.*\)/P["\1"]="\2"\
D["\1"]=" \3\\\\\\n"\\/p
t cont
s/^ \('"$ac_word_re"'\)[	 ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
t cont
d
:cont
n
s/.\{148\}/&'"$ac_delim"'/g
t clear
:clear
s/\\$//
t bsnlc
s/["\\]/\\&/g; s/^/"/; s/$/"/p
d
:bsnlc
s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
b cont
' <confdefs.h | sed '
s/'"$ac_delim"'/"\\\
"/g' >>$CONFIG_STATUS || ac_write_fail=1

cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
  for (key in D) D_is_set[key] = 1
  FS = ""
}
/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
  line = \$ 0
  split(line, arg, " ")
  if (arg[1] == "#") {
    defundef = arg[2]
    mac1 = arg[3]
  } else {
    defundef = substr(arg[1], 2)
    mac1 = arg[2]
  }
  split(mac1, mac2, "(") #)
  macro = mac2[1]
  prefix = substr(line, 1, index(line, defundef) - 1)
  if (D_is_set[macro]) {
    # Preserve the white space surrounding the "#".
    print prefix "define", macro P[macro] D[macro]
    next
  } else {
    # Replace #undef with comments.  This is necessary, for example,
    # in the case of _POSIX_SOURCE, which is predefined and required
    # on some systems where configure will not decide to define it.
    if (defundef == "undef") {
      print "/*", prefix defundef, macro, "*/"
      next
    }
  }
}
{ print }
_ACAWK
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
  { { $as_echo "$as_me:$LINENO: error: could not setup config headers machinery" >&5
$as_echo "$as_me: error: could not setup config headers machinery" >&2;}
   { (exit 1); exit 1; }; }
fi # test -n "$CONFIG_HEADERS"


eval set X "  :F $CONFIG_FILES  :H $CONFIG_HEADERS    :C $CONFIG_COMMANDS"
shift
for ac_tag
do
  case $ac_tag in
  :[FHLC]) ac_mode=$ac_tag; continue;;
  esac
  case $ac_mode$ac_tag in
  :[FHL]*:*);;
  :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: invalid tag $ac_tag" >&5
$as_echo "$as_me: error: invalid tag $ac_tag" >&2;}
   { (exit 1); exit 1; }; };;
  :[FH]-) ac_tag=-:-;;
  :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
  esac
  ac_save_IFS=$IFS
  IFS=:
  set x $ac_tag
  IFS=$ac_save_IFS
  shift
  ac_file=$1
  shift

  case $ac_mode in
  :L) ac_source=$1;;
  :[FH])
    ac_file_inputs=
    for ac_f
    do
      case $ac_f in
      -) ac_f="$tmp/stdin";;
      *) # Look for the file first in the build tree, then in the source tree
	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
	 # because $ac_f cannot contain `:'.
	 test -f "$ac_f" ||
	   case $ac_f in
	   [\\/$]*) false;;
	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
	   esac ||
	   { { $as_echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
$as_echo "$as_me: error: cannot find input file: $ac_f" >&2;}
   { (exit 1); exit 1; }; };;
      esac
      case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
      ac_file_inputs="$ac_file_inputs '$ac_f'"
    done

    # Let's still pretend it is `configure' which instantiates (i.e., don't
    # use $as_me), people would be surprised to read:
    #    /* config.h.  Generated by config.status.  */
    configure_input='Generated from '`
	  $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
	`' by configure.'
    if test x"$ac_file" != x-; then
      configure_input="$ac_file.  $configure_input"
      { $as_echo "$as_me:$LINENO: creating $ac_file" >&5
$as_echo "$as_me: creating $ac_file" >&6;}
    fi
    # Neutralize special characters interpreted by sed in replacement strings.
    case $configure_input in #(
    *\&* | *\|* | *\\* )
       ac_sed_conf_input=`$as_echo "$configure_input" |
       sed 's/[\\\\&|]/\\\\&/g'`;; #(
    *) ac_sed_conf_input=$configure_input;;
    esac

    case $ac_tag in
    *:-:* | *:-) cat >"$tmp/stdin" \
      || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
$as_echo "$as_me: error: could not create $ac_file" >&2;}
   { (exit 1); exit 1; }; } ;;
    esac
    ;;
  esac

  ac_dir=`$as_dirname -- "$ac_file" ||
$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
	 X"$ac_file" : 'X\(//\)[^/]' \| \
	 X"$ac_file" : 'X\(//\)$' \| \
	 X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X"$ac_file" |
    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
	    s//\1/
	    q
	  }
	  /^X\(\/\/\)[^/].*/{
	    s//\1/
	    q
	  }
	  /^X\(\/\/\)$/{
	    s//\1/
	    q
	  }
	  /^X\(\/\).*/{
	    s//\1/
	    q
	  }
	  s/.*/./; q'`
  { as_dir="$ac_dir"
  case $as_dir in #(
  -*) as_dir=./$as_dir;;
  esac
  test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
    as_dirs=
    while :; do
      case $as_dir in #(
      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
      *) as_qdir=$as_dir;;
      esac
      as_dirs="'$as_qdir' $as_dirs"
      as_dir=`$as_dirname -- "$as_dir" ||
$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
	 X"$as_dir" : 'X\(//\)[^/]' \| \
	 X"$as_dir" : 'X\(//\)$' \| \
	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X"$as_dir" |
    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
	    s//\1/
	    q
	  }
	  /^X\(\/\/\)[^/].*/{
	    s//\1/
	    q
	  }
	  /^X\(\/\/\)$/{
	    s//\1/
	    q
	  }
	  /^X\(\/\).*/{
	    s//\1/
	    q
	  }
	  s/.*/./; q'`
      test -d "$as_dir" && break
    done
    test -z "$as_dirs" || eval "mkdir $as_dirs"
  } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
$as_echo "$as_me: error: cannot create directory $as_dir" >&2;}
   { (exit 1); exit 1; }; }; }
  ac_builddir=.

case "$ac_dir" in
.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
*)
  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
  # A ".." for each directory in $ac_dir_suffix.
  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
  case $ac_top_builddir_sub in
  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
  esac ;;
esac
ac_abs_top_builddir=$ac_pwd
ac_abs_builddir=$ac_pwd$ac_dir_suffix
# for backward compatibility:
ac_top_builddir=$ac_top_build_prefix

case $srcdir in
  .)  # We are building in place.
    ac_srcdir=.
    ac_top_srcdir=$ac_top_builddir_sub
    ac_abs_top_srcdir=$ac_pwd ;;
  [\\/]* | ?:[\\/]* )  # Absolute name.
    ac_srcdir=$srcdir$ac_dir_suffix;
    ac_top_srcdir=$srcdir
    ac_abs_top_srcdir=$srcdir ;;
  *) # Relative name.
    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
    ac_top_srcdir=$ac_top_build_prefix$srcdir
    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
esac
ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix


  case $ac_mode in
  :F)
  #
  # CONFIG_FILE
  #

  case $INSTALL in
  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
  *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
  esac
  ac_MKDIR_P=$MKDIR_P
  case $MKDIR_P in
  [\\/$]* | ?:[\\/]* ) ;;
  */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
  esac
_ACEOF

cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# If the template does not know about datarootdir, expand it.
# FIXME: This hack should be removed a few years after 2.60.
ac_datarootdir_hack=; ac_datarootdir_seen=

ac_sed_dataroot='
/datarootdir/ {
  p
  q
}
/@datadir@/p
/@docdir@/p
/@infodir@/p
/@localedir@/p
/@mandir@/p
'
case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
*datarootdir*) ac_datarootdir_seen=yes;;
*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
  { $as_echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
  ac_datarootdir_hack='
  s&@datadir@&$datadir&g
  s&@docdir@&$docdir&g
  s&@infodir@&$infodir&g
  s&@localedir@&$localedir&g
  s&@mandir@&$mandir&g
    s&\\\${datarootdir}&$datarootdir&g' ;;
esac
_ACEOF

# Neutralize VPATH when `$srcdir' = `.'.
# Shell code in configure.ac might set extrasub.
# FIXME: do we really want to maintain this feature?
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_sed_extra="$ac_vpsub
$extrasub
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
:t
/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
s|@configure_input@|$ac_sed_conf_input|;t t
s&@top_builddir@&$ac_top_builddir_sub&;t t
s&@top_build_prefix@&$ac_top_build_prefix&;t t
s&@srcdir@&$ac_srcdir&;t t
s&@abs_srcdir@&$ac_abs_srcdir&;t t
s&@top_srcdir@&$ac_top_srcdir&;t t
s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
s&@builddir@&$ac_builddir&;t t
s&@abs_builddir@&$ac_abs_builddir&;t t
s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
s&@INSTALL@&$ac_INSTALL&;t t
s&@MKDIR_P@&$ac_MKDIR_P&;t t
$ac_datarootdir_hack
"
eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
  || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
$as_echo "$as_me: error: could not create $ac_file" >&2;}
   { (exit 1); exit 1; }; }

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:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
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;}

  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_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
$as_echo "$as_me: error: could not create $ac_file" >&2;}
   { (exit 1); exit 1; }; }
 ;;
  :H)
  #
  # CONFIG_HEADER
  #
  if test x"$ac_file" != x-; then
    {
      $as_echo "/* $configure_input  */" \
      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
    } >"$tmp/config.h" \
      || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
$as_echo "$as_me: error: could not create $ac_file" >&2;}
   { (exit 1); exit 1; }; }
    if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
      { $as_echo "$as_me:$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_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
$as_echo "$as_me: error: could not create $ac_file" >&2;}
   { (exit 1); exit 1; }; }
    fi
  else
    $as_echo "/* $configure_input  */" \
      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
      || { { $as_echo "$as_me:$LINENO: error: could not create -" >&5
$as_echo "$as_me: error: could not create -" >&2;}
   { (exit 1); exit 1; }; }
  fi
# Compute "$ac_file"'s index in $config_headers.
_am_arg="$ac_file"
_am_stamp_count=1
for _am_header in $config_headers :; do
  case $_am_header in
    $_am_arg | $_am_arg:* )
      break ;;
    * )
      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
  esac
done
echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
	 X"$_am_arg" : 'X\(//\)[^/]' \| \
	 X"$_am_arg" : 'X\(//\)$' \| \
	 X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X"$_am_arg" |
    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
	    s//\1/
	    q
	  }
	  /^X\(\/\/\)[^/].*/{
	    s//\1/
	    q
	  }
	  /^X\(\/\/\)$/{
	    s//\1/
	    q
	  }
	  /^X\(\/\).*/{
	    s//\1/
	    q
	  }
	  s/.*/./; q'`/stamp-h$_am_stamp_count
 ;;

  :C)  { $as_echo "$as_me:$LINENO: executing $ac_file commands" >&5
$as_echo "$as_me: executing $ac_file commands" >&6;}
 ;;
  esac


  case $ac_file$ac_mode in
    "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
  # Autoconf 2.62 quotes --file arguments for eval, but not when files
  # are listed without --file.  Let's play safe and only enable the eval
  # if we detect the quoting.
  case $CONFIG_FILES in
  *\'*) eval set x "$CONFIG_FILES" ;;
  *)   set x $CONFIG_FILES ;;
  esac
  shift
  for mf
  do
    # Strip MF so we end up with the name of the file.
    mf=`echo "$mf" | sed -e 's/:.*$//'`
    # Check whether this is an Automake generated Makefile or not.
    # We used to match only the files named `Makefile.in', but
    # some people rename them; so instead we look at the file content.
    # Grep'ing the first line is not enough: some people post-process
    # each Makefile.in and add a new line on top of each file to say so.
    # Grep'ing the whole file is not good either: AIX grep has a line
    # limit of 2048, but all sed's we know have understand at least 4000.
    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
      dirpart=`$as_dirname -- "$mf" ||
$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
	 X"$mf" : 'X\(//\)[^/]' \| \
	 X"$mf" : 'X\(//\)$' \| \
	 X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X"$mf" |
    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
	    s//\1/
	    q
	  }
	  /^X\(\/\/\)[^/].*/{
	    s//\1/
	    q
	  }
	  /^X\(\/\/\)$/{
	    s//\1/
	    q
	  }
	  /^X\(\/\).*/{
	    s//\1/
	    q
	  }
	  s/.*/./; q'`
    else
      continue
    fi
    # Extract the definition of DEPDIR, am__include, and am__quote
    # from the Makefile without running `make'.
    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
    test -z "$DEPDIR" && continue
    am__include=`sed -n 's/^am__include = //p' < "$mf"`
    test -z "am__include" && continue
    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
    # When using ansi2knr, U may be empty or an underscore; expand it
    U=`sed -n 's/^U = //p' < "$mf"`
    # Find all dependency output files, they are included files with
    # $(DEPDIR) in their names.  We invoke sed twice because it is the
    # simplest approach to changing $(DEPDIR) to its actual value in the
    # expansion.
    for file in `sed -n "
      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
      # Make sure the directory exists.
      test -f "$dirpart/$file" && continue
      fdir=`$as_dirname -- "$file" ||
$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
	 X"$file" : 'X\(//\)[^/]' \| \
	 X"$file" : 'X\(//\)$' \| \
	 X"$file" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X"$file" |
    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
	    s//\1/
	    q
	  }
	  /^X\(\/\/\)[^/].*/{
	    s//\1/
	    q
	  }
	  /^X\(\/\/\)$/{
	    s//\1/
	    q
	  }
	  /^X\(\/\).*/{
	    s//\1/
	    q
	  }
	  s/.*/./; q'`
      { as_dir=$dirpart/$fdir
  case $as_dir in #(
  -*) as_dir=./$as_dir;;
  esac
  test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
    as_dirs=
    while :; do
      case $as_dir in #(
      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
      *) as_qdir=$as_dir;;
      esac
      as_dirs="'$as_qdir' $as_dirs"
      as_dir=`$as_dirname -- "$as_dir" ||
$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
	 X"$as_dir" : 'X\(//\)[^/]' \| \
	 X"$as_dir" : 'X\(//\)$' \| \
	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X"$as_dir" |
    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
	    s//\1/
	    q
	  }
	  /^X\(\/\/\)[^/].*/{
	    s//\1/
	    q
	  }
	  /^X\(\/\/\)$/{
	    s//\1/
	    q
	  }
	  /^X\(\/\).*/{
	    s//\1/
	    q
	  }
	  s/.*/./; q'`
      test -d "$as_dir" && break
    done
    test -z "$as_dirs" || eval "mkdir $as_dirs"
  } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
$as_echo "$as_me: error: cannot create directory $as_dir" >&2;}
   { (exit 1); exit 1; }; }; }
      # echo "creating $dirpart/$file"
      echo '# dummy' > "$dirpart/$file"
    done
  done
}
 ;;
    "libtool":C)

    # See if we are running on zsh, and set the options which allow our
    # commands through without removal of \ escapes.
    if test -n "${ZSH_VERSION+set}" ; then
      setopt NO_GLOB_SUBST
    fi

    cfgfile="${ofile}T"
    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
    $RM "$cfgfile"

    cat <<_LT_EOF >> "$cfgfile"
#! $SHELL

# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
# 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.
#   Written by Gordon Matzigkeit, 1996
#
#   This file is part of GNU Libtool.
#
# GNU Libtool is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation; either version 2 of
# the License, or (at your option) any later version.
#
# As a special exception to the GNU General Public License,
# if you distribute this file as part of a program or library that
# is built using GNU Libtool, you may include this file under the
# same distribution terms that you use for the rest of that program.
#
# GNU Libtool is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GNU Libtool; see the file COPYING.  If not, a copy
# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
# obtained by writing to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.


# The names of the tagged configurations supported by this script.
available_tags=""

# ### BEGIN LIBTOOL CONFIG

# Which release of libtool.m4 was used?
macro_version=$macro_version
macro_revision=$macro_revision

# Whether or not to build shared libraries.
build_libtool_libs=$enable_shared

# Whether or not to build static libraries.
build_old_libs=$enable_static

# What type of objects to build.
pic_mode=$pic_mode

# Whether or not to optimize for fast installation.
fast_install=$enable_fast_install

# The host system.
host_alias=$host_alias
host=$host
host_os=$host_os

# The build system.
build_alias=$build_alias
build=$build
build_os=$build_os

# A sed program that does not truncate output.
SED=$lt_SED

# Sed that helps us avoid accidentally triggering echo(1) options like -n.
Xsed="\$SED -e 1s/^X//"

# A grep program that handles long lines.
GREP=$lt_GREP

# An ERE matcher.
EGREP=$lt_EGREP

# A literal string matcher.
FGREP=$lt_FGREP

# A BSD- or MS-compatible name lister.
NM=$lt_NM

# Whether we need soft or hard links.
LN_S=$lt_LN_S

# What is the maximum length of a command?
max_cmd_len=$max_cmd_len

# Object file suffix (normally "o").
objext=$ac_objext

# Executable file suffix (normally "").
exeext=$exeext

# whether the shell understands "unset".
lt_unset=$lt_unset

# turn spaces into newlines.
SP2NL=$lt_lt_SP2NL

# 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

# Command to use when deplibs_check_method == "file_magic".
file_magic_cmd=$lt_file_magic_cmd

# The archiver.
AR=$lt_AR
AR_FLAGS=$lt_AR_FLAGS

# A symbol stripping program.
STRIP=$lt_STRIP

# Commands used to install an old-style archive.
RANLIB=$lt_RANLIB
old_postinstall_cmds=$lt_old_postinstall_cmds
old_postuninstall_cmds=$lt_old_postuninstall_cmds

# A C compiler.
LTCC=$lt_CC

# LTCC compiler flags.
LTCFLAGS=$lt_CFLAGS

# Take the output of nm and produce a listing of raw symbols and C names.
global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe

# Transform the output of nm in a proper C declaration.
global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl

# Transform the output of nm in a C name address pair.
global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address

# Transform the output of nm in a C name address pair when lib prefix is needed.
global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix

# 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

# Must we lock files when doing compilation?
need_locks=$lt_need_locks

# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
DSYMUTIL=$lt_DSYMUTIL

# Tool to change global to local symbols on Mac OS X.
NMEDIT=$lt_NMEDIT

# Tool to manipulate fat objects and archives on Mac OS X.
LIPO=$lt_LIPO

# ldd/readelf like tool for Mach-O binaries on Mac OS X.
OTOOL=$lt_OTOOL

# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
OTOOL64=$lt_OTOOL64

# Old archive suffix (normally "a").
libext=$libext

# Shared library suffix (normally ".so").
shrext_cmds=$lt_shrext_cmds

# The commands to extract the exported symbol list from a shared archive.
extract_expsyms_cmds=$lt_extract_expsyms_cmds

# Variables whose values should be saved in libtool wrapper scripts and
# restored at link time.
variables_saved_for_relink=$lt_variables_saved_for_relink

# Do we need the "lib" prefix for modules?
need_lib_prefix=$need_lib_prefix

# Do we need a version for libraries?
need_version=$need_version

# Library versioning type.
version_type=$version_type

# Shared library runtime path variable.
runpath_var=$runpath_var

# Shared library path variable.
shlibpath_var=$shlibpath_var

# Is shlibpath searched before the hard-coded library search path?
shlibpath_overrides_runpath=$shlibpath_overrides_runpath

# Format of library name prefix.
libname_spec=$lt_libname_spec

# List of archive names.  First name is the real one, the rest are links.
# The last name is the one that the linker finds with -lNAME
library_names_spec=$lt_library_names_spec

# The coded name of the library, if different from the real name.
soname_spec=$lt_soname_spec

# Command to use after installation of a shared archive.
postinstall_cmds=$lt_postinstall_cmds

# Command to use after uninstallation of a shared archive.
postuninstall_cmds=$lt_postuninstall_cmds

# Commands used to finish a libtool library installation in a directory.
finish_cmds=$lt_finish_cmds

# As "finish_cmds", except a single script fragment to be evaled but
# not shown.
finish_eval=$lt_finish_eval

# Whether we should hardcode library paths into libraries.
hardcode_into_libs=$hardcode_into_libs

# Compile-time system search path for libraries.
sys_lib_search_path_spec=$lt_sys_lib_search_path_spec

# Run-time system search path for libraries.
sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec

# Whether dlopen is supported.
dlopen_support=$enable_dlopen

# Whether dlopen of programs is supported.
dlopen_self=$enable_dlopen_self

# Whether dlopen of statically linked programs is supported.
dlopen_self_static=$enable_dlopen_self_static

# Commands to strip libraries.
old_striplib=$lt_old_striplib
striplib=$lt_striplib


# The linker used to build libraries.
LD=$lt_LD

# Commands used to build an old-style archive.
old_archive_cmds=$lt_old_archive_cmds

# A language specific compiler.
CC=$lt_compiler

# Is the compiler the GNU compiler?
with_gcc=$GCC

# Compiler flag to turn off builtin functions.
no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag

# How to pass a linker flag through the compiler.
wl=$lt_lt_prog_compiler_wl

# Additional compiler flags for building library objects.
pic_flag=$lt_lt_prog_compiler_pic

# Compiler flag to prevent dynamic linking.
link_static_flag=$lt_lt_prog_compiler_static

# Does compiler simultaneously support -c and -o options?
compiler_c_o=$lt_lt_cv_prog_compiler_c_o

# Whether or not to add -lc for building shared libraries.
build_libtool_need_lc=$archive_cmds_need_lc

# Whether or not to disallow shared libs when runtime libs are static.
allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes

# Compiler flag to allow reflexive dlopens.
export_dynamic_flag_spec=$lt_export_dynamic_flag_spec

# Compiler flag to generate shared objects directly from archives.
whole_archive_flag_spec=$lt_whole_archive_flag_spec

# Whether the compiler copes with passing no objects directly.
compiler_needs_object=$lt_compiler_needs_object

# Create an old-style archive from a shared archive.
old_archive_from_new_cmds=$lt_old_archive_from_new_cmds

# Create a temporary old-style archive to link instead of a shared archive.
old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds

# Commands used to build a shared archive.
archive_cmds=$lt_archive_cmds
archive_expsym_cmds=$lt_archive_expsym_cmds

# Commands used to build a loadable module if different from building
# a shared archive.
module_cmds=$lt_module_cmds
module_expsym_cmds=$lt_module_expsym_cmds

# Whether we are building with GNU ld or not.
with_gnu_ld=$lt_with_gnu_ld

# Flag that allows shared libraries with undefined symbols to be built.
allow_undefined_flag=$lt_allow_undefined_flag

# Flag that enforces no undefined symbols.
no_undefined_flag=$lt_no_undefined_flag

# Flag to hardcode \$libdir into a binary during linking.
# This must work even if \$libdir does not exist
hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec

# If ld is used when linking, flag to hardcode \$libdir into a binary
# during linking.  This must work even if \$libdir does not exist.
hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld

# Whether we need a single "-rpath" flag with a separated argument.
hardcode_libdir_separator=$lt_hardcode_libdir_separator

# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
# DIR into the resulting binary.
hardcode_direct=$hardcode_direct

# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
# DIR into the resulting binary and the resulting library dependency is
# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
# library is relocated.
hardcode_direct_absolute=$hardcode_direct_absolute

# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
# into the resulting binary.
hardcode_minus_L=$hardcode_minus_L

# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
# into the resulting binary.
hardcode_shlibpath_var=$hardcode_shlibpath_var

# Set to "yes" if building a shared library automatically hardcodes DIR
# into the library and all subsequent libraries and executables linked
# against it.
hardcode_automatic=$hardcode_automatic

# Set to yes if linker adds runtime paths of dependent libraries
# to runtime path list.
inherit_rpath=$inherit_rpath

# Whether libtool must link a program against all its dependency libraries.
link_all_deplibs=$link_all_deplibs

# Fix the shell variable \$srcfile for the compiler.
fix_srcfile_path=$lt_fix_srcfile_path

# Set to "yes" if exported symbols are required.
always_export_symbols=$always_export_symbols

# The commands to list exported symbols.
export_symbols_cmds=$lt_export_symbols_cmds

# Symbols that should not be listed in the preloaded symbols.
exclude_expsyms=$lt_exclude_expsyms

# Symbols that must always be exported.
include_expsyms=$lt_include_expsyms

# Commands necessary for linking programs (against libraries) with templates.
prelink_cmds=$lt_prelink_cmds

# Specify filename containing input files.
file_list_spec=$lt_file_list_spec

# How to hardcode a shared library path into an executable.
hardcode_action=$hardcode_action

# ### END LIBTOOL CONFIG

_LT_EOF

  case $host_os in
  aix3*)
    cat <<\_LT_EOF >> "$cfgfile"
# 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
_LT_EOF
    ;;
  esac


ltmain="$ac_aux_dir/ltmain.sh"


  # We use sed instead of cat because bash on DJGPP gets confused if
  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
  # text mode, it properly converts lines to CR/LF.  This bash problem
  # is reportedly fixed, but why not run on old versions too?
  sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
    || (rm -f "$cfgfile"; exit 1)

  case $xsi_shell in
  yes)
    cat << \_LT_EOF >> "$cfgfile"

# func_dirname file append nondir_replacement
# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
# otherwise set result to NONDIR_REPLACEMENT.
func_dirname ()
{
  case ${1} in
    */*) func_dirname_result="${1%/*}${2}" ;;
    *  ) func_dirname_result="${3}" ;;
  esac
}

# func_basename file
func_basename ()
{
  func_basename_result="${1##*/}"
}

# func_dirname_and_basename file append nondir_replacement
# perform func_basename and func_dirname in a single function
# call:
#   dirname:  Compute the dirname of FILE.  If nonempty,
#             add APPEND to the result, otherwise set result
#             to NONDIR_REPLACEMENT.
#             value returned in "$func_dirname_result"
#   basename: Compute filename of FILE.
#             value retuned in "$func_basename_result"
# Implementation must be kept synchronized with func_dirname
# and func_basename. For efficiency, we do not delegate to
# those functions but instead duplicate the functionality here.
func_dirname_and_basename ()
{
  case ${1} in
    */*) func_dirname_result="${1%/*}${2}" ;;
    *  ) func_dirname_result="${3}" ;;
  esac
  func_basename_result="${1##*/}"
}

# func_stripname prefix suffix name
# strip PREFIX and SUFFIX off of NAME.
# PREFIX and SUFFIX must not contain globbing or regex special
# characters, hashes, percent signs, but SUFFIX may contain a leading
# dot (in which case that matches only a dot).
func_stripname ()
{
  # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
  # positional parameters, so assign one to ordinary parameter first.
  func_stripname_result=${3}
  func_stripname_result=${func_stripname_result#"${1}"}
  func_stripname_result=${func_stripname_result%"${2}"}
}

# func_opt_split
func_opt_split ()
{
  func_opt_split_opt=${1%%=*}
  func_opt_split_arg=${1#*=}
}

# func_lo2o object
func_lo2o ()
{
  case ${1} in
    *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
    *)    func_lo2o_result=${1} ;;
  esac
}

# func_xform libobj-or-source
func_xform ()
{
  func_xform_result=${1%.*}.lo
}

# func_arith arithmetic-term...
func_arith ()
{
  func_arith_result=$(( $* ))
}

# func_len string
# STRING may not start with a hyphen.
func_len ()
{
  func_len_result=${#1}
}

_LT_EOF
    ;;
  *) # Bourne compatible functions.
    cat << \_LT_EOF >> "$cfgfile"

# func_dirname file append nondir_replacement
# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
# otherwise set result to NONDIR_REPLACEMENT.
func_dirname ()
{
  # Extract subdirectory from the argument.
  func_dirname_result=`$ECHO "X${1}" | $Xsed -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 file
func_basename ()
{
  func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
}


# func_stripname prefix suffix name
# strip PREFIX and SUFFIX off of NAME.
# PREFIX and SUFFIX must not contain globbing or regex special
# characters, hashes, percent signs, but SUFFIX may contain a leading
# dot (in which case that matches only a dot).
# func_strip_suffix prefix name
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}\$%%"`;;
  esac
}

# sed scripts:
my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q'
my_sed_long_arg='1s/^-[^=]*=//'

# 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_lo2o object
func_lo2o ()
{
  func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
}

# func_xform libobj-or-source
func_xform ()
{
  func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[^.]*$/.lo/'`
}

# func_arith arithmetic-term...
func_arith ()
{
  func_arith_result=`expr "$@"`
}

# func_len string
# STRING may not start with a hyphen.
func_len ()
{
  func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len`
}

_LT_EOF
esac

case $lt_shell_append in
  yes)
    cat << \_LT_EOF >> "$cfgfile"

# func_append var value
# Append VALUE to the end of shell variable VAR.
func_append ()
{
  eval "$1+=\$2"
}
_LT_EOF
    ;;
  *)
    cat << \_LT_EOF >> "$cfgfile"

# func_append var value
# Append VALUE to the end of shell variable VAR.
func_append ()
{
  eval "$1=\$$1\$2"
}

_LT_EOF
    ;;
  esac


  sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
    || (rm -f "$cfgfile"; exit 1)

  mv -f "$cfgfile" "$ofile" ||
    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
  chmod +x "$ofile"

 ;;

  esac
done # for ac_tag


{ (exit 0); exit 0; }
_ACEOF
chmod +x $CONFIG_STATUS
ac_clean_files=$ac_clean_files_save

test $ac_write_fail = 0 ||
  { { $as_echo "$as_me:$LINENO: error: write failure creating $CONFIG_STATUS" >&5
$as_echo "$as_me: error: write failure creating $CONFIG_STATUS" >&2;}
   { (exit 1); exit 1; }; }


# configure is writing to config.log, and then calls config.status.
# config.status does its own redirection, appending to config.log.
# Unfortunately, on DOS this fails, as config.log is still kept open
# by configure, so config.status won't be able to write to it; its
# output is simply discarded.  So we exec the FD to /dev/null,
# effectively closing config.log, so it can be properly (re)opened and
# appended to by config.status.  When coming back to configure, we
# need to make the FD available again.
if test "$no_create" != yes; then
  ac_cs_success=:
  ac_config_status_args=
  test "$silent" = yes &&
    ac_config_status_args="$ac_config_status_args --quiet"
  exec 5>/dev/null
  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
  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 || { (exit 1); exit 1; }
fi
if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
  { $as_echo "$as_me:$LINENO: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
fi


{ echo; echo "Now please type '${term_bold}make${term_norm}' to compile. Good luck."; echo; } >& 6
EOF-configure
echo - 'configure.ac'
cat << 'EOF-configure.ac' > 'configure.ac'
dnl Autoconf configuration for libsigsegv.
dnl Process this file with autoconf to produce a configure script.
dnl
dnl Copyright (C) 2002-2009  Bruno Haible <bruno@clisp.org>
dnl
dnl This program is free software; you can redistribute it and/or modify
dnl it under the terms of the GNU General Public License as published by
dnl the Free Software Foundation; either version 2, or (at your option)
dnl any later version.
dnl
dnl This program is distributed in the hope that it will be useful,
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
dnl GNU General Public License for more details.
dnl
dnl You should have received a copy of the GNU General Public License
dnl along with this program; if not, write to the Free Software Foundation,
dnl Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

AC_PREREQ([2.62])
AC_INIT
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_SRCDIR([src/sigsegv.h.in])
AC_CONFIG_AUX_DIR([build-aux])

RSE_BOLD

{ echo; echo "${term_bold}Build Tools:${term_norm}"; } >& AS_MESSAGE_FD

AM_INIT_AUTOMAKE(libsigsegv, 2.7-pre1)
AM_CONFIG_HEADER(config.h)

AC_PROG_CC
AC_PROG_CPP

AC_CANONICAL_HOST
AC_MSG_CHECKING([host platform])
sv_cv_host="$host"
changequote(,)dnl Autoconf 2.52 brokenness
case "$host_os" in
  linux | linux-*)
    kernelversion=`uname -r | sed -e 's/^\([0-9.]*\).*/\1/'`
    sv_cv_host=`echo $sv_cv_host | sed -e "s/linux/linux$kernelversion/"`
    ;;
esac
changequote([,])dnl Autoconf 2.52 brokenness
cat > conftest.c << EOF
#include <features.h>
#ifdef __GNU_LIBRARY__
Version __GLIBC__ . __GLIBC_MINOR__
#endif
EOF
glibcversion=`$CPP $CPPFLAGS conftest.c 2>/dev/null | grep Version | sed -e 's/Version//' -e 's/ //g'`
if test -n "$glibcversion"; then
  sv_cv_host="$sv_cv_host-glibc$glibcversion"
fi
AC_MSG_RESULT([$sv_cv_host])
PLATFORM="$sv_cv_host"
AC_SUBST([PLATFORM])

AC_PROG_INSTALL

LT_INIT([disable-shared])

# For testing cross-compilation behaviour.
#cross_compiling=yes

{ echo; echo "${term_bold}Optional Platform Environment:${term_norm}"; } >& AS_MESSAGE_FD

dnl Headers to be included with <signal.h>. On MacOS X (Darwin) one also
dnl needs <sys/signal.h>.
AC_CHECK_HEADERS([sys/signal.h])

dnl List of signals that are sent when an invalid virtual memory address
dnl is accessed, or when the stack overflows.
case "$host_os" in
  sunos4* | freebsd* | dragonfly* | openbsd* | netbsd* | kfreebsd* | knetbsd*)
    CFG_SIGNALS=signals-bsd.h ;;
  hpux*)
    CFG_SIGNALS=signals-hpux.h ;;
  macos* | darwin*)
    CFG_SIGNALS=signals-macos.h ;;
  gnu*)
    CFG_SIGNALS=signals-hurd.h ;;
  *)
    CFG_SIGNALS=signals.h ;;
esac
AC_DEFINE_UNQUOTED([CFG_SIGNALS], ["$CFG_SIGNALS"],
  [The name of the include file describing the fault signals.])

# How to determine the memory page size.
SV_GETPAGESIZE

# How to allocate fresh memory using mmap.
# (We need mmap, because mprotect() doesn't work on malloc()ed memory on
# some systems.)
SV_MMAP_ANON

# How to write a SIGSEGV handler with access to the fault address.

# On MacOS X 10.2 or newer, we don't need these tests, because we'll end up
# using handler-macos.c anyway. If we were to perform the tests, 5 Crash Report
# dialog windows would pop up.
case "$host_os" in
  macos* | darwin[[6-9]]* | darwin[[1-9]][[0-9]]*) ;;
  *)

dnl FIXME: Put in some more known values into the third argument.
SV_TRY_FAULT([POSIX], sv_cv_fault_posix,
  [*-*-solaris2.[7-9] | i?86-*-linux2.[4-9]* | i?86-*-freebsd[4-9]* | i?86-*-mirbsd1[0-9] | alpha*-dec-osf[4-9]* | *-*-hpux11* | mips-sgi-irix6*],
  [],
  [int sig, siginfo_t *sip, void *ucp],
  [sip->si_addr],
  [action.sa_sigaction = &sigsegv_handler;
   action.sa_flags = SA_SIGINFO;])

SV_TRY_FAULT([Linux/i386], sv_cv_fault_linux_i386, [i?86-*-linux2.[2-9]*],
  [#include <asm/sigcontext.h>],
  [int sig, struct sigcontext sc],
  [sc.cr2])

SV_TRY_FAULT([old Linux/i386], sv_cv_fault_linux_i386_old,
  [i?86-*-linux2.[2-9]*],
  [],
  [int sig, unsigned int more],
  [((unsigned long *) &more) [21]])

dnl FIXME: Put in some more known values into the third argument.
SV_TRY_FAULT([Linux/m68k], sv_cv_fault_linux_m68k, [],
  [#include <asm/sigcontext.h>
#include "$srcdir/src/fault-linux-m68k.c"],
  [int sig, int code, struct sigcontext *scp],
  [get_fault_addr (scp)])

dnl FIXME: Put in some more known values into the third argument.
SV_TRY_FAULT([Linux/PowerPC], sv_cv_fault_linux_powerpc, [],
  [#include <asm/sigcontext.h>],
  [int sig, struct sigcontext *scp],
  [scp->regs->dar])

dnl FIXME: Put in some more known values into the third argument.
SV_TRY_FAULT([Linux/HPPA], sv_cv_fault_linux_hppa, [],
  [],
  [int sig, siginfo_t *sip, void *ucp],
  [sip->si_ptr],
  [action.sa_sigaction = &sigsegv_handler;
   action.sa_flags = SA_SIGINFO;])

dnl FIXME: Put in some more known values into the third argument.
SV_TRY_FAULT([BSD], sv_cv_fault_bsd, [i?86-*-freebsd[4-9]*],
  [],
  [int sig, int code, struct sigcontext *scp, void *addr],
  [addr])

dnl FIXME: Put in some more known values into the third argument.
SV_TRY_FAULT([IRIX], sv_cv_fault_irix, [mips-sgi-irix6*],
  [],
  [int sig, int code, struct sigcontext *scp],
  [(unsigned long) scp->sc_badvaddr])

dnl FIXME: Put in some more known values into the third argument.
SV_TRY_FAULT([HP-UX HPPA], sv_cv_fault_hpux_hppa, [hppa*-*-hpux11*],
  [
#define USE_64BIT_REGS(mc) \
  (((mc).ss_flags & SS_WIDEREGS) && ((mc).ss_flags & SS_NARROWISINVALID))
#define GET_CR21(mc) \
  (USE_64BIT_REGS(mc) ? (mc).ss_wide.ss_64.ss_cr21 : (mc).ss_narrow.ss_cr21)
],
  [int sig, int code, struct sigcontext *scp],
  [GET_CR21 (scp->sc_sl.sl_ss)])

dnl FIXME: Put in some more known values into the third argument.
SV_TRY_FAULT([OSF/1 Alpha], sv_cv_fault_osf_alpha,
  [alpha*-*-osf[4-9]* | alpha*-*-linux2.[4-9]*],
  [],
  [int sig, int code, struct sigcontext *scp],
  [scp->sc_traparg_a0])

dnl FIXME: Put in some more known values into the third argument.
SV_TRY_FAULT([NetBSD Alpha], sv_cv_fault_netbsd_alpha,
  [alpha*-*-osf[4-9]* | alpha-*-*bsd*],
  [#include "$srcdir/src/fault-netbsd-alpha.c"],
  [int sig, int code, struct sigcontext *scp],
  [get_fault_addr (scp)])

dnl FIXME: Put in some more known values into the third argument.
SV_TRY_FAULT([AIX], sv_cv_fault_aix, [*-*-aix[34]*],
  [],
  [int sig, int code, struct sigcontext *scp],
  [scp->sc_jmpbuf.jmp_context.o_vaddr])

SV_TRY_FAULT([MacOSX/Darwin7 PowerPC], sv_cv_fault_macosdarwin7_ppc,
  [powerpc-*-darwin7*],
  [#include "$srcdir/src/fault-macosdarwin7-powerpc.c"],
  [int sig, siginfo_t *sip, ucontext_t *ucp],
  [get_fault_addr (sip, ucp)],
  [action.sa_sigaction = &sigsegv_handler;
   action.sa_flags = SA_SIGINFO;])

if test "$sv_cv_fault_macosdarwin7_ppc" != yes; then
SV_TRY_FAULT([MacOSX/Darwin5 PowerPC], sv_cv_fault_macosdarwin5_ppc,
  [powerpc-*-darwin5*],
  [#include "$srcdir/src/fault-macosdarwin5-powerpc.c"],
  [int sig, int code, struct sigcontext *scp],
  [get_fault_addr (scp)])
fi

dnl FIXME: Put in some more known values into the third argument.
SV_TRY_FAULT([Hurd], sv_cv_fault_hurd, [],
  [],
  [int sig, int code, struct sigcontext *scp],
  [code])

# End of MacOS X special casing.
    ;;
esac

dnl Now determine the fault handler include file.
dnl We prefer the platform specific include files to the generic fault-posix.h
dnl because the former often defines SIGSEGV_FAULT_STACKPOINTER.
dnl Also we put the BSD test second-to-last, because the test may produce
dnl false positives.
CFG_HANDLER=
CFG_FAULT=
CFG_MACHFAULT=
FAULT_CONTEXT=void
FAULT_CONTEXT_INCLUDE=
dnl
dnl First the cases where the OS provides the fault address.
dnl
if test -z "$CFG_FAULT" && test "$sv_cv_fault_aix" = yes; then
  case "$host_cpu" in
    powerpc* | rs6000) CFG_FAULT=fault-aix3-powerpc.h ;;
    *) CFG_FAULT=fault-aix3.h ;;
  esac
  FAULT_CONTEXT='struct sigcontext'
fi
if test -z "$CFG_FAULT" && test "$sv_cv_fault_irix" = yes; then
  case "$host_cpu" in
    mips*) CFG_FAULT=fault-irix-mips.h ;;
    *) CFG_FAULT=fault-irix.h ;;
  esac
  FAULT_CONTEXT='struct sigcontext'
fi
if test -z "$CFG_FAULT" && test "$sv_cv_fault_hpux_hppa" = yes; then
  case "$host_cpu" in
    hppa* | parisc*) CFG_FAULT=fault-hpux-hppa.h ;;
    *) CFG_FAULT=fault-hpux.h ;;
  esac
  FAULT_CONTEXT='struct sigcontext'
fi
if test -z "$CFG_FAULT" && test "$sv_cv_fault_osf_alpha" = yes; then
  case "$host_cpu" in
    alpha*) CFG_FAULT=fault-osf-alpha.h ;;
    *) CFG_FAULT=fault-osf.h ;;
  esac
  FAULT_CONTEXT='struct sigcontext'
fi
if test -z "$CFG_FAULT" && test "$sv_cv_fault_netbsd_alpha" = yes; then
  case "$host_cpu" in
    alpha*) CFG_FAULT=fault-netbsd-alpha.h ;;
  esac
  FAULT_CONTEXT='struct sigcontext'
fi
if test -z "$CFG_FAULT" && test "$sv_cv_fault_linux_i386" = yes; then
  case "$host_cpu" in
    i?86 | x86_64) CFG_FAULT=fault-linux-i386.h ;;
  esac
  FAULT_CONTEXT='struct sigcontext'
fi
if test -z "$CFG_FAULT" && test "$sv_cv_fault_linux_i386_old" = yes; then
  case "$host_cpu" in
    i?86 | x86_64) CFG_FAULT=fault-linux-i386-old.h ;;
  esac
  FAULT_CONTEXT='struct sigcontext'
fi
if test -z "$CFG_FAULT" && test "$sv_cv_fault_linux_powerpc" = yes; then
  case "$host_cpu" in
    powerpc* | rs6000) CFG_FAULT=fault-linux-powerpc.h ;;
  esac
  FAULT_CONTEXT='struct sigcontext'
fi
if test -z "$CFG_FAULT" && test "$sv_cv_fault_linux_hppa" = yes; then
  case "$host_cpu" in
    hppa* | parisc*) CFG_FAULT=fault-linux-hppa.h ;;
  esac
fi
if test -z "$CFG_FAULT" && test "$sv_cv_fault_hurd" = yes; then
  case "$host_os" in
    netbsd*) # A false positive.
      ;;
    *)
      CFG_FAULT=fault-hurd.h
      FAULT_CONTEXT='struct sigcontext'
      ;;
  esac
fi
if test -z "$CFG_FAULT" && test "$sv_cv_fault_bsd" = yes; then
  case "$host_os" in
    freebsd* | dragonfly* | kfreebsd*)
      case "$host_cpu" in
        i?86 | x86_64)
          CFG_FAULT=fault-freebsd-i386.h
          FAULT_CONTEXT='struct sigcontext'
          ;;
        *)
          CFG_FAULT=fault-bsd.h
          FAULT_CONTEXT='void'
          ;;
      esac
      ;;
    *)
      CFG_FAULT=fault-bsd.h
      FAULT_CONTEXT='void'
      ;;
  esac
fi
if test -z "$CFG_FAULT" && test "$sv_cv_fault_posix" = yes; then
  case "$host_os" in
    openbsd*)
      case "$host_cpu" in
        i?86 | x86_64) CFG_FAULT=fault-openbsd-i386.h ;;
        *) CFG_FAULT=fault-openbsd.h ;;
      esac
      FAULT_CONTEXT='struct sigcontext'
      ;;
    mirbsd*)
      case "$host_cpu" in
        i?86 | x86_64)
          CFG_FAULT=fault-openbsd-i386.h
          FAULT_CONTEXT='struct sigcontext'
          ;;
      esac
      ;;
    linux*)
      case "$host_cpu" in
        ia64)
          CFG_FAULT=fault-linux-ia64.h
          FAULT_CONTEXT='struct sigcontext'
          ;;
      esac
      ;;
  esac
  if test -z "$CFG_FAULT"; then
    dnl <ucontext.h> was required by POSIX:2001, and many systems have it. But
    dnl POSIX:2008 does not require it any more, and MirBSD does not have it.
    AC_CHECK_HEADERS([ucontext.h])
    if test $ac_cv_header_ucontext_h = yes; then
      case "$host_os" in
        solaris*)
          case "$host_cpu" in
            i?86 | x86_64) CFG_FAULT=fault-solaris-i386.h ;;
            sparc*) CFG_FAULT=fault-solaris-sparc.h ;;
            *) CFG_FAULT=fault-solaris.h ;;
          esac
          ;;
        aix*)
          case "$host_cpu" in
            powerpc* | rs6000) CFG_FAULT=fault-aix5-powerpc.h ;;
            *) CFG_FAULT=fault-aix5.h ;;
          esac
          ;;
        netbsd*)
          CFG_FAULT=fault-netbsd.h
          ;;
        *)
          CFG_FAULT=fault-posix-ucontext.h
          ;;
      esac
      FAULT_CONTEXT='ucontext_t'
      FAULT_CONTEXT_INCLUDE='#include <ucontext.h>'
    else
      CFG_FAULT=fault-posix.h
      FAULT_CONTEXT='void'
    fi
  fi
fi
if test -z "$CFG_FAULT"; then
  case "$host_os" in
    macos* | darwin[[6-9]]* | darwin[[1-9]][[0-9]]*)
      case "$host_cpu" in
        powerpc* | rs6000 | i?86 | x86_64)
          CFG_MACHFAULT=machfault-macos.h
          FAULT_CONTEXT_INCLUDE='#include <signal.h>
#include <mach/thread_status.h>
#if defined __ppc64__
#define sigsegv_thread_state_t ppc_thread_state64_t
#elif defined __ppc__
#define sigsegv_thread_state_t ppc_thread_state_t
#endif
#if defined __x86_64__
#define sigsegv_thread_state_t x86_thread_state64_t
#elif defined __i386__
#if defined x86_THREAD_STATE32
#define sigsegv_thread_state_t x86_thread_state32_t
#else
#define sigsegv_thread_state_t i386_thread_state_t
#endif
#endif'
          FAULT_CONTEXT='sigsegv_thread_state_t'
          ;;
      esac
      if test -n "$CFG_MACHFAULT"; then
        CFG_HANDLER=handler-macos.c
        CFG_FAULT=fault-macos.h # nonexistent, just a dummy
      fi
      ;;
  esac
fi
dnl
dnl Next, the cases where there is a hairy CPU dependent way to get the
dnl fault address.
dnl
if test -z "$CFG_FAULT" && test "$sv_cv_fault_linux_m68k" = yes; then
  case "$host_cpu" in
    m68*)
      CFG_FAULT=fault-linux-m68k.h
      FAULT_CONTEXT='struct sigcontext'
      ;;
  esac
fi
if test -z "$CFG_FAULT" && test "$sv_cv_fault_macosdarwin7_ppc" = yes; then
  case "$host_cpu" in
    powerpc* | rs6000)
      CFG_FAULT=fault-macosdarwin7-powerpc.h
      FAULT_CONTEXT='ucontext_t'
      FAULT_CONTEXT_INCLUDE='#include <signal.h>
#include <ucontext.h>'
      ;;
  esac
fi
if test -z "$CFG_FAULT" && test "$sv_cv_fault_macosdarwin5_ppc" = yes; then
  case "$host_cpu" in
    powerpc* | rs6000)
      CFG_FAULT=fault-macosdarwin5-powerpc.h
      FAULT_CONTEXT='struct sigcontext'
      ;;
  esac
fi
if test -z "$CFG_FAULT"; then
  case "$host_os" in
    mingw* | cygwin*)
      FAULT_CONTEXT='CONTEXT'
      FAULT_CONTEXT_INCLUDE='#include <windows.h>'
      CFG_FAULT=fault-win32.h # nonexistent, just a dummy
      ;;
  esac
fi
if test -n "$CFG_FAULT"; then
  sv_cv_have_sigsegv_recovery=yes
else
  sv_cv_have_sigsegv_recovery=no
  dnl
  dnl No way to get the fault address. But other information is available.
  dnl
  case "$host_os" in
    linux*)
      case "$host_cpu" in
        alpha*)
          CFG_FAULT=fault-linux-alpha.h
          FAULT_CONTEXT='struct sigcontext'
          ;;
        arm* | strongarm* | xscale*)
          CFG_FAULT=fault-linux-arm.h
          FAULT_CONTEXT='struct sigcontext'
          ;;
        cris)
          CFG_FAULT=fault-linux-cris.h
          FAULT_CONTEXT='struct sigcontext'
          ;;
        mips*)
          CFG_FAULT=fault-linux-mips.h
          FAULT_CONTEXT='struct sigcontext'
          ;;
        s390*)
          CFG_FAULT=fault-linux-s390.h
          FAULT_CONTEXT='struct sigcontext'
          ;;
        sh*)
          CFG_FAULT=fault-linux-sh.h
          FAULT_CONTEXT='struct sigcontext'
          ;;
        sparc*)
          CFG_FAULT=fault-linux-sparc.h
          FAULT_CONTEXT='struct sigcontext'
          ;;
        x86_64)
          CFG_FAULT=fault-linux-x86_64.h
          FAULT_CONTEXT='struct sigcontext'
          ;;
      esac
      ;;
    beos*)
      case "$host_cpu" in
        i?86 | x86_64) CFG_FAULT=fault-beos-i386.h ;;
        *) CFG_FAULT=fault-beos.h ;;
      esac
      FAULT_CONTEXT='struct vregs'
      ;;
    macos* | darwin*)
      case "$host_cpu" in
        i?86 | x86_64) CFG_FAULT=fault-macos-i386.h ;;
      esac
      FAULT_CONTEXT='struct sigcontext'
      ;;
  esac
fi
AC_MSG_CHECKING([for the fault handler specifics])
if test -n "$CFG_FAULT"; then
  sv_cv_fault_include=$CFG_FAULT
else
  if test -n "$CFG_MACHFAULT"; then
    sv_cv_fault_include=$CFG_MACHFAULT
  else
    sv_cv_fault_include=none
  fi
fi
AC_MSG_RESULT([$sv_cv_fault_include])
if test -z "$CFG_FAULT"; then
  CFG_FAULT=fault-none.h
fi
AC_DEFINE_UNQUOTED([CFG_FAULT], ["$CFG_FAULT"],
  [The name of the include file describing the fault handler.])
if test -z "$CFG_MACHFAULT"; then
  CFG_MACHFAULT=fault-none.h
fi
AC_DEFINE_UNQUOTED([CFG_MACHFAULT], ["$CFG_MACHFAULT"],
  [The name of the include file describing the Mach fault handler.])
AC_SUBST([FAULT_CONTEXT])
AC_SUBST([FAULT_CONTEXT_INCLUDE])
dnl AM_SUBST_NOTMAKE, because FAULT_CONTEXT_INCLUDE may have a multiline value.
AM_SUBST_NOTMAKE([FAULT_CONTEXT_INCLUDE])

AC_MSG_CHECKING([if the system supports catching SIGSEGV])
AC_MSG_RESULT([$sv_cv_have_sigsegv_recovery])
if test $sv_cv_have_sigsegv_recovery != no; then
  HAVE_SIGSEGV_RECOVERY=1
else
  HAVE_SIGSEGV_RECOVERY=0
fi
AC_SUBST([HAVE_SIGSEGV_RECOVERY])

dnl The stackoverflow_context_t type depends on the CFG_FAULT include file.

dnl Stack direction.
AC_CACHE_CHECK([for stack direction], sv_cv_stack_direction_msg, [
  case "$host_cpu" in
    dnl See the #define STACK_GROWS_DOWNWARD in gcc-3.1/gcc/config/*/*.h.
    a29k | \
    alpha* | \
    arc | \
    arm* | strongarm* | xscale* | \
    avr | \
    c1 | c2 | c32 | c34 | c38 | \
    clipper | \
    cris | \
    d30v | \
    elxsi | \
    fr30 | \
    h8300 | \
    i?86 | x86_64 | \
    i860 | \
    ia64 | \
    m32r | \
    m68* | \
    m88k | \
    mcore | \
    mips* | \
    mmix | \
    mn10200 | \
    mn10300 | \
    ns32k | \
    pdp11 | \
    pj* | \
    powerpc* | rs6000 | \
    romp | \
    s390* | \
    sh* | \
    sparc* | \
    v850 | \
    vax | \
    xtensa)
      sv_cv_stack_direction=-1 ;;
    c4x | \
    dsp16xx | \
    i960 | \
    hppa* | parisc* | \
    stormy16 | \
    we32k)
      sv_cv_stack_direction=1 ;;
    *)
      if test $cross_compiling = no; then
        cat > conftest.c <<EOF
#include <stdio.h>
int
get_stack_direction ()
{
  auto char dummy;
  static char *dummyaddr = (char *)0;
  if (dummyaddr != (char *)0)
    return &dummy > dummyaddr ? 1 : &dummy < dummyaddr ? -1 : 0;
  else
    {
      dummyaddr = &dummy;
      {
        int result = get_stack_direction ();
        /* The next assignment avoids tail recursion elimination
           (IRIX 6.4 CC).  */
        dummyaddr = (char *)0;
        return result;
      }
    }
}
int
main ()
{
  printf ("%d\n", get_stack_direction ());
  return 0;
}
EOF
        AC_TRY_EVAL([ac_link])
        sv_cv_stack_direction=`./conftest`
      else
        sv_cv_stack_direction=0
      fi
      ;;
  esac
  case $sv_cv_stack_direction in
    1)  sv_cv_stack_direction_msg="grows up";;
    -1) sv_cv_stack_direction_msg="grows down";;
    *)  sv_cv_stack_direction_msg="unknown";;
  esac
])
AC_DEFINE_UNQUOTED([STACK_DIRECTION], [$sv_cv_stack_direction],
  [Define as the direction of stack growth for your system.
   STACK_DIRECTION > 0 => grows toward higher addresses
   STACK_DIRECTION < 0 => grows toward lower addresses
   STACK_DIRECTION = 0 => spaghetti stack.])

dnl Determination of the stack's virtual memory area.
AC_CACHE_CHECK([for PIOCMAP in sys/procfs.h], [sv_cv_procfsvma], [
  AC_TRY_LINK([#include <sys/procfs.h>],
    [int x = PIOCNMAP + PIOCMAP; prmap_t y;],
    [sv_cv_procfsvma=yes], [sv_cv_procfsvma=no])
])
AC_CHECK_FUNCS([mincore])
CFG_STACKVMA=
if test $sv_cv_procfsvma = yes; then
  CFG_STACKVMA=stackvma-procfs.c
else
  case "$host_os" in
    linux*)                CFG_STACKVMA=stackvma-linux.c ;;
    freebsd* | dragonfly*) CFG_STACKVMA=stackvma-freebsd.c ;;
    beos*)                 CFG_STACKVMA=stackvma-beos.c ;;
    macos* | darwin*)      CFG_STACKVMA=stackvma-mach.c ;;
  esac
fi
if test -z "$CFG_STACKVMA" && test $ac_cv_func_mincore = yes; then
  CFG_STACKVMA=stackvma-mincore.c
fi
if test -n "$CFG_STACKVMA"; then
  AC_DEFINE([HAVE_STACKVMA], [1],
    [Define if CFG_STACKVMA is set to a nontrivial source file.])
else
  CFG_STACKVMA=stackvma-none.c
fi
AC_DEFINE_UNQUOTED([CFG_STACKVMA], ["$CFG_STACKVMA"],
  [The name of the file determining the stack virtual memory area.])
AC_SUBST([CFG_STACKVMA])

AC_CHECK_FUNCS([getrlimit setrlimit])

dnl Catching stack overflow requires an alternate signal stack.
dnl The old "install a guard page" trick would be unreliable, because
dnl we don't know where exactly to place the guard page.
SV_SIGALTSTACK

AC_CACHE_CHECK([if the system supports catching stack overflow],
               [sv_cv_have_stack_overflow_recovery],
[
  dnl On Mach, it requires a machfault-*.h (see src/handler-macos.c).
  dnl On Unix, it requires either sigaltstack() or the BeOS set_signal_stack()
  dnl function, and on Unix it requires a fault-*.h or a stackvma-*.c with
  dnl certain properties (see src/handler-unix.c).
  if test "$CFG_MACHFAULT" != fault-none.h; then
    sv_cv_have_stack_overflow_recovery=yes
  else
    if test "$sv_cv_sigaltstack" != no; then
      sv_cv_have_stack_overflow_recovery=maybe
    else
      case "$host_os" in
        beos*) sv_cv_have_stack_overflow_recovery=maybe ;;
        mingw* | cygwin*) sv_cv_have_stack_overflow_recovery=yes ;;
        *) sv_cv_have_stack_overflow_recovery=no ;;
      esac
    fi
  fi
  if test $sv_cv_have_stack_overflow_recovery = maybe; then
    if test -n "$CFG_FAULT"; then
      AC_EGREP_CPP([xyzzy], [
#include "$srcdir/src/$CFG_FAULT"
#ifdef SIGSEGV_FAULT_HANDLER_ARGLIST
#ifdef SIGSEGV_FAULT_ADDRESS
xyzzy
#endif
#endif
], [condA=true], [condA=false])
    else
      condA=false
    fi
    if test -n "$CFG_FAULT"; then
      AC_EGREP_CPP([xyzzy], [
#include "$srcdir/src/$CFG_FAULT"
#ifdef SIGSEGV_FAULT_HANDLER_ARGLIST
#ifdef SIGSEGV_FAULT_STACKPOINTER
xyzzy
#endif
#endif
], [condB=true], [condB=false])
    else
      condB=false
    fi
    if test "$CFG_STACKVMA" != "stackvma-none.c"; then
      condC=true
    else
      condC=false
    fi
    if { $condA && $condB; } || { $condA && $condC; } || { $condB && $condC; }; then
      sv_cv_have_stack_overflow_recovery=yes
    else
      sv_cv_have_stack_overflow_recovery=no
    fi
  fi
])
if test $sv_cv_have_stack_overflow_recovery != no; then
  HAVE_STACK_OVERFLOW_RECOVERY=1
else
  HAVE_STACK_OVERFLOW_RECOVERY=0
fi
AC_SUBST([HAVE_STACK_OVERFLOW_RECOVERY])

# How to longjmp out of a signal handler, in such a way that the
# alternate signal stack remains functional.

# On MacOS X 10.2 or newer, we don't need these tests, because we'll end up
# using handler-macos.c anyway. If we were to perform the tests, 2 Crash Report
# dialog windows would pop up.
case "$host_os" in
  macos* | darwin[[6-9]]* | darwin[[1-9]][[0-9]]*) ;;
  *)

dnl FIXME: Put in some more known values into the third argument.
SV_TRY_LEAVE_HANDLER_LONGJMP([], sv_cv_leave_handler_longjmp,
  [*-*-osf[4-9]* | *-*-hpux11* | *-*-linux2.[2-9]*],
  [], [])

dnl FIXME: Put in some more known values into the third argument.
SV_TRY_LEAVE_HANDLER_LONGJMP([ and sigaltstack],
  sv_cv_leave_handler_longjmp_sigaltstack,
  [*-*-freebsd*],
  [
#ifndef SS_ONSTACK
#define SS_ONSTACK SA_ONSTACK
#endif
  ],
  [stack_t ss;
   if (sigaltstack (NULL, &ss) >= 0)
     {
       ss.ss_flags &= ~SS_ONSTACK;
       sigaltstack (&ss, NULL);
     }
  ])

dnl FIXME: Put in some more known values into the third argument.
SV_TRY_LEAVE_HANDLER_LONGJMP([ and setcontext],
  sv_cv_leave_handler_longjmp_setcontext,
  [*-*-irix* | *-*-solaris*],
  [#include <ucontext.h>
#ifndef SS_ONSTACK
#define SS_ONSTACK SA_ONSTACK
#endif
  ],
  [static int fl;
   static ucontext_t uc;
   fl = 0;
   if (getcontext (&uc) >= 0)
     if (fl == 0)
       if (uc.uc_stack.ss_flags & SS_ONSTACK)
         {
           uc.uc_stack.ss_flags &= ~SS_ONSTACK;
           fl = 1;
           setcontext (&uc);
         }
  ])

# End of MacOS X special casing.
    ;;
esac

# How to siglongjmp out of a signal handler, in such a way that the
# alternate signal stack remains functional.

# On MacOS X 10.2 or newer, we don't need these tests, because we'll end up
# using handler-macos.c anyway. If we were to perform the tests, 2 Crash Report
# dialog windows would pop up.
case "$host_os" in
  macos* | darwin[[6-9]]* | darwin[[1-9]][[0-9]]*) ;;
  *)

dnl FIXME: Put in some more known values into the third argument.
SV_TRY_LEAVE_HANDLER_SIGLONGJMP([], sv_cv_leave_handler_siglongjmp,
  [*-*-osf[4-9]* | *-*-hpux11* | *-*-linux2.[2-9]* | *-*-irix* | *-*-solaris*],
  [], [])

dnl FIXME: Put in some more known values into the third argument.
SV_TRY_LEAVE_HANDLER_SIGLONGJMP([ and sigaltstack],
  sv_cv_leave_handler_siglongjmp_sigaltstack,
  [*-*-freebsd*],
  [
#ifndef SS_ONSTACK
#define SS_ONSTACK SA_ONSTACK
#endif
  ],
  [stack_t ss;
   if (sigaltstack (NULL, &ss) >= 0)
     {
       ss.ss_flags &= ~SS_ONSTACK;
       sigaltstack (&ss, NULL);
     }
  ])

dnl FIXME: Put in some more known values into the third argument.
SV_TRY_LEAVE_HANDLER_SIGLONGJMP([ and setcontext],
  sv_cv_leave_handler_siglongjmp_setcontext,
  [],
  [#include <ucontext.h>
#ifndef SS_ONSTACK
#define SS_ONSTACK SA_ONSTACK
#endif
  ],
  [static int fl;
   static ucontext_t uc;
   fl = 0;
   if (getcontext(&uc) >= 0)
     if (fl == 0)
       if (uc.uc_stack.ss_flags & SS_ONSTACK)
         {
           uc.uc_stack.ss_flags &= ~SS_ONSTACK;
           fl = 1;
           setcontext(&uc);
         }
  ])

# End of MacOS X special casing.
    ;;
esac

CFG_LEAVE=
if test "$sv_cv_leave_handler_longjmp" != no; then
  CFG_LEAVE=leave-nop.c
else
  if test "$sv_cv_leave_handler_longjmp_sigaltstack" != no; then
    CFG_LEAVE=leave-sigaltstack.c
  else
    if test "$sv_cv_leave_handler_longjmp_setcontext" != no; then
      CFG_LEAVE=leave-setcontext.c
    fi
  fi
fi
case "$host_os" in
  # On BeOS, the 6 tests fail because sigaltstack() doesn't exist.
  # If one uses set_signal_stack() instead of sigaltstack(), the first
  # test actually works. i.e. sv_cv_leave_handler_longjmp would be 'yes'.
  beos*) CFG_LEAVE=leave-nop.c ;;
esac
if test -z "$CFG_LEAVE"; then
  CFG_LEAVE=leave-none.c
fi
AC_DEFINE_UNQUOTED([CFG_LEAVE], ["$CFG_LEAVE"],
  [The name of the file implementing sigsegv_reset_onstack_flag.])
AC_SUBST([CFG_LEAVE])

case "$host_os" in
  mingw* | cygwin*) CFG_HANDLER=handler-win32.c ;;
  *)
    if test -z "$CFG_HANDLER"; then
      if test $sv_cv_have_sigsegv_recovery = no \
         && test $sv_cv_have_stack_overflow_recovery = no; then
        CFG_HANDLER=handler-none.c
      else
        CFG_HANDLER=handler-unix.c
      fi
    fi
    ;;
esac
AC_DEFINE_UNQUOTED([CFG_HANDLER], ["$CFG_HANDLER"],
  [The name of the file implementing the handler functionality.])
AC_SUBST([CFG_HANDLER])

{ echo; echo "${term_bold}Build Parameters:${term_norm}"; } >& AS_MESSAGE_FD

dnl Relocatability is a nop for this package.
AC_RELOCATABLE_NOP

{ echo; echo "${term_bold}Output Substitution:${term_norm}"; } >& AS_MESSAGE_FD

dnl AC_OUTPUT([Makefile])
AC_OUTPUT([Makefile
           src/Makefile src/sigsegv.h
           tests/Makefile])

{ echo; echo "Now please type '${term_bold}make${term_norm}' to compile. Good luck."; echo; } >& AS_MESSAGE_FD
EOF-configure.ac
echo making directory 'm4'
mkdir 'm4'
cd 'm4'
#! /bin/sh
echo - 'bold.m4'
cat << 'EOF-bold.m4' > 'bold.m4'
# bold.m4 serial 1 (libsigsegv-2.0)
dnl Copyright (C) 1999-2002 Ralf S. Engelschall <rse@engelschall.com>
dnl Copyright (C) 2002 Bruno Haible <bruno@clisp.org>
dnl This file is free software, distributed under the terms of the GNU
dnl General Public License.  As a special exception to the GNU General
dnl Public License, this file may be distributed as part of a program
dnl that contains a configuration script generated by Autoconf, under
dnl the same distribution terms as the rest of that program.

# Determine the escape sequences for switching bold output on and off.
AC_DEFUN([RSE_BOLD],
[
  dnl Not pretty.
  dnl AC_REQUIRE([AC_PROG_AWK])

  case $TERM in
    # for the most important terminal types we directly know the sequences
    xterm*|vt220*)
      term_bold=`${AWK:-awk} 'BEGIN { printf("%c%c%c%c", 27, 91, 49, 109); }' </dev/null 2>/dev/null`
      term_norm=`${AWK:-awk} 'BEGIN { printf("%c%c%c", 27, 91, 109); }' </dev/null 2>/dev/null`
      ;;
    vt100*)
      term_bold=`${AWK:-awk} 'BEGIN { printf("%c%c%c%c%c%c", 27, 91, 49, 109, 0, 0); }' </dev/null 2>/dev/null`
      term_norm=`${AWK:-awk} 'BEGIN { printf("%c%c%c%c%c", 27, 91, 109, 0, 0); }' </dev/null 2>/dev/null`
      ;;
    # for all others, we try to use a possibly existing `tput' or `tcout' utility
    *)
      paths=`echo "$PATH" | sed -e 's/:/ /g'`
      for tool in tput tcout; do
        for dir in $paths; do
          if test -r "$dir/$tool"; then
            for seq in bold md smso; do # 'smso' is last
              bold="`$dir/$tool $seq 2>/dev/null`"
              if test -n "$bold"; then
                term_bold="$bold"
                break
              fi
            done
            if test -n "$term_bold"; then
              for seq in sgr0 me rmso reset; do # 'reset' is last
                norm="`$dir/$tool $seq 2>/dev/null`"
                if test -n "$norm"; then
                  term_norm="$norm"
                  break
                fi
              done
            fi
            break
          fi
        done
        if test -n "$term_bold" && test -n "$term_norm"; then
          break
        fi
      done
      ;;
  esac
  echo "$term_bold" | tr -d '\n' > termbold
  echo "$term_norm" | tr -d '\n' > termnorm
])
EOF-bold.m4
echo - 'fault.m4'
cat << 'EOF-fault.m4' > 'fault.m4'
# fault.m4 serial 5 (libsigsegv-2.2)
dnl Copyright (C) 2002-2003 Bruno Haible <bruno@clisp.org>
dnl This file is free software, distributed under the terms of the GNU
dnl General Public License.  As a special exception to the GNU General
dnl Public License, this file may be distributed as part of a program
dnl that contains a configuration script generated by Autoconf, under
dnl the same distribution terms as the rest of that program.

dnl How to write a SIGSEGV handler with access to the fault address.
dnl SV_TRY_FAULT(KIND, CACHESYMBOL, KNOWN-SYSTEMS,
dnl              INCLUDES, FAULT_HANDLER_ARGLIST, FAULT_ADDRESS, [INSTALLCODE])
AC_DEFUN([SV_TRY_FAULT], [
  AC_REQUIRE([AC_PROG_CC])
  AC_REQUIRE([AC_CANONICAL_HOST])

  AC_CACHE_CHECK([whether a fault handler according to $1 works], [$2], [
    AC_RUN_IFELSE([
      AC_LANG_SOURCE([[
#include <stdlib.h>
#include <signal.h>
#if HAVE_SYS_SIGNAL_H
# include <sys/signal.h>
#endif
$4
#include <sys/types.h>
#include <sys/mman.h>
#if HAVE_MMAP_DEVZERO
# include <fcntl.h>
# ifndef MAP_FILE
#  define MAP_FILE 0
# endif
#endif
#ifndef PROT_NONE
# define PROT_NONE 0
#endif
#if HAVE_MMAP_ANON
# define zero_fd -1
# define map_flags MAP_ANON | MAP_PRIVATE
#elif HAVE_MMAP_ANONYMOUS
# define zero_fd -1
# define map_flags MAP_ANONYMOUS | MAP_PRIVATE
#elif HAVE_MMAP_DEVZERO
static int zero_fd;
# define map_flags MAP_FILE | MAP_PRIVATE
#endif
unsigned long page;
int handler_called = 0;
void sigsegv_handler ($5)
{
  void *fault_address = (void *) ($6);
  handler_called++;
  if (handler_called == 10)
    exit (4);
  if (fault_address != (void*)(page + 0x678))
    exit (3);
  if (mprotect ((void *) page, 0x10000, PROT_READ | PROT_WRITE) < 0)
    exit (2);
}
void crasher (unsigned long p)
{
  *(int *) (p + 0x678) = 42;
}
int main ()
{
  void *p;
  struct sigaction action;
  /* Preparations.  */
#if !HAVE_MMAP_ANON && !HAVE_MMAP_ANONYMOUS && HAVE_MMAP_DEVZERO
  zero_fd = open ("/dev/zero", O_RDONLY, 0644);
#endif
  /* Setup some mmaped memory.  */
#ifdef __hpux
  /* HP-UX 10 mmap() often fails when given a hint.  So give the OS complete
     freedom about the address range.  */
  p = mmap ((void *) 0,          0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
#else
  p = mmap ((void *) 0x12340000, 0x10000, PROT_READ | PROT_WRITE, map_flags, zero_fd, 0);
#endif
  if (p == (void *)(-1))
    exit (2);
  page = (unsigned long) p;
  /* Make it read-only.  */
  if (mprotect ((void *) page, 0x10000, PROT_READ) < 0)
    exit (2);
  /* Install the SIGSEGV handler.  */
  sigemptyset(&action.sa_mask);
]m4_if([$7], [], [
  action.sa_handler = (void (*) (int)) &sigsegv_handler;
  action.sa_flags = 0;
], [$7])[
  sigaction (SIGSEGV, &action, (struct sigaction *) NULL);
  sigaction (SIGBUS, &action, (struct sigaction *) NULL);
  /* The first write access should invoke the handler and then complete.  */
  crasher (page);
  /* The second write access should not invoke the handler.  */
  crasher (page);
  /* Check that the handler was called only once.  */
  if (handler_called != 1)
    exit (1);
  /* Test passed!  */
  return 0;
}]])],
      [$2=yes],
      [$2=no],
      [case "$host" in
         m4_if([$3], [], [], [[$3]) $2=yes ;;])
         *)
           AC_LINK_IFELSE([
             AC_LANG_PROGRAM([[
#include <signal.h>
$4
void sigsegv_handler ($5)
{
  void *fault_address = (void *) ($6);
}
]],
               [[struct sigaction action;
$7]])],
             [$2="guessing no"],
             [$2=no])
           ;;
       esac
      ])
  ])
])
EOF-fault.m4
echo - 'getpagesize.m4'
cat << 'EOF-getpagesize.m4' > 'getpagesize.m4'
# getpagesize.m4 serial 2 (libsigsegv-2.2)
dnl Copyright (C) 2002-2003 Bruno Haible <bruno@clisp.org>
dnl This file is free software, distributed under the terms of the GNU
dnl General Public License.  As a special exception to the GNU General
dnl Public License, this file may be distributed as part of a program
dnl that contains a configuration script generated by Autoconf, under
dnl the same distribution terms as the rest of that program.

# How to determine the memory page size.
AC_DEFUN([SV_GETPAGESIZE],
[
  AC_REQUIRE([AC_PROG_CC])

  AC_CHECK_HEADERS(unistd.h)

  dnl 1) getpagesize().

  AC_CACHE_CHECK([for getpagesize], sv_cv_func_getpagesize, [
    AC_LINK_IFELSE([
      AC_LANG_PROGRAM([[
#if HAVE_UNISTD_H
#include <sys/types.h>
#include <unistd.h>
#endif
]],
        [[int pgsz = getpagesize();]])],
      [sv_cv_func_getpagesize=yes],
      [sv_cv_func_getpagesize=no])])
  if test $sv_cv_func_getpagesize = yes; then
    AC_DEFINE(HAVE_GETPAGESIZE, 1,
      [Define if getpagesize() is available as a function or a macro.])
  fi

  dnl 2) sysconf(_SC_PAGESIZE).

  AC_CACHE_CHECK([for sysconf(_SC_PAGESIZE)], sv_cv_func_sysconf_pagesize, [
    AC_LINK_IFELSE([
      AC_LANG_PROGRAM([[
#if HAVE_UNISTD_H
#include <sys/types.h>
#include <unistd.h>
#endif
]],
        [[int pgsz = sysconf (_SC_PAGESIZE);]])],
      [sv_cv_func_sysconf_pagesize=yes],
      [sv_cv_func_sysconf_pagesize=no])])
  if test $sv_cv_func_sysconf_pagesize = yes; then
    AC_DEFINE(HAVE_SYSCONF_PAGESIZE, 1,
      [Define if sysconf(_SC_PAGESIZE) is available as a function or a macro.])
  fi

  dnl 3) PAGESIZE.

  AC_CACHE_CHECK([for PAGESIZE in limits.h], sv_cv_macro_pagesize, [
    AC_LINK_IFELSE([
      AC_LANG_PROGRAM([[#include <limits.h>]],
        [[int pgsz = PAGESIZE;]])],
      [sv_cv_macro_pagesize=yes],
      [sv_cv_macro_pagesize=no])])
  if test $sv_cv_macro_pagesize = yes; then
    AC_DEFINE(HAVE_PAGESIZE, 1,
      [Define if PAGESIZE is available as a macro.])
  fi

  dnl 4) On BeOS, you need to include <OS.h> and use B_PAGE_SIZE.
])
EOF-getpagesize.m4
echo - 'libtool.m4'
cat << 'EOF-libtool.m4' > 'libtool.m4'
# 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.
#   Written by Gordon Matzigkeit, 1996
#
# 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.

m4_define([_LT_COPYING], [dnl
#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
#                 2006, 2007, 2008 Free Software Foundation, Inc.
#   Written by Gordon Matzigkeit, 1996
#
#   This file is part of GNU Libtool.
#
# GNU Libtool is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation; either version 2 of
# the License, or (at your option) any later version.
#
# As a special exception to the GNU General Public License,
# if you distribute this file as part of a program or library that
# is built using GNU Libtool, you may include this file under the
# same distribution terms that you use for the rest of that program.
#
# GNU Libtool is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GNU Libtool; see the file COPYING.  If not, a copy
# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
# obtained by writing to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
])

# serial 56 LT_INIT


# LT_PREREQ(VERSION)
# ------------------
# Complain and exit if this libtool version is less that VERSION.
m4_defun([LT_PREREQ],
[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
       [m4_default([$3],
		   [m4_fatal([Libtool version $1 or higher is required],
		             63)])],
       [$2])])


# _LT_CHECK_BUILDDIR
# ------------------
# Complain if the absolute build directory name contains unusual characters
m4_defun([_LT_CHECK_BUILDDIR],
[case `pwd` in
  *\ * | *\	*)
    AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
esac
])


# LT_INIT([OPTIONS])
# ------------------
AC_DEFUN([LT_INIT],
[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
AC_BEFORE([$0], [LT_LANG])dnl
AC_BEFORE([$0], [LT_OUTPUT])dnl
AC_BEFORE([$0], [LTDL_INIT])dnl
m4_require([_LT_CHECK_BUILDDIR])dnl

dnl Autoconf doesn't catch unexpanded LT_ macros by default:
m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
dnl unless we require an AC_DEFUNed macro:
AC_REQUIRE([LTOPTIONS_VERSION])dnl
AC_REQUIRE([LTSUGAR_VERSION])dnl
AC_REQUIRE([LTVERSION_VERSION])dnl
AC_REQUIRE([LTOBSOLETE_VERSION])dnl
m4_require([_LT_PROG_LTMAIN])dnl

dnl Parse OPTIONS
_LT_SET_OPTIONS([$0], [$1])

# This can be used to rebuild libtool when needed
LIBTOOL_DEPS="$ltmain"

# Always use our own libtool.
LIBTOOL='$(SHELL) $(top_builddir)/libtool'
AC_SUBST(LIBTOOL)dnl

_LT_SETUP

# Only expand once:
m4_define([LT_INIT])
])# LT_INIT

# Old names:
AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
dnl aclocal-1.4 backwards compatibility:
dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
dnl AC_DEFUN([AM_PROG_LIBTOOL], [])


# _LT_CC_BASENAME(CC)
# -------------------
# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
m4_defun([_LT_CC_BASENAME],
[for cc_temp in $1""; 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-%%"`
])


# _LT_FILEUTILS_DEFAULTS
# ----------------------
# It is okay to use these file commands and assume they have been set
# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'.
m4_defun([_LT_FILEUTILS_DEFAULTS],
[: ${CP="cp -f"}
: ${MV="mv -f"}
: ${RM="rm -f"}
])# _LT_FILEUTILS_DEFAULTS


# _LT_SETUP
# ---------
m4_defun([_LT_SETUP],
[AC_REQUIRE([AC_CANONICAL_HOST])dnl
AC_REQUIRE([AC_CANONICAL_BUILD])dnl
_LT_DECL([], [host_alias], [0], [The host system])dnl
_LT_DECL([], [host], [0])dnl
_LT_DECL([], [host_os], [0])dnl
dnl
_LT_DECL([], [build_alias], [0], [The build system])dnl
_LT_DECL([], [build], [0])dnl
_LT_DECL([], [build_os], [0])dnl
dnl
AC_REQUIRE([AC_PROG_CC])dnl
AC_REQUIRE([LT_PATH_LD])dnl
AC_REQUIRE([LT_PATH_NM])dnl
dnl
AC_REQUIRE([AC_PROG_LN_S])dnl
test -z "$LN_S" && LN_S="ln -s"
_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
dnl
AC_REQUIRE([LT_CMD_MAX_LEN])dnl
_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
dnl
m4_require([_LT_FILEUTILS_DEFAULTS])dnl
m4_require([_LT_CHECK_SHELL_FEATURES])dnl
m4_require([_LT_CMD_RELOAD])dnl
m4_require([_LT_CHECK_MAGIC_METHOD])dnl
m4_require([_LT_CMD_OLD_ARCHIVE])dnl
m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl

_LT_CONFIG_LIBTOOL_INIT([
# See if we are running on zsh, and set the options which allow our
# commands through without removal of \ escapes INIT.
if test -n "\${ZSH_VERSION+set}" ; then
   setopt NO_GLOB_SUBST
fi
])
if test -n "${ZSH_VERSION+set}" ; then
   setopt NO_GLOB_SUBST
fi

_LT_CHECK_OBJDIR

m4_require([_LT_TAG_COMPILER])dnl
_LT_PROG_ECHO_BACKSLASH

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

# 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

# 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"

old_CC="$CC"
old_CFLAGS="$CFLAGS"

# 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

_LT_CC_BASENAME([$compiler])

# 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
    _LT_PATH_MAGIC
  fi
  ;;
esac

# Use C for the default configuration in the libtool script
LT_SUPPORTED_TAG([CC])
_LT_LANG_C_CONFIG
_LT_LANG_DEFAULT_CONFIG
_LT_CONFIG_COMMANDS
])# _LT_SETUP


# _LT_PROG_LTMAIN
# ---------------
# Note that this code is called both from `configure', and `config.status'
# now that we use AC_CONFIG_COMMANDS to generate libtool.  Notably,
# `config.status' has no value for ac_aux_dir unless we are using Automake,
# so we pass a copy along to make sure it has a sensible value anyway.
m4_defun([_LT_PROG_LTMAIN],
[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
ltmain="$ac_aux_dir/ltmain.sh"
])# _LT_PROG_LTMAIN


## ------------------------------------- ##
## Accumulate code for creating libtool. ##
## ------------------------------------- ##

# So that we can recreate a full libtool script including additional
# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
# in macros and then make a single call at the end using the `libtool'
# label.


# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
# ----------------------------------------
# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
m4_define([_LT_CONFIG_LIBTOOL_INIT],
[m4_ifval([$1],
          [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
                     [$1
])])])

# Initialize.
m4_define([_LT_OUTPUT_LIBTOOL_INIT])


# _LT_CONFIG_LIBTOOL([COMMANDS])
# ------------------------------
# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
m4_define([_LT_CONFIG_LIBTOOL],
[m4_ifval([$1],
          [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
                     [$1
])])])

# Initialize.
m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])


# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
# -----------------------------------------------------
m4_defun([_LT_CONFIG_SAVE_COMMANDS],
[_LT_CONFIG_LIBTOOL([$1])
_LT_CONFIG_LIBTOOL_INIT([$2])
])


# _LT_FORMAT_COMMENT([COMMENT])
# -----------------------------
# Add leading comment marks to the start of each line, and a trailing
# full-stop to the whole comment if one is not present already.
m4_define([_LT_FORMAT_COMMENT],
[m4_ifval([$1], [
m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
              [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
)])



## ------------------------ ##
## FIXME: Eliminate VARNAME ##
## ------------------------ ##


# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
# -------------------------------------------------------------------
# CONFIGNAME is the name given to the value in the libtool script.
# VARNAME is the (base) name used in the configure script.
# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
# VARNAME.  Any other value will be used directly.
m4_define([_LT_DECL],
[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
    [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
	[m4_ifval([$1], [$1], [$2])])
    lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
    m4_ifval([$4],
	[lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
    lt_dict_add_subkey([lt_decl_dict], [$2],
	[tagged?], [m4_ifval([$5], [yes], [no])])])
])


# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
# --------------------------------------------------------
m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])


# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
# ------------------------------------------------
m4_define([lt_decl_tag_varnames],
[_lt_decl_filter([tagged?], [yes], $@)])


# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
# ---------------------------------------------------------
m4_define([_lt_decl_filter],
[m4_case([$#],
  [0], [m4_fatal([$0: too few arguments: $#])],
  [1], [m4_fatal([$0: too few arguments: $#: $1])],
  [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
  [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
  [lt_dict_filter([lt_decl_dict], $@)])[]dnl
])


# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
# --------------------------------------------------
m4_define([lt_decl_quote_varnames],
[_lt_decl_filter([value], [1], $@)])


# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
# ---------------------------------------------------
m4_define([lt_decl_dquote_varnames],
[_lt_decl_filter([value], [2], $@)])


# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
# ---------------------------------------------------
m4_define([lt_decl_varnames_tagged],
[_$0(m4_quote(m4_default([$1], [[, ]])),
     m4_quote(m4_if([$2], [],
		     m4_quote(lt_decl_tag_varnames),
		  m4_quote(m4_shift($@)))),
     m4_split(m4_normalize(m4_quote(_LT_TAGS))))])
m4_define([_lt_decl_varnames_tagged], [lt_combine([$1], [$2], [_], $3)])


# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
# ------------------------------------------------
m4_define([lt_decl_all_varnames],
[_$0(m4_quote(m4_default([$1], [[, ]])),
     m4_if([$2], [],
	   m4_quote(lt_decl_varnames),
	m4_quote(m4_shift($@))))[]dnl
])
m4_define([_lt_decl_all_varnames],
[lt_join($@, lt_decl_varnames_tagged([$1],
			lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
])


# _LT_CONFIG_STATUS_DECLARE([VARNAME])
# ------------------------------------
# Quote a variable value, and forward it to `config.status' so that its
# 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"`'])


# _LT_CONFIG_STATUS_DECLARATIONS
# ------------------------------
# We delimit libtool config variables with single quotes, so when
# we write them to config.status, we have to be sure to quote all
# 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"`'
m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
    [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])


# _LT_LIBTOOL_TAGS
# ----------------
# Output comment and list of tags supported by the script
m4_defun([_LT_LIBTOOL_TAGS],
[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
available_tags="_LT_TAGS"dnl
])


# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
# -----------------------------------
# Extract the dictionary values for VARNAME (optionally with TAG) and
# expand to a commented shell variable setting:
#
#    # Some comment about what VAR is for.
#    visible_name=$lt_internal_name
m4_define([_LT_LIBTOOL_DECLARE],
[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
					   [description])))[]dnl
m4_pushdef([_libtool_name],
    m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
    [0], [_libtool_name=[$]$1],
    [1], [_libtool_name=$lt_[]$1],
    [2], [_libtool_name=$lt_[]$1],
    [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
])


# _LT_LIBTOOL_CONFIG_VARS
# -----------------------
# Produce commented declarations of non-tagged libtool config variables
# suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
# script.  Tagged libtool config variables (even for the LIBTOOL CONFIG
# section) are produced by _LT_LIBTOOL_TAG_VARS.
m4_defun([_LT_LIBTOOL_CONFIG_VARS],
[m4_foreach([_lt_var],
    m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])


# _LT_LIBTOOL_TAG_VARS(TAG)
# -------------------------
m4_define([_LT_LIBTOOL_TAG_VARS],
[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])


# _LT_TAGVAR(VARNAME, [TAGNAME])
# ------------------------------
m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])


# _LT_CONFIG_COMMANDS
# -------------------
# Send accumulated output to $CONFIG_STATUS.  Thanks to the lists of
# variables for single and double quote escaping we saved from calls
# to _LT_DECL, we can put quote escaped variables declarations
# into `config.status', and then the shell code to quote escape them in
# for loops in `config.status'.  Finally, any additional code accumulated
# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
m4_defun([_LT_CONFIG_COMMANDS],
[AC_PROVIDE_IFELSE([LT_OUTPUT],
	dnl If the libtool generation code has been placed in $CONFIG_LT,
	dnl instead of duplicating it all over again into config.status,
	dnl then we will have config.status run $CONFIG_LT later, so it
	dnl needs to know what name is stored there:
        [AC_CONFIG_COMMANDS([libtool],
            [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
    dnl If the libtool generation code is destined for config.status,
    dnl expand the accumulated commands and init code now:
    [AC_CONFIG_COMMANDS([libtool],
        [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
])#_LT_CONFIG_COMMANDS


# Initialize.
m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
[

# 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

sed_quote_subst='$sed_quote_subst'
double_quote_subst='$double_quote_subst'
delay_variable_subst='$delay_variable_subst'
_LT_CONFIG_STATUS_DECLARATIONS
LTCC='$LTCC'
LTCFLAGS='$LTCFLAGS'
compiler='$compiler_DEFAULT'

# Quote evaled strings.
for var in lt_decl_all_varnames([[ \
]], lt_decl_quote_varnames); do
    case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
    *[[\\\\\\\`\\"\\\$]]*)
      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
      ;;
    *)
      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
      ;;
    esac
done

# Double-quote double-evaled strings.
for var in lt_decl_all_varnames([[ \
]], lt_decl_dquote_varnames); do
    case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
    *[[\\\\\\\`\\"\\\$]]*)
      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -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_OUTPUT
# ---------
# This macro allows early generation of the libtool script (before
# AC_OUTPUT is called), incase it is used in configure for compilation
# tests.
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

cat >>"$CONFIG_LT" <<\_LTEOF
AS_SHELL_SANITIZE
_AS_PREPARE

exec AS_MESSAGE_FD>&1
exec AS_MESSAGE_LOG_FD>>config.log
{
  echo
  AS_BOX([Running $as_me.])
} >&AS_MESSAGE_LOG_FD

lt_cl_help="\
\`$as_me' creates a local libtool stub from the current configuration,
for use in further configure time tests before the real libtool is
generated.

Usage: $[0] [[OPTIONS]]

  -h, --help      print this help, then exit
  -V, --version   print version number, then exit
  -q, --quiet     do not print progress messages
  -d, --debug     don't remove temporary files

Report bugs to <bug-libtool@gnu.org>."

lt_cl_version="\
m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
configured by $[0], generated by m4_PACKAGE_STRING.

Copyright (C) 2008 Free Software Foundation, Inc.
This config.lt script is free software; the Free Software Foundation
gives unlimited permision to copy, distribute and modify it."

while test $[#] != 0
do
  case $[1] in
    --version | --v* | -V )
      echo "$lt_cl_version"; exit 0 ;;
    --help | --h* | -h )
      echo "$lt_cl_help"; exit 0 ;;
    --debug | --d* | -d )
      debug=: ;;
    --quiet | --q* | --silent | --s* | -q )
      lt_cl_silent=: ;;

    -*) AC_MSG_ERROR([unrecognized option: $[1]
Try \`$[0] --help' for more information.]) ;;

    *) AC_MSG_ERROR([unrecognized argument: $[1]
Try \`$[0] --help' for more information.]) ;;
  esac
  shift
done

if $lt_cl_silent; then
  exec AS_MESSAGE_FD>/dev/null
fi
_LTEOF

cat >>"$CONFIG_LT" <<_LTEOF
_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
_LTEOF

cat >>"$CONFIG_LT" <<\_LTEOF
AC_MSG_NOTICE([creating $ofile])
_LT_OUTPUT_LIBTOOL_COMMANDS
AS_EXIT(0)
_LTEOF
chmod +x "$CONFIG_LT"

# configure is writing to config.log, but config.lt does its own redirection,
# 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_OUTPUT


# _LT_CONFIG(TAG)
# ---------------
# If TAG is the built-in tag, create an initial libtool script with a
# default configuration from the untagged config vars.  Otherwise add code
# to config.status for appending the configuration named by TAG from the
# matching tagged config vars.
m4_defun([_LT_CONFIG],
[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
_LT_CONFIG_SAVE_COMMANDS([
  m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
  m4_if(_LT_TAG, [C], [
    # See if we are running on zsh, and set the options which allow our
    # commands through without removal of \ escapes.
    if test -n "${ZSH_VERSION+set}" ; then
      setopt NO_GLOB_SUBST
    fi

    cfgfile="${ofile}T"
    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
    $RM "$cfgfile"

    cat <<_LT_EOF >> "$cfgfile"
#! $SHELL

# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
#
_LT_COPYING
_LT_LIBTOOL_TAGS

# ### BEGIN LIBTOOL CONFIG
_LT_LIBTOOL_CONFIG_VARS
_LT_LIBTOOL_TAG_VARS
# ### END LIBTOOL CONFIG

_LT_EOF

  case $host_os in
  aix3*)
    cat <<\_LT_EOF >> "$cfgfile"
# 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
_LT_EOF
    ;;
  esac

  _LT_PROG_LTMAIN

  # We use sed instead of cat because bash on DJGPP gets confused if
  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
  # text mode, it properly converts lines to CR/LF.  This bash problem
  # is reportedly fixed, but why not run on old versions too?
  sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
    || (rm -f "$cfgfile"; exit 1)

  _LT_PROG_XSI_SHELLFNS

  sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
    || (rm -f "$cfgfile"; exit 1)

  mv -f "$cfgfile" "$ofile" ||
    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
  chmod +x "$ofile"
],
[cat <<_LT_EOF >> "$ofile"

dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
dnl in a comment (ie after a #).
# ### BEGIN LIBTOOL TAG CONFIG: $1
_LT_LIBTOOL_TAG_VARS(_LT_TAG)
# ### END LIBTOOL TAG CONFIG: $1
_LT_EOF
])dnl /m4_if
],
[m4_if([$1], [], [
    PACKAGE='$PACKAGE'
    VERSION='$VERSION'
    TIMESTAMP='$TIMESTAMP'
    RM='$RM'
    ofile='$ofile'], [])
])dnl /_LT_CONFIG_SAVE_COMMANDS
])# _LT_CONFIG


# LT_SUPPORTED_TAG(TAG)
# ---------------------
# Trace this macro to discover what tags are supported by the libtool
# --tag option, using:
#    autoconf --trace 'LT_SUPPORTED_TAG:$1'
AC_DEFUN([LT_SUPPORTED_TAG], [])


# C support is built-in for now
m4_define([_LT_LANG_C_enabled], [])
m4_define([_LT_TAGS], [])


# LT_LANG(LANG)
# -------------
# Enable libtool support for the given language if not already enabled.
AC_DEFUN([LT_LANG],
[AC_BEFORE([$0], [LT_OUTPUT])dnl
m4_case([$1],
  [C],			[_LT_LANG(C)],
  [C++],		[_LT_LANG(CXX)],
  [Java],		[_LT_LANG(GCJ)],
  [Fortran 77],		[_LT_LANG(F77)],
  [Fortran],		[_LT_LANG(FC)],
  [Windows Resource],	[_LT_LANG(RC)],
  [m4_ifdef([_LT_LANG_]$1[_CONFIG],
    [_LT_LANG($1)],
    [m4_fatal([$0: unsupported language: "$1"])])])dnl
])# LT_LANG


# _LT_LANG(LANGNAME)
# ------------------
m4_defun([_LT_LANG],
[m4_ifdef([_LT_LANG_]$1[_enabled], [],
  [LT_SUPPORTED_TAG([$1])dnl
  m4_append([_LT_TAGS], [$1 ])dnl
  m4_define([_LT_LANG_]$1[_enabled], [])dnl
  _LT_LANG_$1_CONFIG($1)])dnl
])# _LT_LANG


# _LT_LANG_DEFAULT_CONFIG
# -----------------------
m4_defun([_LT_LANG_DEFAULT_CONFIG],
[AC_PROVIDE_IFELSE([AC_PROG_CXX],
  [LT_LANG(CXX)],
  [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])

AC_PROVIDE_IFELSE([AC_PROG_F77],
  [LT_LANG(F77)],
  [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])

AC_PROVIDE_IFELSE([AC_PROG_FC],
  [LT_LANG(FC)],
  [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])

dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
dnl pulling things in needlessly.
AC_PROVIDE_IFELSE([AC_PROG_GCJ],
  [LT_LANG(GCJ)],
  [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
    [LT_LANG(GCJ)],
    [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
      [LT_LANG(GCJ)],
      [m4_ifdef([AC_PROG_GCJ],
	[m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
       m4_ifdef([A][M_PROG_GCJ],
	[m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
       m4_ifdef([LT_PROG_GCJ],
	[m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])

AC_PROVIDE_IFELSE([LT_PROG_RC],
  [LT_LANG(RC)],
  [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
])# _LT_LANG_DEFAULT_CONFIG

# Obsolete macros:
AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
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)])
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], [])


# _LT_TAG_COMPILER
# ----------------
m4_defun([_LT_TAG_COMPILER],
[AC_REQUIRE([AC_PROG_CC])dnl

_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl

# 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
])# _LT_TAG_COMPILER


# _LT_COMPILER_BOILERPLATE
# ------------------------
# Check for compiler boilerplate output or warnings with
# the simple compiler test code.
m4_defun([_LT_COMPILER_BOILERPLATE],
[m4_require([_LT_DECL_SED])dnl
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*
])# _LT_COMPILER_BOILERPLATE


# _LT_LINKER_BOILERPLATE
# ----------------------
# Check for linker boilerplate output or warnings with
# the simple link test code.
m4_defun([_LT_LINKER_BOILERPLATE],
[m4_require([_LT_DECL_SED])dnl
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*
])# _LT_LINKER_BOILERPLATE

# _LT_REQUIRED_DARWIN_CHECKS
# -------------------------
m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
  case $host_os in
    rhapsody* | darwin*)
    AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
    AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
    AC_CHECK_TOOL([LIPO], [lipo], [:])
    AC_CHECK_TOOL([OTOOL], [otool], [:])
    AC_CHECK_TOOL([OTOOL64], [otool64], [:])
    _LT_DECL([], [DSYMUTIL], [1],
      [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
    _LT_DECL([], [NMEDIT], [1],
      [Tool to change global to local symbols on Mac OS X])
    _LT_DECL([], [LIPO], [1],
      [Tool to manipulate fat objects and archives on Mac OS X])
    _LT_DECL([], [OTOOL], [1],
      [ldd/readelf like tool for Mach-O binaries on Mac OS X])
    _LT_DECL([], [OTOOL64], [1],
      [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])

    AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
      [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" >&AS_MESSAGE_LOG_FD
	$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 >&AS_MESSAGE_LOG_FD
	fi
	rm -rf libconftest.dylib*
	rm -f conftest.*
      fi])
    AC_CACHE_CHECK([for -exported_symbols_list linker flag],
      [lt_cv_ld_exported_symbols_list],
      [lt_cv_ld_exported_symbols_list=no
      save_LDFLAGS=$LDFLAGS
      echo "_main" > conftest.sym
      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
      AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
	[lt_cv_ld_exported_symbols_list=yes],
	[lt_cv_ld_exported_symbols_list=no])
	LDFLAGS="$save_LDFLAGS"
    ])
    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
])


# _LT_DARWIN_LINKER_FEATURES
# --------------------------
# Checks for linker and compiler features on darwin
m4_defun([_LT_DARWIN_LINKER_FEATURES],
[
  m4_require([_LT_REQUIRED_DARWIN_CHECKS])
  _LT_TAGVAR(archive_cmds_need_lc, $1)=no
  _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)=''
  _LT_TAGVAR(link_all_deplibs, $1)=yes
  _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
  if test "$GCC" = "yes"; then
    output_verbose_link_cmd=echo
    _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_TAGVAR(module_expsym_cmds, $1)="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}"
    m4_if([$1], [CXX],
[   if test "$lt_cv_apple_cc_single_mod" != "yes"; then
      _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
      _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
    fi
],[])
  else
  _LT_TAGVAR(ld_shlibs, $1)=no
  fi
])

# _LT_SYS_MODULE_PATH_AIX
# -----------------------
# Links a minimal program and checks the executable
# for the system default hardcoded library path. In most cases,
# this is /usr/lib:/lib, but when the MPI compilers are used
# the location of the communication and MPI libs are included too.
# If we don't find anything, use the default library path according
# to the aix ld manual.
m4_defun([_LT_SYS_MODULE_PATH_AIX],
[m4_require([_LT_DECL_SED])dnl
AC_LINK_IFELSE(AC_LANG_PROGRAM,[
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],[])
if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
])# _LT_SYS_MODULE_PATH_AIX


# _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


# _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.
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!
  :
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

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_PROG_ECHO_BACKSLASH


# _LT_ENABLE_LOCK
# ---------------
m4_defun([_LT_ENABLE_LOCK],
[AC_ARG_ENABLE([libtool-lock],
  [AS_HELP_STRING([--disable-libtool-lock],
    [avoid locking (might break parallel builds)])])
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 AC_TRY_EVAL(ac_compile); 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 __oline__ "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
	*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 AC_TRY_EVAL(ac_compile); 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"
  AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
    [AC_LANG_PUSH(C)
     AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
     AC_LANG_POP])
  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 AC_TRY_EVAL(ac_compile); 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"
])# _LT_ENABLE_LOCK


# _LT_CMD_OLD_ARCHIVE
# -------------------
m4_defun([_LT_CMD_OLD_ARCHIVE],
[AC_CHECK_TOOL(AR, ar, false)
test -z "$AR" && AR=ar
test -z "$AR_FLAGS" && AR_FLAGS=cru
_LT_DECL([], [AR], [1], [The archiver])
_LT_DECL([], [AR_FLAGS], [1])

AC_CHECK_TOOL(STRIP, strip, :)
test -z "$STRIP" && STRIP=:
_LT_DECL([], [STRIP], [1], [A symbol stripping program])

AC_CHECK_TOOL(RANLIB, ranlib, :)
test -z "$RANLIB" && RANLIB=:
_LT_DECL([], [RANLIB], [1],
    [Commands used to install an old-style archive])

# 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
_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_CMD_OLD_ARCHIVE


# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
#		[OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
# ----------------------------------------------------------------
# Check whether the given compiler option works
AC_DEFUN([_LT_COMPILER_OPTION],
[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
m4_require([_LT_DECL_SED])dnl
AC_CACHE_CHECK([$1], [$2],
  [$2=no
   m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
   lt_compiler_flag="$3"
   # 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:__oline__: $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
   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
       $2=yes
     fi
   fi
   $RM conftest*
])

if test x"[$]$2" = xyes; then
    m4_if([$5], , :, [$5])
else
    m4_if([$6], , :, [$6])
fi
])# _LT_COMPILER_OPTION

# Old name:
AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
dnl aclocal-1.4 backwards compatibility:
dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])


# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
#                  [ACTION-SUCCESS], [ACTION-FAILURE])
# ----------------------------------------------------
# Check whether the given linker option works
AC_DEFUN([_LT_LINKER_OPTION],
[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
m4_require([_LT_DECL_SED])dnl
AC_CACHE_CHECK([$1], [$2],
  [$2=no
   save_LDFLAGS="$LDFLAGS"
   LDFLAGS="$LDFLAGS $3"
   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>&AS_MESSAGE_LOG_FD
       $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
         $2=yes
       fi
     else
       $2=yes
     fi
   fi
   $RM -r conftest*
   LDFLAGS="$save_LDFLAGS"
])

if test x"[$]$2" = xyes; then
    m4_if([$4], , :, [$4])
else
    m4_if([$5], , :, [$5])
fi
])# _LT_LINKER_OPTION

# Old name:
AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
dnl aclocal-1.4 backwards compatibility:
dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])


# LT_CMD_MAX_LEN
#---------------
AC_DEFUN([LT_CMD_MAX_LEN],
[AC_REQUIRE([AC_CANONICAL_HOST])dnl
# find the maximum length of command line arguments
AC_MSG_CHECKING([the maximum length of command line arguments])
AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
  i=0
  teststring="ABCD"

  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
    ;;

  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*)
    # 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;
    ;;

  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
    ;;

  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
])
if test -n $lt_cv_sys_max_cmd_len ; then
  AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
else
  AC_MSG_RESULT(none)
fi
max_cmd_len=$lt_cv_sys_max_cmd_len
_LT_DECL([], [max_cmd_len], [0],
    [What is the maximum length of a command?])
])# LT_CMD_MAX_LEN

# Old name:
AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
dnl aclocal-1.4 backwards compatibility:
dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])


# _LT_HEADER_DLFCN
# ----------------
m4_defun([_LT_HEADER_DLFCN],
[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
])# _LT_HEADER_DLFCN


# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
#                      ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
# ----------------------------------------------------------------
m4_defun([_LT_TRY_DLOPEN_SELF],
[m4_require([_LT_HEADER_DLFCN])dnl
if test "$cross_compiling" = yes; then :
  [$4]
else
  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
  lt_status=$lt_dlunknown
  cat > conftest.$ac_ext <<_LT_EOF
[#line __oline__ "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

#ifdef __cplusplus
extern "C" void exit (int);
#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 ());

    exit (status);
}]
_LT_EOF
  if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
    (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
    lt_status=$?
    case x$lt_status in
      x$lt_dlno_uscore) $1 ;;
      x$lt_dlneed_uscore) $2 ;;
      x$lt_dlunknown|x*) $3 ;;
    esac
  else :
    # compilation failed
    $3
  fi
fi
rm -fr conftest*
])# _LT_TRY_DLOPEN_SELF


# LT_SYS_DLOPEN_SELF
# ------------------
AC_DEFUN([LT_SYS_DLOPEN_SELF],
[m4_require([_LT_HEADER_DLFCN])dnl
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*)
    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
    AC_CHECK_LIB([dl], [dlopen],
		[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
    lt_cv_dlopen="dyld"
    lt_cv_dlopen_libs=
    lt_cv_dlopen_self=yes
    ])
    ;;

  *)
    AC_CHECK_FUNC([shl_load],
	  [lt_cv_dlopen="shl_load"],
      [AC_CHECK_LIB([dld], [shl_load],
	    [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
	[AC_CHECK_FUNC([dlopen],
	      [lt_cv_dlopen="dlopen"],
	  [AC_CHECK_LIB([dl], [dlopen],
		[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
	    [AC_CHECK_LIB([svld], [dlopen],
		  [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
	      [AC_CHECK_LIB([dld], [dld_link],
		    [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
	      ])
	    ])
	  ])
	])
      ])
    ;;
  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"

    AC_CACHE_CHECK([whether a program can dlopen itself],
	  lt_cv_dlopen_self, [dnl
	  _LT_TRY_DLOPEN_SELF(
	    lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
	    lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
    ])

    if test "x$lt_cv_dlopen_self" = xyes; then
      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
      AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
	  lt_cv_dlopen_self_static, [dnl
	  _LT_TRY_DLOPEN_SELF(
	    lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
	    lt_cv_dlopen_self_static=no,  lt_cv_dlopen_self_static=cross)
      ])
    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
_LT_DECL([dlopen_support], [enable_dlopen], [0],
	 [Whether dlopen is supported])
_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
	 [Whether dlopen of programs is supported])
_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
	 [Whether dlopen of statically linked programs is supported])
])# LT_SYS_DLOPEN_SELF

# Old name:
AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
dnl aclocal-1.4 backwards compatibility:
dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])


# _LT_COMPILER_C_O([TAGNAME])
# ---------------------------
# Check to see if options -c and -o are simultaneously supported by compiler.
# This macro does not hard code the compiler like AC_PROG_CC_C_O.
m4_defun([_LT_COMPILER_C_O],
[m4_require([_LT_DECL_SED])dnl
m4_require([_LT_FILEUTILS_DEFAULTS])dnl
m4_require([_LT_TAG_COMPILER])dnl
AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=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:__oline__: $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
   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_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
     fi
   fi
   chmod u+w . 2>&AS_MESSAGE_LOG_FD
   $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*
])
_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
	[Does compiler simultaneously support -c and -o options?])
])# _LT_COMPILER_C_O


# _LT_COMPILER_FILE_LOCKS([TAGNAME])
# ----------------------------------
# Check to see if we can do hard links to lock some files if needed
m4_defun([_LT_COMPILER_FILE_LOCKS],
[m4_require([_LT_ENABLE_LOCK])dnl
m4_require([_LT_FILEUTILS_DEFAULTS])dnl
_LT_COMPILER_C_O([$1])

hard_links="nottested"
if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
  # do not overwrite the value of need_locks provided by the user
  AC_MSG_CHECKING([if we can lock with hard links])
  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
  AC_MSG_RESULT([$hard_links])
  if test "$hard_links" = no; then
    AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
    need_locks=warn
  fi
else
  need_locks=no
fi
_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
])# _LT_COMPILER_FILE_LOCKS


# _LT_CHECK_OBJDIR
# ----------------
m4_defun([_LT_CHECK_OBJDIR],
[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
[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])
objdir=$lt_cv_objdir
_LT_DECL([], [objdir], [0],
         [The name of the directory that contains temporary libtool files])dnl
m4_pattern_allow([LT_OBJDIR])dnl
AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/",
  [Define to the sub-directory in which libtool stores uninstalled libraries.])
])# _LT_CHECK_OBJDIR


# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
# --------------------------------------
# Check hardcoding attributes.
m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
[AC_MSG_CHECKING([how to hardcode library paths into programs])
_LT_TAGVAR(hardcode_action, $1)=
if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
   test -n "$_LT_TAGVAR(runpath_var, $1)" ||
   test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then

  # We can hardcode non-existent directories.
  if test "$_LT_TAGVAR(hardcode_direct, $1)" != 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, $1)" != no &&
     test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then
    # Linking always hardcodes the temporary library directory.
    _LT_TAGVAR(hardcode_action, $1)=relink
  else
    # We can link without hardcoding, and we can hardcode nonexisting dirs.
    _LT_TAGVAR(hardcode_action, $1)=immediate
  fi
else
  # We cannot hardcode anything, or else we can only hardcode existing
  # directories.
  _LT_TAGVAR(hardcode_action, $1)=unsupported
fi
AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])

if test "$_LT_TAGVAR(hardcode_action, $1)" = relink ||
   test "$_LT_TAGVAR(inherit_rpath, $1)" = 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
_LT_TAGDECL([], [hardcode_action], [0],
    [How to hardcode a shared library path into an executable])
])# _LT_LINKER_HARDCODE_LIBPATH


# _LT_CMD_STRIPLIB
# ----------------
m4_defun([_LT_CMD_STRIPLIB],
[m4_require([_LT_DECL_EGREP])
striplib=
old_striplib=
AC_MSG_CHECKING([whether stripping libraries is possible])
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"
  AC_MSG_RESULT([yes])
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"
      AC_MSG_RESULT([yes])
    else
      AC_MSG_RESULT([no])
    fi
    ;;
  *)
    AC_MSG_RESULT([no])
    ;;
  esac
fi
_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
_LT_DECL([], [striplib], [1])
])# _LT_CMD_STRIPLIB


# _LT_SYS_DYNAMIC_LINKER([TAG])
# -----------------------------
# PORTME Fill in your ld.so characteristics
m4_defun([_LT_SYS_DYNAMIC_LINKER],
[AC_REQUIRE([AC_CANONICAL_HOST])dnl
m4_require([_LT_DECL_EGREP])dnl
m4_require([_LT_FILEUTILS_DEFAULTS])dnl
m4_require([_LT_DECL_SED])dnl
AC_MSG_CHECKING([dynamic linker characteristics])
m4_if([$1],
	[], [
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

# 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'
  ;;

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=`$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'
    ;;
  esac
  ;;

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
  ;;

cygwin* | mingw* | pw32*)
  version_type=windows
  shrext_cmds=".dll"
  need_version=no
  need_lib_prefix=no

  case $GCC,$host_os in
  yes,cygwin* | yes,mingw* | yes,pw32*)
    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="/usr/lib /lib/w32api /lib /usr/local/lib"
      ;;
    mingw*)
      # 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'
      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
  ;;

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`'
m4_if([$1], [],[
  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
  ;;

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
    ;;
  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
  ;;

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'
  ;;

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
  ;;

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_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

  # 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;/^$/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'
  ;;

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
  ;;

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
  ;;

*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'
  ;;

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
    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
  ;;

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'
      ;;
  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
  ;;

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_name_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
  ;;

*)
  dynamic_linker=no
  ;;
esac
AC_MSG_RESULT([$dynamic_linker])
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

_LT_DECL([], [variables_saved_for_relink], [1],
    [Variables whose values should be saved in libtool wrapper scripts and
    restored at link time])
_LT_DECL([], [need_lib_prefix], [0],
    [Do we need the "lib" prefix for modules?])
_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
_LT_DECL([], [version_type], [0], [Library versioning type])
_LT_DECL([], [runpath_var], [0],  [Shared library runtime path variable])
_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
_LT_DECL([], [shlibpath_overrides_runpath], [0],
    [Is shlibpath searched before the hard-coded library search path?])
_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
_LT_DECL([], [library_names_spec], [1],
    [[List of archive names.  First name is the real one, the rest are links.
    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([], [postinstall_cmds], [2],
    [Command to use after installation of a shared archive])
_LT_DECL([], [postuninstall_cmds], [2],
    [Command to use after uninstallation of a shared archive])
_LT_DECL([], [finish_cmds], [2],
    [Commands used to finish a libtool library installation in a directory])
_LT_DECL([], [finish_eval], [1],
    [[As "finish_cmds", except a single script fragment to be evaled but
    not shown]])
_LT_DECL([], [hardcode_into_libs], [0],
    [Whether we should hardcode library paths into libraries])
_LT_DECL([], [sys_lib_search_path_spec], [2],
    [Compile-time system search path for libraries])
_LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
    [Run-time system search path for libraries])
])# _LT_SYS_DYNAMIC_LINKER


# _LT_PATH_TOOL_PREFIX(TOOL)
# --------------------------
# find a file program which can recognize shared library
AC_DEFUN([_LT_PATH_TOOL_PREFIX],
[m4_require([_LT_DECL_EGREP])dnl
AC_MSG_CHECKING([for $1])
AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
[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
dnl $ac_dummy forces splitting on constant user-supplied paths.
dnl POSIX.2 word splitting is done only on the output of word expansions,
dnl not every word.  This closes a longstanding sh security hole.
  ac_dummy="m4_if([$2], , $PATH, [$2])"
  for ac_dir in $ac_dummy; do
    IFS="$lt_save_ifs"
    test -z "$ac_dir" && ac_dir=.
    if test -f $ac_dir/$1; then
      lt_cv_path_MAGIC_CMD="$ac_dir/$1"
      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
  done
  IFS="$lt_save_ifs"
  MAGIC_CMD="$lt_save_MAGIC_CMD"
  ;;
esac])
MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
if test -n "$MAGIC_CMD"; then
  AC_MSG_RESULT($MAGIC_CMD)
else
  AC_MSG_RESULT(no)
fi
_LT_DECL([], [MAGIC_CMD], [0],
	 [Used to examine libraries when file_magic_cmd begins with "file"])dnl
])# _LT_PATH_TOOL_PREFIX

# Old name:
AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
dnl aclocal-1.4 backwards compatibility:
dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])


# _LT_PATH_MAGIC
# --------------
# find a file program which can recognize a shared library
m4_defun([_LT_PATH_MAGIC],
[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
if test -z "$lt_cv_path_MAGIC_CMD"; then
  if test -n "$ac_tool_prefix"; then
    _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
  else
    MAGIC_CMD=:
  fi
fi
])# _LT_PATH_MAGIC


# LT_PATH_LD
# ----------
# find the pathname to the GNU or non-GNU linker
AC_DEFUN([LT_PATH_LD],
[AC_REQUIRE([AC_PROG_CC])dnl
AC_REQUIRE([AC_CANONICAL_HOST])dnl
AC_REQUIRE([AC_CANONICAL_BUILD])dnl
m4_require([_LT_DECL_SED])dnl
m4_require([_LT_DECL_EGREP])dnl

AC_ARG_WITH([gnu-ld],
    [AS_HELP_STRING([--with-gnu-ld],
	[assume the C compiler uses GNU ld @<:@default=no@:>@])],
    [test "$withval" = no || with_gnu_ld=yes],
    [with_gnu_ld=no])dnl

ac_prog=ld
if test "$GCC" = yes; then
  # Check if gcc -print-prog-name=ld gives a path.
  AC_MSG_CHECKING([for ld used by $CC])
  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
  AC_MSG_CHECKING([for GNU ld])
else
  AC_MSG_CHECKING([for non-GNU ld])
fi
AC_CACHE_VAL(lt_cv_path_LD,
[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])
LD="$lt_cv_path_LD"
if test -n "$LD"; then
  AC_MSG_RESULT($LD)
else
  AC_MSG_RESULT(no)
fi
test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
_LT_PATH_LD_GNU
AC_SUBST([LD])

_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
])# LT_PATH_LD

# Old names:
AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
dnl aclocal-1.4 backwards compatibility:
dnl AC_DEFUN([AM_PROG_LD], [])
dnl AC_DEFUN([AC_PROG_LD], [])


# _LT_PATH_LD_GNU
#- --------------
m4_defun([_LT_PATH_LD_GNU],
[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
[# 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])
with_gnu_ld=$lt_cv_prog_gnu_ld
])# _LT_PATH_LD_GNU


# _LT_CMD_RELOAD
# --------------
# find reload flag for linker
#   -- PORTME Some linkers may need a different reload flag.
m4_defun([_LT_CMD_RELOAD],
[AC_CACHE_CHECK([for $LD option to reload object files],
  lt_cv_ld_reload_flag,
  [lt_cv_ld_reload_flag='-r'])
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
_LT_DECL([], [reload_flag], [1], [How to create reloadable object files])dnl
_LT_DECL([], [reload_cmds], [2])dnl
])# _LT_CMD_RELOAD


# _LT_CHECK_MAGIC_METHOD
# ----------------------
# how to check for library dependencies
#  -- PORTME fill in with the dynamic library characteristics
m4_defun([_LT_CHECK_MAGIC_METHOD],
[m4_require([_LT_DECL_EGREP])
AC_CACHE_CHECK([how to recognize dependent libraries],
lt_cv_deplibs_check_method,
[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.

case $host_os in
aix[[4-9]]*)
  lt_cv_deplibs_check_method=pass_all
  ;;

beos*)
  lt_cv_deplibs_check_method=pass_all
  ;;

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'
  ;;

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
  ;;

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
    ;;
  pc)
    lt_cv_deplibs_check_method=pass_all
    ;;
  esac
  ;;

tpf*)
  lt_cv_deplibs_check_method=pass_all
  ;;
esac
])
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

_LT_DECL([], [deplibs_check_method], [1],
    [Method to check whether dependent libraries are shared objects])
_LT_DECL([], [file_magic_cmd], [1],
    [Command to use when deplibs_check_method == "file_magic"])
])# _LT_CHECK_MAGIC_METHOD


# LT_PATH_NM
# ----------
# find the pathname to a BSD- or MS-compatible name lister
AC_DEFUN([LT_PATH_NM],
[AC_REQUIRE([AC_PROG_CC])dnl
AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
[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])
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.
  AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :)
  AC_SUBST([DUMPBIN])
  if test "$DUMPBIN" != ":"; then
    NM="$DUMPBIN"
  fi
fi
test -z "$NM" && NM=nm
AC_SUBST([NM])
_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl

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 "$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 "$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)
  cat conftest.out >&AS_MESSAGE_LOG_FD
  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
    lt_cv_nm_interface="MS dumpbin"
  fi
  rm -f conftest*])
])# LT_PATH_NM

# Old names:
AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
dnl aclocal-1.4 backwards compatibility:
dnl AC_DEFUN([AM_PROG_NM], [])
dnl AC_DEFUN([AC_PROG_NM], [])


# LT_LIB_M
# --------
# check for math library
AC_DEFUN([LT_LIB_M],
[AC_REQUIRE([AC_CANONICAL_HOST])dnl
LIBM=
case $host in
*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
  # These system don't have libm, or don't need it
  ;;
*-ncr-sysv4.3*)
  AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
  AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
  ;;
*)
  AC_CHECK_LIB(m, cos, LIBM="-lm")
  ;;
esac
AC_SUBST([LIBM])
])# LT_LIB_M

# Old name:
AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
dnl aclocal-1.4 backwards compatibility:
dnl AC_DEFUN([AC_CHECK_LIBM], [])


# _LT_COMPILER_NO_RTTI([TAGNAME])
# -------------------------------
m4_defun([_LT_COMPILER_NO_RTTI],
[m4_require([_LT_TAG_COMPILER])dnl

_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'

  _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
    lt_cv_prog_compiler_rtti_exceptions,
    [-fno-rtti -fno-exceptions], [],
    [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
fi
_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
	[Compiler flag to turn off builtin functions])
])# _LT_COMPILER_NO_RTTI


# _LT_CMD_GLOBAL_SYMBOLS
# ----------------------
m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
[AC_REQUIRE([AC_CANONICAL_HOST])dnl
AC_REQUIRE([AC_PROG_CC])dnl
AC_REQUIRE([LT_PATH_NM])dnl
AC_REQUIRE([LT_PATH_LD])dnl
m4_require([_LT_DECL_SED])dnl
m4_require([_LT_DECL_EGREP])dnl
m4_require([_LT_TAG_COMPILER])dnl

# Check for command to grab the raw symbol name followed by C symbol from nm.
AC_MSG_CHECKING([command to parse $NM output from $compiler object])
AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
[
# 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]]'

# Regexp to match symbols that can be accessed directly from C.
sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'

# Define system-specific variables.
case $host_os in
aix*)
  symcode='[[BCDT]]'
  ;;
cygwin* | mingw* | pw32*)
  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

# 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'"

# 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"

  # 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 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
      # 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

#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_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
	  if AC_TRY_EVAL(ac_link) && 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" >&AS_MESSAGE_LOG_FD
	fi
      else
	echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
      fi
    else
      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
    fi
  else
    echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
    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
])
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
  AC_MSG_RESULT(failed)
else
  AC_MSG_RESULT(ok)
fi

_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
    [Take the output of nm and produce a listing of raw symbols and C names])
_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
    [Transform the output of nm in a proper C declaration])
_LT_DECL([global_symbol_to_c_name_address],
    [lt_cv_sys_global_symbol_to_c_name_address], [1],
    [Transform the output of nm in a C name address pair])
_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
    [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
    [Transform the output of nm in a C name address pair when lib prefix is needed])
]) # _LT_CMD_GLOBAL_SYMBOLS


# _LT_COMPILER_PIC([TAGNAME])
# ---------------------------
m4_defun([_LT_COMPILER_PIC],
[m4_require([_LT_TAG_COMPILER])dnl
_LT_TAGVAR(lt_prog_compiler_wl, $1)=
_LT_TAGVAR(lt_prog_compiler_pic, $1)=
_LT_TAGVAR(lt_prog_compiler_static, $1)=

AC_MSG_CHECKING([for $compiler option to produce PIC])
m4_if([$1], [CXX], [
  # C++ specific cases for pic, static, wl, etc.
  if test "$GXX" = yes; then
    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'

    case $host_os in
    aix*)
      # All AIX code is PIC.
      if test "$host_cpu" = ia64; then
	# AIX 5 now supports IA64 processor
	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
      fi
      ;;

    amigaos*)
      case $host_cpu in
      powerpc)
            # see comment about AmigaOS4 .so support
            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-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_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
        ;;
      esac
      ;;

    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
      # PIC is the default for these OSes.
      ;;
    mingw* | cygwin* | os2* | pw32*)
      # 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
      m4_if([$1], [GCJ], [],
	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
      ;;
    darwin* | rhapsody*)
      # PIC is the default on this platform
      # Common symbols not allowed in MH_DYLIB files
      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
      ;;
    *djgpp*)
      # DJGPP does not support shared libraries at all
      _LT_TAGVAR(lt_prog_compiler_pic, $1)=
      ;;
    interix[[3-9]]*)
      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
      # Instead, we relocate shared libraries at runtime.
      ;;
    sysv4*MP*)
      if test -d /usr/nec; then
	_LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
      fi
      ;;
    hpux*)
      # 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*)
	;;
      *)
	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
	;;
      esac
      ;;
    *qnx* | *nto*)
      # QNX uses GNU C++, but need to define -shared option too, otherwise
      # it will coredump.
      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
      ;;
    *)
      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
      ;;
    esac
  else
    case $host_os in
      aix[[4-9]]*)
	# All AIX code is PIC.
	if test "$host_cpu" = ia64; then
	  # AIX 5 now supports IA64 processor
	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
	else
	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
	fi
	;;
      chorus*)
	case $cc_basename in
	cxch68*)
	  # Green Hills C++ Compiler
	  # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
	  ;;
	esac
	;;
      dgux*)
	case $cc_basename in
	  ec++*)
	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
	    ;;
	  ghcx*)
	    # Green Hills C++ Compiler
	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
	    ;;
	  *)
	    ;;
	esac
	;;
      freebsd* | dragonfly*)
	# FreeBSD uses GNU C++
	;;
      hpux9* | hpux10* | hpux11*)
	case $cc_basename in
	  CC*)
	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
	    _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
	    if test "$host_cpu" != ia64; then
	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
	    fi
	    ;;
	  aCC*)
	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
	    _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
	    case $host_cpu in
	    hppa*64*|ia64*)
	      # +Z the default
	      ;;
	    *)
	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
	      ;;
	    esac
	    ;;
	  *)
	    ;;
	esac
	;;
      interix*)
	# This is c89, which is MS Visual C++ (no shared libs)
	# Anyone wants to do a port?
	;;
      irix5* | irix6* | nonstopux*)
	case $cc_basename in
	  CC*)
	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
	    # CC pic flag -KPIC is the default.
	    ;;
	  *)
	    ;;
	esac
	;;
      linux* | k*bsd*-gnu)
	case $cc_basename in
	  KCC*)
	    # KAI C++ Compiler
	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
	    ;;
	  icpc* | ecpc* )
	    # Intel C++
	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
	    ;;
	  pgCC* | pgcpp*)
	    # Portland Group C++ compiler
	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
	    ;;
	  cxx*)
	    # Compaq C++
	    # Make sure the PIC flag is empty.  It appears that all Alpha
	    # Linux and Compaq Tru64 Unix objects are PIC.
	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
	    ;;
	  xlc* | xlC*)
	    # IBM XL 8.0 on PPC
	    _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
	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
	      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
	      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
	      ;;
	    esac
	    ;;
	esac
	;;
      lynxos*)
	;;
      m88k*)
	;;
      mvs*)
	case $cc_basename in
	  cxx*)
	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
	    ;;
	  *)
	    ;;
	esac
	;;
      netbsd*)
	;;
      *qnx* | *nto*)
        # QNX uses GNU C++, but need to define -shared option too, otherwise
        # it will coredump.
        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
        ;;
      osf3* | osf4* | osf5*)
	case $cc_basename in
	  KCC*)
	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
	    ;;
	  RCC*)
	    # Rational C++ 2.4.1
	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
	    ;;
	  cxx*)
	    # Digital/Compaq C++
	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
	    # Make sure the PIC flag is empty.  It appears that all Alpha
	    # Linux and Compaq Tru64 Unix objects are PIC.
	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
	    ;;
	  *)
	    ;;
	esac
	;;
      psos*)
	;;
      solaris*)
	case $cc_basename in
	  CC*)
	    # 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_wl, $1)='-Qoption ld '
	    ;;
	  gcx*)
	    # Green Hills C++ Compiler
	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
	    ;;
	  *)
	    ;;
	esac
	;;
      sunos4*)
	case $cc_basename in
	  CC*)
	    # Sun C++ 4.x
	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
	    ;;
	  lcc*)
	    # Lucid
	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
	    ;;
	  *)
	    ;;
	esac
	;;
      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
	case $cc_basename in
	  CC*)
	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
	    ;;
	esac
	;;
      tandem*)
	case $cc_basename in
	  NCC*)
	    # NonStop-UX NCC 3.20
	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
	    ;;
	  *)
	    ;;
	esac
	;;
      vxworks*)
	;;
      *)
	_LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
	;;
    esac
  fi
],
[
  if test "$GCC" = yes; then
    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'

    case $host_os in
      aix*)
      # All AIX code is PIC.
      if test "$host_cpu" = ia64; then
	# AIX 5 now supports IA64 processor
	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
      fi
      ;;

    amigaos*)
      case $host_cpu in
      powerpc)
            # see comment about AmigaOS4 .so support
            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-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_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
        ;;
      esac
      ;;

    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
      # PIC is the default for these OSes.
      ;;

    mingw* | cygwin* | pw32* | os2*)
      # 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
      m4_if([$1], [GCJ], [],
	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
      ;;

    darwin* | rhapsody*)
      # PIC is the default on this platform
      # Common symbols not allowed in MH_DYLIB files
      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
      ;;

    hpux*)
      # 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_TAGVAR(lt_prog_compiler_pic, $1)='-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_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
      enable_shared=no
      ;;

    *nto* | *qnx*)
      # QNX uses GNU C++, but need to define -shared option too, otherwise
      # it will coredump.
      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
      ;;

    sysv4*MP*)
      if test -d /usr/nec; then
	_LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
      fi
      ;;

    *)
      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
      ;;
    esac
  else
    # PORTME Check for flag to pass linker flags through the system compiler.
    case $host_os in
    aix*)
      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
      if test "$host_cpu" = ia64; then
	# AIX 5 now supports IA64 processor
	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
      else
	_LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
      fi
      ;;

    mingw* | cygwin* | pw32* | os2*)
      # 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).
      m4_if([$1], [GCJ], [],
	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
      ;;

    hpux9* | hpux10* | hpux11*)
      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-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_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
	;;
      esac
      # Is there a better lt_prog_compiler_static that works with the bundled CC?
      _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
      ;;

    irix5* | irix6* | nonstopux*)
      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
      # PIC (with -KPIC) is the default.
      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
      ;;

    linux* | k*bsd*-gnu)
      case $cc_basename in
      icc* | ecc* | ifort*)
	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
        ;;
      pgcc* | pgf77* | pgf90* | pgf95*)
        # Portland Group compilers (*not* the Pentium gcc compiler,
	# which looks to be a dead project)
	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
        ;;
      ccc*)
        _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
	_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
	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
	  ;;
	*Sun\ F*)
	  # 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)=''
	  ;;
	esac
	;;
      esac
      ;;

    newsos6)
      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
      ;;

    *nto* | *qnx*)
      # QNX uses GNU C++, but need to define -shared option too, otherwise
      # it will coredump.
      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
      ;;

    osf3* | osf4* | osf5*)
      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
      # All OSF/1 code is PIC.
      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
      ;;

    rdos*)
      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
      ;;

    solaris*)
      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
      case $cc_basename in
      f77* | f90* | f95*)
	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
      *)
	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
      esac
      ;;

    sunos4*)
      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
      ;;

    sysv4 | sysv4.2uw2* | sysv4.3*)
      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
      ;;

    sysv4*MP*)
      if test -d /usr/nec ;then
	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
      fi
      ;;

    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
      ;;

    unicos*)
      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
      ;;

    uts4*)
      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
      ;;

    *)
      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
      ;;
    esac
  fi
])
case $host_os in
  # For platforms which do not support PIC, -DPIC is meaningless:
  *djgpp*)
    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
    ;;
  *)
    _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
    ;;
esac
AC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
	[How to pass a linker flag through the compiler])

#
# Check to make sure the PIC flag actually works.
#
if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
  _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
    [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
    [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
    [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
     "" | " "*) ;;
     *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
     esac],
    [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
     _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
fi
_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
	[Additional compiler flags for building library objects])

#
# Check to make sure the static flag actually works.
#
wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
  _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
  $lt_tmp_static_flag,
  [],
  [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
	[Compiler flag to prevent dynamic linking])
])# _LT_COMPILER_PIC


# _LT_LINKER_SHLIBS([TAGNAME])
# ----------------------------
# See if the linker supports building shared libraries.
m4_defun([_LT_LINKER_SHLIBS],
[AC_REQUIRE([LT_PATH_LD])dnl
AC_REQUIRE([LT_PATH_NM])dnl
m4_require([_LT_FILEUTILS_DEFAULTS])dnl
m4_require([_LT_DECL_EGREP])dnl
m4_require([_LT_DECL_SED])dnl
m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
m4_require([_LT_TAG_COMPILER])dnl
AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
m4_if([$1], [CXX], [
  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
  case $host_os in
  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
    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'
    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
    ;;
  pw32*)
    _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
  ;;
  cygwin* | mingw*)
    _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
  ;;
  *)
    _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
  ;;
  esac
  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
], [
  runpath_var=
  _LT_TAGVAR(allow_undefined_flag, $1)=
  _LT_TAGVAR(always_export_symbols, $1)=no
  _LT_TAGVAR(archive_cmds, $1)=
  _LT_TAGVAR(archive_expsym_cmds, $1)=
  _LT_TAGVAR(compiler_needs_object, $1)=no
  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
  _LT_TAGVAR(export_dynamic_flag_spec, $1)=
  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
  _LT_TAGVAR(hardcode_automatic, $1)=no
  _LT_TAGVAR(hardcode_direct, $1)=no
  _LT_TAGVAR(hardcode_direct_absolute, $1)=no
  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
  _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
  _LT_TAGVAR(hardcode_libdir_separator, $1)=
  _LT_TAGVAR(hardcode_minus_L, $1)=no
  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
  _LT_TAGVAR(inherit_rpath, $1)=no
  _LT_TAGVAR(link_all_deplibs, $1)=unknown
  _LT_TAGVAR(module_cmds, $1)=
  _LT_TAGVAR(module_expsym_cmds, $1)=
  _LT_TAGVAR(old_archive_from_new_cmds, $1)=
  _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
  _LT_TAGVAR(thread_safe_flag_spec, $1)=
  _LT_TAGVAR(whole_archive_flag_spec, $1)=
  # include_expsyms should be a list of space-separated symbols to be *always*
  # included in the symbol list
  _LT_TAGVAR(include_expsyms, $1)=
  # 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'.
  _LT_TAGVAR(exclude_expsyms, $1)=['_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.
dnl Note also adjust exclude_expsyms for C++ above.
  extract_expsyms_cmds=

  case $host_os in
  cygwin* | mingw* | pw32*)
    # 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

  _LT_TAGVAR(ld_shlibs, $1)=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
    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${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
      _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
    else
      _LT_TAGVAR(whole_archive_flag_spec, $1)=
    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
	_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
*** 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.

_LT_EOF
      fi
      ;;

    amigaos*)
      case $host_cpu in
      powerpc)
            # see comment about AmigaOS4 .so support
            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
            _LT_TAGVAR(archive_expsym_cmds, $1)=''
        ;;
      m68k)
            _LT_TAGVAR(archive_cmds, $1)='$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)'
            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
            _LT_TAGVAR(hardcode_minus_L, $1)=yes
        ;;
      esac
      ;;

    beos*)
      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
	# Joseph Beckenbach <jrb3@best.com> says some releases of gcc
	# support --undefined.  This deserves some investigation.  FIXME
	_LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
      else
	_LT_TAGVAR(ld_shlibs, $1)=no
      fi
      ;;

    cygwin* | mingw* | pw32*)
      # _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(allow_undefined_flag, $1)=unsupported
      _LT_TAGVAR(always_export_symbols, $1)=no
      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
      _LT_TAGVAR(export_symbols_cmds, $1)='$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
        _LT_TAGVAR(archive_cmds, $1)='$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...
	_LT_TAGVAR(archive_expsym_cmds, $1)='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
	_LT_TAGVAR(ld_shlibs, $1)=no
      fi
      ;;

    interix[[3-9]]*)
      _LT_TAGVAR(hardcode_direct, $1)=no
      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${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.
      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
      _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)
      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
	  _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'
	  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'
	  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' ;;
	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
	  _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(compiler_needs_object, $1)=yes
	  tmp_sharedflag='-G' ;;
	*Sun\ F*)			# Sun Fortran 8.3
	  tmp_sharedflag='-G' ;;
	esac
	_LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$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~
	    $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
	  _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'
	  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'
	  fi
	  ;;
	esac
      else
        _LT_TAGVAR(ld_shlibs, $1)=no
      fi
      ;;

    netbsd*)
      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
	wlarc=
      else
	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
	_LT_TAGVAR(archive_expsym_cmds, $1)='$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
	_LT_TAGVAR(ld_shlibs, $1)=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
	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
      else
	_LT_TAGVAR(ld_shlibs, $1)=no
      fi
      ;;

    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
      case `$LD -v 2>&1` in
        *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
	_LT_TAGVAR(ld_shlibs, $1)=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
	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
	  else
	    _LT_TAGVAR(ld_shlibs, $1)=no
	  fi
	;;
      esac
      ;;

    sunos4*)
      _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
      wlarc=
      _LT_TAGVAR(hardcode_direct, $1)=yes
      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
      ;;

    *)
      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
      else
	_LT_TAGVAR(ld_shlibs, $1)=no
      fi
      ;;
    esac

    if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then
      runpath_var=
      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
      _LT_TAGVAR(export_dynamic_flag_spec, $1)=
      _LT_TAGVAR(whole_archive_flag_spec, $1)=
    fi
  else
    # PORTME fill in a description of your system's linker (not GNU ld)
    case $host_os in
    aix3*)
      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
      _LT_TAGVAR(always_export_symbols, $1)=yes
      _LT_TAGVAR(archive_expsym_cmds, $1)='$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.
      _LT_TAGVAR(hardcode_minus_L, $1)=yes
      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
	# Neither direct hardcoding nor static linking is supported with a
	# broken collect2.
	_LT_TAGVAR(hardcode_direct, $1)=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
	  _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'
	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
	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.

      _LT_TAGVAR(archive_cmds, $1)=''
      _LT_TAGVAR(hardcode_direct, $1)=yes
      _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
      _LT_TAGVAR(link_all_deplibs, $1)=yes
      _LT_TAGVAR(file_list_spec, $1)='${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
	  _LT_TAGVAR(hardcode_direct, $1)=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
	  _LT_TAGVAR(hardcode_minus_L, $1)=yes
	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
	  _LT_TAGVAR(hardcode_libdir_separator, $1)=
	  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

      # It seems that -bexpall does not export symbols beginning with
      # underscore (_), so it is better to generate a list of symbols to export.
      _LT_TAGVAR(always_export_symbols, $1)=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.
	_LT_TAGVAR(allow_undefined_flag, $1)='-berok'
        # Determine the default libpath from the value encoded in an
        # 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"
      else
	if test "$host_cpu" = ia64; then
	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
	  _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
	  _LT_TAGVAR(archive_expsym_cmds, $1)="\$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.
	 _LT_SYS_MODULE_PATH_AIX
	 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${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.
	  _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'
	  _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'
	fi
      fi
      ;;

    amigaos*)
      case $host_cpu in
      powerpc)
            # see comment about AmigaOS4 .so support
            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
            _LT_TAGVAR(archive_expsym_cmds, $1)=''
        ;;
      m68k)
            _LT_TAGVAR(archive_cmds, $1)='$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)'
            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
            _LT_TAGVAR(hardcode_minus_L, $1)=yes
        ;;
      esac
      ;;

    bsdi[[45]]*)
      _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
      ;;

    cygwin* | mingw* | pw32*)
      # 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.
      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
      _LT_TAGVAR(allow_undefined_flag, $1)=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.
      _LT_TAGVAR(archive_cmds, $1)='$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.
      _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
      # FIXME: Should let the user specify the lib program.
      _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
      _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
      ;;

    darwin* | rhapsody*)
      _LT_DARWIN_LINKER_FEATURES($1)
      ;;

    dgux*)
      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
      ;;

    freebsd1*)
      _LT_TAGVAR(ld_shlibs, $1)=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*)
      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
      _LT_TAGVAR(hardcode_direct, $1)=yes
      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
      ;;

    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
    freebsd2*)
      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
      _LT_TAGVAR(hardcode_direct, $1)=yes
      _LT_TAGVAR(hardcode_minus_L, $1)=yes
      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
      ;;

    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
    freebsd* | dragonfly*)
      _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
      _LT_TAGVAR(hardcode_direct, $1)=yes
      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
      ;;

    hpux9*)
      if test "$GCC" = yes; then
	_LT_TAGVAR(archive_cmds, $1)='$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
	_LT_TAGVAR(archive_cmds, $1)='$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
      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
      _LT_TAGVAR(hardcode_direct, $1)=yes

      # hardcode_minus_L: Not really in the search PATH,
      # but as the default location of the library.
      _LT_TAGVAR(hardcode_minus_L, $1)=yes
      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
      ;;

    hpux10*)
      if test "$GCC" = yes -a "$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'
      fi
      if test "$with_gnu_ld" = no; then
	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
	_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
	_LT_TAGVAR(hardcode_libdir_separator, $1)=:
	_LT_TAGVAR(hardcode_direct, $1)=yes
	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
	# hardcode_minus_L: Not really in the search PATH,
	# but as the default location of the library.
	_LT_TAGVAR(hardcode_minus_L, $1)=yes
      fi
      ;;

    hpux11*)
      if test "$GCC" = yes -a "$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'
	  ;;
	ia64*)
	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
	  ;;
	*)
	  _LT_TAGVAR(archive_cmds, $1)='$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*)
	  _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
	  ;;
	ia64*)
	  _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'
	  ;;
	esac
      fi
      if test "$with_gnu_ld" = no; then
	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
	_LT_TAGVAR(hardcode_libdir_separator, $1)=:

	case $host_cpu in
	hppa*64*|ia64*)
	  _LT_TAGVAR(hardcode_direct, $1)=no
	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
	  ;;
	*)
	  _LT_TAGVAR(hardcode_direct, $1)=yes
	  _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'

	  # hardcode_minus_L: Not really in the search PATH,
	  # but as the default location of the library.
	  _LT_TAGVAR(hardcode_minus_L, $1)=yes
	  ;;
	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'
	# 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'
        )
        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'
      fi
      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
      _LT_TAGVAR(inherit_rpath, $1)=yes
      _LT_TAGVAR(link_all_deplibs, $1)=yes
      ;;

    netbsd*)
      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
      else
	_LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
      fi
      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
      _LT_TAGVAR(hardcode_direct, $1)=yes
      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
      ;;

    newsos6)
      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
      _LT_TAGVAR(hardcode_direct, $1)=yes
      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
      ;;

    *nto* | *qnx*)
      ;;

    openbsd*)
      if test -f /usr/libexec/ld.so; then
	_LT_TAGVAR(hardcode_direct, $1)=yes
	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
	if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
	else
	  case $host_os in
	   openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
	     _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
	     _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
	     ;;
	   *)
	     _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
	     _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
	     ;;
	  esac
	fi
      else
	_LT_TAGVAR(ld_shlibs, $1)=no
      fi
      ;;

    os2*)
      _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(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'
      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'
      fi
      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
      ;;

    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(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_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'

	# Both c and cxx compiler support -rpath directly
	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
      fi
      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
      ;;

    solaris*)
      _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
      if test "$GCC" = yes; then
	wlarc='${wl}'
	_LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
	_LT_TAGVAR(archive_expsym_cmds, $1)='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=''
	  _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
	  _LT_TAGVAR(archive_expsym_cmds, $1)='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}'
	  _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
	  _LT_TAGVAR(archive_expsym_cmds, $1)='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
      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
      _LT_TAGVAR(hardcode_shlibpath_var, $1)=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
	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
	else
	  _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
	fi
	;;
      esac
      _LT_TAGVAR(link_all_deplibs, $1)=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.
	_LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
      else
	_LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
      fi
      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
      _LT_TAGVAR(hardcode_direct, $1)=yes
      _LT_TAGVAR(hardcode_minus_L, $1)=yes
      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
      ;;

    sysv4)
      case $host_vendor in
	sni)
	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
	  _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
	;;
	siemens)
	  ## LD is ld it makes a PLAMLIB
	  ## CC just makes a GrossModule.
	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
	  _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
	  _LT_TAGVAR(hardcode_direct, $1)=no
        ;;
	motorola)
	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
	  _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
	;;
      esac
      runpath_var='LD_RUN_PATH'
      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
      ;;

    sysv4.3*)
      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
      _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
      ;;

    sysv4*MP*)
      if test -d /usr/nec; then
	_LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
	runpath_var=LD_RUN_PATH
	hardcode_runpath_var=yes
	_LT_TAGVAR(ld_shlibs, $1)=yes
      fi
      ;;

    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
      runpath_var='LD_RUN_PATH'

      if test "$GCC" = yes; then
	_LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
      else
	_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'
      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.
      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
      _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
      _LT_TAGVAR(link_all_deplibs, $1)=yes
      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
      runpath_var='LD_RUN_PATH'

      if test "$GCC" = yes; then
	_LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
      else
	_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'
      fi
      ;;

    uts4*)
      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
      ;;

    *)
      _LT_TAGVAR(ld_shlibs, $1)=no
      ;;
    esac

    if test x$host_vendor = xsni; then
      case $host in
      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym'
	;;
      esac
    fi
  fi
])
AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no

_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld

_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
_LT_DECL([], [extract_expsyms_cmds], [2],
    [The commands to extract the exported symbol list from a shared archive])

#
# Do we need to explicitly link libc?
#
case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
x|xyes)
  # Assume -lc should be added
  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes

  if test "$enable_shared" = yes && test "$GCC" = yes; then
    case $_LT_TAGVAR(archive_cmds, $1) 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.
      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)])
      ;;
    esac
  fi
  ;;
esac

_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
    [Whether or not to add -lc for building shared libraries])
_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
    [enable_shared_with_static_runtimes], [0],
    [Whether or not to disallow shared libs when runtime libs are static])
_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
    [Compiler flag to allow reflexive dlopens])
_LT_TAGDECL([], [whole_archive_flag_spec], [1],
    [Compiler flag to generate shared objects directly from archives])
_LT_TAGDECL([], [compiler_needs_object], [1],
    [Whether the compiler copes with passing no objects directly])
_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
    [Create an old-style archive from a shared archive])
_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
    [Create a temporary old-style archive to link instead of a shared archive])
_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
_LT_TAGDECL([], [archive_expsym_cmds], [2])
_LT_TAGDECL([], [module_cmds], [2],
    [Commands used to build a loadable module if different from building
    a shared archive.])
_LT_TAGDECL([], [module_expsym_cmds], [2])
_LT_TAGDECL([], [with_gnu_ld], [1],
    [Whether we are building with GNU ld or not])
_LT_TAGDECL([], [allow_undefined_flag], [1],
    [Flag that allows shared libraries with undefined symbols to be built])
_LT_TAGDECL([], [no_undefined_flag], [1],
    [Flag that enforces no undefined symbols])
_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
    [Flag to hardcode $libdir into a binary during linking.
    This must work even if $libdir does not exist])
_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1],
    [[If ld is used when linking, flag to hardcode $libdir into a binary
    during linking.  This must work even if $libdir does not exist]])
_LT_TAGDECL([], [hardcode_libdir_separator], [1],
    [Whether we need a single "-rpath" flag with a separated argument])
_LT_TAGDECL([], [hardcode_direct], [0],
    [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
    DIR into the resulting binary])
_LT_TAGDECL([], [hardcode_direct_absolute], [0],
    [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
    DIR into the resulting binary and the resulting library dependency is
    "absolute", i.e impossible to change by setting ${shlibpath_var} if the
    library is relocated])
_LT_TAGDECL([], [hardcode_minus_L], [0],
    [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
    into the resulting binary])
_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
    [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
    into the resulting binary])
_LT_TAGDECL([], [hardcode_automatic], [0],
    [Set to "yes" if building a shared library automatically hardcodes DIR
    into the library and all subsequent libraries and executables linked
    against it])
_LT_TAGDECL([], [inherit_rpath], [0],
    [Set to yes if linker adds runtime paths of dependent libraries
    to runtime path list])
_LT_TAGDECL([], [link_all_deplibs], [0],
    [Whether libtool must link a program against all its dependency libraries])
_LT_TAGDECL([], [fix_srcfile_path], [1],
    [Fix the shell variable $srcfile for the compiler])
_LT_TAGDECL([], [always_export_symbols], [0],
    [Set to "yes" if exported symbols are required])
_LT_TAGDECL([], [export_symbols_cmds], [2],
    [The commands to list exported symbols])
_LT_TAGDECL([], [exclude_expsyms], [1],
    [Symbols that should not be listed in the preloaded symbols])
_LT_TAGDECL([], [include_expsyms], [1],
    [Symbols that must always be exported])
_LT_TAGDECL([], [prelink_cmds], [2],
    [Commands necessary for linking programs (against libraries) with templates])
_LT_TAGDECL([], [file_list_spec], [1],
    [Specify filename containing input files])
dnl FIXME: Not yet implemented
dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
dnl    [Compiler flag to generate thread safe objects])
])# _LT_LINKER_SHLIBS


# _LT_LANG_C_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_C_CONFIG],
[m4_require([_LT_DECL_EGREP])dnl
lt_save_CC="$CC"
AC_LANG_PUSH(C)

# Source file extension for C test sources.
ac_ext=c

# Object file extension for compiled C test sources.
objext=o
_LT_TAGVAR(objext, $1)=$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);}'

_LT_TAG_COMPILER
# 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
_LT_COMPILER_BOILERPLATE
_LT_LINKER_BOILERPLATE

## 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_COMPILER_NO_RTTI($1)
  _LT_COMPILER_PIC($1)
  _LT_COMPILER_C_O($1)
  _LT_COMPILER_FILE_LOCKS($1)
  _LT_LINKER_SHLIBS($1)
  _LT_SYS_DYNAMIC_LINKER($1)
  _LT_LINKER_HARDCODE_LIBPATH($1)
  LT_SYS_DLOPEN_SELF
  _LT_CMD_STRIPLIB

  # Report which library types will actually be built
  AC_MSG_CHECKING([if libtool supports shared libraries])
  AC_MSG_RESULT([$can_build_shared])

  AC_MSG_CHECKING([whether to build shared libraries])
  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
  AC_MSG_RESULT([$enable_shared])

  AC_MSG_CHECKING([whether to build static libraries])
  # Make sure either enable_shared or enable_static is yes.
  test "$enable_shared" = yes || enable_static=yes
  AC_MSG_RESULT([$enable_static])

  _LT_CONFIG($1)
fi
AC_LANG_POP
CC="$lt_save_CC"
])# _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_DECL_EGREP])dnl

AC_LANG_PUSH(C++)
_LT_TAGVAR(archive_cmds_need_lc, $1)=no
_LT_TAGVAR(allow_undefined_flag, $1)=
_LT_TAGVAR(always_export_symbols, $1)=no
_LT_TAGVAR(archive_expsym_cmds, $1)=
_LT_TAGVAR(compiler_needs_object, $1)=no
_LT_TAGVAR(export_dynamic_flag_spec, $1)=
_LT_TAGVAR(hardcode_direct, $1)=no
_LT_TAGVAR(hardcode_direct_absolute, $1)=no
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
_LT_TAGVAR(hardcode_libdir_separator, $1)=
_LT_TAGVAR(hardcode_minus_L, $1)=no
_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
_LT_TAGVAR(hardcode_automatic, $1)=no
_LT_TAGVAR(inherit_rpath, $1)=no
_LT_TAGVAR(module_cmds, $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(no_undefined_flag, $1)=
_LT_TAGVAR(whole_archive_flag_spec, $1)=
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no

# Source file extension for C++ test sources.
ac_ext=cpp

# Object file extension for compiled C++ test sources.
objext=o
_LT_TAGVAR(objext, $1)=$objext

# No sense in running all these tests if we already determined that
# the CXX compiler isn't working.  Some variables (like enable_shared)
# are currently assumed to apply to all compilers on this platform,
# and will be corrupted by setting them based on a non-working compiler.
if test "$_lt_caught_CXX_error" != yes; then
  # 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(int, char *[[]]) { return(0); }'

  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
  _LT_TAG_COMPILER

  # save warnings/boilerplate of simple test code
  _LT_COMPILER_BOILERPLATE
  _LT_LINKER_BOILERPLATE

  # Allow CC to be a program name with arguments.
  lt_save_CC=$CC
  lt_save_LD=$LD
  lt_save_GCC=$GCC
  GCC=$GXX
  lt_save_with_gnu_ld=$with_gnu_ld
  lt_save_path_LD=$lt_cv_path_LD
  if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
    lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
  else
    $as_unset lt_cv_prog_gnu_ld
  fi
  if test -n "${lt_cv_path_LDCXX+set}"; then
    lt_cv_path_LD=$lt_cv_path_LDCXX
  else
    $as_unset lt_cv_path_LD
  fi
  test -z "${LDCXX+set}" || LD=$LDCXX
  CC=${CXX-"c++"}
  compiler=$CC
  _LT_TAGVAR(compiler, $1)=$CC
  _LT_CC_BASENAME([$compiler])

  if test -n "$compiler"; then
    # We don't want -fno-exception when compiling C++ code, so set the
    # no_builtin_flag separately
    if test "$GXX" = yes; then
      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
    else
      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
    fi

    if test "$GXX" = yes; then
      # Set up default GNU C++ configuration

      LT_PATH_LD

      # Check if GNU C++ uses GNU ld as the underlying linker, since the
      # archiving commands below assume that GNU ld is being used.
      if test "$with_gnu_ld" = yes; then
        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $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'

        # If archive_cmds runs LD, not CC, wlarc should be empty
        # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
        #     investigate it a little bit more. (MM)
        wlarc='${wl}'

        # ancient GNU ld didn't support --whole-archive et. al.
        if eval "`$CC -print-prog-name=ld` --help 2>&1" |
	  $GREP 'no-whole-archive' > /dev/null; then
          _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
        else
          _LT_TAGVAR(whole_archive_flag_spec, $1)=
        fi
      else
        with_gnu_ld=no
        wlarc=

        # A generic and very simple default shared library creation
        # command for GNU C++ for the case where it uses the native
        # linker, instead of GNU ld.  If possible, this setting should
        # overridden to take advantage of the native linker features on
        # the platform it is being used on.
        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
      fi

      # 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"'

    else
      GXX=no
      with_gnu_ld=no
      wlarc=
    fi

    # PORTME: fill in a description of your system's C++ link characteristics
    AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
    _LT_TAGVAR(ld_shlibs, $1)=yes
    case $host_os in
      aix3*)
        # FIXME: insert proper C++ library support
        _LT_TAGVAR(ld_shlibs, $1)=no
        ;;
      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
          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
	      case $ld_flag in
	      *-brtl*)
	        aix_use_runtimelinking=yes
	        break
	        ;;
	      esac
	    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.

        _LT_TAGVAR(archive_cmds, $1)=''
        _LT_TAGVAR(hardcode_direct, $1)=yes
        _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
        _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
        _LT_TAGVAR(link_all_deplibs, $1)=yes
        _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'

        if test "$GXX" = 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
	    _LT_TAGVAR(hardcode_direct, $1)=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
	    _LT_TAGVAR(hardcode_minus_L, $1)=yes
	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
	    _LT_TAGVAR(hardcode_libdir_separator, $1)=
	  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

        # It seems that -bexpall does not export symbols beginning with
        # underscore (_), so it is better to generate a list of symbols to
	# export.
        _LT_TAGVAR(always_export_symbols, $1)=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.
          _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
          # Determine the default libpath from the value encoded in an 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"
        else
          if test "$host_cpu" = ia64; then
	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
	    _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
	    _LT_TAGVAR(archive_expsym_cmds, $1)="\$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.
	    _LT_SYS_MODULE_PATH_AIX
	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${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.
	    _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'
	    _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'
          fi
        fi
        ;;

      beos*)
	if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
	  # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
	  # support --undefined.  This deserves some investigation.  FIXME
	  _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
	else
	  _LT_TAGVAR(ld_shlibs, $1)=no
	fi
	;;

      chorus*)
        case $cc_basename in
          *)
	  # FIXME: insert proper C++ library support
	  _LT_TAGVAR(ld_shlibs, $1)=no
	  ;;
        esac
        ;;

      cygwin* | mingw* | pw32*)
        # _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(allow_undefined_flag, $1)=unsupported
        _LT_TAGVAR(always_export_symbols, $1)=no
        _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes

        if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
          _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $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...
          _LT_TAGVAR(archive_expsym_cmds, $1)='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 -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
        else
          _LT_TAGVAR(ld_shlibs, $1)=no
        fi
        ;;
      darwin* | rhapsody*)
        _LT_DARWIN_LINKER_FEATURES($1)
	;;

      dgux*)
        case $cc_basename in
          ec++*)
	    # FIXME: insert proper C++ library support
	    _LT_TAGVAR(ld_shlibs, $1)=no
	    ;;
          ghcx*)
	    # Green Hills C++ Compiler
	    # FIXME: insert proper C++ library support
	    _LT_TAGVAR(ld_shlibs, $1)=no
	    ;;
          *)
	    # FIXME: insert proper C++ library support
	    _LT_TAGVAR(ld_shlibs, $1)=no
	    ;;
        esac
        ;;

      freebsd[[12]]*)
        # C++ shared libraries reported to be fairly broken before
	# switch to ELF
        _LT_TAGVAR(ld_shlibs, $1)=no
        ;;

      freebsd-elf*)
        _LT_TAGVAR(archive_cmds_need_lc, $1)=no
        ;;

      freebsd* | dragonfly*)
        # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
        # conventions
        _LT_TAGVAR(ld_shlibs, $1)=yes
        ;;

      gnu*)
        ;;

      hpux9*)
        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
        _LT_TAGVAR(hardcode_direct, $1)=yes
        _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
				             # but as the default
				             # location of the library.

        case $cc_basename in
          CC*)
            # FIXME: insert proper C++ library support
            _LT_TAGVAR(ld_shlibs, $1)=no
            ;;
          aCC*)
            _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
            # Commands to make compiler produce verbose output that lists
            # what "hidden" libraries, object files and flags are used when
            # linking a shared library.
            #
            # There doesn't appear to be a way to prevent this compiler from
            # 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'
            ;;
          *)
            if test "$GXX" = yes; then
              _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
            else
              # FIXME: insert proper C++ library support
              _LT_TAGVAR(ld_shlibs, $1)=no
            fi
            ;;
        esac
        ;;

      hpux10*|hpux11*)
        if test $with_gnu_ld = no; then
	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
	  _LT_TAGVAR(hardcode_libdir_separator, $1)=:

          case $host_cpu in
            hppa*64*|ia64*)
              ;;
            *)
	      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
              ;;
          esac
        fi
        case $host_cpu in
          hppa*64*|ia64*)
            _LT_TAGVAR(hardcode_direct, $1)=no
            _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
            ;;
          *)
            _LT_TAGVAR(hardcode_direct, $1)=yes
            _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
            _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
					         # but as the default
					         # location of the library.
            ;;
        esac

        case $cc_basename in
          CC*)
	    # FIXME: insert proper C++ library support
	    _LT_TAGVAR(ld_shlibs, $1)=no
	    ;;
          aCC*)
	    case $host_cpu in
	      hppa*64*)
	        _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
	        ;;
	      ia64*)
	        _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
	        ;;
	      *)
	        _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
	        ;;
	    esac
	    # Commands to make compiler produce verbose output that lists
	    # what "hidden" libraries, object files and flags are used when
	    # linking a shared library.
	    #
	    # There doesn't appear to be a way to prevent this compiler from
	    # 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'
	    ;;
          *)
	    if test "$GXX" = yes; then
	      if test $with_gnu_ld = no; then
	        case $host_cpu in
	          hppa*64*)
	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
	            ;;
	          ia64*)
	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
	            ;;
	          *)
	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
	            ;;
	        esac
	      fi
	    else
	      # FIXME: insert proper C++ library support
	      _LT_TAGVAR(ld_shlibs, $1)=no
	    fi
	    ;;
        esac
        ;;

      interix[[3-9]]*)
	_LT_TAGVAR(hardcode_direct, $1)=no
	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${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.
	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
	_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'
	;;
      irix5* | irix6*)
        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'

	    # Archives containing C++ object files must be created using
	    # "CC -ar", where "CC" is the IRIX C++ compiler.  This is
	    # necessary to make sure instantiated templates are included
	    # in the archive.
	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
	    ;;
          *)
	    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'
	      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'
	      fi
	    fi
	    _LT_TAGVAR(link_all_deplibs, $1)=yes
	    ;;
        esac
        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
        _LT_TAGVAR(inherit_rpath, $1)=yes
        ;;

      linux* | k*bsd*-gnu)
        case $cc_basename in
          KCC*)
	    # Kuck and Associates, Inc. (KAI) C++ Compiler

	    # KCC will only create a shared library if the output file
	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
	    # to its proper name (with version) after linking.
	    _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
	    _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
	    # Commands to make compiler produce verbose output that lists
	    # what "hidden" libraries, object files and flags are used when
	    # linking a shared library.
	    #
	    # There doesn't appear to be a way to prevent this compiler from
	    # 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'

	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'

	    # Archives containing C++ object files must be created using
	    # "CC -Bstatic", where "CC" is the KAI C++ compiler.
	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
	    ;;
	  icpc* | ecpc* )
	    # Intel C++
	    with_gnu_ld=yes
	    # version 8.0 and above of icpc choke on multiply defined symbols
	    # if we add $predep_objects and $postdep_objects, however 7.1 and
	    # earlier do not add the objects themselves.
	    case `$CC -V 2>&1` in
	      *"Version 7."*)
	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
		_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
		;;
	      *)  # Version 8.0 or newer
	        tmp_idyn=
	        case $host_cpu in
		  ia64*) tmp_idyn=' -i_dynamic';;
		esac
	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
		_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
		;;
	    esac
	    _LT_TAGVAR(archive_cmds_need_lc, $1)=no
	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
	    _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
	    ;;
          pgCC* | pgcpp*)
            # Portland Group C++ compiler
	    case `$CC -V` in
	    *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`"'
	      _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`~
		$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'
	      _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'
	      ;;
	    *) # Version 6 will 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'
	      ;;
	    esac

	    _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'
            ;;
	  cxx*)
	    # Compaq C++
	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname  -o $lib ${wl}-retain-symbols-file $wl$export_symbols'

	    runpath_var=LD_RUN_PATH
	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:

	    # Commands to make compiler produce verbose output that lists
	    # what "hidden" libraries, object files and flags are used when
	    # linking a shared library.
	    #
	    # There doesn't appear to be a way to prevent this compiler from
	    # 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'
	    ;;
	  xl*)
	    # 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 -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$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~
		$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
	    fi
	    ;;
	  *)
	    case `$CC -V 2>&1 | sed 5q` in
	    *Sun\ C*)
	      # Sun C++ 5.9
	      _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
	      _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(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'

	      # Archives containing C++ object files must be created using
	      # "CC -xar", where "CC" is the Sun C++ compiler.  This is
	      # necessary to make sure instantiated templates are included
	      # in the archive.
	      _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
	      ;;
	    esac
	    ;;
	esac
	;;

      lynxos*)
        # FIXME: insert proper C++ library support
	_LT_TAGVAR(ld_shlibs, $1)=no
	;;

      m88k*)
        # FIXME: insert proper C++ library support
        _LT_TAGVAR(ld_shlibs, $1)=no
	;;

      mvs*)
        case $cc_basename in
          cxx*)
	    # FIXME: insert proper C++ library support
	    _LT_TAGVAR(ld_shlibs, $1)=no
	    ;;
	  *)
	    # FIXME: insert proper C++ library support
	    _LT_TAGVAR(ld_shlibs, $1)=no
	    ;;
	esac
	;;

      netbsd*)
        if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
	  _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
	  wlarc=
	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
	  _LT_TAGVAR(hardcode_direct, $1)=yes
	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
	fi
	# Workaround some broken pre-1.5 toolchains
	output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
	;;

      *nto* | *qnx*)
        _LT_TAGVAR(ld_shlibs, $1)=yes
	;;

      openbsd2*)
        # C++ shared libraries are fairly broken
	_LT_TAGVAR(ld_shlibs, $1)=no
	;;

      openbsd*)
	if test -f /usr/libexec/ld.so; then
	  _LT_TAGVAR(hardcode_direct, $1)=yes
	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
	  _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
	  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
	    _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
	else
	  _LT_TAGVAR(ld_shlibs, $1)=no
	fi
	;;

      osf3* | osf4* | osf5*)
        case $cc_basename in
          KCC*)
	    # Kuck and Associates, Inc. (KAI) C++ Compiler

	    # KCC will only create a shared library if the output file
	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
	    # to its proper name (with version) after linking.
	    _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'

	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:

	    # Archives containing C++ object files must be created using
	    # the KAI C++ compiler.
	    case $host in
	      osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
	      *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
	    esac
	    ;;
          RCC*)
	    # Rational C++ 2.4.1
	    # FIXME: insert proper C++ library support
	    _LT_TAGVAR(ld_shlibs, $1)=no
	    ;;
          cxx*)
	    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(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_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~
	          $RM $lib.exp'
	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
		;;
	    esac

	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:

	    # Commands to make compiler produce verbose output that lists
	    # what "hidden" libraries, object files and flags are used when
	    # linking a shared library.
	    #
	    # There doesn't appear to be a way to prevent this compiler from
	    # 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'
	    ;;
	  *)
	    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}-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'
		  ;;
	      esac

	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
	      _LT_TAGVAR(hardcode_libdir_separator, $1)=:

	      # 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"'

	    else
	      # FIXME: insert proper C++ library support
	      _LT_TAGVAR(ld_shlibs, $1)=no
	    fi
	    ;;
        esac
        ;;

      psos*)
        # FIXME: insert proper C++ library support
        _LT_TAGVAR(ld_shlibs, $1)=no
        ;;

      sunos4*)
        case $cc_basename in
          CC*)
	    # Sun C++ 4.x
	    # FIXME: insert proper C++ library support
	    _LT_TAGVAR(ld_shlibs, $1)=no
	    ;;
          lcc*)
	    # Lucid
	    # FIXME: insert proper C++ library support
	    _LT_TAGVAR(ld_shlibs, $1)=no
	    ;;
          *)
	    # FIXME: insert proper C++ library support
	    _LT_TAGVAR(ld_shlibs, $1)=no
	    ;;
        esac
        ;;

      solaris*)
        case $cc_basename in
          CC*)
	    # Sun C++ 4.2, 5.x and Centerline C++
            _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
	    _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
	    _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)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
	      $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'

	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
	    _LT_TAGVAR(hardcode_shlibpath_var, $1)=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'.
	        # Supported since Solaris 2.6 (maybe 2.5.1?)
		_LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
	        ;;
	    esac
	    _LT_TAGVAR(link_all_deplibs, $1)=yes

	    output_verbose_link_cmd='echo'

	    # Archives containing C++ object files must be created using
	    # "CC -xar", where "CC" is the Sun C++ compiler.  This is
	    # necessary to make sure instantiated templates are included
	    # in the archive.
	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
	    ;;
          gcx*)
	    # Green Hills C++ Compiler
	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'

	    # The C++ compiler must be used to create the archive.
	    _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
	    ;;
          *)
	    # GNU C++ compiler with Solaris linker
	    if test "$GXX" = yes && test "$with_gnu_ld" = no; then
	      _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
	      if $CC --version | $GREP -v '^2\.7' > /dev/null; then
	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
	        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
		  $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'

	        # 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"'
	      else
	        # g++ 2.7 appears to require `-G' NOT `-shared' on this
	        # platform.
	        _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
	        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
		  $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'

	        # 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"'
	      fi

	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
	      case $host_os in
		solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
		*)
		  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
		  ;;
	      esac
	    fi
	    ;;
        esac
        ;;

    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
      runpath_var='LD_RUN_PATH'

      case $cc_basename in
        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(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
	  ;;
      esac
      ;;

      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.
	_LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
	_LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
	_LT_TAGVAR(archive_cmds_need_lc, $1)=no
	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
	_LT_TAGVAR(hardcode_libdir_separator, $1)=':'
	_LT_TAGVAR(link_all_deplibs, $1)=yes
	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
	runpath_var='LD_RUN_PATH'

	case $cc_basename in
          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(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
	    ;;
	esac
      ;;

      tandem*)
        case $cc_basename in
          NCC*)
	    # NonStop-UX NCC 3.20
	    # FIXME: insert proper C++ library support
	    _LT_TAGVAR(ld_shlibs, $1)=no
	    ;;
          *)
	    # FIXME: insert proper C++ library support
	    _LT_TAGVAR(ld_shlibs, $1)=no
	    ;;
        esac
        ;;

      vxworks*)
        # FIXME: insert proper C++ library support
        _LT_TAGVAR(ld_shlibs, $1)=no
        ;;

      *)
        # FIXME: insert proper C++ library support
        _LT_TAGVAR(ld_shlibs, $1)=no
        ;;
    esac

    AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
    test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no

    _LT_TAGVAR(GCC, $1)="$GXX"
    _LT_TAGVAR(LD, $1)="$LD"

    ## 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...
    _LT_SYS_HIDDEN_LIBDEPS($1)
    _LT_COMPILER_PIC($1)
    _LT_COMPILER_C_O($1)
    _LT_COMPILER_FILE_LOCKS($1)
    _LT_LINKER_SHLIBS($1)
    _LT_SYS_DYNAMIC_LINKER($1)
    _LT_LINKER_HARDCODE_LIBPATH($1)

    _LT_CONFIG($1)
  fi # test -n "$compiler"

  CC=$lt_save_CC
  LDCXX=$LD
  LD=$lt_save_LD
  GCC=$lt_save_GCC
  with_gnu_ld=$lt_save_with_gnu_ld
  lt_cv_path_LDCXX=$lt_cv_path_LD
  lt_cv_path_LD=$lt_save_path_LD
  lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
  lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
fi # test "$_lt_caught_CXX_error" != yes

AC_LANG_POP
])# _LT_LANG_CXX_CONFIG


# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
# ---------------------------------
# Figure out "hidden" library dependencies from verbose
# compiler output when linking a shared library.
# Parse the compiler output and extract the necessary
# objects, libraries and library flags.
m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
# Dependencies to place before and after the object being linked:
_LT_TAGVAR(predep_objects, $1)=
_LT_TAGVAR(postdep_objects, $1)=
_LT_TAGVAR(predeps, $1)=
_LT_TAGVAR(postdeps, $1)=
_LT_TAGVAR(compiler_lib_search_path, $1)=

dnl we can't use the lt_simple_compile_test_code here,
dnl because it contains code intended for an executable,
dnl not a library.  It's possible we should let each
dnl tag define a new lt_????_link_test_code variable,
dnl but it's only used here...
m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
int a;
void foo (void) { a = 0; }
_LT_EOF
], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
class Foo
{
public:
  Foo (void) { a = 0; }
private:
  int a;
};
_LT_EOF
], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
      subroutine foo
      implicit none
      integer*4 a
      a=0
      return
      end
_LT_EOF
], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
      subroutine foo
      implicit none
      integer a
      a=0
      return
      end
_LT_EOF
], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
public class foo {
  private int a;
  public void bar (void) {
    a = 0;
  }
};
_LT_EOF
])
dnl Parse the compiler output and extract the necessary
dnl objects, libraries and library flags.
if AC_TRY_EVAL(ac_compile); then
  # Parse the compiler output and extract the necessary
  # objects, libraries and library flags.

  # Sentinel used to keep track of whether or not we are before
  # the conftest object file.
  pre_test_object_deps_done=no

  for p in `eval "$output_verbose_link_cmd"`; do
    case $p in

    -L* | -R* | -l*)
       # Some compilers place space between "-{L,R}" and the path.
       # Remove the space.
       if test $p = "-L" ||
          test $p = "-R"; then
	 prev=$p
	 continue
       else
	 prev=
       fi

       if test "$pre_test_object_deps_done" = no; then
	 case $p in
	 -L* | -R*)
	   # Internal compiler library paths should come after those
	   # provided the user.  The postdeps already come after the
	   # user supplied libs so there is no need to process them.
	   if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
	     _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
	   else
	     _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
	   fi
	   ;;
	 # The "-l" case would never come before the object being
	 # linked, so don't bother handling this case.
	 esac
       else
	 if test -z "$_LT_TAGVAR(postdeps, $1)"; then
	   _LT_TAGVAR(postdeps, $1)="${prev}${p}"
	 else
	   _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
	 fi
       fi
       ;;

    *.$objext)
       # This assumes that the test object file only shows up
       # once in the compiler output.
       if test "$p" = "conftest.$objext"; then
	 pre_test_object_deps_done=yes
	 continue
       fi

       if test "$pre_test_object_deps_done" = no; then
	 if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
	   _LT_TAGVAR(predep_objects, $1)="$p"
	 else
	   _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
	 fi
       else
	 if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
	   _LT_TAGVAR(postdep_objects, $1)="$p"
	 else
	   _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
	 fi
       fi
       ;;

    *) ;; # Ignore the rest.

    esac
  done

  # Clean up.
  rm -f a.out a.exe
else
  echo "libtool.m4: error: problem compiling $1 test program"
fi

$RM -f confest.$objext

# PORTME: override above test on systems where it is broken
m4_if([$1], [CXX],
[case $host_os in
interix[[3-9]]*)
  # Interix 3.5 installs completely hosed .la files for C++, so rather than
  # hack all around it, let's just trust "g++" to DTRT.
  _LT_TAGVAR(predep_objects,$1)=
  _LT_TAGVAR(postdep_objects,$1)=
  _LT_TAGVAR(postdeps,$1)=
  ;;

linux*)
  case `$CC -V 2>&1 | sed 5q` in
  *Sun\ C*)
    # Sun C++ 5.9

    # The more standards-conforming stlport4 library is
    # incompatible with the Cstd library. Avoid specifying
    # it if it's in CXXFLAGS. Ignore libCrun as
    # -library=stlport4 depends on it.
    case " $CXX $CXXFLAGS " in
    *" -library=stlport4 "*)
      solaris_use_stlport4=yes
      ;;
    esac

    if test "$solaris_use_stlport4" != yes; then
      _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
    fi
    ;;
  esac
  ;;

solaris*)
  case $cc_basename in
  CC*)
    # The more standards-conforming stlport4 library is
    # incompatible with the Cstd library. Avoid specifying
    # it if it's in CXXFLAGS. Ignore libCrun as
    # -library=stlport4 depends on it.
    case " $CXX $CXXFLAGS " in
    *" -library=stlport4 "*)
      solaris_use_stlport4=yes
      ;;
    esac

    # Adding this requires a known-good setup of shared libraries for
    # Sun compiler versions before 5.6, else PIC objects from an old
    # archive will be linked into the output, leading to subtle bugs.
    if test "$solaris_use_stlport4" != yes; then
      _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
    fi
    ;;
  esac
  ;;
esac
])

case " $_LT_TAGVAR(postdeps, $1) " in
*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
esac
 _LT_TAGVAR(compiler_lib_search_dirs, $1)=
if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
 _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
fi
_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
    [The directories searched by this compiler when creating a shared library])
_LT_TAGDECL([], [predep_objects], [1],
    [Dependencies to place before and after the objects being linked to
    create a shared library])
_LT_TAGDECL([], [postdep_objects], [1])
_LT_TAGDECL([], [predeps], [1])
_LT_TAGDECL([], [postdeps], [1])
_LT_TAGDECL([], [compiler_lib_search_path], [1],
    [The library search path used internally by the compiler when linking
    a shared library])
])# _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)

_LT_TAGVAR(archive_cmds_need_lc, $1)=no
_LT_TAGVAR(allow_undefined_flag, $1)=
_LT_TAGVAR(always_export_symbols, $1)=no
_LT_TAGVAR(archive_expsym_cmds, $1)=
_LT_TAGVAR(export_dynamic_flag_spec, $1)=
_LT_TAGVAR(hardcode_direct, $1)=no
_LT_TAGVAR(hardcode_direct_absolute, $1)=no
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
_LT_TAGVAR(hardcode_libdir_separator, $1)=
_LT_TAGVAR(hardcode_minus_L, $1)=no
_LT_TAGVAR(hardcode_automatic, $1)=no
_LT_TAGVAR(inherit_rpath, $1)=no
_LT_TAGVAR(module_cmds, $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(no_undefined_flag, $1)=
_LT_TAGVAR(whole_archive_flag_spec, $1)=
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no

# Source file extension for f77 test sources.
ac_ext=f

# Object file extension for compiled f77 test sources.
objext=o
_LT_TAGVAR(objext, $1)=$objext

# No sense in running all these tests if we already determined that
# the F77 compiler isn't working.  Some variables (like enable_shared)
# are currently assumed to apply to all compilers on this platform,
# and will be corrupted by setting them based on a non-working compiler.
if test "$_lt_disable_F77" != yes; then
  # Code to be used in simple compile tests
  lt_simple_compile_test_code="\
      subroutine t
      return
      end
"

  # Code to be used in simple link tests
  lt_simple_link_test_code="\
      program t
      end
"

  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
  _LT_TAG_COMPILER

  # save warnings/boilerplate of simple test code
  _LT_COMPILER_BOILERPLATE
  _LT_LINKER_BOILERPLATE

  # Allow CC to be a program name with arguments.
  lt_save_CC="$CC"
  lt_save_GCC=$GCC
  CC=${F77-"f77"}
  compiler=$CC
  _LT_TAGVAR(compiler, $1)=$CC
  _LT_CC_BASENAME([$compiler])
  GCC=$G77
  if test -n "$compiler"; then
    AC_MSG_CHECKING([if libtool supports shared libraries])
    AC_MSG_RESULT([$can_build_shared])

    AC_MSG_CHECKING([whether to build shared libraries])
    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
    AC_MSG_RESULT([$enable_shared])

    AC_MSG_CHECKING([whether to build static libraries])
    # Make sure either enable_shared or enable_static is yes.
    test "$enable_shared" = yes || enable_static=yes
    AC_MSG_RESULT([$enable_static])

    _LT_TAGVAR(GCC, $1)="$G77"
    _LT_TAGVAR(LD, $1)="$LD"

    ## 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...
    _LT_COMPILER_PIC($1)
    _LT_COMPILER_C_O($1)
    _LT_COMPILER_FILE_LOCKS($1)
    _LT_LINKER_SHLIBS($1)
    _LT_SYS_DYNAMIC_LINKER($1)
    _LT_LINKER_HARDCODE_LIBPATH($1)

    _LT_CONFIG($1)
  fi # test -n "$compiler"

  GCC=$lt_save_GCC
  CC="$lt_save_CC"
fi # test "$_lt_disable_F77" != yes

AC_LANG_POP
])# _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)

_LT_TAGVAR(archive_cmds_need_lc, $1)=no
_LT_TAGVAR(allow_undefined_flag, $1)=
_LT_TAGVAR(always_export_symbols, $1)=no
_LT_TAGVAR(archive_expsym_cmds, $1)=
_LT_TAGVAR(export_dynamic_flag_spec, $1)=
_LT_TAGVAR(hardcode_direct, $1)=no
_LT_TAGVAR(hardcode_direct_absolute, $1)=no
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
_LT_TAGVAR(hardcode_libdir_separator, $1)=
_LT_TAGVAR(hardcode_minus_L, $1)=no
_LT_TAGVAR(hardcode_automatic, $1)=no
_LT_TAGVAR(inherit_rpath, $1)=no
_LT_TAGVAR(module_cmds, $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(no_undefined_flag, $1)=
_LT_TAGVAR(whole_archive_flag_spec, $1)=
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no

# Source file extension for fc test sources.
ac_ext=${ac_fc_srcext-f}

# Object file extension for compiled fc test sources.
objext=o
_LT_TAGVAR(objext, $1)=$objext

# No sense in running all these tests if we already determined that
# the FC compiler isn't working.  Some variables (like enable_shared)
# are currently assumed to apply to all compilers on this platform,
# and will be corrupted by setting them based on a non-working compiler.
if test "$_lt_disable_FC" != yes; then
  # Code to be used in simple compile tests
  lt_simple_compile_test_code="\
      subroutine t
      return
      end
"

  # Code to be used in simple link tests
  lt_simple_link_test_code="\
      program t
      end
"

  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
  _LT_TAG_COMPILER

  # save warnings/boilerplate of simple test code
  _LT_COMPILER_BOILERPLATE
  _LT_LINKER_BOILERPLATE

  # Allow CC to be a program name with arguments.
  lt_save_CC="$CC"
  lt_save_GCC=$GCC
  CC=${FC-"f95"}
  compiler=$CC
  GCC=$ac_cv_fc_compiler_gnu

  _LT_TAGVAR(compiler, $1)=$CC
  _LT_CC_BASENAME([$compiler])

  if test -n "$compiler"; then
    AC_MSG_CHECKING([if libtool supports shared libraries])
    AC_MSG_RESULT([$can_build_shared])

    AC_MSG_CHECKING([whether to build shared libraries])
    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
    AC_MSG_RESULT([$enable_shared])

    AC_MSG_CHECKING([whether to build static libraries])
    # Make sure either enable_shared or enable_static is yes.
    test "$enable_shared" = yes || enable_static=yes
    AC_MSG_RESULT([$enable_static])

    _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu"
    _LT_TAGVAR(LD, $1)="$LD"

    ## 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...
    _LT_SYS_HIDDEN_LIBDEPS($1)
    _LT_COMPILER_PIC($1)
    _LT_COMPILER_C_O($1)
    _LT_COMPILER_FILE_LOCKS($1)
    _LT_LINKER_SHLIBS($1)
    _LT_SYS_DYNAMIC_LINKER($1)
    _LT_LINKER_HARDCODE_LIBPATH($1)

    _LT_CONFIG($1)
  fi # test -n "$compiler"

  GCC=$lt_save_GCC
  CC="$lt_save_CC"
fi # test "$_lt_disable_FC" != yes

AC_LANG_POP
])# _LT_LANG_FC_CONFIG


# _LT_LANG_GCJ_CONFIG([TAG])
# --------------------------
# Ensure that the configuration variables for the GNU Java Compiler compiler
# are suitably defined.  These variables are subsequently used by _LT_CONFIG
# to write the compiler configuration to `libtool'.
m4_defun([_LT_LANG_GCJ_CONFIG],
[AC_REQUIRE([LT_PROG_GCJ])dnl
AC_LANG_SAVE

# Source file extension for Java test sources.
ac_ext=java

# Object file extension for compiled Java test sources.
objext=o
_LT_TAGVAR(objext, $1)=$objext

# Code to be used in simple compile tests
lt_simple_compile_test_code="class foo {}"

# Code to be used in simple link tests
lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'

# ltmain only uses $CC for tagged configurations so make sure $CC is set.
_LT_TAG_COMPILER

# save warnings/boilerplate of simple test code
_LT_COMPILER_BOILERPLATE
_LT_LINKER_BOILERPLATE

# Allow CC to be a program name with arguments.
lt_save_CC="$CC"
lt_save_GCC=$GCC
GCC=yes
CC=${GCJ-"gcj"}
compiler=$CC
_LT_TAGVAR(compiler, $1)=$CC
_LT_TAGVAR(LD, $1)="$LD"
_LT_CC_BASENAME([$compiler])

# GCJ did not exist at the time GCC didn't implicitly link libc in.
_LT_TAGVAR(archive_cmds_need_lc, $1)=no

_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds

## 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_COMPILER_NO_RTTI($1)
  _LT_COMPILER_PIC($1)
  _LT_COMPILER_C_O($1)
  _LT_COMPILER_FILE_LOCKS($1)
  _LT_LINKER_SHLIBS($1)
  _LT_LINKER_HARDCODE_LIBPATH($1)

  _LT_CONFIG($1)
fi

AC_LANG_RESTORE

GCC=$lt_save_GCC
CC="$lt_save_CC"
])# _LT_LANG_GCJ_CONFIG


# _LT_LANG_RC_CONFIG([TAG])
# -------------------------
# Ensure that the configuration variables for the Windows resource compiler
# are suitably defined.  These variables are subsequently used by _LT_CONFIG
# to write the compiler configuration to `libtool'.
m4_defun([_LT_LANG_RC_CONFIG],
[AC_REQUIRE([LT_PROG_RC])dnl
AC_LANG_SAVE

# Source file extension for RC test sources.
ac_ext=rc

# Object file extension for compiled RC test sources.
objext=o
_LT_TAGVAR(objext, $1)=$objext

# Code to be used in simple compile tests
lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'

# Code to be used in simple link tests
lt_simple_link_test_code="$lt_simple_compile_test_code"

# ltmain only uses $CC for tagged configurations so make sure $CC is set.
_LT_TAG_COMPILER

# save warnings/boilerplate of simple test code
_LT_COMPILER_BOILERPLATE
_LT_LINKER_BOILERPLATE

# Allow CC to be a program name with arguments.
lt_save_CC="$CC"
lt_save_GCC=$GCC
GCC=
CC=${RC-"windres"}
compiler=$CC
_LT_TAGVAR(compiler, $1)=$CC
_LT_CC_BASENAME([$compiler])
_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes

if test -n "$compiler"; then
  :
  _LT_CONFIG($1)
fi

GCC=$lt_save_GCC
AC_LANG_RESTORE
CC="$lt_save_CC"
])# _LT_LANG_RC_CONFIG


# LT_PROG_GCJ
# -----------
AC_DEFUN([LT_PROG_GCJ],
[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
  [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
    [AC_CHECK_TOOL(GCJ, gcj,)
      test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
      AC_SUBST(GCJFLAGS)])])[]dnl
])

# Old name:
AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
dnl aclocal-1.4 backwards compatibility:
dnl AC_DEFUN([LT_AC_PROG_GCJ], [])


# LT_PROG_RC
# ----------
AC_DEFUN([LT_PROG_RC],
[AC_CHECK_TOOL(RC, windres,)
])

# Old name:
AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
dnl aclocal-1.4 backwards compatibility:
dnl AC_DEFUN([LT_AC_PROG_RC], [])


# _LT_DECL_EGREP
# --------------
# If we don't have a new enough Autoconf to choose the best grep
# available, choose the one first in the user's PATH.
m4_defun([_LT_DECL_EGREP],
[AC_REQUIRE([AC_PROG_EGREP])dnl
AC_REQUIRE([AC_PROG_FGREP])dnl
test -z "$GREP" && GREP=grep
_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
_LT_DECL([], [EGREP], [1], [An ERE matcher])
_LT_DECL([], [FGREP], [1], [A literal string matcher])
dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
AC_SUBST([GREP])
])


# _LT_DECL_SED
# ------------
# Check for a fully-functional sed program, that truncates
# as few characters as possible.  Prefer GNU sed if found.
m4_defun([_LT_DECL_SED],
[AC_PROG_SED
test -z "$SED" && SED=sed
Xsed="$SED -e 1s/^X//"
_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
    [Sed that helps us avoid accidentally triggering echo(1) options like -n])
])# _LT_DECL_SED

m4_ifndef([AC_PROG_SED], [
############################################################
# NOTE: This macro has been submitted for inclusion into   #
#  GNU Autoconf as AC_PROG_SED.  When it is available in   #
#  a released version of Autoconf we should remove this    #
#  macro and use it instead.                               #
############################################################

m4_defun([AC_PROG_SED],
[AC_MSG_CHECKING([for a sed that does not truncate output])
AC_CACHE_VAL(lt_cv_path_SED,
[# Loop through the user's path and test for sed and gsed.
# Then use that list of sed's as ones to test for truncation.
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
  IFS=$as_save_IFS
  test -z "$as_dir" && as_dir=.
  for lt_ac_prog in sed gsed; do
    for ac_exec_ext in '' $ac_executable_extensions; do
      if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
        lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
      fi
    done
  done
done
IFS=$as_save_IFS
lt_ac_max=0
lt_ac_count=0
# Add /usr/xpg4/bin/sed as it is typically found on Solaris
# along with /bin/sed that truncates output.
for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
  test ! -f $lt_ac_sed && continue
  cat /dev/null > conftest.in
  lt_ac_count=0
  echo $ECHO_N "0123456789$ECHO_C" >conftest.in
  # Check for GNU sed and select it if it is found.
  if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
    lt_cv_path_SED=$lt_ac_sed
    break
  fi
  while true; do
    cat conftest.in conftest.in >conftest.tmp
    mv conftest.tmp conftest.in
    cp conftest.in conftest.nl
    echo >>conftest.nl
    $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
    cmp -s conftest.out conftest.nl || break
    # 10000 chars as input seems more than enough
    test $lt_ac_count -gt 10 && break
    lt_ac_count=`expr $lt_ac_count + 1`
    if test $lt_ac_count -gt $lt_ac_max; then
      lt_ac_max=$lt_ac_count
      lt_cv_path_SED=$lt_ac_sed
    fi
  done
done
])
SED=$lt_cv_path_SED
AC_SUBST([SED])
AC_MSG_RESULT([$SED])
])#AC_PROG_SED
])#m4_ifndef

# Old name:
AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
dnl aclocal-1.4 backwards compatibility:
dnl AC_DEFUN([LT_AC_PROG_SED], [])


# _LT_CHECK_SHELL_FEATURES
# ------------------------
# Find out whether the shell is Bourne or XSI compatible,
# or has some other useful features.
m4_defun([_LT_CHECK_SHELL_FEATURES],
[AC_MSG_CHECKING([whether the shell understands some XSI constructs])
# 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
AC_MSG_RESULT([$xsi_shell])
_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell'])

AC_MSG_CHECKING([whether the shell understands "+="])
lt_shell_append=no
( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \
    >/dev/null 2>&1 \
  && lt_shell_append=yes
AC_MSG_RESULT([$lt_shell_append])
_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append'])

if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
  lt_unset=unset
else
  lt_unset=false
fi
_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl

# 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
_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
])# _LT_CHECK_SHELL_FEATURES


# _LT_PROG_XSI_SHELLFNS
# ---------------------
# Bourne and XSI compatible variants of some useful shell functions.
m4_defun([_LT_PROG_XSI_SHELLFNS],
[case $xsi_shell in
  yes)
    cat << \_LT_EOF >> "$cfgfile"

# func_dirname file append nondir_replacement
# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
# otherwise set result to NONDIR_REPLACEMENT.
func_dirname ()
{
  case ${1} in
    */*) func_dirname_result="${1%/*}${2}" ;;
    *  ) func_dirname_result="${3}" ;;
  esac
}

# func_basename file
func_basename ()
{
  func_basename_result="${1##*/}"
}

# func_dirname_and_basename file append nondir_replacement
# perform func_basename and func_dirname in a single function
# call:
#   dirname:  Compute the dirname of FILE.  If nonempty,
#             add APPEND to the result, otherwise set result
#             to NONDIR_REPLACEMENT.
#             value returned in "$func_dirname_result"
#   basename: Compute filename of FILE.
#             value retuned in "$func_basename_result"
# Implementation must be kept synchronized with func_dirname
# and func_basename. For efficiency, we do not delegate to
# those functions but instead duplicate the functionality here.
func_dirname_and_basename ()
{
  case ${1} in
    */*) func_dirname_result="${1%/*}${2}" ;;
    *  ) func_dirname_result="${3}" ;;
  esac
  func_basename_result="${1##*/}"
}

# func_stripname prefix suffix name
# strip PREFIX and SUFFIX off of NAME.
# PREFIX and SUFFIX must not contain globbing or regex special
# characters, hashes, percent signs, but SUFFIX may contain a leading
# dot (in which case that matches only a dot).
func_stripname ()
{
  # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
  # positional parameters, so assign one to ordinary parameter first.
  func_stripname_result=${3}
  func_stripname_result=${func_stripname_result#"${1}"}
  func_stripname_result=${func_stripname_result%"${2}"}
}

# func_opt_split
func_opt_split ()
{
  func_opt_split_opt=${1%%=*}
  func_opt_split_arg=${1#*=}
}

# func_lo2o object
func_lo2o ()
{
  case ${1} in
    *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
    *)    func_lo2o_result=${1} ;;
  esac
}

# func_xform libobj-or-source
func_xform ()
{
  func_xform_result=${1%.*}.lo
}

# func_arith arithmetic-term...
func_arith ()
{
  func_arith_result=$(( $[*] ))
}

# func_len string
# STRING may not start with a hyphen.
func_len ()
{
  func_len_result=${#1}
}

_LT_EOF
    ;;
  *) # Bourne compatible functions.
    cat << \_LT_EOF >> "$cfgfile"

# func_dirname file append nondir_replacement
# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
# otherwise set result to NONDIR_REPLACEMENT.
func_dirname ()
{
  # Extract subdirectory from the argument.
  func_dirname_result=`$ECHO "X${1}" | $Xsed -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 file
func_basename ()
{
  func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
}

dnl func_dirname_and_basename
dnl A portable version of this function is already defined in general.m4sh
dnl so there is no need for it here.

# func_stripname prefix suffix name
# strip PREFIX and SUFFIX off of NAME.
# PREFIX and SUFFIX must not contain globbing or regex special
# characters, hashes, percent signs, but SUFFIX may contain a leading
# dot (in which case that matches only a dot).
# func_strip_suffix prefix name
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}\$%%"`;;
  esac
}

# sed scripts:
my_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q'
my_sed_long_arg='1s/^-[[^=]]*=//'

# 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_lo2o object
func_lo2o ()
{
  func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
}

# func_xform libobj-or-source
func_xform ()
{
  func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[[^.]]*$/.lo/'`
}

# func_arith arithmetic-term...
func_arith ()
{
  func_arith_result=`expr "$[@]"`
}

# func_len string
# STRING may not start with a hyphen.
func_len ()
{
  func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len`
}

_LT_EOF
esac

case $lt_shell_append in
  yes)
    cat << \_LT_EOF >> "$cfgfile"

# func_append var value
# Append VALUE to the end of shell variable VAR.
func_append ()
{
  eval "$[1]+=\$[2]"
}
_LT_EOF
    ;;
  *)
    cat << \_LT_EOF >> "$cfgfile"

# func_append var value
# Append VALUE to the end of shell variable VAR.
func_append ()
{
  eval "$[1]=\$$[1]\$[2]"
}

_LT_EOF
    ;;
  esac
])
EOF-libtool.m4
echo - 'ltoptions.m4'
cat << 'EOF-ltoptions.m4' > 'ltoptions.m4'
# Helper functions for option handling.                    -*- Autoconf -*-
#
#   Copyright (C) 2004, 2005, 2007, 2008 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

# This is to help aclocal find these macros, as it can't see m4_define.
AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])


# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
# ------------------------------------------
m4_define([_LT_MANGLE_OPTION],
[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])


# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
# ---------------------------------------
# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
# matching handler defined, dispatch to it.  Other OPTION-NAMEs are
# saved as a flag.
m4_define([_LT_SET_OPTION],
[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
        _LT_MANGLE_DEFUN([$1], [$2]),
    [m4_warning([Unknown $1 option `$2'])])[]dnl
])


# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
# ------------------------------------------------------------
# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
m4_define([_LT_IF_OPTION],
[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])


# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
# -------------------------------------------------------
# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
# are set.
m4_define([_LT_UNLESS_OPTIONS],
[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
	    [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
		      [m4_define([$0_found])])])[]dnl
m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
])[]dnl
])


# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
# ----------------------------------------
# OPTION-LIST is a space-separated list of Libtool options associated
# with MACRO-NAME.  If any OPTION has a matching handler declared with
# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
# the unknown option and exit.
m4_defun([_LT_SET_OPTIONS],
[# Set options
m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
    [_LT_SET_OPTION([$1], _LT_Option)])

m4_if([$1],[LT_INIT],[
  dnl
  dnl Simply set some default values (i.e off) if boolean options were not
  dnl specified:
  _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
  ])
  _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
  ])
  dnl
  dnl If no reference was made to various pairs of opposing options, then
  dnl we run the default mode handler for the pair.  For example, if neither
  dnl `shared' nor `disable-shared' was passed, we enable building of shared
  dnl archives by default:
  _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
  _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
  _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
  _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
  		   [_LT_ENABLE_FAST_INSTALL])
  ])
])# _LT_SET_OPTIONS


## --------------------------------- ##
## Macros to handle LT_INIT options. ##
## --------------------------------- ##

# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
# -----------------------------------------
m4_define([_LT_MANGLE_DEFUN],
[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])


# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
# -----------------------------------------------
m4_define([LT_OPTION_DEFINE],
[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
])# LT_OPTION_DEFINE


# dlopen
# ------
LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
])

AU_DEFUN([AC_LIBTOOL_DLOPEN],
[_LT_SET_OPTION([LT_INIT], [dlopen])
AC_DIAGNOSE([obsolete],
[$0: Remove this warning and the call to _LT_SET_OPTION when you
put the `dlopen' option into LT_INIT's first parameter.])
])

dnl aclocal-1.4 backwards compatibility:
dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])


# win32-dll
# ---------
# Declare package support for building win32 dll's.
LT_OPTION_DEFINE([LT_INIT], [win32-dll],
[enable_win32_dll=yes

case $host in
*-*-cygwin* | *-*-mingw* | *-*-pw32*)
  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

test -z "$DLLTOOL" && DLLTOOL=dlltool
_LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl

test -z "$OBJDUMP" && OBJDUMP=objdump
_LT_DECL([], [OBJDUMP], [0], [Object dumper program])dnl
])# win32-dll

AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
[AC_REQUIRE([AC_CANONICAL_HOST])dnl
_LT_SET_OPTION([LT_INIT], [win32-dll])
AC_DIAGNOSE([obsolete],
[$0: Remove this warning and the call to _LT_SET_OPTION when you
put the `win32-dll' option into LT_INIT's first parameter.])
])

dnl aclocal-1.4 backwards compatibility:
dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])


# _LT_ENABLE_SHARED([DEFAULT])
# ----------------------------
# implement the --enable-shared flag, and supports the `shared' and
# `disable-shared' LT_INIT options.
# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
m4_define([_LT_ENABLE_SHARED],
[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
AC_ARG_ENABLE([shared],
    [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
	[build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
    [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],
    [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)

    _LT_DECL([build_libtool_libs], [enable_shared], [0],
	[Whether or not to build shared libraries])
])# _LT_ENABLE_SHARED

LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])

# Old names:
AC_DEFUN([AC_ENABLE_SHARED],
[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
])

AC_DEFUN([AC_DISABLE_SHARED],
[_LT_SET_OPTION([LT_INIT], [disable-shared])
])

AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])

dnl aclocal-1.4 backwards compatibility:
dnl AC_DEFUN([AM_ENABLE_SHARED], [])
dnl AC_DEFUN([AM_DISABLE_SHARED], [])



# _LT_ENABLE_STATIC([DEFAULT])
# ----------------------------
# implement the --enable-static flag, and support the `static' and
# `disable-static' LT_INIT options.
# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
m4_define([_LT_ENABLE_STATIC],
[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
AC_ARG_ENABLE([static],
    [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
	[build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
    [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],
    [enable_static=]_LT_ENABLE_STATIC_DEFAULT)

    _LT_DECL([build_old_libs], [enable_static], [0],
	[Whether or not to build static libraries])
])# _LT_ENABLE_STATIC

LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])

# Old names:
AC_DEFUN([AC_ENABLE_STATIC],
[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
])

AC_DEFUN([AC_DISABLE_STATIC],
[_LT_SET_OPTION([LT_INIT], [disable-static])
])

AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])

dnl aclocal-1.4 backwards compatibility:
dnl AC_DEFUN([AM_ENABLE_STATIC], [])
dnl AC_DEFUN([AM_DISABLE_STATIC], [])



# _LT_ENABLE_FAST_INSTALL([DEFAULT])
# ----------------------------------
# implement the --enable-fast-install flag, and support the `fast-install'
# and `disable-fast-install' LT_INIT options.
# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
m4_define([_LT_ENABLE_FAST_INSTALL],
[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
AC_ARG_ENABLE([fast-install],
    [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
    [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
    [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],
    [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)

_LT_DECL([fast_install], [enable_fast_install], [0],
	 [Whether or not to optimize for fast installation])dnl
])# _LT_ENABLE_FAST_INSTALL

LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])

# Old names:
AU_DEFUN([AC_ENABLE_FAST_INSTALL],
[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
AC_DIAGNOSE([obsolete],
[$0: Remove this warning and the call to _LT_SET_OPTION when you put
the `fast-install' option into LT_INIT's first parameter.])
])

AU_DEFUN([AC_DISABLE_FAST_INSTALL],
[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
AC_DIAGNOSE([obsolete],
[$0: Remove this warning and the call to _LT_SET_OPTION when you put
the `disable-fast-install' option into LT_INIT's first parameter.])
])

dnl aclocal-1.4 backwards compatibility:
dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])


# _LT_WITH_PIC([MODE])
# --------------------
# implement the --with-pic flag, and support the `pic-only' and `no-pic'
# LT_INIT options.
# MODE is either `yes' or `no'.  If omitted, it defaults to `both'.
m4_define([_LT_WITH_PIC],
[AC_ARG_WITH([pic],
    [AS_HELP_STRING([--with-pic],
	[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
    [pic_mode="$withval"],
    [pic_mode=default])

test -z "$pic_mode" && pic_mode=m4_default([$1], [default])

_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
])# _LT_WITH_PIC

LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])

# Old name:
AU_DEFUN([AC_LIBTOOL_PICMODE],
[_LT_SET_OPTION([LT_INIT], [pic-only])
AC_DIAGNOSE([obsolete],
[$0: Remove this warning and the call to _LT_SET_OPTION when you
put the `pic-only' option into LT_INIT's first parameter.])
])

dnl aclocal-1.4 backwards compatibility:
dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])

## ----------------- ##
## LTDL_INIT Options ##
## ----------------- ##

m4_define([_LTDL_MODE], [])
LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
		 [m4_define([_LTDL_MODE], [nonrecursive])])
LT_OPTION_DEFINE([LTDL_INIT], [recursive],
		 [m4_define([_LTDL_MODE], [recursive])])
LT_OPTION_DEFINE([LTDL_INIT], [subproject],
		 [m4_define([_LTDL_MODE], [subproject])])

m4_define([_LTDL_TYPE], [])
LT_OPTION_DEFINE([LTDL_INIT], [installable],
		 [m4_define([_LTDL_TYPE], [installable])])
LT_OPTION_DEFINE([LTDL_INIT], [convenience],
		 [m4_define([_LTDL_TYPE], [convenience])])
EOF-ltoptions.m4
echo - 'ltsugar.m4'
cat << 'EOF-ltsugar.m4' > 'ltsugar.m4'
# ltsugar.m4 -- libtool m4 base layer.                         -*-Autoconf-*-
#
# Copyright (C) 2004, 2005, 2007, 2008 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 ltsugar.m4

# This is to help aclocal find these macros, as it can't see m4_define.
AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])


# lt_join(SEP, ARG1, [ARG2...])
# -----------------------------
# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
# associated separator.
# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
# versions in m4sugar had bugs.
m4_define([lt_join],
[m4_if([$#], [1], [],
       [$#], [2], [[$2]],
       [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
m4_define([_lt_join],
[m4_if([$#$2], [2], [],
       [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])


# lt_car(LIST)
# lt_cdr(LIST)
# ------------
# Manipulate m4 lists.
# These macros are necessary as long as will still need to support
# Autoconf-2.59 which quotes differently.
m4_define([lt_car], [[$1]])
m4_define([lt_cdr],
[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
       [$#], 1, [],
       [m4_dquote(m4_shift($@))])])
m4_define([lt_unquote], $1)


# lt_append(MACRO-NAME, STRING, [SEPARATOR])
# ------------------------------------------
# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
# Note that neither SEPARATOR nor STRING are expanded; they are appended
# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
# No SEPARATOR is output if MACRO-NAME was previously undefined (different
# than defined and empty).
#
# This macro is needed until we can rely on Autoconf 2.62, since earlier
# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
m4_define([lt_append],
[m4_define([$1],
	   m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])



# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
# ----------------------------------------------------------
# Produce a SEP delimited list of all paired combinations of elements of
# PREFIX-LIST with SUFFIX1 through SUFFIXn.  Each element of the list
# has the form PREFIXmINFIXSUFFIXn.
# Needed until we can rely on m4_combine added in Autoconf 2.62.
m4_define([lt_combine],
[m4_if(m4_eval([$# > 3]), [1],
       [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
[[m4_foreach([_Lt_prefix], [$2],
	     [m4_foreach([_Lt_suffix],
		]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
	[_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])


# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
# -----------------------------------------------------------------------
# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
m4_define([lt_if_append_uniq],
[m4_ifdef([$1],
	  [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
		 [lt_append([$1], [$2], [$3])$4],
		 [$5])],
	  [lt_append([$1], [$2], [$3])$4])])


# lt_dict_add(DICT, KEY, VALUE)
# -----------------------------
m4_define([lt_dict_add],
[m4_define([$1($2)], [$3])])


# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
# --------------------------------------------
m4_define([lt_dict_add_subkey],
[m4_define([$1($2:$3)], [$4])])


# lt_dict_fetch(DICT, KEY, [SUBKEY])
# ----------------------------------
m4_define([lt_dict_fetch],
[m4_ifval([$3],
	m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
    m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])


# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
# -----------------------------------------------------------------
m4_define([lt_if_dict_fetch],
[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
	[$5],
    [$6])])


# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
# --------------------------------------------------------------
m4_define([lt_dict_filter],
[m4_if([$5], [], [],
  [lt_join(m4_quote(m4_default([$4], [[, ]])),
           lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
		      [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
])
EOF-ltsugar.m4
echo - 'ltversion.m4'
cat << 'EOF-ltversion.m4' > 'ltversion.m4'
# ltversion.m4 -- version numbers			-*- Autoconf -*-
#
#   Copyright (C) 2004 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.

# Generated from ltversion.in.

# serial 3012 ltversion.m4
# This file is part of GNU Libtool

m4_define([LT_PACKAGE_VERSION], [2.2.6])
m4_define([LT_PACKAGE_REVISION], [1.3012])

AC_DEFUN([LTVERSION_VERSION],
[macro_version='2.2.6'
macro_revision='1.3012'
_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
_LT_DECL(, macro_revision, 0)
])
EOF-ltversion.m4
echo - 'lt~obsolete.m4'
cat << 'EOF-lt~obsolete.m4' > 'lt~obsolete.m4'
# lt~obsolete.m4 -- aclocal satisfying obsolete definitions.    -*-Autoconf-*-
#
#   Copyright (C) 2004, 2005, 2007 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

# These exist entirely to fool aclocal when bootstrapping libtool.
#
# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
# which have later been changed to m4_define as they aren't part of the
# exported API, or moved to Autoconf or Automake where they belong.
#
# The trouble is, aclocal is a bit thick.  It'll see the old AC_DEFUN
# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
# using a macro with the same name in our local m4/libtool.m4 it'll
# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
# and doesn't know about Autoconf macros at all.)
#
# So we provide this file, which has a silly filename so it's always
# included after everything else.  This provides aclocal with the
# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
# because those macros already exist, or will be overwritten later.
# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. 
#
# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
# Yes, that means every name once taken will need to remain here until
# we give up compatibility with versions before 1.7, at which point
# we need to keep only those names which we still refer to.

# This is to help aclocal find these macros, as it can't see m4_define.
AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])

m4_ifndef([AC_LIBTOOL_LINKER_OPTION],	[AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
m4_ifndef([AC_PROG_EGREP],		[AC_DEFUN([AC_PROG_EGREP])])
m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH],	[AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
m4_ifndef([_LT_AC_SHELL_INIT],		[AC_DEFUN([_LT_AC_SHELL_INIT])])
m4_ifndef([_LT_AC_SYS_LIBPATH_AIX],	[AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
m4_ifndef([_LT_PROG_LTMAIN],		[AC_DEFUN([_LT_PROG_LTMAIN])])
m4_ifndef([_LT_AC_TAGVAR],		[AC_DEFUN([_LT_AC_TAGVAR])])
m4_ifndef([AC_LTDL_ENABLE_INSTALL],	[AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
m4_ifndef([AC_LTDL_PREOPEN],		[AC_DEFUN([AC_LTDL_PREOPEN])])
m4_ifndef([_LT_AC_SYS_COMPILER],	[AC_DEFUN([_LT_AC_SYS_COMPILER])])
m4_ifndef([_LT_AC_LOCK],		[AC_DEFUN([_LT_AC_LOCK])])
m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE],	[AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
m4_ifndef([_LT_AC_TRY_DLOPEN_SELF],	[AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
m4_ifndef([AC_LIBTOOL_PROG_CC_C_O],	[AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
m4_ifndef([AC_LIBTOOL_OBJDIR],		[AC_DEFUN([AC_LIBTOOL_OBJDIR])])
m4_ifndef([AC_LTDL_OBJDIR],		[AC_DEFUN([AC_LTDL_OBJDIR])])
m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP],	[AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
m4_ifndef([AC_PATH_MAGIC],		[AC_DEFUN([AC_PATH_MAGIC])])
m4_ifndef([AC_PROG_LD_GNU],		[AC_DEFUN([AC_PROG_LD_GNU])])
m4_ifndef([AC_PROG_LD_RELOAD_FLAG],	[AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
m4_ifndef([AC_DEPLIBS_CHECK_METHOD],	[AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS],	[AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP],	[AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
m4_ifndef([LT_AC_PROG_EGREP],		[AC_DEFUN([LT_AC_PROG_EGREP])])
m4_ifndef([LT_AC_PROG_SED],		[AC_DEFUN([LT_AC_PROG_SED])])
m4_ifndef([_LT_CC_BASENAME],		[AC_DEFUN([_LT_CC_BASENAME])])
m4_ifndef([_LT_COMPILER_BOILERPLATE],	[AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
m4_ifndef([_LT_LINKER_BOILERPLATE],	[AC_DEFUN([_LT_LINKER_BOILERPLATE])])
m4_ifndef([_AC_PROG_LIBTOOL],		[AC_DEFUN([_AC_PROG_LIBTOOL])])
m4_ifndef([AC_LIBTOOL_SETUP],		[AC_DEFUN([AC_LIBTOOL_SETUP])])
m4_ifndef([_LT_AC_CHECK_DLFCN],		[AC_DEFUN([_LT_AC_CHECK_DLFCN])])
m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER],	[AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
m4_ifndef([_LT_AC_TAGCONFIG],		[AC_DEFUN([_LT_AC_TAGCONFIG])])
m4_ifndef([AC_DISABLE_FAST_INSTALL],	[AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
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_CXX_CONFIG],	[AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
m4_ifndef([_LT_AC_LANG_F77_CONFIG],	[AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
m4_ifndef([_LT_AC_LANG_GCJ_CONFIG],	[AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_RC_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])])
EOF-lt~obsolete.m4
echo - 'mmap-anon.m4'
cat << 'EOF-mmap-anon.m4' > 'mmap-anon.m4'
# mmap-anon.m4 serial 3 (libsigsegv-2.6)
dnl Copyright (C) 2002-2003, 2008 Bruno Haible <bruno@clisp.org>
dnl This file is free software, distributed under the terms of the GNU
dnl General Public License.  As a special exception to the GNU General
dnl Public License, this file may be distributed as part of a program
dnl that contains a configuration script generated by Autoconf, under
dnl the same distribution terms as the rest of that program.

# How to allocate fresh memory using mmap.
AC_DEFUN([SV_MMAP_ANON],
[
  AC_REQUIRE([AC_PROG_CC])
  AC_REQUIRE([AC_CANONICAL_HOST])

  dnl 1) MAP_ANON

  AC_CACHE_CHECK([for mmap with MAP_ANON], sv_cv_func_mmap_anon, [
    AC_RUN_IFELSE([
      AC_LANG_SOURCE([[
#include <sys/types.h>
#include <sys/mman.h>
int main ()
{
  void *p = mmap (0, 0x10000, PROT_READ | PROT_WRITE, MAP_ANON | MAP_PRIVATE, -1, 0);
  return (p == (void *)(-1));
}]])],
      [sv_cv_func_mmap_anon=yes],
      [sv_cv_func_mmap_anon=no],
      [
        dnl FIXME: Put in some more known values here.
        case "$host_os" in
          freebsd* | linux* | osf* | darwin*)
            sv_cv_func_mmap_anon=yes ;;
          *)
            AC_LINK_IFELSE([
              AC_LANG_PROGRAM([[
#include <sys/types.h>
#include <sys/mman.h>
]],
                [[mmap (0, 0x10000, PROT_READ | PROT_WRITE, MAP_ANON | MAP_PRIVATE, -1, 0);]])],
              [sv_cv_func_mmap_anon="guessing yes"],
              [sv_cv_func_mmap_anon=no])
            ;;
        esac
      ])
  ])
  if test "$sv_cv_func_mmap_anon" != no; then
    AC_DEFINE(HAVE_MMAP_ANON, 1,
      [Define if <sys/mman.h> defines MAP_ANON and mmaping with MAP_ANON works.])
  fi

  dnl 2) MAP_ANONYMOUS

  AC_CACHE_CHECK([for mmap with MAP_ANONYMOUS], sv_cv_func_mmap_anonymous, [
    AC_RUN_IFELSE([
      AC_LANG_SOURCE([[
#include <sys/types.h>
#include <sys/mman.h>
int main ()
{
  void *p = mmap (0, 0x10000, PROT_READ | PROT_WRITE, MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);
  return (p == (void *)(-1));
}]])],
      [sv_cv_func_mmap_anonymous=yes],
      [sv_cv_func_mmap_anonymous=no],
      [
        dnl FIXME: Put in some more known values here.
        case "$host_os" in
          hpux* | linux* | osf*)
            sv_cv_func_mmap_anonymous=yes ;;
          darwin*)
            sv_cv_func_mmap_anonymous=no ;;
          *)
            AC_LINK_IFELSE([
              AC_LANG_PROGRAM([[
#include <sys/types.h>
#include <sys/mman.h>
]],
                [[mmap (0, 0x10000, PROT_READ | PROT_WRITE, MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);]])],
              [sv_cv_func_mmap_anonymous="guessing yes"],
              [sv_cv_func_mmap_anonymous=no])
            ;;
        esac
      ])
  ])
  if test "$sv_cv_func_mmap_anonymous" != no; then
    AC_DEFINE(HAVE_MMAP_ANONYMOUS, 1,
      [Define if <sys/mman.h> defines MAP_ANONYMOUS and mmaping with MAP_ANONYMOUS
   works.])
  fi

  dnl 3) MAP_FILE of /dev/zero

  AC_CACHE_CHECK([for mmap of /dev/zero], sv_cv_func_mmap_devzero, [
    AC_RUN_IFELSE([
      AC_LANG_SOURCE([[
#include <sys/types.h>
#include <sys/mman.h>
#include <fcntl.h>
#ifndef MAP_FILE
#define MAP_FILE 0
#endif
int main ()
{
  int fd;
  void *p;
  fd = open ("/dev/zero", O_RDONLY, 0666);
  if (fd < 0) return 1;
  p = mmap (0, 0x10000, PROT_READ | PROT_WRITE, MAP_FILE | MAP_PRIVATE, fd, 0);
  return (p == (void *)(-1));
}]])],
      [sv_cv_func_mmap_devzero=yes],
      [sv_cv_func_mmap_devzero=no],
      [
        dnl FIXME: Put in some more known values here.
        case "$host_os" in
          freebsd* | irix* | linux* | osf* | solaris* | sunos4*)
            sv_cv_func_mmap_devzero=yes ;;
          darwin*)
            sv_cv_func_mmap_devzero=no ;;
          *)
            AC_LINK_IFELSE([
              AC_LANG_PROGRAM([[
#include <sys/types.h>
#include <sys/mman.h>
#ifndef MAP_FILE
#define MAP_FILE 0
#endif
]], [[mmap (0, 0x10000, PROT_READ | PROT_WRITE, MAP_FILE | MAP_PRIVATE, 7, 0);]])],
              [sv_cv_func_mmap_devzero="guessing yes"],
              [sv_cv_func_mmap_devzero=no])
            ;;
        esac
      ])
  ])
  if test "$sv_cv_func_mmap_devzero" != no; then
    AC_DEFINE(HAVE_MMAP_DEVZERO, 1,
      [Define if mmaping of the special device /dev/zero works.])
  fi
])
EOF-mmap-anon.m4
echo - 'relocatable.m4'
cat << 'EOF-relocatable.m4' > 'relocatable.m4'
# relocatable.m4 serial 1 (gettext-0.12)
dnl Copyright (C) 2003 Free Software Foundation, Inc.
dnl This file is free software, distributed under the terms of the GNU
dnl General Public License.  As a special exception to the GNU General
dnl Public License, this file may be distributed as part of a program
dnl that contains a configuration script generated by Autoconf, under
dnl the same distribution terms as the rest of that program.

dnl From Bruno Haible.

dnl Support for relocateble programs.
AC_DEFUN([AC_RELOCATABLE],
[
  AC_REQUIRE([AC_PROG_INSTALL])
  AC_BEFORE([AC_PROG_INSTALL],[AC_RELOCATABLE])
  AC_REQUIRE([AC_LIB_LIBPATH])
  AC_REQUIRE([AC_RELOCATABLE_LIBRARY])
  use_elf_origin_trick=no
  if test $RELOCATABLE = yes; then
    # --enable-relocatable implies --disable-rpath
    enable_rpath=no
    AC_LIBOBJ([relocatable])
    AC_DEFINE([ENABLE_RELOCATABLE], 1,
      [Define to 1 if the package shall run at any location in the filesystem.])
    case "$host_os" in
      linux*) use_elf_origin_trick=yes ;;
    esac
    if test $use_elf_origin_trick = yes; then
      dnl Use the dynamic linker's support for relocatable programs.
      case "$ac_aux_dir" in
        /*) reloc_ldflags="$ac_aux_dir/reloc-ldflags" ;;
        *) reloc_ldflags="\$(top_builddir)/$ac_aux_dir/reloc-ldflags" ;;
      esac
      SET_RELOCATABLE="RELOCATABLE_LDFLAGS = \"$reloc_ldflags\" \"@host@\" \"\$(RELOCATABLE_LIBRARY_PATH)\""
    else
      dnl Unfortunately we cannot define INSTALL_PROGRAM to a command
      dnl consisting of more than one word - libtool doesn't support this.
      dnl So we abuse the INSTALL_PROGRAM_ENV hook, originally meant for the
      dnl 'install-strip' target.
      SET_RELOCATABLE="INSTALL_PROGRAM_ENV = RELOC_LIBRARY_PATH_VAR=\"$shlibpath_var\" RELOC_LIBRARY_PATH_VALUE=\"\$(RELOCATABLE_LIBRARY_PATH)\" RELOC_PREFIX=\"\$(prefix)\" RELOC_COMPILE_COMMAND=\"\$(CC) \$(CPPFLAGS) \$(CFLAGS) \$(LDFLAGS)\" RELOC_SRCDIR=\"\$(RELOCATABLE_SRC_DIR)\" RELOC_BUILDDIR=\"\$(RELOCATABLE_BUILD_DIR)\" RELOC_CONFIG_H_DIR=\"\$(RELOCATABLE_CONFIG_H_DIR)\" RELOC_INSTALL_PROG=\"$INSTALL_PROGRAM\""
      case "$ac_aux_dir" in
        /*) INSTALL_PROGRAM="$ac_aux_dir/install-reloc" ;;
        *) INSTALL_PROGRAM="\$(top_builddir)/$ac_aux_dir/install-reloc" ;;
      esac
    fi
  else
    SET_RELOCATABLE=
  fi
  AC_SUBST([SET_RELOCATABLE])
  AM_CONDITIONAL([RELOCATABLE_VIA_LD],
    [test $use_elf_origin_trick = yes])
])

dnl Support for relocatable libraries.
AC_DEFUN([AC_RELOCATABLE_LIBRARY],
[
  AC_REQUIRE([AC_RELOCATABLE_NOP])
  dnl Easier to put this here once, instead of into the DEFS of each Makefile.
  if test "X$prefix" = "XNONE"; then
    reloc_final_prefix="$ac_default_prefix"
  else
    reloc_final_prefix="$prefix"
  fi
  AC_DEFINE_UNQUOTED([INSTALLPREFIX], ["${reloc_final_prefix}"],
    [Define to the value of ${prefix}, as a string.])
])

dnl Support for relocatable packages for which it is a nop.
AC_DEFUN([AC_RELOCATABLE_NOP],
[
  AC_MSG_CHECKING([whether to activate relocatable installation])
  AC_ARG_ENABLE(relocatable,
    [  --enable-relocatable    install a package that can be moved in the filesystem],
    [if test "$enableval" != no; then
       RELOCATABLE=yes
     else
       RELOCATABLE=no
     fi
    ], RELOCATABLE=no)
  AC_SUBST(RELOCATABLE)
  AC_MSG_RESULT([$RELOCATABLE])
])

dnl Determine the platform dependent parameters needed to use relocatability:
dnl shlibpath_var.
AC_DEFUN([AC_LIB_LIBPATH],
[
  AC_REQUIRE([AC_LIB_PROG_LD])            dnl we use $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 path variable], acl_cv_libpath, [
    LD="$LD" \
    ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.libpath" "$host" > conftest.sh
    . ./conftest.sh
    rm -f ./conftest.sh
    acl_cv_libpath=${acl_cv_shlibpath_var:-none}
  ])
  shlibpath_var="$acl_cv_shlibpath_var"
])
EOF-relocatable.m4
echo - 'sigaltstack-longjmp.m4'
cat << 'EOF-sigaltstack-longjmp.m4' > 'sigaltstack-longjmp.m4'
# sigaltstack-longjmp.m4 serial 6 (libsigsegv-2.7)
dnl Copyright (C) 2002-2003, 2006, 2008 Bruno Haible <bruno@clisp.org>
dnl This file is free software, distributed under the terms of the GNU
dnl General Public License.  As a special exception to the GNU General
dnl Public License, this file may be distributed as part of a program
dnl that contains a configuration script generated by Autoconf, under
dnl the same distribution terms as the rest of that program.

dnl How to longjmp out of a signal handler, in such a way that the
dnl alternate signal stack remains functional.
dnl SV_TRY_LEAVE_HANDLER_LONGJMP(KIND, CACHESYMBOL, KNOWN-SYSTEMS,
dnl                              INCLUDES, RESETCODE)
AC_DEFUN([SV_TRY_LEAVE_HANDLER_LONGJMP],
[
  AC_REQUIRE([AC_PROG_CC])
  AC_REQUIRE([AC_CANONICAL_HOST])

  AC_CACHE_CHECK([whether a signal handler can be left through longjmp$1], [$2], [
    AC_RUN_IFELSE([
      AC_LANG_SOURCE([[
#include <stdlib.h>
#include <signal.h>
#include <setjmp.h>
$4
#if HAVE_SETRLIMIT
# include <sys/types.h>
# include <sys/time.h>
# include <sys/resource.h>
#endif
#ifndef SIGSTKSZ
# define SIGSTKSZ 16384
#endif
jmp_buf mainloop;
sigset_t mainsigset;
int pass = 0;
void stackoverflow_handler (int sig)
{
  pass++;
  sigprocmask (SIG_SETMASK, &mainsigset, NULL);
  { $5 }
  longjmp (mainloop, pass);
}
volatile int * recurse_1 (volatile int n, volatile int *p)
{
  if (n >= 0)
    *recurse_1 (n + 1, p) += n;
  return p;
}
int recurse (volatile int n)
{
  int sum = 0;
  return *recurse_1 (n, &sum);
}
int main ()
{
  char mystack[2 * SIGSTKSZ];
  stack_t altstack;
  struct sigaction action;
  sigset_t emptyset;
#if defined HAVE_SETRLIMIT && defined RLIMIT_STACK
  /* Before starting the endless recursion, try to be friendly to the user's
     machine.  On some Linux 2.2.x systems, there is no stack limit for user
     processes at all.  We don't want to kill such systems.  */
  struct rlimit rl;
  rl.rlim_cur = rl.rlim_max = 0x100000; /* 1 MB */
  setrlimit (RLIMIT_STACK, &rl);
#endif
  /* Install the alternate stack.  Use the midpoint of mystack, to guard
     against a buggy interpretation of ss_sp on IRIX.  */
  altstack.ss_sp = mystack + SIGSTKSZ;
  altstack.ss_size = SIGSTKSZ;
  altstack.ss_flags = 0; /* no SS_DISABLE */
  if (sigaltstack (&altstack, NULL) < 0)
    exit (1);
  /* Install the SIGSEGV handler.  */
  sigemptyset (&action.sa_mask);
  action.sa_handler = &stackoverflow_handler;
  action.sa_flags = SA_ONSTACK;
  sigaction (SIGSEGV, &action, (struct sigaction *) NULL);
  sigaction (SIGBUS, &action, (struct sigaction *) NULL);
  /* Save the current signal mask.  */
  sigemptyset (&emptyset);
  sigprocmask (SIG_BLOCK, &emptyset, &mainsigset);
  /* Provoke two stack overflows in a row.  */
  if (setjmp (mainloop) < 2)
    {
      recurse (0);
      exit (2);
    }
  exit (0);
}]])],
      [$2=yes],
      [$2=no],
      [case "$host" in
         m4_if([$3], [], [], [[$3]) $2=yes ;;])
         *) $2="guessing no" ;;
       esac
      ])
  ])
])
EOF-sigaltstack-longjmp.m4
echo - 'sigaltstack-siglongjmp.m4'
cat << 'EOF-sigaltstack-siglongjmp.m4' > 'sigaltstack-siglongjmp.m4'
# sigaltstack-siglongjmp.m4 serial 6 (libsigsegv-2.7)
dnl Copyright (C) 2002-2003, 2006, 2008 Bruno Haible <bruno@clisp.org>
dnl This file is free software, distributed under the terms of the GNU
dnl General Public License.  As a special exception to the GNU General
dnl Public License, this file may be distributed as part of a program
dnl that contains a configuration script generated by Autoconf, under
dnl the same distribution terms as the rest of that program.

dnl How to siglongjmp out of a signal handler, in such a way that the
dnl alternate signal stack remains functional.
dnl SV_TRY_LEAVE_HANDLER_SIGLONGJMP(KIND, CACHESYMBOL, KNOWN-SYSTEMS,
dnl                                 INCLUDES, RESETCODE)
AC_DEFUN([SV_TRY_LEAVE_HANDLER_SIGLONGJMP],
[
  AC_REQUIRE([AC_PROG_CC])
  AC_REQUIRE([AC_CANONICAL_HOST])

  AC_CACHE_CHECK([whether a signal handler can be left through siglongjmp$1], [$2], [
    AC_RUN_IFELSE([
      AC_LANG_SOURCE([[
#include <stdlib.h>
#include <signal.h>
#include <setjmp.h>
$4
#if HAVE_SETRLIMIT
# include <sys/types.h>
# include <sys/time.h>
# include <sys/resource.h>
#endif
#ifndef SIGSTKSZ
# define SIGSTKSZ 16384
#endif
sigjmp_buf mainloop;
int pass = 0;
void stackoverflow_handler (int sig)
{
  pass++;
  { $5 }
  siglongjmp (mainloop, pass);
}
volatile int * recurse_1 (volatile int n, volatile int *p)
{
  if (n >= 0)
    *recurse_1 (n + 1, p) += n;
  return p;
}
int recurse (volatile int n)
{
  int sum = 0;
  return *recurse_1 (n, &sum);
}
int main ()
{
  char mystack[2 * SIGSTKSZ];
  stack_t altstack;
  struct sigaction action;
#ifdef __BEOS__
  /* On BeOS, this would hang, burning CPU time.  Better fail than hang.  */
  exit (1);
#endif
#if defined HAVE_SETRLIMIT && defined RLIMIT_STACK
  /* Before starting the endless recursion, try to be friendly to the user's
     machine.  On some Linux 2.2.x systems, there is no stack limit for user
     processes at all.  We don't want to kill such systems.  */
  struct rlimit rl;
  rl.rlim_cur = rl.rlim_max = 0x100000; /* 1 MB */
  setrlimit (RLIMIT_STACK, &rl);
#endif
  /* Install the alternate stack.  Use the midpoint of mystack, to guard
     against a buggy interpretation of ss_sp on IRIX.  */
  altstack.ss_sp = mystack + SIGSTKSZ;
  altstack.ss_size = SIGSTKSZ;
  altstack.ss_flags = 0; /* no SS_DISABLE */
  if (sigaltstack (&altstack, NULL) < 0)
    exit (1);
  /* Install the SIGSEGV handler.  */
  sigemptyset (&action.sa_mask);
  action.sa_handler = &stackoverflow_handler;
  action.sa_flags = SA_ONSTACK;
  sigaction (SIGSEGV, &action, (struct sigaction *) NULL);
  sigaction (SIGBUS, &action, (struct sigaction *) NULL);
  /* Provoke two stack overflows in a row.  */
  if (sigsetjmp (mainloop, 1) < 2)
    {
      recurse (0);
      exit (2);
    }
  exit (0);
}]])],
      [$2=yes],
      [$2=no],
      [case "$host" in
         m4_if([$3], [], [], [[$3]) $2=yes ;;])
         *) $2="guessing no" ;;
       esac
      ])
  ])
])
EOF-sigaltstack-siglongjmp.m4
echo - 'sigaltstack.m4'
cat << 'EOF-sigaltstack.m4' > 'sigaltstack.m4'
# sigaltstack.m4 serial 10 (libsigsegv-2.7)
dnl Copyright (C) 2002-2006, 2008 Bruno Haible <bruno@clisp.org>
dnl Copyright (C) 2008 Eric Blake <ebb9@byu.net>
dnl This file is free software, distributed under the terms of the GNU
dnl General Public License.  As a special exception to the GNU General
dnl Public License, this file may be distributed as part of a program
dnl that contains a configuration script generated by Autoconf, under
dnl the same distribution terms as the rest of that program.

AC_DEFUN([SV_SIGALTSTACK],
[
  AC_REQUIRE([AC_PROG_CC])
  AC_REQUIRE([AC_CANONICAL_HOST])

  AC_CHECK_FUNCS(sigaltstack)

  if test "$ac_cv_func_sigaltstack" = yes; then
    AC_CHECK_TYPE(stack_t, ,
      [AC_DEFINE(stack_t, [struct sigaltstack],
         [Define to 'struct sigaltstack' if that's the type of the argument to sigaltstack])
      ],
      [
#include <signal.h>
#if HAVE_SYS_SIGNAL_H
# include <sys/signal.h>
#endif
      ])
  fi

  AC_CACHE_CHECK([for working sigaltstack], sv_cv_sigaltstack, [
    if test "$ac_cv_func_sigaltstack" = yes; then
      case "$host_os" in
        macos* | darwin[[6-9]]* | darwin[[1-9]][[0-9]]*)
          # On MacOS X 10.2 or newer, just assume that if it compiles, it will
          # work. If we were to perform the real test, 1 Crash Report dialog
          # window would pop up.
          AC_LINK_IFELSE([
            AC_LANG_PROGRAM([[#include <signal.h>]],
              [[int x = SA_ONSTACK; stack_t ss; sigaltstack ((stack_t*)0, &ss);]])],
            [sv_cv_sigaltstack="guessing yes"],
            [sv_cv_sigaltstack=no])
          ;;
        *)
          AC_RUN_IFELSE([
            AC_LANG_SOURCE([[
#include <stdlib.h>
#include <signal.h>
#if HAVE_SYS_SIGNAL_H
# include <sys/signal.h>
#endif
#if HAVE_SETRLIMIT
# include <sys/types.h>
# include <sys/time.h>
# include <sys/resource.h>
#endif
#ifndef SIGSTKSZ
# define SIGSTKSZ 16384
#endif
void stackoverflow_handler (int sig)
{
  /* If we get here, the stack overflow was caught.  */
  exit (0);
}
volatile int * recurse_1 (volatile int n, volatile int *p)
{
  if (n >= 0)
    *recurse_1 (n + 1, p) += n;
  return p;
}
int recurse (volatile int n)
{
  int sum = 0;
  return *recurse_1 (n, &sum);
}
int main ()
{
  char mystack[2 * SIGSTKSZ];
  stack_t altstack;
  struct sigaction action;
#if defined HAVE_SETRLIMIT && defined RLIMIT_STACK
  /* Before starting the endless recursion, try to be friendly to the user's
     machine.  On some Linux 2.2.x systems, there is no stack limit for user
     processes at all.  We don't want to kill such systems.  */
  struct rlimit rl;
  rl.rlim_cur = rl.rlim_max = 0x100000; /* 1 MB */
  setrlimit (RLIMIT_STACK, &rl);
#endif
  /* Install the alternate stack.  Use the midpoint of mystack, to guard
     against a buggy interpretation of ss_sp on IRIX.  */
  altstack.ss_sp = mystack + SIGSTKSZ;
  altstack.ss_size = SIGSTKSZ;
  altstack.ss_flags = 0; /* no SS_DISABLE */
  if (sigaltstack (&altstack, NULL) < 0)
    exit (1);
  /* Install the SIGSEGV handler.  */
  sigemptyset (&action.sa_mask);
  action.sa_handler = &stackoverflow_handler;
  action.sa_flags = SA_ONSTACK;
  sigaction (SIGSEGV, &action, (struct sigaction *) NULL);
  sigaction (SIGBUS, &action, (struct sigaction *) NULL);
  /* Provoke a stack overflow.  */
  recurse (0);
  exit (2);
}]])],
            [sv_cv_sigaltstack=yes],
            [sv_cv_sigaltstack=no],
            [
              dnl FIXME: Put in some more known values here.
              case "$host_os" in
                *)
                  AC_LINK_IFELSE([
                    AC_LANG_PROGRAM([[#include <signal.h>]],
                      [[int x = SA_ONSTACK; stack_t ss; sigaltstack ((stack_t*)0, &ss);]])],
                    [sv_cv_sigaltstack="guessing yes"],
                    [sv_cv_sigaltstack=no])
                  ;;
              esac
            ])
          ;;
      esac
    else
      sv_cv_sigaltstack=no
    fi
  ])
  if test "$sv_cv_sigaltstack" != no; then
    AC_DEFINE(HAVE_WORKING_SIGALTSTACK, 1,
      [Define if you have the sigaltstack() function and it works.])

    dnl The ss_sp field of a stack_t is, according to POSIX, the lowest address
    dnl of the memory block designated as an alternate stack. But IRIX 5.3
    dnl interprets it as the highest address!
    AC_CACHE_CHECK([for correct stack_t interpretation],
      [sv_cv_sigaltstack_low_base], [
      AC_RUN_IFELSE([
        AC_LANG_SOURCE([[
#include <stdlib.h>
#include <signal.h>
#if HAVE_SYS_SIGNAL_H
# include <sys/signal.h>
#endif
#ifndef SIGSTKSZ
# define SIGSTKSZ 16384
#endif
volatile char *stack_lower_bound;
volatile char *stack_upper_bound;
static void check_stack_location (volatile char *addr)
{
  if (addr >= stack_lower_bound && addr <= stack_upper_bound)
    exit (0);
  else
    exit (1);
}
static void stackoverflow_handler (int sig)
{
  char dummy;
  check_stack_location (&dummy);
}
int main ()
{
  char mystack[2 * SIGSTKSZ];
  stack_t altstack;
  struct sigaction action;
  /* Install the alternate stack.  */
  altstack.ss_sp = mystack + SIGSTKSZ;
  altstack.ss_size = SIGSTKSZ;
  stack_lower_bound = (char *) altstack.ss_sp;
  stack_upper_bound = (char *) altstack.ss_sp + altstack.ss_size - 1;
  altstack.ss_flags = 0; /* no SS_DISABLE */
  if (sigaltstack (&altstack, NULL) < 0)
    exit (2);
  /* Install the SIGSEGV handler.  */
  sigemptyset (&action.sa_mask);
  action.sa_handler = &stackoverflow_handler;
  action.sa_flags = SA_ONSTACK;
  if (sigaction (SIGSEGV, &action, (struct sigaction *) NULL) < 0)
    exit(3);
  /* Provoke a SIGSEGV.  */
  raise (SIGSEGV);
  exit (3);
}]])],
      [sv_cv_sigaltstack_low_base=yes],
      [sv_cv_sigaltstack_low_base=no],
      [
        dnl FIXME: Put in some more known values here.
        case "$host_os" in
          irix5*) sv_cv_sigaltstack_low_base="no" ;;
          *)      sv_cv_sigaltstack_low_base="guessing yes" ;;
        esac
      ])
    ])
    if test "$sv_cv_sigaltstack_low_base" = no; then
      AC_DEFINE([SIGALTSTACK_SS_REVERSED], [1],
        [Define if sigaltstack() interprets the stack_t.ss_sp field incorrectly,
         as the highest address of the alternate stack range rather than as the
         lowest address.])
    fi
  fi
])
EOF-sigaltstack.m4
cd ..
echo making directory 'src'
mkdir 'src'
cd 'src'
#! /bin/sh
echo - 'Makefile.am'
cat << 'EOF-Makefile.am' > 'Makefile.am'
## Makefile for libsigsegv/src.
## Copyright (C) 2002-2006, 2008-2009 Bruno Haible <bruno@clisp.org>
##
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation; either version 2, or (at your option)
## any later version.
##
## 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.

## Process this file with automake to produce Makefile.in.

AUTOMAKE_OPTIONS = 1.5 gnits no-dependencies

RM = rm -f

lib_LTLIBRARIES = libsigsegv.la

noinst_HEADERS = \
  fault.h fault-aix3.h fault-aix3-powerpc.h fault-aix5.h fault-aix5-powerpc.h \
  fault-beos.h fault-beos-i386.h \
  fault-bsd.h fault-freebsd-i386.h \
  fault-hpux.h fault-hpux-hppa.h fault-hurd.h fault-irix.h fault-irix-mips.h \
  fault-linux.h fault-linux-alpha.h fault-linux-arm.h fault-linux-cris.h \
  fault-linux-hppa.h fault-linux-i386.h fault-linux-i386-old.h \
  fault-linux-ia64.h fault-linux-m68k.h fault-linux-m68k.c fault-linux-mips.h \
  fault-linux-powerpc.h fault-linux-s390.h fault-linux-sh.h \
  fault-linux-sparc.h fault-linux-x86_64.h \
  fault-macos-i386.h \
  fault-macosdarwin5-powerpc.h fault-macosdarwin5-powerpc.c \
  fault-macosdarwin7-powerpc.h fault-macosdarwin7-powerpc.c \
  fault-netbsd.h fault-netbsd-alpha.h fault-netbsd-alpha.c \
  fault-none.h \
  fault-openbsd.h fault-openbsd-i386.h \
  fault-osf.h fault-osf-alpha.h \
  fault-posix.h fault-posix-ucontext.h \
  fault-solaris.h fault-solaris-i386.h fault-solaris-sparc.h \
  machfault.h machfault-macos.h \
  signals.h signals-bsd.h signals-hpux.h signals-hurd.h signals-macos.h \
  leave.h \
  stackvma.h

EXTRA_DIST = \
  handler-none.c handler-unix.c handler-macos.c handler-win32.c \
  stackvma-none.c stackvma-simple.c stackvma-linux.c stackvma-freebsd.c \
  stackvma-procfs.c stackvma-beos.c stackvma-mach.c stackvma-mincore.c \
  stackvma-rofile.c \
  leave-none.c leave-nop.c leave-sigaltstack.c leave-setcontext.c \
  sigsegv.h.msvc

INCLUDES = -I. -I$(srcdir)
DEFS = @DEFS@

libsigsegv_la_SOURCES = handler.c stackvma.c leave.c dispatcher.c version.c

libsigsegv_la_LDFLAGS = \
  -rpath $(libdir) \
  -version-info $(LIBSIGSEGV_VERSION_INFO) \
  -lc -no-undefined

# Before making a release, change this according to the libtool documentation,
# section "Library interface versions".
LIBSIGSEGV_VERSION_INFO = 1:0:0

# Dependencies.
handler.$(OBJEXT) : ../config.h sigsegv.h @CFG_HANDLER@ $(noinst_HEADERS) 
stackvma.$(OBJEXT) : ../config.h @CFG_STACKVMA@ stackvma.h
leave.$(OBJEXT) : ../config.h @CFG_LEAVE@
dispatcher.$(OBJEXT) : sigsegv.h


# Special rules for installing sigsegv.h.

install-data-local:
	$(mkinstalldirs) $(DESTDIR)$(includedir)
	$(INSTALL_DATA) sigsegv.h $(DESTDIR)$(includedir)/sigsegv.h

installdirs-local:
	$(mkinstalldirs) $(DESTDIR)$(includedir)

uninstall-local:
	$(RM) $(DESTDIR)$(includedir)/sigsegv.h


DISTCLEANFILES = sigsegv.h


# Rules for "make dist".

sigsegv.h.msvc : sigsegv.h.in
	sed -e 's/@''FAULT_CONTEXT_INCLUDE''@/#include <windows.h>/' \
	    -e 's/@''FAULT_CONTEXT''@/CONTEXT/' \
	    -e 's/@''HAVE_SIGSEGV_RECOVERY''@/1/' \
	    -e 's/@''HAVE_STACK_OVERFLOW_RECOVERY''@/1/' \
	    < $(srcdir)/sigsegv.h.in > $@

EOF-Makefile.am
echo - 'Makefile.in'
cat << 'EOF-Makefile.in' > 'Makefile.in'
# Makefile.in generated by automake 1.11 from Makefile.am.
# @configure_input@

# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
# Inc.
# This Makefile.in 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.

# This program 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.

@SET_MAKE@


VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = src
DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
	$(srcdir)/Makefile.in $(srcdir)/sigsegv.h.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/bold.m4 \
	$(top_srcdir)/m4/fault.m4 $(top_srcdir)/m4/getpagesize.m4 \
	$(top_srcdir)/m4/libtool.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/mmap-anon.m4 \
	$(top_srcdir)/m4/relocatable.m4 \
	$(top_srcdir)/m4/sigaltstack-longjmp.m4 \
	$(top_srcdir)/m4/sigaltstack-siglongjmp.m4 \
	$(top_srcdir)/m4/sigaltstack.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 = sigsegv.h
CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
    *) f=$$p;; \
  esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
  for p in $$list; do echo "$$p $$p"; done | \
  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
    if (++n[$$2] == $(am__install_max)) \
      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
    END { for (dir in files) print dir, files[dir] }'
am__base_list = \
  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__installdirs = "$(DESTDIR)$(libdir)"
LTLIBRARIES = $(lib_LTLIBRARIES)
libsigsegv_la_LIBADD =
am_libsigsegv_la_OBJECTS = handler.lo stackvma.lo leave.lo \
	dispatcher.lo version.lo
libsigsegv_la_OBJECTS = $(am_libsigsegv_la_OBJECTS)
libsigsegv_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
	$(libsigsegv_la_LDFLAGS) $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp =
am__depfiles_maybe =
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)
CCLD = $(CC)
LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
	$(LDFLAGS) -o $@
SOURCES = $(libsigsegv_la_SOURCES)
DIST_SOURCES = $(libsigsegv_la_SOURCES)
HEADERS = $(noinst_HEADERS)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFG_HANDLER = @CFG_HANDLER@
CFG_LEAVE = @CFG_LEAVE@
CFG_STACKVMA = @CFG_STACKVMA@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FAULT_CONTEXT = @FAULT_CONTEXT@
FGREP = @FGREP@
GREP = @GREP@
HAVE_SIGSEGV_RECOVERY = @HAVE_SIGSEGV_RECOVERY@
HAVE_STACK_OVERFLOW_RECOVERY = @HAVE_STACK_OVERFLOW_RECOVERY@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PLATFORM = @PLATFORM@
RANLIB = @RANLIB@
RELOCATABLE = @RELOCATABLE@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
AUTOMAKE_OPTIONS = 1.5 gnits no-dependencies
RM = rm -f
lib_LTLIBRARIES = libsigsegv.la
noinst_HEADERS = \
  fault.h fault-aix3.h fault-aix3-powerpc.h fault-aix5.h fault-aix5-powerpc.h \
  fault-beos.h fault-beos-i386.h \
  fault-bsd.h fault-freebsd-i386.h \
  fault-hpux.h fault-hpux-hppa.h fault-hurd.h fault-irix.h fault-irix-mips.h \
  fault-linux.h fault-linux-alpha.h fault-linux-arm.h fault-linux-cris.h \
  fault-linux-hppa.h fault-linux-i386.h fault-linux-i386-old.h \
  fault-linux-ia64.h fault-linux-m68k.h fault-linux-m68k.c fault-linux-mips.h \
  fault-linux-powerpc.h fault-linux-s390.h fault-linux-sh.h \
  fault-linux-sparc.h fault-linux-x86_64.h \
  fault-macos-i386.h \
  fault-macosdarwin5-powerpc.h fault-macosdarwin5-powerpc.c \
  fault-macosdarwin7-powerpc.h fault-macosdarwin7-powerpc.c \
  fault-netbsd.h fault-netbsd-alpha.h fault-netbsd-alpha.c \
  fault-none.h \
  fault-openbsd.h fault-openbsd-i386.h \
  fault-osf.h fault-osf-alpha.h \
  fault-posix.h fault-posix-ucontext.h \
  fault-solaris.h fault-solaris-i386.h fault-solaris-sparc.h \
  machfault.h machfault-macos.h \
  signals.h signals-bsd.h signals-hpux.h signals-hurd.h signals-macos.h \
  leave.h \
  stackvma.h

EXTRA_DIST = \
  handler-none.c handler-unix.c handler-macos.c handler-win32.c \
  stackvma-none.c stackvma-simple.c stackvma-linux.c stackvma-freebsd.c \
  stackvma-procfs.c stackvma-beos.c stackvma-mach.c stackvma-mincore.c \
  stackvma-rofile.c \
  leave-none.c leave-nop.c leave-sigaltstack.c leave-setcontext.c \
  sigsegv.h.msvc

INCLUDES = -I. -I$(srcdir)
libsigsegv_la_SOURCES = handler.c stackvma.c leave.c dispatcher.c version.c
libsigsegv_la_LDFLAGS = \
  -rpath $(libdir) \
  -version-info $(LIBSIGSEGV_VERSION_INFO) \
  -lc -no-undefined


# Before making a release, change this according to the libtool documentation,
# section "Library interface versions".
LIBSIGSEGV_VERSION_INFO = 1:0:0
DISTCLEANFILES = sigsegv.h
all: all-am

.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
	@for dep in $?; do \
	  case '$(am__configure_deps)' in \
	    *$$dep*) \
	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
	        && { if test -f $@; then exit 0; else break; fi; }; \
	      exit 1;; \
	  esac; \
	done; \
	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits src/Makefile'; \
	$(am__cd) $(top_srcdir) && \
	  $(AUTOMAKE) --gnits src/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
	@case '$?' in \
	  *config.status*) \
	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
	  *) \
	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
	esac;

$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh

$(top_srcdir)/configure:  $(am__configure_deps)
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
sigsegv.h: $(top_builddir)/config.status $(srcdir)/sigsegv.h.in
	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
	@$(NORMAL_INSTALL)
	test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
	@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
	list2=; for p in $$list; do \
	  if test -f $$p; then \
	    list2="$$list2 $$p"; \
	  else :; fi; \
	done; \
	test -z "$$list2" || { \
	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
	}

uninstall-libLTLIBRARIES:
	@$(NORMAL_UNINSTALL)
	@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
	for p in $$list; do \
	  $(am__strip_dir) \
	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
	done

clean-libLTLIBRARIES:
	-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
	@list='$(lib_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
libsigsegv.la: $(libsigsegv_la_OBJECTS) $(libsigsegv_la_DEPENDENCIES) 
	$(libsigsegv_la_LINK) -rpath $(libdir) $(libsigsegv_la_OBJECTS) $(libsigsegv_la_LIBADD) $(LIBS)

mostlyclean-compile:
	-rm -f *.$(OBJEXT)

distclean-compile:
	-rm -f *.tab.c

.c.o:
	$(COMPILE) -c $<

.c.obj:
	$(COMPILE) -c `$(CYGPATH_W) '$<'`

.c.lo:
	$(LTCOMPILE) -c -o $@ $<

mostlyclean-libtool:
	-rm -f *.lo

clean-libtool:
	-rm -rf .libs _libs

ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
	unique=`for i in $$list; do \
	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
	  done | \
	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
	      END { if (nonempty) { for (i in files) print i; }; }'`; \
	mkid -fID $$unique
tags: TAGS

TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
		$(TAGS_FILES) $(LISP)
	set x; \
	here=`pwd`; \
	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
	unique=`for i in $$list; do \
	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
	  done | \
	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
	      END { if (nonempty) { for (i in files) print i; }; }'`; \
	shift; \
	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
	  test -n "$$unique" || unique=$$empty_fix; \
	  if test $$# -gt 0; then \
	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
	      "$$@" $$unique; \
	  else \
	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
	      $$unique; \
	  fi; \
	fi
ctags: CTAGS
CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
		$(TAGS_FILES) $(LISP)
	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
	unique=`for i in $$list; do \
	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
	  done | \
	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
	      END { if (nonempty) { for (i in files) print i; }; }'`; \
	test -z "$(CTAGS_ARGS)$$unique" \
	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
	     $$unique

GTAGS:
	here=`$(am__cd) $(top_builddir) && pwd` \
	  && $(am__cd) $(top_srcdir) \
	  && gtags -i $(GTAGS_ARGS) "$$here"

distclean-tags:
	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags

distdir: $(DISTFILES)
	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
	list='$(DISTFILES)'; \
	  dist_files=`for file in $$list; do echo $$file; done | \
	  sed -e "s|^$$srcdirstrip/||;t" \
	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
	case $$dist_files in \
	  */*) $(MKDIR_P) `echo "$$dist_files" | \
			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
			   sort -u` ;; \
	esac; \
	for file in $$dist_files; do \
	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
	  if test -d $$d/$$file; then \
	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
	    if test -d "$(distdir)/$$file"; then \
	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
	    fi; \
	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
	    fi; \
	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
	  else \
	    test -f "$(distdir)/$$file" \
	    || cp -p $$d/$$file "$(distdir)/$$file" \
	    || exit 1; \
	  fi; \
	done
check-am: all-am
check: check-am
all-am: Makefile $(LTLIBRARIES) $(HEADERS)
installdirs: installdirs-local
	for dir in "$(DESTDIR)$(libdir)"; do \
	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
	done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am

install-am: all-am
	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am

installcheck: installcheck-am
install-strip:
	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
	  `test -z '$(STRIP)' || \
	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:

clean-generic:

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)
	-test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)

maintainer-clean-generic:
	@echo "This command is intended for maintainers to use"
	@echo "it deletes files that may require special tools to rebuild."
clean: clean-am

clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
	mostlyclean-am

distclean: distclean-am
	-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
	distclean-tags

dvi: dvi-am

dvi-am:

html: html-am

html-am:

info: info-am

info-am:

install-data-am: install-data-local

install-dvi: install-dvi-am

install-dvi-am:

install-exec-am: install-libLTLIBRARIES

install-html: install-html-am

install-html-am:

install-info: install-info-am

install-info-am:

install-man:

install-pdf: install-pdf-am

install-pdf-am:

install-ps: install-ps-am

install-ps-am:

installcheck-am:

maintainer-clean: maintainer-clean-am
	-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic

mostlyclean: mostlyclean-am

mostlyclean-am: mostlyclean-compile mostlyclean-generic \
	mostlyclean-libtool

pdf: pdf-am

pdf-am:

ps: ps-am

ps-am:

uninstall-am: uninstall-libLTLIBRARIES uninstall-local

.MAKE: install-am install-strip

.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
	clean-libLTLIBRARIES 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-data-local install-dvi install-dvi-am install-exec \
	install-exec-am install-html install-html-am install-info \
	install-info-am install-libLTLIBRARIES install-man install-pdf \
	install-pdf-am install-ps install-ps-am install-strip \
	installcheck installcheck-am installdirs installdirs-local \
	maintainer-clean maintainer-clean-generic mostlyclean \
	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
	pdf pdf-am ps ps-am tags uninstall uninstall-am \
	uninstall-libLTLIBRARIES uninstall-local


# Dependencies.
handler.$(OBJEXT) : ../config.h sigsegv.h @CFG_HANDLER@ $(noinst_HEADERS) 
stackvma.$(OBJEXT) : ../config.h @CFG_STACKVMA@ stackvma.h
leave.$(OBJEXT) : ../config.h @CFG_LEAVE@
dispatcher.$(OBJEXT) : sigsegv.h

# Special rules for installing sigsegv.h.

install-data-local:
	$(mkinstalldirs) $(DESTDIR)$(includedir)
	$(INSTALL_DATA) sigsegv.h $(DESTDIR)$(includedir)/sigsegv.h

installdirs-local:
	$(mkinstalldirs) $(DESTDIR)$(includedir)

uninstall-local:
	$(RM) $(DESTDIR)$(includedir)/sigsegv.h

# Rules for "make dist".

sigsegv.h.msvc : sigsegv.h.in
	sed -e 's/@''FAULT_CONTEXT_INCLUDE''@/#include <windows.h>/' \
	    -e 's/@''FAULT_CONTEXT''@/CONTEXT/' \
	    -e 's/@''HAVE_SIGSEGV_RECOVERY''@/1/' \
	    -e 's/@''HAVE_STACK_OVERFLOW_RECOVERY''@/1/' \
	    < $(srcdir)/sigsegv.h.in > $@

# 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:
EOF-Makefile.in
echo - 'dispatcher.c'
cat << 'EOF-dispatcher.c' > 'dispatcher.c'
/* Dispatch signal to right virtual memory area.
   Copyright (C) 1993-1999, 2002-2003  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 "sigsegv.h"

#include <stddef.h> /* needed for NULL on SunOS4 */
#include <stdlib.h>
#ifdef _WIN32
#include <malloc.h>
#endif

/*
 * A dispatcher contains an AVL tree of non-empty intervals, sorted according
 * to their starting address.
 */
typedef
struct node_t
{
  /* AVL tree management.  */
  struct node_t *left;
  struct node_t *right;
  unsigned int height;
  /* Representation of interval.  */
  unsigned long address;
  unsigned long len;
  /* User handler.  */
  sigsegv_area_handler_t handler;
  void *handler_arg;
}
node_t;

#define empty  ((node_t *) 0)
#define heightof(tree)  ((tree) == empty ? 0 : (tree)->height)
#define MAXHEIGHT  41

static void
rebalance (node_t ***nodeplaces_ptr, unsigned int count)
{
  if (count > 0)
    do
      {
        node_t **nodeplace = *--nodeplaces_ptr;
        node_t *node = *nodeplace;
        node_t *nodeleft = node->left;
        node_t *noderight = node->right;
        unsigned int heightleft = heightof (nodeleft);
        unsigned int heightright = heightof (noderight);
        if (heightright + 1 < heightleft)
          {
            node_t *nodeleftleft = nodeleft->left;
            node_t *nodeleftright = nodeleft->right;
            unsigned int heightleftright = heightof (nodeleftright);
            if (heightof (nodeleftleft) >= heightleftright)
              {
                node->left = nodeleftright; nodeleft->right = node;
                nodeleft->height = 1 + (node->height = 1 + heightleftright);
                *nodeplace = nodeleft;
              }
            else
              {
                nodeleft->right = nodeleftright->left;
                node->left = nodeleftright->right;
                nodeleftright->left = nodeleft;
                nodeleftright->right = node;
                nodeleft->height = node->height = heightleftright;
                nodeleftright->height = heightleft;
                *nodeplace = nodeleftright;
              }
          }
        else if (heightleft + 1 < heightright)
          {
            node_t *noderightright = noderight->right;
            node_t *noderightleft = noderight->left;
            unsigned int heightrightleft = heightof (noderightleft);
            if (heightof (noderightright) >= heightrightleft)
              {
                node->right = noderightleft; noderight->left = node;
                noderight->height = 1 + (node->height = 1 + heightrightleft);
                *nodeplace = noderight;
              }
            else
              {
                noderight->left = noderightleft->right;
                node->right = noderightleft->left;
                noderightleft->right = noderight;
                noderightleft->left = node;
                noderight->height = node->height = heightrightleft;
                noderightleft->height = heightright;
                *nodeplace = noderightleft;
              }
          }
        else
          {
            unsigned int height =
              (heightleft<heightright ? heightright : heightleft) + 1;
            if (height == node->height)
              break;
            node->height = height;
          }
      }
    while (--count > 0);
}

static node_t *
insert (node_t *new_node, node_t *tree)
{
  unsigned long key = new_node->address;
  node_t **nodeplace = &tree;
  node_t **stack[MAXHEIGHT];
  unsigned int stack_count = 0;
  node_t ***stack_ptr = &stack[0];
  for (;;)
    {
      node_t *node = *nodeplace;
      if (node == empty)
        break;
      *stack_ptr++ = nodeplace; stack_count++;
      if (key < node->address)
        nodeplace = &node->left;
      else
        nodeplace = &node->right;
    }
  new_node->left = empty;
  new_node->right = empty;
  new_node->height = 1;
  *nodeplace = new_node;
  rebalance (stack_ptr, stack_count);
  return tree;
}

static node_t *
delete (node_t *node_to_delete, node_t *tree)
{
  unsigned long key = node_to_delete->address;
  node_t **nodeplace = &tree;
  node_t **stack[MAXHEIGHT];
  unsigned int stack_count = 0;
  node_t ***stack_ptr = &stack[0];
  for (;;)
    {
      node_t *node = *nodeplace;
      if (node == empty)
        return tree;
      *stack_ptr++ = nodeplace; stack_count++;
      if (key == node->address)
        {
          if (node != node_to_delete)
            abort ();
          break;
        }
      if (key < node->address)
        nodeplace = &node->left;
      else
        nodeplace = &node->right;
    }
  {
    node_t **nodeplace_to_delete = nodeplace;
    if (node_to_delete->left == empty)
      {
        *nodeplace_to_delete = node_to_delete->right;
        stack_ptr--; stack_count--;
      }
    else
      {
        node_t ***stack_ptr_to_delete = stack_ptr;
        node_t **nodeplace = &node_to_delete->left;
        node_t *node;
        for (;;)
          {
            node = *nodeplace;
            if (node->right == empty)
              break;
            *stack_ptr++ = nodeplace; stack_count++;
            nodeplace = &node->right;
          }
        *nodeplace = node->left;
        node->left = node_to_delete->left;
        node->right = node_to_delete->right;
        node->height = node_to_delete->height;
        *nodeplace_to_delete = node;
        *stack_ptr_to_delete = &node->left;
      }
  }
  rebalance (stack_ptr, stack_count);
  return tree;
}

void
sigsegv_init (sigsegv_dispatcher *dispatcher)
{
  dispatcher->tree = empty;
}

void *
sigsegv_register (sigsegv_dispatcher *dispatcher,
                  void *address, unsigned long len,
                  sigsegv_area_handler_t handler, void *handler_arg)
{
  if (len == 0)
    return NULL;
  else
    {
      node_t *new_node = (node_t *) malloc (sizeof (node_t));
      new_node->address = (unsigned long) address;
      new_node->len = len;
      new_node->handler = handler;
      new_node->handler_arg = handler_arg;
      dispatcher->tree = insert (new_node, (node_t *) dispatcher->tree);
      return new_node;
    }
}

void
sigsegv_unregister (sigsegv_dispatcher *dispatcher, void *ticket)
{
  if (ticket != NULL)
    {
      node_t *node_to_delete = (node_t *) ticket;
      dispatcher->tree = delete (node_to_delete, (node_t *) dispatcher->tree);
      free (node_to_delete);
    }
}

int
sigsegv_dispatch (sigsegv_dispatcher *dispatcher, void *fault_address)
{
  unsigned long key = (unsigned long) fault_address;
  node_t *tree = (node_t *) dispatcher->tree;
  for (;;)
    {
      if (tree == empty)
        return 0;
      if (key < tree->address)
        tree = tree->left;
      else if (key - tree->address >= tree->len)
        tree = tree->right;
      else
        break;
    }
  return (*tree->handler) (fault_address, tree->handler_arg);
}
EOF-dispatcher.c
echo - 'fault-aix3-powerpc.h'
cat << 'EOF-fault-aix3-powerpc.h' > 'fault-aix3-powerpc.h'
/* Fault handler information.  AIX3/PowerPC and AIX4/PowerPC version.
   Copyright (C) 2002-2005  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 "fault-aix3.h"

#define SIGSEGV_FAULT_STACKPOINTER scp->sc_jmpbuf.jmp_context.gpr[1]
EOF-fault-aix3-powerpc.h
echo - 'fault-aix3.h'
cat << 'EOF-fault-aix3.h' > 'fault-aix3.h'
/* Fault handler information.  AIX 3 and AIX 4 version.
   Copyright (C) 2002  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 SIGSEGV_FAULT_HANDLER_ARGLIST  int sig, int code, struct sigcontext *scp
#define SIGSEGV_FAULT_ADDRESS  scp->sc_jmpbuf.jmp_context.o_vaddr
#define SIGSEGV_FAULT_CONTEXT  scp
EOF-fault-aix3.h
echo - 'fault-aix5-powerpc.h'
cat << 'EOF-fault-aix5-powerpc.h' > 'fault-aix5-powerpc.h'
/* Fault handler information.  AIX5/PowerPC version.
   Copyright (C) 2005  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 "fault-aix5.h"

#define SIGSEGV_FAULT_STACKPOINTER  ((ucontext_t *) ucp)->uc_mcontext.jmp_context.gpr[1]
EOF-fault-aix5-powerpc.h
echo - 'fault-aix5.h'
cat << 'EOF-fault-aix5.h' > 'fault-aix5.h'
/* Fault handler information.  AIX 5 version.
   Copyright (C) 2005, 2009  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 "fault-posix-ucontext.h"
EOF-fault-aix5.h
echo - 'fault-beos-i386.h'
cat << 'EOF-fault-beos-i386.h' > 'fault-beos-i386.h'
/* Fault handler information.  BeOS/i386 version.
   Copyright (C) 2002  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 <OS.h>

#include "fault-beos.h"

#define SIGSEGV_FAULT_STACKPOINTER  vrp->esp
EOF-fault-beos-i386.h
echo - 'fault-beos.h'
cat << 'EOF-fault-beos.h' > 'fault-beos.h'
/* Fault handler information.  BeOS version.
   Copyright (C) 2002  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 SIGSEGV_FAULT_HANDLER_ARGLIST  int sig, void *userdata, struct vregs *vrp
#define SIGSEGV_FAULT_CONTEXT  vrp
EOF-fault-beos.h
echo - 'fault-bsd.h'
cat << 'EOF-fault-bsd.h' > 'fault-bsd.h'
/* Fault handler information.  BSD Unix version.
   Copyright (C) 2002  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 SIGSEGV_FAULT_HANDLER_ARGLIST  int sig, int code, void *scp, void *addr
#define SIGSEGV_FAULT_ADDRESS  addr
EOF-fault-bsd.h
echo - 'fault-freebsd-i386.h'
cat << 'EOF-fault-freebsd-i386.h' > 'fault-freebsd-i386.h'
/* Fault handler information.  FreeBSD/i386 version.
   Copyright (C) 2002, 2007  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 SIGSEGV_FAULT_HANDLER_ARGLIST  int sig, int code, struct sigcontext *scp, void *addr
#define SIGSEGV_FAULT_ADDRESS  addr
#define SIGSEGV_FAULT_CONTEXT  scp
#if defined __x86_64__
/* 64 bit registers */
#define SIGSEGV_FAULT_STACKPOINTER  scp->sc_rsp
#else
/* 32 bit registers */
#define SIGSEGV_FAULT_STACKPOINTER  scp->sc_esp
#endif
EOF-fault-freebsd-i386.h
echo - 'fault-hpux-hppa.h'
cat << 'EOF-fault-hpux-hppa.h' > 'fault-hpux-hppa.h'
/* Fault handler information.  HP-UX HPPA version.
   Copyright (C) 2002  Paolo Bonzini <bonzini@gnu.org>
   Copyright (C) 2002-2003, 2009  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 USE_64BIT_REGS(mc) \
  (((mc).ss_flags & SS_WIDEREGS) && ((mc).ss_flags & SS_NARROWISINVALID))

/* Extract the cr21 register from an mcontext_t.
   See the comments in /usr/include/machine/save_state.h.  */
#define GET_CR21(mc) \
  (USE_64BIT_REGS(mc) ? (mc).ss_wide.ss_64.ss_cr21 : (mc).ss_narrow.ss_cr21)

/* Extract the stack pointer from an mcontext_t.
   See the comments in /usr/include/machine/save_state.h.  */
#define GET_SP(mc) \
  (USE_64BIT_REGS(mc) ? (mc).ss_wide.ss_64.ss_sp : (mc).ss_narrow.ss_sp)

/* Both of these alternatives work on HP-UX 10.20 and HP-UX 11.00.  */
#if 1

#include "fault-hpux.h"

#define SIGSEGV_FAULT_ADDRESS  GET_CR21 (scp->sc_sl.sl_ss)
#define SIGSEGV_FAULT_STACKPOINTER  GET_SP (scp->sc_ctxt.sl.sl_ss)

#else

#include "fault-posix-ucontext.h"

#define SIGSEGV_FAULT_STACKPOINTER  GET_SP (((ucontext_t *) ucp)->uc_mcontext)

#endif
EOF-fault-hpux-hppa.h
echo - 'fault-hpux.h'
cat << 'EOF-fault-hpux.h' > 'fault-hpux.h'
/* Fault handler information.  HP-UX version.
   Copyright (C) 2002  Paolo Bonzini <bonzini@gnu.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 SIGSEGV_FAULT_HANDLER_ARGLIST  int sig, int code, struct sigcontext *scp
#define SIGSEGV_FAULT_CONTEXT  scp
EOF-fault-hpux.h
echo - 'fault-hurd.h'
cat << 'EOF-fault-hurd.h' > 'fault-hurd.h'
/* Fault handler information.  Hurd version.
   Copyright (C) 2002  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 SIGSEGV_FAULT_HANDLER_ARGLIST  int sig, int code, struct sigcontext *scp
#define SIGSEGV_FAULT_ADDRESS  (unsigned long) code
#define SIGSEGV_FAULT_CONTEXT  scp
EOF-fault-hurd.h
echo - 'fault-irix-mips.h'
cat << 'EOF-fault-irix-mips.h' > 'fault-irix-mips.h'
/* Fault handler information.  IRIX MIPS version.
   Copyright (C) 2002  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 "fault-irix.h"

#define SIGSEGV_FAULT_STACKPOINTER  scp->sc_regs[29]
EOF-fault-irix-mips.h
echo - 'fault-irix.h'
cat << 'EOF-fault-irix.h' > 'fault-irix.h'
/* Fault handler information.  IRIX version.
   Copyright (C) 2002  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 SIGSEGV_FAULT_HANDLER_ARGLIST  int sig, int code, struct sigcontext *scp
#define SIGSEGV_FAULT_ADDRESS  (unsigned long) scp->sc_badvaddr
#define SIGSEGV_FAULT_CONTEXT  scp
EOF-fault-irix.h
echo - 'fault-linux-alpha.h'
cat << 'EOF-fault-linux-alpha.h' > 'fault-linux-alpha.h'
/* Fault handler information.  Linux/Alpha version.
   Copyright (C) 2002  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 <asm/sigcontext.h>

#define SIGSEGV_FAULT_HANDLER_ARGLIST  int sig, int code, struct sigcontext *scp
#define SIGSEGV_FAULT_CONTEXT  scp
#define SIGSEGV_FAULT_STACKPOINTER  scp->sc_regs[30]
EOF-fault-linux-alpha.h
echo - 'fault-linux-arm.h'
cat << 'EOF-fault-linux-arm.h' > 'fault-linux-arm.h'
/* Fault handler information.  Linux/ARM version.
   Copyright (C) 2002  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 supports only kernels >= 2.2.14 or >= 2.3.35.  Support for older
   kernels would be more complicated, see file
   glibc/sysdeps/unix/sysv/linux/arm/bits/armsigctx.h.  */

#include <asm/sigcontext.h>

#define SIGSEGV_FAULT_HANDLER_ARGLIST  int sig, int r1, int r2, int r3, struct sigcontext sc
#define SIGSEGV_FAULT_CONTEXT  &sc
#define SIGSEGV_FAULT_STACKPOINTER  sc.arm_sp
EOF-fault-linux-arm.h
echo - 'fault-linux-cris.h'
cat << 'EOF-fault-linux-cris.h' > 'fault-linux-cris.h'
/* Fault handler information.  Linux/cris version.
   Copyright (C) 2002  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 <asm/sigcontext.h>

#define SIGSEGV_FAULT_HANDLER_ARGLIST  int sig, int r11, int r12, int r13, struct sigcontext sc
#define SIGSEGV_FAULT_CONTEXT  (&sc)
#define SIGSEGV_FAULT_STACKPOINTER  sc.usp
EOF-fault-linux-cris.h
echo - 'fault-linux-hppa.h'
cat << 'EOF-fault-linux-hppa.h' > 'fault-linux-hppa.h'
/* Fault handler information.  Linux/HPPA version.
   Copyright (C) 2002-2003  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 <ucontext.h>

#define SIGSEGV_FAULT_HANDLER_ARGLIST  int sig, siginfo_t *sip, void *ucp
#define SIGSEGV_FAULT_ADDRESS  sip->si_ptr
#define SIGSEGV_FAULT_ADDRESS_FROM_SIGINFO

#if 0
#define SIGSEGV_FAULT_CONTEXT  ((ucontext_t *) ucp)
#define SIGSEGV_FAULT_STACKPOINTER  ((ucontext_t *) ucp)->uc_mcontext.gregs.g_regs[30]
#endif
EOF-fault-linux-hppa.h
echo - 'fault-linux-i386-old.h'
cat << 'EOF-fault-linux-i386-old.h' > 'fault-linux-i386-old.h'
/* Fault handler information.  Linux/i386 version, supports old kernels.
   Copyright (C) 2002  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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.  */

/* Don't include <asm/sigcontext.h> here, because some older kernels don't
   have it or don't define `struct sigcontext' in it.  */
#define SIGSEGV_FAULT_HANDLER_ARGLIST  int sig, unsigned long more
#define SIGSEGV_FAULT_ADDRESS  ((unsigned long *) &more) [21]
#define SIGSEGV_FAULT_CONTEXT  ((struct sigcontext *) &more)
#define SIGSEGV_FAULT_STACKPOINTER  ((unsigned long *) &more) [7]
EOF-fault-linux-i386-old.h
echo - 'fault-linux-i386.h'
cat << 'EOF-fault-linux-i386.h' > 'fault-linux-i386.h'
/* Fault handler information.  Linux/i386 version.
   Copyright (C) 2002  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 SIGSEGV_FAULT_HANDLER_ARGLIST  int sig, struct sigcontext sc
#define SIGSEGV_FAULT_ADDRESS  sc.cr2
#define SIGSEGV_FAULT_CONTEXT  (&sc)
#define SIGSEGV_FAULT_STACKPOINTER  sc.esp /* same value as sc.esp_at_signal */
EOF-fault-linux-i386.h
echo - 'fault-linux-ia64.h'
cat << 'EOF-fault-linux-ia64.h' > 'fault-linux-ia64.h'
/* Fault handler information.  Linux/IA-64 version.
   Copyright (C) 2002-2003  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 SIGSEGV_FAULT_HANDLER_ARGLIST  int sig, siginfo_t *sip, struct sigcontext *scp
#define SIGSEGV_FAULT_ADDRESS  sip->si_addr
#define SIGSEGV_FAULT_CONTEXT  scp

/* IA-64 has two stack pointers, one that grows down, called $r12, and one
   that grows up, called $bsp/$bspstore.  */
#define SIGSEGV_FAULT_STACKPOINTER  scp->sc_gr[12]

/* It would be better to access $bspstore instead of $bsp but I don't know
   where to find it in 'struct sigcontext'.  Anyway, it doesn't matter
   because $bsp and $bspstore never differ by more than ca. 1 KB.  */
#define SIGSEGV_FAULT_BSP_POINTER  scp->sc_ar_bsp
EOF-fault-linux-ia64.h
echo - 'fault-linux-m68k.c'
cat << 'EOF-fault-linux-m68k.c' > 'fault-linux-m68k.c'
/* Fault handler information subroutine.  Linux/m68k version.
 * Taken from gcc-3.2/boehm-gc/os_dep.c.
 *
 * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
 * Copyright (c) 1991-1995 by Xerox Corporation.  All rights reserved.
 * Copyright (c) 1996-1999 by Silicon Graphics.  All rights reserved.
 * Copyright (c) 1999 by Hewlett-Packard Company.  All rights reserved.
 *
 * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
 * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
 *
 * Permission is hereby granted to use or copy this program
 * for any purpose,  provided the above notices are retained on all copies.
 * Permission to modify the code and to distribute modified code is granted,
 * provided the above notices are retained, and a notice that the code was
 * modified is included with the above copyright notice.
 */

static void *
get_fault_addr (struct sigcontext *scp)
{
  int format = (scp->sc_formatvec >> 12) & 0xf;
  unsigned long *framedata = (unsigned long *) (scp + 1);
  unsigned long ea;

  switch (format)
    {
    case 10: case 11: /* 68020/030 */
      ea = framedata[2];
      return (void *) ea;
    case 7: /* 68040 */
      ea = framedata[3];
      break;
    case 4: /* 68060 */
      ea = framedata[0];
      break;
    default:
      return (void *) 0;
    }
  if (framedata[1] & 0x08000000)
    /* Correct addr on misaligned access.  */
    ea = (ea + 4095) & ~4095;
  return (void *) ea;
}
EOF-fault-linux-m68k.c
echo - 'fault-linux-m68k.h'
cat << 'EOF-fault-linux-m68k.h' > 'fault-linux-m68k.h'
/* Fault handler information.  Linux/m68k version.
   Copyright (C) 2002  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 <asm/sigcontext.h>
#include "fault-linux-m68k.c"

#define SIGSEGV_FAULT_HANDLER_ARGLIST  int sig, int code, struct sigcontext *scp
#define SIGSEGV_FAULT_ADDRESS  (unsigned long) get_fault_addr (scp)
#define SIGSEGV_FAULT_CONTEXT  scp
#define SIGSEGV_FAULT_STACKPOINTER  scp->sc_usp
EOF-fault-linux-m68k.h
echo - 'fault-linux-mips.h'
cat << 'EOF-fault-linux-mips.h' > 'fault-linux-mips.h'
/* Fault handler information.  Linux/MIPS version
   Copyright (C) 2002  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 <asm/sigcontext.h>

#define SIGSEGV_FAULT_HANDLER_ARGLIST  int sig, int code, struct sigcontext *scp
#define SIGSEGV_FAULT_CONTEXT  scp
#define SIGSEGV_FAULT_STACKPOINTER  scp->sc_regs[29]
EOF-fault-linux-mips.h
echo - 'fault-linux-powerpc.h'
cat << 'EOF-fault-linux-powerpc.h' > 'fault-linux-powerpc.h'
/* Fault handler information.  Linux/PowerPC version.
   Copyright (C) 2002  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 <asm/sigcontext.h>

#define SIGSEGV_FAULT_HANDLER_ARGLIST  int sig, struct sigcontext *scp
#define SIGSEGV_FAULT_ADDRESS  scp->regs->dar
#define SIGSEGV_FAULT_CONTEXT  scp
#define SIGSEGV_FAULT_STACKPOINTER  scp->regs->gpr[1]
EOF-fault-linux-powerpc.h
echo - 'fault-linux-s390.h'
cat << 'EOF-fault-linux-s390.h' > 'fault-linux-s390.h'
/* Fault handler information.  Linux/S390 version.
   Copyright (C) 2002  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 <asm/sigcontext.h>

#define SIGSEGV_FAULT_HANDLER_ARGLIST  int sig, struct sigcontext *scp
#define SIGSEGV_FAULT_CONTEXT  scp
#define SIGSEGV_FAULT_STACKPOINTER  scp->sregs->regs.gprs[15]
EOF-fault-linux-s390.h
echo - 'fault-linux-sh.h'
cat << 'EOF-fault-linux-sh.h' > 'fault-linux-sh.h'
/* Fault handler information.  Linux/SH version.
   Copyright (C) 2002  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 <asm/sigcontext.h>

#define SIGSEGV_FAULT_HANDLER_ARGLIST  int sig, int r1, int r2, int r3, struct sigcontext sc
#define SIGSEGV_FAULT_CONTEXT  (&sc)
#define SIGSEGV_FAULT_STACKPOINTER  sc.sc_regs[15]
EOF-fault-linux-sh.h
echo - 'fault-linux-sparc.h'
cat << 'EOF-fault-linux-sparc.h' > 'fault-linux-sparc.h'
/* Fault handler information.  Linux/SPARC version.
   Copyright (C) 2002  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 <asm/sigcontext.h>

#define SIGSEGV_FAULT_HANDLER_ARGLIST  int sig, int code, struct sigcontext *scp, void *addr /* FIXME */
#define SIGSEGV_FAULT_ADDRESS  addr  /* in case of SunOS4 signal frames */
#define SIGSEGV_FAULT_CONTEXT  scp
#define SIGSEGV_FAULT_STACKPOINTER  scp->sigc_sp /* FIXME: not scp->si_regs.u_regs[14] ? */
EOF-fault-linux-sparc.h
echo - 'fault-linux-x86_64.h'
cat << 'EOF-fault-linux-x86_64.h' > 'fault-linux-x86_64.h'
/* Fault handler information.  Linux/x86_64 version.
   Copyright (C) 2002  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 <asm/sigcontext.h>

#define SIGSEGV_FAULT_HANDLER_ARGLIST  int sig, struct sigcontext sc
#define SIGSEGV_FAULT_CONTEXT  (&sc)
#define SIGSEGV_FAULT_STACKPOINTER  sc.rsp
EOF-fault-linux-x86_64.h
echo - 'fault-linux.h'
cat << 'EOF-fault-linux.h' > 'fault-linux.h'
/* Fault handler information.  Linux stub version.
   Copyright (C) 2002  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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.  */

/* For SIGSEGV_FAULT_HANDLER_ARGLIST, see the definition of SIGCONTEXT in
   glibc/sysdeps/unix/sysv/linux/<cpu>/sigcontextinfo.h.  */

/* For SIGSEGV_FAULT_STACKPOINTER, see the definition of GET_STACK in
   glibc/sysdeps/unix/sysv/linux/<cpu>/sigcontextinfo.h.  */
EOF-fault-linux.h
echo - 'fault-macos-i386.h'
cat << 'EOF-fault-macos-i386.h' > 'fault-macos-i386.h'
/* Fault handler information.  MacOSX/i386 version.
   Copyright (C) 2003  Paolo Bonzini <bonzini@gnu.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 SIGSEGV_FAULT_HANDLER_ARGLIST  int sig, int code, struct sigcontext *scp
#define SIGSEGV_FAULT_CONTEXT  scp
#define SIGSEGV_FAULT_STACKPOINTER  scp->sc_esp
EOF-fault-macos-i386.h
echo - 'fault-macosdarwin5-powerpc.c'
cat << 'EOF-fault-macosdarwin5-powerpc.c' > 'fault-macosdarwin5-powerpc.c'
/* Fault handler information subroutine.  MacOSX/Darwin5/PowerPC version.
 * Taken from gcc-3.2/boehm-gc/os_dep.c.
 *
 * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
 * Copyright (c) 1991-1995 by Xerox Corporation.  All rights reserved.
 * Copyright (c) 1996-1999 by Silicon Graphics.  All rights reserved.
 * Copyright (c) 1999 by Hewlett-Packard Company.  All rights reserved.
 *
 * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
 * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
 *
 * Permission is hereby granted to use or copy this program
 * for any purpose,  provided the above notices are retained on all copies.
 * Permission to modify the code and to distribute modified code is granted,
 * provided the above notices are retained, and a notice that the code was
 * modified is included with the above copyright notice.
 */

/* Decodes the machine instruction which was responsible for the sending of the
   SIGBUS signal. Sadly this is the only way to find the faulting address
   because the signal handler doesn't get it directly from the kernel (although
   it is available on the Mach level, but dropped by the BSD personality before
   it calls our signal handler...)
   This code should be able to deal correctly with all PPCs starting from the
   601 up to and including the G4s (including Velocity Engine). */
#define EXTRACT_OP1(iw)     (((iw) & 0xFC000000) >> 26)
#define EXTRACT_OP2(iw)     (((iw) & 0x000007FE) >> 1)
#define EXTRACT_REGA(iw)    (((iw) & 0x001F0000) >> 16)
#define EXTRACT_REGB(iw)    (((iw) & 0x03E00000) >> 21)
#define EXTRACT_REGC(iw)    (((iw) & 0x0000F800) >> 11)
#define EXTRACT_DISP(iw)    ((short *) &(iw))[1]

static void *
get_fault_addr (struct sigcontext *scp)
{
  unsigned int instr = *((unsigned int *) scp->sc_ir);
  unsigned int *regs = &((unsigned int *) scp->sc_regs)[2];
  int disp = 0;
  int tmp;
  unsigned int baseA = 0;
  unsigned int baseB = 0;
  unsigned int addr;
  unsigned int alignmask = 0xFFFFFFFF;

  switch (EXTRACT_OP1 (instr))
    {
    case 38:   /* stb */
    case 39:   /* stbu */
    case 54:   /* stfd */
    case 55:   /* stfdu */
    case 52:   /* stfs */
    case 53:   /* stfsu */
    case 44:   /* sth */
    case 45:   /* sthu */
    case 47:   /* stmw */
    case 36:   /* stw */
    case 37:   /* stwu */
      tmp = EXTRACT_REGA (instr);
      if (tmp > 0)
	baseA = regs[tmp];
      disp = EXTRACT_DISP (instr);
      break;
    case 31:
      switch (EXTRACT_OP2 (instr))
	{
	case 86:    /* dcbf */
	case 54:    /* dcbst */
	case 1014:  /* dcbz */
	case 247:   /* stbux */
	case 215:   /* stbx */
	case 759:   /* stfdux */
	case 727:   /* stfdx */
	case 983:   /* stfiwx */
	case 695:   /* stfsux */
	case 663:   /* stfsx */
	case 918:   /* sthbrx */
	case 439:   /* sthux */
	case 407:   /* sthx */
	case 661:   /* stswx */
	case 662:   /* stwbrx */
	case 150:   /* stwcx. */
	case 183:   /* stwux */
	case 151:   /* stwx */
	case 135:   /* stvebx */
	case 167:   /* stvehx */
	case 199:   /* stvewx */
	case 231:   /* stvx */
	case 487:   /* stvxl */
	  tmp = EXTRACT_REGA (instr);
	  if (tmp > 0)
	    baseA = regs[tmp];
	  baseB = regs[EXTRACT_REGC (instr)];
	  /* Determine Altivec alignment mask.  */
	  switch (EXTRACT_OP2 (instr))
	    {
	    case 167:   /* stvehx */
	      alignmask = 0xFFFFFFFE;
	      break;
	    case 199:   /* stvewx */
	      alignmask = 0xFFFFFFFC;
	      break;
	    case 231:   /* stvx */
	    case 487:   /* stvxl */
	      alignmask = 0xFFFFFFF0;
	      break;
	    }
	  break;
	case 725:   /* stswi */
	  tmp = EXTRACT_REGA (instr);
	  if (tmp > 0)
	    baseA = regs[tmp];
	  break;
	default:   /* ignore instruction */
	  return (void *) 0;
	}
      break;
    default:   /* ignore instruction */
      return (void *) 0;
  }

  addr = (baseA + baseB) + disp;
  addr &= alignmask;
  return (void *) addr;
}
EOF-fault-macosdarwin5-powerpc.c
echo - 'fault-macosdarwin5-powerpc.h'
cat << 'EOF-fault-macosdarwin5-powerpc.h' > 'fault-macosdarwin5-powerpc.h'
/* Fault handler information.  MacOSX/Darwin5/PowerPC version.
   Copyright (C) 2002-2004  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 "fault-macosdarwin5-powerpc.c"

#define SIGSEGV_FAULT_HANDLER_ARGLIST  int sig, int code, struct sigcontext *scp
#define SIGSEGV_FAULT_ADDRESS  (unsigned long) get_fault_addr (scp)
#define SIGSEGV_FAULT_CONTEXT  scp
#if 0
#define SIGSEGV_FAULT_STACKPOINTER  (&((unsigned int *) scp->sc_regs)[2])[1]
#endif
#define SIGSEGV_FAULT_STACKPOINTER  (scp->sc_regs ? ((unsigned int *) scp->sc_regs)[3] : scp->sc_sp)
EOF-fault-macosdarwin5-powerpc.h
echo - 'fault-macosdarwin7-powerpc.c'
cat << 'EOF-fault-macosdarwin7-powerpc.c' > 'fault-macosdarwin7-powerpc.c'
/* Fault handler information subroutine.  MacOSX/Darwin7/PowerPC version.
 * Taken from gcc-3.2/boehm-gc/os_dep.c.
 *
 * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
 * Copyright (c) 1991-1995 by Xerox Corporation.  All rights reserved.
 * Copyright (c) 1996-1999 by Silicon Graphics.  All rights reserved.
 * Copyright (c) 1999 by Hewlett-Packard Company.  All rights reserved.
 *
 * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
 * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
 *
 * Permission is hereby granted to use or copy this program
 * for any purpose,  provided the above notices are retained on all copies.
 * Permission to modify the code and to distribute modified code is granted,
 * provided the above notices are retained, and a notice that the code was
 * modified is included with the above copyright notice.
 */

#include <ucontext.h>

/* Decodes the machine instruction which was responsible for the sending of the
   SIGBUS signal. Sadly this is the only way to find the faulting address
   because the signal handler doesn't get it directly from the kernel (although
   it is available on the Mach level, but dropped by the BSD personality before
   it calls our signal handler...)
   This code should be able to deal correctly with all PPCs starting from the
   601 up to and including the G4s (including Velocity Engine). */
#define EXTRACT_OP1(iw)     (((iw) & 0xFC000000) >> 26)
#define EXTRACT_OP2(iw)     (((iw) & 0x000007FE) >> 1)
#define EXTRACT_REGA(iw)    (((iw) & 0x001F0000) >> 16)
#define EXTRACT_REGB(iw)    (((iw) & 0x03E00000) >> 21)
#define EXTRACT_REGC(iw)    (((iw) & 0x0000F800) >> 11)
#define EXTRACT_DISP(iw)    ((short *) &(iw))[1]

static void *
get_fault_addr (siginfo_t *sip, ucontext_t *ucp)
{
  unsigned int instr = *(unsigned int *) sip->si_addr;
  unsigned int *regs =
#if __DARWIN_UNIX03
    &ucp->uc_mcontext->ss.__r0; /* r0..r31 */
#else
    &ucp->uc_mcontext->ss.r0; /* r0..r31 */
#endif
  int disp = 0;
  int tmp;
  unsigned int baseA = 0;
  unsigned int baseB = 0;
  unsigned int addr;
  unsigned int alignmask = 0xFFFFFFFF;

  switch (EXTRACT_OP1 (instr))
    {
    case 38:   /* stb */
    case 39:   /* stbu */
    case 54:   /* stfd */
    case 55:   /* stfdu */
    case 52:   /* stfs */
    case 53:   /* stfsu */
    case 44:   /* sth */
    case 45:   /* sthu */
    case 47:   /* stmw */
    case 36:   /* stw */
    case 37:   /* stwu */
      tmp = EXTRACT_REGA (instr);
      if (tmp > 0)
	baseA = regs[tmp];
      disp = EXTRACT_DISP (instr);
      break;
    case 31:
      switch (EXTRACT_OP2 (instr))
	{
	case 86:    /* dcbf */
	case 54:    /* dcbst */
	case 1014:  /* dcbz */
	case 247:   /* stbux */
	case 215:   /* stbx */
	case 759:   /* stfdux */
	case 727:   /* stfdx */
	case 983:   /* stfiwx */
	case 695:   /* stfsux */
	case 663:   /* stfsx */
	case 918:   /* sthbrx */
	case 439:   /* sthux */
	case 407:   /* sthx */
	case 661:   /* stswx */
	case 662:   /* stwbrx */
	case 150:   /* stwcx. */
	case 183:   /* stwux */
	case 151:   /* stwx */
	case 135:   /* stvebx */
	case 167:   /* stvehx */
	case 199:   /* stvewx */
	case 231:   /* stvx */
	case 487:   /* stvxl */
	  tmp = EXTRACT_REGA (instr);
	  if (tmp > 0)
	    baseA = regs[tmp];
	  baseB = regs[EXTRACT_REGC (instr)];
	  /* Determine Altivec alignment mask.  */
	  switch (EXTRACT_OP2 (instr))
	    {
	    case 167:   /* stvehx */
	      alignmask = 0xFFFFFFFE;
	      break;
	    case 199:   /* stvewx */
	      alignmask = 0xFFFFFFFC;
	      break;
	    case 231:   /* stvx */
	    case 487:   /* stvxl */
	      alignmask = 0xFFFFFFF0;
	      break;
	    }
	  break;
	case 725:   /* stswi */
	  tmp = EXTRACT_REGA (instr);
	  if (tmp > 0)
	    baseA = regs[tmp];
	  break;
	default:   /* ignore instruction */
	  return (void *) 0;
	}
      break;
    default:   /* ignore instruction */
      return (void *) 0;
  }

  addr = (baseA + baseB) + disp;
  addr &= alignmask;
  return (void *) addr;
}
EOF-fault-macosdarwin7-powerpc.c
echo - 'fault-macosdarwin7-powerpc.h'
cat << 'EOF-fault-macosdarwin7-powerpc.h' > 'fault-macosdarwin7-powerpc.h'
/* Fault handler information.  MacOSX/Darwin7/PowerPC version.
   Copyright (C) 2002-2004, 2007  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 "fault-macosdarwin7-powerpc.c"

#define SIGSEGV_FAULT_HANDLER_ARGLIST  int sig, siginfo_t *sip, ucontext_t *ucp
#define SIGSEGV_FAULT_ADDRESS  (unsigned long) get_fault_addr (sip, ucp)
#define SIGSEGV_FAULT_CONTEXT  ucp
#define SIGSEGV_FAULT_ADDRESS_FROM_SIGINFO
#if __DARWIN_UNIX03
#define SIGSEGV_FAULT_STACKPOINTER  ucp->uc_mcontext->ss.__r1
#else
#define SIGSEGV_FAULT_STACKPOINTER  ucp->uc_mcontext->ss.r1
#endif
EOF-fault-macosdarwin7-powerpc.h
echo - 'fault-netbsd-alpha.c'
cat << 'EOF-fault-netbsd-alpha.c' > 'fault-netbsd-alpha.c'
/* Fault handler information subroutine.  NetBSD/Alpha version.
 * Taken from gcc-3.3/boehm-gc/os_dep.c.
 *
 * Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
 * Copyright (c) 1991-1995 by Xerox Corporation.  All rights reserved.
 * Copyright (c) 1996-1999 by Silicon Graphics.  All rights reserved.
 * Copyright (c) 1999 by Hewlett-Packard Company.  All rights reserved.
 *
 * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
 * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
 *
 * Permission is hereby granted to use or copy this program
 * for any purpose,  provided the above notices are retained on all copies.
 * Permission to modify the code and to distribute modified code is granted,
 * provided the above notices are retained, and a notice that the code was
 * modified is included with the above copyright notice.
 */

/* Decodes the machine instruction which was responsible for the sending of the
   SIGBUS signal.  Luckily this is much easier than, say, on the PowerPC.  */

static void *
get_fault_addr (struct sigcontext *scp)
{
  unsigned int instr = *((unsigned int *)(scp->sc_pc));
  unsigned long faultaddr;

  /* Instructions which access memory have operands of the form ARG_MEM or
     ARG_FMEM, consisting of
       - a base register specification (PRB) in bits 20..16,
       - a memory displacement (MDISP) in bits 15..0,
       - an general register specification (RA) or a floating-point register
         specification (FA) in bits 25..21.
     See binutils-2.13.90.0.16/opcodes/alpha-opc.c.  */

  faultaddr = scp->sc_regs[(instr >> 16) & 0x1f];
  faultaddr += (unsigned long) (long) (((int)instr << 16) >> 16);
  return (void *) faultaddr;
}
EOF-fault-netbsd-alpha.c
echo - 'fault-netbsd-alpha.h'
cat << 'EOF-fault-netbsd-alpha.h' > 'fault-netbsd-alpha.h'
/* Fault handler information.  NetBSD/Alpha version.
   Copyright (C) 2003  Paolo Bonzini <bonzini@gnu.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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.  */

/* NetBSD's sc_sp field depends on machine/reg.h's definition of R_SP.  */
#include <machine/reg.h>

#include "fault-netbsd-alpha.c"

#define SIGSEGV_FAULT_HANDLER_ARGLIST  int sig, int code, struct sigcontext *scp
#define SIGSEGV_FAULT_ADDRESS  ((unsigned long) get_fault_addr (scp))
#define SIGSEGV_FAULT_CONTEXT  scp
#define SIGSEGV_FAULT_STACKPOINTER  ((unsigned int *) scp->sc_sp)
EOF-fault-netbsd-alpha.h
echo - 'fault-netbsd.h'
cat << 'EOF-fault-netbsd.h' > 'fault-netbsd.h'
/* Fault handler information.  NetBSD version.
   Copyright (C) 2006, 2009  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 "fault-posix-ucontext.h"

/* _UC_MACHINE_SP is a platform independent macro.
   Defined in <machine/mcontext.h>, see
     http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/arch/$arch/include/mcontext.h
   Supported on alpha, amd64, i386, ia64, m68k, mips, powerpc, sparc since
   NetBSD 2.0.
   On i386, _UC_MACHINE_SP is the same as ->uc_mcontext.__gregs[_REG_UESP],
   and apparently the same value as       ->uc_mcontext.__gregs[_REG_ESP]. */
#ifdef _UC_MACHINE_SP
#define SIGSEGV_FAULT_STACKPOINTER  _UC_MACHINE_SP ((ucontext_t *) ucp)
#endif
EOF-fault-netbsd.h
echo - 'fault-none.h'
cat << 'EOF-fault-none.h' > 'fault-none.h'
/* Fault handler information.  Version for platforms lacking support,
   or with a self-contained handler.c.
   Copyright (C) 2002  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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.  */
EOF-fault-none.h
echo - 'fault-openbsd-i386.h'
cat << 'EOF-fault-openbsd-i386.h' > 'fault-openbsd-i386.h'
/* Fault handler information.  OpenBSD/i386 version.
   Copyright (C) 2003  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 "fault-openbsd.h"

#define SIGSEGV_FAULT_STACKPOINTER  scp->sc_esp
EOF-fault-openbsd-i386.h
echo - 'fault-openbsd.h'
cat << 'EOF-fault-openbsd.h' > 'fault-openbsd.h'
/* Fault handler information.  OpenBSD version.
   Copyright (C) 2003  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 SIGSEGV_FAULT_HANDLER_ARGLIST  int sig, siginfo_t *sip, struct sigcontext *scp
#define SIGSEGV_FAULT_ADDRESS  sip->si_addr
#define SIGSEGV_FAULT_CONTEXT  scp
#define SIGSEGV_FAULT_ADDRESS_FROM_SIGINFO
EOF-fault-openbsd.h
echo - 'fault-osf-alpha.h'
cat << 'EOF-fault-osf-alpha.h' > 'fault-osf-alpha.h'
/* Fault handler information.  OSF/1 Alpha version.
   Copyright (C) 2002  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 "fault-osf.h"

#define SIGSEGV_FAULT_ADDRESS  scp->sc_traparg_a0
#define SIGSEGV_FAULT_STACKPOINTER  scp->sc_regs[30]
EOF-fault-osf-alpha.h
echo - 'fault-osf.h'
cat << 'EOF-fault-osf.h' > 'fault-osf.h'
/* Fault handler information.  OSF/1 version.
   Copyright (C) 2002  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 SIGSEGV_FAULT_HANDLER_ARGLIST  int sig, int code, struct sigcontext *scp
#define SIGSEGV_FAULT_CONTEXT  scp
EOF-fault-osf.h
echo - 'fault-posix-ucontext.h'
cat << 'EOF-fault-posix-ucontext.h' > 'fault-posix-ucontext.h'
/* Fault handler information.  POSIX:2001 (= SUSV3 = XPG 6) version.
   Copyright (C) 2002  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 <ucontext.h>

#define SIGSEGV_FAULT_HANDLER_ARGLIST  int sig, siginfo_t *sip, void *ucp
#define SIGSEGV_FAULT_ADDRESS  sip->si_addr
#define SIGSEGV_FAULT_CONTEXT  ((ucontext_t *) ucp)
#define SIGSEGV_FAULT_ADDRESS_FROM_SIGINFO
EOF-fault-posix-ucontext.h
echo - 'fault-posix.h'
cat << 'EOF-fault-posix.h' > 'fault-posix.h'
/* Fault handler information.  POSIX:2008 (XPG 7) version.
   Copyright (C) 2002, 2009  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 SIGSEGV_FAULT_HANDLER_ARGLIST  int sig, siginfo_t *sip, void *context
#define SIGSEGV_FAULT_ADDRESS  sip->si_addr
#define SIGSEGV_FAULT_CONTEXT  context
#define SIGSEGV_FAULT_ADDRESS_FROM_SIGINFO
EOF-fault-posix.h
echo - 'fault-solaris-i386.h'
cat << 'EOF-fault-solaris-i386.h' > 'fault-solaris-i386.h'
/* Fault handler information.  Solaris/i386 version.
   Copyright (C) 2002  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 "fault-solaris.h"

#define SIGSEGV_FAULT_STACKPOINTER  ((ucontext_t *) ucp)->uc_mcontext.gregs[ESP]
EOF-fault-solaris-i386.h
echo - 'fault-solaris-sparc.h'
cat << 'EOF-fault-solaris-sparc.h' > 'fault-solaris-sparc.h'
/* Fault handler information.  Solaris/SPARC version.
   Copyright (C) 2002  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 "fault-solaris.h"

#define SIGSEGV_FAULT_STACKPOINTER  ((ucontext_t *) ucp)->uc_mcontext.gregs[REG_O6]
EOF-fault-solaris-sparc.h
echo - 'fault-solaris.h'
cat << 'EOF-fault-solaris.h' > 'fault-solaris.h'
/* Fault handler information.  Solaris version.
   Copyright (C) 2002, 2009  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 "fault-posix-ucontext.h"
EOF-fault-solaris.h
echo - 'fault.h'
cat << 'EOF-fault.h' > 'fault.h'
/* Fault handler information.
   Copyright (C) 2002  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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.  */

/* The included file defines:

     SIGSEGV_FAULT_HANDLER_ARGLIST
          is the argument list for the actual fault handler.

     SIGSEGV_FAULT_ADDRESS
          is a macro for fetching the fault address.

   and if available (optional):

     SIGSEGV_FAULT_CONTEXT
          is a macro giving a pointer to the entire fault context (i.e.
          the register set etc.).

     SIGSEGV_FAULT_STACKPOINTER
          is a macro for fetching the stackpointer at the moment the fault
          occurred.
 */

#include CFG_FAULT
EOF-fault.h
echo - 'handler-macos.c'
cat << 'EOF-handler-macos.c' > 'handler-macos.c'
/* Fault handler information.  MacOSX version.
   Copyright (C) 1993-1999, 2002-2003, 2007-2008  Bruno Haible <bruno@clisp.org>
   Copyright (C) 2003  Paolo Bonzini <bonzini@gnu.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 "sigsegv.h"

#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <signal.h>
#if HAVE_SYS_SIGNAL_H
# include <sys/signal.h>
#endif

#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>

/* For MacOSX.  */
#ifndef SS_DISABLE
#define SS_DISABLE SA_DISABLE
#endif

/* In the header files of MacOS X >= 10.5, when compiling with flags that lead
   to __DARWIN_UNIX03=1 (see <sys/cdefs.h>), the register names are prefixed
   with '__'.  To test for MacOS X >= 10.5 versus < 10.5, we cannot use a
   predefined macro such as __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__
   because that does not change when a cross-compile via -isysroot is
   activated.  Instead use some macro defined inside the header files and which
   changed in 10.5, such as
     File                           Macro                            10.4  10.5
     <mach/machine/exception.h>     EXC_TYPES_COUNT                  10    11
     <mach/exception_types.h>       EXC_CRASH                        --    10
     <mach/mach_vm.h>               mach_vm_MSG_COUNT                18    19
     <mach/machine.h>               CPU_TYPE_ARM                     --    ...
     <mach/memory_object_control.h> memory_object_control_MSG_COUNT  11    12
     <mach/memory_object_types.h>   UPL_ABORT_REFERENCE              --    0x80
     <mach/message.h>               MACH_RCV_TRAILER_AV              --    8
     <mach/port.h>                  MACH_PORT_RIGHT_LABELH           --    ...
     <mach/thread_policy.h>         THREAD_AFFINITY_POLICY           --    4
     <mach/vm_region.h>             VM_REGION_SUBMAP_SHORT_INFO_COUNT_64   ...
 */
#if EXC_TYPES_COUNT >= 11
# define MacOS_X_10_5_HEADERS 1
#endif

#include "machfault.h"

/* The following sources were used as a *reference* for this exception handling
   code:
      1. Apple's mach/xnu documentation
      2. Timothy J. Wood's "Mach Exception Handlers 101" post to the
         omnigroup's macosx-dev list.
         www.omnigroup.com/mailman/archive/macosx-dev/2000-June/002030.html */

/* This is not defined in any header, although documented.  */

/* http://web.mit.edu/darwin/src/modules/xnu/osfmk/man/exc_server.html says:
   The exc_server function is the MIG generated server handling function
   to handle messages from the kernel relating to the occurrence of an
   exception in a thread. Such messages are delivered to the exception port
   set via thread_set_exception_ports or task_set_exception_ports. When an
   exception occurs in a thread, the thread sends an exception message to its
   exception port, blocking in the kernel waiting for the receipt of a reply.
   The exc_server function performs all necessary argument handling for this
   kernel message and calls catch_exception_raise, catch_exception_raise_state
   or catch_exception_raise_state_identity, which should handle the exception.
   If the called routine returns KERN_SUCCESS, a reply message will be sent,
   allowing the thread to continue from the point of the exception; otherwise,
   no reply message is sent and the called routine must have dealt with the
   exception thread directly.  */
extern boolean_t
       exc_server (mach_msg_header_t *request_msg,
                   mach_msg_header_t *reply_msg);


/* http://web.mit.edu/darwin/src/modules/xnu/osfmk/man/catch_exception_raise.html
   These functions are defined in this file, and called by exc_server.
   FIXME: What needs to be done when this code is put into a shared library? */
kern_return_t
catch_exception_raise (mach_port_t exception_port,
                       mach_port_t thread,
                       mach_port_t task,
                       exception_type_t exception,
                       exception_data_t code,
                       mach_msg_type_number_t code_count);
kern_return_t
catch_exception_raise_state (mach_port_t exception_port,
                             exception_type_t exception,
                             exception_data_t code,
                             mach_msg_type_number_t code_count,
                             thread_state_flavor_t *flavor,
                             thread_state_t in_state,
                             mach_msg_type_number_t in_state_count,
                             thread_state_t out_state,
                             mach_msg_type_number_t *out_state_count);
kern_return_t
catch_exception_raise_state_identity (mach_port_t exception_port,
                                      mach_port_t thread,
                                      mach_port_t task,
                                      exception_type_t exception,
                                      exception_data_t code,
                                      mach_msg_type_number_t codeCnt,
                                      thread_state_flavor_t *flavor,
                                      thread_state_t in_state,
                                      mach_msg_type_number_t in_state_count,
                                      thread_state_t out_state,
                                      mach_msg_type_number_t *out_state_count);


/* Our exception thread.  */
static mach_port_t our_exception_thread;

/* The exception port on which our thread listens.  */
static mach_port_t our_exception_port;


/* mach_initialize() status:
   0: not yet called
   1: called and succeeded
   -1: called and failed  */
static int mach_initialized = 0;

/* Communication area for the exception state and thread state.  */
static SIGSEGV_THREAD_STATE_TYPE save_thread_state;

/* Check for reentrant signals.  */
static int emergency = -1;

/* User's stack overflow handler.  */
static stackoverflow_handler_t stk_user_handler = (stackoverflow_handler_t)NULL;
static unsigned long stk_extra_stack;
static unsigned long stk_extra_stack_size;

/* User's fault handler.  */
static sigsegv_handler_t user_handler = (sigsegv_handler_t)NULL;

/* Thread that signalled the exception.  Only set while user_handler is being
   invoked.  */
static mach_port_t signalled_thread = (mach_port_t) 0;

/* A handler that is called in the faulting thread.  It terminates the thread.  */
static void
terminating_handler ()
{
  /* Dump core.  */
  raise (SIGSEGV);

  /* Seriously.  */
  abort ();
}

/* A handler that is called in the faulting thread, on an alternate stack.
   It calls the user installed stack overflow handler.  */
static void
altstack_handler ()
{
  /* We arrive here when the user refused to handle a fault.  */

  /* Check if it is plausibly a stack overflow, and the user installed
     a stack overflow handler.  */
  if (stk_user_handler)
    {
      emergency++;
      /* Call user's handler.  */
      (*stk_user_handler) (emergency, &save_thread_state);
    }

  /* Else, terminate the thread.  */
  terminating_handler ();
}


/* Handle an exception by invoking the user's fault handler and/or forwarding
   the duty to the previously installed handlers.  */
kern_return_t
catch_exception_raise (mach_port_t exception_port,
                       mach_port_t thread,
                       mach_port_t task,
                       exception_type_t exception,
                       exception_data_t code,
                       mach_msg_type_number_t code_count)
{
#ifdef SIGSEGV_EXC_STATE_TYPE
  SIGSEGV_EXC_STATE_TYPE exc_state;
#endif
  SIGSEGV_THREAD_STATE_TYPE thread_state;
  mach_msg_type_number_t state_count;
  unsigned long addr;
  unsigned long sp;

#ifdef DEBUG_EXCEPTION_HANDLING
  fprintf (stderr, "Exception: 0x%x Code: 0x%x 0x%x in catch....\n",
           exception,
           code_count > 0 ? code[0] : -1,
           code_count > 1 ? code[1] : -1);
#endif

  /* See http://web.mit.edu/darwin/src/modules/xnu/osfmk/man/thread_get_state.html.  */
#ifdef SIGSEGV_EXC_STATE_TYPE
  state_count = SIGSEGV_EXC_STATE_COUNT;
  if (thread_get_state (thread, SIGSEGV_EXC_STATE_FLAVOR,
                        (void *) &exc_state, &state_count)
      != KERN_SUCCESS)
    {
      /* The thread is supposed to be suspended while the exception handler
         is called. This shouldn't fail. */
#ifdef DEBUG_EXCEPTION_HANDLING
      fprintf (stderr, "thread_get_state failed for exception state\n");
#endif
      return KERN_FAILURE;
    }
#endif

  state_count = SIGSEGV_THREAD_STATE_COUNT;
  if (thread_get_state (thread, SIGSEGV_THREAD_STATE_FLAVOR,
                        (void *) &thread_state, &state_count)
      != KERN_SUCCESS)
    {
      /* The thread is supposed to be suspended while the exception handler
         is called. This shouldn't fail. */
#ifdef DEBUG_EXCEPTION_HANDLING
      fprintf (stderr, "thread_get_state failed for thread state\n");
#endif
      return KERN_FAILURE;
    }

  addr = (unsigned long) (SIGSEGV_FAULT_ADDRESS (thread_state, exc_state));
  sp = (unsigned long) (SIGSEGV_STACK_POINTER (thread_state));

  /* Got the thread's state. Now extract the address that caused the
     fault and invoke the user's handler.  */
  save_thread_state = thread_state;

  /* If the fault address is near the stack pointer, it's a stack overflow.
     Otherwise, treat it like a normal SIGSEGV.  */
  if (addr <= sp + 4096 && sp <= addr + 4096)
    {
      unsigned long new_safe_esp;
#ifdef DEBUG_EXCEPTION_HANDLING
      fprintf (stderr, "Treating as stack overflow, sp = 0x%lx\n", (char *) sp);
#endif
      new_safe_esp =
#if STACK_DIRECTION < 0
        stk_extra_stack + stk_extra_stack_size - 256;
#else
        stk_extra_stack + 256;
#endif
#if defined __x86_64__ || defined __i386__
      new_safe_esp &= -16; /* align */
      new_safe_esp -= sizeof (void *); /* make room for (unused) return address slot */
#endif
      SIGSEGV_STACK_POINTER (thread_state) = new_safe_esp;
      /* Continue handling this fault in the faulting thread.  (We cannot longjmp while
         in the exception handling thread, so we need to mimic what signals do!)  */
      SIGSEGV_PROGRAM_COUNTER (thread_state) = (unsigned long) altstack_handler;
    }
  else
    {
      if (user_handler)
        {
          int done;
#ifdef DEBUG_EXCEPTION_HANDLING
          fprintf (stderr, "Calling user handler, addr = 0x%lx\n", (char *) addr);
#endif
          signalled_thread = thread;
          done = (*user_handler) ((void *) addr, 1);
          signalled_thread = (mach_port_t) 0;
#ifdef DEBUG_EXCEPTION_HANDLING
          fprintf (stderr, "Back from user handler\n");
#endif
          if (done)
            return KERN_SUCCESS;
        }
      SIGSEGV_PROGRAM_COUNTER (thread_state) = (unsigned long) terminating_handler;
    }

  /* See http://web.mit.edu/darwin/src/modules/xnu/osfmk/man/thread_set_state.html.  */
  if (thread_set_state (thread, SIGSEGV_THREAD_STATE_FLAVOR,
                        (void *) &thread_state, state_count)
      != KERN_SUCCESS)
    {
#ifdef DEBUG_EXCEPTION_HANDLING
      fprintf (stderr, "thread_set_state failed for altstack state\n");
#endif
      return KERN_FAILURE;
    }
  return KERN_SUCCESS;
}


/* The main function of the thread listening for exceptions.  */
static void *
mach_exception_thread (void *arg)
{
  /* See http://web.mit.edu/darwin/src/modules/xnu/osfmk/man/mach_thread_self.html.  */
  our_exception_thread = mach_thread_self ();

  for (;;)
    {
      /* These two structures contain some private kernel data. We don't need
         to access any of it so we don't bother defining a proper struct. The
         correct definitions are in the xnu source code. */
      /* Buffer for a message to be received.  */
      struct
        {
          mach_msg_header_t head;
          mach_msg_body_t msgh_body;
          char data[1024];
        }
        msg;
      /* Buffer for a reply message.  */
      struct
        {
          mach_msg_header_t head;
          char data[1024];
        }
        reply;

      mach_msg_return_t retval;

#ifdef DEBUG_EXCEPTION_HANDLING
      fprintf (stderr, "Exception thread going to sleep\n");
#endif

      /* 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);
#ifdef DEBUG_EXCEPTION_HANDLING
      fprintf (stderr, "Exception thread woke up\n");
#endif
      if (retval != MACH_MSG_SUCCESS)
        {
#ifdef DEBUG_EXCEPTION_HANDLING
          fprintf (stderr, "mach_msg receive failed with %d %s\n",
                   (int) retval, mach_error_string (retval));
#endif
          abort ();
        }

      /* Handle the message: Call exc_server, which will call
         catch_exception_raise and produce a reply message.  */
#ifdef DEBUG_EXCEPTION_HANDLING
      fprintf (stderr, "Calling exc_server\n");
#endif
      exc_server (&msg.head, &reply.head);
#ifdef DEBUG_EXCEPTION_HANDLING
      fprintf (stderr, "Finished exc_server\n");
#endif

      /* Send the reply.  */
      if (mach_msg (&reply.head, MACH_SEND_MSG, reply.head.msgh_size,
                    0, MACH_PORT_NULL,
                    MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL)
          != MACH_MSG_SUCCESS)
        {
#ifdef DEBUG_EXCEPTION_HANDLING
          fprintf (stderr, "mach_msg send failed\n");
#endif
          abort ();
        }
#ifdef DEBUG_EXCEPTION_HANDLING
      fprintf (stderr, "Reply successful\n");
#endif
    }
}


/* Initialize the Mach exception handler thread.
   Return 0 if OK, -1 on error.  */
static int
mach_initialize ()
{
  mach_port_t self;
  exception_mask_t mask;
  pthread_attr_t attr;
  pthread_t thread;

  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)
    return -1;

  /* 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)
    return -1;

  /* The exceptions we want to catch.  Only EXC_BAD_ACCESS is interesting
     for us (see above in function catch_exception_raise).  */
  mask = EXC_MASK_BAD_ACCESS;

  /* Create the thread listening on the exception port.  */
  if (pthread_attr_init (&attr) != 0)
    return -1;
  if (pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED) != 0)
    return -1;
  if (pthread_create (&thread, &attr, mach_exception_thread, NULL) != 0)
    return -1;
  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.  */
  if (task_set_exception_ports (self, mask, our_exception_port,
                                EXCEPTION_DEFAULT, MACHINE_THREAD_STATE)
      != KERN_SUCCESS)
    return -1;

  return 0;
}


int
sigsegv_install_handler (sigsegv_handler_t handler)
{
  if (!mach_initialized)
    mach_initialized = (mach_initialize () >= 0 ? 1 : -1);
  if (mach_initialized < 0)
    return -1;

  user_handler = handler;

  return 0;
}

void
sigsegv_deinstall_handler (void)
{
  user_handler = (sigsegv_handler_t)NULL;
}

int
sigsegv_leave_handler (void (*continuation) (void*, void*, void*),
                       void* cont_arg1, void* cont_arg2, void* cont_arg3)
{
  emergency--;
  if (mach_thread_self () == our_exception_thread)
    {
      /* Inside user_handler invocation.  */
      mach_port_t thread;
      SIGSEGV_THREAD_STATE_TYPE thread_state;
      mach_msg_type_number_t state_count;

      thread = signalled_thread;
      if (thread == (mach_port_t) 0)
        {
          /* The variable signalled_thread was supposed to be set!  */
#ifdef DEBUG_EXCEPTION_HANDLING
          fprintf (stderr, "sigsegv_leave_handler: signalled_thread not set\n");
#endif
          return 0;
        }

      /* See http://web.mit.edu/darwin/src/modules/xnu/osfmk/man/thread_get_state.html.  */
      state_count = SIGSEGV_THREAD_STATE_COUNT;
      if (thread_get_state (thread, SIGSEGV_THREAD_STATE_FLAVOR,
                            (void *) &thread_state, &state_count)
          != KERN_SUCCESS)
        {
          /* The thread was supposed to be suspended!  */
#ifdef DEBUG_EXCEPTION_HANDLING
          fprintf (stderr, "sigsegv_leave_handler: thread_get_state failed for thread state\n");
#endif
          return 0;
        }

#if defined __ppc64__ || defined __ppc__ || defined __x86_64__
      /* Store arguments in registers.  */
      SIGSEGV_INTEGER_ARGUMENT_1 (thread_state) = (unsigned long) cont_arg1;
      SIGSEGV_INTEGER_ARGUMENT_2 (thread_state) = (unsigned long) cont_arg2;
      SIGSEGV_INTEGER_ARGUMENT_3 (thread_state) = (unsigned long) cont_arg3;
#endif
#if defined __x86_64__
      /* Align stack.  */
      {
        unsigned long new_esp = SIGSEGV_STACK_POINTER (thread_state);
        new_esp &= -16; /* align */
        new_esp -= sizeof (void *); *(void **)new_esp = SIGSEGV_FRAME_POINTER (thread_state); /* push %rbp */
        SIGSEGV_STACK_POINTER (thread_state) = new_esp;
        SIGSEGV_FRAME_POINTER (thread_state) = new_esp; /* mov %rsp,%rbp */
      }
#elif defined __i386__
      /* Push arguments onto the stack.  */
      {
        unsigned long new_esp = SIGSEGV_STACK_POINTER (thread_state);
        new_esp &= -16; /* align */
        new_esp -= sizeof (void *); /* unused room, alignment */
        new_esp -= sizeof (void *); *(void **)new_esp = cont_arg3;
        new_esp -= sizeof (void *); *(void **)new_esp = cont_arg2;
        new_esp -= sizeof (void *); *(void **)new_esp = cont_arg1;
        new_esp -= sizeof (void *); /* make room for (unused) return address slot */
        SIGSEGV_STACK_POINTER (thread_state) = new_esp;
      }
#endif
      /* Point program counter to continuation to be executed.  */
      SIGSEGV_PROGRAM_COUNTER (thread_state) = (unsigned long) continuation;

      /* See http://web.mit.edu/darwin/src/modules/xnu/osfmk/man/thread_set_state.html.  */
      if (thread_set_state (thread, SIGSEGV_THREAD_STATE_FLAVOR,
                            (void *) &thread_state, state_count)
          != KERN_SUCCESS)
        {
#ifdef DEBUG_EXCEPTION_HANDLING
          fprintf (stderr, "sigsegv_leave_handler: thread_set_state failed\n");
#endif
          return 0;
        }

      return 1;
    }
  else
    {
      /* Inside stk_user_handler invocation.  Stay in the same thread.  */
      (*continuation) (cont_arg1, cont_arg2, cont_arg3);
      return 1;
    }
}

int
stackoverflow_install_handler (stackoverflow_handler_t handler,
                               void *extra_stack, unsigned long extra_stack_size)
{
  if (!mach_initialized)
    mach_initialized = (mach_initialize () >= 0 ? 1 : -1);
  if (mach_initialized < 0)
    return -1;

  stk_user_handler = handler;
  stk_extra_stack = (unsigned long) extra_stack;
  stk_extra_stack_size = extra_stack_size;
  return 0;
}

void
stackoverflow_deinstall_handler (void)
{
  stk_user_handler = (stackoverflow_handler_t) NULL;
}
EOF-handler-macos.c
echo - 'handler-none.c'
cat << 'EOF-handler-none.c' > 'handler-none.c'
/* Fault handler information.
   Copyright (C) 1993-1999, 2002, 2008  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 "sigsegv.h"

int
sigsegv_install_handler (sigsegv_handler_t handler)
{
  return -1;
}

void
sigsegv_deinstall_handler (void)
{
}

int
sigsegv_leave_handler (void (*continuation) (void*, void*, void*),
                       void* cont_arg1, void* cont_arg2, void* cont_arg3)
{
  (*continuation) (cont_arg1, cont_arg2, cont_arg3);
  return 1;
}

int
stackoverflow_install_handler (stackoverflow_handler_t handler,
                               void *extra_stack, unsigned long extra_stack_size)
{
  return -1;
}

void
stackoverflow_deinstall_handler (void)
{
}
EOF-handler-none.c
echo - 'handler-unix.c'
cat << 'EOF-handler-unix.c' > 'handler-unix.c'
/* Fault handler information.  Unix version.
   Copyright (C) 1993-1999, 2002-2003, 2006, 2008  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 "sigsegv.h"

/* On the average Unix platform, we define

   HAVE_SIGSEGV_RECOVERY
       if there is a fault-*.h include file which defines
       SIGSEGV_FAULT_HANDLER_ARGLIST and SIGSEGV_FAULT_ADDRESS.

   HAVE_STACK_OVERFLOW_RECOVERY
       if HAVE_SIGALTSTACK is set and
       at least two of the following are true:
       A) There is a fault-*.h include file which defines
          SIGSEGV_FAULT_HANDLER_ARGLIST and SIGSEGV_FAULT_ADDRESS.
       B) There is a fault-*.h include file which defines
          SIGSEGV_FAULT_HANDLER_ARGLIST and SIGSEGV_FAULT_STACKPOINTER.
       C) There is a stackvma-*.c, other than stackvma-none.c, which
          defines sigsegv_get_vma.

   Why? Obviously, to catch stack overflow, we need an alternate signal
   stack; this requires kernel support. But we also need to distinguish
   (with a reasonable confidence) a stack overflow from a regular SIGSEGV.
   If we have A) and B), we use the
     Heuristic AB: If the fault address is near the stack pointer, it's a
     stack overflow.
   If we have A) and C), we use the
     Heuristic AC: If the fault address is near and beyond the bottom of
     the stack's virtual memory area, it's a stack overflow.
   If we have B) and C), we use the
     Heuristic BC: If the stack pointer is near the bottom of the stack's
     virtual memory area, it's a stack overflow.
     This heuristic comes in two flavours: On OSes which let the stack's
     VMA grow continuously, we determine the bottom by use of getrlimit().
     On OSes which preallocate the stack's VMA with its maximum size
     (like BeOS), we use the stack's VMA directly.
 */

#include <stddef.h> /* needed for NULL on SunOS4 */
#include <stdlib.h>
#include <signal.h>
#if HAVE_SYS_SIGNAL_H
# include <sys/signal.h>
#endif
#include <errno.h>

/* For MacOSX.  */
#ifndef SS_DISABLE
#define SS_DISABLE SA_DISABLE
#endif

#include "fault.h"
#include CFG_SIGNALS

#if HAVE_STACK_OVERFLOW_RECOVERY

#include <stdio.h> /* perror */

#if HAVE_GETRLIMIT
# include <sys/types.h>
# include <sys/time.h>
# include <sys/resource.h> /* declares struct rlimit */
#endif

/* Platform dependent:
   Determine the virtual memory area of a given address.  */
#include "stackvma.h"

/* Platform dependent:
   Leaving a signal handler executing on the alternate stack.  */
#include "leave.h"

#if HAVE_STACKVMA

/* Address of the last byte belonging to the stack vma.  */
static unsigned long stack_top = 0;

/* Needs to be called once only.  */
static void
remember_stack_top (void *some_variable_on_stack)
{
  struct vma_struct vma;

  if (sigsegv_get_vma ((unsigned long) some_variable_on_stack, &vma) >= 0)
    stack_top = vma.end - 1;
}

#endif /* HAVE_STACKVMA */

static stackoverflow_handler_t stk_user_handler = (stackoverflow_handler_t)NULL;
static unsigned long stk_extra_stack;
static unsigned long stk_extra_stack_size;

#endif /* HAVE_STACK_OVERFLOW_RECOVERY */

#if HAVE_SIGSEGV_RECOVERY

/* User's SIGSEGV handler.  */
static sigsegv_handler_t user_handler = (sigsegv_handler_t)NULL;

#endif /* HAVE_SIGSEGV_RECOVERY */


/* Our SIGSEGV handler, with OS dependent argument list.  */

#if HAVE_SIGSEGV_RECOVERY

static void
sigsegv_handler (SIGSEGV_FAULT_HANDLER_ARGLIST)
{
  void *address = (void *) (SIGSEGV_FAULT_ADDRESS);

#if HAVE_STACK_OVERFLOW_RECOVERY
#if !(HAVE_STACKVMA || defined SIGSEGV_FAULT_STACKPOINTER)
#error "Insufficient heuristics for detecting a stack overflow.  Either define CFG_STACKVMA and HAVE_STACKVMA correctly, or define SIGSEGV_FAULT_STACKPOINTER correctly, or undefine HAVE_STACK_OVERFLOW_RECOVERY!"
#endif

  /* Call user's handler.  */
  if (user_handler && (*user_handler) (address, 0))
    {
      /* Handler successful.  */
    }
  else
    {
      /* Handler declined responsibility.  */

      /* Did the user install a stack overflow handler?  */
      if (stk_user_handler)
        {
          /* See whether it was a stack overflow. If so, longjump away.  */
#ifdef SIGSEGV_FAULT_STACKPOINTER
          unsigned long old_sp = (unsigned long) (SIGSEGV_FAULT_STACKPOINTER);
#ifdef __ia64
          unsigned long old_bsp = (unsigned long) (SIGSEGV_FAULT_BSP_POINTER);
#endif
#endif

#if HAVE_STACKVMA
          /* Were we able to determine the stack top?  */
          if (stack_top)
            {
              /* Determine stack bounds.  */
              int saved_errno;
              struct vma_struct vma;
              int ret;

              saved_errno = errno;
              ret = sigsegv_get_vma (stack_top, &vma);
              errno = saved_errno;
              if (ret >= 0)
                {
                  /* Heuristic AC: If the fault_address is nearer to the stack
                     segment's [start,end] than to the previous segment, we
                     consider it a stack overflow.
                     In the case of IA-64, we know that the previous segment
                     is the up-growing bsp segment, and either of the two
                     stacks can overflow.  */
                  unsigned long addr = (unsigned long) address;

#ifdef __ia64
                  if (addr >= vma.prev_end && addr <= vma.end - 1)
#else
#if STACK_DIRECTION < 0
                  if (addr >= vma.start
                      ? (addr <= vma.end - 1)
                      : vma.is_near_this (addr, &vma))
#else
                  if (addr <= vma.end - 1
                      ? (addr >= vma.start)
                      : vma.is_near_this (addr, &vma))
#endif
#endif
#else
          /* Heuristic AB: If the fault address is near the stack pointer,
             it's a stack overflow.  */
          unsigned long addr = (unsigned long) address;

          if ((addr <= old_sp + 4096 && old_sp <= addr + 4096)
#ifdef __ia64
              || (addr <= old_bsp + 4096 && old_bsp <= addr + 4096)
#endif
             )
            {
                {
#endif
                    {
#ifdef SIGSEGV_FAULT_STACKPOINTER
                      int emergency =
                        (old_sp >= stk_extra_stack
                         && old_sp <= stk_extra_stack + stk_extra_stack_size);
                      stackoverflow_context_t context = (SIGSEGV_FAULT_CONTEXT);
#else
                      int emergency = 0;
                      stackoverflow_context_t context = (void *) 0;
#endif
                      /* Call user's handler.  */
                      (*stk_user_handler) (emergency, context);
                    }
                }
            }
        }
#endif /* HAVE_STACK_OVERFLOW_RECOVERY */

      if (user_handler && (*user_handler) (address, 1))
        {
          /* Handler successful.  */
        }
      else
        {
          /* Handler declined responsibility for real.  */

          /* Remove ourselves and dump core.  */
          SIGSEGV_FOR_ALL_SIGNALS (sig, signal (sig, SIG_DFL);)
        }

#if HAVE_STACK_OVERFLOW_RECOVERY
    }
#endif /* HAVE_STACK_OVERFLOW_RECOVERY */
}

#elif HAVE_STACK_OVERFLOW_RECOVERY

static void
#ifdef SIGSEGV_FAULT_STACKPOINTER
sigsegv_handler (SIGSEGV_FAULT_HANDLER_ARGLIST)
#else
sigsegv_handler (int sig)
#endif
{
#if !((HAVE_GETRLIMIT && defined RLIMIT_STACK) || defined SIGSEGV_FAULT_STACKPOINTER)
#error "Insufficient heuristics for detecting a stack overflow.  Either define SIGSEGV_FAULT_STACKPOINTER correctly, or undefine HAVE_STACK_OVERFLOW_RECOVERY!"
#endif

  /* Did the user install a handler?  */
  if (stk_user_handler)
    {
      /* See whether it was a stack overflow.  If so, longjump away.  */
#ifdef SIGSEGV_FAULT_STACKPOINTER
      unsigned long old_sp = (unsigned long) (SIGSEGV_FAULT_STACKPOINTER);
#endif

      /* Were we able to determine the stack top?  */
      if (stack_top)
        {
          /* Determine stack bounds.  */
          int saved_errno;
          struct vma_struct vma;

          saved_errno = errno;
          if (sigsegv_get_vma (stack_top, &vma) >= 0)
            {
#if HAVE_GETRLIMIT && defined RLIMIT_STACK
              /* Heuristic BC: If the stack size has reached its maximal size,
                 and old_sp is near the low end, we consider it a stack
                 overflow.  */
              struct rlimit rl;

              if (getrlimit (RLIMIT_STACK, &rl) >= 0)
                {
                  unsigned long current_stack_size = vma.end - vma.start;
                  unsigned long max_stack_size = rl.rlim_cur;
                  if (current_stack_size <= max_stack_size + 4096
                      && max_stack_size <= current_stack_size + 4096
#else
                {
                  if (1
#endif
#ifdef SIGSEGV_FAULT_STACKPOINTER
                      /* Heuristic BC: If we know old_sp, and it is neither
                         near the low end, nor in the alternate stack, then
                         it's probably not a stack overflow.  */
                      && ((old_sp >= stk_extra_stack
                           && old_sp <= stk_extra_stack + stk_extra_stack_size)
#if STACK_DIRECTION < 0
                          || (old_sp <= vma.start + 4096
                              && vma.start <= old_sp + 4096))
#else
                          || (old_sp <= vma.end + 4096
                              && vma.end <= old_sp + 4096))
#endif
#endif
                     )
                    {
#ifdef SIGSEGV_FAULT_STACKPOINTER
                      int emergency =
                        (old_sp >= stk_extra_stack
                         && old_sp <= stk_extra_stack + stk_extra_stack_size);
                      stackoverflow_context_t context = (SIGSEGV_FAULT_CONTEXT);
#else
                      int emergency = 0;
                      stackoverflow_context_t context = (void *) 0;
#endif
                      /* Call user's handler.  */
                      (*stk_user_handler)(emergency,context);
                    }
                }
            }
          errno = saved_errno;
        }
    }

  /* Remove ourselves and dump core.  */
  SIGSEGV_FOR_ALL_SIGNALS (sig, signal (sig, SIG_DFL);)
}

#endif


static void
install_for (int sig)
{
  struct sigaction action;

#ifdef SIGSEGV_FAULT_ADDRESS_FROM_SIGINFO
  action.sa_sigaction = &sigsegv_handler;
#else
  action.sa_handler = (void (*) (int)) &sigsegv_handler;
#endif
  /* Block most signals while SIGSEGV is being handled.  */
  /* Signals SIGKILL, SIGSTOP cannot be blocked.  */
  /* Signals SIGCONT, SIGTSTP, SIGTTIN, SIGTTOU are not blocked because
     dealing with these signals seems dangerous.  */
  /* Signals SIGILL, SIGABRT, SIGFPE, SIGSEGV, SIGTRAP, SIGIOT, SIGEMT, SIGBUS,
     SIGSYS, SIGSTKFLT are not blocked because these are synchronous signals,
     which may require immediate intervention, otherwise the process may
     starve.  */
  sigemptyset (&action.sa_mask);
#ifdef SIGHUP
  sigaddset (&action.sa_mask,SIGHUP);
#endif
#ifdef SIGINT
  sigaddset (&action.sa_mask,SIGINT);
#endif
#ifdef SIGQUIT
  sigaddset (&action.sa_mask,SIGQUIT);
#endif
#ifdef SIGPIPE
  sigaddset (&action.sa_mask,SIGPIPE);
#endif
#ifdef SIGALRM
  sigaddset (&action.sa_mask,SIGALRM);
#endif
#ifdef SIGTERM
  sigaddset (&action.sa_mask,SIGTERM);
#endif
#ifdef SIGUSR1
  sigaddset (&action.sa_mask,SIGUSR1);
#endif
#ifdef SIGUSR2
  sigaddset (&action.sa_mask,SIGUSR2);
#endif
#ifdef SIGCHLD
  sigaddset (&action.sa_mask,SIGCHLD);
#endif
#ifdef SIGCLD
  sigaddset (&action.sa_mask,SIGCLD);
#endif
#ifdef SIGURG
  sigaddset (&action.sa_mask,SIGURG);
#endif
#ifdef SIGIO
  sigaddset (&action.sa_mask,SIGIO);
#endif
#ifdef SIGPOLL
  sigaddset (&action.sa_mask,SIGPOLL);
#endif
#ifdef SIGXCPU
  sigaddset (&action.sa_mask,SIGXCPU);
#endif
#ifdef SIGXFSZ
  sigaddset (&action.sa_mask,SIGXFSZ);
#endif
#ifdef SIGVTALRM
  sigaddset (&action.sa_mask,SIGVTALRM);
#endif
#ifdef SIGPROF
  sigaddset (&action.sa_mask,SIGPROF);
#endif
#ifdef SIGPWR
  sigaddset (&action.sa_mask,SIGPWR);
#endif
#ifdef SIGLOST
  sigaddset (&action.sa_mask,SIGLOST);
#endif
#ifdef SIGWINCH
  sigaddset (&action.sa_mask,SIGWINCH);
#endif
  /* Note that sigaction() implicitly adds sig itself to action.sa_mask.  */
  /* Ask the OS to provide a structure siginfo_t to the handler.  */
#ifdef SIGSEGV_FAULT_ADDRESS_FROM_SIGINFO
  action.sa_flags = SA_SIGINFO;
#else
  action.sa_flags = 0;
#endif
#if HAVE_STACK_OVERFLOW_RECOVERY && HAVE_SIGALTSTACK /* not BeOS */
  /* Work around Linux 2.2.5 bug: If SA_ONSTACK is specified but sigaltstack()
     has not been called, the kernel will busy loop, eating CPU time.  So
     avoid setting SA_ONSTACK until the user has requested stack overflow
     handling.  */
  if (stk_user_handler)
    action.sa_flags |= SA_ONSTACK;
#endif
  sigaction (sig, &action, (struct sigaction *) NULL);
}

int
sigsegv_install_handler (sigsegv_handler_t handler)
{
#if HAVE_SIGSEGV_RECOVERY
  user_handler = handler;

  SIGSEGV_FOR_ALL_SIGNALS (sig, install_for (sig);)

  return 0;
#else
  return -1;
#endif
}

void
sigsegv_deinstall_handler (void)
{
#if HAVE_SIGSEGV_RECOVERY
  user_handler = (sigsegv_handler_t)NULL;

#if HAVE_STACK_OVERFLOW_RECOVERY
  if (!stk_user_handler)
#endif
    {
      SIGSEGV_FOR_ALL_SIGNALS (sig, signal (sig, SIG_DFL);)
    }
#endif
}

int
sigsegv_leave_handler (void (*continuation) (void*, void*, void*),
                       void* cont_arg1, void* cont_arg2, void* cont_arg3)
{
#if HAVE_STACK_OVERFLOW_RECOVERY
  /*
   * Reset the system's knowledge that we are executing on the alternate
   * stack. If we didn't do that, siglongjmp would be needed instead of
   * longjmp to leave the signal handler.
   */
  sigsegv_reset_onstack_flag ();
#endif
  (*continuation) (cont_arg1, cont_arg2, cont_arg3);
  return 1;
}

int
stackoverflow_install_handler (stackoverflow_handler_t handler,
                               void *extra_stack, unsigned long extra_stack_size)
{
#if HAVE_STACK_OVERFLOW_RECOVERY
#if HAVE_STACKVMA
  if (!stack_top)
    {
      int dummy;
      remember_stack_top (&dummy);
      if (!stack_top)
        return -1;
    }
#endif

  stk_user_handler = handler;
  stk_extra_stack = (unsigned long) extra_stack;
  stk_extra_stack_size = extra_stack_size;
#ifdef __BEOS__
  set_signal_stack (extra_stack, extra_stack_size);
#else /* HAVE_SIGALTSTACK */
  {
    stack_t ss;
#if SIGALTSTACK_SS_REVERSED
    ss.ss_sp = (char *) extra_stack + extra_stack_size - sizeof (void *);
    ss.ss_size = extra_stack_size - sizeof (void *);
#else
    ss.ss_sp = extra_stack;
    ss.ss_size = extra_stack_size;
#endif
    ss.ss_flags = 0; /* no SS_DISABLE */
    if (sigaltstack (&ss, (stack_t*)0) < 0)
      return -1;
  }
#endif

  /* Install the signal handlers with SA_ONSTACK.  */
  SIGSEGV_FOR_ALL_SIGNALS (sig, install_for (sig);)
  return 0;
#else
  return -1;
#endif
}

void
stackoverflow_deinstall_handler (void)
{
#if HAVE_STACK_OVERFLOW_RECOVERY
  stk_user_handler = (stackoverflow_handler_t) NULL;

#if HAVE_SIGSEGV_RECOVERY
  if (user_handler)
    {
      /* Reinstall the signal handlers without SA_ONSTACK, to avoid Linux
         bug.  */
      SIGSEGV_FOR_ALL_SIGNALS (sig, install_for (sig);)
    }
  else
#endif
    {
      SIGSEGV_FOR_ALL_SIGNALS (sig, signal (sig, SIG_DFL);)
    }

#ifdef __BEOS__
  /* We cannot undo the effect of set_signal_stack.  */
  fprintf (stderr, "libsigsegv (stackoverflow_deinstall_handler): not supported on this platform\n");
#else /* HAVE_SIGALTSTACK */
  {
    stack_t ss;
    ss.ss_flags = SS_DISABLE;
    if (sigaltstack (&ss, (stack_t *) 0) < 0)
      perror ("libsigsegv (stackoverflow_deinstall_handler)");
  }
#endif

#endif
}
EOF-handler-unix.c
echo - 'handler-win32.c'
cat << 'EOF-handler-win32.c' > 'handler-win32.c'
/* Fault handler information.  Woe32 version.
   Copyright (C) 1993-1999, 2002-2003, 2007-2008  Bruno Haible <bruno@clisp.org>
   Copyright (C) 2003  Paolo Bonzini <bonzini@gnu.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 "sigsegv.h"

#define WIN32_LEAN_AND_MEAN /* avoid including junk */
#include <windows.h>
#include <winerror.h>
/*
 * extern LPTOP_LEVEL_EXCEPTION_FILTER SetUnhandledExceptionFilter (LPTOP_LEVEL_EXCEPTION_FILTER TopLevelExceptionFilter);
 * extern DWORD VirtualQuery (LPCVOID Address, PMEMORY_BASIC_INFORMATION Buffer, DWORD Length);
 * extern BOOL VirtualProtect (LPVOID Address, DWORD Size, DWORD NewProtect, PDWORD OldProtect);
 * extern DWORD GetLastError (void);
 */

/* User's SIGSEGV handler.  */
static sigsegv_handler_t user_handler = (sigsegv_handler_t) NULL;

/* Stack overflow handling is tricky:
   First, we must catch a STATUS_STACK_OVERFLOW exception. This is signalled
   when the guard page at the end of the stack has been touched. The operating
   system remaps the page with protection PAGE_READWRITE and only then calls
   our exception handler. Actually, it's even more complicated: The stack has
   the following layout:

           |                             |guard|----------stack-----------|

   and when the guard page is touched, the system maps it PAGE_READWRITE and
   allocates a new guard page below it:

           |                       |guard|-------------stack--------------|

   Only when no new guard page can be allocated (because the maximum stack
   size has been reached), will we see an exception.

           |guard|-------------------------stack--------------------------|

   Second, we must reinstall the guard page. Otherwise, on the next stack
   overflow, the application will simply crash (on WinNT: silently, on Win95:
   with an error message box and freezing the system).
   But since we don't know where %esp points to during the exception handling,
   we must first leave the exception handler, before we can restore the guard
   page. And %esp must be made to point to a reasonable value before we do
   this.

   Note: On WinNT, the guard page has protection PAGE_READWRITE|PAGE_GUARD.
   On Win95, which doesn't know PAGE_GUARD, it has protection PAGE_NOACCESS.
 */

static stackoverflow_handler_t stk_user_handler =
  (stackoverflow_handler_t) NULL;
static unsigned long stk_extra_stack;
static unsigned long stk_extra_stack_size;

static void
stack_overflow_handler (unsigned long faulting_page_address, stackoverflow_context_t context)
{
  MEMORY_BASIC_INFORMATION info;
  DWORD oldprot;
  unsigned long base;
  unsigned long address;

  /* First get stack's base address.  */
  if (VirtualQuery ((void*) faulting_page_address, &info, sizeof (info))
      != sizeof (info))
    goto failed;
  base = (unsigned long) info.AllocationBase;

  /* Now search for the first existing page.  */
  address = base;
  for (;;)
    {
      if (VirtualQuery ((void*) address, &info, sizeof (info)) != sizeof (info))
        goto failed;
      if (address != (unsigned long) info.BaseAddress)
       goto failed;
      if (info.State != MEM_FREE)
        {
          if ((unsigned long) info.AllocationBase != base)
            goto failed;
          if (info.State == MEM_COMMIT)
            break;
        }
      address = (unsigned long) info.BaseAddress + info.RegionSize;
    }

  /* Now add the PAGE_GUARD bit to the first existing page.  */
  /* On WinNT this works...  */
  if (VirtualProtect (info.BaseAddress, 0x1000, info.Protect | PAGE_GUARD,
                      &oldprot))
    goto ok;
  if (GetLastError () == ERROR_INVALID_PARAMETER)
    /* ... but on Win95 we need this:  */
    if (VirtualProtect (info.BaseAddress, 0x1000, PAGE_NOACCESS, &oldprot))
      goto ok;
 failed:
  for (;;)
    (*stk_user_handler) (1, context);
 ok:
  for (;;)
    (*stk_user_handler) (0, context);
}

/* This is the stack overflow and page fault handler.  */
static LONG WINAPI
main_exception_filter (EXCEPTION_POINTERS *ExceptionInfo)
{
  if ((stk_user_handler
       && ExceptionInfo->ExceptionRecord->ExceptionCode == STATUS_STACK_OVERFLOW
      )
      ||
      (user_handler != (sigsegv_handler_t)NULL
       && ExceptionInfo->ExceptionRecord->ExceptionCode == EXCEPTION_ACCESS_VIOLATION
     ))
    {
#if 0 /* for debugging only */
      printf ("Exception!\n");
      printf ("Code = 0x%x\n",
              ExceptionInfo->ExceptionRecord->ExceptionCode);
      printf ("Flags = 0x%x\n",
              ExceptionInfo->ExceptionRecord->ExceptionFlags);
      printf ("Address = 0x%x\n",
              ExceptionInfo->ExceptionRecord->ExceptionAddress);
      printf ("Params:");
      {
        DWORD i;
        for (i = 0; i < ExceptionInfo->ExceptionRecord->NumberParameters; i++)
          printf (" 0x%x,",
                  ExceptionInfo->ExceptionRecord->ExceptionInformation[i]);
      }
      printf ("\n");
      printf ("Registers:\n");
      printf ("eip = 0x%x\n", ExceptionInfo->ContextRecord->Eip);
      printf ("eax = 0x%x, ", ExceptionInfo->ContextRecord->Eax);
      printf ("ebx = 0x%x, ", ExceptionInfo->ContextRecord->Ebx);
      printf ("ecx = 0x%x, ", ExceptionInfo->ContextRecord->Ecx);
      printf ("edx = 0x%x\n", ExceptionInfo->ContextRecord->Edx);
      printf ("esi = 0x%x, ", ExceptionInfo->ContextRecord->Esi);
      printf ("edi = 0x%x, ", ExceptionInfo->ContextRecord->Edi);
      printf ("ebp = 0x%x, ", ExceptionInfo->ContextRecord->Ebp);
      printf ("esp = 0x%x\n", ExceptionInfo->ContextRecord->Esp);
#endif
      if (ExceptionInfo->ExceptionRecord->NumberParameters == 2)
        {
          if (stk_user_handler
              && ExceptionInfo->ExceptionRecord->ExceptionCode == STATUS_STACK_OVERFLOW)
            {
              char *address = (char *) ExceptionInfo->ExceptionRecord->ExceptionInformation[1];
              /* Restart the program, giving it a sane value for %esp.
                 At the same time, copy the contents of
                 ExceptionInfo->ContextRecord (which, on Windows XP, happens
                 to be allocated in the guard page, where it will be
                 inaccessible as soon as we restore the PAGE_GUARD bit!) to
                 this new stack.  */
              unsigned long faulting_page_address = (unsigned long)address & -0x1000;
              unsigned long new_safe_esp = ((stk_extra_stack + stk_extra_stack_size) & -16);
              CONTEXT *orig_context = ExceptionInfo->ContextRecord;
              CONTEXT *safe_context = (CONTEXT *) (new_safe_esp -= sizeof (CONTEXT)); /* make room */
              memcpy (safe_context, orig_context, sizeof (CONTEXT));
              new_safe_esp -= 8; /* make room for arguments */
              new_safe_esp &= -16; /* align */
              new_safe_esp -= 4; /* make room for (unused) return address slot */
              ExceptionInfo->ContextRecord->Esp = new_safe_esp;
              /* Call stack_overflow_handler(faulting_page_address,safe_context).  */
              ExceptionInfo->ContextRecord->Eip = (unsigned long)&stack_overflow_handler;
              *(unsigned long *)(new_safe_esp + 4) = faulting_page_address;
              *(unsigned long *)(new_safe_esp + 8) = (unsigned long) safe_context;
              return EXCEPTION_CONTINUE_EXECUTION;
            }
          if (user_handler != (sigsegv_handler_t) NULL
              && ExceptionInfo->ExceptionRecord->ExceptionCode == EXCEPTION_ACCESS_VIOLATION)
            {
              /* ExceptionInfo->ExceptionRecord->ExceptionInformation[0] is 1
                 if it's a write access, 0 if it's a read access. But we don't
                 need this info because we don't have it on Unix either.  */
              void *address = (void *) ExceptionInfo->ExceptionRecord->ExceptionInformation[1];
              if ((*user_handler) (address, 1))
                return EXCEPTION_CONTINUE_EXECUTION;
            }
        }
    }
  return EXCEPTION_CONTINUE_SEARCH;
}

#if defined __CYGWIN__ && defined __i386__

/* In Cygwin programs, SetUnhandledExceptionFilter has no effect because Cygwin
   installs a global exception handler.  We have to dig deep in order to install
   our main_exception_filter.  */

/* Data structures for the current thread's exception handler chain.
   On the x86 Windows uses register fs, offset 0 to point to the current
   exception handler; Cygwin mucks with it, so we must do the same... :-/ */

/* Magic taken from winsup/cygwin/include/exceptions.h.  */

struct exception_list
  {
    struct exception_list *prev;
    int (*handler) (EXCEPTION_RECORD *, void *, CONTEXT *, void *);
  };
typedef struct exception_list exception_list;

/* Magic taken from winsup/cygwin/exceptions.cc.  */

__asm__ (".equ __except_list,0");

extern exception_list *_except_list __asm__ ("%fs:__except_list");

/* For debugging.  _except_list is not otherwise accessible from gdb.  */
static exception_list *
debug_get_except_list ()
{
  return _except_list;
}

/* Cygwin's original exception handler.  */
static int (*cygwin_exception_handler) (EXCEPTION_RECORD *, void *, CONTEXT *, void *);

/* Our exception handler.  */
static int
libsigsegv_exception_handler (EXCEPTION_RECORD *exception, void *frame, CONTEXT *context, void *dispatch)
{
  EXCEPTION_POINTERS ExceptionInfo;
  ExceptionInfo.ExceptionRecord = exception;
  ExceptionInfo.ContextRecord = context;
  if (main_exception_filter (&ExceptionInfo) == EXCEPTION_CONTINUE_SEARCH)
    return cygwin_exception_handler (exception, frame, context, dispatch);
  else
    return 0;
}

static void
do_install_main_exception_filter ()
{
  /* We cannot insert any handler into the chain, because such handlers
     must lie on the stack (?).  Instead, we have to replace(!) Cygwin's
     global exception handler.  */
  cygwin_exception_handler = _except_list->handler;
  _except_list->handler = libsigsegv_exception_handler;
}

#else

static void
do_install_main_exception_filter ()
{
  SetUnhandledExceptionFilter ((LPTOP_LEVEL_EXCEPTION_FILTER) &main_exception_filter);
}

#endif

static void
install_main_exception_filter ()
{
  static int main_exception_filter_installed = 0;

  if (!main_exception_filter_installed)
    {
      do_install_main_exception_filter ();
      main_exception_filter_installed = 1;
    }
}

int
sigsegv_install_handler (sigsegv_handler_t handler)
{
  user_handler = handler;
  install_main_exception_filter ();
  return 0;
}

void
sigsegv_deinstall_handler (void)
{
  user_handler = (sigsegv_handler_t) NULL;
}

int
sigsegv_leave_handler (void (*continuation) (void*, void*, void*),
                       void* cont_arg1, void* cont_arg2, void* cont_arg3)
{
  (*continuation) (cont_arg1, cont_arg2, cont_arg3);
  return 1;
}

int
stackoverflow_install_handler (stackoverflow_handler_t handler,
                               void *extra_stack, unsigned long extra_stack_size)
{
  stk_user_handler = handler;
  stk_extra_stack = (unsigned long) extra_stack;
  stk_extra_stack_size = extra_stack_size;
  install_main_exception_filter ();
  return 0;
}

void
stackoverflow_deinstall_handler (void)
{
  stk_user_handler = (stackoverflow_handler_t) NULL;
}
EOF-handler-win32.c
echo - 'handler.c'
cat << 'EOF-handler.c' > 'handler.c'
/* Fault handler information.
   Copyright (C) 2002  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 CFG_HANDLER
EOF-handler.c
echo - 'leave-none.c'
cat << 'EOF-leave-none.c' > 'leave-none.c'
/* Leaving a signal handler executing on the alternate stack.
   Copyright (C) 2002  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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.  */

/* No need to define sigsegv_reset_onstack_flag() on this platform.  */
EOF-leave-none.c
echo - 'leave-nop.c'
cat << 'EOF-leave-nop.c' > 'leave-nop.c'
/* Leaving a signal handler executing on the alternate stack.
   Copyright (C) 2002  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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.  */

void
sigsegv_reset_onstack_flag (void)
{
  /* Nothing to do. sigaltstack() simply looks at the stack pointer,
     therefore SS_ONSTACK is not sticky.  */
}
EOF-leave-nop.c
echo - 'leave-setcontext.c'
cat << 'EOF-leave-setcontext.c' > 'leave-setcontext.c'
/* Leaving a signal handler executing on the alternate stack.
   Copyright (C) 2002  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 <signal.h>
#include <ucontext.h>

void
sigsegv_reset_onstack_flag (void)
{
  ucontext_t uc;

  if (getcontext (&uc) >= 0)
    /* getcontext returns twice.  We are interested in the returned context
       only the first time, i.e. when the SS_ONSTACK bit is set.  */
    if (uc.uc_stack.ss_flags & SS_ONSTACK)
      {
        uc.uc_stack.ss_flags &= ~SS_ONSTACK;
        /* Note that setcontext() does not refill uc.  Therefore if
           setcontext() keeps SS_ONSTACK set in the kernel, either
           setcontext() will return -1 or getcontext() will return a
           second time, with the SS_ONSTACK bit being cleared.  */
        setcontext (&uc);
      }
}
EOF-leave-setcontext.c
echo - 'leave-sigaltstack.c'
cat << 'EOF-leave-sigaltstack.c' > 'leave-sigaltstack.c'
/* Leaving a signal handler executing on the alternate stack.
   Copyright (C) 2002-2003  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 <stddef.h>
#include <signal.h>
#if HAVE_SYS_SIGNAL_H
# include <sys/signal.h>
#endif

/* For MacOSX.  */
#ifndef SS_ONSTACK
#define SS_ONSTACK SA_ONSTACK
#endif

void
sigsegv_reset_onstack_flag (void)
{
  stack_t ss;

  if (sigaltstack (NULL, &ss) >= 0)
    {
      ss.ss_flags &= ~SS_ONSTACK;
      sigaltstack (&ss, NULL);
    }
}
EOF-leave-sigaltstack.c
echo - 'leave.c'
cat << 'EOF-leave.c' > 'leave.c'
/* Leaving a signal handler executing on the alternate stack.
   Copyright (C) 2002  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 CFG_LEAVE
EOF-leave.c
echo - 'leave.h'
cat << 'EOF-leave.h' > 'leave.h'
/* Leaving a signal handler executing on the alternate stack.
   Copyright (C) 2002  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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.  */

extern void sigsegv_reset_onstack_flag (void);
EOF-leave.h
echo - 'machfault-macos.h'
cat << 'EOF-machfault-macos.h' > 'machfault-macos.h'
/* Fault handler information.  MacOSX version (both PowerPC and i386).
   Copyright (C) 2003-2004, 2006-2008  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 defined __ppc__ || defined __ppc64__

#if defined __ppc64__
/* 64 bit registers */

#define SIGSEGV_EXC_STATE_TYPE                      ppc_exception_state64_t
#define SIGSEGV_EXC_STATE_FLAVOR                    PPC_EXCEPTION_STATE64
#define SIGSEGV_EXC_STATE_COUNT                     PPC_EXCEPTION_STATE64_COUNT
#define SIGSEGV_THREAD_STATE_TYPE                   ppc_thread_state64_t
#define SIGSEGV_THREAD_STATE_FLAVOR                 PPC_THREAD_STATE64
#define SIGSEGV_THREAD_STATE_COUNT                  PPC_THREAD_STATE64_COUNT

#else
/* 32 bit registers */

#define SIGSEGV_EXC_STATE_TYPE                      ppc_exception_state_t
#define SIGSEGV_EXC_STATE_FLAVOR                    PPC_EXCEPTION_STATE
#define SIGSEGV_EXC_STATE_COUNT                     PPC_EXCEPTION_STATE_COUNT
#define SIGSEGV_THREAD_STATE_TYPE                   ppc_thread_state_t
#define SIGSEGV_THREAD_STATE_FLAVOR                 PPC_THREAD_STATE
#define SIGSEGV_THREAD_STATE_COUNT                  PPC_THREAD_STATE_COUNT

#endif

#if MacOS_X_10_5_HEADERS && __DARWIN_UNIX03
#define SIGSEGV_FAULT_ADDRESS(thr_state,exc_state)  (exc_state).__dar
#define SIGSEGV_STACK_POINTER(thr_state)            (thr_state).__r1
#define SIGSEGV_PROGRAM_COUNTER(thr_state)          (thr_state).__srr0
#define SIGSEGV_INTEGER_ARGUMENT_1(thr_state)       (thr_state).__r3
#define SIGSEGV_INTEGER_ARGUMENT_2(thr_state)       (thr_state).__r4
#define SIGSEGV_INTEGER_ARGUMENT_3(thr_state)       (thr_state).__r5
#else
#define SIGSEGV_FAULT_ADDRESS(thr_state,exc_state)  (exc_state).dar
#define SIGSEGV_STACK_POINTER(thr_state)            (thr_state).r1
#define SIGSEGV_PROGRAM_COUNTER(thr_state)          (thr_state).srr0
#define SIGSEGV_INTEGER_ARGUMENT_1(thr_state)       (thr_state).r3
#define SIGSEGV_INTEGER_ARGUMENT_2(thr_state)       (thr_state).r4
#define SIGSEGV_INTEGER_ARGUMENT_3(thr_state)       (thr_state).r5
#endif

#endif

#if defined __i386__ || defined __x86_64__

#if defined __x86_64__
/* 64 bit registers */

#define SIGSEGV_THREAD_STATE_TYPE                   x86_thread_state64_t
#define SIGSEGV_THREAD_STATE_FLAVOR                 x86_THREAD_STATE64
#define SIGSEGV_THREAD_STATE_COUNT                  x86_THREAD_STATE64_COUNT
#define SIGSEGV_EXC_STATE_TYPE                      x86_exception_state64_t
#define SIGSEGV_EXC_STATE_FLAVOR                    x86_EXCEPTION_STATE64
#define SIGSEGV_EXC_STATE_COUNT                     x86_EXCEPTION_STATE64_COUNT
#if MacOS_X_10_5_HEADERS && __DARWIN_UNIX03
#define SIGSEGV_FAULT_ADDRESS(thr_state,exc_state)  (exc_state).__faultvaddr
#define SIGSEGV_STACK_POINTER(thr_state)            (thr_state).__rsp
#define SIGSEGV_PROGRAM_COUNTER(thr_state)          (thr_state).__rip
#define SIGSEGV_FRAME_POINTER(thr_state)            (thr_state).__rbp
#define SIGSEGV_INTEGER_ARGUMENT_1(thr_state)       (thr_state).__rdi
#define SIGSEGV_INTEGER_ARGUMENT_2(thr_state)       (thr_state).__rsi
#define SIGSEGV_INTEGER_ARGUMENT_3(thr_state)       (thr_state).__rdx
#else
#define SIGSEGV_FAULT_ADDRESS(thr_state,exc_state)  (exc_state).faultvaddr
#define SIGSEGV_STACK_POINTER(thr_state)            (thr_state).rsp
#define SIGSEGV_PROGRAM_COUNTER(thr_state)          (thr_state).rip
#define SIGSEGV_FRAME_POINTER(thr_state)            (thr_state).rbp
#define SIGSEGV_INTEGER_ARGUMENT_1(thr_state)       (thr_state).rdi
#define SIGSEGV_INTEGER_ARGUMENT_2(thr_state)       (thr_state).rsi
#define SIGSEGV_INTEGER_ARGUMENT_3(thr_state)       (thr_state).rdx
#endif

#else
/* 32 bit registers */

#if defined x86_THREAD_STATE32
/* MacOS X 10.5 or newer introduces the new names and deprecates the old ones */
#define SIGSEGV_THREAD_STATE_TYPE                   x86_thread_state32_t
#define SIGSEGV_THREAD_STATE_FLAVOR                 x86_THREAD_STATE32
#define SIGSEGV_THREAD_STATE_COUNT                  x86_THREAD_STATE32_COUNT
#define SIGSEGV_EXC_STATE_TYPE                      x86_exception_state32_t
#define SIGSEGV_EXC_STATE_FLAVOR                    x86_EXCEPTION_STATE32
#define SIGSEGV_EXC_STATE_COUNT                     x86_EXCEPTION_STATE32_COUNT
#else
#define SIGSEGV_THREAD_STATE_TYPE                   i386_thread_state_t
#define SIGSEGV_THREAD_STATE_FLAVOR                 i386_THREAD_STATE
#define SIGSEGV_THREAD_STATE_COUNT                  i386_THREAD_STATE_COUNT
#define SIGSEGV_EXC_STATE_TYPE                      i386_exception_state_t
#define SIGSEGV_EXC_STATE_FLAVOR                    i386_EXCEPTION_STATE
#define SIGSEGV_EXC_STATE_COUNT                     i386_EXCEPTION_STATE_COUNT
#endif
#if MacOS_X_10_5_HEADERS && __DARWIN_UNIX03
#define SIGSEGV_FAULT_ADDRESS(thr_state,exc_state)  (exc_state).__faultvaddr
#define SIGSEGV_STACK_POINTER(thr_state)            (thr_state).__esp
#define SIGSEGV_PROGRAM_COUNTER(thr_state)          (thr_state).__eip
#else
#define SIGSEGV_FAULT_ADDRESS(thr_state,exc_state)  (exc_state).faultvaddr
#define SIGSEGV_STACK_POINTER(thr_state)            (thr_state).esp
#define SIGSEGV_PROGRAM_COUNTER(thr_state)          (thr_state).eip
#endif

#endif

#endif
EOF-machfault-macos.h
echo - 'machfault.h'
cat << 'EOF-machfault.h' > 'machfault.h'
/* Fault handler information.
   Copyright (C) 2004  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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.  */

/* The included file defines:

     SIGSEGV_EXC_STATE_TYPE
          is a type containing state describing details of an exception,
          excluding the thread state.
     SIGSEGV_EXC_STATE_FLAVOR
          is a macro expanding to a constant int value denoting the
          SIGSEGV_EXC_STATE_TYPE type.
     SIGSEGV_EXC_STATE_COUNT
          is a macro expanding to the number of words of the
          SIGSEGV_EXC_STATE_TYPE type.

     SIGSEGV_THREAD_STATE_TYPE
          is a type containing the state of a (stopped or interrupted) thread.
     SIGSEGV_THREAD_STATE_FLAVOR
          is a macro expanding to a constant int value denoting the
          SIGSEGV_THREAD_STATE_TYPE type.
     SIGSEGV_THREAD_STATE_COUNT
          is a macro expanding to the number of words of the
          SIGSEGV_THREAD_STATE_TYPE type.

     SIGSEGV_FAULT_ADDRESS(thr_state, exc_state)
          is a macro for fetching the fault address.

     SIGSEGV_STACK_POINTER(thr_state)
          is a macro, expanding to an lvalue, for fetching the stackpointer at
          the moment the fault occurred, and for setting the stackpointer in
          effect when the thread continues.

     SIGSEGV_PROGRAM_COUNTER(thr_state)
          is a macro, expanding to an lvalue, for fetching the program counter
          (= instruction pointer) at the moment the fault occurred, and for
          setting the program counter before letting the thread continue.

 */

#include CFG_MACHFAULT
EOF-machfault.h
echo - 'signals-bsd.h'
cat << 'EOF-signals-bsd.h' > 'signals-bsd.h'
/* List of signals.  BSD version.
   Copyright (C) 2002  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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.  */

/* List of signals that are sent when an invalid virtual memory address
   is accessed, or when the stack overflows.  */
#define SIGSEGV_FOR_ALL_SIGNALS(var,body) \
  { int var; var = SIGSEGV; { body } var = SIGBUS; { body } }
EOF-signals-bsd.h
echo - 'signals-hpux.h'
cat << 'EOF-signals-hpux.h' > 'signals-hpux.h'
/* List of signals.  HP-UX version.
   Copyright (C) 2002  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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.  */

/* List of signals that are sent when an invalid virtual memory address
   is accessed, or when the stack overflows.  */
#define SIGSEGV_FOR_ALL_SIGNALS(var,body) \
  { int var; var = SIGSEGV; { body } var = SIGBUS; { body } }
EOF-signals-hpux.h
echo - 'signals-hurd.h'
cat << 'EOF-signals-hurd.h' > 'signals-hurd.h'
/* List of signals.  Hurd version.
   Copyright (C) 2002  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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.  */

/* List of signals that are sent when an invalid virtual memory address
   is accessed, or when the stack overflows.  */
#define SIGSEGV_FOR_ALL_SIGNALS(var,body) \
  { int var; var = SIGSEGV; { body } var = SIGBUS; { body } }
EOF-signals-hurd.h
echo - 'signals-macos.h'
cat << 'EOF-signals-macos.h' > 'signals-macos.h'
/* List of signals.  MacOSX version.
   Copyright (C) 2002  Bruno Haible <bruno@clisp.org>
   Copyright (C) 2003  Paolo Bonzini <bonzini@gnu.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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.  */

/* List of signals that are sent when an invalid virtual memory address
   is accessed, or when the stack overflows.
   On MacOS X, accessing an invalid memory address gives a SIGBUS, but a
   stack overflow gives a SIGSEGV.  */
#define SIGSEGV_FOR_ALL_SIGNALS(var,body) \
  { int var; var = SIGSEGV; { body } var = SIGBUS; { body } }
EOF-signals-macos.h
echo - 'signals.h'
cat << 'EOF-signals.h' > 'signals.h'
/* List of signals.  Generic Unix version.
   Copyright (C) 2002  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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.  */

/* List of signals that are sent when an invalid virtual memory address
   is accessed, or when the stack overflows.  */
#define SIGSEGV_FOR_ALL_SIGNALS(var,body) \
  { int var; var = SIGSEGV; { body } }
EOF-signals.h
echo - 'sigsegv.h.in'
cat << 'EOF-sigsegv.h.in' > 'sigsegv.h.in'
/* Page fault handling library.
   Copyright (C) 1998-1999, 2002, 2004-2008  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 _SIGSEGV_H
#define _SIGSEGV_H

@FAULT_CONTEXT_INCLUDE@

/* HAVE_SIGSEGV_RECOVERY
   is defined if the system supports catching SIGSEGV.  */
#if @HAVE_SIGSEGV_RECOVERY@
# define HAVE_SIGSEGV_RECOVERY 1
#endif

/* HAVE_STACK_OVERFLOW_RECOVERY
   is defined if stack overflow can be caught.  */
#if @HAVE_STACK_OVERFLOW_RECOVERY@
# define HAVE_STACK_OVERFLOW_RECOVERY 1
#endif


#ifdef __cplusplus
extern "C" {
#endif

#define LIBSIGSEGV_VERSION 0x0206    /* version number: (major<<8) + minor */
extern int libsigsegv_version;       /* Likewise */

/* -------------------------------------------------------------------------- */

/*
 * The type of a global SIGSEGV handler.
 * The fault address is passed as argument.
 * The access type (read access or write access) is not passed; your handler
 * has to know itself how to distinguish these two cases.
 * The second argument is 0, meaning it could also be a stack overflow, or 1,
 * meaning the handler should seriously try to fix the fault.
 * The return value should be nonzero if the handler has done its job
 * and no other handler should be called, or 0 if the handler declines
 * responsibility for the given address.
 *
 * The handler is run at a moment when nothing about the global state of the
 * program is known. Therefore it cannot use facilities that manipulate global
 * variables or locks. In particular, it cannot use malloc(); use mmap()
 * instead. It cannot use fopen(); use open() instead. Etc. All global
 * variables that are accessed by the handler should be marked 'volatile'.
 */
typedef int (*sigsegv_handler_t) (void* fault_address, int serious);

/*
 * Installs a global SIGSEGV handler.
 * This should be called once only, and it ignores any previously installed
 * SIGSEGV handler.
 * Returns 0 on success, or -1 if the system doesn't support catching SIGSEGV.
 */
extern int sigsegv_install_handler (sigsegv_handler_t handler);

/*
 * Deinstalls the global SIGSEGV handler.
 * This goes back to the state where no SIGSEGV handler is installed.
 */
extern void sigsegv_deinstall_handler (void);

#if LIBSIGSEGV_VERSION >= 0x0206
/*
 * Prepares leaving a SIGSEGV handler (through longjmp or similar means).
 * Control is transferred by calling CONTINUATION with CONT_ARG1, CONT_ARG2,
 * CONT_ARG3 as arguments.
 * CONTINUATION must not return.
 * The sigsegv_leave_handler function may return if called from a SIGSEGV
 * handler; its return value should be used as the handler's return value.
 * The sigsegv_leave_handler function does not return if called from a
 * stack overflow handler.
 */
extern int sigsegv_leave_handler (void (*continuation) (void*, void*, void*), void* cont_arg1, void* cont_arg2, void* cont_arg3);
#else /* older versions of libsigsegv */
/*
 * Prepares leaving a SIGSEGV handler (through longjmp or similar means).
 * Limitation: This function could only be called once on MacOS X.
 */
extern void sigsegv_leave_handler (void);
#endif

/*
 * The type of a context passed to a stack overflow handler.
 * This type is system dependent; on some platforms it is an 'ucontext_t *',
 * on some platforms it is a 'struct sigcontext *', on others merely an
 * opaque 'void *'.
 */
typedef @FAULT_CONTEXT@ *stackoverflow_context_t;

/*
 * The type of a stack overflow handler.
 * Such a handler should perform a longjmp call in order to reduce the amount
 * of stack needed. It must not return.
 * The emergency argument is 0 when the stack could be repared, or 1 if the
 * application should better save its state and exit now.
 *
 * The handler is run at a moment when nothing about the global state of the
 * program is known. Therefore it cannot use facilities that manipulate global
 * variables or locks. In particular, it cannot use malloc(); use mmap()
 * instead. It cannot use fopen(); use open() instead. Etc. All global
 * variables that are accessed by the handler should be marked 'volatile'.
 */
typedef void (*stackoverflow_handler_t) (int emergency, stackoverflow_context_t scp);

/*
 * Installs a stack overflow handler.
 * The extra_stack argument is a pointer to a pre-allocated area used as a
 * stack for executing the handler. It is typically allocated by use of
 * `alloca' during `main'. Its size should be sufficiently large.
 * The following code determines an appropriate size:
 *   #include <signal.h>
 *   #ifndef SIGSTKSZ         / * glibc defines SIGSTKSZ for this purpose * /
 *   # define SIGSTKSZ 16384  / * on most platforms, 16 KB are sufficient * /
 *   #endif
 * Returns 0 on success, or -1 if the system doesn't support catching stack
 * overflow.
 */
extern int stackoverflow_install_handler (stackoverflow_handler_t handler,
                                          void* extra_stack, unsigned long extra_stack_size);

/*
 * Deinstalls the stack overflow handler.
 */
extern void stackoverflow_deinstall_handler (void);

/* -------------------------------------------------------------------------- */

/*
 * The following structure and functions permit to define different SIGSEGV
 * policies on different address ranges.
 */

/*
 * The type of a local SIGSEGV handler.
 * The fault address is passed as argument.
 * The second argument is fixed arbitrary user data.
 * The return value should be nonzero if the handler has done its job
 * and no other handler should be called, or 0 if the handler declines
 * responsibility for the given address.
 */
typedef int (*sigsegv_area_handler_t) (void* fault_address, void* user_arg);

/*
 * This structure represents a table of memory areas (address range intervals),
 * with an local SIGSEGV handler for each.
 */
typedef
struct sigsegv_dispatcher {
  void* tree;
}
sigsegv_dispatcher;

/*
 * Initializes a sigsegv_dispatcher structure.
 */
extern void sigsegv_init (sigsegv_dispatcher* dispatcher);

/*
 * Adds a local SIGSEGV handler to a sigsegv_dispatcher structure.
 * It will cover the interval [address..address+len-1].
 * Returns a "ticket" that can be used to remove the handler later.
 */
extern void* sigsegv_register (sigsegv_dispatcher* dispatcher,
                               void* address, unsigned long len,
                               sigsegv_area_handler_t handler, void* handler_arg);

/*
 * Removes a local SIGSEGV handler.
 */
extern void sigsegv_unregister (sigsegv_dispatcher* dispatcher, void* ticket);

/*
 * Call the local SIGSEGV handler responsible for the given fault address.
 * Return the handler's return value. 0 means that no handler has been found,
 * or that a handler was found but declined responsibility.
 */
extern int sigsegv_dispatch (sigsegv_dispatcher* dispatcher, void* fault_address);

/* -------------------------------------------------------------------------- */

#ifdef __cplusplus
}
#endif

#endif /* _SIGSEGV_H */
EOF-sigsegv.h.in
echo - 'sigsegv.h.msvc'
cat << 'EOF-sigsegv.h.msvc' > 'sigsegv.h.msvc'
/* Page fault handling library.
   Copyright (C) 1998-1999, 2002, 2004-2008  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 _SIGSEGV_H
#define _SIGSEGV_H

#include <windows.h>

/* HAVE_SIGSEGV_RECOVERY
   is defined if the system supports catching SIGSEGV.  */
#if 1
# define HAVE_SIGSEGV_RECOVERY 1
#endif

/* HAVE_STACK_OVERFLOW_RECOVERY
   is defined if stack overflow can be caught.  */
#if 1
# define HAVE_STACK_OVERFLOW_RECOVERY 1
#endif


#ifdef __cplusplus
extern "C" {
#endif

#define LIBSIGSEGV_VERSION 0x0206    /* version number: (major<<8) + minor */
extern int libsigsegv_version;       /* Likewise */

/* -------------------------------------------------------------------------- */

/*
 * The type of a global SIGSEGV handler.
 * The fault address is passed as argument.
 * The access type (read access or write access) is not passed; your handler
 * has to know itself how to distinguish these two cases.
 * The second argument is 0, meaning it could also be a stack overflow, or 1,
 * meaning the handler should seriously try to fix the fault.
 * The return value should be nonzero if the handler has done its job
 * and no other handler should be called, or 0 if the handler declines
 * responsibility for the given address.
 *
 * The handler is run at a moment when nothing about the global state of the
 * program is known. Therefore it cannot use facilities that manipulate global
 * variables or locks. In particular, it cannot use malloc(); use mmap()
 * instead. It cannot use fopen(); use open() instead. Etc. All global
 * variables that are accessed by the handler should be marked 'volatile'.
 */
typedef int (*sigsegv_handler_t) (void* fault_address, int serious);

/*
 * Installs a global SIGSEGV handler.
 * This should be called once only, and it ignores any previously installed
 * SIGSEGV handler.
 * Returns 0 on success, or -1 if the system doesn't support catching SIGSEGV.
 */
extern int sigsegv_install_handler (sigsegv_handler_t handler);

/*
 * Deinstalls the global SIGSEGV handler.
 * This goes back to the state where no SIGSEGV handler is installed.
 */
extern void sigsegv_deinstall_handler (void);

#if LIBSIGSEGV_VERSION >= 0x0206
/*
 * Prepares leaving a SIGSEGV handler (through longjmp or similar means).
 * Control is transferred by calling CONTINUATION with CONT_ARG1, CONT_ARG2,
 * CONT_ARG3 as arguments.
 * CONTINUATION must not return.
 * The sigsegv_leave_handler function may return if called from a SIGSEGV
 * handler; its return value should be used as the handler's return value.
 * The sigsegv_leave_handler function does not return if called from a
 * stack overflow handler.
 */
extern int sigsegv_leave_handler (void (*continuation) (void*, void*, void*), void* cont_arg1, void* cont_arg2, void* cont_arg3);
#else /* older versions of libsigsegv */
/*
 * Prepares leaving a SIGSEGV handler (through longjmp or similar means).
 * Limitation: This function could only be called once on MacOS X.
 */
extern void sigsegv_leave_handler (void);
#endif

/*
 * The type of a context passed to a stack overflow handler.
 * This type is system dependent; on some platforms it is an 'ucontext_t *',
 * on some platforms it is a 'struct sigcontext *', on others merely an
 * opaque 'void *'.
 */
typedef CONTEXT *stackoverflow_context_t;

/*
 * The type of a stack overflow handler.
 * Such a handler should perform a longjmp call in order to reduce the amount
 * of stack needed. It must not return.
 * The emergency argument is 0 when the stack could be repared, or 1 if the
 * application should better save its state and exit now.
 *
 * The handler is run at a moment when nothing about the global state of the
 * program is known. Therefore it cannot use facilities that manipulate global
 * variables or locks. In particular, it cannot use malloc(); use mmap()
 * instead. It cannot use fopen(); use open() instead. Etc. All global
 * variables that are accessed by the handler should be marked 'volatile'.
 */
typedef void (*stackoverflow_handler_t) (int emergency, stackoverflow_context_t scp);

/*
 * Installs a stack overflow handler.
 * The extra_stack argument is a pointer to a pre-allocated area used as a
 * stack for executing the handler. It is typically allocated by use of
 * `alloca' during `main'. Its size should be sufficiently large.
 * The following code determines an appropriate size:
 *   #include <signal.h>
 *   #ifndef SIGSTKSZ         / * glibc defines SIGSTKSZ for this purpose * /
 *   # define SIGSTKSZ 16384  / * on most platforms, 16 KB are sufficient * /
 *   #endif
 * Returns 0 on success, or -1 if the system doesn't support catching stack
 * overflow.
 */
extern int stackoverflow_install_handler (stackoverflow_handler_t handler,
                                          void* extra_stack, unsigned long extra_stack_size);

/*
 * Deinstalls the stack overflow handler.
 */
extern void stackoverflow_deinstall_handler (void);

/* -------------------------------------------------------------------------- */

/*
 * The following structure and functions permit to define different SIGSEGV
 * policies on different address ranges.
 */

/*
 * The type of a local SIGSEGV handler.
 * The fault address is passed as argument.
 * The second argument is fixed arbitrary user data.
 * The return value should be nonzero if the handler has done its job
 * and no other handler should be called, or 0 if the handler declines
 * responsibility for the given address.
 */
typedef int (*sigsegv_area_handler_t) (void* fault_address, void* user_arg);

/*
 * This structure represents a table of memory areas (address range intervals),
 * with an local SIGSEGV handler for each.
 */
typedef
struct sigsegv_dispatcher {
  void* tree;
}
sigsegv_dispatcher;

/*
 * Initializes a sigsegv_dispatcher structure.
 */
extern void sigsegv_init (sigsegv_dispatcher* dispatcher);

/*
 * Adds a local SIGSEGV handler to a sigsegv_dispatcher structure.
 * It will cover the interval [address..address+len-1].
 * Returns a "ticket" that can be used to remove the handler later.
 */
extern void* sigsegv_register (sigsegv_dispatcher* dispatcher,
                               void* address, unsigned long len,
                               sigsegv_area_handler_t handler, void* handler_arg);

/*
 * Removes a local SIGSEGV handler.
 */
extern void sigsegv_unregister (sigsegv_dispatcher* dispatcher, void* ticket);

/*
 * Call the local SIGSEGV handler responsible for the given fault address.
 * Return the handler's return value. 0 means that no handler has been found,
 * or that a handler was found but declined responsibility.
 */
extern int sigsegv_dispatch (sigsegv_dispatcher* dispatcher, void* fault_address);

/* -------------------------------------------------------------------------- */

#ifdef __cplusplus
}
#endif

#endif /* _SIGSEGV_H */
EOF-sigsegv.h.msvc
echo - 'stackvma-beos.c'
cat << 'EOF-stackvma-beos.c' > 'stackvma-beos.c'
/* Determine the virtual memory area of a given address.  BeOS version.
   Copyright (C) 2002, 2006  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 "stackvma.h"
#include <OS.h>

#include "stackvma-simple.c"

int
sigsegv_get_vma (unsigned long address, struct vma_struct *vma)
{
  area_info info;
  int32 cookie;
  unsigned long start, end;
#if STACK_DIRECTION < 0
  unsigned long prev;
#endif

#if STACK_DIRECTION < 0
  prev = 0;
#endif
  cookie = 0;
  while (get_next_area_info (0, &cookie, &info) == B_OK)
    {
      start = (unsigned long) info.address;
      end = start + info.size;
      if (address >= start && address <= end - 1)
        {
          vma->start = start;
          vma->end = end;
#if STACK_DIRECTION < 0
          vma->prev_end = prev;
#else
          if (get_next_area_info (0, &cookie, &info) == B_OK)
            vma->next_start = (unsigned long) info.address;
          else
            vma->next_start = 0;
#endif
          vma->is_near_this = simple_is_near_this;
          return 0;
        }
#if STACK_DIRECTION < 0
      prev = end;
#endif
    }

  return -1;
}
EOF-stackvma-beos.c
echo - 'stackvma-freebsd.c'
cat << 'EOF-stackvma-freebsd.c' > 'stackvma-freebsd.c'
/* Determine the virtual memory area of a given address.  FreeBSD version.
   Copyright (C) 2002-2003, 2006, 2008  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 "stackvma.h"
#include <stdio.h>

#include "stackvma-simple.c"
#include "stackvma-rofile.c"

#if HAVE_MINCORE
# define sigsegv_get_vma mincore_get_vma
# define STATIC static
# include "stackvma-mincore.c"
# undef sigsegv_get_vma
#endif

int
sigsegv_get_vma (unsigned long address, struct vma_struct *vma)
{
  struct rofile rof;
  int c;
  /* The stack appears as multiple adjacents segments, therefore we
     merge adjacent segments.  */
  unsigned long next_start, next_end, curr_start, curr_end;
#if STACK_DIRECTION < 0
  unsigned long prev_end;
#endif

  /* Open the current process' maps file.  It describes one VMA per line.  */
  if (rof_open (&rof, "/proc/curproc/map") < 0)
    goto failed;

#if STACK_DIRECTION < 0
  prev_end = 0;
#endif
  for (curr_start = curr_end = 0; ;)
    {
      if (!(rof_getchar (&rof) == '0'
            && rof_getchar (&rof) == 'x'
            && rof_scanf_lx (&rof, &next_start) >= 0))
        break;
      while (c = rof_peekchar (&rof), c == ' ' || c == '\t')
        rof_getchar (&rof);
      if (!(rof_getchar (&rof) == '0'
            && rof_getchar (&rof) == 'x'
            && rof_scanf_lx (&rof, &next_end) >= 0))
        break;
      while (c = rof_getchar (&rof), c != -1 && c != '\n')
        continue;
      if (next_start == curr_end)
        {
          /* Merge adjacent segments.  */
          curr_end = next_end;
        }
      else
        {
          if (curr_start < curr_end
              && address >= curr_start && address <= curr_end-1)
            goto found;
#if STACK_DIRECTION < 0
          prev_end = curr_end;
#endif
          curr_start = next_start; curr_end = next_end;
        }
    }
  if (address >= curr_start && address <= curr_end-1)
    found:
    {
      vma->start = curr_start;
      vma->end = curr_end;
#if STACK_DIRECTION < 0
      vma->prev_end = prev_end;
#else
      if (rof_getchar (&rof) == '0'
          && rof_getchar (&rof) == 'x'
          && rof_scanf_lx (&rof, &vma->next_start) >= 0)
        {
          while (c = rof_peekchar (&rof), c == ' ' || c == '\t')
            rof_getchar (&rof);
          if (rof_getchar (&rof) == '0'
              && rof_getchar (&rof) == 'x'
              && rof_scanf_lx (&rof, &next_end) >= 0)
            ;
          else
            vma->next_start = 0;
        }
      else
        vma->next_start = 0;
#endif
      rof_close (&rof);
      vma->is_near_this = simple_is_near_this;
      return 0;
    }
  rof_close (&rof);
 failed:
#if HAVE_MINCORE
  /* FreeBSD 6.[01] doesn't allow to distinguish unmapped pages from
     mapped but swapped-out pages.  See whether it's fixed.  */
  if (!is_mapped (0))
    /* OK, mincore() appears to work as expected.  */
    return mincore_get_vma (address, vma);
#endif
  return -1;
}
EOF-stackvma-freebsd.c
echo - 'stackvma-linux.c'
cat << 'EOF-stackvma-linux.c' > 'stackvma-linux.c'
/* Determine the virtual memory area of a given address.  Linux version.
   Copyright (C) 2002, 2006, 2008  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 "stackvma.h"
#include <stdio.h>

#include "stackvma-simple.c"
#include "stackvma-rofile.c"

#if HAVE_MINCORE
# define sigsegv_get_vma mincore_get_vma
# define STATIC static
# include "stackvma-mincore.c"
# undef sigsegv_get_vma
#endif

int
sigsegv_get_vma (unsigned long address, struct vma_struct *vma)
{
  struct rofile rof;
  int c;
  unsigned long start, end;
#if STACK_DIRECTION < 0
  unsigned long prev;
#endif

  /* Open the current process' maps file.  It describes one VMA per line.  */
  if (rof_open (&rof, "/proc/self/maps") < 0)
    goto failed;

#if STACK_DIRECTION < 0
  prev = 0;
#endif
  for (;;)
    {
      if (!(rof_scanf_lx (&rof, &start) >= 0
            && rof_getchar (&rof) == '-'
            && rof_scanf_lx (&rof, &end) >= 0))
        break;
      while (c = rof_getchar (&rof), c != -1 && c != '\n')
        continue;
      if (address >= start && address <= end - 1)
        {
          vma->start = start;
          vma->end = end;
#if STACK_DIRECTION < 0
          vma->prev_end = prev;
#else
          if (!(rof_scanf_lx (&rof, &vma->next_start) >= 0
                && rof_getchar (&rof) == '-'
                && rof_scanf_lx (&rof, &end) >= 0))
            vma->next_start = 0;
#endif
          rof_close (&rof);
          vma->is_near_this = simple_is_near_this;
          return 0;
        }
#if STACK_DIRECTION < 0
      prev = end;
#endif
    }
  rof_close (&rof);
 failed:
#if HAVE_MINCORE
  return mincore_get_vma (address, vma);
#else
  return -1;
#endif
}
EOF-stackvma-linux.c
echo - 'stackvma-mach.c'
cat << 'EOF-stackvma-mach.c' > 'stackvma-mach.c'
/* Determine the virtual memory area of a given address.  Mach version.
   Copyright (C) 2003, 2006  Paolo Bonzini <bonzini@gnu.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 "stackvma.h"
#include <stdio.h>
#ifdef HAVE_UNISTD_H
# include <unistd.h>
#endif
#include <libc.h>
#include <nlist.h>
#include <mach/mach.h>
#ifndef NeXT
#include <mach/machine/vm_param.h>
#endif

#include "stackvma-simple.c"

int
sigsegv_get_vma (unsigned long req_address, struct vma_struct *vma)
{
  unsigned long prev_address = 0, prev_size = 0;
  unsigned long join_address = 0, join_size = 0;
  int more = 1;
  vm_address_t address;
  vm_size_t size;
  mach_port_t object_name;
#ifdef VM_REGION_BASIC_INFO
  task_t task = mach_task_self ();
  struct vm_region_basic_info info;
  mach_msg_type_number_t info_count = VM_REGION_BASIC_INFO_COUNT;
#else
  task_t task = task_self ();
  vm_prot_t protection, max_protection;
  vm_inherit_t inheritance;
  boolean_t shared;
  vm_offset_t offset;
#endif

  for (address = VM_MIN_ADDRESS; more; address += size)
    {
#ifdef VM_REGION_BASIC_INFO
      more = (vm_region (task, &address, &size, VM_REGION_BASIC_INFO,
                         (vm_region_info_t)&info, &info_count, &object_name)
              == KERN_SUCCESS);
#else
      more = (vm_region (task, &address, &size, &protection, &max_protection,
                         &inheritance, &shared, &object_name, &offset)
              == KERN_SUCCESS);
#endif
      if (!more)
        {
          address = join_address + join_size;
          size = 0;
        }

      if ((unsigned long) address == join_address + join_size)
        join_size += size;
      else
        {
          prev_address = join_address;
          prev_size = join_size;
          join_address = (unsigned long) address;
          join_size = size;
        }

#ifdef VM_REGION_BASIC_INFO
      if (object_name != MACH_PORT_NULL)
        mach_port_deallocate (mach_task_self (), object_name);
      info_count = VM_REGION_BASIC_INFO_COUNT;
#endif

#if STACK_DIRECTION < 0
      if (join_address <= req_address && join_address + join_size > req_address)
        {
          vma->start = join_address;
          vma->end = join_address + join_size;
          vma->prev_end = prev_address + prev_size;
          vma->is_near_this = simple_is_near_this;
          return 0;
        }
#else
      if (prev_address <= req_address && prev_address + prev_size > req_address)
        {
          vma->start = prev_address;
          vma->end = prev_address + prev_size;
          vma->next_start = join_address;
          vma->is_near_this = simple_is_near_this;
          return 0;
        }
#endif
    }

#if STACK_DIRECTION > 0
  if (join_address <= req_address && join_address + size > req_address)
    {
      vma->start = prev_address;
      vma->end = prev_address + prev_size;
      vma->next_start = ~0UL;
      vma->is_near_this = simple_is_near_this;
      return 0;
    }
#endif

  return -1;
}
EOF-stackvma-mach.c
echo - 'stackvma-mincore.c'
cat << 'EOF-stackvma-mincore.c' > 'stackvma-mincore.c'
/* Determine the virtual memory area of a given address.
   Copyright (C) 2006, 2008  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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.  */

/* mincore() is a system call that allows to inquire the status of a
   range of pages of virtual memory.  In particular, it allows to inquire
   whether a page is mapped at all.
   As of 2006, mincore() is supported by:        possible bits:
     - Linux,   since Linux 2.4 and glibc 2.2,   1
     - Solaris, since Solaris 9,                 1
     - MacOS X, since MacOS X 10.3 (at least),   1
     - FreeBSD, since FreeBSD 6.0,               MINCORE_{INCORE,REFERENCED,MODIFIED}
     - NetBSD,  since NetBSD 3.0 (at least),     1
     - OpenBSD, since OpenBSD 2.6 (at least),    1
   However, while the API allows to easily determine the bounds of mapped
   virtual memory, it does not make it easy the bounds of _unmapped_ virtual
   memory ranges.  We try to work around this, but it may still be slow.  */

#include "stackvma.h"
#include <limits.h>
#ifdef HAVE_UNISTD_H
# include <unistd.h>
#endif
#include <sys/types.h>
#include <sys/mman.h>

/* Cache for getpagesize().  */
static unsigned long pagesize;

/* Initialize pagesize.  */
static void
init_pagesize (void)
{
#if HAVE_GETPAGESIZE
  pagesize = getpagesize ();
#elif HAVE_SYSCONF_PAGESIZE
  pagesize = sysconf (_SC_PAGESIZE);
#else
  pagesize = PAGESIZE;
#endif
}

/* Test whether the page starting at ADDR is among the address range.
   ADDR must be a multiple of pagesize.  */
static int
is_mapped (unsigned long addr)
{
  char vec[1];
  return mincore ((void *) addr, pagesize, vec) >= 0;
}

/* Assuming that the page starting at ADDR is among the address range,
   return the start of its virtual memory range.
   ADDR must be a multiple of pagesize.  */
static unsigned long
mapped_range_start (unsigned long addr)
{
  /* Use a moderately sized VEC here, small enough that it fits on the stack
     (without requiring malloc).  */
  char vec[2048];
  unsigned long stepsize = sizeof (vec);

  for (;;)
    {
      unsigned long max_remaining;

      if (addr == 0)
        return addr;

      max_remaining = addr / pagesize;
      if (stepsize > max_remaining)
        stepsize = max_remaining;
      if (mincore ((void *) (addr - stepsize * pagesize),
                   stepsize * pagesize, vec) < 0)
        /* Time to search in smaller steps.  */
        break;
      /* The entire range exists.  Continue searching in large steps.  */
      addr -= stepsize * pagesize;
    }
  for (;;)
    {
      unsigned long halfstepsize1;
      unsigned long halfstepsize2;

      if (stepsize == 1)
        return addr;

      /* Here we know that less than stepsize pages exist starting at addr.  */
      halfstepsize1 = (stepsize + 1) / 2;
      halfstepsize2 = stepsize / 2;
      /* halfstepsize1 + halfstepsize2 = stepsize.  */

      if (mincore ((void *) (addr - halfstepsize1 * pagesize),
                   halfstepsize1 * pagesize, vec) < 0)
        stepsize = halfstepsize1;
      else
        {
          addr -= halfstepsize1 * pagesize;
          stepsize = halfstepsize2;
        }
    }
}

/* Assuming that the page starting at ADDR is among the address range,
   return the end of its virtual memory range + 1.
   ADDR must be a multiple of pagesize.  */
static unsigned long
mapped_range_end (unsigned long addr)
{
  /* Use a moderately sized VEC here, small enough that it fits on the stack
     (without requiring malloc).  */
  char vec[2048];
  unsigned long stepsize = sizeof (vec);

  addr += pagesize;
  for (;;)
    {
      unsigned long max_remaining;

      if (addr == 0) /* wrapped around? */
        return addr;

      max_remaining = (- addr) / pagesize;
      if (stepsize > max_remaining)
        stepsize = max_remaining;
      if (mincore ((void *) addr, stepsize * pagesize, vec) < 0)
        /* Time to search in smaller steps.  */
        break;
      /* The entire range exists.  Continue searching in large steps.  */
      addr += stepsize * pagesize;
    }
  for (;;)
    {
      unsigned long halfstepsize1;
      unsigned long halfstepsize2;

      if (stepsize == 1)
        return addr;

      /* Here we know that less than stepsize pages exist starting at addr.  */
      halfstepsize1 = (stepsize + 1) / 2;
      halfstepsize2 = stepsize / 2;
      /* halfstepsize1 + halfstepsize2 = stepsize.  */

      if (mincore ((void *) addr, halfstepsize1 * pagesize, vec) < 0)
        stepsize = halfstepsize1;
      else
        {
          addr += halfstepsize1 * pagesize;
          stepsize = halfstepsize2;
        }
    }
}

/* Determine whether an address range [ADDR1..ADDR2] is completely unmapped.
   ADDR1 must be <= ADDR2.  */
static int
is_unmapped (unsigned long addr1, unsigned long addr2)
{
  unsigned long count;
  unsigned long stepsize;

  /* Round addr1 down.  */
  addr1 = (addr1 / pagesize) * pagesize;
  /* Round addr2 up and turn it into an exclusive bound.  */
  addr2 = ((addr2 / pagesize) + 1) * pagesize;

  /* This is slow: mincore() does not provide a way to determine the bounds
     of the gaps directly.  So we have to use mincore() on individual pages
     over and over again.  Only after we've verified that all pages are
     unmapped, we know that the range is completely unmapped.
     If we were to traverse the pages from bottom to top or from top to bottom,
     it would be slow even in the average case.  To speed up the search, we
     exploit the fact that mapped memory ranges are larger than one page on
     average, therefore we have good chances of hitting a mapped area if we
     traverse only every second, or only fourth page, etc.  This doesn't
     decrease the worst-case runtime, only the average runtime.  */
  count = (addr2 - addr1) / pagesize;
  /* We have to test is_mapped (addr1 + i * pagesize) for 0 <= i < count.  */
  for (stepsize = 1; stepsize < count; )
    stepsize = 2 * stepsize;
  for (;;)
    {
      unsigned long addr_stepsize;
      unsigned long i;
      unsigned long addr;

      stepsize = stepsize / 2;
      if (stepsize == 0)
        break;
      addr_stepsize = stepsize * pagesize;
      for (i = stepsize, addr = addr1 + addr_stepsize;
           i < count;
           i += 2 * stepsize, addr += 2 * addr_stepsize)
        /* Here addr = addr1 + i * pagesize.  */
        if (is_mapped (addr))
          return 0;
    }
  return 1;
}

#if STACK_DIRECTION < 0

/* Info about the gap between this VMA and the previous one.
   addr must be < vma->start.  */
static int
mincore_is_near_this (unsigned long addr, struct vma_struct *vma)
{
  /*   vma->start - addr <= (vma->start - vma->prev_end) / 2
     is mathematically equivalent to
       vma->prev_end <= 2 * addr - vma->start
     <==> is_unmapped (2 * addr - vma->start, vma->start - 1).
     But be careful about overflow: if 2 * addr - vma->start is negative,
     we consider a tiny "guard page" mapping [0, 0] to be present around
     NULL; it intersects the range (2 * addr - vma->start, vma->start - 1),
     therefore return false.  */
  unsigned long testaddr = addr - (vma->start - addr);
  if (testaddr > addr) /* overflow? */
    return 0;
  /* Here testaddr <= addr < vma->start.  */
  return is_unmapped (testaddr, vma->start - 1);
}

#endif
#if STACK_DIRECTION > 0

/* Info about the gap between this VMA and the next one.
   addr must be > vma->end - 1.  */
static int
mincore_is_near_this (unsigned long addr, struct vma_struct *vma)
{
  /*   addr - vma->end < (vma->next_start - vma->end) / 2
     is mathematically equivalent to
       vma->next_start > 2 * addr - vma->end
     <==> is_unmapped (vma->end, 2 * addr - vma->end).
     But be careful about overflow: if 2 * addr - vma->end is > ~0UL,
     we consider a tiny "guard page" mapping [0, 0] to be present around
     NULL; it intersects the range (vma->end, 2 * addr - vma->end),
     therefore return false.  */
  unsigned long testaddr = addr + (addr - vma->end);
  if (testaddr < addr) /* overflow? */
    return 0;
  /* Here vma->end - 1 < addr <= testaddr.  */
  return is_unmapped (vma->end, testaddr);
}

#endif

#ifdef STATIC
STATIC
#endif
int
sigsegv_get_vma (unsigned long address, struct vma_struct *vma)
{
  if (pagesize == 0)
    init_pagesize ();
  address = (address / pagesize) * pagesize;
  vma->start = mapped_range_start (address);
  vma->end = mapped_range_end (address);
  vma->is_near_this = mincore_is_near_this;
  return 0;
}
EOF-stackvma-mincore.c
echo - 'stackvma-none.c'
cat << 'EOF-stackvma-none.c' > 'stackvma-none.c'
/* Determine the virtual memory area of a given address.
   Copyright (C) 2002  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 "stackvma.h"

int
sigsegv_get_vma (unsigned long address, struct vma_struct *vma)
{
  /* No way.  */
  return -1;
}
EOF-stackvma-none.c
echo - 'stackvma-procfs.c'
cat << 'EOF-stackvma-procfs.c' > 'stackvma-procfs.c'
/* Determine the virtual memory area of a given address.
   Copyright (C) 2002, 2006, 2008  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 "stackvma.h"
#include <unistd.h> /* open, close */
#include <fcntl.h> /* open */
#include <sys/types.h>
#include <sys/mman.h> /* mmap, munmap */
#include <sys/procfs.h> /* PIOC*, prmap_t */

#include "stackvma-simple.c"

#if HAVE_MINCORE
# define sigsegv_get_vma mincore_get_vma
# define STATIC static
# include "stackvma-mincore.c"
# undef sigsegv_get_vma
#else
/* Cache for getpagesize().  */
static unsigned long pagesize;
/* Initialize pagesize.  */
static void
init_pagesize (void)
{
  pagesize = getpagesize ();
}
#endif

int
sigsegv_get_vma (unsigned long address, struct vma_struct *vma)
{
  char fnamebuf[6+10+1];
  char *fname;
  int fd;
  int nmaps;
  size_t memneed;
#if HAVE_MMAP_ANON
# define zero_fd -1
# define map_flags MAP_ANON
#elif HAVE_MMAP_ANONYMOUS
# define zero_fd -1
# define map_flags MAP_ANONYMOUS
#else
  int zero_fd;
# define map_flags 0
#endif
  void *auxmap;
  unsigned long auxmap_start;
  unsigned long auxmap_end;
  prmap_t* maps;
  prmap_t* mp;
  unsigned long start, end;
#if STACK_DIRECTION < 0
  unsigned long prev;
#endif

  if (pagesize == 0)
    init_pagesize ();

  /* Construct fname = sprintf (fnamebuf+i, "/proc/%u", getpid ()).  */
  fname = fnamebuf + sizeof (fnamebuf) - 1;
  *fname = '\0';
  {
    unsigned int value = getpid ();
    do
      *--fname = (value % 10) + '0';
    while ((value = value / 10) > 0);
  }
  fname -= 6;
  memcpy (fname, "/proc/", 6);

  fd = open (fname, O_RDONLY);
  if (fd < 0)
    goto failed;

  if (ioctl (fd, PIOCNMAP, &nmaps) < 0)
    goto fail2;

  memneed = (nmaps + 10) * sizeof (prmap_t);
  /* Allocate memneed bytes of memory.
     We cannot use alloca here, because we are low on stack space.
     We also cannot use malloc here, because a malloc() call may have been
     interrupted.
     So use mmap(), and ignore the resulting VMA.  */
  memneed = ((memneed - 1) / pagesize + 1) * pagesize;
#if !(HAVE_MMAP_ANON || HAVE_MMAP_ANONYMOUS)
  zero_fd = open ("/dev/zero", O_RDONLY, 0644);
  if (zero_fd < 0)
    goto fail2;
#endif
  auxmap = (void *) mmap ((void *) 0, memneed, PROT_READ | PROT_WRITE, map_flags | MAP_PRIVATE, zero_fd, 0);
#if !(HAVE_MMAP_ANON || HAVE_MMAP_ANONYMOUS)
  close (zero_fd);
#endif
  if (auxmap == (void *) -1)
    goto fail2;
  auxmap_start = (unsigned long) auxmap;
  auxmap_end = auxmap_start + memneed;
  maps = (prmap_t *) auxmap;

  if (ioctl (fd, PIOCMAP, maps) < 0)
    goto fail1;

#if STACK_DIRECTION < 0
  prev = 0;
#endif
  for (mp = maps;;)
    {
      start = (unsigned long) mp->pr_vaddr;
      end = start + mp->pr_size;
      if (start == 0 && end == 0)
        break;
      mp++;
      if (start <= auxmap_start && auxmap_end - 1 <= end - 1)
        {
          /* Consider [start,end-1] \ [auxmap_start,auxmap_end-1]
             = [start,auxmap_start-1] u [auxmap_end,end-1].  */
          if (start != auxmap_start)
            {
              if (address >= start && address <= auxmap_start - 1)
                {
                  end = auxmap_start;
                  goto found;
                }
#if STACK_DIRECTION < 0
              prev = auxmap_start;
#endif
            }
          if (end != auxmap_end)
            {
              if (address >= auxmap_end && address <= end - 1)
                {
                  start = auxmap_end;
                  goto found;
                }
#if STACK_DIRECTION < 0
              prev = end;
#endif
            }
        }
      else
        {
          if (address >= start && address <= end - 1)
            goto found;
#if STACK_DIRECTION < 0
          prev = end;
#endif
        }
    }

 fail1:
  munmap (auxmap, memneed);
 fail2:
  close (fd);
 failed:
#if HAVE_MINCORE
  return mincore_get_vma (address, vma);
#else
  return -1;
#endif

 found:
  vma->start = start;
  vma->end = end;
#if STACK_DIRECTION < 0
  vma->prev_end = prev;
#else
  vma->next_start = (unsigned long) mp->pr_vaddr;
#endif
  munmap (auxmap, memneed);
  close (fd);
  vma->is_near_this = simple_is_near_this;
  return 0;
}
EOF-stackvma-procfs.c
echo - 'stackvma-rofile.c'
cat << 'EOF-stackvma-rofile.c' > 'stackvma-rofile.c'
/* Buffered read-only streams.
   Copyright (C) 2008  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 <errno.h> /* errno, EINTR */
#include <fcntl.h> /* O_RDONLY */
#include <stddef.h> /* size_t */
#include <unistd.h> /* read, close */

/* Buffered read-only streams.
   We cannot use <stdio.h> here, because fopen() calls malloc(), and a malloc()
   call may have been interrupted.  */

struct rofile
  {
    int fd;
    size_t position;
    size_t filled;
    int eof_seen;
    char buffer[4096];
  };

/* Open a read-only file stream.  */
static int
rof_open (struct rofile *rof, const char *filename)
{
  int fd = open (filename, O_RDONLY);
  if (fd < 0)
    return -1;
  rof->fd = fd;
  rof->position = 0;
  rof->filled = 0;
  rof->eof_seen = 0;
  return 0;
}

/* Return the next byte from a read-only file stream without consuming it,
   or -1 at EOF.  */
static int
rof_peekchar (struct rofile *rof)
{
  if (rof->position == rof->filled)
    {
      if (rof->eof_seen)
        return -1;
      else
        for (;;)
          {
            int n = read (rof->fd, rof->buffer, sizeof (rof->buffer));
#ifdef EINTR
            if (n < 0 && errno == EINTR)
              continue;
#endif
            if (n <= 0)
              {
                rof->eof_seen = 1;
                return -1;
              }
            rof->filled = n;
            rof->position = 0;
            break;
          }
    }
  return (unsigned char) rof->buffer[rof->position];
}

/* Return the next byte from a read-only file stream, or -1 at EOF.  */
static int
rof_getchar (struct rofile *rof)
{
  int c = rof_peekchar (rof);
  if (c >= 0)
    rof->position++;
  return c;
}

/* Parse an unsigned hexadecimal number from a read-only file stream.  */
static int
rof_scanf_lx (struct rofile *rof, unsigned long *valuep)
{
  unsigned long value = 0;
  unsigned int numdigits = 0;
  for (;;)
    {
      int c = rof_peekchar (rof);
      if (c >= '0' && c <= '9')
        value = (value << 4) + (c - '0');
      else if (c >= 'A' && c <= 'F')
        value = (value << 4) + (c - 'A' + 10);
      else if (c >= 'a' && c <= 'f')
        value = (value << 4) + (c - 'a' + 10);
      else
        break;
      rof_getchar (rof);
      numdigits++;
    }
  if (numdigits == 0)
    return -1;
  *valuep = value;
  return 0;
}

/* Close a read-only file stream.  */
static void
rof_close (struct rofile *rof)
{
  close (rof->fd);
}
EOF-stackvma-rofile.c
echo - 'stackvma-simple.c'
cat << 'EOF-stackvma-simple.c' > 'stackvma-simple.c'
/* Determine the virtual memory area of a given address.
   Copyright (C) 2006  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 the proximity test function for the simple cases, where
   the OS has an API for enumerating the mapped ranges of virtual memory.  */

#if STACK_DIRECTION < 0

/* Info about the gap between this VMA and the previous one.
   addr must be < vma->start.  */
static int
simple_is_near_this (unsigned long addr, struct vma_struct *vma)
{
  return (vma->start - addr <= (vma->start - vma->prev_end) / 2);
}

#endif
#if STACK_DIRECTION > 0

/* Info about the gap between this VMA and the next one.
   addr must be > vma->end - 1.  */
static int
simple_is_near_this (unsigned long addr, struct vma_struct *vma)
{
  return (addr - vma->end < (vma->next_start - vma->end) / 2);
}

#endif
EOF-stackvma-simple.c
echo - 'stackvma.c'
cat << 'EOF-stackvma.c' > 'stackvma.c'
/* Determine the virtual memory area of a given address.
   Copyright (C) 2002  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 CFG_STACKVMA
EOF-stackvma.c
echo - 'stackvma.h'
cat << 'EOF-stackvma.h' > 'stackvma.h'
/* Determine the virtual memory area of a given address.
   Copyright (C) 2002, 2006  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 _STACKVMA_H
#define _STACKVMA_H

/* Describes a virtual memory area, with some info about the gap between
   it and the next or previous virtual memory area.  */
struct vma_struct
{
  unsigned long start;
  unsigned long end;
#if STACK_DIRECTION < 0
  /* Info about the gap between this VMA and the previous one.
     addr must be < vma->start.  */
  int (*is_near_this) (unsigned long addr, struct vma_struct *vma);
  /* Private field, not provided by all sigsegv_get_vma implementations.  */
  unsigned long prev_end;
#endif
#if STACK_DIRECTION > 0
  /* Info about the gap between this VMA and the next one.
     addr must be > vma->end - 1.  */
  int (*is_near_this) (unsigned long addr, struct vma_struct *vma);
  /* Private field, not provided by all sigsegv_get_vma implementations.  */
  unsigned long next_start;
#endif
};

/* Determines the virtual memory area to which a given address belongs,
   and returns 0.  Returns -1 if it cannot be determined.
   This function is used to determine the stack extent when a fault occurs.  */
extern int sigsegv_get_vma (unsigned long address, struct vma_struct *vma);

#endif /* _STACKVMA_H */
EOF-stackvma.h
echo - 'version.c'
cat << 'EOF-version.c' > 'version.c'
/* Version number.
   Copyright (C) 2005  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 "sigsegv.h"

int libsigsegv_version = LIBSIGSEGV_VERSION;
EOF-version.c
cd ..
echo making directory 'tests'
mkdir 'tests'
cd 'tests'
#! /bin/sh
echo - 'Makefile.am'
cat << 'EOF-Makefile.am' > 'Makefile.am'
## Makefile for libsigsegv/tests.
## Copyright (C) 2002-2003, 2008-2009 Bruno Haible <bruno@clisp.org>
##
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation; either version 2, or (at your option)
## any later version.
##
## 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.

## Process this file with automake to produce Makefile.in.

AUTOMAKE_OPTIONS = 1.11 gnits no-dependencies color-tests

TESTS = sigsegv1 sigsegv2 sigsegv3 stackoverflow1 stackoverflow2

EXTRA_DIST = mmaputil.h

INCLUDES = -I../src
DEFS = @DEFS@
LDADD = ../src/libsigsegv.la
noinst_PROGRAMS = sigsegv1 sigsegv2 sigsegv3 stackoverflow1 stackoverflow2

# The following rule is necessary to avoid a toplevel "make -n" failure.
../src/libsigsegv.la :
	cd ../src && $(MAKE) libsigsegv.la
EOF-Makefile.am
echo - 'Makefile.in'
cat << 'EOF-Makefile.in' > 'Makefile.in'
# Makefile.in generated by automake 1.11 from Makefile.am.
# @configure_input@

# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
# Inc.
# This Makefile.in 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.

# This program 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.

@SET_MAKE@

VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
TESTS = sigsegv1$(EXEEXT) sigsegv2$(EXEEXT) sigsegv3$(EXEEXT) \
	stackoverflow1$(EXEEXT) stackoverflow2$(EXEEXT)
noinst_PROGRAMS = sigsegv1$(EXEEXT) sigsegv2$(EXEEXT) \
	sigsegv3$(EXEEXT) stackoverflow1$(EXEEXT) \
	stackoverflow2$(EXEEXT)
subdir = tests
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/bold.m4 \
	$(top_srcdir)/m4/fault.m4 $(top_srcdir)/m4/getpagesize.m4 \
	$(top_srcdir)/m4/libtool.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/mmap-anon.m4 \
	$(top_srcdir)/m4/relocatable.m4 \
	$(top_srcdir)/m4/sigaltstack-longjmp.m4 \
	$(top_srcdir)/m4/sigaltstack-siglongjmp.m4 \
	$(top_srcdir)/m4/sigaltstack.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 =
PROGRAMS = $(noinst_PROGRAMS)
sigsegv1_SOURCES = sigsegv1.c
sigsegv1_OBJECTS = sigsegv1.$(OBJEXT)
sigsegv1_LDADD = $(LDADD)
sigsegv1_DEPENDENCIES = ../src/libsigsegv.la
sigsegv2_SOURCES = sigsegv2.c
sigsegv2_OBJECTS = sigsegv2.$(OBJEXT)
sigsegv2_LDADD = $(LDADD)
sigsegv2_DEPENDENCIES = ../src/libsigsegv.la
sigsegv3_SOURCES = sigsegv3.c
sigsegv3_OBJECTS = sigsegv3.$(OBJEXT)
sigsegv3_LDADD = $(LDADD)
sigsegv3_DEPENDENCIES = ../src/libsigsegv.la
stackoverflow1_SOURCES = stackoverflow1.c
stackoverflow1_OBJECTS = stackoverflow1.$(OBJEXT)
stackoverflow1_LDADD = $(LDADD)
stackoverflow1_DEPENDENCIES = ../src/libsigsegv.la
stackoverflow2_SOURCES = stackoverflow2.c
stackoverflow2_OBJECTS = stackoverflow2.$(OBJEXT)
stackoverflow2_LDADD = $(LDADD)
stackoverflow2_DEPENDENCIES = ../src/libsigsegv.la
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp =
am__depfiles_maybe =
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)
CCLD = $(CC)
LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
	$(LDFLAGS) -o $@
SOURCES = sigsegv1.c sigsegv2.c sigsegv3.c stackoverflow1.c \
	stackoverflow2.c
DIST_SOURCES = sigsegv1.c sigsegv2.c sigsegv3.c stackoverflow1.c \
	stackoverflow2.c
ETAGS = etags
CTAGS = ctags
# If stdout is a non-dumb tty, use colors.  If test -t is not supported,
# then this fails; a conservative approach.  Of course do not redirect
# stdout here, just stderr.
am__tty_colors = \
red=; grn=; lgn=; blu=; std=; \
test "X$(AM_COLOR_TESTS)" != Xno \
&& test "X$$TERM" != Xdumb \
&& { test "X$(AM_COLOR_TESTS)" = Xalways || test -t 1 2>/dev/null; } \
&& { \
  red='�[0;31m'; \
  grn='�[0;32m'; \
  lgn='�[1;32m'; \
  blu='�[1;34m'; \
  std='�[m'; \
}
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFG_HANDLER = @CFG_HANDLER@
CFG_LEAVE = @CFG_LEAVE@
CFG_STACKVMA = @CFG_STACKVMA@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FAULT_CONTEXT = @FAULT_CONTEXT@
FGREP = @FGREP@
GREP = @GREP@
HAVE_SIGSEGV_RECOVERY = @HAVE_SIGSEGV_RECOVERY@
HAVE_STACK_OVERFLOW_RECOVERY = @HAVE_STACK_OVERFLOW_RECOVERY@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PLATFORM = @PLATFORM@
RANLIB = @RANLIB@
RELOCATABLE = @RELOCATABLE@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
AUTOMAKE_OPTIONS = 1.11 gnits no-dependencies color-tests
EXTRA_DIST = mmaputil.h
INCLUDES = -I../src
LDADD = ../src/libsigsegv.la
all: all-am

.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
	@for dep in $?; do \
	  case '$(am__configure_deps)' in \
	    *$$dep*) \
	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
	        && { if test -f $@; then exit 0; else break; fi; }; \
	      exit 1;; \
	  esac; \
	done; \
	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits tests/Makefile'; \
	$(am__cd) $(top_srcdir) && \
	  $(AUTOMAKE) --gnits tests/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
	@case '$?' in \
	  *config.status*) \
	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
	  *) \
	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
	esac;

$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh

$(top_srcdir)/configure:  $(am__configure_deps)
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):

clean-noinstPROGRAMS:
	@list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
	echo " rm -f" $$list; \
	rm -f $$list || exit $$?; \
	test -n "$(EXEEXT)" || exit 0; \
	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
	echo " rm -f" $$list; \
	rm -f $$list
sigsegv1$(EXEEXT): $(sigsegv1_OBJECTS) $(sigsegv1_DEPENDENCIES) 
	@rm -f sigsegv1$(EXEEXT)
	$(LINK) $(sigsegv1_OBJECTS) $(sigsegv1_LDADD) $(LIBS)
sigsegv2$(EXEEXT): $(sigsegv2_OBJECTS) $(sigsegv2_DEPENDENCIES) 
	@rm -f sigsegv2$(EXEEXT)
	$(LINK) $(sigsegv2_OBJECTS) $(sigsegv2_LDADD) $(LIBS)
sigsegv3$(EXEEXT): $(sigsegv3_OBJECTS) $(sigsegv3_DEPENDENCIES) 
	@rm -f sigsegv3$(EXEEXT)
	$(LINK) $(sigsegv3_OBJECTS) $(sigsegv3_LDADD) $(LIBS)
stackoverflow1$(EXEEXT): $(stackoverflow1_OBJECTS) $(stackoverflow1_DEPENDENCIES) 
	@rm -f stackoverflow1$(EXEEXT)
	$(LINK) $(stackoverflow1_OBJECTS) $(stackoverflow1_LDADD) $(LIBS)
stackoverflow2$(EXEEXT): $(stackoverflow2_OBJECTS) $(stackoverflow2_DEPENDENCIES) 
	@rm -f stackoverflow2$(EXEEXT)
	$(LINK) $(stackoverflow2_OBJECTS) $(stackoverflow2_LDADD) $(LIBS)

mostlyclean-compile:
	-rm -f *.$(OBJEXT)

distclean-compile:
	-rm -f *.tab.c

.c.o:
	$(COMPILE) -c $<

.c.obj:
	$(COMPILE) -c `$(CYGPATH_W) '$<'`

.c.lo:
	$(LTCOMPILE) -c -o $@ $<

mostlyclean-libtool:
	-rm -f *.lo

clean-libtool:
	-rm -rf .libs _libs

ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
	unique=`for i in $$list; do \
	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
	  done | \
	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
	      END { if (nonempty) { for (i in files) print i; }; }'`; \
	mkid -fID $$unique
tags: TAGS

TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
		$(TAGS_FILES) $(LISP)
	set x; \
	here=`pwd`; \
	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
	unique=`for i in $$list; do \
	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
	  done | \
	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
	      END { if (nonempty) { for (i in files) print i; }; }'`; \
	shift; \
	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
	  test -n "$$unique" || unique=$$empty_fix; \
	  if test $$# -gt 0; then \
	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
	      "$$@" $$unique; \
	  else \
	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
	      $$unique; \
	  fi; \
	fi
ctags: CTAGS
CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
		$(TAGS_FILES) $(LISP)
	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
	unique=`for i in $$list; do \
	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
	  done | \
	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
	      END { if (nonempty) { for (i in files) print i; }; }'`; \
	test -z "$(CTAGS_ARGS)$$unique" \
	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
	     $$unique

GTAGS:
	here=`$(am__cd) $(top_builddir) && pwd` \
	  && $(am__cd) $(top_srcdir) \
	  && gtags -i $(GTAGS_ARGS) "$$here"

distclean-tags:
	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags

check-TESTS: $(TESTS)
	@failed=0; all=0; xfail=0; xpass=0; skip=0; \
	srcdir=$(srcdir); export srcdir; \
	list=' $(TESTS) '; \
	$(am__tty_colors); \
	if test -n "$$list"; then \
	  for tst in $$list; do \
	    if test -f ./$$tst; then dir=./; \
	    elif test -f $$tst; then dir=; \
	    else dir="$(srcdir)/"; fi; \
	    if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
	      all=`expr $$all + 1`; \
	      case " $(XFAIL_TESTS) " in \
	      *[\ \	]$$tst[\ \	]*) \
		xpass=`expr $$xpass + 1`; \
		failed=`expr $$failed + 1`; \
		col=$$red; res=XPASS; \
	      ;; \
	      *) \
		col=$$grn; res=PASS; \
	      ;; \
	      esac; \
	    elif test $$? -ne 77; then \
	      all=`expr $$all + 1`; \
	      case " $(XFAIL_TESTS) " in \
	      *[\ \	]$$tst[\ \	]*) \
		xfail=`expr $$xfail + 1`; \
		col=$$lgn; res=XFAIL; \
	      ;; \
	      *) \
		failed=`expr $$failed + 1`; \
		col=$$red; res=FAIL; \
	      ;; \
	      esac; \
	    else \
	      skip=`expr $$skip + 1`; \
	      col=$$blu; res=SKIP; \
	    fi; \
	    echo "$${col}$$res$${std}: $$tst"; \
	  done; \
	  if test "$$all" -eq 1; then \
	    tests="test"; \
	    All=""; \
	  else \
	    tests="tests"; \
	    All="All "; \
	  fi; \
	  if test "$$failed" -eq 0; then \
	    if test "$$xfail" -eq 0; then \
	      banner="$$All$$all $$tests passed"; \
	    else \
	      if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
	      banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
	    fi; \
	  else \
	    if test "$$xpass" -eq 0; then \
	      banner="$$failed of $$all $$tests failed"; \
	    else \
	      if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
	      banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
	    fi; \
	  fi; \
	  dashes="$$banner"; \
	  skipped=""; \
	  if test "$$skip" -ne 0; then \
	    if test "$$skip" -eq 1; then \
	      skipped="($$skip test was not run)"; \
	    else \
	      skipped="($$skip tests were not run)"; \
	    fi; \
	    test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
	      dashes="$$skipped"; \
	  fi; \
	  report=""; \
	  if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
	    report="Please report to $(PACKAGE_BUGREPORT)"; \
	    test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
	      dashes="$$report"; \
	  fi; \
	  dashes=`echo "$$dashes" | sed s/./=/g`; \
	  if test "$$failed" -eq 0; then \
	    echo "$$grn$$dashes"; \
	  else \
	    echo "$$red$$dashes"; \
	  fi; \
	  echo "$$banner"; \
	  test -z "$$skipped" || echo "$$skipped"; \
	  test -z "$$report" || echo "$$report"; \
	  echo "$$dashes$$std"; \
	  test "$$failed" -eq 0; \
	else :; fi

distdir: $(DISTFILES)
	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
	list='$(DISTFILES)'; \
	  dist_files=`for file in $$list; do echo $$file; done | \
	  sed -e "s|^$$srcdirstrip/||;t" \
	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
	case $$dist_files in \
	  */*) $(MKDIR_P) `echo "$$dist_files" | \
			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
			   sort -u` ;; \
	esac; \
	for file in $$dist_files; do \
	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
	  if test -d $$d/$$file; then \
	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
	    if test -d "$(distdir)/$$file"; then \
	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
	    fi; \
	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
	    fi; \
	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
	  else \
	    test -f "$(distdir)/$$file" \
	    || cp -p $$d/$$file "$(distdir)/$$file" \
	    || exit 1; \
	  fi; \
	done
check-am: all-am
	$(MAKE) $(AM_MAKEFLAGS) check-TESTS
check: check-am
all-am: Makefile $(PROGRAMS)
installdirs:
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am

install-am: all-am
	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am

installcheck: installcheck-am
install-strip:
	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
	  `test -z '$(STRIP)' || \
	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:

clean-generic:

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)

maintainer-clean-generic:
	@echo "This command is intended for maintainers to use"
	@echo "it deletes files that may require special tools to rebuild."
clean: clean-am

clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
	mostlyclean-am

distclean: distclean-am
	-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
	distclean-tags

dvi: dvi-am

dvi-am:

html: html-am

html-am:

info: info-am

info-am:

install-data-am:

install-dvi: install-dvi-am

install-dvi-am:

install-exec-am:

install-html: install-html-am

install-html-am:

install-info: install-info-am

install-info-am:

install-man:

install-pdf: install-pdf-am

install-pdf-am:

install-ps: install-ps-am

install-ps-am:

installcheck-am:

maintainer-clean: maintainer-clean-am
	-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic

mostlyclean: mostlyclean-am

mostlyclean-am: mostlyclean-compile mostlyclean-generic \
	mostlyclean-libtool

pdf: pdf-am

pdf-am:

ps: ps-am

ps-am:

uninstall-am:

.MAKE: check-am install-am install-strip

.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
	clean-generic clean-libtool clean-noinstPROGRAMS 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 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 maintainer-clean \
	maintainer-clean-generic mostlyclean mostlyclean-compile \
	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
	tags uninstall uninstall-am


# The following rule is necessary to avoid a toplevel "make -n" failure.
../src/libsigsegv.la :
	cd ../src && $(MAKE) libsigsegv.la

# 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:
EOF-Makefile.in
echo - 'mmaputil.h'
cat << 'EOF-mmaputil.h' > 'mmaputil.h'
/* Some auxiliary stuff for using mmap & friends.
   Copyright (C) 2002-2003  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 defined _WIN32 && !defined __CYGWIN__
# define HAVE_WIN32_VM
#else
# include "config.h"
#endif

#ifdef HAVE_WIN32_VM

/* ------------------------ Windows ------------------------ */

#define WIN32_LEAN_AND_MEAN /* avoid including junk */
#include <windows.h>
#include <winerror.h>
#define PROT_NONE  PAGE_NOACCESS
#define PROT_READ  PAGE_READONLY
#define PROT_READ_WRITE PAGE_READWRITE

static void *
mmap_zeromap (void *map_addr_hint, unsigned long map_len)
{
  if (VirtualAlloc ((void *)((unsigned long) map_addr_hint & -0x10000),
                    (((unsigned long) map_addr_hint + map_len - 1) | 0xffff) + 1
                    - ((unsigned long) map_addr_hint & -0x10000),
                    MEM_RESERVE, PAGE_NOACCESS)
      && VirtualAlloc (map_addr_hint, map_len, MEM_COMMIT, PAGE_READWRITE))
    return map_addr_hint;
  else
    return (void *)(-1);
}

int munmap (void *addr, unsigned long len)
{
  if (VirtualFree (addr, len, MEM_DECOMMIT))
    return 0;
  else
    return -1;
}

int mprotect (void *addr, unsigned long len, int prot)
{
  DWORD oldprot;

  if (VirtualProtect (addr, len, prot, &oldprot))
    return 0;
  else
    return -1;
}

#else

/* ------------------------ Unix ------------------------ */

#include <sys/types.h>
#include <sys/mman.h>

#ifndef PROT_NONE
# define PROT_NONE 0
#endif
#define PROT_READ_WRITE  (PROT_READ|PROT_WRITE)

#if HAVE_MMAP_ANON
# define zero_fd -1
# define map_flags MAP_ANON | MAP_PRIVATE
#elif HAVE_MMAP_ANONYMOUS
# define zero_fd -1
# define map_flags MAP_ANONYMOUS | MAP_PRIVATE
#elif HAVE_MMAP_DEVZERO
# include <fcntl.h>
# ifndef MAP_FILE
#  define MAP_FILE 0
# endif
static int zero_fd;
# define map_flags MAP_FILE | MAP_PRIVATE
#endif

static void *
mmap_zeromap (void *map_addr_hint, unsigned long map_len)
{
#ifdef __hpux
  /* HP-UX 10 mmap() often fails when given a hint.  So give the OS complete
     freedom about the address range.  */
  return (void *) mmap ((void *) 0,    map_len, PROT_READ_WRITE, map_flags, zero_fd, 0);
#else
  return (void *) mmap (map_addr_hint, map_len, PROT_READ_WRITE, map_flags, zero_fd, 0);
#endif
}

#endif
EOF-mmaputil.h
echo - 'sigsegv1.c'
cat << 'EOF-sigsegv1.c' > 'sigsegv1.c'
/* Test that the handler is called, with the right fault address.
   Copyright (C) 2002-2006, 2008  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 _MSC_VER
# include <config.h>
#endif

#include "sigsegv.h"
#include <stdio.h>

#if HAVE_SIGSEGV_RECOVERY

#include "mmaputil.h"
#include <stdlib.h>

unsigned long page;

volatile int handler_called = 0;

int
handler (void *fault_address, int serious)
{
  handler_called++;
  if (handler_called > 10)
    abort ();
  if (fault_address != (void *)(page + 0x678))
    abort ();
  if (mprotect ((void *) page, 0x4000, PROT_READ_WRITE) == 0)
    return 1;
  return 0;
}

void
crasher (unsigned long p)
{
  *(volatile int *) (p + 0x678) = 42;
}

int
main ()
{
  void *p;

  /* Preparations.  */
#if !HAVE_MMAP_ANON && !HAVE_MMAP_ANONYMOUS && HAVE_MMAP_DEVZERO
  zero_fd = open ("/dev/zero", O_RDONLY, 0644);
#endif

  /* Setup some mmaped memory.  */
  p = mmap_zeromap ((void *) 0x12340000, 0x4000);
  if (p == (void *)(-1))
    {
      fprintf (stderr, "mmap_zeromap failed.\n");
      exit (2);
    }
  page = (unsigned long) p;

  /* Make it read-only.  */
  if (mprotect ((void *) page, 0x4000, PROT_READ) < 0)
    {
      fprintf (stderr, "mprotect failed.\n");
      exit (2);
    }
  /* Test whether it's possible to make it read-write after it was read-only.
     This is not possible on Cygwin.  */
  if (mprotect ((void *) page, 0x4000, PROT_READ_WRITE) < 0
      || mprotect ((void *) page, 0x4000, PROT_READ) < 0)
    {
      fprintf (stderr, "mprotect failed.\n");
      exit (2);
    }

  /* Install the SIGSEGV handler.  */
  sigsegv_install_handler (&handler);

  /* The first write access should invoke the handler and then complete.  */
  crasher (page);
  /* The second write access should not invoke the handler.  */
  crasher (page);

  /* Check that the handler was called only once.  */
  if (handler_called != 1)
    exit (1);
  /* Test passed!  */
  printf ("Test passed.\n");
  return 0;
}

#else

int
main ()
{
  return 77;
}

#endif
EOF-sigsegv1.c
echo - 'sigsegv2.c'
cat << 'EOF-sigsegv2.c' > 'sigsegv2.c'
/* Test the dispatcher.
   Copyright (C) 2002-2006, 2008  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 _MSC_VER
# include <config.h>
#endif

#include "sigsegv.h"
#include <stdio.h>

#if HAVE_SIGSEGV_RECOVERY

#include "mmaputil.h"
#include <stdlib.h>

static sigsegv_dispatcher dispatcher;

static volatile unsigned int logcount = 0;
static volatile unsigned long logdata[10];

static int
area_handler (void *fault_address, void *user_arg)
{
  unsigned long area = *(unsigned long *)user_arg;
  logdata[logcount++] = area;
  if (logcount >= sizeof (logdata) / sizeof (logdata[0]))
    abort ();
  if (!((unsigned long)fault_address >= area
        && (unsigned long)fault_address - area < 0x4000))
    abort ();
  if (mprotect ((void *) area, 0x4000, PROT_READ_WRITE) == 0)
    return 1;
  return 0;
}

static int
handler (void *fault_address, int serious)
{
  return sigsegv_dispatch (&dispatcher, fault_address);
}

static void
barrier ()
{
}

int
main ()
{
  void *p;
  unsigned long area1;
  unsigned long area2;
  unsigned long area3;

  /* Preparations.  */
#if !HAVE_MMAP_ANON && !HAVE_MMAP_ANONYMOUS && HAVE_MMAP_DEVZERO
  zero_fd = open ("/dev/zero", O_RDONLY, 0644);
#endif
  sigsegv_init (&dispatcher);
  sigsegv_install_handler (&handler);

  /* Setup some mmaped memory.  */

  p = mmap_zeromap ((void *) 0x12340000, 0x4000);
  if (p == (void *)(-1))
    {
      fprintf (stderr, "mmap_zeromap failed.\n");
      exit (2);
    }
  area1 = (unsigned long) p;
  sigsegv_register (&dispatcher, (void *) area1, 0x4000, &area_handler, &area1);
  if (mprotect ((void *) area1, 0x4000, PROT_NONE) < 0)
    {
      fprintf (stderr, "mprotect failed.\n");
      exit (2);
    }

  p = mmap_zeromap ((void *) 0x0BEE0000, 0x4000);
  if (p == (void *)(-1))
    {
      fprintf (stderr, "mmap_zeromap failed.\n");
      exit (2);
    }
  area2 = (unsigned long) p;
  sigsegv_register (&dispatcher, (void *) area2, 0x4000, &area_handler, &area2);
  if (mprotect ((void *) area2, 0x4000, PROT_READ) < 0)
    {
      fprintf (stderr, "mprotect failed.\n");
      exit (2);
    }
  if (mprotect ((void *) area2, 0x4000, PROT_READ_WRITE) < 0
      || mprotect ((void *) area2, 0x4000, PROT_READ) < 0)
    {
      fprintf (stderr, "mprotect failed.\n");
      exit (2);
    }

  p = mmap_zeromap ((void *) 0x06990000, 0x4000);
  if (p == (void *)(-1))
    {
      fprintf (stderr, "mmap_zeromap failed.\n");
      exit (2);
    }
  area3 = (unsigned long) p;
  sigsegv_register (&dispatcher, (void *) area3, 0x4000, &area_handler, &area3);
  mprotect ((void *) area3, 0x4000, PROT_READ);

  /* This access should call the handler.  */
  ((volatile int *)area2)[230] = 22;
  /* This access should call the handler.  */
  ((volatile int *)area3)[412] = 33;
  /* This access should not give a signal.  */
  ((volatile int *)area2)[135] = 22;
  /* This access should call the handler.  */
  ((volatile int *)area1)[612] = 11;

  barrier();

  /* Check that the handler was called three times.  */
  if (logcount != 3)
    exit (1);
  if (!(logdata[0] == area2 && logdata[1] == area3 && logdata[2] == area1))
    exit (1);
  printf ("Test passed.\n");
  return 0;
}

#else

int
main ()
{
  return 77;
}

#endif
EOF-sigsegv2.c
echo - 'sigsegv3.c'
cat << 'EOF-sigsegv3.c' > 'sigsegv3.c'
/* Test that the handler can be exited multiple times.
   Copyright (C) 2002-2006, 2008  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 _MSC_VER
# include <config.h>
#endif

#include "sigsegv.h"
#include <stdio.h>

#if HAVE_SIGSEGV_RECOVERY

#if defined _WIN32 && !defined __CYGWIN__
  /* Windows doesn't have sigset_t.  */
  typedef int sigset_t;
# define sigemptyset(set)
# define sigprocmask(how,set,oldset)
#endif

#include "mmaputil.h"
#include <stdlib.h> /* for abort, exit */
#include <signal.h>
#include <setjmp.h>

jmp_buf mainloop;
sigset_t mainsigset;

volatile int pass = 0;
unsigned long page;

volatile int handler_called = 0;

static void
handler_continuation (void *arg1, void *arg2, void *arg3)
{
  longjmp (mainloop, pass);
}

int
handler (void *fault_address, int serious)
{
  handler_called++;
  if (handler_called > 10)
    abort ();
  if (fault_address != (void *)(page + 0x678 + 8 * pass))
    abort ();
  pass++;
  printf ("Stack overflow %d caught.\n", pass);
  sigprocmask (SIG_SETMASK, &mainsigset, NULL);
  return sigsegv_leave_handler (handler_continuation, NULL, NULL, NULL);
}

void
crasher (unsigned long p)
{
  *(volatile int *) (p + 0x678 + 8 * pass) = 42;
}

int
main ()
{
  sigset_t emptyset;
  void *p;

  /* Preparations.  */
#if !HAVE_MMAP_ANON && !HAVE_MMAP_ANONYMOUS && HAVE_MMAP_DEVZERO
  zero_fd = open ("/dev/zero", O_RDONLY, 0644);
#endif

  /* Setup some mmaped memory.  */
  p = mmap_zeromap ((void *) 0x12340000, 0x4000);
  if (p == (void *)(-1))
    {
      fprintf (stderr, "mmap_zeromap failed.\n");
      exit (2);
    }
  page = (unsigned long) p;

  /* Make it read-only.  */
  if (mprotect ((void *) page, 0x4000, PROT_READ) < 0)
    {
      fprintf (stderr, "mprotect failed.\n");
      exit (2);
    }

  /* Install the SIGSEGV handler.  */
  if (sigsegv_install_handler (&handler) < 0)
    exit (2);

  /* Save the current signal mask.  */
  sigemptyset (&emptyset);
  sigprocmask (SIG_BLOCK, &emptyset, &mainsigset);

  /* Provoke two SIGSEGVs in a row.  */
  switch (setjmp (mainloop))
    {
    case 0: case 1:
      printf ("Doing SIGSEGV pass %d.\n", pass + 1);
      crasher (page);
      printf ("no SIGSEGV?!\n"); exit (1);
    case 2:
      break;
    default:
      abort ();
    }

  /* Test passed!  */
  printf ("Test passed.\n");
  return 0;
}

#else

int
main ()
{
  return 77;
}

#endif
EOF-sigsegv3.c
echo - 'stackoverflow1.c'
cat << 'EOF-stackoverflow1.c' > 'stackoverflow1.c'
/* Test the stack overflow handler.
   Copyright (C) 2002-2006, 2008  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 _MSC_VER
# include <config.h>
#endif

#include "sigsegv.h"
#include <stdio.h>
#include <limits.h>

#if HAVE_STACK_OVERFLOW_RECOVERY

#if defined _WIN32 && !defined __CYGWIN__
  /* Windows doesn't have sigset_t.  */
  typedef int sigset_t;
# define sigemptyset(set)
# define sigprocmask(how,set,oldset)
#endif

#include <stddef.h> /* needed for NULL on SunOS4 */
#include <stdlib.h> /* for abort, exit */
#include <signal.h>
#include <setjmp.h>
#if HAVE_SETRLIMIT
# include <sys/types.h>
# include <sys/time.h>
# include <sys/resource.h>
#endif
#ifndef SIGSTKSZ
# define SIGSTKSZ 16384
#endif

jmp_buf mainloop;
sigset_t mainsigset;

volatile int pass = 0;

volatile char *stack_lower_bound;
volatile char *stack_upper_bound;

static void
stackoverflow_handler_continuation (void *arg1, void *arg2, void *arg3)
{
  int arg = (int) (long) arg1;
  longjmp (mainloop, arg);
}

void
stackoverflow_handler (int emergency, stackoverflow_context_t scp)
{
  char dummy;
  volatile char *addr = &dummy;
  if (!(addr >= stack_lower_bound && addr <= stack_upper_bound))
    abort ();
  pass++;
  printf ("Stack overflow %d caught.\n", pass);
  sigprocmask (SIG_SETMASK, &mainsigset, NULL);
  sigsegv_leave_handler (stackoverflow_handler_continuation,
                         (void *) (long) (emergency ? -1 : pass), NULL, NULL);
}

volatile int *
recurse_1 (int n, volatile int *p)
{
  if (n < INT_MAX)
    *recurse_1 (n + 1, p) += n;
  return p;
}

int
recurse (volatile int n)
{
  return *recurse_1 (n, &n);
}

int
main ()
{
  /* glibc says: Users should use SIGSTKSZ as the size of user-supplied
     buffers.  */
  char mystack[SIGSTKSZ];
  sigset_t emptyset;

#if HAVE_SETRLIMIT && defined RLIMIT_STACK
  /* Before starting the endless recursion, try to be friendly to the user's
     machine.  On some Linux 2.2.x systems, there is no stack limit for user
     processes at all.  We don't want to kill such systems.  */
  struct rlimit rl;
  rl.rlim_cur = rl.rlim_max = 0x100000; /* 1 MB */
  setrlimit (RLIMIT_STACK, &rl);
#endif

  /* Install the stack overflow handler.  */
  if (stackoverflow_install_handler (&stackoverflow_handler,
                                     mystack, sizeof (mystack))
      < 0)
    exit (2);
  stack_lower_bound = mystack;
  stack_upper_bound = mystack + sizeof (mystack) - 1;

  /* Save the current signal mask.  */
  sigemptyset (&emptyset);
  sigprocmask (SIG_BLOCK, &emptyset, &mainsigset);

  /* Provoke two stack overflows in a row.  */
  switch (setjmp (mainloop))
    {
    case -1:
      printf ("emergency exit\n"); exit (1);
    case 0: case 1:
      printf ("Starting recursion pass %d.\n", pass + 1);
      recurse (0);
      printf ("no endless recursion?!\n"); exit (1);
    case 2:
      break;
    default:
      abort ();
    }

  printf ("Test passed.\n");
  exit (0);
}

#else

int
main ()
{
  return 77;
}

#endif
EOF-stackoverflow1.c
echo - 'stackoverflow2.c'
cat << 'EOF-stackoverflow2.c' > 'stackoverflow2.c'
/* Test that stack overflow and SIGSEGV are correctly distinguished.
   Copyright (C) 2002-2006, 2008  Bruno Haible <bruno@clisp.org>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2, or (at your option)
   any later version.

   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 _MSC_VER
# include <config.h>
#endif

#include "sigsegv.h"
#include <stdio.h>
#include <limits.h>

#if HAVE_STACK_OVERFLOW_RECOVERY && HAVE_SIGSEGV_RECOVERY

#if defined _WIN32 && !defined __CYGWIN__
  /* Windows doesn't have sigset_t.  */
  typedef int sigset_t;
# define sigemptyset(set)
# define sigprocmask(how,set,oldset)
#endif

#include "mmaputil.h"
#include <stddef.h> /* needed for NULL on SunOS4 */
#include <stdlib.h> /* for abort, exit */
#include <signal.h>
#include <setjmp.h>
#if HAVE_SETRLIMIT
# include <sys/types.h>
# include <sys/time.h>
# include <sys/resource.h>
#endif
#ifndef SIGSTKSZ
# define SIGSTKSZ 16384
#endif

jmp_buf mainloop;
sigset_t mainsigset;

volatile int pass = 0;
unsigned long page;

static void
stackoverflow_handler_continuation (void *arg1, void *arg2, void *arg3)
{
  int arg = (int) (long) arg1;
  longjmp (mainloop, arg);
}

void
stackoverflow_handler (int emergency, stackoverflow_context_t scp)
{
  pass++;
  if (pass <= 2)
    printf ("Stack overflow %d caught.\n", pass);
  else
    {
      printf ("Segmentation violation misdetected as stack overflow.\n");
      exit (1);
    }
  sigprocmask (SIG_SETMASK, &mainsigset, NULL);
  sigsegv_leave_handler (stackoverflow_handler_continuation,
                         (void *) (long) (emergency ? -1 : pass), NULL, NULL);
}

int
sigsegv_handler (void *address, int emergency)
{
  /* This test is necessary to distinguish stack overflow and SIGSEGV.  */
  if (!emergency)
    return 0;

  pass++;
  if (pass <= 2)
    {
      printf ("Stack overflow %d missed.\n", pass);
      exit (1);
    }
  else
    printf ("Segmentation violation correctly detected.\n");
  sigprocmask (SIG_SETMASK, &mainsigset, NULL);
  return sigsegv_leave_handler (stackoverflow_handler_continuation,
                                (void *) (long) pass, NULL, NULL);
}

volatile int *
recurse_1 (int n, volatile int *p)
{  
  if (n < INT_MAX)
    *recurse_1 (n + 1, p) += n;
  return p;
}

int
recurse (volatile int n)
{
  return *recurse_1 (n, &n);
}

int
main ()
{
  /* glibc says: Users should use SIGSTKSZ as the size of user-supplied
     buffers.  */
  char mystack[SIGSTKSZ];
  sigset_t emptyset;
  void *p;

#if HAVE_SETRLIMIT && defined RLIMIT_STACK
  /* Before starting the endless recursion, try to be friendly to the user's
     machine.  On some Linux 2.2.x systems, there is no stack limit for user
     processes at all.  We don't want to kill such systems.  */
  struct rlimit rl;
  rl.rlim_cur = rl.rlim_max = 0x100000; /* 1 MB */
  setrlimit (RLIMIT_STACK, &rl);
#endif

  /* Install the stack overflow handler.  */
  if (stackoverflow_install_handler (&stackoverflow_handler,
                                     mystack, sizeof (mystack))
      < 0)
    exit (2);

  /* Preparations.  */
#if !HAVE_MMAP_ANON && !HAVE_MMAP_ANONYMOUS && HAVE_MMAP_DEVZERO
  zero_fd = open ("/dev/zero", O_RDONLY, 0644);
#endif

  /* Setup some mmaped memory.  */
  p = mmap_zeromap ((void *) 0x12340000, 0x4000);
  if (p == (void *)(-1))
    {
      fprintf (stderr, "mmap_zeromap failed.\n");
      exit (2);
    }
  page = (unsigned long) p;

  /* Make it read-only.  */
  if (mprotect ((void *) page, 0x4000, PROT_READ) < 0)
    {
      fprintf (stderr, "mprotect failed.\n");
      exit (2);
    }

  /* Install the SIGSEGV handler.  */
  if (sigsegv_install_handler (&sigsegv_handler) < 0)
    exit (2);

  /* Save the current signal mask.  */
  sigemptyset (&emptyset);
  sigprocmask (SIG_BLOCK, &emptyset, &mainsigset);

  /* Provoke two stack overflows in a row.  */
  switch (setjmp (mainloop))
    {
    case -1:
      printf ("emergency exit\n"); exit (1);
    case 0: case 1:
      printf ("Starting recursion pass %d.\n", pass + 1);
      recurse (0);
      printf ("no endless recursion?!\n"); exit (1);
    case 2:
      *(volatile int *) (page + 0x678) = 42;
      break;
    case 3:
      *(volatile int *) 0 = 42;
      break;
    case 4:
      break;
    default:
      abort ();
    }

  printf ("Test passed.\n");
  exit (0);
}

#else

int
main ()
{
  return 77;
}

#endif
EOF-stackoverflow2.c
cd ..

cd $SAVEDIR

# Now, apply the patch
echo Applying patches.
patch -p1 << \EOF
diff -urN gawk-3.1.6/ChangeLog gawk-3.1.7/ChangeLog
--- gawk-3.1.6/ChangeLog	2007-10-22 08:50:42.000000000 +0200
+++ gawk-3.1.7/ChangeLog	2009-07-21 22:30:29.000000000 +0300
@@ -1,3 +1,489 @@
+Tue Jul 21 22:28:56 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* Release 3.1.7: Release tar file made.
+
+Fri Jul 17 08:35:10 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* awkgram.c: Rebuilt with current Bison (2.4.1).
+
+Thu Jul  9 22:55:17 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* (NEWS README array.c awk.h awkgram.y builtin.c configure 
+	configure.ac custom.h dfa.c ext.c field.c floatcomp.c io.c
+	main.c node.c profile.c re.c replace.c): Update copyrights
+	and other prep for a release.
+
+Thu Jul  9 22:20:04 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* main.c (init_locale): New function to make a deep copy of the
+	struct lconv. Thanks to KIMURA Koichi <kimura.koichi@canon.co.jp>
+	for the info.
+	* eval.c (r_tree_eval): Further improve Node_assign_concat code to
+	temporarily to keep reference counts correct and to get the
+	desired behavior.
+
+Mon Jul  6 20:29:12 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* floatmagic.h: Remove @ signs copied from Texinfo.
+	It would help if I were more awake.
+
+Sat Jul  4 21:55:18 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* Makefile.am (base_sources): Add floatmagic.h so it'll
+	go into the tar ball.
+
+Fri Jul  3 13:47:36 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* profile.c (is_scalar): Add Node_func_call to list.
+	(pp_concat): Make logic smarter for tree created by Node_assign_concat.
+
+Fri Jul  3 13:01:49 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* awkgram.y (optimize_concat): New function that applies
+	Node_assign_concat more generally.
+	* eval.c (r_tree_eval): Improve Node_assign_concat code to temporarily
+	increase the stref on `l' to avoid side effects during evaluation of
+	`r'. This makes test/nasty.awk work. Ouch.
+
+Tue Jun 30 22:10:37 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* floatmagic.h: New file.
+	* builtin.c (format_tree): Use functions defined in floatmagic.h.
+
+Tue Jun 30 21:57:47 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* configure.ac, Makefile.am: Add new --disable-libsigsegv command line
+	option to configure.
+	(LIBSIGSEGV, SEGVINCLUDE, SEGVSUBDIR): New variables that will be empty
+	if libsigsegv is disabled so nothing will happen, and that will have the
+	right values otherwise. They are then substituted into the Makefile.
+
+Wed Jun 24 23:00:10 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* bootstrap.h: Revised. Now works again. We think. (CVS-only file)
+
+Wed Jun 24 21:57:30 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* custom.h: Move z/OS EXIT_FAILURE definition from here to ...
+	* awk.h: Here. Define at end after regular definition.
+
+Thu Jun 18 06:17:38 2009  Scott Deifik  <scottd@amgen.com>
+
+	* awk.h: Don't define HAVE_SIGSEGV_H for DJGPP.
+
+Thu Jun 18 05:38:42 2009  Dave Pitts         <dpitts@cozx.com>
+
+	* custom.h: Changes needed for z/OS.
+
+Wed Jun 10 08:22:53 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* node.c (parse_escape): Add a lint warning if \x.. has more than two
+	hex digits.
+
+2009-06-08  gettextize  <bug-gnu-gettext@gnu.org>
+
+	* configure.ac (AM_GNU_GETTEXT_VERSION): Bump to 0.17.
+
+Mon Jun  8 22:13:49 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	Update to Autoconf 2.63, Automake 1.11, Libtool 2.2.6a
+
+	* ltmain.sh: New file.
+	* configure.ac: Changes to keep infrastructure tools happy.
+	* alocal.m4, configure: Regenerated.
+	* Makefile.in, */Makefile.in: Regenerated.
+
+Mon Jun  8 07:43:25 2009  John DuBois        <spcecdt@armory.com>
+
+	* builtin.c (mbc_byte_count, mbc_char_count): Make sure all declarations
+	come before executable code, for older compilers.
+	* dfa.c (insert): Ditto.
+	* io.c (devoopen): Ditto.
+
+Thu May 21 21:11:44 2009  Arnold D. Robbins  <arnold@skeeve.com>
+ 
+ 	Add simple constant folding.
+ 
+	* awk.h (do_optimize): New declaration.
+	(calc_exp): Add declaration.
+	* eval.c (calc_exp): Make non-static.
+	* main.c (do_optimize): New variable.
+	(opttab): Add new entry for --optimize.
+	(main): Add 'O' to optlist and code for argument parsing.
+	(usage): Update for new option.
+	* awkgram.y (Node_concat, Node_exp, Node_times, Node_quotient, Node_mod,
+	Node_plus, Node_minus): Call `constant_fold' to create the node in
+ 	the tree.
+	(constant_fold): New function.
+
+Fri May 15 16:02:01 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* awk.h (getnode): For MPROF: Fix a typo.
+
+Fri May 15 14:10:44 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	Function arguments cannot be reserved variable names, per POSIX.
+
+	* main.c (struct varinit): Add flags member.
+	(varinit): Add values for flags member (one or both of NON_STANDARD
+	or NO_INSTALL). Add entries for the rest of the gawk variables and
+	sort them, so that the table can be searched by ...
+	(is_std_var): New routine to see if a name is a standard variable.
+	* awk.h (is_std_var): Add declaration.
+	* awkgram.y (func_install): Use new routine and issue error.
+
+Wed Apr 22 07:42:05 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* builtin.c (sub_common): In code for handling \<dig> replacements,
+	first make sure that <dig> is within the range of parentheses sets
+	given, and then make sure that the subpattern start is not -1, meaning
+	that something actually matched. Thanks to  Martin Olsson
+	<mnemo@minimum.se> for the bug report.
+	(do_length): Add a lint warning if `length' is passed an untyped
+	argument.
+
+Thu Apr 16 22:59:32 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* eval.c (func_call): Save nloops_active; if after function returns
+	the actual nloops_active is greater than the saved value, it means
+	there was a return inside the loop body, so pop off the necessary
+	number of loops.  Bug reported by Aleksey Cheusov <a.cheusov@gmail.com>.
+	Gawk was not leaking memory - that is, things were still pointed
+	to, but memory use could keep on growing.
+
+Fri Mar 27 10:59:11 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* builtin.c (format_tree): Add lint warnings for fieldwidth and/or
+	precision in %%, and add lint warning for unknown format specifier
+	(e.g. %b). Thanks to "joanes.polus" <joanes.polus@laposte.net> for
+	the report.
+
+Wed Mar 18 18:15:41 2009	Pat Rankin	<rankin@pactechdata.com>
+
+	* awk.h (EXIT_SUCCESS, EXIT_FAILURE): Move VMS-specific values
+	to vms/vms-conf.h.
+	(EXIT_FATAL): Define here instead of in msg.c.
+	* msg.c (EXIT_FATAL): Move definition to awk.h.
+
+Mon Mar 16 18:58:09 2009	Pat Rankin	<rankin@pactechdata.com>
+
+	* main.c [#if HAVE_SIGSEGV_H]: For the #else case (VMS),
+	(stackoverflow_context_t): Dummy typedef for use in prototypes;
+	(stackoverflow_install_handler): Make macro expand to 0 rather
+	than nothing so that (void) cast on invocation of it works.
+
+	* main.c (catchstackoverflow): Don't return 0 from void function.
+
+Wed Feb 25 21:34:14 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* awkgram.y (tokentab): Have only one copy of BEGIN / END.
+	(tokcompare): New function.
+	(check_special): Sort tokentab for EBCDIC systems.
+
+Sun Feb 15 22:39:30 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* profile.c (pp_delete): Print tree->exec_count to actually get
+	the value printed. Thanks to Hermann Peifer <peifer@gmx.eu>
+	for reporting the bug.
+
+Thu Feb 12 21:54:34 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* awkgram.y: Change to use EXIT_FAILURE.
+	* msg.c [EXIT_FATAL]: New macro.
+	* msg.c (r_fatal): Change to use EXIT_FATAL.
+	Thanks to Pat Rankin for pointing these out.
+	* re.c (reflags2str): Account for RE_SYNTAX_EMACS.
+	* awk.h: If not VMS, define HAVE_SIGSEGV_H.
+	* main.c: Check HAVE_SIGSEGV_H before including <sigsegv.h>. If not
+	there, define dummy macros.
+	(catchsegv, catchstackoverflow): Remove unneeded comment. Add return 0
+	for compilers that care.
+
+Mon Feb  9 05:24:52 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* awk.h [CONST]: Renamed CONSTANT to avoid conflict with libsigsegv
+	on Windows.
+	* awkgram.y, field.c, re.c: Update all uses.
+
+Tue Feb  3 22:46:59 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* io.c (do_close): Wrap updating of ERRNO in check for not
+	do_traditional.
+
+Sat Jan 31 23:14:00 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* builtin.c (format_tree): For '%s', don't count the multibyte
+	characters if we are just copying all the characters. Gives
+	big speedup. Thanks to  Hirofumi Saito <hi_saito@yk.rim.or.jp>
+	for reporting the problem.
+
+Thu Jan 29 21:14:30 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* field.c (parse_field, re_parse_field, def_parse_field,
+	posix_def_parse_field, null_parse_field, sc_parse_field,
+	fw_parse_field): Add new last arg `in_middle'.  Ignored by all
+	except re_parse_field.
+	(re_parse_field): Enhance logic to only allow ^ in a regex to match
+	if indeed at the beginning of a record.
+	(getfield): Adjust call to parse_field.
+
+Tue Jan 27 21:42:47 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	Changes suggested by Toni Schilling <Schilling@equicon.de>,
+	as modified by feedback from Pat Rankin, and some help
+	from me.
+
+	* awk.h [WEXITSTATUS]: Improve definition for MSC and VMS.
+	[EXIT_SUCCESS, EXIT_FAILURE]: Define if they aren't.
+	* io.c, main.c, profile.c: Switch to using EXIT_xxx instead of
+	0 and 1.
+	(main): Use constants instead of 0/1 for exit_val variable.
+	* eval.c (interpret): Map exit value from `exit' statement into
+	success / fail constants for VMS for exit_val variable.
+
+Tue Jan 20 07:35:34 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* regex.h: Define __USE_GNU if not _LIBC; needed for non-GLIBC
+	systems such as, oh say, Mac OS X.
+
+Tue Jan 13 09:23:40 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* regex.c, regex_internal.h: Remove some changes that are no
+	longer needed after sync with GLIBC.
+
+Mon Jan 12 22:27:10 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	Bi-annual sync with GLIBC.
+
+	* regexec.c, regex.h, regex_internal.c, regcomp.c, regex_internal.h,
+	regex.c: Reapply any portability patches specific to gawk.
+	* getopt.c: Sync with GLIBC.
+
+	Base versions:
+		getopt.c		1.57	Thu Jan  8 20:02:05 2009		
+		getopt.h		1.21	Fri Mar 19 00:19:32 2004		
+		getopt1.c		1.10	Tue Mar  9 10:35:37 2004		
+		getopt_int.h		1.1	Tue Mar  9 10:31:19 2004		
+		regex.c			1.129	Tue Sep  6 20:49:44 2005		
+		regexec.c		1.99	Thu Jan  8 20:02:06 2009		
+		regexec.c		1.99	Thu Jan  8 20:02:06 2009		
+		regex.h			1.43	Wed Jan 16 10:09:47 2008		
+		regex_internal.c	1.69	Thu Jan  8 20:02:06 2009		
+		regex_internal.h	1.76	Thu Jan  8 20:02:06 2009		
+		regcomp.c		1.120	Thu Jan  8 20:02:06 2009		
+
+Mon Jan  5 23:07:58 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* io.c (devopen): Add a retry to calls to socketopen. Tunable
+	via undocumented GAWK_SOCK_RETRIES environment variable. Based
+	on code from Juergen Kahrs <Juergen.Kahrs@vr-web.de> after a
+	suggestion from Hermann Peifer <peifer@gmx.eu>.
+
+Mon Jan  5 22:48:39 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* io.c (redirect): A getline from a directory is no longer
+	fatal; instead it returns -1. Thanks to Paolo <oopla@users.sf.net>
+	for the report.
+
+Mon Dec 29 22:04:57 2008  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* builtin.c (format_tree): Case for 's', improve logic for setting
+	the number of characters to copy, also at pr_tail. Based on
+	bug report by Hermann Peifer <peifer@gmx.net>.
+
+Thu Dec 11 21:23:50 2008  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* builtin.c (do_length): If the wide string has zero length
+	but the bytes are more than zero, use the number of bytes.
+	(do_index): Similar also: fall back to byte count if the
+	bytes don't make a wide-character string.
+	Bug reported by "Carlos G." <charlie.brown.uy@gmail.com>
+
+	(do_substr): If defaulting to length of rest of the string,
+	do it based on the wide char string if it's valid.
+
+Fri Dec  5 11:12:11 2008  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* io.c (free_rp): New function.
+	(redirect): Improved logic for yesterday's change, including
+	use of free_rp.
+	(close_redir): Use free_rp.
+
+Thu Dec  4 22:35:05 2008  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* io.c (redirect): Only put the new struct redirect into
+	the list if the file or pipe could actually be opened. Fixes
+	a bug with the wrong return value of close, noticed by
+	Seb <sbb@tuxfamily.org>.
+	* dfa.c (parse_bracket_exp_mb): Don't zero out work_mbc->chars
+	after we malloc'ed it. Fixes a leak found by valgrind when
+	using UTF-8.  (Hmmm. This got fixed in January 2007; It seems
+	to have crept back into the code in the August 2007 merge with
+	GNU grep. Sigh.)
+
+Mon Oct 20 11:47:59 2008  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* configure.ac: Add -g3 and -gdwarf-2 to CFLAGS if compiling with
+	GCC and doing development. Should have done this ages ago.
+
+Sun Aug 31 22:03:55 2008  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* eval.c (set_BINMODE): Tighten up the code to even more so
+	that it matches the documentation.
+
+Mon Aug 25 22:41:47 2008  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* eval.c (set_BINMODE): Tighten up the code to only allow
+	certain reasonable values when setting BINMODE.
+
+Fri Aug 22 14:43:49 2008  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* io.c (nextfile): Users Strong In The Ways Of The Source can use
+	non-existant files on the command line without it being a fatal error.
+
+Wed Jul 30 23:10:51 2008  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* re.c (research): Don't ever use DFA if need_start. It can
+	break on some weird cases.  Reported by
+	 "T. X. G." <leopardie333@yahoo.com>.
+
+Wed Jul 30 22:27:20 2008  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* builtin.c (do_match): Add MAYBE_NUM flag to elements of array
+	created by `match' since data could come from user. Similar
+	semantics to `split'. Thanks to Dr. Dirk Zimoch <dirk.zimoch@psi.ch>
+	for reporting the bug.
+
+Tue Jun 24 07:44:06 2008  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* dfa.c (insert): Reworked for significant speed improvement
+	by Johan Walles <johan.walles@gmail.com>. Imported from grep
+	bug list.
+	* profile.c (tree_eval): Do a return after all the built-in
+	variables instead of a break. Thanks again to Hermann Peifer
+	<peifer@gmx.eu> for finding the problem.
+
+Sun Jun 22 23:08:14 2008  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* node.c (format_val): Restore old code to use %ld when the value
+	is within the range of a long; improves performance noticably for
+	applications that convert integers to strings.  Use %.0f only for
+	integral values that are outside the range of a long. Thanks to
+	Hermann Peifer <peifer@gmx.eu> for pointing out the existence
+	of a problem.
+
+Fri May 23 12:08:24 2008  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* dfa.c (epsclosure): Change type of `visited' from int to char for
+	potential speedup. Based on bug report to bug-grep list from
+	Johan Walles <johan.walles@gmail.com>.
+
+Wed May 14 05:55:48 2008  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* builtin.c (format_tree): For `%c' case, add a lint warning
+	if the value is greater than 255.
+	(mbc_byte_count, mbc_char_count): Remove unused variable `i'.
+
+Thu Apr 24 20:31:03 2008  Bruno Haible       <bruno@clisp.org>
+
+	* main.c (main): Move call to catch SIGBUS to before installation of
+	libsigsegv handler, since on some systems libsigsegv installs its
+	own handler for SIGBUS.
+	[STACK_SIZE]: Add a constant instead of inline. ADR.
+
+Wed Apr 23 22:30:27 2008  Duncan Moore       <duncan.m00re@btinternet.com>
+
+	* builtin.c (state): Do as an integer array for systems that need it.
+	(do_rand, init_rand): Modify call to `initstate' as needed.
+
+Wed Apr 23 22:22:06 2008  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* dfa.c (prednames): Add an extra zero to final initializer to
+	silence a compiler warning. Reported by Duncan Moore
+	<duncan.m00re@btinternet.com>.
+
+Wed Apr 23 21:36:06 2008  Steffen Schuler    <schuler.steffen@googlemail.com>
+
+	* field.c (fw_parse_field): Add code for multibyte case.
+
+Sat Mar 15 22:17:21 2008  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* builtin.c (do_length): Handle the case of the parameter being
+	an array that was a function parameter.
+
+Tue Mar 11 22:49:11 2008  Kimura Koichi      <kimura.koichi@canon.co.jp>
+
+	* builtin.c (format_tree): Fix call to mbc_byte_count to pass the
+	right number of characters based on the format type.
+
+Tue Mar 11 22:31:58 2008  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* libsigsegv: Incorporated into the dist.
+	* Makefile.am (SUBDIRS): Added. Make it first so that the library
+	is built before gawk is.
+	(LDADD): Add the library.
+	(AM_CPPFLAGS): Add -I option to find <sigsegv.h> header.
+	* configure.ac: Add call to AC_CONFIG_SUBDIRS for libsigsegv.
+	* main.c (catchsegv, catchstackoverflow): New functions.
+	(main): Call into sigsegv library with them.
+
+Tue Mar  4 21:02:25 2008  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* builtin.c (mbc_char_count, mbc_byte_count): New functions to return
+	the number of m.b. chars there are and the number of bytes needed to
+	copy them.
+	(format_tree): Use them for %s and %c cases to adjust precision and
+	for copying characters at pr_tail label.
+
+Thu Feb 14 14:05:01 2008  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* main.c (init_args): Adjust type of third arg to remove warning from
+	GCC 4.2, add cast in call to make_string.  Bleah.
+
+Fri Jan 25 12:13:39 2008  Dave Pitts         <dpitts@cozx.com>
+
+	* README_d/README.zos: New file.
+	* Makefile.am: Add sed on y.tab.c to convert older Bison "parse error"
+	messages to "syntax error" messages.
+	* configure.ac: Added ZOS_USS changes.
+	* m4/arch.m4: Added ZOS_USS changes.
+	* m4/inttypes_h.m4: Added ZOS_USS changes.
+	* m4/inttypes.m4: Added ZOS_USS changes.
+	* m4/stdint_h.m4: Added ZOS_USS changes.
+	* awkgram.y: Added USE_EBCDIC changes for EBCDIC collating sequence.
+	* awk.h: Added ZOS_USS compile changes.
+	* eval.c: Added EBCDIC casetable and ZOS_USS changes.
+	* regcomp.c: Added btowc function for ZOS_USS.
+	* regex.h: Changed __string to __cstring to avoid ZOS_USS header usage.
+	* regex_internal.h: Added ZOS_USS changes and type defines.
+
+Sun Jan 13 08:16:38 2008  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* dfa.c (epsclosure): Replace MALLOC + zero-out-loop with CALLOC for
+	large potential speedup, based on bug report to bug-grep list from
+	Johan Walles <johan.walles@gmail.com>.
+	(dfaanalyze): Made a similar change.
+
+Fri Dec 21 11:22:16 2007  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* profile.c (pprint): Add a missing `#ifdef PROFILING'.
+
+Thu Dec 13 22:19:19 2007  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* profile.c (parenthesize): Remove "!" from output string.
+	(tree_eval): Fix quotes for delete array case.
+	(pp_var): New function, call it as appropriate everywhere else.
+
+Fri Nov 30 11:11:52 2007  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* io.c (socketopen): Use NULL as first argument to `getaddrinfo'
+	if any_remote_host is true. Should help on Non-GLIBC systems.
+
+Thu Nov 15 22:01:36 2007  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* io.c (two_way_open): Case for ptys. Change search for letters
+	to avoid ASCII / EBCDIC problems.
+
 Mon Oct 22 08:49:05 2007  Arnold D. Robbins  <arnold@skeeve.com>
 
 	* Release 3.1.6: Release tar file made.
@@ -494,7 +980,7 @@
 	From Matthew Woehlke <mwoehlke@tibco.com> for Tandem:
 
 	* awk.h (_TANDEM_SOURCE): Also define _XOPEN_SOURCE_EXTENDED.
-	* io.c: (_TANDEM_SOURCE): Include more headers.
+	* io.c (_TANDEM_SOURCE): Include more headers.
 
 Sat Jan 13 21:53:48 2007  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 
@@ -568,7 +1054,7 @@
 
 	* node.c (free_wstr): Zero wstptr and wstlen only if WSTRCUR
 	flag is set.
-	(str2wstr): Replace invalid `free` call with `free_wstr' call.
+	(str2wstr): Replace invalid `free' call with `free_wstr' call.
 
 Thu Jan  4 16:49:21 2007  Arnold D. Robbins  <arnold@skeeve.com>
 
@@ -618,14 +1104,14 @@
 Tue Jul  4 22:43:05 2006  Arnold D. Robbins  <arnold@skeeve.com>
 
 	* eval.c (interpret): Node_assign_concat case: Turn off NUMBER and
-	 NUMCUR flags in result.  Sheesh. Thanks to
-	 <Heiner.Marxen@DrB.Insel.DE> for finding the problem.
+	NUMCUR flags in result.  Sheesh. Thanks to
+	<Heiner.Marxen@DrB.Insel.DE> for finding the problem.
 
 Mon Jul  3 22:49:44 2006        Pat Rankin      <rankin@pactechdata.com>
 
 	* main.c (load_environ): When AWKPATH is missing from ENVIRON[],
-	  try to find it with getenv("AWKPATH") before resorting to DEFPATH.
-	  Suggested by Galen Tackett.
+	try to find it with getenv("AWKPATH") before resorting to DEFPATH.
+	Suggested by Galen Tackett.
 
 Mon Jul  3 00:27:59 2006  Arnold D. Robbins  <arnold@skeeve.com>
 
@@ -637,7 +1123,7 @@
 Fri Jun 23 15:48:34 2006  Arnold D. Robbins  <arnold@skeeve.com>
 
 	* awkgram.y (subn): At end for `do_sprintf' check, verify
-	that lnode is not NULL before using it assign through.
+	that lnode is not NULL before using it to assign through.
 
 Sun Jun 18 22:27:25 2006  Arnold D. Robbins  <arnold@skeeve.com>
 
@@ -828,7 +1314,7 @@
 	Unrelated changes:
 
 	* builtin.c (do_length): Allow array argument to length().
-	  Returns number of elements in array.
+	Returns number of elements in array.
 
 	* awkgram.y (yylex): Ignore carriage returns in source code. Sigh.
 
@@ -923,12 +1409,12 @@
 
 	* configure.ac: Add type check for `socklen_t', fixes compile
 	warning on AMD/64 Linux.
-	* io.c (socketopen): Change type of socket lenght variables
+	* io.c (socketopen): Change type of socket length variables
 	to `socklen_t' from `size_t'.
 
 Thu May  5 22:00:03 2005  John E. Haque <j.eh@mchsi.com>
 
-	* io.c (iop_alloc): Let a input processor hook installed via
+	* io.c (iop_alloc): Let an input processor hook installed via
 	`register_open_hooks' open its own fd in case gawk does not know
 	how to open it.
 	(iop_open): Call `os_close_on_exec' after `iop_alloc'.
@@ -966,7 +1452,7 @@
 	(custom.h): Don't cat custom.h at the end of config.h; instead, use
 	AH_BOTTOM([#include "custom.h"])
 	* awklib/Makefile.am (AM_CPPFLAGS): Add $(top_srcdir) so that
-	  custom.h can be found.
+	custom.h can be found.
 
 Thu Apr 28 23:21:22 2005  Jim Meyering  <jim@meyering.net>
 
@@ -977,16 +1463,16 @@
 Thu Apr 28 23:05:33 2005  Stepan Kasal  <kasal@ucw.cz>
 
 	* dfa.c (parse_bracket_exp_mb): Shorten one part of the code, to get
-	  closer to grep's copy.
+	closer to grep's copy.
 
 Thu Apr 28 23:00:58 2005  Pat Rankin    <rankin@pactechdata.com>
 
 	* builtin.c (format_tree) [#if VAXCRTL]:  For floating point
-	  formatting, reject zero_flag if using old VAXCRTL run-time
-	  library to avoid getting erroneous results which appear as if
-	  numerically incorrect (due to an embedded space in some cases,
-	  extra trailing zeroes in others) rather than just misformatted.
-	  `hsprint' test still fails, but not as badly.
+	formatting, reject zero_flag if using old VAXCRTL run-time
+	library to avoid getting erroneous results which appear as if
+	numerically incorrect (due to an embedded space in some cases,
+	extra trailing zeroes in others) rather than just misformatted.
+	`hsprint' test still fails, but not as badly.
 
 Thu Apr 28 19:12:03 2005  Arnold D. Robbins    <arnold@skeeve.com>
 
diff -urN gawk-3.1.6/Makefile.am gawk-3.1.7/Makefile.am
--- gawk-3.1.6/Makefile.am	2007-10-14 23:19:49.000000000 +0200
+++ gawk-3.1.7/Makefile.am	2009-07-04 21:51:42.000000000 +0300
@@ -68,6 +68,7 @@
 # Build explicitly in "." in order to build gawk first, so
 # that `make check' without a prior `make' works.
 SUBDIRS = \
+	$(SEGVSUBDIR) \
 	. \
 	awklib \
 	doc \
@@ -89,6 +90,7 @@
 	ext.c \
 	field.c \
 	floatcomp.c \
+	floatmagic.h \
 	gawkmisc.c \
 	getopt.c \
 	getopt.h \
@@ -114,7 +116,7 @@
 pgawk_SOURCES = $(base_sources) eval_p.c profile_p.c
 
 # Get extra libs as needed, Automake will supply LIBINTL and SOCKET_LIBS.
-LDADD = $(LIBINTL) $(SOCKET_LIBS)
+LDADD = $(LIBSIGSEGV) $(LIBINTL) $(SOCKET_LIBS)
 
 # Directory for gawk's data files. Automake supplies datadir.
 pkgdatadir = $(datadir)/awk
@@ -124,7 +126,7 @@
 
 DEFS= -DDEFPATH=$(DEFPATH) -DHAVE_CONFIG_H -DGAWK -DLOCALEDIR="\"$(datadir)/locale\""
 
-AM_CPPFLAGS =
+AM_CPPFLAGS = $(SEGVINCLUDE)
 
 # Get rid of core files when cleaning
 CLEANFILES = core core.*
@@ -168,7 +170,7 @@
 # Special rules for individual files
 awkgram.c: awkgram.y
 	$(YACC) $(AM_YFLAGS) $(YFLAGS) $<
-	$(AWK) -f $(srcdir)/bisonfix.awk y.tab.c > $*.c && rm y.tab.c
+	sed 's/parse error/syntax error/g' < y.tab.c | $(AWK) -f $(srcdir)/bisonfix.awk > $*.c && rm y.tab.c
 	if test -f y.tab.h; then \
 	if cmp -s y.tab.h $*.h; then rm -f y.tab.h; else mv y.tab.h $*.h; fi; \
 	else :; fi
diff -urN gawk-3.1.6/Makefile.in gawk-3.1.7/Makefile.in
--- gawk-3.1.6/Makefile.in	2007-10-22 08:52:01.000000000 +0200
+++ gawk-3.1.7/Makefile.in	2009-07-21 22:29:59.000000000 +0300
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10 from Makefile.am.
+# Makefile.in generated by automake 1.11 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
 # This Makefile.in 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.
@@ -38,8 +39,9 @@
 #
 
 VPATH = @srcdir@
-pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_PROGRAM = $(install_sh) -c
@@ -60,7 +62,7 @@
 	$(srcdir)/Makefile.in $(srcdir)/configh.in \
 	$(top_srcdir)/configure ABOUT-NLS AUTHORS COPYING ChangeLog \
 	INSTALL NEWS awkgram.c config.guess config.rpath config.sub \
-	depcomp install-sh missing mkinstalldirs ylwrap
+	depcomp install-sh ltmain.sh missing mkinstalldirs ylwrap
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/arch.m4 \
 	$(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gettext.m4 \
@@ -68,11 +70,13 @@
 	$(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/isc-posix.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/longlong.m4 $(top_srcdir)/m4/nls.m4 \
-	$(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
-	$(top_srcdir)/m4/socket.m4 $(top_srcdir)/m4/stdint_h.m4 \
-	$(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \
-	$(top_srcdir)/configure.ac
+	$(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/po.m4 \
+	$(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/socket.m4 \
+	$(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/uintmax_t.m4 \
+	$(top_srcdir)/m4/ulonglong.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 \
@@ -80,8 +84,8 @@
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = config.h
 CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
 am__installdirs = "$(DESTDIR)$(bindir)"
-binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
 PROGRAMS = $(bin_PROGRAMS)
 am__objects_1 = array.$(OBJEXT) awkgram.$(OBJEXT) builtin.$(OBJEXT) \
 	dfa.$(OBJEXT) ext.$(OBJEXT) field.$(OBJEXT) \
@@ -93,20 +97,30 @@
 gawk_OBJECTS = $(am_gawk_OBJECTS)
 gawk_LDADD = $(LDADD)
 am__DEPENDENCIES_1 =
-gawk_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
+gawk_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+	$(am__DEPENDENCIES_1)
 am_pgawk_OBJECTS = $(am__objects_1) eval_p.$(OBJEXT) \
 	profile_p.$(OBJEXT)
 pgawk_OBJECTS = $(am_pgawk_OBJECTS)
 pgawk_LDADD = $(LDADD)
-pgawk_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
+pgawk_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+	$(am__DEPENDENCIES_1)
 DEFAULT_INCLUDES = -I.@am__isrc@
 depcomp = $(SHELL) $(top_srcdir)/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)
 CCLD = $(CC)
-LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
 YACCCOMPILE = $(YACC) $(YFLAGS) $(AM_YFLAGS)
+LTYACCCOMPILE = $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+	--mode=compile $(YACC) $(YFLAGS) $(AM_YFLAGS)
 YLWRAP = $(top_srcdir)/ylwrap
 SOURCES = $(gawk_SOURCES) $(pgawk_SOURCES)
 DIST_SOURCES = $(gawk_SOURCES) $(pgawk_SOURCES)
@@ -119,6 +133,9 @@
 	ps-recursive uninstall-recursive
 RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
   distclean-recursive maintainer-clean-recursive
+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+	$(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+	distdir dist dist-all distcheck
 ETAGS = etags
 CTAGS = ctags
 DIST_SUBDIRS = $(SUBDIRS)
@@ -126,9 +143,34 @@
 distdir = $(PACKAGE)-$(VERSION)
 top_distdir = $(distdir)
 am__remove_distdir = \
-  { test ! -d $(distdir) \
-    || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
-         && rm -fr $(distdir); }; }
+  { test ! -d "$(distdir)" \
+    || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
+         && rm -fr "$(distdir)"; }; }
+am__relativize = \
+  dir0=`pwd`; \
+  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+  sed_rest='s,^[^/]*/*,,'; \
+  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+  sed_butlast='s,/*[^/]*$$,,'; \
+  while test -n "$$dir1"; do \
+    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+    if test "$$first" != "."; then \
+      if test "$$first" = ".."; then \
+        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+      else \
+        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+        if test "$$first2" = "$$first"; then \
+          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+        else \
+          dir2="../$$dir2"; \
+        fi; \
+        dir0="$$dir0"/"$$first"; \
+      fi; \
+    fi; \
+    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+  done; \
+  reldir="$$dir2"
 DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2
 GZIP_ENV = --best
 distuninstallcheck_listfiles = find . -type f -print
@@ -138,6 +180,7 @@
 pkgdatadir = $(datadir)/awk
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AR = @AR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
@@ -150,11 +193,15 @@
 CYGPATH_W = @CYGPATH_W@
 DEFS = -DDEFPATH=$(DEFPATH) -DHAVE_CONFIG_H -DGAWK -DLOCALEDIR="\"$(datadir)/locale\""
 DEPDIR = @DEPDIR@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
 EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
@@ -165,11 +212,15 @@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
 INTLLIBS = @INTLLIBS@
 INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBICONV = @LIBICONV@
 LIBINTL = @LIBINTL@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
+LIBSIGSEGV = @LIBSIGSEGV@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
 LN_S = @LN_S@
 LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
@@ -179,7 +230,12 @@
 MSGFMT = @MSGFMT@
 MSGFMT_015 = @MSGFMT_015@
 MSGMERGE = @MSGMERGE@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
@@ -189,6 +245,9 @@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 POSUB = @POSUB@
 RANLIB = @RANLIB@
+SED = @SED@
+SEGVINCLUDE = @SEGVINCLUDE@
+SEGVSUBDIR = @SEGVSUBDIR@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SOCKET_LIBS = @SOCKET_LIBS@
@@ -198,6 +257,7 @@
 VERSION = @VERSION@
 XGETTEXT = @XGETTEXT@
 XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
 YACC = @YACC@
 YFLAGS = @YFLAGS@
 abs_builddir = @abs_builddir@
@@ -205,6 +265,7 @@
 abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
 ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
 am__quote = @am__quote@
@@ -235,6 +296,7 @@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
 oldincludedir = @oldincludedir@
@@ -245,8 +307,10 @@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
+subdirs = @subdirs@
 sysconfdir = @sysconfdir@
 target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 
@@ -296,6 +360,7 @@
 # Build explicitly in "." in order to build gawk first, so
 # that `make check' without a prior `make' works.
 SUBDIRS = \
+	$(SEGVSUBDIR) \
 	. \
 	awklib \
 	doc \
@@ -315,6 +380,7 @@
 	ext.c \
 	field.c \
 	floatcomp.c \
+	floatmagic.h \
 	gawkmisc.c \
 	getopt.c \
 	getopt.h \
@@ -340,11 +406,11 @@
 pgawk_SOURCES = $(base_sources) eval_p.c profile_p.c
 
 # Get extra libs as needed, Automake will supply LIBINTL and SOCKET_LIBS.
-LDADD = $(LIBINTL) $(SOCKET_LIBS)
+LDADD = $(LIBSIGSEGV) $(LIBINTL) $(SOCKET_LIBS)
 
 # stuff for compiling gawk/pgawk
 DEFPATH = "\".$(PATH_SEPARATOR)$(pkgdatadir)\""
-AM_CPPFLAGS = 
+AM_CPPFLAGS = $(SEGVINCLUDE)
 
 # Get rid of core files when cleaning
 CLEANFILES = core core.*
@@ -356,22 +422,22 @@
 	$(MAKE) $(AM_MAKEFLAGS) all-recursive
 
 .SUFFIXES:
-.SUFFIXES: .c .o .obj .y
+.SUFFIXES: .c .lo .o .obj .y
 am--refresh:
 	@:
 $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
 	    *$$dep*) \
-	      echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \
-	      cd $(srcdir) && $(AUTOMAKE) --gnu  \
+	      echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \
+	      $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \
 		&& exit 0; \
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  Makefile'; \
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --gnu  Makefile
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
@@ -387,9 +453,10 @@
 	$(SHELL) ./config.status --recheck
 
 $(top_srcdir)/configure:  $(am__configure_deps)
-	cd $(srcdir) && $(AUTOCONF)
+	$(am__cd) $(srcdir) && $(AUTOCONF)
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
-	cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+	$(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+$(am__aclocal_m4_deps):
 
 config.h: stamp-h1
 	@if test ! -f $@; then \
@@ -401,7 +468,7 @@
 	@rm -f stamp-h1
 	cd $(top_builddir) && $(SHELL) ./config.status config.h
 $(srcdir)/configh.in:  $(am__configure_deps) 
-	cd $(top_srcdir) && $(AUTOHEADER)
+	($(am__cd) $(top_srcdir) && $(AUTOHEADER))
 	rm -f stamp-h1
 	touch $@
 
@@ -410,26 +477,46 @@
 install-binPROGRAMS: $(bin_PROGRAMS)
 	@$(NORMAL_INSTALL)
 	test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
-	@list='$(bin_PROGRAMS)'; for p in $$list; do \
-	  p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
-	  if test -f $$p \
-	  ; then \
-	    f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
-	   echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
-	   $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
-	  else :; fi; \
-	done
+	@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+	for p in $$list; do echo "$$p $$p"; done | \
+	sed 's/$(EXEEXT)$$//' | \
+	while read p p1; do if test -f $$p || test -f $$p1; \
+	  then echo "$$p"; echo "$$p"; else :; fi; \
+	done | \
+	sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+	    -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+	sed 'N;N;N;s,\n, ,g' | \
+	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+	  { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+	    if ($$2 == $$4) files[d] = files[d] " " $$1; \
+	    else { print "f", $$3 "/" $$4, $$1; } } \
+	  END { for (d in files) print "f", d, files[d] }' | \
+	while read type dir files; do \
+	    if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+	    test -z "$$files" || { \
+	    echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+	    $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+	    } \
+	; done
 
 uninstall-binPROGRAMS:
 	@$(NORMAL_UNINSTALL)
-	@list='$(bin_PROGRAMS)'; for p in $$list; do \
-	  f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
-	  echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
-	  rm -f "$(DESTDIR)$(bindir)/$$f"; \
-	done
+	@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+	files=`for p in $$list; do echo "$$p"; done | \
+	  sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+	      -e 's/$$/$(EXEEXT)/' `; \
+	test -n "$$list" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(bindir)" && rm -f $$files
 
 clean-binPROGRAMS:
-	-test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
+	@list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
+	echo " rm -f" $$list; \
+	rm -f $$list || exit $$?; \
+	test -n "$(EXEEXT)" || exit 0; \
+	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+	echo " rm -f" $$list; \
+	rm -f $$list
 gawk$(EXEEXT): $(gawk_OBJECTS) $(gawk_DEPENDENCIES) 
 	@rm -f gawk$(EXEEXT)
 	$(LINK) $(gawk_OBJECTS) $(gawk_LDADD) $(LIBS)
@@ -469,21 +556,37 @@
 
 .c.o:
 @am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @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@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @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
+@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 $@ $<
+
 .y.c:
 	$(am__skipyacc) $(SHELL) $(YLWRAP) $< y.tab.c $@ y.tab.h $*.h y.output $*.output -- $(YACCCOMPILE)
 
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
+distclean-libtool:
+	-rm -f libtool config.lt
+
 # This directory's subdirectories are mostly independent; you can cd
 # into them and run `make' without going through this Makefile.
 # To change the values of `make' variables: instead of editing Makefiles,
@@ -508,7 +611,7 @@
 	  else \
 	    local_target="$$target"; \
 	  fi; \
-	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
 	  || eval $$failcom; \
 	done; \
 	if test "$$dot_seen" = "no"; then \
@@ -542,16 +645,16 @@
 	  else \
 	    local_target="$$target"; \
 	  fi; \
-	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
 	  || eval $$failcom; \
 	done && test -z "$$fail"
 tags-recursive:
 	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
 	done
 ctags-recursive:
 	list='$(SUBDIRS)'; for subdir in $$list; do \
-	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
 	done
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
@@ -559,14 +662,14 @@
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
-	  $(AWK) '    { files[$$0] = 1; } \
-	       END { for (i in files) print i; }'`; \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	mkid -fID $$unique
 tags: TAGS
 
 TAGS: tags-recursive $(HEADERS) $(SOURCES) configh.in $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
+	set x; \
 	here=`pwd`; \
 	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
 	  include_option=--etags-include; \
@@ -578,46 +681,50 @@
 	list='$(SUBDIRS)'; for subdir in $$list; do \
 	  if test "$$subdir" = .; then :; else \
 	    test ! -f $$subdir/TAGS || \
-	      tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
+	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
 	  fi; \
 	done; \
 	list='$(SOURCES) $(HEADERS) configh.in $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
-	  $(AWK) '    { files[$$0] = 1; } \
-	       END { for (i in files) print i; }'`; \
-	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
 	  test -n "$$unique" || unique=$$empty_fix; \
-	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	    $$tags $$unique; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
 	fi
 ctags: CTAGS
 CTAGS: ctags-recursive $(HEADERS) $(SOURCES) configh.in $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
-	here=`pwd`; \
 	list='$(SOURCES) $(HEADERS) configh.in $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
-	  $(AWK) '    { files[$$0] = 1; } \
-	       END { for (i in files) print i; }'`; \
-	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	test -z "$(CTAGS_ARGS)$$unique" \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$tags $$unique
+	     $$unique
 
 GTAGS:
 	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && cd $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) $$here
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
 
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
 
 distdir: $(DISTFILES)
 	$(am__remove_distdir)
-	test -d $(distdir) || mkdir $(distdir)
+	test -d "$(distdir)" || mkdir "$(distdir)"
 	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
 	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
 	list='$(DISTFILES)'; \
@@ -633,29 +740,44 @@
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -d $$d/$$file; then \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
 	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
 	    || exit 1; \
 	  fi; \
 	done
-	list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
 	  if test "$$subdir" = .; then :; else \
 	    test -d "$(distdir)/$$subdir" \
 	    || $(MKDIR_P) "$(distdir)/$$subdir" \
 	    || exit 1; \
-	    distdir=`$(am__cd) $(distdir) && pwd`; \
-	    top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
-	    (cd $$subdir && \
+	  fi; \
+	done
+	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+	    $(am__relativize); \
+	    new_distdir=$$reldir; \
+	    dir1=$$subdir; dir2="$(top_distdir)"; \
+	    $(am__relativize); \
+	    new_top_distdir=$$reldir; \
+	    echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+	    echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+	    ($(am__cd) $$subdir && \
 	      $(MAKE) $(AM_MAKEFLAGS) \
-	        top_distdir="$$top_distdir" \
-	        distdir="$$distdir/$$subdir" \
+	        top_distdir="$$new_top_distdir" \
+	        distdir="$$new_distdir" \
 		am__remove_distdir=: \
 		am__skip_length_check=: \
+		am__skip_mode_fix=: \
 	        distdir) \
 	      || exit 1; \
 	  fi; \
@@ -663,11 +785,12 @@
 	$(MAKE) $(AM_MAKEFLAGS) \
 	  top_distdir="$(top_distdir)" distdir="$(distdir)" \
 	  dist-hook
-	-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+	-test -n "$(am__skip_mode_fix)" \
+	|| find "$(distdir)" -type d ! -perm -777 -exec chmod a+rwx {} \; -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 {} {} \; \
-	|| chmod -R a+r $(distdir)
+	|| chmod -R a+r "$(distdir)"
 dist-gzip: distdir
 	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
 	$(am__remove_distdir)
@@ -675,6 +798,14 @@
 	tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
 	$(am__remove_distdir)
 
+dist-lzma: distdir
+	tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
+	$(am__remove_distdir)
+
+dist-xz: distdir
+	tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
+	$(am__remove_distdir)
+
 dist-tarZ: distdir
 	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
 	$(am__remove_distdir)
@@ -702,6 +833,10 @@
 	  GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
 	*.tar.bz2*) \
 	  bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
+	*.tar.lzma*) \
+	  unlzma -c $(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*) \
@@ -713,9 +848,11 @@
 	mkdir $(distdir)/_build
 	mkdir $(distdir)/_inst
 	chmod a-w $(distdir)
+	test -d $(distdir)/_build || exit 0; \
 	dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
 	  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
-	  && cd $(distdir)/_build \
+	  && am__cwd=`pwd` \
+	  && $(am__cd) $(distdir)/_build \
 	  && ../configure --srcdir=.. --prefix="$$dc_install_base" \
 	    $(DISTCHECK_CONFIGURE_FLAGS) \
 	  && $(MAKE) $(AM_MAKEFLAGS) \
@@ -737,13 +874,15 @@
 	  && rm -rf "$$dc_destdir" \
 	  && $(MAKE) $(AM_MAKEFLAGS) dist \
 	  && rm -rf $(DIST_ARCHIVES) \
-	  && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
+	  && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
+	  && cd "$$am__cwd" \
+	  || exit 1
 	$(am__remove_distdir)
 	@(echo "$(distdir) archives ready for distribution: "; \
 	  list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
 	  sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
 distuninstallcheck:
-	@cd $(distuninstallcheck_dir) \
+	@$(am__cd) '$(distuninstallcheck_dir)' \
 	&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
 	   || { echo "ERROR: files left after uninstall:" ; \
 	        if test -n "$(DESTDIR)"; then \
@@ -790,6 +929,7 @@
 
 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)
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
@@ -798,14 +938,14 @@
 	-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
 clean: clean-recursive
 
-clean-am: clean-binPROGRAMS clean-generic mostlyclean-am
+clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
 
 distclean: distclean-recursive
 	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
 	-rm -rf ./$(DEPDIR)
 	-rm -f Makefile
 distclean-am: clean-am distclean-compile distclean-generic \
-	distclean-hdr distclean-tags
+	distclean-hdr distclean-libtool distclean-tags
 
 dvi: dvi-recursive
 
@@ -813,6 +953,8 @@
 
 html: html-recursive
 
+html-am:
+
 info: info-recursive
 
 info-am:
@@ -821,20 +963,29 @@
 
 install-dvi: install-dvi-recursive
 
+install-dvi-am:
+
 install-exec-am: install-binPROGRAMS
 	@$(NORMAL_INSTALL)
 	$(MAKE) $(AM_MAKEFLAGS) install-exec-hook
-
 install-html: install-html-recursive
 
+install-html-am:
+
 install-info: install-info-recursive
 
+install-info-am:
+
 install-man:
 
 install-pdf: install-pdf-recursive
 
+install-pdf-am:
+
 install-ps: install-ps-recursive
 
+install-ps-am:
+
 installcheck-am:
 
 maintainer-clean: maintainer-clean-recursive
@@ -846,7 +997,8 @@
 
 mostlyclean: mostlyclean-recursive
 
-mostlyclean-am: mostlyclean-compile mostlyclean-generic
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+	mostlyclean-libtool
 
 pdf: pdf-recursive
 
@@ -858,25 +1010,27 @@
 
 uninstall-am: uninstall-binPROGRAMS
 
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
-	install-exec-am install-strip
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check-am \
+	ctags-recursive install-am install-exec-am install-strip \
+	tags-recursive
 
 .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
 	all all-am am--refresh check check-am check-local clean \
-	clean-binPROGRAMS clean-generic ctags ctags-recursive dist \
-	dist-all dist-bzip2 dist-gzip dist-hook dist-shar dist-tarZ \
-	dist-zip distcheck distclean distclean-compile \
-	distclean-generic distclean-hdr distclean-tags distcleancheck \
-	distdir distuninstallcheck dvi dvi-am html html-am info \
-	info-am install install-am install-binPROGRAMS install-data \
+	clean-binPROGRAMS clean-generic clean-libtool ctags \
+	ctags-recursive dist dist-all dist-bzip2 dist-gzip dist-hook \
+	dist-lzma dist-shar dist-tarZ dist-xz dist-zip distcheck \
+	distclean distclean-compile distclean-generic distclean-hdr \
+	distclean-libtool distclean-tags distcleancheck distdir \
+	distuninstallcheck dvi dvi-am html html-am info info-am \
+	install install-am install-binPROGRAMS install-data \
 	install-data-am install-dvi install-dvi-am install-exec \
 	install-exec-am install-exec-hook 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 pdf pdf-am ps ps-am \
-	tags tags-recursive uninstall uninstall-am \
+	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+	pdf pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \
 	uninstall-binPROGRAMS
 
 
@@ -914,7 +1068,7 @@
 # Special rules for individual files
 awkgram.c: awkgram.y
 	$(YACC) $(AM_YFLAGS) $(YFLAGS) $<
-	$(AWK) -f $(srcdir)/bisonfix.awk y.tab.c > $*.c && rm y.tab.c
+	sed 's/parse error/syntax error/g' < y.tab.c | $(AWK) -f $(srcdir)/bisonfix.awk > $*.c && rm y.tab.c
 	if test -f y.tab.h; then \
 	if cmp -s y.tab.h $*.h; then rm -f y.tab.h; else mv y.tab.h $*.h; fi; \
 	else :; fi
@@ -933,6 +1087,7 @@
 	cd test; rm -f log.[0-9]*; \
 	make check AWK="valgrind --log-file=log ../gawk"; \
 	make valgrind-scan
+
 # 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:
diff -urN gawk-3.1.6/NEWS gawk-3.1.7/NEWS
--- gawk-3.1.6/NEWS	2007-09-25 07:58:23.000000000 +0200
+++ gawk-3.1.7/NEWS	2009-07-17 08:37:23.000000000 +0300
@@ -1,10 +1,45 @@
    Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-   2005, 2006, 2007 Free Software Foundation, Inc.
+   2005, 2006, 2007, 2009 Free Software Foundation, Inc.
    
    Copying and distribution of this file, with or without modification,
    are permitted in any medium without royalty provided the copyright
    notice and this notice are preserved.
  
+Changes from 3.1.6 to 3.1.7
+---------------------------
+1. Gawk now has support for z/OS (IBM S/390 architecture).
+
+2. Gawk now handles multibyte strings better in [s]printf with field
+   widths and such.
+
+3. Gawk now uses libsigsegv to print a message before core dumping. This
+   handles infinite recursion of an awk function a little better.
+   Use of the library can be disabled at configure time with the
+   --disable-libsigsegv option for unusual systems.
+
+4. The handling of BINMODE is now somewhat more sane.
+
+5. A getline from a directory is no longer fatal; instead it returns -1.
+
+6. Per POSIX, special variable names (like FS) cannot be used as function
+   parameter names.
+
+7. The new -O / --optimize option enables simple constant folding on
+   the parse tree during parsing.  We hope that with time the number
+   of optimizations will increase.
+
+8. Updated to the latest autotools: Autoconf 2.63, Automake 1.11,
+   Libtool 2.2.6a, and Gettext 0.17. Also latest Bison: 2.4.1.
+
+9. Some improvement in testing for isinf / isnan in builtin.c.
+
+10. Improved the handling of `a = a b c' to be more general.
+
+11. Locale handling for %'d should now work on certain non-Unix /
+    non-Linux systems.
+
+12. Lots of bugs fixed, see the ChangeLog for the details.
+ 
 Changes from 3.1.5 to 3.1.6
 ---------------------------
 
diff -urN gawk-3.1.6/README gawk-3.1.7/README
--- gawk-3.1.6/README	2007-06-04 01:10:57.000000000 +0300
+++ gawk-3.1.7/README	2009-07-09 22:38:49.000000000 +0300
@@ -1,4 +1,4 @@
-  Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc.
+  Copyright (C) 2005, 2006, 2007, 2009 Free Software Foundation, Inc.
   
   Copying and distribution of this file, with or without modification,
   are permitted in any medium without royalty provided the copyright
@@ -6,7 +6,7 @@
 
 README:
 
-This is GNU Awk 3.1.6. It is upwardly compatible with the Bell Labs
+This is GNU Awk 3.1.7. It is upwardly compatible with the Bell Labs
 research version of awk.  It is almost completely compliant with the
 2004 POSIX 1003.1 standard for awk. (See the note below about POSIX.)
 
@@ -35,7 +35,8 @@
 You might want to get a copy of bison from the FSF too.)
 
 If you have a Windows32, MS-DOS or OS/2 system, use the stuff in the `pc'
-directory.  Similarly, there is a separate directory for VMS.
+directory.  Similarly, there is a separate directory for VMS and for
+some other operating systems.
 
 Ports for the Atari and old Tandem systems are supplied, but they are
 unsupported.  Thus, their code appears in the `unsupported' directory.
@@ -57,6 +58,7 @@
 be necessary for printing the manual.  Use `make dvi' to get a DVI file
 from the manual. In the `doc' directory, use `make postscript' to get
 PostScript versions of the manual, the man page, and the reference card.
+Use `make pdf' to get PDF versions of the manuals.
 
 BUG REPORTS AND FIXES (Un*x systems):
 
@@ -74,30 +76,25 @@
 BUG REPORTS AND FIXES, non-Unix systems:
 
 Amiga:
-	Fred Fish
-	fnf@ninemoons.com
+	Unsupported.
 
 Alpha/Linux:
 	Michal Jaegermann
-	michal@gortel.phys.ualberta.ca
+	michal@harddata.com
 
 BeOS:
-	Martin Brown
-	mc@whoever.com
+	Unsupported.
 
 MS-DOS:
 	Scott Deifik
 	scottd.mail@sbcglobal.net
 
-	Darrel Hankerson
-	hankedr@mail.auburn.edu
-
 MS-Windows:
-	Juan Grigera
-	juan@biophnet.unlp.edu.ar
+	Unsupported.
 
 OS/2:
-	andreas.buening@@nexgo.de
+	Andreas Buening
+	andreas.buening@nexgo.de
 
 Tandem:
 	Stephen Davies
@@ -111,3 +108,7 @@
 VMS:
 	Pat Rankin
 	rankin@pactechdata.com
+
+z/OS (OS/390):
+	Dave Pitts
+	dpitts@cozx.com
diff -urN gawk-3.1.6/README_d/README.VMS gawk-3.1.7/README_d/README.VMS
--- gawk-3.1.6/README_d/README.VMS	2006-08-11 15:05:50.000000000 +0300
+++ gawk-3.1.7/README_d/README.VMS	2009-06-18 05:22:53.000000000 +0300
@@ -79,3 +79,9 @@
 value should be quoted so that it retains a single translation, not a
 multi-translation RMS searchlist.
 
+------------------------------
+Thu Jun 18 05:22:10 IDT 2009
+============================
+
+On OpenVMS V7.3 (Alpha) the "manyfiles" test is known to fail. The reason
+is not (yet) known.
diff -urN gawk-3.1.6/README_d/README.beos gawk-3.1.7/README_d/README.beos
--- gawk-3.1.6/README_d/README.beos	2006-08-11 15:05:50.000000000 +0300
+++ gawk-3.1.7/README_d/README.beos	2009-07-03 11:22:12.000000000 +0300
@@ -1,5 +1,11 @@
+Fri Jul  3 11:21:56 IDT 2009
+============================
+The BeOS port is unsupported.
+
+
 README for GNU awk under BeOS
 Last updated MCB, Tue Feb 6 10:15:46 GMT 2001
+=============================================
 
 BeOS port contact: Martin C Brown (mc@whoever.com)
 
diff -urN gawk-3.1.6/README_d/README.cygwin gawk-3.1.7/README_d/README.cygwin
--- gawk-3.1.6/README_d/README.cygwin	1970-01-01 02:00:00.000000000 +0200
+++ gawk-3.1.7/README_d/README.cygwin	2009-06-23 05:21:27.000000000 +0300
@@ -0,0 +1,5 @@
+Tue Jun 23 05:20:51 IDT 2009
+============================
+
+The lc_num1 test is known to fail on current Cygwin systems due to lack of
+full locale support in newlib. All other tests should pass.
diff -urN gawk-3.1.6/README_d/README.pc gawk-3.1.7/README_d/README.pc
--- gawk-3.1.6/README_d/README.pc	2006-08-24 19:22:40.000000000 +0300
+++ gawk-3.1.7/README_d/README.pc	2009-07-21 22:35:52.000000000 +0300
@@ -366,13 +366,7 @@
 
    Scott Deifik, scottd.mail@sbcglobal.net (DOS versions)
 or
-   gawk-maintainer@unixos2.org (OS/2 version)
-   Darrel Hankerson, hankedr@mail.auburn.edu
+   andreas.buening@nexgo.de (OS/2 version)
 
-Support for Windows32 started in gawk-3.0.3.   Reports on
-the Visual C++ version (vcWin32) may be sent to
-
-   Juan Grigera, juan@biophnet.unlp.edu.ar (Visual C++ version)
-
-with a copy to Scott Deifik.  Other Windows32 reports may go to Darrel
-Hankerson.
+Support for Windows32 started in gawk-3.0.3.
+This is no longer supported.
diff -urN gawk-3.1.6/README_d/README.zos gawk-3.1.7/README_d/README.zos
--- gawk-3.1.6/README_d/README.zos	1970-01-01 02:00:00.000000000 +0200
+++ gawk-3.1.7/README_d/README.zos	2008-01-25 12:38:01.000000000 +0200
@@ -0,0 +1,45 @@
+Fri Jan 25 12:36:16 2008
+Dave Pitts <dpitts@cozx.com>
+----------------------------
+
+GAWK on z/OS
+
+1. To unpack the tarball:
+
+   $ gunzip -c gawk-3.1.6.tar.gz | pax -rv from=ISO8859-1,to=IBM-1047
+
+   This will extract the files and convert them from ASCII to EBCDIC.
+
+   If you do not have the gunzip program on your system you can perform
+   the operation on another system and copy the tar file to z/OS. Then
+   unpack as follows:
+
+   $ pax -rv from=ISO8859-1,to=IBM-1047 -f gawk-3.1.6.tar
+
+
+2. To Build
+
+   $ ./configure
+   $ make
+
+   You will get compilation warnings of the form:
+
+   WARNING CBC3343 ./dfa.c:332   Redeclaration of dfasyntax differs from
+   previous declaration on line 404 of "./dfa.h".
+
+   Because the IBM compiler complains when a function is decalared using
+   prototypes in the header and is defined without prototypes in the code
+   these warnings can be ignored.
+
+
+3. To Install:
+
+   $ make install
+
+
+4. To Test (optional):
+
+   $ make check
+
+   NOTE: Since the test suite was defined for an ASCII and IEEE floating point
+   environment several of the tests will fail under z/OS.
diff -urN gawk-3.1.6/aclocal.m4 gawk-3.1.7/aclocal.m4
--- gawk-3.1.6/aclocal.m4	2007-10-22 08:51:54.000000000 +0200
+++ gawk-3.1.7/aclocal.m4	2009-07-21 22:29:55.000000000 +0300
@@ -1,7 +1,7 @@
-# generated automatically by aclocal 1.10 -*- Autoconf -*-
+# generated automatically by aclocal 1.11 -*- Autoconf -*-
 
 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006  Free Software Foundation, Inc.
+# 2005, 2006, 2007, 2008, 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.
@@ -11,12 +11,67 @@
 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 # PARTICULAR PURPOSE.
 
-m4_if(m4_PACKAGE_VERSION, [2.61],,
-[m4_fatal([this file was generated for autoconf 2.61.
-You have another version of autoconf.  If you want to use that,
-you should regenerate the build system entirely.], [63])])
+m4_ifndef([AC_AUTOCONF_VERSION],
+  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.63],,
+[m4_warning([this file was generated for autoconf 2.63.
+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'.])])
+
+# intlmacosx.m4 serial 1 (gettext-0.17)
+dnl Copyright (C) 2004-2007 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl
+dnl This file can can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Checks for special options needed on MacOS X.
+dnl Defines INTL_MACOSX_LIBS.
+AC_DEFUN([gt_INTL_MACOSX],
+[
+  dnl Check for API introduced in MacOS X 10.2.
+  AC_CACHE_CHECK([for CFPreferencesCopyAppValue],
+    gt_cv_func_CFPreferencesCopyAppValue,
+    [gt_save_LIBS="$LIBS"
+     LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
+     AC_TRY_LINK([#include <CoreFoundation/CFPreferences.h>],
+       [CFPreferencesCopyAppValue(NULL, NULL)],
+       [gt_cv_func_CFPreferencesCopyAppValue=yes],
+       [gt_cv_func_CFPreferencesCopyAppValue=no])
+     LIBS="$gt_save_LIBS"])
+  if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then
+    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,
+    [gt_save_LIBS="$LIBS"
+     LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
+     AC_TRY_LINK([#include <CoreFoundation/CFLocale.h>], [CFLocaleCopyCurrent();],
+       [gt_cv_func_CFLocaleCopyCurrent=yes],
+       [gt_cv_func_CFLocaleCopyCurrent=no])
+     LIBS="$gt_save_LIBS"])
+  if test $gt_cv_func_CFLocaleCopyCurrent = yes; then
+    AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], 1,
+      [Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework.])
+  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
+  AC_SUBST([INTL_MACOSX_LIBS])
+])
 
-# Copyright (C) 2002, 2003, 2005, 2006  Free Software Foundation, Inc.
+# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -28,10 +83,10 @@
 # generated from the m4 files accompanying Automake X.Y.
 # (This private macro should not be called outside this file.)
 AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.10'
+[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.10], [],
+m4_if([$1], [1.11], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 
@@ -45,10 +100,12 @@
 # AM_SET_CURRENT_AUTOMAKE_VERSION
 # -------------------------------
 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
-# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
+# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.10])dnl
-_AM_AUTOCONF_VERSION(m4_PACKAGE_VERSION)])
+[AM_AUTOMAKE_VERSION([1.11])dnl
+m4_ifndef([AC_AUTOCONF_VERSION],
+  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
 
 # AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
 
@@ -105,14 +162,14 @@
 
 # AM_CONDITIONAL                                            -*- Autoconf -*-
 
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006
+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 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 8
+# serial 9
 
 # AM_CONDITIONAL(NAME, SHELL-CONDITION)
 # -------------------------------------
@@ -125,6 +182,7 @@
 AC_SUBST([$1_FALSE])dnl
 _AM_SUBST_NOTMAKE([$1_TRUE])dnl
 _AM_SUBST_NOTMAKE([$1_FALSE])dnl
+m4_define([_AM_COND_VALUE_$1], [$2])dnl
 if $2; then
   $1_TRUE=
   $1_FALSE='#'
@@ -138,14 +196,14 @@
 Usually this means the macro was only invoked conditionally.]])
 fi])])
 
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 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 9
+# serial 10
 
 # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
 # written in clear, in which case automake, when reading aclocal.m4,
@@ -202,6 +260,16 @@
   if test "$am_compiler_list" = ""; then
      am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
   fi
+  am__universal=false
+  m4_case([$1], [CC],
+    [case " $depcc " in #(
+     *\ -arch\ *\ -arch\ *) am__universal=true ;;
+     esac],
+    [CXX],
+    [case " $depcc " in #(
+     *\ -arch\ *\ -arch\ *) am__universal=true ;;
+     esac])
+
   for depmode in $am_compiler_list; do
     # Setup a source with many dependencies, because some compilers
     # like to wrap large dependency lists on column 80 (with \), and
@@ -219,7 +287,17 @@
     done
     echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
 
+    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle `-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs
+    am__obj=sub/conftest.${OBJEXT-o}
+    am__minus_obj="-o $am__obj"
     case $depmode in
+    gcc)
+      # This depmode causes a compiler race in universal mode.
+      test "$am__universal" = false || continue
+      ;;
     nosideeffect)
       # after this tag, mechanisms are not by side-effect, so they'll
       # only be used when explicitly requested
@@ -229,19 +307,23 @@
 	break
       fi
       ;;
+    msvisualcpp | msvcmsys)
+      # This compiler won't grok `-c -o', but also, the minuso test has
+      # not run yet.  These depmodes are late enough in the game, and
+      # so weak that their functioning should not be impacted.
+      am__obj=conftest.${OBJEXT-o}
+      am__minus_obj=
+      ;;
     none) break ;;
     esac
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.
     if depmode=$depmode \
-       source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+       source=sub/conftest.c object=$am__obj \
        depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
          >/dev/null 2>conftest.err &&
        grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
        grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
        ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
       # icc doesn't choke on unknown options, it will just issue warnings
       # or remarks (even with -Werror).  So we grep stderr for any message
@@ -298,57 +380,68 @@
 
 # Generate code to set up dependency tracking.              -*- Autoconf -*-
 
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# Copyright (C) 1999, 2000, 2001, 2002, 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 3
+#serial 5
 
 # _AM_OUTPUT_DEPENDENCY_COMMANDS
 # ------------------------------
 AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
-[for mf in $CONFIG_FILES; do
-  # Strip MF so we end up with the name of the file.
-  mf=`echo "$mf" | sed -e 's/:.*$//'`
-  # Check whether this is an Automake generated Makefile or not.
-  # We used to match only the files named `Makefile.in', but
-  # some people rename them; so instead we look at the file content.
-  # Grep'ing the first line is not enough: some people post-process
-  # each Makefile.in and add a new line on top of each file to say so.
-  # Grep'ing the whole file is not good either: AIX grep has a line
-  # limit of 2048, but all sed's we know have understand at least 4000.
-  if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then
-    dirpart=`AS_DIRNAME("$mf")`
-  else
-    continue
-  fi
-  # Extract the definition of DEPDIR, am__include, and am__quote
-  # from the Makefile without running `make'.
-  DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
-  test -z "$DEPDIR" && continue
-  am__include=`sed -n 's/^am__include = //p' < "$mf"`
-  test -z "am__include" && continue
-  am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-  # When using ansi2knr, U may be empty or an underscore; expand it
-  U=`sed -n 's/^U = //p' < "$mf"`
-  # Find all dependency output files, they are included files with
-  # $(DEPDIR) in their names.  We invoke sed twice because it is the
-  # simplest approach to changing $(DEPDIR) to its actual value in the
-  # expansion.
-  for file in `sed -n "
-    s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-       sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
-    # Make sure the directory exists.
-    test -f "$dirpart/$file" && continue
-    fdir=`AS_DIRNAME(["$file"])`
-    AS_MKDIR_P([$dirpart/$fdir])
-    # echo "creating $dirpart/$file"
-    echo '# dummy' > "$dirpart/$file"
+[{
+  # Autoconf 2.62 quotes --file arguments for eval, but not when files
+  # are listed without --file.  Let's play safe and only enable the eval
+  # if we detect the quoting.
+  case $CONFIG_FILES in
+  *\'*) eval set x "$CONFIG_FILES" ;;
+  *)   set x $CONFIG_FILES ;;
+  esac
+  shift
+  for mf
+  do
+    # Strip MF so we end up with the name of the file.
+    mf=`echo "$mf" | sed -e 's/:.*$//'`
+    # Check whether this is an Automake generated Makefile or not.
+    # We used to match only the files named `Makefile.in', but
+    # some people rename them; so instead we look at the file content.
+    # Grep'ing the first line is not enough: some people post-process
+    # each Makefile.in and add a new line on top of each file to say so.
+    # Grep'ing the whole file is not good either: AIX grep has a line
+    # limit of 2048, but all sed's we know have understand at least 4000.
+    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+      dirpart=`AS_DIRNAME("$mf")`
+    else
+      continue
+    fi
+    # Extract the definition of DEPDIR, am__include, and am__quote
+    # from the Makefile without running `make'.
+    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+    test -z "$DEPDIR" && continue
+    am__include=`sed -n 's/^am__include = //p' < "$mf"`
+    test -z "am__include" && continue
+    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+    # When using ansi2knr, U may be empty or an underscore; expand it
+    U=`sed -n 's/^U = //p' < "$mf"`
+    # Find all dependency output files, they are included files with
+    # $(DEPDIR) in their names.  We invoke sed twice because it is the
+    # simplest approach to changing $(DEPDIR) to its actual value in the
+    # expansion.
+    for file in `sed -n "
+      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+      # Make sure the directory exists.
+      test -f "$dirpart/$file" && continue
+      fdir=`AS_DIRNAME(["$file"])`
+      AS_MKDIR_P([$dirpart/$fdir])
+      # echo "creating $dirpart/$file"
+      echo '# dummy' > "$dirpart/$file"
+    done
   done
-done
+}
 ])# _AM_OUTPUT_DEPENDENCY_COMMANDS
 
 
@@ -368,13 +461,13 @@
 # Do all the work for Automake.                             -*- Autoconf -*-
 
 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006 Free Software Foundation, Inc.
+# 2005, 2006, 2008, 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 12
+# serial 16
 
 # This macro actually does too much.  Some checks are only needed if
 # your package does certain things.  But this isn't really a big deal.
@@ -391,7 +484,7 @@
 # arguments mandatory, and then we can depend on a new Autoconf
 # release and drop the old call support.
 AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_PREREQ([2.60])dnl
+[AC_PREREQ([2.62])dnl
 dnl Autoconf wants to disallow AM_ names.  We explicitly allow
 dnl the ones we care about.
 m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
@@ -442,8 +535,8 @@
 AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
 AM_MISSING_PROG(AUTOHEADER, autoheader)
 AM_MISSING_PROG(MAKEINFO, makeinfo)
-AM_PROG_INSTALL_SH
-AM_PROG_INSTALL_STRIP
+AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
 AC_REQUIRE([AM_PROG_MKDIR_P])dnl
 # We need awk for the "check" target.  The system "awk" is bad on
 # some platforms.
@@ -451,24 +544,37 @@
 AC_REQUIRE([AC_PROG_MAKE_SET])dnl
 AC_REQUIRE([AM_SET_LEADING_DOT])dnl
 _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
-              [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
-	      		     [_AM_PROG_TAR([v7])])])
+	      [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+			     [_AM_PROG_TAR([v7])])])
 _AM_IF_OPTION([no-dependencies],,
 [AC_PROVIDE_IFELSE([AC_PROG_CC],
-                  [_AM_DEPENDENCIES(CC)],
-                  [define([AC_PROG_CC],
-                          defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+		  [_AM_DEPENDENCIES(CC)],
+		  [define([AC_PROG_CC],
+			  defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
 AC_PROVIDE_IFELSE([AC_PROG_CXX],
-                  [_AM_DEPENDENCIES(CXX)],
-                  [define([AC_PROG_CXX],
-                          defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+		  [_AM_DEPENDENCIES(CXX)],
+		  [define([AC_PROG_CXX],
+			  defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
 AC_PROVIDE_IFELSE([AC_PROG_OBJC],
-                  [_AM_DEPENDENCIES(OBJC)],
-                  [define([AC_PROG_OBJC],
-                          defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
+		  [_AM_DEPENDENCIES(OBJC)],
+		  [define([AC_PROG_OBJC],
+			  defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
 ])
+_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
+dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
+dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This macro
+dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
+AC_CONFIG_COMMANDS_PRE(dnl
+[m4_provide_if([_AM_COMPILER_EXEEXT],
+  [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
 ])
 
+dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
+dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
+dnl mangled by Autoconf and run in a shell conditional statement.
+m4_define([_AC_COMPILER_EXEEXT],
+m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
+
 
 # When config.status generates a header, we must update the stamp-h file.
 # This file resides in the same directory as the config header
@@ -479,18 +585,19 @@
 # our stamp files there.
 AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
 [# Compute $1's index in $config_headers.
+_am_arg=$1
 _am_stamp_count=1
 for _am_header in $config_headers :; do
   case $_am_header in
-    $1 | $1:* )
+    $_am_arg | $_am_arg:* )
       break ;;
     * )
       _am_stamp_count=`expr $_am_stamp_count + 1` ;;
   esac
 done
-echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
+echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
 
-# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2001, 2003, 2005, 2008  Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -501,7 +608,14 @@
 # Define $install_sh.
 AC_DEFUN([AM_PROG_INSTALL_SH],
 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
+if test x"${install_sh}" != xset; then
+  case $am_aux_dir in
+  *\ * | *\	*)
+    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+  *)
+    install_sh="\${SHELL} $am_aux_dir/install-sh"
+  esac
+fi
 AC_SUBST(install_sh)])
 
 # Copyright (C) 2003, 2005  Free Software Foundation, Inc.
@@ -527,13 +641,13 @@
 
 # Check to see how 'make' treats includes.	            -*- Autoconf -*-
 
-# Copyright (C) 2001, 2002, 2003, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2001, 2002, 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.
 
-# serial 3
+# serial 4
 
 # AM_MAKE_INCLUDE()
 # -----------------
@@ -542,7 +656,7 @@
 [am_make=${MAKE-make}
 cat > confinc << 'END'
 am__doit:
-	@echo done
+	@echo this is the am__doit target
 .PHONY: am__doit
 END
 # If we don't find an include directive, just comment out the code.
@@ -552,24 +666,24 @@
 _am_result=none
 # First try GNU make style include.
 echo "include confinc" > confmf
-# We grep out `Entering directory' and `Leaving directory'
-# messages which can occur if `w' ends up in MAKEFLAGS.
-# In particular we don't look at `^make:' because GNU make might
-# be invoked under some other name (usually "gmake"), in which
-# case it prints its new name instead of `make'.
-if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
-   am__include=include
-   am__quote=
-   _am_result=GNU
-fi
+# Ignore all kinds of additional output from `make'.
+case `$am_make -s -f confmf 2> /dev/null` in #(
+*the\ am__doit\ target*)
+  am__include=include
+  am__quote=
+  _am_result=GNU
+  ;;
+esac
 # Now try BSD make style include.
 if test "$am__include" = "#"; then
    echo '.include "confinc"' > confmf
-   if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
-      am__include=.include
-      am__quote="\""
-      _am_result=BSD
-   fi
+   case `$am_make -s -f confmf 2> /dev/null` in #(
+   *the\ am__doit\ target*)
+     am__include=.include
+     am__quote="\""
+     _am_result=BSD
+     ;;
+   esac
 fi
 AC_SUBST([am__include])
 AC_SUBST([am__quote])
@@ -579,14 +693,14 @@
 
 # Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
 
-# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005
+# Copyright (C) 1997, 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 5
+# serial 6
 
 # AM_MISSING_PROG(NAME, PROGRAM)
 # ------------------------------
@@ -603,7 +717,14 @@
 AC_DEFUN([AM_MISSING_HAS_RUN],
 [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
 AC_REQUIRE_AUX_FILE([missing])dnl
-test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+if test x"${MISSING+set}" != xset; then
+  case $am_aux_dir in
+  *\ * | *\	*)
+    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+  *)
+    MISSING="\${SHELL} $am_aux_dir/missing" ;;
+  esac
+fi
 # Use eval to expand $SHELL
 if eval "$MISSING --run true"; then
   am_missing_run="$MISSING --run "
@@ -641,13 +762,13 @@
 
 # Helper functions for option handling.                     -*- Autoconf -*-
 
-# Copyright (C) 2001, 2002, 2003, 2005  Free Software Foundation, Inc.
+# Copyright (C) 2001, 2002, 2003, 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 3
+# serial 4
 
 # _AM_MANGLE_OPTION(NAME)
 # -----------------------
@@ -664,7 +785,7 @@
 # ----------------------------------
 # OPTIONS is a space-separated list of Automake options.
 AC_DEFUN([_AM_SET_OPTIONS],
-[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
 
 # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
 # -------------------------------------------
@@ -700,14 +821,14 @@
 
 # Check to make sure that the build environment is sane.    -*- Autoconf -*-
 
-# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 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 4
+# serial 5
 
 # AM_SANITY_CHECK
 # ---------------
@@ -716,16 +837,29 @@
 # Just in case
 sleep 1
 echo timestamp > conftest.file
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name.  Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+  *[[\\\"\#\$\&\'\`$am_lf]]*)
+    AC_MSG_ERROR([unsafe absolute working directory name]);;
+esac
+case $srcdir in
+  *[[\\\"\#\$\&\'\`$am_lf\ \	]]*)
+    AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
+esac
+
 # Do `set' in a subshell so we don't clobber the current shell's
 # arguments.  Must try -L first in case configure is actually a
 # symlink; some systems play weird games with the mod time of symlinks
 # (eg FreeBSD returns the mod time of the symlink's containing
 # directory).
 if (
-   set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
    if test "$[*]" = "X"; then
       # -L didn't work.
-      set X `ls -t $srcdir/configure conftest.file`
+      set X `ls -t "$srcdir/configure" conftest.file`
    fi
    rm -f conftest.file
    if test "$[*]" != "X $srcdir/configure conftest.file" \
@@ -778,18 +912,25 @@
 INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
 AC_SUBST([INSTALL_STRIP_PROGRAM])])
 
-# Copyright (C) 2006  Free Software Foundation, Inc.
+# Copyright (C) 2006, 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 2
+
 # _AM_SUBST_NOTMAKE(VARIABLE)
 # ---------------------------
-# Prevent Automake from outputing VARIABLE = @VARIABLE@ in Makefile.in.
+# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
 # This macro is traced by Automake.
 AC_DEFUN([_AM_SUBST_NOTMAKE])
 
+# AM_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Public sister of _AM_SUBST_NOTMAKE.
+AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
+
 # Check how to create a tarball.                            -*- Autoconf -*-
 
 # Copyright (C) 2004, 2005  Free Software Foundation, Inc.
@@ -897,7 +1038,12 @@
 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/longlong.m4])
+m4_include([m4/ltoptions.m4])
+m4_include([m4/ltsugar.m4])
+m4_include([m4/ltversion.m4])
+m4_include([m4/lt~obsolete.m4])
 m4_include([m4/nls.m4])
 m4_include([m4/po.m4])
 m4_include([m4/progtest.m4])
diff -urN gawk-3.1.6/array.c gawk-3.1.7/array.c
--- gawk-3.1.6/array.c	2007-09-22 22:08:36.000000000 +0200
+++ gawk-3.1.7/array.c	2009-07-09 22:31:20.000000000 +0300
@@ -3,7 +3,7 @@
  */
 
 /* 
- * Copyright (C) 1986, 1988, 1989, 1991-2007 the Free Software Foundation, Inc.
+ * Copyright (C) 1986, 1988, 1989, 1991-2009 the Free Software Foundation, Inc.
  * 
  * This file is part of GAWK, the GNU implementation of the
  * AWK Programming Language.
diff -urN gawk-3.1.6/awk.h gawk-3.1.7/awk.h
--- gawk-3.1.6/awk.h	2007-09-30 21:50:43.000000000 +0200
+++ gawk-3.1.7/awk.h	2009-07-09 22:29:25.000000000 +0300
@@ -3,7 +3,7 @@
  */
 
 /* 
- * Copyright (C) 1986, 1988, 1989, 1991-2007 the Free Software Foundation, Inc.
+ * Copyright (C) 1986, 1988, 1989, 1991-2009 the Free Software Foundation, Inc.
  * 
  * This file is part of GAWK, the GNU implementation of the
  * AWK Programming Language.
@@ -95,12 +95,15 @@
 
 #undef CHARBITS
 #undef INTBITS
+
+#if !defined(ZOS_USS)
 #if HAVE_INTTYPES_H
 # include <inttypes.h>
 #endif
 #if HAVE_STDINT_H
 # include <stdint.h>
 #endif
+#endif /* !ZOS_USS */
  
 #if defined(_MSC_VER)
 /* for read()/close() in use replace.c */
@@ -262,7 +265,7 @@
 #endif	/* GNU_REGEX */
 /* regexp matching flags: */
 #define RE_NEED_START	1	/* need to know start/end of match */
-#define RE_NO_BOL	2	/* for RS, not allowed to match ^ in regexp */
+#define RE_NO_BOL	2	/* not allowed to match ^ in regexp */
 
 /* Stuff for losing systems. */
 #if !defined(HAVE_STRTOD)
@@ -510,9 +513,9 @@
 			char *name;
 			short number;
 			unsigned long reflags;
-#				define	CASE	1
-#				define	CONST	2
-#				define	FS_DFLT	4
+#				define	CASE		1
+#				define	CONSTANT	2
+#				define	FS_DFLT		4
 		} nodep;
 		struct {
 			AWKNUM fltnum;	/* this is here for optimal packing of
@@ -767,6 +770,7 @@
 extern int do_non_decimal_data;
 extern int do_dump_vars;
 extern int do_tidy_mem;
+extern int do_optimize;
 extern int use_lc_numeric;
 extern int in_begin_rule;
 extern int in_end_rule;
@@ -808,7 +812,7 @@
 #define var_uninitialized(n)	((n)->var_value == Nnull_string)
 
 #ifdef MPROF
-#define	getnode(n)	emalloc((n), NODE *, sizeof(NODE), "getnode"), (n)->flags = 0, (n)-exec_count = 0;
+#define	getnode(n)	emalloc((n), NODE *, sizeof(NODE), "getnode"), (n)->flags = 0, (n)->exec_count = 0;
 #define	freenode(n)	free(n)
 #else	/* not MPROF */
 #define	getnode(n)	if (nextfree) n = nextfree, nextfree = nextfree->nextp;\
@@ -1074,6 +1078,7 @@
 extern NODE *assign_val P((NODE **lhs_p, NODE *rhs));
 extern void load_casetable P((void));
 extern size_t get_curfunc_arg_count P((void));
+extern AWKNUM calc_exp P((AWKNUM x1, AWKNUM x2));
 #ifdef PROFILING
 extern void dump_fcall_stack P((FILE *fp));
 #endif
@@ -1138,6 +1143,7 @@
 /* main.c */
 extern int main P((int argc, char **argv));
 extern int arg_assign P((char *arg, int initing));
+extern int is_std_var P((const char *var));
 /* msg.c */
 extern void err P((const char *s, const char *emsg, va_list argp)) ATTRIBUTE_PRINTF(2, 0);
 #if _MSC_VER == 510
@@ -1253,9 +1259,36 @@
 #include <sys/wait.h>
 #endif
 #ifndef WEXITSTATUS
+#if defined(_MSC_VER) || defined(VMS)
+#define WEXITSTATUS(stat_val) (stat_val)
+#else /* ! (defined(_MSC_VER) || defined(VMS)) */
 #define WEXITSTATUS(stat_val) ((((unsigned) (stat_val)) >> 8) & 0xFF)
-#endif
+#endif /* ! (defined(_MSC_VER) || defined(VMS)) */
+#endif /* WEXITSTATUS */
 
 #ifndef STATIC
 #define STATIC static
 #endif
+
+/* EXIT_SUCCESS and EXIT_FAILURE normally come from <stdlib.h> */
+#ifndef EXIT_SUCCESS
+# define EXIT_SUCCESS 0
+#endif
+#ifndef EXIT_FAILURE
+# define EXIT_FAILURE 1
+#endif
+/* EXIT_FATAL is specific to gawk, not part of Standard C */
+#ifndef EXIT_FATAL
+# define EXIT_FATAL   2
+#endif
+
+/* For z/OS, from Dave Pitts. EXIT_FAILURE is normally 8, make it 1. */
+#ifdef ZOS_USS
+#undef DYNAMIC
+
+#ifdef EXIT_FAILURE
+#undef EXIT_FAILURE
+#endif
+
+#define EXIT_FAILURE 1
+#endif
diff -urN gawk-3.1.6/awkgram.y gawk-3.1.7/awkgram.y
--- gawk-3.1.6/awkgram.y	2007-09-22 22:08:36.000000000 +0200
+++ gawk-3.1.7/awkgram.y	2009-07-21 22:41:00.000000000 +0300
@@ -3,7 +3,7 @@
  */
 
 /* 
- * Copyright (C) 1986, 1988, 1989, 1991-2007 the Free Software Foundation, Inc.
+ * Copyright (C) 1986, 1988, 1989, 1991-2009 the Free Software Foundation, Inc.
  * 
  * This file is part of GAWK, the GNU implementation of the
  * AWK Programming Language.
@@ -71,6 +71,9 @@
 static ssize_t read_one_line P((int fd, void *buffer, size_t count));
 static int one_line_close P((int fd));
 
+static NODE *constant_fold P((NODE *left, NODETYPE op, NODE *right));
+static NODE *optimize_concat P((NODE *left, NODETYPE op, NODE *right));
+
 static int want_regexp;		/* lexical scanning kludge */
 static int can_return;		/* parsing kludge */
 static int begin_or_end_rule = FALSE;	/* parsing kludge */
@@ -335,7 +338,7 @@
 		  n->re_exp = make_string($3, len);
 		  n->re_reg = make_regexp($3, len, FALSE, TRUE);
 		  n->re_text = NULL;
-		  n->re_flags = CONST;
+		  n->re_flags = CONSTANT;
 		  n->re_cnt = 1;
 		  $$ = n;
 		}
@@ -809,20 +812,7 @@
 		{
 		  if (do_lint && $3->type == Node_regex)
 			lintwarn(_("regular expression on right of assignment"));
-		  /*
-		   * Optimization of `x = x y'.  Can save lots of time
-		   * if done a lot.
-		   */
-		  if ((    $1->type == Node_var
-			|| $1->type == Node_var_new
-			|| $1->type == Node_param_list)
-		      && $2 == Node_assign
-		      && $3->type == Node_concat
-		      && $3->lnode == $1) {
-			$3->type = Node_assign_concat;	/* Just change the type */
-			$$ = $3;			/* And use it directly */
-		  } else
-			$$ = node($1, $2, $3);
+		  $$ = optimize_concat($1, $2, $3);
 		}
 	| exp LEX_AND exp
 		{ $$ = node($1, Node_and, $3); }
@@ -879,24 +869,24 @@
 	| simp_exp_nc
 		{ $$ = $1; }
 	| common_exp simp_exp %prec CONCAT_OP
-		{ $$ = node($1, Node_concat, $2); }
+		{ $$ = constant_fold($1, Node_concat, $2); }
 	;
 
 simp_exp
 	: non_post_simp_exp
 	/* Binary operators in order of decreasing precedence.  */
 	| simp_exp '^' simp_exp
-		{ $$ = node($1, Node_exp, $3); }
+		{ $$ = constant_fold($1, Node_exp, $3); }
 	| simp_exp '*' simp_exp
-		{ $$ = node($1, Node_times, $3); }
+		{ $$ = constant_fold($1, Node_times, $3); }
 	| simp_exp '/' simp_exp
-		{ $$ = node($1, Node_quotient, $3); }
+		{ $$ = constant_fold($1, Node_quotient, $3); }
 	| simp_exp '%' simp_exp
-		{ $$ = node($1, Node_mod, $3); }
+		{ $$ = constant_fold($1, Node_mod, $3); }
 	| simp_exp '+' simp_exp
-		{ $$ = node($1, Node_plus, $3); }
+		{ $$ = constant_fold($1, Node_plus, $3); }
 	| simp_exp '-' simp_exp
-		{ $$ = node($1, Node_minus, $3); }
+		{ $$ = constant_fold($1, Node_minus, $3); }
 	| LEX_GETLINE opt_variable input_redir
 		{
 		  if (do_lint && parsing_end_rule && $3 == NULL)
@@ -943,7 +933,7 @@
 	: regexp
 		{ $$ = $1; }
 	| '!' simp_exp %prec UNARY
-		{ $$ = node($2, Node_not, (NODE *) NULL); }
+		{ $$ = constant_fold($2, Node_not, (NODE *) NULL); }
 	| '(' exp r_paren
 		{ $$ = $2; }
 	| LEX_BUILTIN
@@ -1101,8 +1091,26 @@
 	NODE *(*ptr) P((NODE *));	/* function that implements this keyword */
 };
 
-/* Tokentab is sorted ascii ascending order, so it can be binary searched. */
-/* Function pointers come from declarations in awk.h. */
+#if 'a' == 0x81 /* it's EBCDIC */
+/* tokcompare --- lexicographically compare token names for sorting */
+
+static int
+tokcompare(void *l, void *r)
+{
+	struct token *lhs, *rhs;
+
+	lhs = (struct token *) l;
+	rhs = (struct token *) r;
+
+	return strcmp(lhs->operator, rhs->operator);
+}
+#endif
+
+/*
+ * Tokentab is sorted ASCII ascending order, so it can be binary searched.
+ * See check_special(), which sorts the table on EBCDIC systems.
+ * Function pointers come from declarations in awk.h.
+ */
 
 static const struct token tokentab[] = {
 {"BEGIN",	Node_illegal,	 LEX_BEGIN,	0,		0},
@@ -1900,7 +1908,7 @@
 			goto retry;
 		} else {
 			yyerror(_("backslash not last character on line"));
-			exit(1);
+			exit(EXIT_FAILURE);
 		}
 		break;
 
@@ -2081,7 +2089,7 @@
 			if (c == '\n') {
 				pushback();
 				yyerror(_("unterminated string"));
-				exit(1);
+				exit(EXIT_FAILURE);
 			}
 			if ((gawk_mb_cur_max == 1 || nextc_is_1stbyte) &&
 			    c == '\\') {
@@ -2096,7 +2104,7 @@
 			if (c == EOF) {
 				pushback();
 				yyerror(_("unterminated string"));
-				exit(1);
+				exit(EXIT_FAILURE);
 			}
 			tokadd(c);
 		}
@@ -2281,7 +2289,7 @@
 
 	if (c != '_' && ! ISALPHA(c)) {
 		yyerror(_("invalid char '%c' in expression"), c);
-		exit(1);
+		exit(EXIT_FAILURE);
 	}
 
 	/*
@@ -2992,6 +3000,9 @@
 		if (strcmp(n->param, params->param) == 0)
 			fatal(_("function `%s': can't use function name as parameter name"),
 					params->param); 
+		else if (is_std_var(n->param))
+			fatal(_("function `%s': can't use special variable `%s' as a function parameter"),
+				params->param, n->param);
 	}
 
 	thisfunc = NULL;	/* turn off warnings */
@@ -3191,7 +3202,7 @@
 	}
 }
 
-/* deferred varibles --- those that are only defined if needed. */
+/* deferred variables --- those that are only defined if needed. */
 
 /*
  * Is there any reason to use a hash table for deferred variables?  At the
@@ -3482,6 +3493,16 @@
 {
 	int low, high, mid;
 	int i;
+#if 'a' == 0x81 /* it's EBCDIC */
+	static int did_sort = FALSE;
+
+	if (! did_sort) {
+		qsort(tokentab, sizeof(tokentab) / sizeof(tokentab[0]),
+				sizeof(tokentab[0]), tokcompare);
+		did_sort = TRUE;
+	}
+#endif
+
 
 	low = 0;
 	high = (sizeof(tokentab) / sizeof(tokentab[0])) - 1;
@@ -3521,7 +3542,7 @@
 		fp = fdopen(fd, "r");
 		if (fp == NULL) {
 			fprintf(stderr, "ugh. fdopen: %s\n", strerror(errno));
-			exit(1);
+			exit(EXIT_FAILURE);
 		}
 	}
 
@@ -3546,3 +3567,160 @@
 	fp = NULL;
 	return ret;
 }
+
+/* constant_fold --- try to fold constant operations */
+
+static NODE *
+constant_fold(NODE *left, NODETYPE op, NODE *right)
+{
+	AWKNUM result;
+	extern double fmod P((double x, double y));
+
+	if (! do_optimize)
+		return node(left, op, right);
+
+	/* Unary not */
+	if (right == NULL) {
+		if (op == Node_not && left->type == Node_val) {
+			if ((left->flags & (STRCUR|STRING)) != 0) {
+				NODE *ret;
+				if (left->stlen == 0) {
+					ret = make_number((AWKNUM) 1.0);
+				} else {
+					ret = make_number((AWKNUM) 0.0);
+				}
+				unref(left);
+
+				return ret;
+			} else {
+				if (left->numbr == 0) {
+					left->numbr = 1.0;
+				} else {
+					left->numbr = 0.0;
+				}
+
+				return left;
+			}
+		}
+
+		return node(left, op, right);
+	}
+
+	/* String concatentation of two string cnstants */
+	if (op == Node_concat
+	    && left->type == Node_val
+	    && (left->flags & (STRCUR|STRING)) != 0
+	    && right->type == Node_val
+	    && (right->flags & (STRCUR|STRING)) != 0) {
+		size_t newlen = left->stlen + right->stlen + 2;
+
+		erealloc(left->stptr, char *, newlen, "constant_fold");
+		memcpy(left->stptr + left->stlen, right->stptr, right->stlen);
+		left->stptr[left->stlen + right->stlen] = '\0';
+		left->stlen += right->stlen;
+
+		unref(right);
+		return left;
+	}
+
+	/*
+	 * From here down, numeric operations.
+	 * Check for string and bail out if have them.
+	 */
+	if (left->type != Node_val
+	    || (left->flags & (STRCUR|STRING)) != 0
+	    || right->type != Node_val
+	    || (left->flags & (STRCUR|STRING)) != 0) {
+		return node(left, op, right);
+	}
+
+	/* Numeric operations: */
+	switch (op) {
+	case Node_not:
+	case Node_exp:
+	case Node_times:
+	case Node_quotient:
+	case Node_mod:
+	case Node_plus:
+	case Node_minus:
+		break;
+	default:
+		return node(left, op, right);
+	}
+
+	left->numbr = force_number(left);
+	right->numbr = force_number(right);
+
+	result = left->numbr;
+	switch (op) {
+	case Node_exp:
+		result = calc_exp(left->numbr, right->numbr);
+		break;
+	case Node_times:
+		result *= right->numbr;
+		break;
+	case Node_quotient:
+		result /= right->numbr;
+		break;
+	case Node_mod:
+		if (right->numbr == 0)
+			fatal(_("division by zero attempted in `%%'"));
+#ifdef HAVE_FMOD
+		result = fmod(result, right->numbr);
+#else	/* ! HAVE_FMOD */
+		(void) modf(left->numbr / right->numbr, &result);
+		result = left->numbr - result * right->numbr;
+#endif	/* ! HAVE_FMOD */
+		break;
+	case Node_plus:
+		result += right->numbr;
+		break;
+	case Node_minus:
+		result -= right->numbr;
+		break;
+	default:
+		/* Shut up compiler warnings */
+		fatal("can't happen");
+		break;
+	}
+
+	unref(right);
+	left->numbr = result;
+
+	return left;
+}
+
+/* optimize_concat --- optimize the general "x = x y z a" case */
+
+static NODE *
+optimize_concat(NODE *left, NODETYPE op, NODE *right)
+{
+	NODE *top, *leftmost;
+
+	if (op != Node_assign)
+		return node(left, op, right);
+
+	/*
+	 * optimization of `x = x y'.  can save lots of time
+	 * if done a lot.
+	 */
+	if ((    left->type == Node_var
+		|| left->type == Node_var_new
+		|| left->type == Node_param_list)
+	      && right->type == Node_concat) {
+		/* find bottom of tree, save it */
+		for (top = right; top->lnode != NULL && top->type == Node_concat; top = top->lnode) {
+			leftmost = top->lnode;
+			if (leftmost->type == Node_concat)
+				continue;
+
+			/* at this point, we've run out of concatentation */
+			if (leftmost != left)
+				return node(left, op, right);
+
+			top->lnode = Nnull_string;
+			return node(left, Node_assign_concat, right);
+		}
+	}
+	return node(left, op, right);
+}
diff -urN gawk-3.1.6/awklib/ChangeLog gawk-3.1.7/awklib/ChangeLog
--- gawk-3.1.6/awklib/ChangeLog	2007-10-22 08:50:39.000000000 +0200
+++ gawk-3.1.7/awklib/ChangeLog	2009-07-21 22:30:25.000000000 +0300
@@ -1,3 +1,7 @@
+Tue Jul 21 22:28:56 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* Release 3.1.7: Release tar file made.
+
 Mon Oct 22 08:49:05 2007  Arnold D. Robbins  <arnold@skeeve.com>
 
 	* Release 3.1.6: Release tar file made.
diff -urN gawk-3.1.6/awklib/Makefile.in gawk-3.1.7/awklib/Makefile.in
--- gawk-3.1.6/awklib/Makefile.in	2007-10-22 08:52:00.000000000 +0200
+++ gawk-3.1.7/awklib/Makefile.in	2009-07-21 22:29:59.000000000 +0300
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10 from Makefile.am.
+# Makefile.in generated by automake 1.11 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
 # This Makefile.in 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.
@@ -39,8 +40,8 @@
 
 
 VPATH = @srcdir@
-pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_PROGRAM = $(install_sh) -c
@@ -65,18 +66,20 @@
 	$(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/isc-posix.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/longlong.m4 $(top_srcdir)/m4/nls.m4 \
-	$(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
-	$(top_srcdir)/m4/socket.m4 $(top_srcdir)/m4/stdint_h.m4 \
-	$(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \
-	$(top_srcdir)/configure.ac
+	$(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/po.m4 \
+	$(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/socket.m4 \
+	$(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/uintmax_t.m4 \
+	$(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
 am__installdirs = "$(DESTDIR)$(pkglibexecdir)" "$(DESTDIR)$(bindir)"
-pkglibexecPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
 PROGRAMS = $(pkglibexec_PROGRAMS)
 nodist_grcat_OBJECTS = grcat.$(OBJEXT)
 grcat_OBJECTS = $(nodist_grcat_OBJECTS)
@@ -84,23 +87,51 @@
 nodist_pwcat_OBJECTS = pwcat.$(OBJEXT)
 pwcat_OBJECTS = $(nodist_pwcat_OBJECTS)
 pwcat_LDADD = $(LDADD)
-binSCRIPT_INSTALL = $(INSTALL_SCRIPT)
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+  for p in $$list; do echo "$$p $$p"; done | \
+  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+    if (++n[$$2] == $(am__install_max)) \
+      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+    END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
 SCRIPTS = $(bin_SCRIPTS)
-DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/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)
 CCLD = $(CC)
-LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
+	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
 SOURCES = $(nodist_grcat_SOURCES) $(nodist_pwcat_SOURCES)
 DIST_SOURCES =
 ETAGS = etags
 CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 pkgdatadir = $(datadir)/awk
+pkglibexecdir = $(libexecdir)/awk
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AR = @AR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
@@ -113,11 +144,15 @@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
 EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
@@ -128,11 +163,15 @@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
 INTLLIBS = @INTLLIBS@
 INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBICONV = @LIBICONV@
 LIBINTL = @LIBINTL@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
+LIBSIGSEGV = @LIBSIGSEGV@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
 LN_S = @LN_S@
 LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
@@ -142,7 +181,12 @@
 MSGFMT = @MSGFMT@
 MSGFMT_015 = @MSGFMT_015@
 MSGMERGE = @MSGMERGE@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
@@ -152,6 +196,9 @@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 POSUB = @POSUB@
 RANLIB = @RANLIB@
+SED = @SED@
+SEGVINCLUDE = @SEGVINCLUDE@
+SEGVSUBDIR = @SEGVSUBDIR@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SOCKET_LIBS = @SOCKET_LIBS@
@@ -161,6 +208,7 @@
 VERSION = @VERSION@
 XGETTEXT = @XGETTEXT@
 XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
 YACC = @YACC@
 YFLAGS = @YFLAGS@
 abs_builddir = @abs_builddir@
@@ -168,6 +216,7 @@
 abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
 ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
 am__quote = @am__quote@
@@ -198,6 +247,7 @@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
 oldincludedir = @oldincludedir@
@@ -208,8 +258,10 @@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
+subdirs = @subdirs@
 sysconfdir = @sysconfdir@
 target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 EXTRA_DIST = ChangeLog extract.awk eg $(srcdir)/stamp-eg
@@ -219,7 +271,6 @@
 
 # Get config.h from the build directory and custom.h from the source directory.
 AM_CPPFLAGS = -I$(top_builddir) -I$(top_srcdir)
-pkglibexecdir = $(libexecdir)/awk
 bin_SCRIPTS = igawk
 AUXAWK = passwd.awk group.awk
 nodist_grcat_SOURCES = grcat.c
@@ -227,19 +278,19 @@
 all: all-am
 
 .SUFFIXES:
-.SUFFIXES: .c .o .obj
+.SUFFIXES: .c .lo .o .obj
 $(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
 	    *$$dep*) \
-	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
-		&& exit 0; \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  awklib/Makefile'; \
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --gnu  awklib/Makefile
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu awklib/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu awklib/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
@@ -257,48 +308,84 @@
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
 install-pkglibexecPROGRAMS: $(pkglibexec_PROGRAMS)
 	@$(NORMAL_INSTALL)
 	test -z "$(pkglibexecdir)" || $(MKDIR_P) "$(DESTDIR)$(pkglibexecdir)"
-	@list='$(pkglibexec_PROGRAMS)'; for p in $$list; do \
-	  p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
-	  if test -f $$p \
-	  ; then \
-	    f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
-	   echo " $(INSTALL_PROGRAM_ENV) $(pkglibexecPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(pkglibexecdir)/$$f'"; \
-	   $(INSTALL_PROGRAM_ENV) $(pkglibexecPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(pkglibexecdir)/$$f" || exit 1; \
-	  else :; fi; \
-	done
+	@list='$(pkglibexec_PROGRAMS)'; test -n "$(pkglibexecdir)" || list=; \
+	for p in $$list; do echo "$$p $$p"; done | \
+	sed 's/$(EXEEXT)$$//' | \
+	while read p p1; do if test -f $$p || test -f $$p1; \
+	  then echo "$$p"; echo "$$p"; else :; fi; \
+	done | \
+	sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+	    -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+	sed 'N;N;N;s,\n, ,g' | \
+	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+	  { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+	    if ($$2 == $$4) files[d] = files[d] " " $$1; \
+	    else { print "f", $$3 "/" $$4, $$1; } } \
+	  END { for (d in files) print "f", d, files[d] }' | \
+	while read type dir files; do \
+	    if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+	    test -z "$$files" || { \
+	    echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(pkglibexecdir)$$dir'"; \
+	    $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(pkglibexecdir)$$dir" || exit $$?; \
+	    } \
+	; done
 
 uninstall-pkglibexecPROGRAMS:
 	@$(NORMAL_UNINSTALL)
-	@list='$(pkglibexec_PROGRAMS)'; for p in $$list; do \
-	  f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
-	  echo " rm -f '$(DESTDIR)$(pkglibexecdir)/$$f'"; \
-	  rm -f "$(DESTDIR)$(pkglibexecdir)/$$f"; \
-	done
+	@list='$(pkglibexec_PROGRAMS)'; test -n "$(pkglibexecdir)" || list=; \
+	files=`for p in $$list; do echo "$$p"; done | \
+	  sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+	      -e 's/$$/$(EXEEXT)/' `; \
+	test -n "$$list" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(pkglibexecdir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(pkglibexecdir)" && rm -f $$files
 
 clean-pkglibexecPROGRAMS:
-	-test -z "$(pkglibexec_PROGRAMS)" || rm -f $(pkglibexec_PROGRAMS)
+	@list='$(pkglibexec_PROGRAMS)'; test -n "$$list" || exit 0; \
+	echo " rm -f" $$list; \
+	rm -f $$list || exit $$?; \
+	test -n "$(EXEEXT)" || exit 0; \
+	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+	echo " rm -f" $$list; \
+	rm -f $$list
 install-binSCRIPTS: $(bin_SCRIPTS)
 	@$(NORMAL_INSTALL)
 	test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
-	@list='$(bin_SCRIPTS)'; for p in $$list; do \
+	@list='$(bin_SCRIPTS)'; test -n "$(bindir)" || list=; \
+	for p in $$list; do \
 	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-	  if test -f $$d$$p; then \
-	    f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
-	    echo " $(binSCRIPT_INSTALL) '$$d$$p' '$(DESTDIR)$(bindir)/$$f'"; \
-	    $(binSCRIPT_INSTALL) "$$d$$p" "$(DESTDIR)$(bindir)/$$f"; \
-	  else :; fi; \
-	done
+	  if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
+	done | \
+	sed -e 'p;s,.*/,,;n' \
+	    -e 'h;s|.*|.|' \
+	    -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \
+	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \
+	  { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+	    if ($$2 == $$4) { files[d] = files[d] " " $$1; \
+	      if (++n[d] == $(am__install_max)) { \
+		print "f", d, files[d]; n[d] = 0; files[d] = "" } } \
+	    else { print "f", d "/" $$4, $$1 } } \
+	  END { for (d in files) print "f", d, files[d] }' | \
+	while read type dir files; do \
+	     if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+	     test -z "$$files" || { \
+	       echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+	       $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+	     } \
+	; done
 
 uninstall-binSCRIPTS:
 	@$(NORMAL_UNINSTALL)
-	@list='$(bin_SCRIPTS)'; for p in $$list; do \
-	  f=`echo "$$p" | sed 's|^.*/||;$(transform)'`; \
-	  echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
-	  rm -f "$(DESTDIR)$(bindir)/$$f"; \
-	done
+	@list='$(bin_SCRIPTS)'; test -n "$(bindir)" || exit 0; \
+	files=`for p in $$list; do echo "$$p"; done | \
+	       sed -e 's,.*/,,;$(transform)'`; \
+	test -n "$$list" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(bindir)" && rm -f $$files
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -311,62 +398,79 @@
 
 .c.o:
 @am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @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@	mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
 @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
+@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 $@ $<
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
-	  $(AWK) '    { files[$$0] = 1; } \
-	       END { for (i in files) print i; }'`; \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
 	mkid -fID $$unique
 tags: TAGS
 
 TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
+	set x; \
 	here=`pwd`; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
-	  $(AWK) '    { files[$$0] = 1; } \
-	       END { for (i in files) print i; }'`; \
-	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
 	  test -n "$$unique" || unique=$$empty_fix; \
-	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-	    $$tags $$unique; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
 	fi
 ctags: CTAGS
 CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
 		$(TAGS_FILES) $(LISP)
-	tags=; \
-	here=`pwd`; \
 	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
 	unique=`for i in $$list; do \
 	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
 	  done | \
-	  $(AWK) '    { files[$$0] = 1; } \
-	       END { for (i in files) print i; }'`; \
-	test -z "$(CTAGS_ARGS)$$tags$$unique" \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	test -z "$(CTAGS_ARGS)$$unique" \
 	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-	     $$tags $$unique
+	     $$unique
 
 GTAGS:
 	here=`$(am__cd) $(top_builddir) && pwd` \
-	  && cd $(top_srcdir) \
-	  && gtags -i $(GTAGS_ARGS) $$here
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
 
 distclean-tags:
 	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
@@ -387,13 +491,17 @@
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -d $$d/$$file; then \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
 	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
 	    || exit 1; \
 	  fi; \
 	done
@@ -424,14 +532,15 @@
 
 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)
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
 	@echo "it deletes files that may require special tools to rebuild."
 clean: clean-am
 
-clean-am: clean-generic clean-local clean-pkglibexecPROGRAMS \
-	mostlyclean-am
+clean-am: clean-generic clean-libtool clean-local \
+	clean-pkglibexecPROGRAMS mostlyclean-am
 
 distclean: distclean-am
 	-rm -rf ./$(DEPDIR)
@@ -445,6 +554,8 @@
 
 html: html-am
 
+html-am:
+
 info: info-am
 
 info-am:
@@ -453,20 +564,29 @@
 
 install-dvi: install-dvi-am
 
+install-dvi-am:
+
 install-exec-am: install-binSCRIPTS install-pkglibexecPROGRAMS
 	@$(NORMAL_INSTALL)
 	$(MAKE) $(AM_MAKEFLAGS) install-exec-hook
-
 install-html: install-html-am
 
+install-html-am:
+
 install-info: install-info-am
 
+install-info-am:
+
 install-man:
 
 install-pdf: install-pdf-am
 
+install-pdf-am:
+
 install-ps: install-ps-am
 
+install-ps-am:
+
 installcheck-am:
 
 maintainer-clean: maintainer-clean-am
@@ -476,7 +596,8 @@
 
 mostlyclean: mostlyclean-am
 
-mostlyclean-am: mostlyclean-compile mostlyclean-generic
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+	mostlyclean-libtool
 
 pdf: pdf-am
 
@@ -492,17 +613,18 @@
 .MAKE: install-am install-exec-am install-strip
 
 .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-	clean-local clean-pkglibexecPROGRAMS ctags distclean \
-	distclean-compile distclean-generic distclean-tags distdir dvi \
-	dvi-am html html-am info info-am install install-am \
-	install-binSCRIPTS install-data install-data-am install-dvi \
-	install-dvi-am install-exec install-exec-am install-exec-hook \
-	install-html install-html-am install-info install-info-am \
-	install-man install-pdf install-pdf-am \
-	install-pkglibexecPROGRAMS install-ps install-ps-am \
-	install-strip installcheck installcheck-am installdirs \
-	maintainer-clean maintainer-clean-generic mostlyclean \
-	mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \
+	clean-libtool clean-local clean-pkglibexecPROGRAMS ctags \
+	distclean distclean-compile distclean-generic \
+	distclean-libtool distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-binSCRIPTS \
+	install-data install-data-am install-dvi install-dvi-am \
+	install-exec install-exec-am install-exec-hook install-html \
+	install-html-am install-info install-info-am install-man \
+	install-pdf install-pdf-am install-pkglibexecPROGRAMS \
+	install-ps install-ps-am install-strip installcheck \
+	installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-compile \
+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
 	tags uninstall uninstall-am uninstall-binSCRIPTS \
 	uninstall-local uninstall-pkglibexecPROGRAMS
 
@@ -559,6 +681,7 @@
 
 group.awk: $(srcdir)/eg/lib/groupawk.in
 	sed 's;/usr/local/libexec/awk;$(pkglibexecdir);' < $(srcdir)/eg/lib/groupawk.in > group.awk
+
 # 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:
diff -urN gawk-3.1.6/builtin.c gawk-3.1.7/builtin.c
--- gawk-3.1.6/builtin.c	2007-09-30 21:57:05.000000000 +0200
+++ gawk-3.1.7/builtin.c	2009-07-09 22:31:27.000000000 +0300
@@ -3,7 +3,7 @@
  */
 
 /* 
- * Copyright (C) 1986, 1988, 1989, 1991-2007 the Free Software Foundation, Inc.
+ * Copyright (C) 1986, 1988, 1989, 1991-2009 the Free Software Foundation, Inc.
  * 
  * This file is part of GAWK, the GNU implementation of the
  * AWK Programming Language.
@@ -30,6 +30,7 @@
 #endif
 #include <math.h>
 #include "random.h"
+#include "floatmagic.h"
 
 #ifndef CHAR_BIT
 # define CHAR_BIT 8
@@ -91,6 +92,8 @@
 
 static void efwrite P((const void *ptr, size_t size, size_t count, FILE *fp,
 		       const char *from, struct redirect *rp, int flush));
+static size_t mbc_byte_count P((const char *ptr, size_t numchars));
+static size_t mbc_char_count P((const char *ptr, size_t numbytes));
 
 /* efwrite --- like fwrite, but with error checking */
 
@@ -298,6 +301,7 @@
 	register const char *p1, *p2;
 	register size_t l1, l2;
 	long ret;
+	int do_single_byte = FALSE;
 
 	s1 = tree_eval(tree->lnode);
 	s2 = tree_eval(tree->rnode->lnode);
@@ -325,18 +329,28 @@
 		goto out;
 	}
 
+#ifdef MBS_SUPPORT
+	if (gawk_mb_cur_max > 1) {
+		s1 = force_wstring(s1);
+		s2 = force_wstring(s2);
+		/*
+		 * If we don't have valid wide character strings, use
+		 * the real bytes.
+		 */
+		do_single_byte = ((s1->wstlen == 0 && s1->stlen > 0) 
+					|| (s2->wstlen == 0 && s2->stlen > 0));
+	}
+#endif
+
 	/* IGNORECASE will already be false if posix */
 	if (IGNORECASE) {
 		while (l1 > 0) {
 			if (l2 > l1)
 				break;
 #ifdef MBS_SUPPORT
-			if (gawk_mb_cur_max > 1) {
+			if (! do_single_byte && gawk_mb_cur_max > 1) {
 				const wchar_t *pos;
 
-				s1 = force_wstring(s1);
-				s2 = force_wstring(s2);
-
 				pos = wcasestrstr(s1->wstptr, s1->wstlen, s2->wstptr, s2->wstlen);
 				if (pos == NULL)
 					ret = 0;
@@ -370,12 +384,9 @@
 				break;
 			}
 #ifdef MBS_SUPPORT
-			if (gawk_mb_cur_max > 1) {
+			if (! do_single_byte && gawk_mb_cur_max > 1) {
 				const wchar_t *pos;
 
-				s1 = force_wstring(s1);
-				s2 = force_wstring(s2);
-
 				pos = wstrstr(s1->wstptr, s1->wstlen, s2->wstptr, s2->wstlen);
 				if (pos == NULL)
 					ret = 0;
@@ -434,10 +445,15 @@
 {
 	NODE *tmp;
 	size_t len;
+	NODE *n;
 
-	if (tree->lnode->type == Node_var_array
-	    || tree->lnode->type == Node_array_ref) {
-		NODE *array_var = tree->lnode;
+	n = tree->lnode;
+	if (n->type == Node_param_list)
+		n = stack_ptr[n->param_cnt];
+
+	if (n->type == Node_var_array
+	    || n->type == Node_array_ref) {
+		NODE *array_var = n;
 		static short warned = FALSE;
 
 		if (array_var->type == Node_array_ref)
@@ -453,7 +469,10 @@
 		return tmp_number((AWKNUM) array_var->table_size);
 	} else {
 normal:
-		tmp = tree_eval(tree->lnode);
+		if (do_lint && n->type == Node_var_new)
+			lintwarn(_("length: untyped argument will be forced to scalar"));
+
+		tmp = tree_eval(n);
 		if (do_lint && (tmp->flags & (STRING|STRCUR)) == 0)
 			lintwarn(_("length: received non-string argument"));
 		tmp = force_string(tmp);
@@ -461,6 +480,12 @@
 		if (gawk_mb_cur_max > 1) {
 			tmp = force_wstring(tmp);
 			len = tmp->wstlen;
+			/*
+			 * If the bytes don't make a valid wide character
+			 * string, fall back to the bytes themselves.
+			 */
+			if (len == 0 && tmp->stlen > 0)
+				len = tmp->stlen;
 		} else
 #endif
 			len = tmp->stlen;
@@ -595,6 +620,7 @@
 	int quote_flag = FALSE;
 	int ii, jj;
 	char *chp;
+	size_t copy_count, char_count;
 	static const char sp[] = " ";
 	static const char zero_string[] = "0";
 	static const char lchbuf[] = "0123456789abcdef";
@@ -750,6 +776,19 @@
 			 * apply.  The code already was that way, but this
 			 * comment documents it, at least in the code.
 			 */
+			if (do_lint) {
+				const char *msg = NULL;
+
+				if (fw && ! have_prec)
+					msg = _("field width is ignored for `%%%%' specifier");
+				else if (fw == 0 && have_prec)
+					msg = _("precision is ignored for `%%%%' specifier");
+				else if (fw && have_prec)
+					msg = _("field width and precision are ignored for `%%%%' specifier");
+
+				if (msg != NULL)
+					lintwarn(msg);
+			}
 			bchunk_one("%");
 			s0 = s1;
 			break;
@@ -938,6 +977,10 @@
 #else
 				uval = (uintmax_t) arg->numbr;
 #endif
+				if (do_lint && uval > 255) {
+					lintwarn("[s]printf: value %g is too big for %%c format",
+							arg->numbr);
+				}
 				cpbuf[0] = uval;
 				prec = 1;
 				cp = cpbuf;
@@ -958,8 +1001,13 @@
 				fill = zero_string;
 			parse_next_arg();
 			arg = force_string(arg);
-			if (! have_prec || prec > arg->stlen)
+			if (fw == 0 && ! have_prec)
 				prec = arg->stlen;
+			else {
+				char_count = mbc_char_count(arg->stptr, arg->stlen);
+				if (! have_prec || prec > char_count)
+					prec = char_count;
+			}
 			cp = arg->stptr;
 			goto pr_tail;
 		case 'd':
@@ -968,11 +1016,9 @@
 			parse_next_arg();
 			tmpval = force_number(arg);
 			/*
-			 * Check for Nan or Inf (without using isfinite(),
-			 * since that may not be available on all platforms)
+			 * Check for Nan or Inf.
 			 */
-			if ((tmpval != tmpval) ||
-			    ((2*tmpval == tmpval) && (tmpval != 0)))
+			if (isnan(tmpval) || isinf(tmpval))
 				goto out_of_range;
 			else
 				tmpval = double_to_int(tmpval);
@@ -1168,7 +1214,15 @@
 					fw--;
 				}
 			}
-			bchunk(cp, (int) prec);
+			copy_count = prec;
+			if (fw == 0 && ! have_prec)
+				;
+			else if (gawk_mb_cur_max > 1 && (cs1 == 's' || cs1 == 'c')) {
+				assert(cp == arg->stptr || cp == cpbuf);
+				copy_count = mbc_byte_count(arg->stptr,
+						cs1 == 's' ? arg->stlen : 1);
+			}
+			bchunk(cp, copy_count);
 			while (fw > prec) {
 				bchunk_one(fill);
 				fw--;
@@ -1258,6 +1312,8 @@
 			s0 = s1;
 			break;
 		default:
+			if (do_lint && ISALPHA(cs1))
+				lintwarn(_("ignoring unknown format specifier character `%c': no argument converted"), cs1);
 			break;
 		}
 		if (toofew) {
@@ -1420,7 +1476,14 @@
 
 	if (tree->rnode->rnode == NULL) {	/* third arg. missing */
 		/* use remainder of string */
-		length = t1->stlen - indx;
+		length = t1->stlen - indx;	/* default to bytes */
+#ifdef MBS_SUPPORT
+		if (gawk_mb_cur_max > 1) {
+			t1 = force_wstring(t1);
+			if (t1->wstlen > 0)	/* use length of wide char string if we have one */
+				length = t1->wstlen - indx;
+		}
+#endif
 		d_length = length;	/* set here in case used in diagnostics, below */
 	} else {
 		t3 = tree_eval(tree->rnode->rnode->lnode);
@@ -2027,14 +2090,17 @@
 /* do_rand --- do the rand function */
 
 static int firstrand = TRUE;
-static char state[256];
+/* Some systems require this array to be integer aligned. Sigh. */
+#define SIZEOF_STATE 256
+static uint32_t istate[SIZEOF_STATE/sizeof(uint32_t)];
+static char *const state = (char *const) istate;
 
 /* ARGSUSED */
 NODE *
 do_rand(NODE *tree ATTRIBUTE_UNUSED)
 {
 	if (firstrand) {
-		(void) initstate((unsigned) 1, state, sizeof state);
+		(void) initstate((unsigned) 1, state, SIZEOF_STATE);
 		/* don't need to srandom(1), initstate() does it for us. */
 		firstrand = FALSE;
 		setstate(state);
@@ -2057,7 +2123,7 @@
 	long ret = save_seed;	/* SVR4 awk srand returns previous seed */
 
 	if (firstrand) {
-		(void) initstate((unsigned) 1, state, sizeof state);
+		(void) initstate((unsigned) 1, state, SIZEOF_STATE);
 		/* don't need to srandom(1), we're changing the seed below */
 		firstrand = FALSE;
 		(void) setstate(state);
@@ -2147,6 +2213,7 @@
 #endif
 	
 					it = make_string(start, len);
+					it->flags |= MAYBE_NUM;	/* user input */
 					/*
 					 * assoc_lookup() does free_temp() on 2nd arg.
 					 */
@@ -2479,15 +2546,17 @@
 					if (backdigs) {	/* gensub, behave sanely */
 						if (ISDIGIT(scan[1])) {
 							int dig = scan[1] - '0';
-							char *start, *end;
-		
-							start = t->stptr
-							      + SUBPATSTART(rp, t->stptr, dig);
-							end = t->stptr
-							      + SUBPATEND(rp, t->stptr, dig);
+							if (dig < NUMSUBPATS(rp, t->stptr) && SUBPATSTART(rp, tp->stptr, dig) != -1) {
+								char *start, *end;
 		
-							for (cp = start; cp < end; cp++)
-								*bp++ = *cp;
+								start = t->stptr
+								      + SUBPATSTART(rp, t->stptr, dig);
+								end = t->stptr
+								      + SUBPATEND(rp, t->stptr, dig);
+
+								for (cp = start; cp < end; cp++)
+									*bp++ = *cp;
+							}
 							scan++;
 						} else	/* \q for any q --> q */
 							*bp++ = *++scan;
@@ -3279,3 +3348,67 @@
 
 	return tmp_string(the_result, strlen(the_result));
 }
+
+/* mbc_byte_count --- return number of bytes for corresponding numchars multibyte characters */
+
+static size_t
+mbc_byte_count(const char *ptr, size_t numchars)
+{
+#ifdef MBS_SUPPORT
+	mbstate_t cur_state;
+	size_t sum = 0;
+	int mb_len;
+
+	memset(& cur_state, 0, sizeof(cur_state));
+
+	assert(gawk_mb_cur_max > 1);
+	mb_len = mbrlen(ptr, numchars * gawk_mb_cur_max, &cur_state);
+	if (mb_len <= 0)
+		return numchars;	/* no valid m.b. char */
+
+	for (; numchars > 0; numchars--) {
+		mb_len = mbrlen(ptr, numchars * gawk_mb_cur_max, &cur_state);
+		if (mb_len <= 0)
+			break;
+		sum += mb_len;
+		ptr += mb_len;
+	}
+
+	return sum;
+#else
+	return numchars;
+#endif
+}
+
+/* mbc_char_count --- return number of m.b. chars in string, up to numbytes bytes */
+
+static size_t
+mbc_char_count(const char *ptr, size_t numbytes)
+{
+#ifdef MBS_SUPPORT
+	mbstate_t cur_state;
+	size_t sum = 0;
+	int mb_len;
+
+	memset(& cur_state, 0, sizeof(cur_state));
+
+	if (gawk_mb_cur_max == 1)
+		return numbytes;
+
+	mb_len = mbrlen(ptr, numbytes * gawk_mb_cur_max, &cur_state);
+	if (mb_len <= 0)
+		return numbytes;	/* no valid m.b. char */
+
+	for (; numbytes > 0; numbytes--) {
+		mb_len = mbrlen(ptr, numbytes * gawk_mb_cur_max, &cur_state);
+		if (mb_len <= 0)
+			break;
+		sum++;
+		ptr += mb_len;
+	}
+
+	return sum;
+#else
+	return numbytes;
+#endif
+}
diff -urN gawk-3.1.6/config.rpath gawk-3.1.7/config.rpath
--- gawk-3.1.6/config.rpath	2007-01-12 12:20:46.000000000 +0200
+++ gawk-3.1.7/config.rpath	2009-06-08 23:07:44.000000000 +0300
@@ -2,7 +2,7 @@
 # Output a system dependent set of variables, describing how to set the
 # run time search path of shared libraries in an executable.
 #
-#   Copyright 1996-2006 Free Software Foundation, Inc.
+#   Copyright 1996-2007 Free Software Foundation, Inc.
 #   Taken from GNU libtool, 2001
 #   Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
 #
@@ -64,7 +64,7 @@
           ;;
       esac
       ;;
-    mingw* | pw32* | os2*)
+    mingw* | cygwin* | pw32* | os2*)
       ;;
     hpux9* | hpux10* | hpux11*)
       wl='-Wl,'
@@ -74,7 +74,7 @@
       ;;
     newsos6)
       ;;
-    linux*)
+    linux* | k*bsd*-gnu)
       case $cc_basename in
         icc* | ecc*)
           wl='-Wl,'
@@ -100,7 +100,7 @@
     osf3* | osf4* | osf5*)
       wl='-Wl,'
       ;;
-    sco3.2v5*)
+    rdos*)
       ;;
     solaris*)
       wl='-Wl,'
@@ -108,11 +108,14 @@
     sunos4*)
       wl='-Qoption ld '
       ;;
-    sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+    sysv4 | sysv4.2uw2* | sysv4.3*)
       wl='-Wl,'
       ;;
     sysv4*MP*)
       ;;
+    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+      wl='-Wl,'
+      ;;
     unicos*)
       wl='-Wl,'
       ;;
@@ -189,11 +192,11 @@
         ld_shlibs=no
       fi
       ;;
-    interix3*)
+    interix[3-9]*)
       hardcode_direct=no
       hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
       ;;
-    linux*)
+    gnu* | linux* | k*bsd*-gnu)
       if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
         :
       else
@@ -280,7 +283,7 @@
             strings "$collect2name" | grep resolve_lib_name >/dev/null
           then
             # We have reworked collect2
-            hardcode_direct=yes
+            :
           else
             # We have old collect2
             hardcode_direct=unsupported
@@ -359,7 +362,7 @@
       hardcode_direct=yes
       hardcode_minus_L=yes
       ;;
-    freebsd* | kfreebsd*-gnu | dragonfly*)
+    freebsd* | dragonfly*)
       hardcode_libdir_flag_spec='-R$libdir'
       hardcode_direct=yes
       ;;
@@ -412,18 +415,22 @@
       hardcode_libdir_separator=:
       ;;
     openbsd*)
-      hardcode_direct=yes
-      if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-        hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+      if test -f /usr/libexec/ld.so; then
+        hardcode_direct=yes
+        if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+          hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+        else
+          case "$host_os" in
+            openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+              hardcode_libdir_flag_spec='-R$libdir'
+              ;;
+            *)
+              hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+              ;;
+          esac
+        fi
       else
-        case "$host_os" in
-          openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
-            hardcode_libdir_flag_spec='-R$libdir'
-            ;;
-          *)
-            hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-            ;;
-        esac
+        ld_shlibs=no
       fi
       ;;
     os2*)
@@ -471,7 +478,7 @@
         ld_shlibs=yes
       fi
       ;;
-    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*)
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
       ;;
     sysv5* | sco3.2v5* | sco5v6*)
       hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
@@ -488,33 +495,51 @@
 
 # Check dynamic linker characteristics
 # Code taken from libtool.m4's AC_LIBTOOL_SYS_DYNAMIC_LINKER.
+# Unlike libtool.m4, here we don't care about _all_ names of the library, but
+# only about the one the linker finds when passed -lNAME. This is the last
+# element of library_names_spec in libtool.m4, or possibly two of them if the
+# linker has special search rules.
+library_names_spec=      # the last element of library_names_spec in libtool.m4
 libname_spec='lib$name'
 case "$host_os" in
   aix3*)
+    library_names_spec='$libname.a'
     ;;
   aix4* | aix5*)
+    library_names_spec='$libname$shrext'
     ;;
   amigaos*)
+    library_names_spec='$libname.a'
     ;;
   beos*)
+    library_names_spec='$libname$shrext'
     ;;
   bsdi[45]*)
+    library_names_spec='$libname$shrext'
     ;;
   cygwin* | mingw* | pw32*)
     shrext=.dll
+    library_names_spec='$libname.dll.a $libname.lib'
     ;;
   darwin* | rhapsody*)
     shrext=.dylib
+    library_names_spec='$libname$shrext'
     ;;
   dgux*)
+    library_names_spec='$libname$shrext'
     ;;
   freebsd1*)
     ;;
-  kfreebsd*-gnu)
-    ;;
   freebsd* | dragonfly*)
+    case "$host_os" in
+      freebsd[123]*)
+        library_names_spec='$libname$shrext$versuffix' ;;
+      *)
+        library_names_spec='$libname$shrext' ;;
+    esac
     ;;
   gnu*)
+    library_names_spec='$libname$shrext'
     ;;
   hpux9* | hpux10* | hpux11*)
     case $host_cpu in
@@ -528,10 +553,13 @@
         shrext=.sl
         ;;
     esac
+    library_names_spec='$libname$shrext'
     ;;
-  interix3*)
+  interix[3-9]*)
+    library_names_spec='$libname$shrext'
     ;;
   irix5* | irix6* | nonstopux*)
+    library_names_spec='$libname$shrext'
     case "$host_os" in
       irix5* | nonstopux*)
         libsuff= shlibsuff=
@@ -548,41 +576,59 @@
     ;;
   linux*oldld* | linux*aout* | linux*coff*)
     ;;
-  linux*)
+  linux* | k*bsd*-gnu)
+    library_names_spec='$libname$shrext'
     ;;
   knetbsd*-gnu)
+    library_names_spec='$libname$shrext'
     ;;
   netbsd*)
+    library_names_spec='$libname$shrext'
     ;;
   newsos6)
+    library_names_spec='$libname$shrext'
     ;;
   nto-qnx*)
+    library_names_spec='$libname$shrext'
     ;;
   openbsd*)
+    library_names_spec='$libname$shrext$versuffix'
     ;;
   os2*)
     libname_spec='$name'
     shrext=.dll
+    library_names_spec='$libname.a'
     ;;
   osf3* | osf4* | osf5*)
+    library_names_spec='$libname$shrext'
+    ;;
+  rdos*)
     ;;
   solaris*)
+    library_names_spec='$libname$shrext'
     ;;
   sunos4*)
+    library_names_spec='$libname$shrext$versuffix'
     ;;
   sysv4 | sysv4.3*)
+    library_names_spec='$libname$shrext'
     ;;
   sysv4*MP*)
+    library_names_spec='$libname$shrext'
     ;;
   sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+    library_names_spec='$libname$shrext'
     ;;
   uts4*)
+    library_names_spec='$libname$shrext'
     ;;
 esac
 
 sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
 escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"`
 shlibext=`echo "$shrext" | sed -e 's,^\.,,'`
+escaped_libname_spec=`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
+escaped_library_names_spec=`echo "X$library_names_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
 escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
 
 LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF
@@ -596,6 +642,12 @@
 # Shared library suffix (normally "so").
 shlibext="$shlibext"
 
+# Format of library name prefix.
+libname_spec="$escaped_libname_spec"
+
+# Library names that the linker finds when passed -lNAME.
+library_names_spec="$escaped_library_names_spec"
+
 # Flag to hardcode \$libdir into a binary during linking.
 # This must work even if \$libdir does not exist.
 hardcode_libdir_flag_spec="$escaped_hardcode_libdir_flag_spec"
diff -urN gawk-3.1.6/configh.in gawk-3.1.7/configh.in
--- gawk-3.1.6/configh.in	2007-10-22 08:52:38.000000000 +0200
+++ gawk-3.1.7/configh.in	2009-07-21 22:30:16.000000000 +0300
@@ -45,6 +45,9 @@
    */
 #undef HAVE_DECL_TZNAME
 
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#undef HAVE_DLFCN_H
+
 /* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
 #undef HAVE_DOPRNT
 
@@ -69,7 +72,7 @@
 /* Define to 1 if you have the `grantpt' function. */
 #undef HAVE_GRANTPT
 
-/* Define if you have the iconv() function. */
+/* Define if you have the iconv() function and it works. */
 #undef HAVE_ICONV
 
 /* Define if you have the 'intmax_t' type in <stdint.h> or <inttypes.h>. */
@@ -314,9 +317,16 @@
 /* systems should define this type here */
 #undef HAVE_WINT_T
 
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+   */
+#undef LT_OBJDIR
+
 /* disable fatal errors on directories */
 #undef NO_DIRECTORY_FATAL
 
+/* disable use of libsigsegv */
+#undef NO_LIBSIGSEGV
+
 /* disable lint checks */
 #undef NO_LINT
 
@@ -371,23 +381,33 @@
 /* force use of our version of strftime */
 #undef USE_INCLUDED_STRFTIME
 
-/* Version number of package */
-#undef VERSION
-
-/* Define to 1 if on AIX 3.
-   System headers sometimes define this.
-   We just want to avoid a redefinition error message.  */
+/* Enable extensions on AIX 3, Interix.  */
 #ifndef _ALL_SOURCE
 # undef _ALL_SOURCE
 #endif
-
-/* Number of bits in a file offset, on hosts where this is settable. */
-#undef _FILE_OFFSET_BITS
-
 /* Enable GNU extensions on systems that have them.  */
 #ifndef _GNU_SOURCE
 # undef _GNU_SOURCE
 #endif
+/* Enable threading extensions on Solaris.  */
+#ifndef _POSIX_PTHREAD_SEMANTICS
+# undef _POSIX_PTHREAD_SEMANTICS
+#endif
+/* Enable extensions on HP NonStop.  */
+#ifndef _TANDEM_SOURCE
+# undef _TANDEM_SOURCE
+#endif
+/* Enable general extensions on Solaris.  */
+#ifndef __EXTENSIONS__
+# undef __EXTENSIONS__
+#endif
+
+
+/* Version number of package */
+#undef VERSION
+
+/* 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
@@ -407,17 +427,6 @@
 # undef __CHAR_UNSIGNED__
 #endif
 
-/* Enable extensions on Solaris.  */
-#ifndef __EXTENSIONS__
-# undef __EXTENSIONS__
-#endif
-#ifndef _POSIX_PTHREAD_SEMANTICS
-# undef _POSIX_PTHREAD_SEMANTICS
-#endif
-#ifndef _TANDEM_SOURCE
-# undef _TANDEM_SOURCE
-#endif
-
 /* Define like PROTOTYPES; this can be used by system headers. */
 #undef __PROTOTYPES
 
@@ -439,9 +448,18 @@
 /* Define to `int' if <sys/types.h> does not define. */
 #undef pid_t
 
-/* Define to equivalent of C99 restrict keyword, or to nothing if this is not
-   supported. Do not define if restrict is supported directly. */
+/* 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.  */
+#if defined __SUNPRO_CC && !defined __RESTRICT
+# define _Restrict
+#endif
 
 /* Define to `unsigned int' if <sys/types.h> does not define. */
 #undef size_t
diff -urN gawk-3.1.6/configure.ac gawk-3.1.7/configure.ac
--- gawk-3.1.6/configure.ac	2007-10-22 08:51:06.000000000 +0200
+++ gawk-3.1.7/configure.ac	2009-07-21 22:29:47.000000000 +0300
@@ -1,7 +1,7 @@
 dnl
 dnl configure.ac --- autoconf input file for gawk
 dnl
-dnl Copyright (C) 1995-2007 the Free Software Foundation, Inc.
+dnl Copyright (C) 1995-2009 the Free Software Foundation, Inc.
 dnl
 dnl This file is part of GAWK, the GNU implementation of the
 dnl AWK Programming Language.
@@ -23,7 +23,7 @@
 
 dnl Process this file with autoconf to produce a configure script.
 
-AC_INIT([GNU Awk], 3.1.6, bug-gawk@gnu.org, gawk)
+AC_INIT([GNU Awk], 3.1.7, bug-gawk@gnu.org, gawk)
 
 # This is a hack. Different versions of install on different systems
 # are just too different. Chuck it and use install-sh.
@@ -39,9 +39,10 @@
 	export INSTALL
 fi
 
-AC_PREREQ(2.61)
-AM_INIT_AUTOMAKE([1.10])
+AC_PREREQ(2.63)
+AM_INIT_AUTOMAKE([1.11])
 
+AC_CONFIG_MACRO_DIR([m4])
 
 dnl Additional argument stuff
 AC_ARG_ENABLE(portals, [  --enable-portals	Enable /p as path prefix for portals],
@@ -63,6 +64,13 @@
 		AC_DEFINE(NO_LINT, 1, [disable lint checks])
 	fi
 )
+AC_ARG_ENABLE([libsigsegv], [  --disable-libsigsegv	Disable building and using of libsigsegv],
+	if test "$enableval" = no
+	then
+		AC_DEFINE(NO_LIBSIGSEGV, 1, [disable use of libsigsegv])
+		disable_libsigsegv=yes
+	fi
+)
 AC_ARG_ENABLE(switch, [  --enable-switch	Enable switch statements for awk programs],
 	if test "$enableval" = yes
 	then
@@ -76,19 +84,35 @@
 	fi
 )
 
+case $disable_libsigsegv in
+yes)	: do nothing
+	;;
+*)
+	dnl configure libsigsegv
+	AC_CONFIG_SUBDIRS([libsigsegv])
+	LIBSIGSEGV="libsigsegv/src/.libs/libsigsegv.a $LIBS"
+	SEGVINCLUDE='-I$(builddir)/libsigsegv/src'
+	SEGVSUBDIR=libsigsegv
+	AC_SUBST(LIBSIGSEGV)
+	AC_SUBST(SEGVINCLUDE)
+	AC_SUBST(SEGVSUBDIR)
+	;;
+esac
+
+AC_USE_SYSTEM_EXTENSIONS
+
 dnl checks for programs
 AC_PROG_EGREP
 AC_PROG_YACC
 AC_PROG_LN_S
 AC_PROG_CC
 AC_PROG_CPP
-AC_PROG_RANLIB
+AC_PROG_LIBTOOL
 
 AC_OBJEXT
 AC_EXEEXT
 
 AC_PROG_INSTALL
-
 AC_PROG_MAKE_SET
 
 # This is mainly for my use during testing and development.
@@ -104,9 +128,10 @@
 		LIBS="$LIBS dbug/libdbug.a"
 	fi
 	# turn on compiler warnings if we're doing development
+	# enable debugging using macros also
 	if test "$GCC" = yes
 	then
-		CFLAGS="$CFLAGS -Wall -fno-builtin"
+		CFLAGS="$CFLAGS -Wall -fno-builtin -g3 -gdwarf-2"
 	fi
 	AC_MSG_RESULT([yes])
 else
@@ -116,7 +141,7 @@
 AC_SUBST(CFLAGS)
 
 dnl checks for systems
-AC_USE_SYSTEM_EXTENSIONS
+AC_ZOS_USS
 AC_ISC_POSIX
 AC_SYS_LARGEFILE
 GAWK_AC_AIX_TWEAK
@@ -144,7 +169,7 @@
 
 dnl initialize GNU gettext
 AM_GNU_GETTEXT([external])
-AM_GNU_GETTEXT_VERSION([0.16.1])
+AM_GNU_GETTEXT_VERSION([0.17])
 AM_LANGINFO_CODESET
 gt_LC_MESSAGES
 
@@ -269,6 +294,8 @@
 				       [have getaddrinfo])])])
 
 AC_CHECK_LIB(m, fmod)
+AC_CHECK_LIB(m, isinf)
+AC_CHECK_LIB(m, ismod)
 
 # Need the check for mkstemp and tmpfile for missing_d/snprintf.c.
 AC_CHECK_FUNCS(atexit btowc fmod getgrent getgroups grantpt \
diff -urN gawk-3.1.6/custom.h gawk-3.1.7/custom.h
--- gawk-3.1.6/custom.h	2007-08-11 22:39:49.000000000 +0300
+++ gawk-3.1.7/custom.h	2009-07-09 22:30:21.000000000 +0300
@@ -11,7 +11,7 @@
  */
 
 /* 
- * Copyright (C) 1995-2004 the Free Software Foundation, Inc.
+ * Copyright (C) 1995-2004, 2008, 2009 the Free Software Foundation, Inc.
  * 
  * This file is part of GAWK, the GNU implementation of the
  * AWK Programming Language.
@@ -102,3 +102,12 @@
 #define HAVE_TZSET 1
 #define _TZSET 1
 #endif
+
+/* For z/OS, from Dave Pitts */
+#ifdef ZOS_USS
+#undef HAVE_DLFCN_H
+#endif
+
+#if !defined(NO_LIBSIGSEGV) && !defined(DJGPP) && !defined(VMS)
+#define HAVE_SIGSEGV_H 1
+#endif
diff -urN gawk-3.1.6/dfa.c gawk-3.1.7/dfa.c
--- gawk-3.1.6/dfa.c	2007-09-03 06:30:12.000000000 +0300
+++ gawk-3.1.7/dfa.c	2009-07-09 22:31:38.000000000 +0300
@@ -1,5 +1,5 @@
 /* dfa.c - deterministic extended regexp routines for GNU
-   Copyright 1988, 1998, 2000, 2002, 2004, 2005, 2007
+   Copyright 1988, 1998, 2000, 2002, 2004, 2005, 2007, 2009
    Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
@@ -518,7 +518,6 @@
 
   work_mbc->nchars = work_mbc->nranges = work_mbc->nch_classes = 0;
   work_mbc->nequivs = work_mbc->ncoll_elems = 0;
-  work_mbc->chars = NULL;
   work_mbc->ch_classes = NULL;
   work_mbc->range_sts = work_mbc->range_ends = NULL;
   work_mbc->equivs = work_mbc->coll_elems = NULL;
@@ -759,7 +758,7 @@
   { ":graph:]", is_graph },
   { ":cntrl:]", is_cntrl },
   { ":blank:]", is_blank },
-  { 0 }
+  { 0, 0 }
 };
 
 /* Return non-zero if C is a `word-constituent' byte; zero otherwise.  */
@@ -1514,22 +1513,36 @@
 insert (position p, position_set *s)
 {
   int i;
-  position t1, t2;
 
-  for (i = 0; i < s->nelem && p.index < s->elems[i].index; ++i)
-    continue;
+  int start = -1;
+  int end = s->nelem - 1;
+  while (start < end)
+    {
+      int midpoint = (start + end + 1) / 2;
+      if (p.index < s->elems[midpoint].index)
+        {
+	  /* We can skip to the midpoint without missing our insert position */
+	  start = midpoint;
+	}
+      else
+        {
+	  /* The midpoint is after our insert position, go back */
+	  end = midpoint - 1;
+	}
+    }
+  i = start + 1;
+
   if (i < s->nelem && p.index == s->elems[i].index)
     s->elems[i].constraint |= p.constraint;
   else
     {
-      t1 = p;
+      int update_pos;
       ++s->nelem;
-      while (i < s->nelem)
-	{
-	  t2 = s->elems[i];
-	  s->elems[i++] = t1;
-	  t1 = t2;
+      for (update_pos = s->nelem - 1; update_pos > i; update_pos--)
+        {
+	  s->elems[update_pos] = s->elems[update_pos - 1];
 	}
+      s->elems[i] = p;
     }
 }
 
@@ -1649,12 +1662,10 @@
 epsclosure (position_set *s, struct dfa const *d)
 {
   int i, j;
-  int *visited;
+  char *visited;	/* array of booleans, enough to use char, not int */
   position p, old;
 
-  MALLOC(visited, int, d->tindex);
-  for (i = 0; i < d->tindex; ++i)
-    visited[i] = 0;
+  CALLOC(visited, char, d->tindex);
 
   for (i = 0; i < s->nelem; ++i)
     if (d->tokens[s->elems[i].index] >= NOTCHAR
@@ -1801,9 +1812,7 @@
   o_nlast = nlastpos;
   MALLOC(lastpos, position, d->nleaves);
   o_lastpos = lastpos, lastpos += d->nleaves;
-  MALLOC(nalloc, int, d->tindex);
-  for (i = 0; i < d->tindex; ++i)
-    nalloc[i] = 0;
+  CALLOC(nalloc, int, d->tindex);
   MALLOC(merged.elems, position, d->nleaves);
 
   CALLOC(d->follows, position_set, d->tindex);
diff -urN gawk-3.1.6/doc/ChangeLog gawk-3.1.7/doc/ChangeLog
--- gawk-3.1.6/doc/ChangeLog	2007-10-22 08:49:49.000000000 +0200
+++ gawk-3.1.7/doc/ChangeLog	2009-07-21 22:30:01.000000000 +0300
@@ -1,3 +1,127 @@
+Tue Jul 21 22:28:56 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* Release 3.1.7: Release tar file made.
+
+Tue Jul 21 22:20:25 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* gawk.texi, awkcard.in: Update mawk site information now
+	that Thomas Dickey is maintaining it.
+
+Mon Jul 13 07:53:32 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* Makefile.am (SEDME2): New macro, used in making awkcard.ps,
+	removes last empty page.  Finally!
+
+Fri Jul 10 10:35:29 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* awkcard.in: Rearrange items for better formatting and
+	organization.
+	* gawk.texi (Exit Status): New node to document exit values.
+	(Exit Statement): Give portability advice about exit value.
+
+Wed Jul  8 08:55:50 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* awkcard.in: Really fix table option for --verbose. Other
+	fixes and improvements, including document %'d flag.
+
+Tue Jul  7 09:13:02 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* awkcard.in: Fix table option for --verbose.
+
+Mon Jun  8 00:40:26 2009  Tommi Vainikainen  <thv@iki.fi>
+
+	* gawk.1: Bug fix to restore space between paragraphs at
+	entry for "--".
+
+Thu May 21 21:09:59 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* gawk.1, awkcard.in: Document new -O / --optimize option.
+	* gawk.texi (Options): Likewise.
+
+Fri May 15 14:34:37 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* gawk.texi (User-defined): Document that you can't use
+	the name of a built-in variable as a function parameter.
+
+Sat May  2 23:36:10 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* gawk.texi (Other Versions): Add Quiktrim awk.
+	(How to Contribute): Change things to point to awk.info.
+
+Mon Apr  6 22:29:47 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* awkcard.in: Bell Labs awk also supports fflush()
+	and fflush(""). Thanks to Steffen Schuler
+	<schuler.steffen@googlemail.com>.
+
+Mon Mar 30 21:26:04 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* gawk.texi (Simple Server): Fix bug since 3.1.0 where error
+	message from typo was in the middle of the HandleGet function.
+	Thanks to Tim Menzies for catching this.
+
+Mon Feb  9 22:11:16 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* gawk.texi (Translate Program): Bug fix in stranslate
+	function from Steffen Schuler <schuler.steffen@googlemail.com>.
+
+Tue Feb  3 22:06:10 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* gawk.texi (Regexp Field Splitting): Documented dark corner
+	of ^ in FS.
+
+Sat Jan 17 20:37:12 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* gawk.texi (Plain Getline): Bug fix in code. Thanks to
+	Steffen Schuler <schuler.steffen@googlemail.com>.
+
+Mon Jan  5 22:47:42 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* gawk.1, awkcard.in: Document that getline returns 1
+	on sucess. Thanks to Paolo <oopla@users.sf.net> for
+	the report.
+
+Fri Dec 26 14:45:39 2008  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* gawk.texi, gawkinet.texi: Update to FDL 1.3.
+
+Mon Dec  1 21:20:39 2008  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* gawk.texi (File Checking): Correct the text at the end; getline
+	isn't fatal, period, not related to POSIX.  Thanks to
+	Seb <sbb@tuxfamily.org> for pointing this out.
+	(Round-Function): Change initial return when equal to return ival,
+	which lops off any digits, e.g. if given 121.0. Thanks to
+	Timothy J. Stefanski <TJStefanski@magellanhealth.com>.
+
+Fri Aug  1 17:34:55 2008  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* gawk.texi (Signature Program): Added new subsection.
+
+Thu Jul 31 21:38:08 2008  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* gawk.texi (Variable Typing): Document that array elements created
+	by `match' also get strnum attribute.
+
+Mon Jun  2 22:47:08 2008  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* gawk.texi (Control Letters): Add a note about %c only
+	taking values from 0 to 255.
+	(DOS Quoting): New node.
+
+Thu Jan 31 16:17:27 2008  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* gawk.texi, gawkinet.texi: Updated the Back-Cover text per
+	latest from the FSF.
+
+Fri Jan 25 12:13:39 2008  Dave Pitts         <dpitts@cozx.com>
+
+	* gawk.texi (pwcat.c, grcat.c): Added ZOS_USS changes.
+
+Mon Jan 14 05:30:16 2008  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* gawk.texi: Add maintainer contact info for z/OS.
+
 Mon Oct 22 08:49:05 2007  Arnold D. Robbins  <arnold@skeeve.com>
 
 	* Release 3.1.6: Release tar file made.
diff -urN gawk-3.1.6/doc/Makefile.am gawk-3.1.7/doc/Makefile.am
--- gawk-3.1.6/doc/Makefile.am	2007-08-11 22:39:49.000000000 +0300
+++ gawk-3.1.7/doc/Makefile.am	2009-07-13 07:52:43.000000000 +0300
@@ -43,6 +43,7 @@
 TROFF = groff -t -Tps -U
 SEDME = sed -e "s/^level0 restore/level0 restore flashme 100 72 moveto (Copyright `date '+%m-%d-%y %T'`, FSF, Inc. (all)) show/" \
 		-e "s/^\/level0 save def/\/level0 save def 30 -48 translate/"
+SEDME2 = sed '/%%Page: 10 10/,/0 Cg EP/d'
 
 CARDSRC = $(srcdir)/macros $(srcdir)/cardfonts $(srcdir)/colors awkcard.tr
 CARDSRC_N = $(srcdir)/macros $(srcdir)/cardfonts $(srcdir)/no.colors awkcard.tr
@@ -91,7 +92,7 @@
 	sed 's:SRCDIR:$(srcdir):' < $(srcdir)/awkcard.in > awkcard.tr
 
 awkcard.ps: $(CARDFILES)
-	$(TROFF) $(CARDSRC) | $(SEDME) | cat $(srcdir)/setter.outline - > awkcard.ps
+	$(TROFF) $(CARDSRC) | $(SEDME) | cat $(srcdir)/setter.outline - | $(SEDME2) > awkcard.ps
 
 awkcard.nc: $(CARDFILES)
-	$(TROFF) $(CARDSRC_N) | $(SEDME) | cat $(srcdir)/setter.outline - > awkcard.ps && touch awkcard.nc
+	$(TROFF) $(CARDSRC_N) | $(SEDME) | cat $(srcdir)/setter.outline - | $(SEDME2) > awkcard.ps && touch awkcard.nc
diff -urN gawk-3.1.6/doc/Makefile.in gawk-3.1.7/doc/Makefile.in
--- gawk-3.1.6/doc/Makefile.in	2007-10-22 08:52:01.000000000 +0200
+++ gawk-3.1.7/doc/Makefile.in	2009-07-21 22:29:59.000000000 +0300
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10 from Makefile.am.
+# Makefile.in generated by automake 1.11 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
 # This Makefile.in 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.
@@ -39,8 +40,9 @@
 #
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_PROGRAM = $(install_sh) -c
@@ -65,16 +67,19 @@
 	$(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/isc-posix.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/longlong.m4 $(top_srcdir)/m4/nls.m4 \
-	$(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
-	$(top_srcdir)/m4/socket.m4 $(top_srcdir)/m4/stdint_h.m4 \
-	$(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \
-	$(top_srcdir)/configure.ac
+	$(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/po.m4 \
+	$(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/socket.m4 \
+	$(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/uintmax_t.m4 \
+	$(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
 SOURCES =
 DIST_SOURCES =
 INFO_DEPS = $(srcdir)/gawk.info $(srcdir)/gawkinet.info
@@ -95,13 +100,29 @@
     $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
     *) f=$$p;; \
   esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+  for p in $$list; do echo "$$p $$p"; done | \
+  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+    if (++n[$$2] == $(am__install_max)) \
+      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+    END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
 man1dir = $(mandir)/man1
 NROFF = nroff
 MANS = $(man_MANS)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AR = @AR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
@@ -114,11 +135,15 @@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
 EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
@@ -129,11 +154,15 @@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
 INTLLIBS = @INTLLIBS@
 INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBICONV = @LIBICONV@
 LIBINTL = @LIBINTL@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
+LIBSIGSEGV = @LIBSIGSEGV@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
 LN_S = @LN_S@
 LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
@@ -143,7 +172,12 @@
 MSGFMT = @MSGFMT@
 MSGFMT_015 = @MSGFMT_015@
 MSGMERGE = @MSGMERGE@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
@@ -153,6 +187,9 @@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 POSUB = @POSUB@
 RANLIB = @RANLIB@
+SED = @SED@
+SEGVINCLUDE = @SEGVINCLUDE@
+SEGVSUBDIR = @SEGVSUBDIR@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SOCKET_LIBS = @SOCKET_LIBS@
@@ -162,6 +199,7 @@
 VERSION = @VERSION@
 XGETTEXT = @XGETTEXT@
 XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
 YACC = @YACC@
 YFLAGS = @YFLAGS@
 abs_builddir = @abs_builddir@
@@ -169,6 +207,7 @@
 abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
 ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
 am__quote = @am__quote@
@@ -199,6 +238,7 @@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
 oldincludedir = @oldincludedir@
@@ -209,8 +249,10 @@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
+subdirs = @subdirs@
 sysconfdir = @sysconfdir@
 target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 info_TEXINFOS = gawk.texi gawkinet.texi
@@ -229,6 +271,7 @@
 SEDME = sed -e "s/^level0 restore/level0 restore flashme 100 72 moveto (Copyright `date '+%m-%d-%y %T'`, FSF, Inc. (all)) show/" \
 		-e "s/^\/level0 save def/\/level0 save def 30 -48 translate/"
 
+SEDME2 = sed '/%%Page: 10 10/,/0 Cg EP/d'
 CARDSRC = $(srcdir)/macros $(srcdir)/cardfonts $(srcdir)/colors awkcard.tr
 CARDSRC_N = $(srcdir)/macros $(srcdir)/cardfonts $(srcdir)/no.colors awkcard.tr
 CARDFILES = $(CARDSRC) ad.block awkcard.in setter.outline
@@ -255,14 +298,14 @@
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
 	    *$$dep*) \
-	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
-		&& exit 0; \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  doc/Makefile'; \
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --gnu  doc/Makefile
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu doc/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
@@ -280,10 +323,17 @@
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
 
 .texi.info:
 	restore=: && backupdir="$(am__leading_dot)am$$$$" && \
-	am__cwd=`pwd` && cd $(srcdir) && \
+	am__cwd=`pwd` && $(am__cd) $(srcdir) && \
 	rm -rf $$backupdir && mkdir $$backupdir && \
 	if ($(MAKEINFO) --version) >/dev/null 2>&1; then \
 	  for f in $@ $@-[0-9] $@-[0-9][0-9] $(@:.info=).i[0-9] $(@:.info=).i[0-9][0-9]; do \
@@ -295,10 +345,10 @@
 	 -o $@ $<; \
 	then \
 	  rc=0; \
-	  cd $(srcdir); \
+	  $(am__cd) $(srcdir); \
 	else \
 	  rc=$$?; \
-	  cd $(srcdir) && \
+	  $(am__cd) $(srcdir) && \
 	  $$restore $$backupdir/* `echo "./$@" | sed 's|[^/]*$$||'`; \
 	fi; \
 	rm -rf $$backupdir; exit $$rc
@@ -340,16 +390,18 @@
 
 uninstall-dvi-am:
 	@$(NORMAL_UNINSTALL)
-	@list='$(DVIS)'; for p in $$list; do \
-	  f=$(am__strip_dir) \
+	@list='$(DVIS)'; test -n "$(dvidir)" || list=; \
+	for p in $$list; do \
+	  $(am__strip_dir) \
 	  echo " rm -f '$(DESTDIR)$(dvidir)/$$f'"; \
 	  rm -f "$(DESTDIR)$(dvidir)/$$f"; \
 	done
 
 uninstall-html-am:
 	@$(NORMAL_UNINSTALL)
-	@list='$(HTMLS)'; for p in $$list; do \
-	  f=$(am__strip_dir) \
+	@list='$(HTMLS)'; test -n "$(htmldir)" || list=; \
+	for p in $$list; do \
+	  $(am__strip_dir) \
 	  echo " rm -rf '$(DESTDIR)$(htmldir)/$$f'"; \
 	  rm -rf "$(DESTDIR)$(htmldir)/$$f"; \
 	done
@@ -363,7 +415,8 @@
 	  for file in $$list; do \
 	    relfile=`echo "$$file" | sed 's|^.*/||'`; \
 	    echo " install-info --info-dir='$(DESTDIR)$(infodir)' --remove '$(DESTDIR)$(infodir)/$$relfile'"; \
-	    install-info --info-dir="$(DESTDIR)$(infodir)" --remove "$(DESTDIR)$(infodir)/$$relfile"; \
+	    if install-info --info-dir="$(DESTDIR)$(infodir)" --remove "$(DESTDIR)$(infodir)/$$relfile"; \
+	    then :; else test ! -f "$(DESTDIR)$(infodir)/$$relfile" || exit 1; fi; \
 	  done; \
 	else :; fi
 	@$(NORMAL_UNINSTALL)
@@ -379,16 +432,18 @@
 
 uninstall-pdf-am:
 	@$(NORMAL_UNINSTALL)
-	@list='$(PDFS)'; for p in $$list; do \
-	  f=$(am__strip_dir) \
+	@list='$(PDFS)'; test -n "$(pdfdir)" || list=; \
+	for p in $$list; do \
+	  $(am__strip_dir) \
 	  echo " rm -f '$(DESTDIR)$(pdfdir)/$$f'"; \
 	  rm -f "$(DESTDIR)$(pdfdir)/$$f"; \
 	done
 
 uninstall-ps-am:
 	@$(NORMAL_UNINSTALL)
-	@list='$(PSS)'; for p in $$list; do \
-	  f=$(am__strip_dir) \
+	@list='$(PSS)'; test -n "$(psdir)" || list=; \
+	for p in $$list; do \
+	  $(am__strip_dir) \
 	  echo " rm -f '$(DESTDIR)$(psdir)/$$f'"; \
 	  rm -f "$(DESTDIR)$(psdir)/$$f"; \
 	done
@@ -405,20 +460,25 @@
 	  for file in $$d/$$base $$d/$$base-[0-9] $$d/$$base-[0-9][0-9] $$d/$$base_i[0-9] $$d/$$base_i[0-9][0-9]; do \
 	    if test -f $$file; then \
 	      relfile=`expr "$$file" : "$$d/\(.*\)"`; \
-	      test -f $(distdir)/$$relfile || \
-		cp -p $$file $(distdir)/$$relfile; \
+	      test -f "$(distdir)/$$relfile" || \
+		cp -p $$file "$(distdir)/$$relfile"; \
 	    else :; fi; \
 	  done; \
 	done
 
 mostlyclean-aminfo:
 	-rm -rf gawk.aux gawk.cp gawk.cps gawk.fn gawk.ky gawk.kys gawk.log gawk.pg \
-	  gawk.pgs gawk.tmp gawk.toc gawk.tp gawk.tps gawk.vr gawk.dvi \
-	  gawk.pdf gawk.ps gawk.html gawkinet.aux gawkinet.cp \
-	  gawkinet.cps gawkinet.fn gawkinet.ky gawkinet.kys \
-	  gawkinet.log gawkinet.pg gawkinet.pgs gawkinet.tmp \
-	  gawkinet.toc gawkinet.tp gawkinet.tps gawkinet.vr \
-	  gawkinet.dvi gawkinet.pdf gawkinet.ps gawkinet.html
+	  gawk.pgs gawk.tmp gawk.toc gawk.tp gawk.tps gawk.vr \
+	  gawkinet.aux gawkinet.cp gawkinet.cps gawkinet.fn \
+	  gawkinet.ky gawkinet.kys gawkinet.log gawkinet.pg \
+	  gawkinet.pgs gawkinet.tmp gawkinet.toc gawkinet.tp \
+	  gawkinet.tps gawkinet.vr
+
+clean-aminfo:
+	-test -z "gawk.dvi gawk.pdf gawk.ps gawk.html gawkinet.dvi gawkinet.pdf \
+	  gawkinet.ps gawkinet.html" \
+	|| rm -rf gawk.dvi gawk.pdf gawk.ps gawk.html gawkinet.dvi gawkinet.pdf \
+	  gawkinet.ps gawkinet.html
 
 maintainer-clean-aminfo:
 	@list='$(INFO_DEPS)'; for i in $$list; do \
@@ -426,51 +486,44 @@
 	  echo " rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]"; \
 	  rm -f $$i $$i-[0-9] $$i-[0-9][0-9] $$i_i[0-9] $$i_i[0-9][0-9]; \
 	done
-install-man1: $(man1_MANS) $(man_MANS)
+install-man1: $(man_MANS)
 	@$(NORMAL_INSTALL)
 	test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)"
-	@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
-	l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
-	for i in $$l2; do \
-	  case "$$i" in \
-	    *.1*) list="$$list $$i" ;; \
-	  esac; \
+	@list=''; test -n "$(man1dir)" || exit 0; \
+	{ for i in $$list; do echo "$$i"; done; \
+	l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+	  sed -n '/\.1[a-z]*$$/p'; \
+	} | while read p; do \
+	  if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+	  echo "$$d$$p"; echo "$$p"; \
+	done | \
+	sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+	      -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
+	sed 'N;N;s,\n, ,g' | { \
+	list=; while read file base inst; do \
+	  if test "$$base" = "$$inst"; then list="$$list $$file"; else \
+	    echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
+	    $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \
+	  fi; \
 	done; \
-	for i in $$list; do \
-	  if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
-	  else file=$$i; fi; \
-	  ext=`echo $$i | sed -e 's/^.*\\.//'`; \
-	  case "$$ext" in \
-	    1*) ;; \
-	    *) ext='1' ;; \
-	  esac; \
-	  inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
-	  inst=`echo $$inst | sed -e 's/^.*\///'`; \
-	  inst=`echo $$inst | sed '$(transform)'`.$$ext; \
-	  echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
-	  $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst"; \
-	done
+	for i in $$list; do echo "$$i"; done | $(am__base_list) | \
+	while read files; do \
+	  test -z "$$files" || { \
+	    echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \
+	    $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \
+	done; }
+
 uninstall-man1:
 	@$(NORMAL_UNINSTALL)
-	@list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \
-	l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \
-	for i in $$l2; do \
-	  case "$$i" in \
-	    *.1*) list="$$list $$i" ;; \
-	  esac; \
-	done; \
-	for i in $$list; do \
-	  ext=`echo $$i | sed -e 's/^.*\\.//'`; \
-	  case "$$ext" in \
-	    1*) ;; \
-	    *) ext='1' ;; \
-	  esac; \
-	  inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
-	  inst=`echo $$inst | sed -e 's/^.*\///'`; \
-	  inst=`echo $$inst | sed '$(transform)'`.$$ext; \
-	  echo " rm -f '$(DESTDIR)$(man1dir)/$$inst'"; \
-	  rm -f "$(DESTDIR)$(man1dir)/$$inst"; \
-	done
+	@list=''; test -n "$(man1dir)" || exit 0; \
+	files=`{ for i in $$list; do echo "$$i"; done; \
+	l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+	  sed -n '/\.1[a-z]*$$/p'; \
+	} | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+	      -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
+	test -z "$$files" || { \
+	  echo " ( cd '$(DESTDIR)$(man1dir)' && rm -f" $$files ")"; \
+	  cd "$(DESTDIR)$(man1dir)" && rm -f $$files; }
 tags: TAGS
 TAGS:
 
@@ -479,6 +532,19 @@
 
 
 distdir: $(DISTFILES)
+	@list='$(MANS)'; if test -n "$$list"; then \
+	  list=`for p in $$list; do \
+	    if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+	    if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
+	  if test -n "$$list" && \
+	    grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
+	    echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \
+	    grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/         /' >&2; \
+	    echo "       to fix them, install help2man, remove and regenerate the man pages;" >&2; \
+	    echo "       typically \`make maintainer-clean' will remove them" >&2; \
+	    exit 1; \
+	  else :; fi; \
+	else :; fi
 	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
 	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
 	list='$(DISTFILES)'; \
@@ -494,13 +560,17 @@
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -d $$d/$$file; then \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
 	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
 	    || exit 1; \
 	  fi; \
 	done
@@ -535,13 +605,14 @@
 
 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)
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
 	@echo "it deletes files that may require special tools to rebuild."
 clean: clean-am
 
-clean-am: clean-generic mostlyclean-am
+clean-am: clean-aminfo clean-generic clean-libtool mostlyclean-am
 
 distclean: distclean-am
 	-rm -f Makefile
@@ -562,17 +633,19 @@
 install-data-am: install-info-am install-man
 	@$(NORMAL_INSTALL)
 	$(MAKE) $(AM_MAKEFLAGS) install-data-hook
-
 install-dvi: install-dvi-am
 
 install-dvi-am: $(DVIS)
 	@$(NORMAL_INSTALL)
 	test -z "$(dvidir)" || $(MKDIR_P) "$(DESTDIR)$(dvidir)"
-	@list='$(DVIS)'; for p in $$list; do \
+	@list='$(DVIS)'; test -n "$(dvidir)" || list=; \
+	for p in $$list; do \
 	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-	  f=$(am__strip_dir) \
-	  echo " $(INSTALL_DATA) '$$d$$p' '$(DESTDIR)$(dvidir)/$$f'"; \
-	  $(INSTALL_DATA) "$$d$$p" "$(DESTDIR)$(dvidir)/$$f"; \
+	  echo "$$d$$p"; \
+	done | $(am__base_list) | \
+	while read files; do \
+	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(dvidir)'"; \
+	  $(INSTALL_DATA) $$files "$(DESTDIR)$(dvidir)" || exit $$?; \
 	done
 install-exec-am:
 
@@ -581,26 +654,31 @@
 install-html-am: $(HTMLS)
 	@$(NORMAL_INSTALL)
 	test -z "$(htmldir)" || $(MKDIR_P) "$(DESTDIR)$(htmldir)"
-	@list='$(HTMLS)'; for p in $$list; do \
+	@list='$(HTMLS)'; list2=; test -n "$(htmldir)" || list=; \
+	for p in $$list; do \
 	  if test -f "$$p" || test -d "$$p"; then d=; else d="$(srcdir)/"; fi; \
-	  f=$(am__strip_dir) \
+	  $(am__strip_dir) \
 	  if test -d "$$d$$p"; then \
 	    echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)/$$f'"; \
 	    $(MKDIR_P) "$(DESTDIR)$(htmldir)/$$f" || exit 1; \
 	    echo " $(INSTALL_DATA) '$$d$$p'/* '$(DESTDIR)$(htmldir)/$$f'"; \
-	    $(INSTALL_DATA) "$$d$$p"/* "$(DESTDIR)$(htmldir)/$$f"; \
+	    $(INSTALL_DATA) "$$d$$p"/* "$(DESTDIR)$(htmldir)/$$f" || exit $$?; \
 	  else \
-	    echo " $(INSTALL_DATA) '$$d$$p' '$(DESTDIR)$(htmldir)/$$f'"; \
-	    $(INSTALL_DATA) "$$d$$p" "$(DESTDIR)$(htmldir)/$$f"; \
+	    list2="$$list2 $$d$$p"; \
 	  fi; \
-	done
+	done; \
+	test -z "$$list2" || { echo "$$list2" | $(am__base_list) | \
+	while read files; do \
+	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(htmldir)'"; \
+	  $(INSTALL_DATA) $$files "$(DESTDIR)$(htmldir)" || exit $$?; \
+	done; }
 install-info: install-info-am
 
 install-info-am: $(INFO_DEPS)
 	@$(NORMAL_INSTALL)
 	test -z "$(infodir)" || $(MKDIR_P) "$(DESTDIR)$(infodir)"
 	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
-	list='$(INFO_DEPS)'; \
+	list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \
 	for file in $$list; do \
 	  case $$file in \
 	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
@@ -608,18 +686,19 @@
 	  if test -f $$file; then d=.; else d=$(srcdir); fi; \
 	  file_i=`echo "$$file" | sed 's|\.info$$||;s|$$|.i|'`; \
 	  for ifile in $$d/$$file $$d/$$file-[0-9] $$d/$$file-[0-9][0-9] \
-                       $$d/$$file_i[0-9] $$d/$$file_i[0-9][0-9] ; do \
+	               $$d/$$file_i[0-9] $$d/$$file_i[0-9][0-9] ; do \
 	    if test -f $$ifile; then \
-	      relfile=`echo "$$ifile" | sed 's|^.*/||'`; \
-	      echo " $(INSTALL_DATA) '$$ifile' '$(DESTDIR)$(infodir)/$$relfile'"; \
-	      $(INSTALL_DATA) "$$ifile" "$(DESTDIR)$(infodir)/$$relfile"; \
+	      echo "$$ifile"; \
 	    else : ; fi; \
 	  done; \
-	done
+	done | $(am__base_list) | \
+	while read files; do \
+	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(infodir)'"; \
+	  $(INSTALL_DATA) $$files "$(DESTDIR)$(infodir)" || exit $$?; done
 	@$(POST_INSTALL)
 	@if (install-info --version && \
 	     install-info --version 2>&1 | sed 1q | grep -i -v debian) >/dev/null 2>&1; then \
-	  list='$(INFO_DEPS)'; \
+	  list='$(INFO_DEPS)'; test -n "$(infodir)" || list=; \
 	  for file in $$list; do \
 	    relfile=`echo "$$file" | sed 's|^.*/||'`; \
 	    echo " install-info --info-dir='$(DESTDIR)$(infodir)' '$(DESTDIR)$(infodir)/$$relfile'";\
@@ -633,23 +712,27 @@
 install-pdf-am: $(PDFS)
 	@$(NORMAL_INSTALL)
 	test -z "$(pdfdir)" || $(MKDIR_P) "$(DESTDIR)$(pdfdir)"
-	@list='$(PDFS)'; for p in $$list; do \
+	@list='$(PDFS)'; test -n "$(pdfdir)" || list=; \
+	for p in $$list; do \
 	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-	  f=$(am__strip_dir) \
-	  echo " $(INSTALL_DATA) '$$d$$p' '$(DESTDIR)$(pdfdir)/$$f'"; \
-	  $(INSTALL_DATA) "$$d$$p" "$(DESTDIR)$(pdfdir)/$$f"; \
-	done
+	  echo "$$d$$p"; \
+	done | $(am__base_list) | \
+	while read files; do \
+	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pdfdir)'"; \
+	  $(INSTALL_DATA) $$files "$(DESTDIR)$(pdfdir)" || exit $$?; done
 install-ps: install-ps-am
 
 install-ps-am: $(PSS)
 	@$(NORMAL_INSTALL)
 	test -z "$(psdir)" || $(MKDIR_P) "$(DESTDIR)$(psdir)"
-	@list='$(PSS)'; for p in $$list; do \
+	@list='$(PSS)'; test -n "$(psdir)" || list=; \
+	for p in $$list; do \
 	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-	  f=$(am__strip_dir) \
-	  echo " $(INSTALL_DATA) '$$d$$p' '$(DESTDIR)$(psdir)/$$f'"; \
-	  $(INSTALL_DATA) "$$d$$p" "$(DESTDIR)$(psdir)/$$f"; \
-	done
+	  echo "$$d$$p"; \
+	done | $(am__base_list) | \
+	while read files; do \
+	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(psdir)'"; \
+	  $(INSTALL_DATA) $$files "$(DESTDIR)$(psdir)" || exit $$?; done
 installcheck-am:
 
 maintainer-clean: maintainer-clean-am
@@ -659,7 +742,8 @@
 
 mostlyclean: mostlyclean-am
 
-mostlyclean-am: mostlyclean-aminfo mostlyclean-generic
+mostlyclean-am: mostlyclean-aminfo mostlyclean-generic \
+	mostlyclean-libtool
 
 pdf: pdf-am
 
@@ -673,24 +757,24 @@
 	uninstall-man uninstall-pdf-am uninstall-ps-am
 	@$(NORMAL_INSTALL)
 	$(MAKE) $(AM_MAKEFLAGS) uninstall-hook
-
 uninstall-man: uninstall-man1
 
 .MAKE: install-am install-data-am install-strip uninstall-am
 
-.PHONY: all all-am check check-am clean clean-generic dist-info \
-	distclean distclean-generic distdir dvi dvi-am html html-am \
-	info info-am install install-am install-data install-data-am \
+.PHONY: all all-am check check-am clean clean-aminfo clean-generic \
+	clean-libtool dist-info distclean distclean-generic \
+	distclean-libtool distdir dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am \
 	install-data-hook install-dvi install-dvi-am install-exec \
 	install-exec-am install-html install-html-am install-info \
 	install-info-am install-man install-man1 install-pdf \
 	install-pdf-am install-ps install-ps-am install-strip \
 	installcheck installcheck-am installdirs maintainer-clean \
 	maintainer-clean-aminfo maintainer-clean-generic mostlyclean \
-	mostlyclean-aminfo mostlyclean-generic pdf pdf-am ps ps-am \
-	uninstall uninstall-am uninstall-dvi-am uninstall-hook \
-	uninstall-html-am uninstall-info-am uninstall-man \
-	uninstall-man1 uninstall-pdf-am uninstall-ps-am
+	mostlyclean-aminfo mostlyclean-generic mostlyclean-libtool pdf \
+	pdf-am ps ps-am uninstall uninstall-am uninstall-dvi-am \
+	uninstall-hook uninstall-html-am uninstall-info-am \
+	uninstall-man uninstall-man1 uninstall-pdf-am uninstall-ps-am
 
 
 # Link gawk.1 to pgawk.1
@@ -721,10 +805,11 @@
 	sed 's:SRCDIR:$(srcdir):' < $(srcdir)/awkcard.in > awkcard.tr
 
 awkcard.ps: $(CARDFILES)
-	$(TROFF) $(CARDSRC) | $(SEDME) | cat $(srcdir)/setter.outline - > awkcard.ps
+	$(TROFF) $(CARDSRC) | $(SEDME) | cat $(srcdir)/setter.outline - | $(SEDME2) > awkcard.ps
 
 awkcard.nc: $(CARDFILES)
-	$(TROFF) $(CARDSRC_N) | $(SEDME) | cat $(srcdir)/setter.outline - > awkcard.ps && touch awkcard.nc
+	$(TROFF) $(CARDSRC_N) | $(SEDME) | cat $(srcdir)/setter.outline - | $(SEDME2) > awkcard.ps && touch awkcard.nc
+
 # 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:
diff -urN gawk-3.1.6/doc/awkcard.in gawk-3.1.7/doc/awkcard.in
--- gawk-3.1.6/doc/awkcard.in	2007-10-14 23:18:21.000000000 +0200
+++ gawk-3.1.7/doc/awkcard.in	2009-07-21 22:06:50.000000000 +0300
@@ -1,7 +1,7 @@
 .\" AWK Reference Card --- Arnold Robbins, arnold@skeeve.com
 .\"
 .\" Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-.\" 2003, 2004, 2005, 2007 Free Software Foundation, Inc.
+.\" 2003, 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
 .\" 
 .\" Permission is granted to make and distribute verbatim copies of
 .\" this reference card provided the copyright notice and this permission
@@ -48,9 +48,9 @@
 .in +.2i
 .nf
 \*(FRAction Statements	7
-Arrays	11
+Arrays	10
 Awk Program Execution	4
-Bit Manipulation Functions (\*(GK)	16
+Bit Manipulation Functions (\*(GK)	15
 Bug Reports	2
 Closing Redirections	12
 Command Line Arguments (standard)	2
@@ -59,28 +59,28 @@
 Conversions And Comparisons	9
 Copying Permissions	18
 Definitions	2
-Dynamic Extensions (\*(GK)	14
-Environment Variables (\*(GK)	16
+Dynamic Extensions (\*(GK)	16
+Environment Variables (\*(GK)	17
 Escape Sequences	8
-Expressions	11
+Expressions	10
 Fields	6
 FTP/HTTP Information	18
-Historical Features (\*(GK)	10
-Input Control	12
-Internationalization (\*(GK)	18
+Historical Features (\*(GK)	17
+Input Control	11
+Internationalization (\*(GK)	16
 Lines And Statements	5
-Localization (\*(GK)	17
-Numeric Functions	14
-Output Control	12
+Localization (\*(GK)	16
+Numeric Functions	15
+Output Control	11
 Pattern Elements	7
-POSIX Character Classes (\*(GK)	6
+POSIX Character Classes	6
 Printf Formats	13
 Records	6
 Regular Expressions	5
 Signals (\*(PK)	4
-Special Filenames	14
-String Functions	15
-Time Functions (\*(GK)	16
+Special Filenames	12
+String Functions	14
+Time Functions (\*(GK)	15
 User-defined Functions	17
 Variables	8\*(CX
 .in -.2i
@@ -101,7 +101,7 @@
 .SL
 .nf
 \*(FRCopyright \(co 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-2005, 2007 Free Software Foundation, Inc.
+2005, 2007, 2009 Free Software Foundation, Inc.
 .nf
 .BT
 
@@ -193,19 +193,7 @@
 \*(FIprog-file\*(FR, instead of from the first command
 line argument. Multiple \*(FC\-f\*(FR options may be used.
 T}
-\*(FC\-\^\-\*(FR	signal the end of options.
-.TE
-.sp .5
-.fi
-\*(CLThe following options are accepted by both \*(NK and \*(GK
-\*(CR(ignored by \*(GK, not in \*(MK).\*(CL
-.sp .5
-.nf
-.TS
-expand, tab(%);
-l lw(2.2i).
-\*(FC\-mf \*(FIval\*(FR%set the maximum number of fields to \*(FIval\fP
-\*(FC\-mr \*(FIval\*(FR%set the maximum record size to \*(FIval\fP\*(CX
+\*(FC\-\^\-\*(FR	signal the end of options.\*(CX
 .TE
 .EB "\s+2\f(HBCOMMAND LINE ARGUMENTS (standard)\*(FR\s0"
 
@@ -273,8 +261,9 @@
 T}
 \*(FC\-\^\-exec \*(FIfile\*(FR%T{
 read program text from \*(FIfile\fP. No other
-options are processed. Useful with \*(FC#!\fP.
+options are processed.
 Also disables command-line variable assignments.
+Useful with \*(FC#!\fP.
 T}
 \*(FC\-\^\-gen\-po\*(FR%T{
 process the program and print a GNU \*(FCgettext\*(FR
@@ -295,14 +284,14 @@
 l lw(2.2i).
 \*(FC\-\^\-lint\*(FR[\*(FC=\*(FIvalue\*(FR]
 %T{
-warn about constructs that are dubious
-or non-portable to other \*(AKs.
-With an optional argument of \*(FCfatal\*(FR,
+warn about dubios or non-portable constructs.
+If \*(FIvalue\*(FR is
+\*(FCfatal\*(FR,
 lint warnings become fatal errors.
-With an optional argument of
+If \*(FIvalue\*(FR is
 \*(FCinvalid\*(FR,
-only warnings about things that are
-actually invalid are issued. (This is not fully implemented yet.)
+only issue warnings about things that are
+actually invalid (not fully implemented yet).
 T}
 .T&
 l lw(2.2i).
@@ -320,6 +309,13 @@
 \*(FIUse this option with great caution!\*(FR
 T}
 .T&
+ls
+l lw(2.2i).
+\*(FC\-\^\-optimize\*(FR, \*(FC\-O\*(FR
+%T{
+enable some internal optimizations.
+T}
+.T&
 l lw(2.2i).
 \*(FC\-\^\-posix\*(FR%T{
 disable common and GNU extensions.
@@ -356,8 +352,13 @@
 \*(FC\-\^\-source '\*(FItext\*(FC'\*(FR
 %T{
 use \*(FItext\*(FR as AWK program source code.
+T}
+.T&
+l lw(2.2i).
 \*(FC\-\^\-version\*(FR%T{
-print version information on \*(FCstdout\fP
+print version \" information
+info
+on \*(FCstdout\fP
 and exit zero.
 T}
 .T&
@@ -372,7 +373,7 @@
 .fi
 In compatibility mode,
 any other options are flagged as invalid, but are otherwise ignored.
-Normally, if there is program text, unknown options
+Normally, if there is program text, unknown
 options are passed on to the AWK program in
 \*(FCARGV\*(FR
 for processing.\*(CB
@@ -586,12 +587,12 @@
 
 .BT
 
-.\" --- POSIX Character Classes (gawk)
+.\" --- POSIX Character Classes
 .ES
 .fi
 \*(CDIn regular expressions, within character ranges
 (\*(FC[\*(FR...\*(FC]\*(FR),
-the notation \*(FC[[:\*(FIclass\*(FC:]]\*(FR defines character classes:
+the notation \*(FC[[:\*(FIclass\*(FC:]]\*(FR defines character classes \*(CR(not \*(MK\fP)\*(CD:
 .sp .5
 .TS
 center, tab(~);
@@ -605,9 +606,9 @@
 .TE
 .fi
 .sp .5
-Recognition of these character classes is disabled
-when \*(FC\-\-traditional\*(FR is supplied.\*(CB
-.EB "\s+2\f(HBPOSIX CHARACTER CLASSES (\*(GK\f(HB)\*(FR\s0"
+\*(CB\*(FRRecognition of these character classes is disabled
+when \*(FC\-\-traditional\*(FR is supplied.\*(CL
+.EB "\s+2\f(HBPOSIX CHARACTER CLASSES\*(FR\s0"
 
 .\" --- Records
 .ES
@@ -715,7 +716,6 @@
 It does not combine with any other pattern expression.\*(CX
 .EB "\s+2\f(HBPATTERN ELEMENTS\*(FR\s0"
 
-
 .\" --- Action Statements
 .ES
 .fi
@@ -1020,31 +1020,6 @@
 
 .BT
 
-.\" --- Historical Features
-.ES
-.fi
-\*(CD1. It is possible to call the \*(FClength()\fP
-built-in function not only with no argument, but even without parentheses.
-This feature is marked as ``deprecated'' in the POSIX standard, and \*(GK
-issues a warning about its use if \*(FC\-\^\-lint\fP
-is specified on the command line.
-.sp .5
-2.  The \*(FCcontinue\fP
-and \*(FCbreak\fP statements may be used outside the body of a
-\*(FCwhile\*(FR, \*(FCfor\*(FR, or \*(FCdo\fP loop.
-Historical AWK implementations have treated such usage as
-equivalent to the \*(FCnext\fP statement.
-\*(GK supports this usage if \*(FC\-\^\-traditional\fP
-is specified.\*(CB
-.EB "\s+2\f(HBHISTORICAL FEATURES (\*(GK\f(HB)\*(FR\s0"
-
-.ES
-\*(CX
-.sp 47
-.EB "\s+2\f(HBNOTES\*(FR\s0"
-
-.BT
-
 .\" --- Arrays
 .ES
 .fi
@@ -1199,7 +1174,7 @@
 .in -.2i
 .sp .5
 .fi
-\*(FCgetline\*(FR returns 0 on end of file and \-1 on an error.
+\*(FCgetline\*(FR returns 1 on success, 0 on end of file, and \-1 on an error.
 \*(CBUpon an error, \*(FCERRNO\*(FR contains a string describing
 the problem.\*(CX
 .EB "\s+2\f(HBINPUT CONTROL\*(FR\s0"
@@ -1215,7 +1190,7 @@
 with the open output file or pipe \*(FIfile\*(FR.\*(CD
 \*(CBIf no \*(FIfile\fP, then flush standard output.
 If \*(FIfile\fP is null, then flush all open output files and pipes
-\*(CR(not \*(NK)\*(CD.
+(\*(GK and \*(NK)\*(CD.
 .ti -.2i
 \*(FCprint\fP
 .br
@@ -1262,6 +1237,9 @@
 .in -.2i
 .EB "\s+2\f(HBOUTPUT CONTROL\*(FR\s0"
 
+.BT
+
+.\" --- Closing Redirections
 .ES
 .fi
 .in +.2i
@@ -1285,6 +1263,85 @@
 the error.\*(CX
 .EB "\s+2\f(HBCLOSING REDIRECTIONS\*(FR\s0"
 
+.\" --- Special Filenames
+.ES
+.fi
+\*(CDWhen doing I/O redirection from either \*(FCprint\fP
+or \*(FCprintf\fP into a file or via \*(FCgetline\fP
+from a file, all three implementations of \*(FCawk\fP
+recognize certain special filenames internally. These filenames
+allow access to open file descriptors inherited from the
+parent process (usually the shell).
+These filenames may also be used on the command line to name data files.
+The filenames are:
+.sp .5
+.TS
+expand;
+l lw(2i).
+\*(FC"\-"\fP	standard input
+\*(FC/dev/stdin\fP	standard input \*(CR(not \*(MK)\*(CD
+\*(FC/dev/stdout\fP	standard output
+\*(FC/dev/stderr\fP	standard error output
+.TE
+.sp .5
+.fi
+\*(CBThe following names are specific to \*(GK.
+.sp .5
+.in +.2i
+.ti -.2i
+\*(FC/dev/fd/\^\*(FIn\*(FR
+.br
+File associated with the open file descriptor \*(FIn\*(FR.
+.ti -.2i
+\*(FC/inet/tcp/\*(FIlport\*(FC/\*(FIrhost\*(FC/\*(FIrport\*(FR
+.br
+File for TCP/IP connection on local port \*(FIlport\*(FR to
+remote host \*(FIrhost\*(FR on remote port \*(FIrport\*(FR.
+Use a port of \*(FC0\*(FR to have the system pick a port.
+Usable only with the \*(FC|&\*(FR two-way I/O operator.
+.ti -.2i
+\*(FC/inet/udp/\*(FIlport\*(FC/\*(FIrhost\*(FC/\*(FIrport\*(FR
+.br
+Similar, but use UDP/IP instead of TCP/IP.
+.ti -.2i
+\*(CR\*(FC/inet/raw/\*(FIlport\*(FC/\*(FIrhost\*(FC/\*(FIrport\*(FR
+.br
+.\" Similar, but use raw IP sockets.
+Reserved for future use.\*(CB
+.in -.2i
+.sp .5
+.fi
+Other special filenames provide access to information about the running
+\*(FCgawk\fP process.
+Reading from these files returns a single record.
+The filenames and what they return are:\*(FR
+.sp .5
+.TS
+expand;
+l lw(2i).
+\*(FC/dev/pid\fP	process ID of current process
+\*(FC/dev/ppid\fP	parent process ID of current process
+\*(FC/dev/pgrpid\fP	process group ID of current process
+\*(FC/dev/user\fP	T{
+.nf
+a single newline-terminated record.
+The fields are separated with spaces.
+\*(FC$1\fP is the return value of \*(FIgetuid\*(FR(2),
+\*(FC$2\fP is the return value of \*(FIgeteuid\*(FR(2),
+\*(FC$3\fP is the return value of \*(FIgetgid\*(FR(2) , and
+\*(FC$4\fP is the return value of \*(FIgetegid\*(FR(2).
+.fi
+Any additional fields are the group IDs returned
+by \*(FIgetgroups\*(FR(2). Multiple groups may not be
+supported on all systems.
+T}
+.TE
+.sp .5
+.fi
+\*(CRThese filenames are now obsolete.
+Use the \*(FCPROCINFO\fP array to obtain the information they provide.\*(CL
+.EB "\s+2\f(HBSPECIAL FILENAMES\*(FR\s0"
+
 .BT
 
 .\" --- Printf Formats
@@ -1296,8 +1353,7 @@
 .sp .5
 .nf
 \*(FC%c\fP		an \s-1ASCII\s+1 character
-\*(FC%d\fP		a decimal number (the integer part)
-\*(FC%i\fP		a decimal number (the integer part)
+\*(FC%d\fP, \*(FC%i\fP	a decimal number (the integer part)
 \*(FC%e\fP		a floating point number of the form
 		\*(FC[\-]d.dddddde[+\^\-]dd\*(FR
 \*(FC%E\fP		like \*(FC%e\fP, but use \*(FCE\fP instead of \*(FCe\*(FR
@@ -1360,12 +1416,14 @@
 trailing zeros are not removed.
 T}
 \*(FC0\fP	T{
-a leading zero acts as a flag, indicating output
-should be padded with zeros instead of spaces.
+pad output with zeros instead of spaces.
 This applies even to non-numeric output formats.
 Only has an effect when the field width is wider
 than the value to be printed.
 T}
+\*(CB\*(FC'\*(FR	T{
+use the locale's thousands separator for \*(FC%d\fP, \*(FC%i\fP, and \*(FC%u\fP.\*(CD
+T}
 \*(FIwidth\fP	T{
 pad the field to this width. The field is normally
 padded with spaces. If the \*(FC0\fP flag has been used,
@@ -1391,8 +1449,10 @@
 .TE
 .sp .5
 .fi
+.ig
 The dynamic \*(FIwidth\fP and \*(FIprec\fP capabilities of the ANSI C
 \*(FCprintf()\fP routines are supported.
+..
 A \*(FC*\fP in place of either the \*(FIwidth\fP or \*(FIprec\fP
 specifications causes their values to be taken from
 the argument list to \*(FCprintf\fP or \*(FCsprintf()\*(FR.
@@ -1403,129 +1463,6 @@
 
 .BT
 
-.\" --- Special Filenames
-.ES
-.fi
-\*(CDWhen doing I/O redirection from either \*(FCprint\fP
-or \*(FCprintf\fP into a file or via \*(FCgetline\fP
-from a file, all three implementations of \*(FCawk\fP
-recognize certain special filenames internally. These filenames
-allow access to open file descriptors inherited from the
-parent process (usually the shell).
-These filenames may also be used on the command line to name data files.
-The filenames are:
-.sp .5
-.TS
-expand;
-l lw(2i).
-\*(FC"\-"\fP	standard input
-\*(FC/dev/stdin\fP	standard input \*(CR(not \*(MK)\*(CD
-\*(FC/dev/stdout\fP	standard output
-\*(FC/dev/stderr\fP	standard error output
-.TE
-.sp .5
-.fi
-\*(CBThe following names are specific to \*(GK.
-.sp .5
-.in +.2i
-.ti -.2i
-\*(FC/dev/fd/\^\*(FIn\*(FR
-.br
-File associated with the open file descriptor \*(FIn\*(FR.
-.ti -.2i
-\*(FC/inet/tcp/\*(FIlport\*(FC/\*(FIrhost\*(FC/\*(FIrport\*(FR
-.br
-File for TCP/IP connection on local port \*(FIlport\*(FR to
-remote host \*(FIrhost\*(FR on remote port \*(FIrport\*(FR.
-Use a port of \*(FC0\*(FR to have the system pick a port.
-Usable only with the \*(FC|&\*(FR two-way I/O operator.
-.ti -.2i
-\*(FC/inet/udp/\*(FIlport\*(FC/\*(FIrhost\*(FC/\*(FIrport\*(FR
-.br
-Similar, but use UDP/IP instead of TCP/IP.
-.ti -.2i
-\*(CR\*(FC/inet/raw/\*(FIlport\*(FC/\*(FIrhost\*(FC/\*(FIrport\*(FR
-.br
-.\" Similar, but use raw IP sockets.
-Reserved for future use.\*(CB
-.in -.2i
-.sp .5
-.fi
-Other special filenames provide access to information about the running
-\*(FCgawk\fP process.
-Reading from these files returns a single record.
-The filenames and what they return are:\*(FR
-.sp .5
-.TS
-expand;
-l lw(2i).
-\*(FC/dev/pid\fP	process ID of current process
-\*(FC/dev/ppid\fP	parent process ID of current process
-\*(FC/dev/pgrpid\fP	process group ID of current process
-\*(FC/dev/user\fP	T{
-.nf
-a single newline-terminated record.
-The fields are separated with spaces.
-\*(FC$1\fP is the return value of \*(FIgetuid\*(FR(2),
-\*(FC$2\fP is the return value of \*(FIgeteuid\*(FR(2),
-\*(FC$3\fP is the return value of \*(FIgetgid\*(FR(2) , and
-\*(FC$4\fP is the return value of \*(FIgetegid\*(FR(2).
-.fi
-Any additional fields are the group IDs returned
-by \*(FIgetgroups\*(FR(2). Multiple groups may not be
-supported on all systems.
-T}
-.TE
-.sp .5
-.fi
-\*(CRThese filenames are now obsolete.
-Use the \*(FCPROCINFO\fP array to obtain the information they provide.\*(CL
-.EB "\s+2\f(HBSPECIAL FILENAMES\*(FR\s0"
-.sp .5
-.\" --- Builtin Numeric Functions
-.ES
-.fi
-.TS
-expand;
-l lw(2i).
-\*(CD\*(FCatan2(\*(FIy\*(FC, \*(FIx\*(FC)\*(FR	the arctangent of \*(FIy/x\fP in radians.
-\*(FCcos(\*(FIexpr\*(FC)\*(FR	the cosine of \*(FIexpr\fP, which is in radians.
-\*(FCexp(\*(FIexpr\*(FC)\*(FR	the exponential function (\*(FIe \*(FC^ \*(FIx\*(FR).
-\*(FCint(\*(FIexpr\*(FC)\*(FR	truncates to integer.
-\*(FClog(\*(FIexpr\*(FC)\*(FR	the natural logarithm function (base \*(FIe\^\*(FR).
-\*(FCrand()\fP	a random number between 0 and 1 (0 \(<= \*(FIN\fP < 1).
-\*(FCsin(\*(FIexpr\*(FC)\*(FR	the sine of \*(FIexpr\fP, which is in radians.
-\*(FCsqrt(\*(FIexpr\*(FC)\*(FR	the square root function.
-\&\*(FCsrand(\*(FR[\*(FIexpr\^\*(FR]\*(FC)\*(FR	T{
-uses \*(FIexpr\fP as a new seed for the random number
-generator. If no \*(FIexpr\fP, the time of day is used.
-Returns previous seed for the random number
-generator.\*(CX
-T}
-.TE
-.EB "\s+2\f(HBNUMERIC FUNCTIONS\*(FR\s0"
-.sp .5
-.\" --- Extensions
-.ES
-.fi
-.in +.2i
-.ti -.2i
-\*(CD\*(FCextension(\*(FIlib\*(FC, \*(FIfunc\*(FC)\*(FR
-.br
-dynamically load the shared library
-\*(FIlib\*(FR
-and call
-\*(FIfunc\*(FR
-in it to initialize the library.
-This adds new built-in functions to \*(GK.
-It returns the value returned by
-\*(FIfunc\*(FR.\*(CB
-.in -.2i
-.EB "\s+2\f(HBDYNAMIC EXTENSIONS (\*(GK\f(HB)\*(FR\s0"
-
-
-.BT
-
 .\" --- Builtin String Functions
 .ES
 .fi
@@ -1662,16 +1599,39 @@
 left unchanged.\*(CX
 .in -.2i
 .EB "\s+2\f(HBSTRING FUNCTIONS (continued)\*(FR\s0"
-
-.\" --- Builtin Time Functions
+.sp .6
+.\" --- Builtin Numeric Functions
 .ES
 .fi
-\*(CD\*(GK
-provides the following functions for obtaining time stamps and
-formatting them.
-.sp .5
-.fi
-.in +.2i
+.TS
+expand;
+l lw(2i).
+\*(CD\*(FCatan2(\*(FIy\*(FC, \*(FIx\*(FC)\*(FR	the arctangent of \*(FIy/x\fP in radians.
+\*(FCcos(\*(FIexpr\*(FC)\*(FR	the cosine of \*(FIexpr\fP, which is in radians.
+\*(FCexp(\*(FIexpr\*(FC)\*(FR	the exponential function (\*(FIe \*(FC^ \*(FIx\*(FR).
+\*(FCint(\*(FIexpr\*(FC)\*(FR	truncates to integer.
+\*(FClog(\*(FIexpr\*(FC)\*(FR	the natural logarithm function (base \*(FIe\^\*(FR).
+\*(FCrand()\fP	a random number between 0 and 1 (0 \(<= \*(FIN\fP < 1).
+\*(FCsin(\*(FIexpr\*(FC)\*(FR	the sine of \*(FIexpr\fP, which is in radians.
+\*(FCsqrt(\*(FIexpr\*(FC)\*(FR	the square root function.
+\&\*(FCsrand(\*(FR[\*(FIexpr\^\*(FR]\*(FC)\*(FR	T{
+uses \*(FIexpr\fP as a new seed for the random number
+generator. If no \*(FIexpr\fP, the time of day is used.
+Returns previous seed for the random number
+generator.\*(CX
+T}
+.TE
+.EB "\s+2\f(HBNUMERIC FUNCTIONS\*(FR\s0"
+.sp .6
+.\" --- Builtin Time Functions
+.ES
+.fi
+\*(CD\*(GK
+provides the following functions for obtaining time stamps and
+formatting them.
+.sp .5
+.fi
+.in +.2i
 .ti -.2i
 \*(FCmktime(\*(FIdatespec\*(FC)\*(FR
 .br
@@ -1699,7 +1659,7 @@
 seconds since the Epoch.\*(CB
 .in -.2i
 .EB "\s+2\f(HBTIME FUNCTIONS (\*(GK\f(HB)\*(FR\s0"
-
+.sp .6
 .\" --- Builtin Bit Manipulation Functions
 .ES
 .fi
@@ -1741,25 +1701,116 @@
 .in -.2i
 .EB "\s+2\f(HBBIT MANIPULATION FUNCTIONS (\*(GK\f(HB)\*(FR\s0"
 
-.\" --- Environment Variables
+.BT
+
+.\" --- Extensions
 .ES
 .fi
-\*(CDThe environment variable \*(FCAWKPATH\fP specifies a search path to use
-when finding source files named with the \*(FC\-f\fP
-option.
-The default path is
-\*(FC".:/usr/local/share/awk"\*(FR.
-.\" if this variable does not exist.
-.\" (The actual directory may vary,
-.\" depending upon how \*(GK was built and installed.)
-If a file name given to the \*(FC\-f\fP option contains a ``/'' character,
-no path search is performed.
+.in +.2i
+.ti -.2i
+\*(CD\*(FCextension(\*(FIlib\*(FC, \*(FIfunc\*(FC)\*(FR
+.br
+dynamically load the shared library
+\*(FIlib\*(FR
+and call
+\*(FIfunc\*(FR
+in it to initialize the library.
+This adds new built-in functions to \*(GK.
+It returns the value returned by
+\*(FIfunc\*(FR.\*(CB
+.in -.2i
+.EB "\s+2\f(HBDYNAMIC EXTENSIONS (\*(GK\f(HB)\*(FR\s0"
+
+.\" --- Builtin Internationalization Functions
+.ES
+.fi
+\*(CD\*(GK
+provides the following functions for runtime message translation.
+.in +.2i
 .sp .5
-If \*(FCPOSIXLY_CORRECT\fP exists
-.\" in the environment,
-then \*(GK
-behaves exactly as if the \*(FC\-\^\-posix\fP option had been given.\*(CB
-.EB "\s+2\f(HBENVIRONMENT VARIABLES (\*(GK\f(HB)\*(FR\s0"
+.ti -.2i
+\*(FCbindtextdomain(\*(FIdirectory \*(FR[\*(FC, \*(FIdomain\*(FR]\*(FC)\*(FR
+.br
+specifies the directory where \*(GK looks for the \*(FC\&.mo\*(FR
+files, in case they
+will not or cannot be placed in the ``standard'' locations
+(e.g., during testing.)
+It returns the directory where \*(FIdomain\*(FR is ``bound.''
+.sp .5
+The default \*(FIdomain\*(FR is the value of \*(FCTEXTDOMAIN\*(FR.
+When \*(FIdirectory\*(FR is the null string (\*(FC"\^"\*(FR),
+\*(FCbindtextdomain()\*(FR returns the current binding for the
+given \*(FIdomain\*(FR.
+.ti -.2i
+\*(FCdcgettext(\*(FIstring \*(FR[\*(FC, \*(FIdomain \*(FR[\*(FC, \*(FIcategory\*(FR]]\*(FC)\*(FR
+.br
+returns the translation of \*(FIstring\*(FR in text domain
+\*(FIdomain\*(FR for locale category \*(FIcategory\*(FR.
+The default value for \*(FIdomain\*(FR is the current value of \*(FCTEXTDOMAIN\*(FR.
+The default value for \*(FIcategory\*(FR is \*(FC"LC_MESSAGES"\*(FR.
+.sp .5
+If you supply a value for \*(FIcategory\*(FR, it must be a string equal to
+one of the known locale categories.
+You must also supply a text domain.  Use \*(FCTEXTDOMAIN\*(FR
+to use the current domain.
+.ti -.2i
+\*(FCdcngettext(\*(FIstring1\*(FC, \*(FIstring2\*(FC, \*(FInumber\*(FR [\*(FC, \*(FIdom \*(FR[\*(FC, \*(FIcat\*(FR]]\*(FC)\*(FR
+.br
+returns the plural form used for \*(FInumber\*(FR of the translation of
+\*(FIstring1\*(FR and \*(FIstring2\*(FR in text domain
+\*(FIdom\*(FR for locale category \*(FIcat\*(FR.
+The default value for \*(FIdom\*(FR is the current value of \*(FCTEXTDOMAIN\*(FR.
+\*(FC"LC_MESSAGES"\*(FR
+is the default value for \*(FIcat\*(FR.
+.sp .5
+If you supply a value for \*(FIcat\*(FR, it must be a string equal to
+one of the known locale categories.
+You must also supply a text domain.  Use \*(FCTEXTDOMAIN\*(FR
+to use the current domain.\*(CB
+.in -.2i
+.EB "\s+2\f(HBINTERNATIONALIZATION (\*(GK\f(HB)\*(FR\s0"
+
+.\" --- Localization
+.ES
+.fi
+\*(CDThere are several steps involved in producing and running a localizable
+\*(AK program.
+.sp .5
+1.  Add a \*(FCBEGIN\*(FR action to assign a value to the
+\*(FCTEXTDOMAIN\*(FR variable to set the text domain for
+your program.
+.sp .5
+.ti +5n
+\*(FCBEGIN { TEXTDOMAIN = "myprog" }\*(FR
+.sp .5
+This allows \*(GK to find the \*(FC\&.mo\*(FR
+file associated with your program.
+Without this step, \*(GK uses the \*(FCmessages\*(FR text domain,
+which probably won't work.
+.sp .5
+2.  Mark all strings that should be translated with leading underscores.
+.sp .5
+3.  Use the
+\*(FCbindtextdomain()\*(FR,
+\*(FCdcgettext()\*(FR,
+and/or
+\*(FCdcngettext()\*(FR
+functions in your program, as appropriate.
+.sp .5
+4.  Run
+.sp .5
+.ti +5n
+\*(FCgawk \-\^\-gen\-po \-f myprog.awk > myprog.po\*(FR
+.sp .5
+to generate a \*(FC\&.po\*(FR
+file for your program.
+.sp .5
+5.  Provide appropriate translations, and build and install a corresponding
+\*(FC\&.mo\*(FR file.
+.sp .5
+The internationalization features are described in full detail in \*(AM.\*(CB
+.EB "\s+2\f(HBLOCALIZATION (\*(GK\f(HB)\*(FR\s0"
+
 
 .BT
 
@@ -1815,112 +1866,60 @@
 \*(CRNote: This usage is deprecated.\*(CX
 .EB "\s+2\f(HBUSER-DEFINED FUNCTIONS\*(FR\s0"
 
-.\" --- Localization
+.\" --- Environment Variables
 .ES
 .fi
-\*(CDThere are several steps involved in producing and running a localizable
-\*(AK program.
-.sp .5
-1.  Add a \*(FCBEGIN\*(FR action to assign a value to the
-\*(FCTEXTDOMAIN\*(FR variable to set the text domain for
-your program.
-.sp .5
-.ti +5n
-\*(FCBEGIN { TEXTDOMAIN = "myprog" }\*(FR
-.sp .5
-This allows \*(GK to find the \*(FC\&.mo\*(FR
-file associated with your program.
-Without this step, \*(GK uses the \*(FCmessages\*(FR text domain,
-which probably won't work.
-.sp .5
-2.  Mark all strings that should be translated with leading underscores.
-.sp .5
-3.  Use the
-\*(FCbindtextdomain()\*(FR,
-\*(FCdcgettext()\*(FR,
-and/or
-\*(FCdcngettext()\*(FR
-functions in your program, as appropriate.
-.sp .5
-4.  Run
-.sp .5
-.ti +5n
-\*(FCgawk \-\^\-gen\-po \-f myprog.awk > myprog.po\*(FR
-.sp .5
-to generate a \*(FC\&.po\*(FR
-file for your program.
-.sp .5
-5.  Provide appropriate translations, and build and install a corresponding
-\*(FC\&.mo\*(FR file.
+\*(CDThe environment variable \*(FCAWKPATH\fP specifies a search path to use
+when finding source files named with the \*(FC\-f\fP
+option.
+The default path is
+\*(FC".:/usr/local/share/awk"\*(FR.
+.\" if this variable does not exist.
+.\" (The actual directory may vary,
+.\" depending upon how \*(GK was built and installed.)
+If a file name given to the \*(FC\-f\fP option contains a ``/'' character,
+no path search is performed.
 .sp .5
-The internationalization features are described in full detail in \*(AM.\*(CB
-.EB "\s+2\f(HBLOCALIZATION (\*(GK\f(HB)\*(FR\s0"
-
-
-.BT
+If \*(FCPOSIXLY_CORRECT\fP exists
+.\" in the environment,
+then \*(GK
+behaves exactly as if the \*(FC\-\^\-posix\fP option had been given.\*(CB
+.EB "\s+2\f(HBENVIRONMENT VARIABLES (\*(GK\f(HB)\*(FR\s0"
 
-.\" --- Builtin Internationalization Functions
+.\" --- Historical Features
 .ES
 .fi
-\*(CD\*(GK
-provides the following functions for runtime message translation.
-.in +.2i
-.sp .5
-.ti -.2i
-\*(FCbindtextdomain(\*(FIdirectory \*(FR[\*(FC, \*(FIdomain\*(FR]\*(FC)\*(FR
-.br
-specifies the directory where \*(GK looks for the \*(FC\&.mo\*(FR
-files, in case they
-will not or cannot be placed in the ``standard'' locations
-(e.g., during testing.)
-It returns the directory where \*(FIdomain\*(FR is ``bound.''
-.sp .5
-The default \*(FIdomain\*(FR is the value of \*(FCTEXTDOMAIN\*(FR.
-When \*(FIdirectory\*(FR is the null string (\*(FC"\^"\*(FR),
-\*(FCbindtextdomain()\*(FR returns the current binding for the
-given \*(FIdomain\*(FR.
-.ti -.2i
-\*(FCdcgettext(\*(FIstring \*(FR[\*(FC, \*(FIdomain \*(FR[\*(FC, \*(FIcategory\*(FR]]\*(FC)\*(FR
-.br
-returns the translation of \*(FIstring\*(FR in text domain
-\*(FIdomain\*(FR for locale category \*(FIcategory\*(FR.
-The default value for \*(FIdomain\*(FR is the current value of \*(FCTEXTDOMAIN\*(FR.
-The default value for \*(FIcategory\*(FR is \*(FC"LC_MESSAGES"\*(FR.
-.sp .5
-If you supply a value for \*(FIcategory\*(FR, it must be a string equal to
-one of the known locale categories.
-You must also supply a text domain.  Use \*(FCTEXTDOMAIN\*(FR
-to use the current domain.
-.ti -.2i
-\*(FCdcngettext(\*(FIstring1\*(FC, \*(FIstring2\*(FC, \*(FInumber\*(FR [\*(FC, \*(FIdom \*(FR[\*(FC, \*(FIcat\*(FR]]\*(FC)\*(FR
-.br
-returns the plural form used for \*(FInumber\*(FR of the translation of
-\*(FIstring1\*(FR and \*(FIstring2\*(FR in text domain
-\*(FIdom\*(FR for locale category \*(FIcat\*(FR.
-The default value for \*(FIdom\*(FR is the current value of \*(FCTEXTDOMAIN\*(FR.
-\*(FC"LC_MESSAGES"\*(FR
-is the default value for \*(FIcat\*(FR.
+\*(CDIt is possible to call the \*(FClength()\fP
+built-in function not only with no argument, but even without parentheses.
+This feature is marked as ``deprecated'' in the POSIX standard, and \*(GK
+issues a warning about its use if \*(FC\-\^\-lint\fP
+is specified on the command line.
 .sp .5
-If you supply a value for \*(FIcat\*(FR, it must be a string equal to
-one of the known locale categories.
-You must also supply a text domain.  Use \*(FCTEXTDOMAIN\*(FR
-to use the current domain.\*(CB
-.in -.2i
-.EB "\s+2\f(HBINTERNATIONALIZATION (\*(GK\f(HB)\*(FR\s0"
+The \*(FCcontinue\fP
+and \*(FCbreak\fP statements may be used outside the body of a
+\*(FCwhile\*(FR, \*(FCfor\*(FR, or \*(FCdo\fP loop.
+Historical AWK implementations have treated such usage as
+equivalent to the \*(FCnext\fP statement.
+\*(GK supports this usage if \*(FC\-\^\-traditional\fP
+is specified.\*(CB
+.EB "\s+2\f(HBHISTORICAL FEATURES (\*(GK\f(HB)\*(FR\s0"
+
 
+.BT
 
 .\" --- FTP/HTTP Information
 .ES
 .nf
 \*(CDHost: \*(FCftp.gnu.org\*(FR
-File: \*(FC/gnu/gawk/gawk-3.1.6.tar.gz\fP
+File: \*(FC/gnu/gawk/gawk-3.1.7.tar.gz\fP
 .in +.2i
 .fi
 GNU \*(AK (\*(GK). There may be a later version.
 .in -.2i
 .nf
 .sp .5
-\*(FChttp://cm.bell-labs.com/who/bwk/awk.tar.gz\fP
+\*(FChttp://www.cs.princeton.edu/~bwk/btl.mirror/
+awk.tar.gz\fP
 .in +.2i
 .fi
 \*(NK. This version requires an ANSI C compiler;
@@ -1928,11 +1927,15 @@
 .in -.2i
 .nf
 .sp .5
-Host: \*(FCftp.whidbey.net\*(FR
-File: \*(FC/pub/brennan/mawk1.3.3.tar.gz\fP
+... Host: \*(FCftp.whidbey.net\*(FR
+... File: \*(FC/pub/brennan/mawk1.3.3.tar.gz\fP
+... \*(FChttp://www.skeeve.com/gawk/mawk1.3.3.tar.gz\fP
+Host: \*(FCinvisible-island.net\*(FR
+File: \*(FC/mawk/mawk.tar.gz\fP
 .in +.2i
 .fi
-Michael Brennan's \*(MK. There may be a newer version.\*(CX
+Michael Brennan's \*(MK. Thomas Dickey is now
+maintaining it.\*(CX
 .in -.2i
 .EB "\s+2\f(HBFTP/HTTP INFORMATION\*(FR\s0"
 
@@ -1941,7 +1944,7 @@
 .ES
 .fi
 \*(CDCopyright \(co 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-2007 Free Software Foundation, Inc.
+2007, 2009 Free Software Foundation, Inc.
 .sp .5   
 Permission is granted to make and distribute verbatim copies of this
 reference card provided the copyright notice and this permission notice
@@ -1957,4 +1960,11 @@
 modified versions, except that this permission notice may be stated in a
 translation approved by the Foundation.\*(CX
 .EB "\s+2\f(HBCOPYING PERMISSIONS\*(FR\s0"
+.\" Need the BT here to get the final page number
+
+.ES
+\*(CX
+.sp 28
+.EB "\s+2\f(HBNOTES\*(FR\s0"
+
 .BT
diff -urN gawk-3.1.6/doc/gawk.1 gawk-3.1.7/doc/gawk.1
--- gawk-3.1.6/doc/gawk.1	2007-10-19 04:13:28.000000000 +0200
+++ gawk-3.1.7/doc/gawk.1	2009-07-10 09:53:03.000000000 +0300
@@ -22,7 +22,7 @@
 .		if \w'\(rq' .ds rq "\(rq
 .	\}
 .\}
-.TH GAWK 1 "Oct 19 2007" "Free Software Foundation" "Utility Commands"
+.TH GAWK 1 "Jul 10 2009" "Free Software Foundation" "Utility Commands"
 .SH NAME
 gawk \- pattern scanning and processing language
 .SH SYNOPSIS
@@ -190,6 +190,19 @@
 since
 .I gawk
 has no pre-defined limits.
+(Current versions of the Bell Laboratories
+.I awk
+no longer accept them.)
+.TP
+.PD 0
+.B \-O
+.TP
+.PD
+.B \-\^\-optimize
+Enable optimizations upon the internal representation of the program.
+Currently, this includes just simple constant-folding. The
+.I gawk
+maintainer hopes to add additional optimizations over time.
 .TP
 .PD 0
 .B "\-W compat"
@@ -491,7 +504,6 @@
 .IR "GNU Coding Standards" ,
 these options cause an immediate, successful exit.)
 .TP
-.PD 0
 .B \-\^\-
 Signal the end of options. This is useful to allow further arguments to the
 \*(AK program itself to start with a \*(lq\-\*(rq.
@@ -1909,7 +1921,7 @@
 .PP
 The
 .BR getline
-command returns 0 on end of file and \-1 on an error.
+command returns 1 on success, 0 on end of file, and \-1 on an error.
 Upon an error,
 .B ERRNO
 contains a string describing the problem.
@@ -3467,15 +3479,23 @@
 port to VMS, and Michal Jaegermann did the port to the Atari ST.
 The port to OS/2 was done by Kai Uwe Rommel, with contributions and
 help from Darrel Hankerson.
-Juan M.\& Guerrero now maintains the OS/2 port.
+Andreas Buening now maintains the OS/2 port.
 Fred Fish supplied support for the Amiga,
 and Martin Brown provided the BeOS port.
 Stephen Davies provided the original Tandem port, and
 Matthew Woehlke provided changes for Tandem's POSIX-compliant systems.
+Ralf Wildenhues now maintains that port.
+.PP
+See the
+.I README
+file in the
+.I gawk
+distribution for current information about maintainers
+and which ports are currently supported.
 .SH VERSION INFORMATION
 This man page documents
 .IR gawk ,
-version 3.1.6.
+version 3.1.7.
 .SH BUG REPORTS
 If you find a bug in
 .IR gawk ,
@@ -3525,7 +3545,7 @@
 We thank him.
 .SH COPYING PERMISSIONS
 Copyright \(co 1989, 1991, 1992, 1993, 1994, 1995, 1996,
-1997, 1998, 1999, 2001, 2002, 2003, 2004, 2005, 2007
+1997, 1998, 1999, 2001, 2002, 2003, 2004, 2005, 2007, 2009
 Free Software Foundation, Inc.
 .PP
 Permission is granted to make and distribute verbatim copies of
diff -urN gawk-3.1.6/doc/gawk.texi gawk-3.1.7/doc/gawk.texi
--- gawk-3.1.6/doc/gawk.texi	2007-09-30 22:27:45.000000000 +0200
+++ gawk-3.1.7/doc/gawk.texi	2009-07-21 22:14:57.000000000 +0300
@@ -20,9 +20,9 @@
 @c applies to and all the info about who's publishing this edition
 
 @c These apply across the board.
-@set UPDATE-MONTH October, 2007
+@set UPDATE-MONTH July, 2009
 @set VERSION 3.1
-@set PATCHLEVEL 6
+@set PATCHLEVEL 7
 
 @set FSF
 
@@ -110,7 +110,8 @@
 @end iftex
 
 @copying
-Copyright @copyright{} 1989, 1991, 1992, 1993, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007 Free Software Foundation, Inc.
+Copyright @copyright{} 1989, 1991, 1992, 1993, 1996, 1997, 1998, 1999,
+2000, 2001, 2002, 2003, 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
 @sp 2
 
 This is Edition @value{EDITION} of @cite{@value{TITLE}: @value{SUBTITLE}},
@@ -118,7 +119,7 @@
 implementation of AWK.
 
 Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.2 or
+under the terms of the GNU Free Documentation License, Version 1.3 or
 any later version published by the Free Software Foundation; with the
 Invariant Sections being ``GNU General Public License'', the Front-Cover
 texts being (a) (see below), and with the Back-Cover Texts being (b)
@@ -130,9 +131,9 @@
 ``A GNU Manual''
 
 @item
-``You have freedom to copy and modify this GNU Manual, like GNU
-software.  Copies published by the Free Software Foundation raise
-funds for GNU development.''
+``You have the freedom to
+copy and modify this GNU manual.  Buying copies from the FSF
+supports it in developing GNU and promoting software freedom.''
 @end enumerate
 @end copying
 
@@ -315,6 +316,7 @@
 * Comments::                       Adding documentation to @command{gawk}
                                    programs.
 * Quoting::                        More discussion of shell quoting issues.
+* DOS Quoting::                    Quoting in MS-DOS Batch Files.
 * Sample Data Files::              Sample data files for use in the
                                    @command{awk} programs illustrated in this
                                    @value{DOCUMENT}.
@@ -516,6 +518,7 @@
 * AWKPATH Variable::               Searching directories for @command{awk}
                                    programs.
 * Obsolete::                       Obsolete Options and/or features.
+* Exit Status::                    @command{gawk}'s exit status.
 * Undocumented::                   Undocumented Options and Features.
 * Known Bugs::                     Known Bugs in @command{gawk}.
 * Library Names::                  How to best name private global variables
@@ -567,6 +570,8 @@
 * Simple Sed::                     A Simple Stream Editor.
 * Igawk Program::                  A wrapper for @command{awk} that includes
                                    files.
+* Signature Program::              People do amazing things with too much time
+                                   on their hands.
 * V7/SVR3.1::                      The major changes between V7 and System V
                                    Release 3.1.
 * SVR4::                           Minor changes between System V Releases 3.1
@@ -1351,16 +1356,27 @@
 @node How To Contribute
 @unnumberedsec How to Contribute
 
-As the maintainer of GNU @command{awk},
-I am starting a collection of publicly available @command{awk}
-programs.
-For more information,
-see @uref{ftp://ftp.freefriends.org/arnold/Awkstuff}.
-If you have written an interesting @command{awk} program, or have written a
-@command{gawk} extension that you would like to
-share with the rest of the world, please contact me (@email{arnold@@skeeve.com}).
-Making things available on the Internet helps keep the
-@command{gawk} distribution down to manageable size.
+As the maintainer of GNU @command{awk}, I once thought that I would be
+able to manage a collection of publicly available @command{awk} programs
+and I even solicited contributions.  Making things available on the Internet
+helps keep the @command{gawk} distribution down to manageable size.
+
+The initial collection of material, such as it is, is still available
+at @uref{ftp://ftp.freefriends.org/arnold/Awkstuff}.  In the hopes of
+doing something more broad, I acquired the @code{awk.info} domain.
+
+However, I found that I could not dedicate enough time to managing
+contributed code: the archive did not grow and the domain went unused
+for several years.
+
+Fortunately, late in 2008, a volunteer took on the task of setting up
+an @command{awk}-related web site @uref{http://awk.info} and did a very
+nice job.
+
+If you have written an interesting @command{awk} program, or have written
+a @command{gawk} extension that you would like to share with the rest
+of the world, please see @uref{http://awk.info/?contribute} for how to
+contribute it to the web site.
 
 @node Acknowledgments
 @unnumberedsec Acknowledgments
@@ -1448,7 +1464,7 @@
 @cindex Buening, Andreas
 @cindex Deifik, Scott
 @cindex Hankerson, Darrel
-@cindex Hasegawa, Isamu
+@c @cindex Hasegawa, Isamu
 @cindex Jaegermann, Michal
 @cindex Kahrs, J@"urgen
 @cindex Rankin, Pat
@@ -1459,7 +1475,7 @@
 Andreas Buening,
 Scott Deifik,
 Darrel Hankerson,
-Isamu Hasegawa,
+@c Isamu Hasegawa,
 Michal Jaegermann,
 J@"urgen Kahrs,
 Pat Rankin,
@@ -1975,6 +1991,10 @@
 @subsection Shell-Quoting Issues
 @cindex quoting, rules for
 
+@menu
+* DOS Quoting::                    Quoting in MS-DOS Batch Files.
+@end menu
+
 For short to medium length @command{awk} programs, it is most convenient
 to enter the program on the @command{awk} command line.
 This is best done by enclosing the entire program in single quotes.
@@ -2130,6 +2150,52 @@
 program, it is probably best to move it into a separate file, where
 the shell won't be part of the picture, and you can say what you mean.
 
+@node DOS Quoting
+@subsubsection Quoting in MS-DOS Batch Files
+
+@ignore
+Date: Wed, 21 May 2008 09:58:43 +0200 (CEST)
+From: jeroen.brink@inter.NL.net
+Subject: (g)awk "contribution"
+To: arnold@skeeve.com
+Message-id: <42220.193.172.132.34.1211356723.squirrel@webmail.internl.net>
+
+Hello Arnold,
+
+maybe you can help me out. Found your email on the GNU/awk online manual
+pages.
+
+I've searched hard to figure out how, on Windows, to print double quotes.
+Couldn't find it in the Quotes area, nor on google or elsewhere. Finally i
+figured out how to do this myself.
+
+How to print all lines in a file surrounded by double quotes (on Windows):
+
+gawk "{ print \"\042\" $0 \"\042\" }" <file>
+
+Maybe this is a helpfull tip for other (Windows) gawk users. However, i
+don't have a clue as to where to "publish" this tip! Do you?
+
+Kind regards,
+
+Jeroen Brink
+@end ignore
+
+Although this @value{DOCUMENT} generally only worries about POSIX systems and the
+POSIX shell, the following issue arises often enough for many users that
+it is worth addressing.
+
+Systems providing an MS-DOS compatible ``shell'' use the double-quote
+character for quoting, and make it difficult or impossible to include an
+escaped double-quote character in a command-line script.
+The following example, courtesy of Jeroen Brink, shows
+how to print all lines in a file surrounded by double quotes:
+
+@example
+gawk "@{ print \"\042\" $0 \"\042\" @}" @var{file}
+@end example
+
+
 @node Sample Data Files
 @section @value{DDF}s for the Examples
 @c For gawk >= 3.2, update these data files. No-one has such slow modems!
@@ -2316,7 +2382,7 @@
               END @{ print "maximum line length is " x @}'
 @end example
 
-The input is processed by the @command{expand} utility to change tabs
+The input is processed by the @command{expand} utility to change TABs
 into spaces, so the widths compared are actually the right-margin columns.
 
 @item
@@ -4621,7 +4687,7 @@
 @cindex newlines, as field separators
 @cindex whitespace, as field separators
 Fields are normally separated by whitespace sequences
-(spaces, tabs, and newlines), not by single spaces.  Two spaces in a row do not
+(spaces, TABs, and newlines), not by single spaces.  Two spaces in a row do not
 delimit an empty field.  The default value of the field separator @code{FS}
 is a string containing a single space, @w{@code{" "}}.  If @command{awk}
 interpreted this value in the usual way, each space character would separate
@@ -4673,9 +4739,9 @@
 
 There is an important difference between the two cases of @samp{FS = @w{" "}}
 (a single space) and @samp{FS = @w{"[ \t\n]+"}}
-(a regular expression matching one or more spaces, tabs, or newlines).
+(a regular expression matching one or more spaces, TABs, or newlines).
 For both values of @code{FS}, fields are separated by @dfn{runs}
-(multiple adjacent occurrences) of spaces, tabs,
+(multiple adjacent occurrences) of spaces, TABs,
 and/or newlines.  However, when the value of @code{FS} is @w{@code{" "}},
 @command{awk} first strips leading and trailing whitespace from
 the record and then decides where the fields are.
@@ -4718,6 +4784,42 @@
 separated by the value of @code{OFS}.  Because the leading whitespace
 was ignored when finding @code{$1}, it is not part of the new @code{$0}.
 Finally, the last @code{print} statement prints the new @code{$0}.
+
+@cindex @code{FS}, containing @samp{^}
+@cindex @samp{^}, in @code{FS}
+@cindex dark corner, @samp{^}, in @code{FS}
+There is an additional subtlety to be aware of when using regular exressions
+for field splitting.
+It is not well-specified in the POSIX standard, or anywhere else, what @samp{^}
+means when splitting fields.  Does the @samp{^}  match only at the beginning of
+the entire record? Or is each field separator a new string?  It turns out that
+different @command{awk} versions answer this question differently, and you
+should not rely on any specific behavior in your programs.
+@value{DARKCORNER}
+
+As a point of information, the Bell Labs @command{awk} allows @samp{^}
+to match only at the beginning of the record.  Versions of @command{gawk}
+after 3.1.6 also work this way. For example:
+
+@example
+$  echo 'xxAA  xxBxx  C' |
+> nawk -F '(^x+)|( +)' '@{ for (i = 1; i <= NF; i++) printf "-->%s<--\n", $i @}'
+@print{} --><--
+@print{} -->AA<--
+@print{} -->xxBxx<--
+@print{} -->C<--
+
+$  echo 'xxAA  xxBxx  C' |
+> gawk-3.1.6 -F '(^x+)|( +)' '@{ for (i = 1; i <= NF; i++) printf "-->%s<--\n", $i @}'
+@print{} --><--
+@print{} -->AA<--
+@print{} --><--
+@print{} -->Bxx<--
+@print{} -->C<--
+@end example
+
+@noindent
+As mentioned, @command{gawk} now behaves like the Bell Labs @command{awk}.
 @c ENDOFRANGE regexpfs
 @c ENDOFRANGE fsregexp
 
@@ -4806,7 +4908,7 @@
 if the argument to @option{-F} is @samp{t}, then @code{FS} is set to
 the TAB character.  If you type @samp{-F\t} at the
 shell, without any quotes, the @samp{\} gets deleted, so @command{awk}
-figures that you really want your fields to be separated with tabs and
+figures that you really want your fields to be separated with TABs and
 not @samp{t}s.  Use @samp{-v FS="t"} or @samp{-F"[t]"} on the command line
 if you really do want to separate your fields with @samp{t}s.
 
@@ -5358,6 +5460,7 @@
           # value of `tmp' will be "" if t is 1
           tmp = substr($0, 1, t - 1)
           u = index(substr($0, t + 2), "*/")
+          offset = t + 2
           while (u == 0) @{
                if (getline <= 0) @{
                     m = "unexpected EOF or error"
@@ -5366,10 +5469,11 @@
                     exit
                @}
                u = index($0, "*/")
+               offset = 0
           @}
           # substr expression will be "" if */
           # occurred at end of line
-          $0 = tmp substr($0, u + 2)
+          $0 = tmp substr($0, offset + u + 2)
      @}
      print $0
 @}
@@ -6172,6 +6276,20 @@
 65} outputs the letter @samp{A}. (The output for a string value is
 the first character of the string.)
 
+@cindex dark corner, format-control characters
+@cindex @command{gawk}, format-control characters
+@quotation NOTE
+The @samp{%c} format does @emph{not} handle values outside the range
+0--255.  On most systems, values from 0--127 are within the range of
+ASCII and will yield an ASCII character.  Values in the range 128--255
+may format as characters in some extended character set, or they may not.
+System 390 (IBM architecture mainframe) systems use 8-bit characters,
+and thus values from 0--255 yield the corresponding EBCDIC character.
+Any value above 255 is treated as modulo 255; i.e., the lowest eight bits
+of the value are used.  The locale and character set are always ignored.
+@end quotation
+
+
 @item %d@r{,} %i
 These are equivalent; they both print a decimal integer.
 (The @samp{%i} specification is for compatibility with ISO C.)
@@ -7775,7 +7893,7 @@
 (@pxref{String Functions}).
 
 @code{CONVFMT}'s default value is @code{"%.6g"}, which prints a value with
-at least six significant digits.  For some applications, you might want to
+at most six significant digits.  For some applications, you might want to
 change it to specify more precision.
 On most modern machines,
 17 digits is enough to capture a floating-point number's
@@ -8604,7 +8722,7 @@
 @item
 Fields, @code{getline} input, @code{FILENAME}, @code{ARGV} elements,
 @code{ENVIRON} elements, and the
-elements of an array created by @code{split} that are numeric strings
+elements of an array created by @code{split} and @code{match} that are numeric strings
 have the @var{strnum} attribute.  Otherwise, they have the @var{string}
 attribute.
 Uninitialized variables also have the @var{strnum} attribute.
@@ -10685,6 +10803,11 @@
        close("date")
 @}
 @end example
+
+For full portability, exit values should be between zero and 126, inclusive.
+Negative values, and values of 127 or greater, may not produce consistent
+results across different operating systems.
+
 @c ENDOFRANGE csta
 @c ENDOFRANGE acs
 @c ENDOFRANGE accs
@@ -10737,6 +10860,8 @@
 On non-POSIX systems, this variable specifies use of binary mode for all I/O.
 Numeric values of one, two, or three specify that input files, output files, or
 all files, respectively, should use binary I/O.
+A numeric value less than zero is treated as zero, and a numeric value greater than
+three is treated as three.
 Alternatively,
 string values of @code{"r"} or @code{"w"} specify that input files and
 output files, respectively, should use binary I/O.
@@ -10803,9 +10928,9 @@
 @cindex POSIX @command{awk}, @code{FS} variable and
 The default value is @w{@code{" "}}, a string consisting of a single
 space.  As a special exception, this value means that any
-sequence of spaces, tabs, and/or newlines is a single separator.@footnote{In
+sequence of spaces, TABs, and/or newlines is a single separator.@footnote{In
 POSIX @command{awk}, newline does not count as whitespace.}  It also causes
-spaces, tabs, and newlines at the beginning and end of a record to be ignored.
+spaces, TABs, and newlines at the beginning and end of a record to be ignored.
 
 You can set the value of @code{FS} on the command line using the
 @option{-F} option:
@@ -12588,8 +12713,30 @@
 always supply the parentheses.
 @end quotation
 
+@cindex dark corner, @code{length} function
+If @code{length} is called with a variable that has not been used,
+@command{gawk} forces the variable to be a scalar.  Other
+implementations of @command{awk} leave the variable without a type.
+@value{DARKCORNER}
+Consider:
+
+@example
+$ gawk 'BEGIN @{ print length(x) ; x[1] = 1 @}'
+@print{} 0
+@error{} gawk: fatal: attempt to use scalar `x' as array
+
+$ nawk 'BEGIN @{ print length(x) ; x[1] = 1 @}'
+@print{} 0
+@end example
+
+@noindent
+If @option{--lint} has
+been specified on the command line, @command{gawk} issues a
+warning about this.
+
+
 @cindex differences between @command{gawk} and @command{awk}
-Beginning with @command{gawk} @value{PVERSION} 3.2, when supplied an
+Beginning with @command{gawk} @value{PVERSION} 3.1.5, when supplied an
 array argument, the @code{length} function returns the number of elements
 in the array.  This is less useful than it might seem at first, as the
 array is not guaranteed to be indexed from one to the number of elements
@@ -13513,6 +13660,9 @@
 standard output is flushed.  The second is to allow the null string
 (@w{@code{""}}) as the argument. In this case, the buffers for
 @emph{all} open output files and pipes are flushed.
+Current versions of the Bell Labs @command{awk} also
+support these extensions.
+@c As of 2002, but I didn't know about it until 4/2009!
 
 @c @cindex automatic warnings
 @c @cindex warnings, automatic
@@ -14479,14 +14629,18 @@
 Within a single @command{awk} program, any particular name can only be
 used as a variable, array, or function.
 
-@c NEXT ED: parameter-list is an OPTIONAL list of ...
-@var{parameter-list} is a list of the function's arguments and local
+@var{parameter-list} is an optional list of the function's arguments and local
 variable names, separated by commas.  When the function is called,
 the argument names are used to hold the argument values given in
 the call.  The local variables are initialized to the empty string.
 A function cannot have two parameters with the same name, nor may it
 have a parameter with the same name as the function itself.
 
+According to the POSIX standard, function parameters cannot have the same
+name as one of the special built-in variables
+(@pxref{Built-in Variables}.  Not all versions of @command{awk}
+enforce this restriction.
+
 The @var{body-of-function} consists of @command{awk} statements.  It is the
 most important part of the definition, because it says what the function
 should actually @emph{do}.  The argument names exist to give the body a
@@ -14688,7 +14842,7 @@
 foo(x y, "lose", 4 * z)
 @end example
 
-@strong{Caution:} Whitespace characters (spaces and tabs) are not allowed
+@strong{Caution:} Whitespace characters (spaces and TABs) are not allowed
 between the function name and the open-parenthesis of the argument list.
 If you write whitespace by mistake, @command{awk} might think that you mean
 to concatenate a variable with an expression in parentheses.  However, it
@@ -16271,7 +16425,7 @@
 @cindex @code{@{@}} (braces), @command{pgawk} program
 @cindex braces (@code{@{@}}), @command{pgawk} program
 @item
-The layout uses ``K&R'' style with tabs.
+The layout uses ``K&R'' style with TABs.
 Braces are used everywhere, even when
 the body of an @code{if}, @code{else}, or loop is only a single statement.
 
@@ -16423,6 +16577,7 @@
 * AWKPATH Variable::            Searching directories for @command{awk}
                                 programs.
 * Obsolete::                    Obsolete Options and/or features.
+* Exit Status::                 @command{gawk}'s exit status.
 * Undocumented::                Undocumented Options and Features.
 * Known Bugs::                  Known Bugs in @command{gawk}.
 @end menu
@@ -16576,6 +16731,14 @@
 The following list describes @command{gawk}-specific options:
 
 @table @code
+@item -O
+@itemx --optimize
+@cindex @code{--optimize} option
+@cindex @code{-O} option
+Enables some optimizations on the internal representation of the program.
+At the moment this includes just simple constant folding. The @command{gawk}
+maintainer hopes to add more optimizations over time.
+
 @item -W compat
 @itemx -W traditional
 @itemx --compat
@@ -17049,6 +17212,26 @@
 source files.  Once your program is running, all the files have been
 found, and @command{gawk} no longer needs to use @env{AWKPATH}.
 
+@node Exit Status
+@section @command{gawk}'s Exit Status
+
+@cindex exit status, of @command{gawk}
+If the @code{exit} statement is used with a value
+(@pxref{Exit Statement}), the @command{gawk} exits with
+the numeric value given to it.
+
+Otherwise, if there were no problems during execution,
+@command{gawk} exits with the value of the C constant
+@code{EXIT_SUCCESS}.  This is usually zero.
+
+If an error occurs, @command{gawk} exits with the value of
+the C constant @code{EXIT_FAILURE}.  This is usually one.
+
+If @command{gawk} exits because of a fatal error, the exit
+status is 2.  On non-POSIX systems, this value may be mapped
+to @code{EXIT_FAILURE}.
+
+
 @node Obsolete
 @section Obsolete Options and/or Features
 
@@ -17820,7 +18003,7 @@
 
    # see if fractional part
    if (ival == x)   # no fraction
-      return x
+      return ival   # ensure no decimals
 
    if (x < 0) @{
       aval = -x     # absolute value
@@ -18403,8 +18586,7 @@
 @end example
 
 @cindex troubleshooting, @code{getline} function
-In @command{gawk}, the @code{getline} won't be fatal (unless
-@option{--posix} is in force).
+This works, because the @code{getline} won't be fatal.
 Removing the element from @code{ARGV} with @code{delete}
 skips the file (since it's no longer in the list).
 
@@ -19030,9 +19212,27 @@
     struct passwd *p;
 
     while ((p = getpwent()) != NULL)
+@c endfile
+@ignore
+@c file eg/lib/pwcat.c
+#ifdef ZOS_USS
+        printf("%s:%ld:%ld:%s:%s\n",
+            p->pw_name, (long) p->pw_uid,
+            (long) p->pw_gid, p->pw_dir, p->pw_shell);
+#else
+@c endfile
+@end ignore
+@c file eg/lib/pwcat.c
         printf("%s:%s:%ld:%ld:%s:%s:%s\n",
             p->pw_name, p->pw_passwd, (long) p->pw_uid,
             (long) p->pw_gid, p->pw_gecos, p->pw_dir, p->pw_shell);
+@c endfile
+@ignore
+@c file eg/lib/pwcat.c
+#endif
+@c endfile
+@end ignore
+@c file eg/lib/pwcat.c
 
     endpwent();
     return 0;
@@ -19379,8 +19579,24 @@
     int i;
 
     while ((g = getgrent()) != NULL) @{
+@c endfile
+@ignore
+@c file eg/lib/grcat.c
+#ifdef ZOS_USS
+        printf("%s:%ld:", g->gr_name, (long) g->gr_gid);
+#else
+@c endfile
+@end ignore
+@c file eg/lib/grcat.c
         printf("%s:%s:%ld:", g->gr_name, g->gr_passwd,
                                      (long) g->gr_gid);
+@c endfile
+@ignore
+@c file eg/lib/grcat.c
+#endif
+@c endfile
+@end ignore
+@c file eg/lib/grcat.c
         for (i = 0; g->gr_mem[i] != NULL; i++) @{
             printf("%s", g->gr_mem[i]);
 @group
@@ -19394,12 +19610,12 @@
     return 0;
 @}
 @c endfile
-@end example
 @ignore
 @c file eg/lib/grcat.c
 #endif /* HAVE_GETGRENT */
 @c endfile
 @end ignore
+@end example
 
 Each line in the group database represents one group.  The fields are
 separated with colons and represent the following information:
@@ -19781,7 +19997,7 @@
 @cindex columns, cutting
 The @command{cut} utility selects, or ``cuts,'' characters or fields
 from its standard input and sends them to its standard output.
-Fields are separated by tabs by default,
+Fields are separated by TABs by default,
 but you may supply a command-line option to change the field
 @dfn{delimiter} (i.e., the field-separator character). @command{cut}'s
 definition of fields is less general than @command{awk}'s.
@@ -20832,7 +21048,7 @@
 @item -@var{n}
 Skip @var{n} fields before comparing lines.  The definition of fields
 is similar to @command{awk}'s default: nonwhitespace characters separated
-by runs of spaces and/or tabs.
+by runs of spaces and/or TABs.
 
 @item +@var{n}
 Skip @var{n} characters before comparing lines.  Any fields specified with
@@ -21089,7 +21305,7 @@
 @item -w
 Count only words.
 A ``word'' is a contiguous sequence of nonwhitespace characters, separated
-by spaces and/or tabs.  Luckily, this is the normal way @command{awk} separates
+by spaces and/or TABs.  Luckily, this is the normal way @command{awk} separates
 fields in its input data.
 
 @item -c
@@ -21272,6 +21488,8 @@
 * Simple Sed::                  A Simple Stream Editor.
 * Igawk Program::               A wrapper for @command{awk} that includes
                                 files.
+* Signature Program::           People do amazing things with too much time
+                                on their hands.
 @end menu
 
 @node Dupword Program
@@ -21562,8 +21780,8 @@
 Associative arrays make the translation part fairly easy. @code{t_ar} holds
 the ``to'' characters, indexed by the ``from'' characters.  Then a simple
 loop goes through @code{from}, one character at a time.  For each character
-in @code{from}, if the character appears in @code{target}, @code{gsub}
-is used to change it to the corresponding @code{to} character.
+in @code{from}, if the character appears in @code{target},
+it is replaced with the corresponding @code{to} character.
 
 The @code{translate} function simply calls @code{stranslate} using @code{$0}
 as the target.  The main program sets two global variables, @code{FROM} and
@@ -21582,6 +21800,7 @@
 #
 # Arnold Robbins, arnold@@skeeve.com, Public Domain
 # August 1989
+# February 2009 - bug fix
 
 @c endfile
 @end ignore
@@ -21590,21 +21809,24 @@
 # to be spelled out. However, if `to' is shorter than `from',
 # the last character in `to' is used for the rest of `from'.
 
-function stranslate(from, to, target,     lf, lt, t_ar, i, c)
+function stranslate(from, to, target,     lf, lt, ltarget, t_ar, i, c,
+                                                               result)
 @{
     lf = length(from)
     lt = length(to)
+    ltarget = length(target)
     for (i = 1; i <= lt; i++)
         t_ar[substr(from, i, 1)] = substr(to, i, 1)
     if (lt < lf)
         for (; i <= lf; i++)
             t_ar[substr(from, i, 1)] = substr(to, lt, 1)
-    for (i = 1; i <= lf; i++) @{
-        c = substr(from, i, 1)
-        if (index(target, c) > 0)
-            gsub(c, t_ar[c], target)
+    for (i = 1; i <= ltarget; i++) @{
+        c = substr(target, i, 1)
+        if (c in t_ar)
+            c = t_ar[c]
+        result = result c
     @}
-    return target
+    return result
 @}
 
 function translate(from, to)
@@ -22840,11 +23062,39 @@
 to do this. Since @command{igawk} can process nested @samp{@@include}
 directives, @file{default.awk} could simply contain @samp{@@include}
 statements for the desired library functions.
+
+@c Exercise: make this change
 @c ENDOFRANGE libfex
 @c ENDOFRANGE flibex
 @c ENDOFRANGE awkpex
 
-@c Exercise: make this change
+@node Signature Program
+@subsection And Now For Something Completely Different
+
+The following program was written by Davide Brini
+@c (@email{dave_br@@gmx.com})
+and is published on @uref{http://db.netsons.org/v1-sigs.php, his website}.
+It serves as his signature in the Usenet group @code{comp.lang.awk}.
+He supplies the following copyright terms:
+
+@quotation
+Copyright @copyright{} 2008 Davide Brini
+
+Copying and distribution of the code published in this page, with or without
+modification, are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
+@end quotation
+
+Here is the program:
+
+@example
+awk 'BEGIN@{O="~"~"~";o="=="=="==";o+=+o;x=O""O;while(X++<=x+o+o)c=c"%c";
+printf c,(x-O)*(x-O),x*(x-o)-o,x*(x-O)+x-O-o,+x*(x-O)-x+o,X*(o*o+O)+x-O,
+X*(X-x)-o*o,(x+X)*o*o+o,x*(X-x)-O-O,x-O+(O+o+X+x)*(o+O),X*X-X*(x-O)-x+O,
+O+X*(o*(o+O)+O),+x+O+X*o,x*(x-o),(o+X+x)*o*o-(x-O-O),O+(X-x)*(X+O),x-O@}'
+@end example
+
+We leave it to you to determine what the program does.
 
 @ignore
 @c Try this
@@ -23532,8 +23782,7 @@
 (@pxref{Atari Installation}).
 
 @item
-The source code now uses new-style function definitions, with
-@command{ansi2knr} to convert the code on systems with old compilers.
+The source code now uses new-style function definitions.
 
 @item
 The @option{--disable-lint} configuration option to disable lint checking
@@ -23541,6 +23790,14 @@
 (@pxref{Additional Configuration Options}).
 
 @item
+The @option{--with-whiny-user-strftime} configuration option
+to force the use
+of the included version of the @code{strftime}
+function for deficient systems
+(@pxref{Additional Configuration Options}).
+
+
+@item
 POSIX compliance for @code{sub} and @code{gsub}
 (@pxref{Gory Details}).
 
@@ -23558,6 +23815,12 @@
 enable printing times as UTC
 (@pxref{Time Functions}).
 
+@item
+The @option{--disable-libsigsegv} configuration option which
+disables configuring, building, compiling and linking against
+the @code{libsigsegv} library
+(@pxref{Additional Configuration Options}).
+
 @end itemize
 
 @c XXX ADD MORE STUFF HERE
@@ -24135,6 +24398,12 @@
 in @command{awk} programs
 (@pxref{Switch Statement}.)
 
+@cindex @code{--with-whiny-user-strftime} configuration option
+@cindex configuration option, @code{--with-whiny-user-strftime}
+@item  --with-whiny-user-strftime
+Force use of the included version of the @code{strftime}
+function for deficient systems
+
 @cindex @code{--disable-lint} configuration option
 @cindex configuration option, @code{--disable-lint}
 @item --disable-lint
@@ -24166,6 +24435,13 @@
 @cindex configuration option, @code{--disable-directories-fatal}
 @item --disable-directories-fatal
 Causes @command{gawk} to silently skip directories named on the command line.
+
+@cindex @code{--disable-libsigsegv} configuration option
+@cindex configuration option, @code{--disable-libsigsegv}
+@item --disable-libsigsegv
+The @option{--disable-libsigsegv} configuration option
+disables configuring, building, compiling and linking against
+the @code{libsigsegv} library.
 @end table
 
 As of version 3.1.5, the @option{--with-included-gettext} configuration
@@ -24500,7 +24776,8 @@
 Most OS/2 ports of GNU @command{make} are not able to handle
 the Makefiles of this package. If you encounter any problems with @command{make}
 try GNU Make 3.79.1 or later versions. You should find the latest
-version on @uref{http://www.unixos2.org/sw/pub/binary/make/} or on
+version on
+@c @uref{http://www.unixos2.org/sw/pub/binary/make/} or on
 @uref{ftp://hobbes.nmsu.edu/pub/os2/}.
 @end quotation
 
@@ -24611,19 +24888,18 @@
 
 @itemize @bullet
 @item
-If @code{BINMODE} is @samp{"r"}, or
-@code{(BINMODE & 1)} is nonzero, then
+If @code{BINMODE} is @samp{"r"}, or one,
+then
 binary mode is set on read (i.e., no translations on reads).
 
 @item
-If @code{BINMODE} is @code{"w"}, or
-@code{(BINMODE & 2)} is nonzero, then
+If @code{BINMODE} is @code{"w"}, or two,
+then
 binary mode is set on write (i.e., no translations on writes).
 
 @item
-If @code{BINMODE} is @code{"rw"} or @code{"wr"},
-binary mode is set for both read and write
-(same as @code{(BINMODE & 3)}).
+If @code{BINMODE} is @code{"rw"} or @code{"wr"} or three,
+binary mode is set for both read and write.
 
 @item
 @code{BINMODE=@var{non-null-string}} is
@@ -24932,7 +25208,7 @@
 included for those who might want to use it but it is no longer being
 actively maintained.
 
-@c based on material from Michal Jaegermann <michal@gortel.phys.ualberta.ca>
+@c based on material from Michal Jaegermann <michal@gortel.phys.ualberta.ca>, now michal@harddata.com
 @cindex atari
 @cindex installation, atari
 There are no substantial differences when installing @command{gawk} on
@@ -25142,6 +25418,18 @@
 there is no guarantee that we will see your posting.  The steps described
 above are the official recognized ways for reporting bugs.
 
+@quotation NOTE
+Many distributions of GNU/Linux and the various BSD-based operating systems
+have their own bug reporting systems.  If you report a bug using your distribution's
+bug reporting system, @emph{please} also send a copy to @email{bug-gawk@@gnu.org}.
+
+This is for two reasons.  First, while some distributions forward
+bug reports ``upstream'' to the GNU mailing list, many don't, so there is a good
+chance that the @command{gawk}  maintainer won't even see the bug report!  Second,
+mail to the GNU list is archived, and having everything at the GNU project
+keeps things self-contained and not dependant on other web sites.
+@end quotation
+
 Non-bug suggestions are always welcome as well.  If you have questions
 about things that are unclear in the documentation or are just obscure
 features, ask me; I will try to help you out, although I
@@ -25157,61 +25445,41 @@
 The people maintaining the non-Unix ports of @command{gawk} are
 as follows:
 
+@multitable {Tandem (POSIX-compliant)} {123456789012345678901234567890123456789001234567890}
 @ignore
-@table @asis
-@cindex Fish, Fred
-@item Amiga
-Fred Fish, @email{fnf@@ninemoons.com}.
-
-@cindex Brown, Martin
-@item BeOS
-Martin Brown, @email{mc@@whoever.com}.
-
-@cindex Deifik, Scott
-@cindex Hankerson, Darrel
-@item MS-DOS
-Scott Deifik, @email{scottd.mail@@sbcglobal.net} and
-Darrel Hankerson, @email{hankedr@@mail.auburn.edu}.
-
-@cindex Grigera, Juan
-@item MS-Windows
-Juan Grigera, @email{juan@@biophnet.unlp.edu.ar}.
-
-@item OS/2
-Andreas Buening, @email{andreas.buening@@nexgo.de}.
-
-@cindex Davies, Stephen
-@item Tandem
-Stephen Davies, @email{scldad@@sdc.com.au}.
-
-@cindex Rankin, Pat
-@item VMS
-Pat Rankin, @email{rankin@@pactechdata.com}.
-@end table
-@end ignore
-
-@multitable {MS-Windows} {123456789012345678901234567890123456789001234567890}
+@c Fred is no longer living, sadly.
 @cindex Fish, Fred
 @item Amiga @tab Fred Fish, @email{fnf@@ninemoons.com}.
 
+@c not supported
 @cindex Brown, Martin
 @item BeOS @tab Martin Brown, @email{mc@@whoever.com}.
+@end ignore
 
 @cindex Deifik, Scott
-@cindex Hankerson, Darrel
-@item MS-DOS @tab Scott Deifik, @email{scottd.mail@@sbcglobal.net} and
-Darrel Hankerson, @email{hankedr@@mail.auburn.edu}.
+@c @cindex Hankerson, Darrel
+@item MS-DOS @tab Scott Deifik, @email{scottd.mail@@sbcglobal.net}.
+@c and Darrel Hankerson, @email{hankedr@@auburn.edu}.
 
+@c not supported
+@ignore
 @cindex Grigera, Juan
-@item MS-Windows @tab Juan Grigera, @email{juan@@biophnet.unlp.edu.ar}.
+@item MS-Windows @tab Juan Grigera, @email{juan@@grigera.com.ar}.
+@end ignore
 
-@item OS/2 @tab The Unix for OS/2 team, @email{gawk-maintainer@@unixos2.org}.
+@cindex Buening, Andreas
+@item OS/2 @tab Andreas Buening, @email{andreas.buening@@nexgo.de}
 
 @cindex Davies, Stephen
 @item Tandem @tab Stephen Davies, @email{scldad@@sdc.com.au}.
+@cindex Wildenhues, Ralf
+@item Tandem (POSIX-compliant) @tab Ralf Wildenhues @email{Ralf.Wildenhues@@gmx.de}
 
 @cindex Rankin, Pat
 @item VMS @tab Pat Rankin, @email{rankin@@pactechdata.com}.
+
+@cindex Pitts, Dave
+@item z/OS (OS/390) @tab Dave Pitts, @email{pitts@@cozx.com}.
 @end multitable
 
 If your bug is also reproducible under Unix, please send a copy of your
@@ -25247,18 +25515,18 @@
 Brian Kernighan has made his implementation of
 @command{awk} freely available.
 You can retrieve this version via the World Wide Web from
-his home page.@footnote{@uref{http://cm.bell-labs.com/who/bwk}}
+his home page.@footnote{@uref{http://www.cs.princeton.edu/~bwk}}
 It is available in several archive formats:
 
 @table @asis
 @item Shell archive
-@uref{http://cm.bell-labs.com/who/bwk/awk.shar}
+@uref{http://www.cs.princeton.edu/~bwk/btl.mirror/awk.shar}
 
 @item Compressed @command{tar} file
-@uref{http://cm.bell-labs.com/who/bwk/awk.tar.gz}
+@uref{http://www.cs.princeton.edu/~bwk/btl.mirror/awk.tar.gz}
 
 @item Zip file
-@uref{http://cm.bell-labs.com/who/bwk/awk.zip}
+@uref{http://www.cs.princeton.edu/~bwk/btl.mirror/awk.zip}
 @end table
 
 This version requires an ISO C (1990 standard) compiler;
@@ -25278,11 +25546,23 @@
 (@pxref{Copying}),
 just as @command{gawk} is.
 
+@ignore
 You can get it via anonymous @command{ftp} to the host
 @code{@w{ftp.whidbey.net}}.  Change directory to @file{/pub/brennan}.
 Use ``binary'' or ``image'' mode, and retrieve @file{mawk1.3.3.tar.gz}
 (or the latest version that is there).
+@end ignore
+
+The original distribution site for the @command{mawk} source code
+no longer has it.  A copy has been made available at
+@uref{http://www.skeeve.com/gawk/mawk1.3.3.tar.gz}.
+
+In 2009, Thomas Dickey took on @command{mawk} maintenance.
+Basic information is availabe on
+@uref{http://www.invisible-island.net/mawk/mawk.html, the project's web page}.
+The download URL is @uref{ftp://invisible-island.net/mawk/mawk.tar.gz}.
 
+Once you have it,
 @command{gunzip} may be used to decompress this file. Installation
 is similar to @command{gawk}'s
 (@pxref{Unix Installation}).
@@ -25333,7 +25613,8 @@
 (@pxref{PC Using}).
 @end itemize
 
-The next version of @command{mawk} will support @code{nextfile}.
+It is to be hoped that a future version of @command{mawk} will support @code{nextfile}
+(@pxref{Nextfile Statement}).
 
 @cindex Sumner, Andrew
 @cindex @command{awka} compiler for @command{awk}
@@ -25360,9 +25641,9 @@
 (@pxref{Profiling}),
 in that it uses CPU-based profiling, not line-count
 profiling.  You may find it at either
-@uref{ftp://ftp.math.utah.edu/pub/pawk/pawk-20020210.tar.gz}
+@uref{ftp://ftp.math.utah.edu/pub/pawk/pawk-20030606.tar.gz}
 or
-@uref{http://www.math.utah.edu/pub/pawk/pawk-20020210.tar.gz}.
+@uref{http://www.math.utah.edu/pub/pawk/pawk-20030606.tar.gz}.
 
 @cindex OpenSolaris
 @cindex Solaris, POSIX compliant @command{awk}
@@ -25385,6 +25666,14 @@
 from POSIX @command{awk}.  More information is available on the
 project's home page.@footnote{@uref{http://jawk.sourceforge.net}}.
 
+@cindex @command{QTawk}
+@cindex QuikTrim Awk
+This is an independent implementation of @command{awk} distributed
+under the GPL. It has a large number of extensions over standard
+@command{awk} and may not be 100% syntactically compatible with it.
+See @uref{http://www.quiktrim.org/QTawk.html} for more information,
+including the manual and a download link.
+
 @end table
 @c ENDOFRANGE gligawk
 @c ENDOFRANGE ingawk
@@ -25507,7 +25796,7 @@
 The C code for @command{gawk} follows the instructions in the
 @cite{GNU Coding Standards}, with minor exceptions.  The code is formatted
 using the traditional ``K&R'' style, particularly as regards to the placement
-of braces and the use of tabs.  In brief, the coding rules for @command{gawk}
+of braces and the use of TABs.  In brief, the coding rules for @command{gawk}
 are as follows:
 
 @itemize @bullet
@@ -25537,7 +25826,7 @@
 in @code{for} loop initialization and increment parts, and in macro bodies.
 
 @item
-Use real tabs for indenting, not spaces.
+Use real TABs for indenting, not spaces.
 
 @item
 Use the ``K&R'' brace layout style.
@@ -28720,17 +29009,21 @@
 the GNU Lesser General Public License instead of this License.  But
 first, please read @url{http://www.gnu.org/philosophy/why-not-lgpl.html}.
 
+
+@c The GNU Free Documentation License.
 @node GNU Free Documentation License
 @unnumbered GNU Free Documentation License
-
 @cindex FDL (Free Documentation License)
 @cindex Free Documentation License (FDL)
 @cindex GNU Free Documentation License
-@center Version 1.2, November 2002
+@center Version 1.3, 3 November 2008
+
+@c This file is intended to be included within another document,
+@c hence no sectioning command or @node.
 
 @display
-Copyright @copyright{} 2000,2001,2002 Free Software Foundation, Inc.
-51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
+Copyright @copyright{} 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
+@uref{http://fsf.org/}
 
 Everyone is permitted to copy and distribute verbatim copies
 of this license document, but changing it is not allowed.
@@ -28835,6 +29128,9 @@
 the text near the most prominent appearance of the work's title,
 preceding the beginning of the body of the text.
 
+The ``publisher'' means any person or entity that distributes copies
+of the Document to the public.
+
 A section ``Entitled XYZ'' means a named subunit of the Document whose
 title either is precisely XYZ or contains XYZ in parentheses following
 text that translates XYZ in another language.  (Here XYZ stands for a
@@ -29067,7 +29363,7 @@
 distribution medium, is called an ``aggregate'' if the copyright
 resulting from the compilation is not used to limit the legal rights
 of the compilation's users beyond what the individual works permit.
-When the Document is included an aggregate, this License does not
+When the Document is included in an aggregate, this License does not
 apply to the other works in the aggregate which are not themselves
 derivative works of the Document.
 
@@ -29103,13 +29399,30 @@
 @item
 TERMINATION
 
-You may not copy, modify, sublicense, or distribute the Document except
-as expressly provided for under this License.  Any other attempt to
-copy, modify, sublicense or distribute the Document is void, and will
-automatically terminate your rights under this License.  However,
-parties who have received copies, or rights, from you under this
-License will not have their licenses terminated so long as such
-parties remain in full compliance.
+You may not copy, modify, sublicense, or distribute the Document
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense, or distribute it is void, and
+will automatically terminate your rights under this License.
+
+However, if you cease all violation of this License, then your license
+from a particular copyright holder is reinstated (a) provisionally,
+unless and until the copyright holder explicitly and finally
+terminates your license, and (b) permanently, if the copyright holder
+fails to notify you of the violation by some reasonable means prior to
+60 days after the cessation.
+
+Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License.  If your rights have been terminated and not permanently
+reinstated, receipt of a copy of some or all of the same material does
+not give you any rights to use it.
 
 @item
 FUTURE REVISIONS OF THIS LICENSE
@@ -29127,7 +29440,42 @@
 of any later version that has been published (not as a draft) by the
 Free Software Foundation.  If the Document does not specify a version
 number of this License, you may choose any version ever published (not
-as a draft) by the Free Software Foundation.
+as a draft) by the Free Software Foundation.  If the Document
+specifies that a proxy can decide which future versions of this
+License can be used, that proxy's public statement of acceptance of a
+version permanently authorizes you to choose that version for the
+Document.
+
+@item
+RELICENSING
+
+``Massive Multiauthor Collaboration Site'' (or ``MMC Site'') means any
+World Wide Web server that publishes copyrightable works and also
+provides prominent facilities for anybody to edit those works.  A
+public wiki that anybody can edit is an example of such a server.  A
+``Massive Multiauthor Collaboration'' (or ``MMC'') contained in the
+site means any set of copyrightable works thus published on the MMC
+site.
+
+``CC-BY-SA'' means the Creative Commons Attribution-Share Alike 3.0
+license published by Creative Commons Corporation, a not-for-profit
+corporation with a principal place of business in San Francisco,
+California, as well as future copyleft versions of that license
+published by that same organization.
+
+``Incorporate'' means to publish or republish a Document, in whole or
+in part, as part of another Document.
+
+An MMC is ``eligible for relicensing'' if it is licensed under this
+License, and if all works that were first published under this License
+somewhere other than this MMC, and subsequently incorporated in whole
+or in part into the MMC, (1) had no cover texts or invariant sections,
+and (2) were thus incorporated prior to November 1, 2008.
+
+The operator of an MMC Site may republish an MMC contained in the site
+under CC-BY-SA on the same site at any time before August 1, 2009,
+provided the MMC is eligible for relicensing.
+
 @end enumerate
 
 @c fakenode --- for prepinfo
@@ -29141,16 +29489,16 @@
 @group
   Copyright (C)  @var{year}  @var{your name}.
   Permission is granted to copy, distribute and/or modify this document
-  under the terms of the GNU Free Documentation License, Version 1.2
+  under the terms of the GNU Free Documentation License, Version 1.3
   or any later version published by the Free Software Foundation;
-  with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
-  A copy of the license is included in the section entitled ``GNU
+  with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
+  Texts.  A copy of the license is included in the section entitled ``GNU
   Free Documentation License''.
 @end group
 @end smallexample
 
 If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
-replace the ``with...Texts.'' line with this:
+replace the ``with@dots{}Texts.'' line with this:
 
 @smallexample
 @group
diff -urN gawk-3.1.6/doc/gawkinet.texi gawk-3.1.7/doc/gawkinet.texi
--- gawk-3.1.6/doc/gawkinet.texi	2007-01-13 22:43:18.000000000 +0200
+++ gawk-3.1.7/doc/gawkinet.texi	2009-07-09 22:47:59.000000000 +0300
@@ -62,20 +62,20 @@
 
 @set TITLE TCP/IP Internetworking With @command{gawk}
 @set EDITION 1.1
-@set UPDATE-MONTH January, 2004
+@set UPDATE-MONTH July, 2009
 @c gawk versions:
 @set VERSION 3.1
-@set PATCHLEVEL 4
+@set PATCHLEVEL 7
 
 @copying
 This is Edition @value{EDITION} of @cite{@value{TITLE}},
 for the @value{VERSION}.@value{PATCHLEVEL} (or later) version of the GNU
 implementation of AWK.
 @sp 2
-Copyright (C) 2000, 2001, 2002, 2004 Free Software Foundation, Inc.
+Copyright (C) 2000, 2001, 2002, 2004, 2009 Free Software Foundation, Inc.
 @sp 2
 Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.2 or
+under the terms of the GNU Free Documentation License, Version 1.3 or
 any later version published by the Free Software Foundation; with the
 Invariant Sections being ``GNU General Public License'', the Front-Cover
 texts being (a) (see below), and with the Back-Cover Texts being (b)
@@ -87,9 +87,9 @@
 ``A GNU Manual''
 
 @item
-``You have freedom to copy and modify this GNU Manual, like GNU
-software.  Copies published by the Free Software Foundation raise
-funds for GNU development.''
+``You have the freedom to
+copy and modify this GNU manual.  Buying copies from the FSF
+supports it in developing GNU and promoting software freedom.''
 @end enumerate
 @end copying
 
@@ -2092,7 +2092,7 @@
   @} else if (MENU[2] == "AboutELIZA") @{
     Document    = "This is an implementation of the famous ELIZA\
         program by Joseph Weizenbaum. It is written in GAWK and\
-/bin/sh: expad: command not found
+        uses an HTML GUI."
   @} else if (MENU[2] == "StartELIZA") @{
     gsub(/\+/, " ", GETARG["YouSay"])
     # Here we also have to substitute coded special characters
@@ -4723,17 +4723,20 @@
 
 @end table
 
+@c The GNU Free Documentation License.
 @node GNU Free Documentation License
 @unnumbered GNU Free Documentation License
-
 @cindex FDL (Free Documentation License)
 @cindex Free Documentation License (FDL)
 @cindex GNU Free Documentation License
-@center Version 1.2, November 2002
+@center Version 1.3, 3 November 2008
+
+@c This file is intended to be included within another document,
+@c hence no sectioning command or @node.
 
 @display
-Copyright @copyright{} 2000,2001,2002 Free Software Foundation, Inc.
-51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
+Copyright @copyright{} 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
+@uref{http://fsf.org/}
 
 Everyone is permitted to copy and distribute verbatim copies
 of this license document, but changing it is not allowed.
@@ -4838,6 +4841,9 @@
 the text near the most prominent appearance of the work's title,
 preceding the beginning of the body of the text.
 
+The ``publisher'' means any person or entity that distributes copies
+of the Document to the public.
+
 A section ``Entitled XYZ'' means a named subunit of the Document whose
 title either is precisely XYZ or contains XYZ in parentheses following
 text that translates XYZ in another language.  (Here XYZ stands for a
@@ -5070,7 +5076,7 @@
 distribution medium, is called an ``aggregate'' if the copyright
 resulting from the compilation is not used to limit the legal rights
 of the compilation's users beyond what the individual works permit.
-When the Document is included an aggregate, this License does not
+When the Document is included in an aggregate, this License does not
 apply to the other works in the aggregate which are not themselves
 derivative works of the Document.
 
@@ -5106,13 +5112,30 @@
 @item
 TERMINATION
 
-You may not copy, modify, sublicense, or distribute the Document except
-as expressly provided for under this License.  Any other attempt to
-copy, modify, sublicense or distribute the Document is void, and will
-automatically terminate your rights under this License.  However,
-parties who have received copies, or rights, from you under this
-License will not have their licenses terminated so long as such
-parties remain in full compliance.
+You may not copy, modify, sublicense, or distribute the Document
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense, or distribute it is void, and
+will automatically terminate your rights under this License.
+
+However, if you cease all violation of this License, then your license
+from a particular copyright holder is reinstated (a) provisionally,
+unless and until the copyright holder explicitly and finally
+terminates your license, and (b) permanently, if the copyright holder
+fails to notify you of the violation by some reasonable means prior to
+60 days after the cessation.
+
+Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License.  If your rights have been terminated and not permanently
+reinstated, receipt of a copy of some or all of the same material does
+not give you any rights to use it.
 
 @item
 FUTURE REVISIONS OF THIS LICENSE
@@ -5130,7 +5153,42 @@
 of any later version that has been published (not as a draft) by the
 Free Software Foundation.  If the Document does not specify a version
 number of this License, you may choose any version ever published (not
-as a draft) by the Free Software Foundation.
+as a draft) by the Free Software Foundation.  If the Document
+specifies that a proxy can decide which future versions of this
+License can be used, that proxy's public statement of acceptance of a
+version permanently authorizes you to choose that version for the
+Document.
+
+@item
+RELICENSING
+
+``Massive Multiauthor Collaboration Site'' (or ``MMC Site'') means any
+World Wide Web server that publishes copyrightable works and also
+provides prominent facilities for anybody to edit those works.  A
+public wiki that anybody can edit is an example of such a server.  A
+``Massive Multiauthor Collaboration'' (or ``MMC'') contained in the
+site means any set of copyrightable works thus published on the MMC
+site.
+
+``CC-BY-SA'' means the Creative Commons Attribution-Share Alike 3.0
+license published by Creative Commons Corporation, a not-for-profit
+corporation with a principal place of business in San Francisco,
+California, as well as future copyleft versions of that license
+published by that same organization.
+
+``Incorporate'' means to publish or republish a Document, in whole or
+in part, as part of another Document.
+
+An MMC is ``eligible for relicensing'' if it is licensed under this
+License, and if all works that were first published under this License
+somewhere other than this MMC, and subsequently incorporated in whole
+or in part into the MMC, (1) had no cover texts or invariant sections,
+and (2) were thus incorporated prior to November 1, 2008.
+
+The operator of an MMC Site may republish an MMC contained in the site
+under CC-BY-SA on the same site at any time before August 1, 2009,
+provided the MMC is eligible for relicensing.
+
 @end enumerate
 
 @c fakenode --- for prepinfo
@@ -5144,16 +5202,16 @@
 @group
   Copyright (C)  @var{year}  @var{your name}.
   Permission is granted to copy, distribute and/or modify this document
-  under the terms of the GNU Free Documentation License, Version 1.2
+  under the terms of the GNU Free Documentation License, Version 1.3
   or any later version published by the Free Software Foundation;
-  with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
-  A copy of the license is included in the section entitled ``GNU
+  with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
+  Texts.  A copy of the license is included in the section entitled ``GNU
   Free Documentation License''.
 @end group
 @end smallexample
 
 If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
-replace the ``with...Texts.'' line with this:
+replace the ``with@dots{}Texts.'' line with this:
 
 @smallexample
 @group
diff -urN gawk-3.1.6/eval.c gawk-3.1.7/eval.c
--- gawk-3.1.6/eval.c	2007-08-11 22:39:49.000000000 +0300
+++ gawk-3.1.7/eval.c	2009-07-09 22:19:09.000000000 +0300
@@ -148,6 +148,73 @@
 	C('\360'), C('\361'), C('\362'), C('\363'), C('\364'), C('\365'), C('\366'), C('\367'),
 	C('\370'), C('\371'), C('\372'), C('\373'), C('\374'), C('\375'), C('\376'), C('\377'),
 };
+#elif 'a' == 0x81 /* it's EBCDIC */
+char casetable[] = {
+ /*00  NU    SH    SX    EX    PF    HT    LC    DL */
+      0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
+ /*08              SM    VT    FF    CR    SO    SI */
+      0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
+ /*10  DE    D1    D2    TM    RS    NL    BS    IL */
+      0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
+ /*18  CN    EM    CC    C1    FS    GS    RS    US */
+      0x18, 0x19, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F,
+ /*20  DS    SS    FS          BP    LF    EB    EC */
+      0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
+ /*28              SM    C2    EQ    AK    BL       */
+      0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F,
+ /*30              SY          PN    RS    UC    ET */
+      0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
+ /*38                    C3    D4    NK          SU */
+      0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F,
+ /*40  SP                                           */
+      0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47,
+ /*48             CENT    .     <     (     +     | */
+      0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F,
+ /*50   &                                           */
+      0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57,
+ /*58               !     $     *     )     ;     ^ */
+      0x58, 0x59, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F,
+ /*60   -     /                                     */
+      0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
+ /*68               |     ,     %     _     >     ? */
+      0x68, 0x69, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F,
+ /*70                                               */
+      0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
+ /*78         `     :     #     @     '     =     " */
+      0x78, 0x79, 0x7A, 0x7B, 0x7C, 0x7D, 0x7E, 0x7F,
+ /*80         a     b     c     d     e     f     g */
+      0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
+ /*88   h     i           {                         */
+      0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F,
+ /*90         j     k     l     m     n     o     p */
+      0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
+ /*98   q     r           }                         */
+      0x98, 0x99, 0x9A, 0x9B, 0x9C, 0x9D, 0x9E, 0x9F,
+ /*A0         ~     s     t     u     v     w     x */
+      0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7,
+ /*A8   y     z                       [             */
+      0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF,
+ /*B0                                               */
+      0xB0, 0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0xB7,
+ /*B8                                 ]             */
+      0xB8, 0xB9, 0xBA, 0xBB, 0xBC, 0xBD, 0xBE, 0xBF,
+ /*C0   {     A     B     C     D     E     F     G */
+      0xC0, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
+ /*C8   H     I                                     */
+      0x88, 0x89, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF,
+ /*D0   }     J     K     L     M     N     O     P */
+      0xD0, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
+ /*D8   Q     R                                     */
+      0x98, 0x99, 0xDA, 0xDB, 0xDC, 0xDD, 0xDE, 0xDF,
+ /*E0   \           S     T     U     V     W     X */
+      0xE0, 0xE1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7,
+ /*E8   Y     Z                                     */
+      0xA8, 0xA9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF,
+ /*F0   0     1     2     3     4     5     6     7 */
+      0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7,
+ /*F8   8     9                                     */
+      0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF
+};
 #else
 #include "You lose. You will need a translation table for your character set."
 #endif
@@ -174,11 +241,13 @@
 	if (cp == NULL || strcmp(cp, "C") == 0 || strcmp(cp, "POSIX") == 0)
 		return;
 
+#ifndef ZOS_USS
 	for (i = 0200; i <= 0377; i++) {
 		if (isalpha(i) && islower(i) && i != toupper(i))
 			casetable[i] = toupper(i);
 	}
 #endif
+#endif
 }
 
 /*
@@ -849,6 +918,14 @@
 		if (tree->lnode != NULL) {
 			t = tree_eval(tree->lnode);
 			exit_val = (int) force_number(t);
+#ifdef VMS
+			if (exit_val == 0)
+				exit_val = EXIT_SUCCESS;
+			else if (exit_val == 1)
+				exit_val = EXIT_FAILURE;
+			/* else
+				just pass anything else on through */
+#endif
 			free_temp(t);
 		}
 		longjmp(rule_tag, TAG_BREAK);
@@ -903,7 +980,7 @@
 
 /* calc_exp --- calculate x1^x2 */
 
-static AWKNUM
+AWKNUM
 calc_exp(AWKNUM x1, AWKNUM x2)
 {
 	long lx;
@@ -1140,7 +1217,7 @@
 	case Node_assign_concat:
 	{
 		Func_ptr after_assign = NULL;
-		NODE *l, *r;
+		NODE *l, *r, *t;
 
 		/*
 		 * Note that something lovely like this:
@@ -1157,8 +1234,30 @@
 		lhs = get_lhs(tree->lnode, &after_assign, FALSE);
 		*lhs = force_string(*lhs);
 		l = *lhs;
+
+		/*
+		 * This is a hack. We temporarily increase the reference count
+		 * on l in case evaluating r might change the original value
+		 * of l.  We have to be careful about reducing it afterwards.
+		 * In particular, if the lhs changed during evaluation of the
+		 * rhs, we have to compensate.
+		 *
+		 * See test/nasty.awk.
+		 */
+		t = dupnode(l);
 		r = force_string(tree_eval(tree->rnode));
 
+		if (l != *lhs) {
+			/*
+			 * Something happened to the original
+			 * during the evaluation of the rhs.
+			 */
+			unref(*lhs);
+			*lhs = l;
+		}
+		else
+			unref(t);
+
 		/*
 		 * Don't clobber string constants!
 		 *
@@ -1789,6 +1888,7 @@
 	int volatile save_loop_tag_valid = FALSE;
 	NODE *save_ret_node;
 	extern NODE *ret_node;
+	size_t current_nloops_active = 0;
 
 	/* tree->rnode is a Node_val giving function name */
 	/* tree->lnode is Node_expression_list of calling args. */
@@ -1831,12 +1931,16 @@
 		loop_tag_valid = FALSE;
 	}
 	PUSH_BINDING(func_tag_stack, func_tag, func_tag_valid);
+	current_nloops_active = nloops_active;
 	save_ret_node = ret_node;
 	ret_node = Nnull_string;	/* default return value */
 	INCREMENT(f->exec_count);	/* count function calls */
 	if (setjmp(func_tag) == 0)
 		(void) interpret(f->rnode);
 
+	while (nloops_active > current_nloops_active)
+		pop_forloop();
+
 	r = ret_node;
 	ret_node = (NODE *) save_ret_node;
 	RESTORE_BINDING(func_tag_stack, func_tag, func_tag_valid);
@@ -2146,9 +2250,8 @@
 set_BINMODE()
 {
 	static short warned = FALSE;
-	char *p, *cp, save;
+	char *p;
 	NODE *v;
-	int digits = FALSE;
 
 	if ((do_lint || do_traditional) && ! warned) {
 		warned = TRUE;
@@ -2156,41 +2259,67 @@
 	}
 	if (do_traditional)
 		BINMODE = 0;
+	else if ((BINMODE_node->var_value->flags & NUMBER) != 0) {
+		BINMODE = (int) force_number(BINMODE_node->var_value);
+		/* Make sure the value is rational. */
+		if (BINMODE < 0)
+			BINMODE = 0;
+		else if (BINMODE > 3)
+			BINMODE = 3;
+	}
 	else if ((BINMODE_node->var_value->flags & STRING) != 0) {
 		v = BINMODE_node->var_value;
 		p = v->stptr;
-		save = p[v->stlen];
-		p[v->stlen] = '\0';
 
-		for (cp = p; *cp != '\0'; cp++) {
-			if (ISDIGIT(*cp)) {
-				digits = TRUE;
+		/*
+		 * Allow only one of the following:
+		 * "0", "1", "2", "3",
+		 * "r", "w", "rw", "wr"
+		 * ANYTHING ELSE goes to 3. So there.
+		 */
+		switch (v->stlen) {
+		case 1:
+			switch (p[0]) {
+			case '0':
+			case '1':
+			case '2':
+			case '3':
+				BINMODE = p[0] - '0';
 				break;
-			}
-		}
-
-		if (! digits && (BINMODE_node->var_value->flags & MAYBE_NUM) == 0) {
-			BINMODE = 0;
-			if (strcmp(p, "r") == 0)
+			case 'r':
 				BINMODE = 1;
-			else if (strcmp(p, "w") == 0)
+				break;
+			case 'w':
 				BINMODE = 2;
-			else if (strcmp(p, "rw") == 0 || strcmp(p, "wr") == 0)
+				break;
+			default:
 				BINMODE = 3;
-
-			if (BINMODE == 0 && v->stlen != 0) {
-				/* arbitrary string, assume both */
+				goto bad_value;
+				break;
+			}
+			break;
+		case 2:
+			switch (p[0]) {
+			case 'r':
 				BINMODE = 3;
-				warning("BINMODE: arbitrary string value treated as \"rw\"");
+				if (p[1] != 'w')
+					goto bad_value;
+				break;
+			case 'w':
+				BINMODE = 3;
+				if (p[1] != 'r')
+					goto bad_value;
+				break;
+			break;
+		default:
+	bad_value:
+			lintwarn(_("BINMODE value `%s' is invalid, treated as 3"), p);
+			break;
 			}
-		} else
-			BINMODE = (int) force_number(BINMODE_node->var_value);
-
-		p[v->stlen] = save;
-	} else if ((BINMODE_node->var_value->flags & NUMBER) != 0)
-		BINMODE = (int) force_number(BINMODE_node->var_value);
+		}
+	}
 	else
-		BINMODE = 0;		/* shouldn't happen */
+		BINMODE = 3;		/* shouldn't happen */
 }
 
 /* set_OFS --- update OFS related variables when OFS assigned to */
@@ -2387,6 +2516,8 @@
 		 */
 		unref(*lhs_p);
 		*lhs_p = dupnode(rhs);
+		if ((*lhs_p)->type != Node_val)
+			(*lhs_p)->funcbody = NULL;
 	}
 	return *lhs_p;
 }
diff -urN gawk-3.1.6/ext.c gawk-3.1.7/ext.c
--- gawk-3.1.6/ext.c	2007-08-11 22:39:49.000000000 +0300
+++ gawk-3.1.7/ext.c	2009-07-09 22:31:50.000000000 +0300
@@ -7,7 +7,7 @@
  */
 
 /*
- * Copyright (C) 1995 - 2001, 2003-2007 the Free Software Foundation, Inc.
+ * Copyright (C) 1995 - 2001, 2003-2009 the Free Software Foundation, Inc.
  * 
  * This file is part of GAWK, the GNU implementation of the
  * AWK Programming Language.
diff -urN gawk-3.1.6/extension/ChangeLog gawk-3.1.7/extension/ChangeLog
--- gawk-3.1.6/extension/ChangeLog	2007-10-22 08:49:46.000000000 +0200
+++ gawk-3.1.7/extension/ChangeLog	2009-07-21 22:29:57.000000000 +0300
@@ -1,3 +1,23 @@
+Tue Jul 21 22:28:56 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* Release 3.1.7: Release tar file made.
+
+Mon May 18 21:31:34 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* rwarray.c (write_value, read_value): Use htonl / ntohl to write /
+	read the code for double / string.  Test read-in code for != 0
+	to handle stuff written before this change.
+
+Sat May 16 22:52:34 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* rwarray.c (do_reada, read_elem, read_value): Made the code
+	actually work.
+
+Fri May 15 16:01:06 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* rwarray.c, rwarray.awk: New files.
+	* steps: Updated.
+
 Mon Oct 22 08:49:05 2007  Arnold D. Robbins  <arnold@skeeve.com>
 
 	* Release 3.1.6: Release tar file made.
diff -urN gawk-3.1.6/extension/rwarray.awk gawk-3.1.7/extension/rwarray.awk
--- gawk-3.1.6/extension/rwarray.awk	1970-01-01 02:00:00.000000000 +0200
+++ gawk-3.1.7/extension/rwarray.awk	2009-05-15 15:59:39.000000000 +0300
@@ -0,0 +1,28 @@
+BEGIN {
+	extension("./rwarray.so","dlload")
+
+	while ((getline word < "/usr/share/dict/words") > 0)
+		dict[word] = word word
+
+	for (i in dict)
+		printf("dict[%s] = %s\n", i, dict[i]) > "orig.out"
+	close("orig.out");
+
+	writea("orig.bin", dict)
+
+	reada("orig.bin", dict)
+
+	for (i in dict)
+		printf("dict[%s] = %s\n", i, dict[i]) > "new.out"
+	close("new.out");
+
+	ret = system("cmp orig.out new.out")
+
+	if (ret == 0)
+		print "old and new are equal - GOOD"
+	else
+		print "old and new are not equal - BAD"
+
+	if (ret == 0 && !("keepit" in ENVIRON))
+		system("rm orig.bin orig.out new.out")
+}
diff -urN gawk-3.1.6/extension/rwarray.c gawk-3.1.7/extension/rwarray.c
--- gawk-3.1.6/extension/rwarray.c	1970-01-01 02:00:00.000000000 +0200
+++ gawk-3.1.7/extension/rwarray.c	2009-05-18 21:30:12.000000000 +0300
@@ -0,0 +1,425 @@
+/*
+ * rwarray.c - Builtin functions to binary read / write arrays to a file.
+ *
+ * Arnold Robbins
+ * May 2009
+ */
+
+/*
+ * Copyright (C) 2009 the Free Software Foundation, Inc.
+ * 
+ * This file is part of GAWK, the GNU implementation of the
+ * AWK Programming Language.
+ * 
+ * GAWK 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.
+ * 
+ * GAWK 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 "awk.h"
+#include <arpa/inet.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+
+
+#define MAGIC "awkrulz\n"
+#define MAJOR 1
+#define MINOR 0
+
+static int write_elem(int fd, int index, NODE *item);
+static int write_chain(int fd, int index, NODE *item);
+static int write_value(int fd, NODE *val);
+
+static NODE *read_elem(int fd, int *index, int *eof);
+static NODE *read_value(int fd);
+
+/*
+ * Format of array info:
+ *
+ * MAGIC	8 bytes
+ * Major version	4 bytes - network order
+ * Minor version	4 bytes - network order
+ * Element count	4 bytes - network order
+ * Array size		4 bytes - network order
+ * Elements
+ * 
+ * For each element:
+ * Bucket number:	4 bytes - network order
+ * Hash of index val:	4 bytes - network order
+ * Length of index val:	4 bytes - network order
+ * Index val as characters (N bytes)
+ * Value type		1 byte (0 = string, 1 = number)
+ * IF string:
+ * 	Length of value	4 bytes
+ * 	Value as characters (N bytes)
+ * ELSE
+ * 	8 bytes as native double
+ */
+
+/* do_writea --- write an array */
+
+static NODE *
+do_writea(tree)
+NODE *tree;
+{
+	NODE *file, *array;
+	int ret;
+	int fd;
+	uint32_t major = MAJOR;
+	uint32_t minor = MINOR;
+	uint32_t count;
+	uint32_t array_sz;
+	int i;
+
+	if (do_lint && get_curfunc_arg_count() > 2)
+		lintwarn("writea: called with too many arguments");
+
+	/* directory is first arg, array to dump is second */
+	file = get_scalar_argument(tree, 0, FALSE);
+	array = get_array_argument(tree, 1, TRUE);
+
+	/* open the file, if error, set ERRNO and return */
+	(void) force_string(file);
+	fd = creat(file->stptr, 0600);
+	if (fd < 0) {
+		goto done1;
+	}
+
+	if (write(fd, MAGIC, strlen(MAGIC)) != strlen(MAGIC))
+		goto done1;
+
+	major = htonl(major);
+	if (write(fd, & major, sizeof(major)) != sizeof(major))
+		goto done1;
+
+	minor = htonl(minor);
+	if (write(fd, & minor, sizeof(minor)) != sizeof(minor))
+		goto done1;
+
+	count = htonl(array->table_size);
+	if (write(fd, & count, sizeof(count)) != sizeof(count))
+		goto done1;
+
+	array_sz = htonl(array->array_size);
+	if (write(fd, & array_sz, sizeof(array_sz)) != sizeof(array_sz))
+		goto done1;
+
+	for (i = 0; i < array->array_size; i++) {
+		ret = write_chain(fd, i, array->var_array[i]);
+		if (ret != 0)
+			goto done1;
+	}
+
+	ret = 0;
+	goto done0;
+
+done1:
+	ret = -1;
+	update_ERRNO();
+	unlink(file->stptr);
+
+done0:
+	free_temp(file);
+	close(fd);
+
+	/* Set the return value */
+	set_value(tmp_number((AWKNUM) ret));
+
+	/* Just to make the interpreter happy */
+	return tmp_number((AWKNUM) 0);
+}
+
+/* write_chain --- write out a whole hash chain */
+
+/*
+ * Write elements in the chain in reverse order so that
+ * when we read the elements back in we can just push them
+ * onto the front and thus recreate the array as it was.
+ */
+
+static int
+write_chain(int fd, int index, NODE *bucket)
+{
+	int ret;
+
+	if (bucket == NULL)
+		return 0;
+
+	ret = write_chain(fd, index, bucket->ahnext);
+	if (ret != 0)
+		return ret;
+
+	return write_elem(fd, index, bucket);
+}
+
+/* write_elem --- write out a single element */
+
+static int
+write_elem(int fd, int index, NODE *item)
+{
+	uint32_t hashval, indexval_len;
+
+	index = htonl(index);
+	if (write(fd, & index, sizeof(index)) != sizeof(index))
+		return -1;
+
+	hashval = htonl(item->ahcode);
+	if (write(fd, & hashval, sizeof(hashval)) != sizeof(hashval))
+		return -1;
+
+	indexval_len = htonl(item->ahname_len);
+	if (write(fd, & indexval_len, sizeof(indexval_len)) != sizeof(indexval_len))
+		return -1;
+
+	if (write(fd, item->ahname_str, item->ahname_len) != item->ahname_len)
+		return -1;
+
+	return write_value(fd, item->ahvalue);
+}
+
+/* write_value --- write a number or a string */
+
+static int
+write_value(int fd, NODE *val)
+{
+	int code, len;
+
+	if ((val->flags & NUMBER) != 0) {
+		code = htonl(1);
+		if (write(fd, & code, sizeof(code)) != sizeof(code))
+			return -1;
+
+		if (write(fd, & val->numbr, sizeof(val->numbr)) != sizeof(val->numbr))
+			return -1;
+	} else {
+		code = 0;
+		if (write(fd, & code, sizeof(code)) != sizeof(code))
+			return -1;
+
+		len = htonl(val->stlen);
+		if (write(fd, & len, sizeof(len)) != sizeof(len))
+			return -1;
+
+		if (write(fd, val->stptr, val->stlen) != val->stlen)
+			return -1;
+	}
+
+	return 0;
+}
+
+/* do_reada --- read an array */
+
+static NODE *
+do_reada(tree)
+NODE *tree;
+{
+	NODE *file, *array;
+	int ret;
+	int fd;
+	uint32_t major;
+	uint32_t minor;
+	uint32_t count;
+	uint32_t array_sz;
+	char magic_buf[30];
+	int index;
+	NODE *new_elem;
+	int eof;
+
+	if (do_lint && get_curfunc_arg_count() > 2)
+		lintwarn("reada: called with too many arguments");
+
+	/* directory is first arg, array to dump is second */
+	file = get_scalar_argument(tree, 0, FALSE);
+	array = get_array_argument(tree, 1, TRUE);
+
+	(void) force_string(file);
+	fd = open(file->stptr, O_RDONLY);
+	if (fd < 0) {
+		goto done1;
+	}
+
+	memset(magic_buf, '\0', sizeof(magic_buf));
+	if (read(fd, magic_buf, strlen(MAGIC)) != strlen(MAGIC)) {
+		goto done1;
+	}
+
+	if (strcmp(magic_buf, MAGIC) != 0) {
+		goto done1;
+	}
+
+	if (read(fd, & major, sizeof(major)) != sizeof(major)) {
+		goto done1;
+	}
+	major = ntohl(major);
+
+	if (major != MAJOR) {
+		goto done1;
+	}
+
+	if (read(fd, & minor, sizeof(minor)) != sizeof(minor)) {
+		goto done1;
+	}
+	minor = ntohl(minor);
+	if (minor != MINOR) {
+		goto done1;
+	}
+
+	assoc_clear(array);
+
+	if (read(fd, & count, sizeof(count)) != sizeof(count)) {
+		goto done1;
+	}
+	array->table_size = ntohl(count);
+
+	if (read(fd, & array_sz, sizeof(array_sz)) != sizeof(array_sz)) {
+		goto done1;
+	}
+	array->array_size = ntohl(array_sz);
+
+	/* malloc var_array */
+	array->var_array = (NODE **) malloc(array->array_size * sizeof(NODE *));
+	memset(array->var_array, '\0', array->array_size * sizeof(NODE *));
+
+	while ((new_elem = read_elem(fd, & index, & eof)) != NULL) {
+		new_elem->ahnext = array->var_array[index];
+		array->var_array[index] = new_elem;
+	}
+
+	if (eof) {
+		ret = 0;
+		goto done0;
+	}
+
+done1:
+	ret = -1;
+	update_ERRNO();
+
+done0:
+	free_temp(file);
+	close(fd);
+
+	/* Set the return value */
+	set_value(tmp_number((AWKNUM) ret));
+
+	/* Just to make the interpreter happy */
+	return tmp_number((AWKNUM) 0);
+}
+
+/* read_elem --- read in a single element */
+
+static NODE *
+read_elem(int fd, int *the_index, int *eof)
+{
+	uint32_t hashval, indexval_len, index;
+	NODE *item;
+	int ret;
+
+	*the_index = 0;
+	*eof = FALSE;
+
+	if ((ret = read(fd, & index, sizeof(index))) != sizeof(index)) {
+		if (ret == 0) {
+			*eof = TRUE;
+		}
+		return NULL;
+	}
+	*the_index = index = ntohl(index);
+
+	getnode(item);
+	memset(item, 0, sizeof(*item));
+	item->type = Node_ahash;
+	item->flags = MALLOC;
+
+	if (read(fd, & hashval, sizeof(hashval)) != sizeof(hashval)) {
+		return NULL;
+	}
+
+	item->ahcode = ntohl(hashval);
+
+	if (read(fd, & indexval_len, sizeof(indexval_len)) != sizeof(indexval_len)) {
+		return NULL;
+	}
+	item->ahname_len = ntohl(indexval_len);
+
+	item->ahname_str = malloc(item->ahname_len + 2);
+	if (read(fd, item->ahname_str, item->ahname_len) != item->ahname_len) {
+		return NULL;
+	}
+	item->ahname_str[item->ahname_len] = '\0';
+	item->ahname_ref = 1;
+
+	item->ahvalue = read_value(fd);
+	if (item->ahvalue == NULL) {
+		return NULL;
+	}
+
+	return item;
+}
+
+/* read_value --- read a number or a string */
+
+static NODE *
+read_value(int fd)
+{
+	NODE *val;
+	int code, len;
+
+	getnode(val);
+	memset(val, 0, sizeof(*val));
+	val->type = Node_val;
+
+	if (read(fd, & code, sizeof(code)) != sizeof(code)) {
+		return NULL;
+	}
+	code = ntohl(code);
+
+	/*
+	 * Very very early versions of this did not write out the code using htonl.
+	 * Thus this check for `!= 0' instead of '== 1'.
+	 */
+	if (code != 0) {
+		if (read(fd, & val->numbr, sizeof(val->numbr)) != sizeof(val->numbr)) {
+			return NULL;
+		}
+		val->flags = NUMBER|NUMCUR|MALLOC;
+	} else {
+		if (read(fd, & len, sizeof(len)) != sizeof(len)) {
+			return NULL;
+		}
+		val->stlen = ntohl(len);
+		val->stptr = malloc(val->stlen + 2);
+		memset(val->stptr, '\0', val->stlen + 2);
+
+		if (read(fd, val->stptr, val->stlen) != val->stlen) {
+			return NULL;
+		}
+
+		val->flags = STRING|STRCUR|MALLOC;
+	}
+
+	return val;
+}
+
+/* dlload --- load new builtins in this library */
+
+NODE *
+dlload(tree, dl)
+NODE *tree;
+void *dl;
+{
+	make_builtin("writea", do_writea, 2);
+	make_builtin("reada", do_reada, 2);
+
+	return tmp_number((AWKNUM) 0);
+}
diff -urN gawk-3.1.6/extension/steps gawk-3.1.7/extension/steps
--- gawk-3.1.6/extension/steps	2006-08-11 15:05:48.000000000 +0300
+++ gawk-3.1.7/extension/steps	2009-05-16 22:22:44.000000000 +0300
@@ -3,6 +3,7 @@
 # Sun Aug 26 16:03:58 IDT 2001
 # Sun Apr 28 15:59:57 IDT 2002
 # Mon Jun 21 17:03:37 IDT 2004
+# Fri May 15 15:48:45 IDT 2009
 
 gcc -shared -Wall -DHAVE_CONFIG_H -c -O -g -I.. dl.c
 gcc -shared -Wall -DHAVE_CONFIG_H -c -O -g -I.. filefuncs.c
@@ -11,6 +12,7 @@
 gcc -shared -Wall -DHAVE_CONFIG_H -c -O -g -I.. arrayparm.c
 gcc -shared -Wall -DHAVE_CONFIG_H -c -O -g -I.. readfile.c
 gcc -shared -Wall -DHAVE_CONFIG_H -c -O -g -I.. testarg.c
+gcc -shared -Wall -DHAVE_CONFIG_H -c -O -g -I.. rwarray.c
 ld -o dl.so -shared dl.o
 ld -o filefuncs.so -shared filefuncs.o
 ld -o fork.so -shared fork.o
@@ -18,3 +20,4 @@
 ld -o arrayparm.so -shared arrayparm.o
 ld -o readfile.so -shared readfile.o
 ld -o testarg.so -shared testarg.o
+ld -o rwarray.so -shared rwarray.o
diff -urN gawk-3.1.6/field.c gawk-3.1.7/field.c
--- gawk-3.1.6/field.c	2007-09-22 22:23:05.000000000 +0200
+++ gawk-3.1.7/field.c	2009-07-09 22:31:55.000000000 +0300
@@ -3,7 +3,7 @@
  */
 
 /* 
- * Copyright (C) 1986, 1988, 1989, 1991-2007 the Free Software Foundation, Inc.
+ * Copyright (C) 1986, 1988, 1989, 1991-2009 the Free Software Foundation, Inc.
  * 
  * This file is part of GAWK, the GNU implementation of the
  * AWK Programming Language.
@@ -39,20 +39,20 @@
 typedef void (* Setfunc) P((long, char *, long, NODE *));
 
 static long (*parse_field) P((long, char **, int, NODE *,
-			     Regexp *, Setfunc, NODE *));
+			     Regexp *, Setfunc, NODE *, int));
 static void rebuild_record P((void));
 static long re_parse_field P((long, char **, int, NODE *,
-			     Regexp *, Setfunc, NODE *));
+			     Regexp *, Setfunc, NODE *, int));
 static long def_parse_field P((long, char **, int, NODE *,
-			      Regexp *, Setfunc, NODE *));
+			      Regexp *, Setfunc, NODE *, int));
 static long posix_def_parse_field P((long, char **, int, NODE *,
-			      Regexp *, Setfunc, NODE *));
+			      Regexp *, Setfunc, NODE *, int));
 static long null_parse_field P((long, char **, int, NODE *,
-			     Regexp *, Setfunc, NODE *));
+			     Regexp *, Setfunc, NODE *, int));
 static long sc_parse_field P((long, char **, int, NODE *,
-			     Regexp *, Setfunc, NODE *));
+			     Regexp *, Setfunc, NODE *, int));
 static long fw_parse_field P((long, char **, int, NODE *,
-			     Regexp *, Setfunc, NODE *));
+			     Regexp *, Setfunc, NODE *, int));
 static void set_element P((long num, char * str, long len, NODE *arr));
 static void grow_fields_arr P((long num));
 static void set_field P((long num, char *str, long len, NODE *dummy));
@@ -364,12 +364,14 @@
 	NODE *fs ATTRIBUTE_UNUSED,
 	Regexp *rp,
 	Setfunc set,	/* routine to set the value of the parsed field */
-	NODE *n)
+	NODE *n,
+	int in_middle)
 {
 	register char *scan = *buf;
 	register long nf = parse_high_water;
 	register char *field;
 	register char *end = scan + len;
+	int regex_flags = RE_NEED_START;
 #ifdef MBS_SUPPORT
 	size_t mbclen = 0;
 	mbstate_t mbs;
@@ -377,6 +379,9 @@
 		memset(&mbs, 0, sizeof(mbstate_t));
 #endif
 
+	if (in_middle)
+		regex_flags |= RE_NO_BOL;
+
 	if (up_to == UNLIMITED)
 		nf = 0;
 	if (len == 0)
@@ -387,8 +392,9 @@
 			scan++;
 	field = scan;
 	while (scan < end
-	       && research(rp, scan, 0, (end - scan), RE_NEED_START) != -1
+	       && research(rp, scan, 0, (end - scan), regex_flags) != -1
 	       && nf < up_to) {
+		regex_flags |= RE_NO_BOL;
 		if (REEND(rp, scan) == RESTART(rp, scan)) {   /* null match */
 #ifdef MBS_SUPPORT
 			if (gawk_mb_cur_max > 1)	{
@@ -439,7 +445,8 @@
 	NODE *fs,
 	Regexp *rp ATTRIBUTE_UNUSED,
 	Setfunc set,	/* routine to set the value of the parsed field */
-	NODE *n)
+	NODE *n,
+	int in_middle ATTRIBUTE_UNUSED)
 {
 	register char *scan = *buf;
 	register long nf = parse_high_water;
@@ -506,7 +513,8 @@
 	NODE *fs,
 	Regexp *rp ATTRIBUTE_UNUSED,
 	Setfunc set,	/* routine to set the value of the parsed field */
-	NODE *n)
+	NODE *n,
+	int in_middle ATTRIBUTE_UNUSED)
 {
 	register char *scan = *buf;
 	register long nf = parse_high_water;
@@ -570,7 +578,8 @@
 	NODE *fs ATTRIBUTE_UNUSED,
 	Regexp *rp ATTRIBUTE_UNUSED,
 	Setfunc set,	/* routine to set the value of the parsed field */
-	NODE *n)
+	NODE *n,
+	int in_middle ATTRIBUTE_UNUSED)
 {
 	register char *scan = *buf;
 	register long nf = parse_high_water;
@@ -618,7 +627,8 @@
 	NODE *fs,
 	Regexp *rp ATTRIBUTE_UNUSED,
 	Setfunc set,	/* routine to set the value of the parsed field */
-	NODE *n)
+	NODE *n,
+	int in_middle ATTRIBUTE_UNUSED)
 {
 	register char *scan = *buf;
 	register char fschar;
@@ -695,21 +705,60 @@
 	NODE *fs ATTRIBUTE_UNUSED,
 	Regexp *rp ATTRIBUTE_UNUSED,
 	Setfunc set,	/* routine to set the value of the parsed field */
-	NODE *n)
+	NODE *n,
+	int in_middle ATTRIBUTE_UNUSED)
 {
 	register char *scan = *buf;
 	register long nf = parse_high_water;
 	register char *end = scan + len;
+#ifdef MBS_SUPPORT
+	int nmbc;
+	size_t mbclen;
+	size_t mbslen;
+	size_t lenrest;
+	char *mbscan;
+	mbstate_t mbs;
+
+	memset(&mbs, 0, sizeof(mbstate_t));
+#endif
 
 	if (up_to == UNLIMITED)
 		nf = 0;
 	if (len == 0)
 		return nf;
 	for (; nf < up_to && (len = FIELDWIDTHS[nf+1]) != -1; ) {
-		if (len > end - scan)
-			len = end - scan;
-		(*set)(++nf, scan, (long) len, n);
-		scan += len;
+#ifdef MBS_SUPPORT
+		if (gawk_mb_cur_max > 1) {
+			nmbc = 0;
+			mbslen = 0;
+			mbscan = scan;
+			lenrest = end - scan;
+			while (nmbc < len && mbslen < lenrest) {
+				mbclen = mbrlen(mbscan, end - mbscan, &mbs);
+				if (   mbclen == 1
+				    || mbclen == (size_t) -1
+				    || mbclen == (size_t) -2
+				    || mbclen == 0) {
+					/* We treat it as a singlebyte character.  */
+		    			mbclen = 1;
+				}
+				if (mbclen <= end - mbscan) {
+					mbscan += mbclen;
+		    			mbslen += mbclen;
+		    			++nmbc;
+				}
+	    		}
+			(*set)(++nf, scan, (long) mbslen, n);
+			scan += mbslen;
+		}
+		else
+#endif
+		{
+			if (len > end - scan)
+				len = end - scan;
+			(*set)(++nf, scan, (long) len, n);
+			scan += len;
+		}
 	}
 	if (len == -1)
 		*buf = end;
@@ -725,6 +774,7 @@
 NODE **
 get_field(register long requested, Func_ptr *assign)
 {
+	int in_middle = FALSE;
 	/*
 	 * if requesting whole line but some other field has been altered,
 	 * then the whole line must be rebuilt
@@ -737,7 +787,7 @@
 		    			fields_arr[0]->stlen -
 					(parse_extent - fields_arr[0]->stptr),
 		    			save_FS, FS_regexp, set_field,
-					(NODE *) NULL);
+					(NODE *) NULL, in_middle);
 				parse_high_water = NF;
 			}
 			rebuild_record();
@@ -762,9 +812,11 @@
 		 */
 		if (parse_high_water == 0)	/* starting at the beginning */
 			parse_extent = fields_arr[0]->stptr;
+		else
+			in_middle = TRUE;
 		parse_high_water = (*parse_field)(requested, &parse_extent,
 		     fields_arr[0]->stlen - (parse_extent - fields_arr[0]->stptr),
-		     save_FS, FS_regexp, set_field, (NODE *) NULL);
+		     save_FS, FS_regexp, set_field, (NODE *) NULL, in_middle);
 
 		/*
 		 * if we reached the end of the record, set NF to the number of
@@ -813,7 +865,7 @@
 	NODE *src, *arr, *sep, *fs, *src2, *fs2, *tmp;
 	char *s;
 	long (*parseit) P((long, char **, int, NODE *,
-			 Regexp *, Setfunc, NODE *));
+			 Regexp *, Setfunc, NODE *, int));
 	Regexp *rp = NULL;
 
 	src = force_string(tree_eval(tree->lnode));
@@ -832,7 +884,7 @@
 		/*
 		 * Evaluate sep if it may have side effects.
 		 */
-		if ((sep->re_flags & (FS_DFLT|CONST)) == 0)
+		if ((sep->re_flags & (FS_DFLT|CONSTANT)) == 0)
 			free_temp(tree_eval(sep->re_exp));
 		/*
 		 * And now we can safely turn off the array.
@@ -856,7 +908,7 @@
 				warned = TRUE;
 				lintwarn(_("split: null string for third arg is a gawk extension"));
 			}
-		} else if (fs->stlen == 1 && (sep->re_flags & CONST) == 0) {
+		} else if (fs->stlen == 1 && (sep->re_flags & CONSTANT) == 0) {
 			if (fs->stptr[0] == ' ') {
 				if (do_posix)
 					parseit = posix_def_parse_field;
@@ -886,7 +938,7 @@
 
 	s = src2->stptr;
 	tmp = tmp_number((AWKNUM) (*parseit)(UNLIMITED, &s, (int) src2->stlen,
-					     fs2, rp, set_element, arr));
+					     fs2, rp, set_element, arr, FALSE));
 	unref(src2);
 	unref(fs2);
 	return tmp;
diff -urN gawk-3.1.6/floatcomp.c gawk-3.1.7/floatcomp.c
--- gawk-3.1.6/floatcomp.c	2007-08-11 22:39:49.000000000 +0300
+++ gawk-3.1.7/floatcomp.c	2009-07-09 22:31:58.000000000 +0300
@@ -3,7 +3,7 @@
  */
 
 /* 
- * Copyright (C) 1986, 1988, 1989, 1991-2007 the Free Software Foundation, Inc.
+ * Copyright (C) 1986, 1988, 1989, 1991-2009 the Free Software Foundation, Inc.
  * 
  * This file is part of GAWK, the GNU implementation of the
  * AWK Programming Language.
diff -urN gawk-3.1.6/getopt.c gawk-3.1.7/getopt.c
--- gawk-3.1.6/getopt.c	2007-01-12 13:56:48.000000000 +0200
+++ gawk-3.1.7/getopt.c	2009-01-12 22:25:24.000000000 +0200
@@ -1,9 +1,8 @@
 /* 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
-   	Free Software Foundation, Inc.
+   Copyright (C) 1987-1996,1998-2004,2008 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -568,7 +567,7 @@
 #if defined _LIBC && defined USE_IN_LIBIO
 	      char *buf;
 
-	      if (__asprintf (&buf, _("%s: option `%s' is ambiguous\n"),
+	      if (__asprintf (&buf, _("%s: option '%s' is ambiguous\n"),
 			      argv[0], argv[d->optind]) >= 0)
 		{
 		  _IO_flockfile (stderr);
@@ -584,7 +583,7 @@
 		  free (buf);
 		}
 #else
-	      fprintf (stderr, _("%s: option `%s' is ambiguous\n"),
+	      fprintf (stderr, _("%s: option '%s' is ambiguous\n"),
 		       argv[0], argv[d->optind]);
 #endif
 	    }
@@ -618,11 +617,11 @@
 			  /* --option */
 #if defined _LIBC && defined USE_IN_LIBIO
 			  n = __asprintf (&buf, _("\
-%s: option `--%s' doesn't allow an argument\n"),
+%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"),
+%s: option '--%s' doesn't allow an argument\n"),
 				   argv[0], pfound->name);
 #endif
 			}
@@ -631,12 +630,12 @@
 			  /* +option or -option */
 #if defined _LIBC && defined USE_IN_LIBIO
 			  n = __asprintf (&buf, _("\
-%s: option `%c%s' doesn't allow an argument\n"),
+%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"),
+%s: option '%c%s' doesn't allow an argument\n"),
 				   argv[0], argv[d->optind - 1][0],
 				   pfound->name);
 #endif
@@ -679,7 +678,7 @@
 		      char *buf;
 
 		      if (__asprintf (&buf, _("\
-%s: option `%s' requires an argument\n"),
+%s: option '%s' requires an argument\n"),
 				      argv[0], argv[d->optind - 1]) >= 0)
 			{
 			  _IO_flockfile (stderr);
@@ -697,7 +696,7 @@
 			}
 #else
 		      fprintf (stderr,
-			       _("%s: option `%s' requires an argument\n"),
+			       _("%s: option '%s' requires an argument\n"),
 			       argv[0], argv[d->optind - 1]);
 #endif
 		    }
@@ -735,10 +734,10 @@
 		{
 		  /* --option */
 #if defined _LIBC && defined USE_IN_LIBIO
-		  n = __asprintf (&buf, _("%s: unrecognized option `--%s'\n"),
+		  n = __asprintf (&buf, _("%s: unrecognized option '--%s'\n"),
 				  argv[0], d->__nextchar);
 #else
-		  fprintf (stderr, _("%s: unrecognized option `--%s'\n"),
+		  fprintf (stderr, _("%s: unrecognized option '--%s'\n"),
 			   argv[0], d->__nextchar);
 #endif
 		}
@@ -746,10 +745,10 @@
 		{
 		  /* +option or -option */
 #if defined _LIBC && defined USE_IN_LIBIO
-		  n = __asprintf (&buf, _("%s: unrecognized option `%c%s'\n"),
+		  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"),
+		  fprintf (stderr, _("%s: unrecognized option '%c%s'\n"),
 			   argv[0], argv[d->optind][0], d->__nextchar);
 #endif
 		}
@@ -793,29 +792,16 @@
 	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)
@@ -860,12 +846,11 @@
 	  {
 	    if (print_errors)
 	      {
-		/* 1003.2 specifies the format of this message.  */
 #if defined _LIBC && defined USE_IN_LIBIO
 		char *buf;
 
 		if (__asprintf (&buf,
-				_("%s: option requires an argument -- %c\n"),
+				_("%s: option requires an argument -- '%c'\n"),
 				argv[0], c) >= 0)
 		  {
 		    _IO_flockfile (stderr);
@@ -881,7 +866,8 @@
 		    free (buf);
 		  }
 #else
-		fprintf (stderr, _("%s: option requires an argument -- %c\n"),
+		fprintf (stderr,
+			 _("%s: option requires an argument -- '%c'\n"),
 			 argv[0], c);
 #endif
 	      }
@@ -934,7 +920,7 @@
 #if defined _LIBC && defined USE_IN_LIBIO
 		char *buf;
 
-		if (__asprintf (&buf, _("%s: option `-W %s' is ambiguous\n"),
+		if (__asprintf (&buf, _("%s: option '-W %s' is ambiguous\n"),
 				argv[0], argv[d->optind]) >= 0)
 		  {
 		    _IO_flockfile (stderr);
@@ -950,7 +936,7 @@
 		    free (buf);
 		  }
 #else
-		fprintf (stderr, _("%s: option `-W %s' is ambiguous\n"),
+		fprintf (stderr, _("%s: option '-W %s' is ambiguous\n"),
 			 argv[0], argv[d->optind]);
 #endif
 	      }
@@ -975,7 +961,7 @@
 			char *buf;
 
 			if (__asprintf (&buf, _("\
-%s: option `-W %s' doesn't allow an argument\n"),
+%s: option '-W %s' doesn't allow an argument\n"),
 					argv[0], pfound->name) >= 0)
 			  {
 			    _IO_flockfile (stderr);
@@ -993,7 +979,7 @@
 			  }
 #else
 			fprintf (stderr, _("\
-%s: option `-W %s' doesn't allow an argument\n"),
+%s: option '-W %s' doesn't allow an argument\n"),
 				 argv[0], pfound->name);
 #endif
 		      }
@@ -1014,7 +1000,7 @@
 			char *buf;
 
 			if (__asprintf (&buf, _("\
-%s: option `%s' requires an argument\n"),
+%s: option '%s' requires an argument\n"),
 					argv[0], argv[d->optind - 1]) >= 0)
 			  {
 			    _IO_flockfile (stderr);
@@ -1032,7 +1018,7 @@
 			  }
 #else
 			fprintf (stderr,
-				 _("%s: option `%s' requires an argument\n"),
+				 _("%s: option '%s' requires an argument\n"),
 				 argv[0], argv[d->optind - 1]);
 #endif
 		      }
@@ -1081,12 +1067,11 @@
 	      {
 		if (print_errors)
 		  {
-		    /* 1003.2 specifies the format of this message.  */
 #if defined _LIBC && defined USE_IN_LIBIO
 		    char *buf;
 
 		    if (__asprintf (&buf, _("\
-%s: option requires an argument -- %c\n"),
+%s: option requires an argument -- '%c'\n"),
 				    argv[0], c) >= 0)
 		      {
 			_IO_flockfile (stderr);
@@ -1103,7 +1088,7 @@
 		      }
 #else
 		    fprintf (stderr,
-			     _("%s: option requires an argument -- %c\n"),
+			     _("%s: option requires an argument -- '%c'\n"),
 			     argv[0], c);
 #endif
 		  }
@@ -1200,7 +1185,7 @@
 	  break;
 
 	case 'c':
-	  printf ("option c with value `%s'\n", optarg);
+	  printf ("option c with value '%s'\n", optarg);
 	  break;
 
 	case '?':
diff -urN gawk-3.1.6/io.c gawk-3.1.7/io.c
--- gawk-3.1.6/io.c	2007-08-11 22:39:49.000000000 +0300
+++ gawk-3.1.7/io.c	2009-07-09 22:32:10.000000000 +0300
@@ -3,7 +3,7 @@
  */
 
 /* 
- * Copyright (C) 1986, 1988, 1989, 1991-2007 the Free Software Foundation, Inc.
+ * Copyright (C) 1986, 1988, 1989, 1991-2009 the Free Software Foundation, Inc.
  * 
  * This file is part of GAWK, the GNU implementation of the
  * AWK Programming Language.
@@ -206,6 +206,8 @@
 
 static int get_a_record P((char **out, IOBUF *iop, int *errcode));
 
+static void free_rp P((struct redirect *rp));
+
 #if defined(HAVE_POPEN_H)
 #include "popen.h"
 #endif
@@ -316,6 +318,11 @@
 				if (isdir && do_traditional)
 					continue;
 #endif
+				if (whiny_users) {
+					warning(_("cannot open file `%s' for reading (%s)"),
+							fname, strerror(errno));
+					continue;
+				}
 				goto give_up;
 			}
 			curfile->flag |= IOP_NOFREE_OBJ;
@@ -341,7 +348,7 @@
 	}
 	return curfile;
 
- give_up:
+give_up:
 	fatal(_("cannot open file `%s' for reading (%s)"),
 		fname, strerror(errno));
 	/* NOTREACHED */
@@ -542,6 +549,7 @@
 	int fd;
 	const char *what = NULL;
 	int isdir = FALSE;
+	int new_rp = FALSE;
 
 	switch (tree->type) {
 	case Node_redirect_append:
@@ -635,6 +643,7 @@
 	}
 
 	if (rp == NULL) {
+		new_rp = TRUE;
 		emalloc(rp, struct redirect *, sizeof(struct redirect),
 			"redirect");
 		emalloc(str, char *, tmp->stlen+1, "redirect");
@@ -646,17 +655,11 @@
 		rp->iop = NULL;
 		rp->pid = -1;
 		rp->status = 0;
-		/* maintain list in most-recently-used first order */
-		if (red_head != NULL)
-			red_head->prev = rp;
-		rp->prev = NULL;
-		rp->next = red_head;
-		red_head = rp;
 	} else
 		str = rp->value;	/* get \0 terminated string */
 
 	while (rp->fp == NULL && rp->iop == NULL) {
-		if (rp->flag & RED_EOF)
+		if (! new_rp && rp->flag & RED_EOF)
 			/*
 			 * encountered EOF on file or pipe -- must be cleared
 			 * by explicit close() before reading more
@@ -694,8 +697,11 @@
 		case Node_redirect_input:
 			direction = "from";
 			rp->iop = iop_open(str, binmode("r"), NULL, & isdir);
-			if (isdir)
-				fatal(_("file `%s' is a directory"), str);
+			if (isdir) {
+				*errflg = EISDIR;
+				free_rp(rp);
+				return NULL;
+			}
 			break;
 		case Node_redirect_twoway:
 			direction = "to/from";
@@ -741,8 +747,9 @@
 				}
 				if (rp->fp != NULL && isatty(fd))
 					rp->flag |= RED_NOBUF;
+
 				/* Move rp to the head of the list. */
-				if (red_head != rp) {
+				if (! new_rp && red_head != rp) {
 					if ((rp->prev->next = rp->next) != NULL)
 						rp->next->prev = rp->prev;
 					red_head->prev = rp;
@@ -790,12 +797,26 @@
 							str, strerror(errno));
 				} else {
 					free_temp(tmp);
+					free_rp(rp);
 					return NULL;
 				}
 			}
 		}
 	}
 	free_temp(tmp);
+
+	if (new_rp) {
+		/*
+		 * It opened successfully, hook it into the list.
+		 * Maintain the list in most-recently-used first order.
+		 */
+		if (red_head != NULL)
+			red_head->prev = rp;
+		rp->prev = NULL;
+		rp->next = red_head;
+		red_head = rp;
+	}
+
 	return rp;
 }
 
@@ -889,10 +910,12 @@
 			lintwarn(_("close: `%.*s' is not an open file, pipe or co-process"),
 				(int) tmp->stlen, tmp->stptr);
 
-		/* update ERRNO manually, using errno = ENOENT is a stretch. */
-		cp = _("close of redirection that was never opened");
-		unref(ERRNO_node->var_value);
-		ERRNO_node->var_value = make_string(cp, strlen(cp));
+		if (! do_traditional) {
+			/* update ERRNO manually, using errno = ENOENT is a stretch. */
+			cp = _("close of redirection that was never opened");
+			unref(ERRNO_node->var_value);
+			ERRNO_node->var_value = make_string(cp, strlen(cp));
+		}
 
 		free_temp(tmp);
 		return tmp_number((AWKNUM) -1.0);
@@ -1046,8 +1069,7 @@
 			rp->prev->next = rp->next;
 		else
 			red_head = rp->next;
-		free(rp->value);
-		free((char *) rp);
+		free_rp(rp);
 	}
 
 	return status;
@@ -1208,7 +1230,7 @@
 		rhints.ai_family = lhints.ai_family;
 		rhints.ai_protocol = lhints.ai_protocol;
 
-		rerror = getaddrinfo (remotehostname, remotepname, &rhints, &rres);
+		rerror = getaddrinfo (any_remote_host ? NULL : remotehostname, remotepname, &rhints, &rres);
 		if (rerror) {
 			if (lres0 != NULL)
 				freeaddrinfo(lres0);
@@ -1432,7 +1454,31 @@
 			fatal(_("must supply a remote port to `/inet'"));
 		}
 
-		openfd = socketopen(protocol, localpname, cp, hostname);
+		{
+#define DEFAULT_RETRIES 20
+			static unsigned long def_retries = DEFAULT_RETRIES;
+			static int first_time = TRUE;
+			unsigned long retries = 0;
+
+			if (first_time) {
+				char *cp, *end;
+				unsigned long count = 0;
+
+				first_time = FALSE;
+				if ((cp = getenv("GAWK_SOCK_RETRIES")) != NULL) {
+					count = strtoul(cp, &end, 10);
+					if (end != cp && count > 0)
+						def_retries = count;
+				}
+			}
+			retries = def_retries;
+
+			do {
+				openfd = socketopen(protocol, localpname, cp, hostname);
+				retries--;
+			} while (openfd == INVALID_HANDLE && retries >= 0 && sleep(1) == 0);
+		}
+
 		*localpnamelastcharp = '/';
 		*hostnameslastcharp = '/';
 #else /* ! HAVE_SOCKETS */
@@ -1724,22 +1770,24 @@
 		pid_t pid;
 		struct stat statb;
 		struct termios st;
+		/* Use array of chars to avoid ascii / ebcdic issues */
+		static char pty_chars[] = "pqrstuvwxyzabcdefghijklmno";
+		int i;
 
 		if (! initialized) {
 			initialized = TRUE;
 #ifdef HAVE_GRANTPT
 			have_dev_ptmx = (stat("/dev/ptmx", &statb) >= 0);
 #endif
-			c = 'p';
+			i = 0;
 			do {
+				c = pty_chars[i++];
 				sprintf(slavenam, "/dev/pty%c0", c);
 				if (stat(slavenam, &statb) >= 0) {
 					first_pty_letter = c;
 					break;
 				}
-				if (++c > 'z')
-					c = 'a';
-			} while (c != 'p');
+			} while (pty_chars[i] != '\0');
 		}
 
 #ifdef HAVE_GRANTPT
@@ -1770,6 +1818,8 @@
 			c = first_pty_letter;
 			do {
 				int i;
+				char *cp;
+
 				for (i = 0; i < 16; i++) {
 					sprintf(slavenam, "/dev/pty%c%x", c, i);
 					if (stat(slavenam, &statb) < 0) {
@@ -1784,8 +1834,13 @@
 						close(master);
 					}
 				}
-				if (++c > 'z')
-				c = 'a';
+				/* move to next character */
+				cp = strchr(pty_chars, c);
+				if (cp[1] != '\0')
+					cp++;
+				else
+					cp = pty_chars;
+				c = *cp;
 			} while (c != first_pty_letter);
 		} else
 			no_ptys = TRUE;
@@ -2484,7 +2539,7 @@
 fatal(const char *s)
 {
 	printf("%s\n", s);
-	exit(1);
+	exit(EXIT_FAILURE);
 }
 #endif
 
@@ -3231,3 +3286,12 @@
 
 	return genflags2str(flag, values);
 }
+
+/* free_rp --- release the memory used by rp */
+
+static void
+free_rp(struct redirect *rp)
+{
+	free(rp->value);
+	free(rp);
+}
diff -urN gawk-3.1.6/m4/ChangeLog gawk-3.1.7/m4/ChangeLog
--- gawk-3.1.6/m4/ChangeLog	2007-10-22 08:49:39.000000000 +0200
+++ gawk-3.1.7/m4/ChangeLog	2009-07-21 22:29:21.000000000 +0300
@@ -1,3 +1,19 @@
+Tue Jul 21 22:28:56 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* Release 3.1.7: Release tar file made.
+
+2009-06-08  gettextize  <bug-gnu-gettext@gnu.org>
+
+	* gettext.m4: Upgrade to gettext-0.17.
+	* iconv.m4: Upgrade to gettext-0.17.
+	* lib-link.m4: Upgrade to gettext-0.17.
+	* po.m4: Upgrade to gettext-0.17.
+
+Mon Jun  8 22:15:29 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* libtool.m4, lt~obsolete.m4 ltsugar.m4 ltversion.m4,
+	ltoptions.m4: New files.
+
 Mon Oct 22 08:49:05 2007  Arnold D. Robbins  <arnold@skeeve.com>
 
 	* Release 3.1.6: Release tar file made.
diff -urN gawk-3.1.6/m4/arch.m4 gawk-3.1.7/m4/arch.m4
--- gawk-3.1.6/m4/arch.m4	2007-08-11 22:39:49.000000000 +0300
+++ gawk-3.1.7/m4/arch.m4	2008-01-25 12:11:22.000000000 +0200
@@ -57,3 +57,18 @@
 ])dnl
 AC_MSG_RESULT([${gawk_cv_linux_alpha_hack}])
 ])dnl
+
+dnl Check for z/OS Unix Systems Services
+AC_DEFUN([AC_ZOS_USS], [
+AC_MSG_CHECKING([for z/OS USS compilation])
+if test "OS/390" = "`uname`"
+then
+  CFLAGS="$CFLAGS -D_ALL_SOURCE -DZOS_USS -DUSE_EBCDIC"
+  # Must rebuild awkgram.c from Bison for EBCDIC
+  rm -f awkgram.c
+  ac_cv_zos_uss=yes
+else
+  ac_cv_zos_uss=no
+fi
+AC_MSG_RESULT([${ac_cv_zos_uss}])
+])dnl
diff -urN gawk-3.1.6/m4/gettext.m4 gawk-3.1.7/m4/gettext.m4
--- gawk-3.1.6/m4/gettext.m4	2007-01-12 12:21:16.000000000 +0200
+++ gawk-3.1.7/m4/gettext.m4	2009-06-08 23:07:44.000000000 +0300
@@ -1,5 +1,5 @@
-# gettext.m4 serial 59 (gettext-0.16.1)
-dnl Copyright (C) 1995-2006 Free Software Foundation, Inc.
+# gettext.m4 serial 60 (gettext-0.17)
+dnl Copyright (C) 1995-2007 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.
@@ -362,44 +362,6 @@
 ])
 
 
-dnl Checks for special options needed on MacOS X.
-dnl Defines INTL_MACOSX_LIBS.
-AC_DEFUN([gt_INTL_MACOSX],
-[
-  dnl Check for API introduced in MacOS X 10.2.
-  AC_CACHE_CHECK([for CFPreferencesCopyAppValue],
-    gt_cv_func_CFPreferencesCopyAppValue,
-    [gt_save_LIBS="$LIBS"
-     LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
-     AC_TRY_LINK([#include <CoreFoundation/CFPreferences.h>],
-       [CFPreferencesCopyAppValue(NULL, NULL)],
-       [gt_cv_func_CFPreferencesCopyAppValue=yes],
-       [gt_cv_func_CFPreferencesCopyAppValue=no])
-     LIBS="$gt_save_LIBS"])
-  if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then
-    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,
-    [gt_save_LIBS="$LIBS"
-     LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
-     AC_TRY_LINK([#include <CoreFoundation/CFLocale.h>], [CFLocaleCopyCurrent();],
-       [gt_cv_func_CFLocaleCopyCurrent=yes],
-       [gt_cv_func_CFLocaleCopyCurrent=no])
-     LIBS="$gt_save_LIBS"])
-  if test $gt_cv_func_CFLocaleCopyCurrent = yes; then
-    AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], 1,
-      [Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework.])
-  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
-  AC_SUBST([INTL_MACOSX_LIBS])
-])
-
-
 dnl gt_NEEDS_INIT ensures that the gt_needs variable is initialized.
 m4_define([gt_NEEDS_INIT],
 [
diff -urN gawk-3.1.6/m4/iconv.m4 gawk-3.1.7/m4/iconv.m4
--- gawk-3.1.6/m4/iconv.m4	2006-08-11 15:05:48.000000000 +0300
+++ gawk-3.1.7/m4/iconv.m4	2009-06-08 23:07:44.000000000 +0300
@@ -1,5 +1,5 @@
-# iconv.m4 serial AM4 (gettext-0.11.3)
-dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
+# iconv.m4 serial AM6 (gettext-0.17)
+dnl Copyright (C) 2000-2002, 2007 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.
@@ -21,6 +21,7 @@
 [
   dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
   dnl those with the standalone portable GNU libiconv installed).
+  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
 
   dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
   dnl accordingly.
@@ -33,7 +34,7 @@
   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>
@@ -56,7 +57,85 @@
     fi
   ])
   if test "$am_cv_func_iconv" = yes; then
-    AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.])
+    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.
+      am_save_LIBS="$LIBS"
+      if test $am_cv_lib_iconv = yes; then
+        LIBS="$LIBS $LIBICONV"
+      fi
+      AC_TRY_RUN([
+#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;
+  return 0;
+}], [am_cv_func_iconv_works=yes], [am_cv_func_iconv_works=no],
+        [case "$host_os" in
+           aix* | hpux*) am_cv_func_iconv_works="guessing no" ;;
+           *)            am_cv_func_iconv_works="guessing yes" ;;
+         esac])
+      LIBS="$am_save_LIBS"
+    ])
+    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
+    AC_DEFINE(HAVE_ICONV, 1,
+      [Define if you have the iconv() function and it works.])
   fi
   if test "$am_cv_lib_iconv" = yes; then
     AC_MSG_CHECKING([how to link with libiconv])
diff -urN gawk-3.1.6/m4/inttypes.m4 gawk-3.1.7/m4/inttypes.m4
--- gawk-3.1.6/m4/inttypes.m4	2006-08-11 15:05:48.000000000 +0300
+++ gawk-3.1.7/m4/inttypes.m4	2008-01-25 12:11:22.000000000 +0200
@@ -11,15 +11,20 @@
 
 AC_DEFUN([gt_HEADER_INTTYPES_H],
 [
-  AC_CACHE_CHECK([for inttypes.h], gt_cv_header_inttypes_h,
-  [
-    AC_TRY_COMPILE(
-      [#include <sys/types.h>
+  if test "OS/390" = "`uname`"
+  then
+    gt_cv_header_inttypes_h=no
+  else
+    AC_CACHE_CHECK([for inttypes.h], gt_cv_header_inttypes_h,
+    [
+      AC_TRY_COMPILE(
+        [#include <sys/types.h>
 #include <inttypes.h>],
-      [], gt_cv_header_inttypes_h=yes, gt_cv_header_inttypes_h=no)
-  ])
-  if test $gt_cv_header_inttypes_h = yes; then
-    AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H, 1,
-      [Define if <inttypes.h> exists and doesn't clash with <sys/types.h>.])
+        [], gt_cv_header_inttypes_h=yes, gt_cv_header_inttypes_h=no)
+    ])
+    if test $gt_cv_header_inttypes_h = yes; then
+      AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H, 1,
+        [Define if <inttypes.h> exists and doesn't clash with <sys/types.h>.])
+    fi
   fi
 ])
diff -urN gawk-3.1.6/m4/inttypes_h.m4 gawk-3.1.7/m4/inttypes_h.m4
--- gawk-3.1.6/m4/inttypes_h.m4	2007-01-12 12:21:35.000000000 +0200
+++ gawk-3.1.7/m4/inttypes_h.m4	2008-01-25 12:11:22.000000000 +0200
@@ -11,16 +11,21 @@
 
 AC_DEFUN([gl_AC_HEADER_INTTYPES_H],
 [
-  AC_CACHE_CHECK([for inttypes.h], gl_cv_header_inttypes_h,
-  [AC_TRY_COMPILE(
-    [#include <sys/types.h>
+  if test "OS/390" = "`uname`"
+  then
+      gl_cv_header_inttypes_h=no
+  else
+    AC_CACHE_CHECK([for inttypes.h], gl_cv_header_inttypes_h,
+    [AC_TRY_COMPILE(
+      [#include <sys/types.h>
 #include <inttypes.h>],
-    [uintmax_t i = (uintmax_t) -1; return !i;],
-    gl_cv_header_inttypes_h=yes,
-    gl_cv_header_inttypes_h=no)])
-  if test $gl_cv_header_inttypes_h = yes; then
-    AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H_WITH_UINTMAX, 1,
-      [Define if <inttypes.h> exists, doesn't clash with <sys/types.h>,
-       and declares uintmax_t. ])
+      [uintmax_t i = (uintmax_t) -1; return !i;],
+      gl_cv_header_inttypes_h=yes,
+      gl_cv_header_inttypes_h=no)])
+    if test $gl_cv_header_inttypes_h = yes; then
+      AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H_WITH_UINTMAX, 1,
+        [Define if <inttypes.h> exists, doesn't clash with <sys/types.h>,
+         and declares uintmax_t. ])
+    fi
   fi
 ])
diff -urN gawk-3.1.6/m4/lib-link.m4 gawk-3.1.7/m4/lib-link.m4
--- gawk-3.1.6/m4/lib-link.m4	2007-01-12 12:21:40.000000000 +0200
+++ gawk-3.1.7/m4/lib-link.m4	2009-06-08 23:07:44.000000000 +0300
@@ -1,17 +1,19 @@
-# lib-link.m4 serial 9 (gettext-0.16)
-dnl Copyright (C) 2001-2006 Free Software Foundation, Inc.
+# lib-link.m4 serial 13 (gettext-0.17)
+dnl Copyright (C) 2001-2007 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.50)
+AC_PREREQ(2.54)
 
 dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
 dnl the libraries corresponding to explicit and implicit dependencies.
 dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and
 dnl augments the CPPFLAGS variable.
+dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname
+dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
 AC_DEFUN([AC_LIB_LINKFLAGS],
 [
   AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
@@ -24,13 +26,16 @@
     ac_cv_lib[]Name[]_libs="$LIB[]NAME"
     ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
     ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
+    ac_cv_lib[]Name[]_prefix="$LIB[]NAME[]_PREFIX"
   ])
   LIB[]NAME="$ac_cv_lib[]Name[]_libs"
   LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
   INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
+  LIB[]NAME[]_PREFIX="$ac_cv_lib[]Name[]_prefix"
   AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
   AC_SUBST([LIB]NAME)
   AC_SUBST([LTLIB]NAME)
+  AC_SUBST([LIB]NAME[_PREFIX])
   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
@@ -46,6 +51,8 @@
 dnl 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
+dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
 AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
 [
   AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
@@ -82,17 +89,23 @@
     CPPFLAGS="$ac_save_CPPFLAGS"
     LIB[]NAME=
     LTLIB[]NAME=
+    LIB[]NAME[]_PREFIX=
   fi
   AC_SUBST([HAVE_LIB]NAME)
   AC_SUBST([LIB]NAME)
   AC_SUBST([LTLIB]NAME)
+  AC_SUBST([LIB]NAME[_PREFIX])
   undefine([Name])
   undefine([NAME])
 ])
 
 dnl Determine the platform dependent parameters needed to use rpath:
-dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator,
-dnl hardcode_direct, hardcode_minus_L.
+dnl   acl_libext,
+dnl   acl_shlibext,
+dnl   acl_hardcode_libdir_flag_spec,
+dnl   acl_hardcode_libdir_separator,
+dnl   acl_hardcode_direct,
+dnl   acl_hardcode_minus_L.
 AC_DEFUN([AC_LIB_RPATH],
 [
   dnl Tell automake >= 1.10 to complain if config.rpath is missing.
@@ -109,12 +122,14 @@
     acl_cv_rpath=done
   ])
   wl="$acl_cv_wl"
-  libext="$acl_cv_libext"
-  shlibext="$acl_cv_shlibext"
-  hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
-  hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
-  hardcode_direct="$acl_cv_hardcode_direct"
-  hardcode_minus_L="$acl_cv_hardcode_minus_L"
+  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"
   dnl Determine whether the user wants rpath handling at all.
   AC_ARG_ENABLE(rpath,
     [  --disable-rpath         do not hardcode runtime library paths],
@@ -124,20 +139,24 @@
 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.
+dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found
+dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
 AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
 [
   AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
   define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-],
                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])])
+  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])])
   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$1-prefix],
-[  --with-lib$1-prefix[=DIR]  search for lib$1 in DIR/include and DIR/lib
-  --without-lib$1-prefix     don't search for lib$1 in includedir and 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],
 [
     if test "X$withval" = "Xno"; then
       use_additional=no
@@ -158,6 +177,7 @@
   LIB[]NAME=
   LTLIB[]NAME=
   INC[]NAME=
+  LIB[]NAME[]_PREFIX=
   rpathdirs=
   ltrpathdirs=
   names_already_handled=
@@ -197,27 +217,53 @@
           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
-            if test -n "$shlibext" \
-               && { test -f "$additional_libdir/lib$name.$shlibext" \
-                    || { test "$shlibext" = dll \
-                         && test -f "$additional_libdir/lib$name.dll.a"; }; }; then
-              found_dir="$additional_libdir"
-              if test -f "$additional_libdir/lib$name.$shlibext"; then
-                found_so="$additional_libdir/lib$name.$shlibext"
+            dir="$additional_libdir"
+            dnl The same code as in the loop below:
+            dnl First look for a shared library.
+            if test -n "$acl_shlibext"; then
+              if test -f "$dir/$libname$shrext"; then
+                found_dir="$dir"
+                found_so="$dir/$libname$shrext"
               else
-                found_so="$additional_libdir/lib$name.dll.a"
+                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
-              if test -f "$additional_libdir/lib$name.la"; then
-                found_la="$additional_libdir/lib$name.la"
+            fi
+            dnl Then look for a static library.
+            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
-            else
-              if test -f "$additional_libdir/lib$name.$libext"; then
-                found_dir="$additional_libdir"
-                found_a="$additional_libdir/lib$name.$libext"
-                if test -f "$additional_libdir/lib$name.la"; then
-                  found_la="$additional_libdir/lib$name.la"
-                fi
+            fi
+            if test "X$found_dir" != "X"; then
+              if test -f "$dir/$libname.la"; then
+                found_la="$dir/$libname.la"
               fi
             fi
           fi
@@ -227,26 +273,44 @@
               case "$x" in
                 -L*)
                   dir=`echo "X$x" | sed -e 's/^X-L//'`
-                  if test -n "$shlibext" \
-                     && { test -f "$dir/lib$name.$shlibext" \
-                          || { test "$shlibext" = dll \
-                               && test -f "$dir/lib$name.dll.a"; }; }; then
-                    found_dir="$dir"
-                    if test -f "$dir/lib$name.$shlibext"; then
-                      found_so="$dir/lib$name.$shlibext"
+                  dnl First look for a shared library.
+                  if test -n "$acl_shlibext"; then
+                    if test -f "$dir/$libname$shrext"; then
+                      found_dir="$dir"
+                      found_so="$dir/$libname$shrext"
                     else
-                      found_so="$dir/lib$name.dll.a"
-                    fi
-                    if test -f "$dir/lib$name.la"; then
-                      found_la="$dir/lib$name.la"
+                      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
-                  else
-                    if test -f "$dir/lib$name.$libext"; then
+                  fi
+                  dnl Then look for a static library.
+                  if test "X$found_dir" = "X"; then
+                    if test -f "$dir/$libname.$acl_libext"; then
                       found_dir="$dir"
-                      found_a="$dir/lib$name.$libext"
-                      if test -f "$dir/lib$name.la"; then
-                        found_la="$dir/lib$name.la"
-                      fi
+                      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
                   ;;
@@ -282,12 +346,12 @@
                   ltrpathdirs="$ltrpathdirs $found_dir"
                 fi
                 dnl The hardcoding into $LIBNAME is system dependent.
-                if test "$hardcode_direct" = yes; then
+                if test "$acl_hardcode_direct" = yes; then
                   dnl Using DIR/libNAME.so during linking hardcodes DIR into the
                   dnl resulting binary.
                   LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
                 else
-                  if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
+                  if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
                     dnl Use an explicit option to hardcode DIR into the resulting
                     dnl binary.
                     LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
@@ -318,13 +382,13 @@
                     if test -z "$haveit"; then
                       LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"
                     fi
-                    if test "$hardcode_minus_L" != no; then
+                    if test "$acl_hardcode_minus_L" != no; then
                       dnl FIXME: Not sure whether we should use
                       dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
                       dnl here.
                       LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
                     else
-                      dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH
+                      dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH
                       dnl here, because this doesn't fit in flags passed to the
                       dnl compiler. So give up. No hardcoding. This affects only
                       dnl very old systems.
@@ -351,6 +415,7 @@
             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"
                 additional_includedir="$basedir/include"
                 ;;
             esac
@@ -512,18 +577,18 @@
     done
   done
   if test "X$rpathdirs" != "X"; then
-    if test -n "$hardcode_libdir_separator"; then
+    if test -n "$acl_hardcode_libdir_separator"; then
       dnl Weird platform: only the last -rpath option counts, the user must
       dnl pass all path elements in one option. We can arrange that for a
       dnl single library, but not when more than one $LIBNAMEs are used.
       alldirs=
       for found_dir in $rpathdirs; do
-        alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir"
+        alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
       done
-      dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl.
+      dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl.
       acl_save_libdir="$libdir"
       libdir="$alldirs"
-      eval flag=\"$hardcode_libdir_flag_spec\"
+      eval flag=\"$acl_hardcode_libdir_flag_spec\"
       libdir="$acl_save_libdir"
       LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
     else
@@ -531,7 +596,7 @@
       for found_dir in $rpathdirs; do
         acl_save_libdir="$libdir"
         libdir="$found_dir"
-        eval flag=\"$hardcode_libdir_flag_spec\"
+        eval flag=\"$acl_hardcode_libdir_flag_spec\"
         libdir="$acl_save_libdir"
         LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
       done
@@ -580,7 +645,7 @@
   AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
   $1=
   if test "$enable_rpath" != no; then
-    if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then
+    if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
       dnl Use an explicit option to hardcode directories into the resulting
       dnl binary.
       rpathdirs=
@@ -614,16 +679,16 @@
           done
         else
           dnl The linker is used for linking directly.
-          if test -n "$hardcode_libdir_separator"; then
+          if test -n "$acl_hardcode_libdir_separator"; then
             dnl Weird platform: only the last -rpath option counts, the user
             dnl must pass all path elements in one option.
             alldirs=
             for dir in $rpathdirs; do
-              alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$dir"
+              alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir"
             done
             acl_save_libdir="$libdir"
             libdir="$alldirs"
-            eval flag=\"$hardcode_libdir_flag_spec\"
+            eval flag=\"$acl_hardcode_libdir_flag_spec\"
             libdir="$acl_save_libdir"
             $1="$flag"
           else
@@ -631,7 +696,7 @@
             for dir in $rpathdirs; do
               acl_save_libdir="$libdir"
               libdir="$dir"
-              eval flag=\"$hardcode_libdir_flag_spec\"
+              eval flag=\"$acl_hardcode_libdir_flag_spec\"
               libdir="$acl_save_libdir"
               $1="${$1}${$1:+ }$flag"
             done
diff -urN gawk-3.1.6/m4/libtool.m4 gawk-3.1.7/m4/libtool.m4
--- gawk-3.1.6/m4/libtool.m4	1970-01-01 02:00:00.000000000 +0200
+++ gawk-3.1.7/m4/libtool.m4	2009-06-08 21:49:24.000000000 +0300
@@ -0,0 +1,7357 @@
+# 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.
+#   Written by Gordon Matzigkeit, 1996
+#
+# 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.
+
+m4_define([_LT_COPYING], [dnl
+#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+#                 2006, 2007, 2008 Free Software Foundation, Inc.
+#   Written by Gordon Matzigkeit, 1996
+#
+#   This file is part of GNU Libtool.
+#
+# GNU Libtool is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# As a special exception to the GNU General Public License,
+# if you distribute this file as part of a program or library that
+# is built using GNU Libtool, you may include this file under the
+# same distribution terms that you use for the rest of that program.
+#
+# GNU Libtool is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Libtool; see the file COPYING.  If not, a copy
+# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
+# obtained by writing to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+])
+
+# serial 56 LT_INIT
+
+
+# LT_PREREQ(VERSION)
+# ------------------
+# Complain and exit if this libtool version is less that VERSION.
+m4_defun([LT_PREREQ],
+[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
+       [m4_default([$3],
+		   [m4_fatal([Libtool version $1 or higher is required],
+		             63)])],
+       [$2])])
+
+
+# _LT_CHECK_BUILDDIR
+# ------------------
+# Complain if the absolute build directory name contains unusual characters
+m4_defun([_LT_CHECK_BUILDDIR],
+[case `pwd` in
+  *\ * | *\	*)
+    AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
+esac
+])
+
+
+# LT_INIT([OPTIONS])
+# ------------------
+AC_DEFUN([LT_INIT],
+[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
+AC_BEFORE([$0], [LT_LANG])dnl
+AC_BEFORE([$0], [LT_OUTPUT])dnl
+AC_BEFORE([$0], [LTDL_INIT])dnl
+m4_require([_LT_CHECK_BUILDDIR])dnl
+
+dnl Autoconf doesn't catch unexpanded LT_ macros by default:
+m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
+m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
+dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
+dnl unless we require an AC_DEFUNed macro:
+AC_REQUIRE([LTOPTIONS_VERSION])dnl
+AC_REQUIRE([LTSUGAR_VERSION])dnl
+AC_REQUIRE([LTVERSION_VERSION])dnl
+AC_REQUIRE([LTOBSOLETE_VERSION])dnl
+m4_require([_LT_PROG_LTMAIN])dnl
+
+dnl Parse OPTIONS
+_LT_SET_OPTIONS([$0], [$1])
+
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS="$ltmain"
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+AC_SUBST(LIBTOOL)dnl
+
+_LT_SETUP
+
+# Only expand once:
+m4_define([LT_INIT])
+])# LT_INIT
+
+# Old names:
+AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
+AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
+dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
+
+
+# _LT_CC_BASENAME(CC)
+# -------------------
+# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
+m4_defun([_LT_CC_BASENAME],
+[for cc_temp in $1""; 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-%%"`
+])
+
+
+# _LT_FILEUTILS_DEFAULTS
+# ----------------------
+# It is okay to use these file commands and assume they have been set
+# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'.
+m4_defun([_LT_FILEUTILS_DEFAULTS],
+[: ${CP="cp -f"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+])# _LT_FILEUTILS_DEFAULTS
+
+
+# _LT_SETUP
+# ---------
+m4_defun([_LT_SETUP],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+_LT_DECL([], [host_alias], [0], [The host system])dnl
+_LT_DECL([], [host], [0])dnl
+_LT_DECL([], [host_os], [0])dnl
+dnl
+_LT_DECL([], [build_alias], [0], [The build system])dnl
+_LT_DECL([], [build], [0])dnl
+_LT_DECL([], [build_os], [0])dnl
+dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([LT_PATH_LD])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+dnl
+AC_REQUIRE([AC_PROG_LN_S])dnl
+test -z "$LN_S" && LN_S="ln -s"
+_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
+dnl
+AC_REQUIRE([LT_CMD_MAX_LEN])dnl
+_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
+_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
+dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_CHECK_SHELL_FEATURES])dnl
+m4_require([_LT_CMD_RELOAD])dnl
+m4_require([_LT_CHECK_MAGIC_METHOD])dnl
+m4_require([_LT_CMD_OLD_ARCHIVE])dnl
+m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
+
+_LT_CONFIG_LIBTOOL_INIT([
+# See if we are running on zsh, and set the options which allow our
+# commands through without removal of \ escapes INIT.
+if test -n "\${ZSH_VERSION+set}" ; then
+   setopt NO_GLOB_SUBST
+fi
+])
+if test -n "${ZSH_VERSION+set}" ; then
+   setopt NO_GLOB_SUBST
+fi
+
+_LT_CHECK_OBJDIR
+
+m4_require([_LT_TAG_COMPILER])dnl
+_LT_PROG_ECHO_BACKSLASH
+
+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
+
+# 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
+
+# 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"
+
+old_CC="$CC"
+old_CFLAGS="$CFLAGS"
+
+# 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
+
+_LT_CC_BASENAME([$compiler])
+
+# 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
+    _LT_PATH_MAGIC
+  fi
+  ;;
+esac
+
+# Use C for the default configuration in the libtool script
+LT_SUPPORTED_TAG([CC])
+_LT_LANG_C_CONFIG
+_LT_LANG_DEFAULT_CONFIG
+_LT_CONFIG_COMMANDS
+])# _LT_SETUP
+
+
+# _LT_PROG_LTMAIN
+# ---------------
+# Note that this code is called both from `configure', and `config.status'
+# now that we use AC_CONFIG_COMMANDS to generate libtool.  Notably,
+# `config.status' has no value for ac_aux_dir unless we are using Automake,
+# so we pass a copy along to make sure it has a sensible value anyway.
+m4_defun([_LT_PROG_LTMAIN],
+[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
+_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
+ltmain="$ac_aux_dir/ltmain.sh"
+])# _LT_PROG_LTMAIN
+
+
+## ------------------------------------- ##
+## Accumulate code for creating libtool. ##
+## ------------------------------------- ##
+
+# So that we can recreate a full libtool script including additional
+# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
+# in macros and then make a single call at the end using the `libtool'
+# label.
+
+
+# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
+# ----------------------------------------
+# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
+m4_define([_LT_CONFIG_LIBTOOL_INIT],
+[m4_ifval([$1],
+          [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
+                     [$1
+])])])
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_INIT])
+
+
+# _LT_CONFIG_LIBTOOL([COMMANDS])
+# ------------------------------
+# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
+m4_define([_LT_CONFIG_LIBTOOL],
+[m4_ifval([$1],
+          [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
+                     [$1
+])])])
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
+
+
+# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
+# -----------------------------------------------------
+m4_defun([_LT_CONFIG_SAVE_COMMANDS],
+[_LT_CONFIG_LIBTOOL([$1])
+_LT_CONFIG_LIBTOOL_INIT([$2])
+])
+
+
+# _LT_FORMAT_COMMENT([COMMENT])
+# -----------------------------
+# Add leading comment marks to the start of each line, and a trailing
+# full-stop to the whole comment if one is not present already.
+m4_define([_LT_FORMAT_COMMENT],
+[m4_ifval([$1], [
+m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
+              [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
+)])
+
+
+
+## ------------------------ ##
+## FIXME: Eliminate VARNAME ##
+## ------------------------ ##
+
+
+# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
+# -------------------------------------------------------------------
+# CONFIGNAME is the name given to the value in the libtool script.
+# VARNAME is the (base) name used in the configure script.
+# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
+# VARNAME.  Any other value will be used directly.
+m4_define([_LT_DECL],
+[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
+    [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
+	[m4_ifval([$1], [$1], [$2])])
+    lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
+    m4_ifval([$4],
+	[lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
+    lt_dict_add_subkey([lt_decl_dict], [$2],
+	[tagged?], [m4_ifval([$5], [yes], [no])])])
+])
+
+
+# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
+# --------------------------------------------------------
+m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
+
+
+# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
+# ------------------------------------------------
+m4_define([lt_decl_tag_varnames],
+[_lt_decl_filter([tagged?], [yes], $@)])
+
+
+# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
+# ---------------------------------------------------------
+m4_define([_lt_decl_filter],
+[m4_case([$#],
+  [0], [m4_fatal([$0: too few arguments: $#])],
+  [1], [m4_fatal([$0: too few arguments: $#: $1])],
+  [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
+  [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
+  [lt_dict_filter([lt_decl_dict], $@)])[]dnl
+])
+
+
+# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
+# --------------------------------------------------
+m4_define([lt_decl_quote_varnames],
+[_lt_decl_filter([value], [1], $@)])
+
+
+# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
+# ---------------------------------------------------
+m4_define([lt_decl_dquote_varnames],
+[_lt_decl_filter([value], [2], $@)])
+
+
+# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
+# ---------------------------------------------------
+m4_define([lt_decl_varnames_tagged],
+[m4_assert([$# <= 2])dnl
+_$0(m4_quote(m4_default([$1], [[, ]])),
+    m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
+    m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
+m4_define([_lt_decl_varnames_tagged],
+[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
+
+
+# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
+# ------------------------------------------------
+m4_define([lt_decl_all_varnames],
+[_$0(m4_quote(m4_default([$1], [[, ]])),
+     m4_if([$2], [],
+	   m4_quote(lt_decl_varnames),
+	m4_quote(m4_shift($@))))[]dnl
+])
+m4_define([_lt_decl_all_varnames],
+[lt_join($@, lt_decl_varnames_tagged([$1],
+			lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
+])
+
+
+# _LT_CONFIG_STATUS_DECLARE([VARNAME])
+# ------------------------------------
+# Quote a variable value, and forward it to `config.status' so that its
+# 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"`'])
+
+
+# _LT_CONFIG_STATUS_DECLARATIONS
+# ------------------------------
+# We delimit libtool config variables with single quotes, so when
+# we write them to config.status, we have to be sure to quote all
+# 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"`'
+m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
+[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
+    [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
+
+
+# _LT_LIBTOOL_TAGS
+# ----------------
+# Output comment and list of tags supported by the script
+m4_defun([_LT_LIBTOOL_TAGS],
+[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
+available_tags="_LT_TAGS"dnl
+])
+
+
+# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
+# -----------------------------------
+# Extract the dictionary values for VARNAME (optionally with TAG) and
+# expand to a commented shell variable setting:
+#
+#    # Some comment about what VAR is for.
+#    visible_name=$lt_internal_name
+m4_define([_LT_LIBTOOL_DECLARE],
+[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
+					   [description])))[]dnl
+m4_pushdef([_libtool_name],
+    m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
+m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
+    [0], [_libtool_name=[$]$1],
+    [1], [_libtool_name=$lt_[]$1],
+    [2], [_libtool_name=$lt_[]$1],
+    [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
+m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
+])
+
+
+# _LT_LIBTOOL_CONFIG_VARS
+# -----------------------
+# Produce commented declarations of non-tagged libtool config variables
+# suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
+# script.  Tagged libtool config variables (even for the LIBTOOL CONFIG
+# section) are produced by _LT_LIBTOOL_TAG_VARS.
+m4_defun([_LT_LIBTOOL_CONFIG_VARS],
+[m4_foreach([_lt_var],
+    m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
+    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
+
+
+# _LT_LIBTOOL_TAG_VARS(TAG)
+# -------------------------
+m4_define([_LT_LIBTOOL_TAG_VARS],
+[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
+    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
+
+
+# _LT_TAGVAR(VARNAME, [TAGNAME])
+# ------------------------------
+m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
+
+
+# _LT_CONFIG_COMMANDS
+# -------------------
+# Send accumulated output to $CONFIG_STATUS.  Thanks to the lists of
+# variables for single and double quote escaping we saved from calls
+# to _LT_DECL, we can put quote escaped variables declarations
+# into `config.status', and then the shell code to quote escape them in
+# for loops in `config.status'.  Finally, any additional code accumulated
+# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
+m4_defun([_LT_CONFIG_COMMANDS],
+[AC_PROVIDE_IFELSE([LT_OUTPUT],
+	dnl If the libtool generation code has been placed in $CONFIG_LT,
+	dnl instead of duplicating it all over again into config.status,
+	dnl then we will have config.status run $CONFIG_LT later, so it
+	dnl needs to know what name is stored there:
+        [AC_CONFIG_COMMANDS([libtool],
+            [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
+    dnl If the libtool generation code is destined for config.status,
+    dnl expand the accumulated commands and init code now:
+    [AC_CONFIG_COMMANDS([libtool],
+        [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
+])#_LT_CONFIG_COMMANDS
+
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
+[
+
+# 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
+
+sed_quote_subst='$sed_quote_subst'
+double_quote_subst='$double_quote_subst'
+delay_variable_subst='$delay_variable_subst'
+_LT_CONFIG_STATUS_DECLARATIONS
+LTCC='$LTCC'
+LTCFLAGS='$LTCFLAGS'
+compiler='$compiler_DEFAULT'
+
+# Quote evaled strings.
+for var in lt_decl_all_varnames([[ \
+]], lt_decl_quote_varnames); do
+    case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+    *[[\\\\\\\`\\"\\\$]]*)
+      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
+      ;;
+    *)
+      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+      ;;
+    esac
+done
+
+# Double-quote double-evaled strings.
+for var in lt_decl_all_varnames([[ \
+]], lt_decl_dquote_varnames); do
+    case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+    *[[\\\\\\\`\\"\\\$]]*)
+      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -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_OUTPUT
+# ---------
+# This macro allows early generation of the libtool script (before
+# AC_OUTPUT is called), incase it is used in configure for compilation
+# tests.
+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
+
+cat >>"$CONFIG_LT" <<\_LTEOF
+AS_SHELL_SANITIZE
+_AS_PREPARE
+
+exec AS_MESSAGE_FD>&1
+exec AS_MESSAGE_LOG_FD>>config.log
+{
+  echo
+  AS_BOX([Running $as_me.])
+} >&AS_MESSAGE_LOG_FD
+
+lt_cl_help="\
+\`$as_me' creates a local libtool stub from the current configuration,
+for use in further configure time tests before the real libtool is
+generated.
+
+Usage: $[0] [[OPTIONS]]
+
+  -h, --help      print this help, then exit
+  -V, --version   print version number, then exit
+  -q, --quiet     do not print progress messages
+  -d, --debug     don't remove temporary files
+
+Report bugs to <bug-libtool@gnu.org>."
+
+lt_cl_version="\
+m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
+m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
+configured by $[0], generated by m4_PACKAGE_STRING.
+
+Copyright (C) 2008 Free Software Foundation, Inc.
+This config.lt script is free software; the Free Software Foundation
+gives unlimited permision to copy, distribute and modify it."
+
+while test $[#] != 0
+do
+  case $[1] in
+    --version | --v* | -V )
+      echo "$lt_cl_version"; exit 0 ;;
+    --help | --h* | -h )
+      echo "$lt_cl_help"; exit 0 ;;
+    --debug | --d* | -d )
+      debug=: ;;
+    --quiet | --q* | --silent | --s* | -q )
+      lt_cl_silent=: ;;
+
+    -*) AC_MSG_ERROR([unrecognized option: $[1]
+Try \`$[0] --help' for more information.]) ;;
+
+    *) AC_MSG_ERROR([unrecognized argument: $[1]
+Try \`$[0] --help' for more information.]) ;;
+  esac
+  shift
+done
+
+if $lt_cl_silent; then
+  exec AS_MESSAGE_FD>/dev/null
+fi
+_LTEOF
+
+cat >>"$CONFIG_LT" <<_LTEOF
+_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
+_LTEOF
+
+cat >>"$CONFIG_LT" <<\_LTEOF
+AC_MSG_NOTICE([creating $ofile])
+_LT_OUTPUT_LIBTOOL_COMMANDS
+AS_EXIT(0)
+_LTEOF
+chmod +x "$CONFIG_LT"
+
+# configure is writing to config.log, but config.lt does its own redirection,
+# 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_OUTPUT
+
+
+# _LT_CONFIG(TAG)
+# ---------------
+# If TAG is the built-in tag, create an initial libtool script with a
+# default configuration from the untagged config vars.  Otherwise add code
+# to config.status for appending the configuration named by TAG from the
+# matching tagged config vars.
+m4_defun([_LT_CONFIG],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+_LT_CONFIG_SAVE_COMMANDS([
+  m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
+  m4_if(_LT_TAG, [C], [
+    # See if we are running on zsh, and set the options which allow our
+    # commands through without removal of \ escapes.
+    if test -n "${ZSH_VERSION+set}" ; then
+      setopt NO_GLOB_SUBST
+    fi
+
+    cfgfile="${ofile}T"
+    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
+    $RM "$cfgfile"
+
+    cat <<_LT_EOF >> "$cfgfile"
+#! $SHELL
+
+# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
+# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+#
+_LT_COPYING
+_LT_LIBTOOL_TAGS
+
+# ### BEGIN LIBTOOL CONFIG
+_LT_LIBTOOL_CONFIG_VARS
+_LT_LIBTOOL_TAG_VARS
+# ### END LIBTOOL CONFIG
+
+_LT_EOF
+
+  case $host_os in
+  aix3*)
+    cat <<\_LT_EOF >> "$cfgfile"
+# 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
+_LT_EOF
+    ;;
+  esac
+
+  _LT_PROG_LTMAIN
+
+  # We use sed instead of cat because bash on DJGPP gets confused if
+  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
+  # text mode, it properly converts lines to CR/LF.  This bash problem
+  # is reportedly fixed, but why not run on old versions too?
+  sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
+    || (rm -f "$cfgfile"; exit 1)
+
+  _LT_PROG_XSI_SHELLFNS
+
+  sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
+    || (rm -f "$cfgfile"; exit 1)
+
+  mv -f "$cfgfile" "$ofile" ||
+    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+  chmod +x "$ofile"
+],
+[cat <<_LT_EOF >> "$ofile"
+
+dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
+dnl in a comment (ie after a #).
+# ### BEGIN LIBTOOL TAG CONFIG: $1
+_LT_LIBTOOL_TAG_VARS(_LT_TAG)
+# ### END LIBTOOL TAG CONFIG: $1
+_LT_EOF
+])dnl /m4_if
+],
+[m4_if([$1], [], [
+    PACKAGE='$PACKAGE'
+    VERSION='$VERSION'
+    TIMESTAMP='$TIMESTAMP'
+    RM='$RM'
+    ofile='$ofile'], [])
+])dnl /_LT_CONFIG_SAVE_COMMANDS
+])# _LT_CONFIG
+
+
+# LT_SUPPORTED_TAG(TAG)
+# ---------------------
+# Trace this macro to discover what tags are supported by the libtool
+# --tag option, using:
+#    autoconf --trace 'LT_SUPPORTED_TAG:$1'
+AC_DEFUN([LT_SUPPORTED_TAG], [])
+
+
+# C support is built-in for now
+m4_define([_LT_LANG_C_enabled], [])
+m4_define([_LT_TAGS], [])
+
+
+# LT_LANG(LANG)
+# -------------
+# Enable libtool support for the given language if not already enabled.
+AC_DEFUN([LT_LANG],
+[AC_BEFORE([$0], [LT_OUTPUT])dnl
+m4_case([$1],
+  [C],			[_LT_LANG(C)],
+  [C++],		[_LT_LANG(CXX)],
+  [Java],		[_LT_LANG(GCJ)],
+  [Fortran 77],		[_LT_LANG(F77)],
+  [Fortran],		[_LT_LANG(FC)],
+  [Windows Resource],	[_LT_LANG(RC)],
+  [m4_ifdef([_LT_LANG_]$1[_CONFIG],
+    [_LT_LANG($1)],
+    [m4_fatal([$0: unsupported language: "$1"])])])dnl
+])# LT_LANG
+
+
+# _LT_LANG(LANGNAME)
+# ------------------
+m4_defun([_LT_LANG],
+[m4_ifdef([_LT_LANG_]$1[_enabled], [],
+  [LT_SUPPORTED_TAG([$1])dnl
+  m4_append([_LT_TAGS], [$1 ])dnl
+  m4_define([_LT_LANG_]$1[_enabled], [])dnl
+  _LT_LANG_$1_CONFIG($1)])dnl
+])# _LT_LANG
+
+
+# _LT_LANG_DEFAULT_CONFIG
+# -----------------------
+m4_defun([_LT_LANG_DEFAULT_CONFIG],
+[AC_PROVIDE_IFELSE([AC_PROG_CXX],
+  [LT_LANG(CXX)],
+  [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
+
+AC_PROVIDE_IFELSE([AC_PROG_F77],
+  [LT_LANG(F77)],
+  [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
+
+AC_PROVIDE_IFELSE([AC_PROG_FC],
+  [LT_LANG(FC)],
+  [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
+
+dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
+dnl pulling things in needlessly.
+AC_PROVIDE_IFELSE([AC_PROG_GCJ],
+  [LT_LANG(GCJ)],
+  [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
+    [LT_LANG(GCJ)],
+    [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
+      [LT_LANG(GCJ)],
+      [m4_ifdef([AC_PROG_GCJ],
+	[m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
+       m4_ifdef([A][M_PROG_GCJ],
+	[m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
+       m4_ifdef([LT_PROG_GCJ],
+	[m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
+
+AC_PROVIDE_IFELSE([LT_PROG_RC],
+  [LT_LANG(RC)],
+  [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
+])# _LT_LANG_DEFAULT_CONFIG
+
+# Obsolete macros:
+AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
+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)])
+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], [])
+
+
+# _LT_TAG_COMPILER
+# ----------------
+m4_defun([_LT_TAG_COMPILER],
+[AC_REQUIRE([AC_PROG_CC])dnl
+
+_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
+_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
+_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
+_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
+
+# 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
+])# _LT_TAG_COMPILER
+
+
+# _LT_COMPILER_BOILERPLATE
+# ------------------------
+# Check for compiler boilerplate output or warnings with
+# the simple compiler test code.
+m4_defun([_LT_COMPILER_BOILERPLATE],
+[m4_require([_LT_DECL_SED])dnl
+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*
+])# _LT_COMPILER_BOILERPLATE
+
+
+# _LT_LINKER_BOILERPLATE
+# ----------------------
+# Check for linker boilerplate output or warnings with
+# the simple link test code.
+m4_defun([_LT_LINKER_BOILERPLATE],
+[m4_require([_LT_DECL_SED])dnl
+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*
+])# _LT_LINKER_BOILERPLATE
+
+# _LT_REQUIRED_DARWIN_CHECKS
+# -------------------------
+m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
+  case $host_os in
+    rhapsody* | darwin*)
+    AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
+    AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
+    AC_CHECK_TOOL([LIPO], [lipo], [:])
+    AC_CHECK_TOOL([OTOOL], [otool], [:])
+    AC_CHECK_TOOL([OTOOL64], [otool64], [:])
+    _LT_DECL([], [DSYMUTIL], [1],
+      [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
+    _LT_DECL([], [NMEDIT], [1],
+      [Tool to change global to local symbols on Mac OS X])
+    _LT_DECL([], [LIPO], [1],
+      [Tool to manipulate fat objects and archives on Mac OS X])
+    _LT_DECL([], [OTOOL], [1],
+      [ldd/readelf like tool for Mach-O binaries on Mac OS X])
+    _LT_DECL([], [OTOOL64], [1],
+      [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
+
+    AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
+      [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" >&AS_MESSAGE_LOG_FD
+	$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 >&AS_MESSAGE_LOG_FD
+	fi
+	rm -rf libconftest.dylib*
+	rm -f conftest.*
+      fi])
+    AC_CACHE_CHECK([for -exported_symbols_list linker flag],
+      [lt_cv_ld_exported_symbols_list],
+      [lt_cv_ld_exported_symbols_list=no
+      save_LDFLAGS=$LDFLAGS
+      echo "_main" > conftest.sym
+      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
+      AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
+	[lt_cv_ld_exported_symbols_list=yes],
+	[lt_cv_ld_exported_symbols_list=no])
+	LDFLAGS="$save_LDFLAGS"
+    ])
+    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
+])
+
+
+# _LT_DARWIN_LINKER_FEATURES
+# --------------------------
+# Checks for linker and compiler features on darwin
+m4_defun([_LT_DARWIN_LINKER_FEATURES],
+[
+  m4_require([_LT_REQUIRED_DARWIN_CHECKS])
+  _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+  _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)=''
+  _LT_TAGVAR(link_all_deplibs, $1)=yes
+  _LT_TAGVAR(allow_undefined_flag, $1)="$_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
+    _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_TAGVAR(module_expsym_cmds, $1)="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}"
+    m4_if([$1], [CXX],
+[   if test "$lt_cv_apple_cc_single_mod" != "yes"; then
+      _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
+      _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
+    fi
+],[])
+  else
+  _LT_TAGVAR(ld_shlibs, $1)=no
+  fi
+])
+
+# _LT_SYS_MODULE_PATH_AIX
+# -----------------------
+# Links a minimal program and checks the executable
+# for the system default hardcoded library path. In most cases,
+# this is /usr/lib:/lib, but when the MPI compilers are used
+# the location of the communication and MPI libs are included too.
+# If we don't find anything, use the default library path according
+# to the aix ld manual.
+m4_defun([_LT_SYS_MODULE_PATH_AIX],
+[m4_require([_LT_DECL_SED])dnl
+AC_LINK_IFELSE(AC_LANG_PROGRAM,[
+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],[])
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+])# _LT_SYS_MODULE_PATH_AIX
+
+
+# _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
+
+
+# _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.
+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!
+  :
+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
+
+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_PROG_ECHO_BACKSLASH
+
+
+# _LT_ENABLE_LOCK
+# ---------------
+m4_defun([_LT_ENABLE_LOCK],
+[AC_ARG_ENABLE([libtool-lock],
+  [AS_HELP_STRING([--disable-libtool-lock],
+    [avoid locking (might break parallel builds)])])
+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 AC_TRY_EVAL(ac_compile); 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 __oline__ "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
+	*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 AC_TRY_EVAL(ac_compile); 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"
+  AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
+    [AC_LANG_PUSH(C)
+     AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
+     AC_LANG_POP])
+  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 AC_TRY_EVAL(ac_compile); 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"
+])# _LT_ENABLE_LOCK
+
+
+# _LT_CMD_OLD_ARCHIVE
+# -------------------
+m4_defun([_LT_CMD_OLD_ARCHIVE],
+[AC_CHECK_TOOL(AR, ar, false)
+test -z "$AR" && AR=ar
+test -z "$AR_FLAGS" && AR_FLAGS=cru
+_LT_DECL([], [AR], [1], [The archiver])
+_LT_DECL([], [AR_FLAGS], [1])
+
+AC_CHECK_TOOL(STRIP, strip, :)
+test -z "$STRIP" && STRIP=:
+_LT_DECL([], [STRIP], [1], [A symbol stripping program])
+
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+test -z "$RANLIB" && RANLIB=:
+_LT_DECL([], [RANLIB], [1],
+    [Commands used to install an old-style archive])
+
+# 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
+_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_CMD_OLD_ARCHIVE
+
+
+# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+#		[OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
+# ----------------------------------------------------------------
+# Check whether the given compiler option works
+AC_DEFUN([_LT_COMPILER_OPTION],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_SED])dnl
+AC_CACHE_CHECK([$1], [$2],
+  [$2=no
+   m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+   lt_compiler_flag="$3"
+   # 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:__oline__: $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
+   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
+       $2=yes
+     fi
+   fi
+   $RM conftest*
+])
+
+if test x"[$]$2" = xyes; then
+    m4_if([$5], , :, [$5])
+else
+    m4_if([$6], , :, [$6])
+fi
+])# _LT_COMPILER_OPTION
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
+
+
+# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+#                  [ACTION-SUCCESS], [ACTION-FAILURE])
+# ----------------------------------------------------
+# Check whether the given linker option works
+AC_DEFUN([_LT_LINKER_OPTION],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_SED])dnl
+AC_CACHE_CHECK([$1], [$2],
+  [$2=no
+   save_LDFLAGS="$LDFLAGS"
+   LDFLAGS="$LDFLAGS $3"
+   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>&AS_MESSAGE_LOG_FD
+       $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
+         $2=yes
+       fi
+     else
+       $2=yes
+     fi
+   fi
+   $RM -r conftest*
+   LDFLAGS="$save_LDFLAGS"
+])
+
+if test x"[$]$2" = xyes; then
+    m4_if([$4], , :, [$4])
+else
+    m4_if([$5], , :, [$5])
+fi
+])# _LT_LINKER_OPTION
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
+
+
+# LT_CMD_MAX_LEN
+#---------------
+AC_DEFUN([LT_CMD_MAX_LEN],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+# find the maximum length of command line arguments
+AC_MSG_CHECKING([the maximum length of command line arguments])
+AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
+  i=0
+  teststring="ABCD"
+
+  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
+    ;;
+
+  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;
+    ;;
+
+  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
+    ;;
+
+  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
+])
+if test -n $lt_cv_sys_max_cmd_len ; then
+  AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
+else
+  AC_MSG_RESULT(none)
+fi
+max_cmd_len=$lt_cv_sys_max_cmd_len
+_LT_DECL([], [max_cmd_len], [0],
+    [What is the maximum length of a command?])
+])# LT_CMD_MAX_LEN
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
+
+
+# _LT_HEADER_DLFCN
+# ----------------
+m4_defun([_LT_HEADER_DLFCN],
+[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
+])# _LT_HEADER_DLFCN
+
+
+# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
+#                      ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
+# ----------------------------------------------------------------
+m4_defun([_LT_TRY_DLOPEN_SELF],
+[m4_require([_LT_HEADER_DLFCN])dnl
+if test "$cross_compiling" = yes; then :
+  [$4]
+else
+  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+  lt_status=$lt_dlunknown
+  cat > conftest.$ac_ext <<_LT_EOF
+[#line __oline__ "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 AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
+    (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
+    lt_status=$?
+    case x$lt_status in
+      x$lt_dlno_uscore) $1 ;;
+      x$lt_dlneed_uscore) $2 ;;
+      x$lt_dlunknown|x*) $3 ;;
+    esac
+  else :
+    # compilation failed
+    $3
+  fi
+fi
+rm -fr conftest*
+])# _LT_TRY_DLOPEN_SELF
+
+
+# LT_SYS_DLOPEN_SELF
+# ------------------
+AC_DEFUN([LT_SYS_DLOPEN_SELF],
+[m4_require([_LT_HEADER_DLFCN])dnl
+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
+    AC_CHECK_LIB([dl], [dlopen],
+		[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
+    lt_cv_dlopen="dyld"
+    lt_cv_dlopen_libs=
+    lt_cv_dlopen_self=yes
+    ])
+    ;;
+
+  *)
+    AC_CHECK_FUNC([shl_load],
+	  [lt_cv_dlopen="shl_load"],
+      [AC_CHECK_LIB([dld], [shl_load],
+	    [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
+	[AC_CHECK_FUNC([dlopen],
+	      [lt_cv_dlopen="dlopen"],
+	  [AC_CHECK_LIB([dl], [dlopen],
+		[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
+	    [AC_CHECK_LIB([svld], [dlopen],
+		  [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
+	      [AC_CHECK_LIB([dld], [dld_link],
+		    [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
+	      ])
+	    ])
+	  ])
+	])
+      ])
+    ;;
+  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"
+
+    AC_CACHE_CHECK([whether a program can dlopen itself],
+	  lt_cv_dlopen_self, [dnl
+	  _LT_TRY_DLOPEN_SELF(
+	    lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
+	    lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
+    ])
+
+    if test "x$lt_cv_dlopen_self" = xyes; then
+      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
+      AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
+	  lt_cv_dlopen_self_static, [dnl
+	  _LT_TRY_DLOPEN_SELF(
+	    lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
+	    lt_cv_dlopen_self_static=no,  lt_cv_dlopen_self_static=cross)
+      ])
+    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
+_LT_DECL([dlopen_support], [enable_dlopen], [0],
+	 [Whether dlopen is supported])
+_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
+	 [Whether dlopen of programs is supported])
+_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
+	 [Whether dlopen of statically linked programs is supported])
+])# LT_SYS_DLOPEN_SELF
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
+
+
+# _LT_COMPILER_C_O([TAGNAME])
+# ---------------------------
+# Check to see if options -c and -o are simultaneously supported by compiler.
+# This macro does not hard code the compiler like AC_PROG_CC_C_O.
+m4_defun([_LT_COMPILER_C_O],
+[m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
+  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
+  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=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:__oline__: $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
+   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_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+     fi
+   fi
+   chmod u+w . 2>&AS_MESSAGE_LOG_FD
+   $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*
+])
+_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
+	[Does compiler simultaneously support -c and -o options?])
+])# _LT_COMPILER_C_O
+
+
+# _LT_COMPILER_FILE_LOCKS([TAGNAME])
+# ----------------------------------
+# Check to see if we can do hard links to lock some files if needed
+m4_defun([_LT_COMPILER_FILE_LOCKS],
+[m4_require([_LT_ENABLE_LOCK])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+_LT_COMPILER_C_O([$1])
+
+hard_links="nottested"
+if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
+  # do not overwrite the value of need_locks provided by the user
+  AC_MSG_CHECKING([if we can lock with hard links])
+  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
+  AC_MSG_RESULT([$hard_links])
+  if test "$hard_links" = no; then
+    AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
+    need_locks=warn
+  fi
+else
+  need_locks=no
+fi
+_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
+])# _LT_COMPILER_FILE_LOCKS
+
+
+# _LT_CHECK_OBJDIR
+# ----------------
+m4_defun([_LT_CHECK_OBJDIR],
+[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
+[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])
+objdir=$lt_cv_objdir
+_LT_DECL([], [objdir], [0],
+         [The name of the directory that contains temporary libtool files])dnl
+m4_pattern_allow([LT_OBJDIR])dnl
+AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/",
+  [Define to the sub-directory in which libtool stores uninstalled libraries.])
+])# _LT_CHECK_OBJDIR
+
+
+# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
+# --------------------------------------
+# Check hardcoding attributes.
+m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
+[AC_MSG_CHECKING([how to hardcode library paths into programs])
+_LT_TAGVAR(hardcode_action, $1)=
+if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
+   test -n "$_LT_TAGVAR(runpath_var, $1)" ||
+   test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
+
+  # We can hardcode non-existent directories.
+  if test "$_LT_TAGVAR(hardcode_direct, $1)" != 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, $1)" != no &&
+     test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then
+    # Linking always hardcodes the temporary library directory.
+    _LT_TAGVAR(hardcode_action, $1)=relink
+  else
+    # We can link without hardcoding, and we can hardcode nonexisting dirs.
+    _LT_TAGVAR(hardcode_action, $1)=immediate
+  fi
+else
+  # We cannot hardcode anything, or else we can only hardcode existing
+  # directories.
+  _LT_TAGVAR(hardcode_action, $1)=unsupported
+fi
+AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
+
+if test "$_LT_TAGVAR(hardcode_action, $1)" = relink ||
+   test "$_LT_TAGVAR(inherit_rpath, $1)" = 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
+_LT_TAGDECL([], [hardcode_action], [0],
+    [How to hardcode a shared library path into an executable])
+])# _LT_LINKER_HARDCODE_LIBPATH
+
+
+# _LT_CMD_STRIPLIB
+# ----------------
+m4_defun([_LT_CMD_STRIPLIB],
+[m4_require([_LT_DECL_EGREP])
+striplib=
+old_striplib=
+AC_MSG_CHECKING([whether stripping libraries is possible])
+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"
+  AC_MSG_RESULT([yes])
+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"
+      AC_MSG_RESULT([yes])
+    else
+      AC_MSG_RESULT([no])
+    fi
+    ;;
+  *)
+    AC_MSG_RESULT([no])
+    ;;
+  esac
+fi
+_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
+_LT_DECL([], [striplib], [1])
+])# _LT_CMD_STRIPLIB
+
+
+# _LT_SYS_DYNAMIC_LINKER([TAG])
+# -----------------------------
+# PORTME Fill in your ld.so characteristics
+m4_defun([_LT_SYS_DYNAMIC_LINKER],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_OBJDUMP])dnl
+m4_require([_LT_DECL_SED])dnl
+AC_MSG_CHECKING([dynamic linker characteristics])
+m4_if([$1],
+	[], [
+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
+
+# 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'
+  ;;
+
+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=`$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'
+    ;;
+  esac
+  ;;
+
+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
+  ;;
+
+cygwin* | mingw* | pw32* | cegcc*)
+  version_type=windows
+  shrext_cmds=".dll"
+  need_version=no
+  need_lib_prefix=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
+
+    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"
+      ;;
+    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'
+      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
+  ;;
+
+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`'
+m4_if([$1], [],[
+  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
+  ;;
+
+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
+    ;;
+  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
+  ;;
+
+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'
+  ;;
+
+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
+  ;;
+
+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_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
+
+  # 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;/^$/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'
+  ;;
+
+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
+  ;;
+
+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
+  ;;
+
+*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'
+  ;;
+
+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
+    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
+  ;;
+
+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'
+      ;;
+  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
+  ;;
+
+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
+  ;;
+
+*)
+  dynamic_linker=no
+  ;;
+esac
+AC_MSG_RESULT([$dynamic_linker])
+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
+
+_LT_DECL([], [variables_saved_for_relink], [1],
+    [Variables whose values should be saved in libtool wrapper scripts and
+    restored at link time])
+_LT_DECL([], [need_lib_prefix], [0],
+    [Do we need the "lib" prefix for modules?])
+_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
+_LT_DECL([], [version_type], [0], [Library versioning type])
+_LT_DECL([], [runpath_var], [0],  [Shared library runtime path variable])
+_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
+_LT_DECL([], [shlibpath_overrides_runpath], [0],
+    [Is shlibpath searched before the hard-coded library search path?])
+_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
+_LT_DECL([], [library_names_spec], [1],
+    [[List of archive names.  First name is the real one, the rest are links.
+    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([], [postinstall_cmds], [2],
+    [Command to use after installation of a shared archive])
+_LT_DECL([], [postuninstall_cmds], [2],
+    [Command to use after uninstallation of a shared archive])
+_LT_DECL([], [finish_cmds], [2],
+    [Commands used to finish a libtool library installation in a directory])
+_LT_DECL([], [finish_eval], [1],
+    [[As "finish_cmds", except a single script fragment to be evaled but
+    not shown]])
+_LT_DECL([], [hardcode_into_libs], [0],
+    [Whether we should hardcode library paths into libraries])
+_LT_DECL([], [sys_lib_search_path_spec], [2],
+    [Compile-time system search path for libraries])
+_LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
+    [Run-time system search path for libraries])
+])# _LT_SYS_DYNAMIC_LINKER
+
+
+# _LT_PATH_TOOL_PREFIX(TOOL)
+# --------------------------
+# find a file program which can recognize shared library
+AC_DEFUN([_LT_PATH_TOOL_PREFIX],
+[m4_require([_LT_DECL_EGREP])dnl
+AC_MSG_CHECKING([for $1])
+AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
+[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
+dnl $ac_dummy forces splitting on constant user-supplied paths.
+dnl POSIX.2 word splitting is done only on the output of word expansions,
+dnl not every word.  This closes a longstanding sh security hole.
+  ac_dummy="m4_if([$2], , $PATH, [$2])"
+  for ac_dir in $ac_dummy; do
+    IFS="$lt_save_ifs"
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$1; then
+      lt_cv_path_MAGIC_CMD="$ac_dir/$1"
+      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
+  done
+  IFS="$lt_save_ifs"
+  MAGIC_CMD="$lt_save_MAGIC_CMD"
+  ;;
+esac])
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+  AC_MSG_RESULT($MAGIC_CMD)
+else
+  AC_MSG_RESULT(no)
+fi
+_LT_DECL([], [MAGIC_CMD], [0],
+	 [Used to examine libraries when file_magic_cmd begins with "file"])dnl
+])# _LT_PATH_TOOL_PREFIX
+
+# Old name:
+AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
+
+
+# _LT_PATH_MAGIC
+# --------------
+# find a file program which can recognize a shared library
+m4_defun([_LT_PATH_MAGIC],
+[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
+if test -z "$lt_cv_path_MAGIC_CMD"; then
+  if test -n "$ac_tool_prefix"; then
+    _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
+  else
+    MAGIC_CMD=:
+  fi
+fi
+])# _LT_PATH_MAGIC
+
+
+# LT_PATH_LD
+# ----------
+# find the pathname to the GNU or non-GNU linker
+AC_DEFUN([LT_PATH_LD],
+[AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_DECL_EGREP])dnl
+
+AC_ARG_WITH([gnu-ld],
+    [AS_HELP_STRING([--with-gnu-ld],
+	[assume the C compiler uses GNU ld @<:@default=no@:>@])],
+    [test "$withval" = no || with_gnu_ld=yes],
+    [with_gnu_ld=no])dnl
+
+ac_prog=ld
+if test "$GCC" = yes; then
+  # Check if gcc -print-prog-name=ld gives a path.
+  AC_MSG_CHECKING([for ld used by $CC])
+  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
+  AC_MSG_CHECKING([for GNU ld])
+else
+  AC_MSG_CHECKING([for non-GNU ld])
+fi
+AC_CACHE_VAL(lt_cv_path_LD,
+[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])
+LD="$lt_cv_path_LD"
+if test -n "$LD"; then
+  AC_MSG_RESULT($LD)
+else
+  AC_MSG_RESULT(no)
+fi
+test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
+_LT_PATH_LD_GNU
+AC_SUBST([LD])
+
+_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
+])# LT_PATH_LD
+
+# Old names:
+AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
+AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_PROG_LD], [])
+dnl AC_DEFUN([AC_PROG_LD], [])
+
+
+# _LT_PATH_LD_GNU
+#- --------------
+m4_defun([_LT_PATH_LD_GNU],
+[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
+[# 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])
+with_gnu_ld=$lt_cv_prog_gnu_ld
+])# _LT_PATH_LD_GNU
+
+
+# _LT_CMD_RELOAD
+# --------------
+# find reload flag for linker
+#   -- PORTME Some linkers may need a different reload flag.
+m4_defun([_LT_CMD_RELOAD],
+[AC_CACHE_CHECK([for $LD option to reload object files],
+  lt_cv_ld_reload_flag,
+  [lt_cv_ld_reload_flag='-r'])
+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
+_LT_DECL([], [reload_flag], [1], [How to create reloadable object files])dnl
+_LT_DECL([], [reload_cmds], [2])dnl
+])# _LT_CMD_RELOAD
+
+
+# _LT_CHECK_MAGIC_METHOD
+# ----------------------
+# how to check for library dependencies
+#  -- PORTME fill in with the dynamic library characteristics
+m4_defun([_LT_CHECK_MAGIC_METHOD],
+[m4_require([_LT_DECL_EGREP])
+m4_require([_LT_DECL_OBJDUMP])
+AC_CACHE_CHECK([how to recognize dependent libraries],
+lt_cv_deplibs_check_method,
+[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.
+
+case $host_os in
+aix[[4-9]]*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+beos*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+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'
+  ;;
+
+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
+    ;;
+  pc)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  esac
+  ;;
+
+tpf*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+esac
+])
+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
+
+_LT_DECL([], [deplibs_check_method], [1],
+    [Method to check whether dependent libraries are shared objects])
+_LT_DECL([], [file_magic_cmd], [1],
+    [Command to use when deplibs_check_method == "file_magic"])
+])# _LT_CHECK_MAGIC_METHOD
+
+
+# LT_PATH_NM
+# ----------
+# find the pathname to a BSD- or MS-compatible name lister
+AC_DEFUN([LT_PATH_NM],
+[AC_REQUIRE([AC_PROG_CC])dnl
+AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
+[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])
+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.
+  AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :)
+  AC_SUBST([DUMPBIN])
+  if test "$DUMPBIN" != ":"; then
+    NM="$DUMPBIN"
+  fi
+fi
+test -z "$NM" && NM=nm
+AC_SUBST([NM])
+_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
+
+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 "$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 "$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)
+  cat conftest.out >&AS_MESSAGE_LOG_FD
+  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
+    lt_cv_nm_interface="MS dumpbin"
+  fi
+  rm -f conftest*])
+])# LT_PATH_NM
+
+# Old names:
+AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
+AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_PROG_NM], [])
+dnl AC_DEFUN([AC_PROG_NM], [])
+
+
+# LT_LIB_M
+# --------
+# check for math library
+AC_DEFUN([LT_LIB_M],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+LIBM=
+case $host in
+*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
+  # These system don't have libm, or don't need it
+  ;;
+*-ncr-sysv4.3*)
+  AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
+  AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
+  ;;
+*)
+  AC_CHECK_LIB(m, cos, LIBM="-lm")
+  ;;
+esac
+AC_SUBST([LIBM])
+])# LT_LIB_M
+
+# Old name:
+AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_CHECK_LIBM], [])
+
+
+# _LT_COMPILER_NO_RTTI([TAGNAME])
+# -------------------------------
+m4_defun([_LT_COMPILER_NO_RTTI],
+[m4_require([_LT_TAG_COMPILER])dnl
+
+_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'
+
+  _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
+    lt_cv_prog_compiler_rtti_exceptions,
+    [-fno-rtti -fno-exceptions], [],
+    [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
+fi
+_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
+	[Compiler flag to turn off builtin functions])
+])# _LT_COMPILER_NO_RTTI
+
+
+# _LT_CMD_GLOBAL_SYMBOLS
+# ----------------------
+m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+AC_REQUIRE([LT_PATH_LD])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+AC_MSG_CHECKING([command to parse $NM output from $compiler object])
+AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
+[
+# 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]]'
+
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
+
+# 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
+
+# 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'"
+
+# 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"
+
+  # 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 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
+      # 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
+
+#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_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
+	  if AC_TRY_EVAL(ac_link) && 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" >&AS_MESSAGE_LOG_FD
+	fi
+      else
+	echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
+      fi
+    else
+      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
+    fi
+  else
+    echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
+    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
+])
+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
+  AC_MSG_RESULT(failed)
+else
+  AC_MSG_RESULT(ok)
+fi
+
+_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
+    [Take the output of nm and produce a listing of raw symbols and C names])
+_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
+    [Transform the output of nm in a proper C declaration])
+_LT_DECL([global_symbol_to_c_name_address],
+    [lt_cv_sys_global_symbol_to_c_name_address], [1],
+    [Transform the output of nm in a C name address pair])
+_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
+    [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
+    [Transform the output of nm in a C name address pair when lib prefix is needed])
+]) # _LT_CMD_GLOBAL_SYMBOLS
+
+
+# _LT_COMPILER_PIC([TAGNAME])
+# ---------------------------
+m4_defun([_LT_COMPILER_PIC],
+[m4_require([_LT_TAG_COMPILER])dnl
+_LT_TAGVAR(lt_prog_compiler_wl, $1)=
+_LT_TAGVAR(lt_prog_compiler_pic, $1)=
+_LT_TAGVAR(lt_prog_compiler_static, $1)=
+
+AC_MSG_CHECKING([for $compiler option to produce PIC])
+m4_if([$1], [CXX], [
+  # C++ specific cases for pic, static, wl, etc.
+  if test "$GXX" = yes; then
+    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+
+    case $host_os in
+    aix*)
+      # All AIX code is PIC.
+      if test "$host_cpu" = ia64; then
+	# AIX 5 now supports IA64 processor
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      fi
+      ;;
+
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-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_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+        ;;
+      esac
+      ;;
+
+    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+      # PIC is the default for these OSes.
+      ;;
+    mingw* | cygwin* | os2* | pw32* | 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
+      m4_if([$1], [GCJ], [],
+	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+      ;;
+    darwin* | rhapsody*)
+      # PIC is the default on this platform
+      # Common symbols not allowed in MH_DYLIB files
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+      ;;
+    *djgpp*)
+      # DJGPP does not support shared libraries at all
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+      ;;
+    interix[[3-9]]*)
+      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+      # Instead, we relocate shared libraries at runtime.
+      ;;
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+      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*)
+	;;
+      *)
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	;;
+      esac
+      ;;
+    *qnx* | *nto*)
+      # QNX uses GNU C++, but need to define -shared option too, otherwise
+      # it will coredump.
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+      ;;
+    *)
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+      ;;
+    esac
+  else
+    case $host_os in
+      aix[[4-9]]*)
+	# All AIX code is PIC.
+	if test "$host_cpu" = ia64; then
+	  # AIX 5 now supports IA64 processor
+	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	else
+	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+	fi
+	;;
+      chorus*)
+	case $cc_basename in
+	cxch68*)
+	  # Green Hills C++ Compiler
+	  # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
+	  ;;
+	esac
+	;;
+      dgux*)
+	case $cc_basename in
+	  ec++*)
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    ;;
+	  ghcx*)
+	    # Green Hills C++ Compiler
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      freebsd* | dragonfly*)
+	# FreeBSD uses GNU C++
+	;;
+      hpux9* | hpux10* | hpux11*)
+	case $cc_basename in
+	  CC*)
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+	    if test "$host_cpu" != ia64; then
+	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+	    fi
+	    ;;
+	  aCC*)
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+	    case $host_cpu in
+	    hppa*64*|ia64*)
+	      # +Z the default
+	      ;;
+	    *)
+	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+	      ;;
+	    esac
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      interix*)
+	# This is c89, which is MS Visual C++ (no shared libs)
+	# Anyone wants to do a port?
+	;;
+      irix5* | irix6* | nonstopux*)
+	case $cc_basename in
+	  CC*)
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+	    # CC pic flag -KPIC is the default.
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      linux* | k*bsd*-gnu)
+	case $cc_basename in
+	  KCC*)
+	    # KAI C++ Compiler
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	    ;;
+	  ecpc* )
+	    # old Intel C++ for x86_64 which still supported -KPIC.
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+	    ;;
+	  icpc* )
+	    # Intel C++, used to be incompatible with GCC.
+	    # ICC 10 doesn't accept -KPIC any more.
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+	    ;;
+	  pgCC* | pgcpp*)
+	    # Portland Group C++ compiler
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	    ;;
+	  cxx*)
+	    # Compaq C++
+	    # Make sure the PIC flag is empty.  It appears that all Alpha
+	    # Linux and Compaq Tru64 Unix objects are PIC.
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+	    ;;
+	  xlc* | xlC*)
+	    # IBM XL 8.0 on PPC
+	    _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
+	      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+	      ;;
+	    esac
+	    ;;
+	esac
+	;;
+      lynxos*)
+	;;
+      m88k*)
+	;;
+      mvs*)
+	case $cc_basename in
+	  cxx*)
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      netbsd*)
+	;;
+      *qnx* | *nto*)
+        # QNX uses GNU C++, but need to define -shared option too, otherwise
+        # it will coredump.
+        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+        ;;
+      osf3* | osf4* | osf5*)
+	case $cc_basename in
+	  KCC*)
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+	    ;;
+	  RCC*)
+	    # Rational C++ 2.4.1
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+	    ;;
+	  cxx*)
+	    # Digital/Compaq C++
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    # Make sure the PIC flag is empty.  It appears that all Alpha
+	    # Linux and Compaq Tru64 Unix objects are PIC.
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      psos*)
+	;;
+      solaris*)
+	case $cc_basename in
+	  CC*)
+	    # 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_wl, $1)='-Qoption ld '
+	    ;;
+	  gcx*)
+	    # Green Hills C++ Compiler
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      sunos4*)
+	case $cc_basename in
+	  CC*)
+	    # Sun C++ 4.x
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	    ;;
+	  lcc*)
+	    # Lucid
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+	case $cc_basename in
+	  CC*)
+	    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	    ;;
+	esac
+	;;
+      tandem*)
+	case $cc_basename in
+	  NCC*)
+	    # NonStop-UX NCC 3.20
+	    _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	    ;;
+	  *)
+	    ;;
+	esac
+	;;
+      vxworks*)
+	;;
+      *)
+	_LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+	;;
+    esac
+  fi
+],
+[
+  if test "$GCC" = yes; then
+    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+
+    case $host_os in
+      aix*)
+      # All AIX code is PIC.
+      if test "$host_cpu" = ia64; then
+	# AIX 5 now supports IA64 processor
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      fi
+      ;;
+
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-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_TAGVAR(lt_prog_compiler_pic, $1)='-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
+      m4_if([$1], [GCJ], [],
+	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+      ;;
+
+    darwin* | rhapsody*)
+      # PIC is the default on this platform
+      # Common symbols not allowed in MH_DYLIB files
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+      ;;
+
+    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_TAGVAR(lt_prog_compiler_pic, $1)='-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_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+      enable_shared=no
+      ;;
+
+    *nto* | *qnx*)
+      # QNX uses GNU C++, but need to define -shared option too, otherwise
+      # it will coredump.
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+      fi
+      ;;
+
+    *)
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+      ;;
+    esac
+  else
+    # PORTME Check for flag to pass linker flags through the system compiler.
+    case $host_os in
+    aix*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      if test "$host_cpu" = ia64; then
+	# AIX 5 now supports IA64 processor
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      else
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-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).
+      m4_if([$1], [GCJ], [],
+	[_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+      ;;
+
+    hpux9* | hpux10* | hpux11*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-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_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+	;;
+      esac
+      # Is there a better lt_prog_compiler_static that works with the bundled CC?
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+      ;;
+
+    irix5* | irix6* | nonstopux*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      # PIC (with -KPIC) is the default.
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+      ;;
+
+    linux* | k*bsd*-gnu)
+      case $cc_basename in
+      # old Intel for x86_64 which still supported -KPIC.
+      ecc*)
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+        ;;
+      # icc used to be incompatible with GCC.
+      # ICC 10 doesn't accept -KPIC any more.
+      icc* | ifort*)
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+        ;;
+      # Lahey Fortran 8.1.
+      lf95*)
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
+	;;
+      pgcc* | pgf77* | pgf90* | pgf95*)
+        # Portland Group compilers (*not* the Pentium gcc compiler,
+	# which looks to be a dead project)
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+        ;;
+      ccc*)
+        _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
+	_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
+	  _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+	  _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+	  _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+	  ;;
+	*Sun\ F*)
+	  # 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)=''
+	  ;;
+	esac
+	;;
+      esac
+      ;;
+
+    newsos6)
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    *nto* | *qnx*)
+      # QNX uses GNU C++, but need to define -shared option too, otherwise
+      # it will coredump.
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+      ;;
+
+    osf3* | osf4* | osf5*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      # All OSF/1 code is PIC.
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+      ;;
+
+    rdos*)
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+      ;;
+
+    solaris*)
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      case $cc_basename in
+      f77* | f90* | f95*)
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
+      *)
+	_LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
+      esac
+      ;;
+
+    sunos4*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    sysv4 | sysv4.2uw2* | sysv4.3*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec ;then
+	_LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
+	_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      fi
+      ;;
+
+    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    unicos*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+      ;;
+
+    uts4*)
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    *)
+      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+      ;;
+    esac
+  fi
+])
+case $host_os in
+  # For platforms which do not support PIC, -DPIC is meaningless:
+  *djgpp*)
+    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+    ;;
+  *)
+    _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
+    ;;
+esac
+AC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
+_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
+	[How to pass a linker flag through the compiler])
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
+  _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
+    [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
+    [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
+    [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
+     "" | " "*) ;;
+     *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
+     esac],
+    [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
+     _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
+fi
+_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
+	[Additional compiler flags for building library objects])
+
+#
+# Check to make sure the static flag actually works.
+#
+wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
+_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
+  _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
+  $lt_tmp_static_flag,
+  [],
+  [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
+_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
+	[Compiler flag to prevent dynamic linking])
+])# _LT_COMPILER_PIC
+
+
+# _LT_LINKER_SHLIBS([TAGNAME])
+# ----------------------------
+# See if the linker supports building shared libraries.
+m4_defun([_LT_LINKER_SHLIBS],
+[AC_REQUIRE([LT_PATH_LD])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+m4_if([$1], [CXX], [
+  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  case $host_os in
+  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
+    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'
+    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
+    ;;
+  pw32*)
+    _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
+  ;;
+  cygwin* | mingw* | cegcc*)
+    _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
+  ;;
+  *)
+    _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  ;;
+  esac
+  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
+], [
+  runpath_var=
+  _LT_TAGVAR(allow_undefined_flag, $1)=
+  _LT_TAGVAR(always_export_symbols, $1)=no
+  _LT_TAGVAR(archive_cmds, $1)=
+  _LT_TAGVAR(archive_expsym_cmds, $1)=
+  _LT_TAGVAR(compiler_needs_object, $1)=no
+  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+  _LT_TAGVAR(export_dynamic_flag_spec, $1)=
+  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  _LT_TAGVAR(hardcode_automatic, $1)=no
+  _LT_TAGVAR(hardcode_direct, $1)=no
+  _LT_TAGVAR(hardcode_direct_absolute, $1)=no
+  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+  _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+  _LT_TAGVAR(hardcode_libdir_separator, $1)=
+  _LT_TAGVAR(hardcode_minus_L, $1)=no
+  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+  _LT_TAGVAR(inherit_rpath, $1)=no
+  _LT_TAGVAR(link_all_deplibs, $1)=unknown
+  _LT_TAGVAR(module_cmds, $1)=
+  _LT_TAGVAR(module_expsym_cmds, $1)=
+  _LT_TAGVAR(old_archive_from_new_cmds, $1)=
+  _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
+  _LT_TAGVAR(thread_safe_flag_spec, $1)=
+  _LT_TAGVAR(whole_archive_flag_spec, $1)=
+  # include_expsyms should be a list of space-separated symbols to be *always*
+  # included in the symbol list
+  _LT_TAGVAR(include_expsyms, $1)=
+  # 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'.
+  _LT_TAGVAR(exclude_expsyms, $1)=['_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.
+dnl Note also adjust exclude_expsyms for C++ above.
+  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
+
+  _LT_TAGVAR(ld_shlibs, $1)=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
+    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${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
+      _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+    else
+      _LT_TAGVAR(whole_archive_flag_spec, $1)=
+    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
+	_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
+*** 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.
+
+_LT_EOF
+      fi
+      ;;
+
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+            _LT_TAGVAR(archive_expsym_cmds, $1)=''
+        ;;
+      m68k)
+            _LT_TAGVAR(archive_cmds, $1)='$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)'
+            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+            _LT_TAGVAR(hardcode_minus_L, $1)=yes
+        ;;
+      esac
+      ;;
+
+    beos*)
+      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+	# Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+	# support --undefined.  This deserves some investigation.  FIXME
+	_LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+      else
+	_LT_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    cygwin* | mingw* | pw32* | cegcc*)
+      # _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(allow_undefined_flag, $1)=unsupported
+      _LT_TAGVAR(always_export_symbols, $1)=no
+      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+      _LT_TAGVAR(export_symbols_cmds, $1)='$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
+        _LT_TAGVAR(archive_cmds, $1)='$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...
+	_LT_TAGVAR(archive_expsym_cmds, $1)='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
+	_LT_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    interix[[3-9]]*)
+      _LT_TAGVAR(hardcode_direct, $1)=no
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${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.
+      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      _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)
+      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
+	  _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'
+	  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'
+	  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
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)=
+	  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
+	  _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(compiler_needs_object, $1)=yes
+	  tmp_sharedflag='-G' ;;
+	*Sun\ F*)			# Sun Fortran 8.3
+	  tmp_sharedflag='-G' ;;
+	esac
+	_LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$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~
+	    $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
+	  _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'
+	  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'
+	  fi
+	  ;;
+	esac
+      else
+        _LT_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    netbsd*)
+      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+	wlarc=
+      else
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$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
+	_LT_TAGVAR(ld_shlibs, $1)=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
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      else
+	_LT_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+      case `$LD -v 2>&1` in
+        *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
+	_LT_TAGVAR(ld_shlibs, $1)=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
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+	  else
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	  fi
+	;;
+      esac
+      ;;
+
+    sunos4*)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      wlarc=
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    *)
+      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      else
+	_LT_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+    esac
+
+    if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then
+      runpath_var=
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)=
+      _LT_TAGVAR(whole_archive_flag_spec, $1)=
+    fi
+  else
+    # PORTME fill in a description of your system's linker (not GNU ld)
+    case $host_os in
+    aix3*)
+      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+      _LT_TAGVAR(always_export_symbols, $1)=yes
+      _LT_TAGVAR(archive_expsym_cmds, $1)='$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.
+      _LT_TAGVAR(hardcode_minus_L, $1)=yes
+      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
+	# Neither direct hardcoding nor static linking is supported with a
+	# broken collect2.
+	_LT_TAGVAR(hardcode_direct, $1)=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
+	  _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'
+	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
+	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.
+
+      _LT_TAGVAR(archive_cmds, $1)=''
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+      _LT_TAGVAR(link_all_deplibs, $1)=yes
+      _LT_TAGVAR(file_list_spec, $1)='${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
+	  _LT_TAGVAR(hardcode_direct, $1)=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
+	  _LT_TAGVAR(hardcode_minus_L, $1)=yes
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+	  _LT_TAGVAR(hardcode_libdir_separator, $1)=
+	  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
+
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${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.
+      _LT_TAGVAR(always_export_symbols, $1)=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.
+	_LT_TAGVAR(allow_undefined_flag, $1)='-berok'
+        # Determine the default libpath from the value encoded in an
+        # 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"
+      else
+	if test "$host_cpu" = ia64; then
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+	  _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+	  _LT_TAGVAR(archive_expsym_cmds, $1)="\$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.
+	 _LT_SYS_MODULE_PATH_AIX
+	 _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${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.
+	  _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'
+	  _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'
+	fi
+      fi
+      ;;
+
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+            _LT_TAGVAR(archive_expsym_cmds, $1)=''
+        ;;
+      m68k)
+            _LT_TAGVAR(archive_cmds, $1)='$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)'
+            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+            _LT_TAGVAR(hardcode_minus_L, $1)=yes
+        ;;
+      esac
+      ;;
+
+    bsdi[[45]]*)
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)=-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.
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+      _LT_TAGVAR(allow_undefined_flag, $1)=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.
+      _LT_TAGVAR(archive_cmds, $1)='$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.
+      _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
+      # FIXME: Should let the user specify the lib program.
+      _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
+      _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
+      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+      ;;
+
+    darwin* | rhapsody*)
+      _LT_DARWIN_LINKER_FEATURES($1)
+      ;;
+
+    dgux*)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    freebsd1*)
+      _LT_TAGVAR(ld_shlibs, $1)=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*)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+    freebsd2*)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+    freebsd* | dragonfly*)
+      _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    hpux9*)
+      if test "$GCC" = yes; then
+	_LT_TAGVAR(archive_cmds, $1)='$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
+	_LT_TAGVAR(archive_cmds, $1)='$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
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+
+      # hardcode_minus_L: Not really in the search PATH,
+      # but as the default location of the library.
+      _LT_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+      ;;
+
+    hpux10*)
+      if test "$GCC" = yes -a "$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'
+      fi
+      if test "$with_gnu_ld" = no; then
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+	_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
+	_LT_TAGVAR(hardcode_libdir_separator, $1)=:
+	_LT_TAGVAR(hardcode_direct, $1)=yes
+	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+	# hardcode_minus_L: Not really in the search PATH,
+	# but as the default location of the library.
+	_LT_TAGVAR(hardcode_minus_L, $1)=yes
+      fi
+      ;;
+
+    hpux11*)
+      if test "$GCC" = yes -a "$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'
+	  ;;
+	ia64*)
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	*)
+	  _LT_TAGVAR(archive_cmds, $1)='$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*)
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+	ia64*)
+	  _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'
+	  ;;
+	esac
+      fi
+      if test "$with_gnu_ld" = no; then
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+	_LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	case $host_cpu in
+	hppa*64*|ia64*)
+	  _LT_TAGVAR(hardcode_direct, $1)=no
+	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	  ;;
+	*)
+	  _LT_TAGVAR(hardcode_direct, $1)=yes
+	  _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+
+	  # hardcode_minus_L: Not really in the search PATH,
+	  # but as the default location of the library.
+	  _LT_TAGVAR(hardcode_minus_L, $1)=yes
+	  ;;
+	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'
+	# 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'
+        )
+        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'
+      fi
+      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+      _LT_TAGVAR(inherit_rpath, $1)=yes
+      _LT_TAGVAR(link_all_deplibs, $1)=yes
+      ;;
+
+    netbsd*)
+      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+	_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
+      else
+	_LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
+      fi
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    newsos6)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    *nto* | *qnx*)
+      ;;
+
+    openbsd*)
+      if test -f /usr/libexec/ld.so; then
+	_LT_TAGVAR(hardcode_direct, $1)=yes
+	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	_LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+	if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	  _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+	else
+	  case $host_os in
+	   openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
+	     _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+	     _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+	     ;;
+	   *)
+	     _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+	     _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	     ;;
+	  esac
+	fi
+      else
+	_LT_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    os2*)
+      _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(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'
+      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'
+      fi
+      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+      ;;
+
+    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(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_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'
+
+	# Both c and cxx compiler support -rpath directly
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+      fi
+      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+      ;;
+
+    solaris*)
+      _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
+      if test "$GCC" = yes; then
+	wlarc='${wl}'
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='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=''
+	  _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  _LT_TAGVAR(archive_expsym_cmds, $1)='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}'
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
+	  _LT_TAGVAR(archive_expsym_cmds, $1)='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
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=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
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+	else
+	  _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
+	fi
+	;;
+      esac
+      _LT_TAGVAR(link_all_deplibs, $1)=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.
+	_LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	_LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    sysv4)
+      case $host_vendor in
+	sni)
+	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
+	;;
+	siemens)
+	  ## LD is ld it makes a PLAMLIB
+	  ## CC just makes a GrossModule.
+	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+	  _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
+	  _LT_TAGVAR(hardcode_direct, $1)=no
+        ;;
+	motorola)
+	  _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	  _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
+	;;
+      esac
+      runpath_var='LD_RUN_PATH'
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    sysv4.3*)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+	_LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	runpath_var=LD_RUN_PATH
+	hardcode_runpath_var=yes
+	_LT_TAGVAR(ld_shlibs, $1)=yes
+      fi
+      ;;
+
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
+      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      runpath_var='LD_RUN_PATH'
+
+      if test "$GCC" = yes; then
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	_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'
+      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.
+      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+      _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+      _LT_TAGVAR(link_all_deplibs, $1)=yes
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+      runpath_var='LD_RUN_PATH'
+
+      if test "$GCC" = yes; then
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+	_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'
+      fi
+      ;;
+
+    uts4*)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    *)
+      _LT_TAGVAR(ld_shlibs, $1)=no
+      ;;
+    esac
+
+    if test x$host_vendor = xsni; then
+      case $host in
+      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym'
+	;;
+      esac
+    fi
+  fi
+])
+AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
+test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+
+_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
+
+_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
+_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
+_LT_DECL([], [extract_expsyms_cmds], [2],
+    [The commands to extract the exported symbol list from a shared archive])
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
+x|xyes)
+  # Assume -lc should be added
+  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+
+  if test "$enable_shared" = yes && test "$GCC" = yes; then
+    case $_LT_TAGVAR(archive_cmds, $1) 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.
+      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)])
+      ;;
+    esac
+  fi
+  ;;
+esac
+
+_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
+    [Whether or not to add -lc for building shared libraries])
+_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
+    [enable_shared_with_static_runtimes], [0],
+    [Whether or not to disallow shared libs when runtime libs are static])
+_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
+    [Compiler flag to allow reflexive dlopens])
+_LT_TAGDECL([], [whole_archive_flag_spec], [1],
+    [Compiler flag to generate shared objects directly from archives])
+_LT_TAGDECL([], [compiler_needs_object], [1],
+    [Whether the compiler copes with passing no objects directly])
+_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
+    [Create an old-style archive from a shared archive])
+_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
+    [Create a temporary old-style archive to link instead of a shared archive])
+_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
+_LT_TAGDECL([], [archive_expsym_cmds], [2])
+_LT_TAGDECL([], [module_cmds], [2],
+    [Commands used to build a loadable module if different from building
+    a shared archive.])
+_LT_TAGDECL([], [module_expsym_cmds], [2])
+_LT_TAGDECL([], [with_gnu_ld], [1],
+    [Whether we are building with GNU ld or not])
+_LT_TAGDECL([], [allow_undefined_flag], [1],
+    [Flag that allows shared libraries with undefined symbols to be built])
+_LT_TAGDECL([], [no_undefined_flag], [1],
+    [Flag that enforces no undefined symbols])
+_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
+    [Flag to hardcode $libdir into a binary during linking.
+    This must work even if $libdir does not exist])
+_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1],
+    [[If ld is used when linking, flag to hardcode $libdir into a binary
+    during linking.  This must work even if $libdir does not exist]])
+_LT_TAGDECL([], [hardcode_libdir_separator], [1],
+    [Whether we need a single "-rpath" flag with a separated argument])
+_LT_TAGDECL([], [hardcode_direct], [0],
+    [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
+    DIR into the resulting binary])
+_LT_TAGDECL([], [hardcode_direct_absolute], [0],
+    [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
+    DIR into the resulting binary and the resulting library dependency is
+    "absolute", i.e impossible to change by setting ${shlibpath_var} if the
+    library is relocated])
+_LT_TAGDECL([], [hardcode_minus_L], [0],
+    [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
+    into the resulting binary])
+_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
+    [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
+    into the resulting binary])
+_LT_TAGDECL([], [hardcode_automatic], [0],
+    [Set to "yes" if building a shared library automatically hardcodes DIR
+    into the library and all subsequent libraries and executables linked
+    against it])
+_LT_TAGDECL([], [inherit_rpath], [0],
+    [Set to yes if linker adds runtime paths of dependent libraries
+    to runtime path list])
+_LT_TAGDECL([], [link_all_deplibs], [0],
+    [Whether libtool must link a program against all its dependency libraries])
+_LT_TAGDECL([], [fix_srcfile_path], [1],
+    [Fix the shell variable $srcfile for the compiler])
+_LT_TAGDECL([], [always_export_symbols], [0],
+    [Set to "yes" if exported symbols are required])
+_LT_TAGDECL([], [export_symbols_cmds], [2],
+    [The commands to list exported symbols])
+_LT_TAGDECL([], [exclude_expsyms], [1],
+    [Symbols that should not be listed in the preloaded symbols])
+_LT_TAGDECL([], [include_expsyms], [1],
+    [Symbols that must always be exported])
+_LT_TAGDECL([], [prelink_cmds], [2],
+    [Commands necessary for linking programs (against libraries) with templates])
+_LT_TAGDECL([], [file_list_spec], [1],
+    [Specify filename containing input files])
+dnl FIXME: Not yet implemented
+dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
+dnl    [Compiler flag to generate thread safe objects])
+])# _LT_LINKER_SHLIBS
+
+
+# _LT_LANG_C_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_C_CONFIG],
+[m4_require([_LT_DECL_EGREP])dnl
+lt_save_CC="$CC"
+AC_LANG_PUSH(C)
+
+# Source file extension for C test sources.
+ac_ext=c
+
+# Object file extension for compiled C test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$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);}'
+
+_LT_TAG_COMPILER
+# 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
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+## 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_COMPILER_NO_RTTI($1)
+  _LT_COMPILER_PIC($1)
+  _LT_COMPILER_C_O($1)
+  _LT_COMPILER_FILE_LOCKS($1)
+  _LT_LINKER_SHLIBS($1)
+  _LT_SYS_DYNAMIC_LINKER($1)
+  _LT_LINKER_HARDCODE_LIBPATH($1)
+  LT_SYS_DLOPEN_SELF
+  _LT_CMD_STRIPLIB
+
+  # Report which library types will actually be built
+  AC_MSG_CHECKING([if libtool supports shared libraries])
+  AC_MSG_RESULT([$can_build_shared])
+
+  AC_MSG_CHECKING([whether to build shared libraries])
+  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
+  AC_MSG_RESULT([$enable_shared])
+
+  AC_MSG_CHECKING([whether to build static libraries])
+  # Make sure either enable_shared or enable_static is yes.
+  test "$enable_shared" = yes || enable_static=yes
+  AC_MSG_RESULT([$enable_static])
+
+  _LT_CONFIG($1)
+fi
+AC_LANG_POP
+CC="$lt_save_CC"
+])# _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_DECL_EGREP])dnl
+
+AC_LANG_PUSH(C++)
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(compiler_needs_object, $1)=no
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $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(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for C++ test sources.
+ac_ext=cpp
+
+# Object file extension for compiled C++ test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the CXX compiler isn't working.  Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test "$_lt_caught_CXX_error" != yes; then
+  # 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(int, char *[[]]) { return(0); }'
+
+  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+  _LT_TAG_COMPILER
+
+  # save warnings/boilerplate of simple test code
+  _LT_COMPILER_BOILERPLATE
+  _LT_LINKER_BOILERPLATE
+
+  # Allow CC to be a program name with arguments.
+  lt_save_CC=$CC
+  lt_save_LD=$LD
+  lt_save_GCC=$GCC
+  GCC=$GXX
+  lt_save_with_gnu_ld=$with_gnu_ld
+  lt_save_path_LD=$lt_cv_path_LD
+  if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
+    lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
+  else
+    $as_unset lt_cv_prog_gnu_ld
+  fi
+  if test -n "${lt_cv_path_LDCXX+set}"; then
+    lt_cv_path_LD=$lt_cv_path_LDCXX
+  else
+    $as_unset lt_cv_path_LD
+  fi
+  test -z "${LDCXX+set}" || LD=$LDCXX
+  CC=${CXX-"c++"}
+  compiler=$CC
+  _LT_TAGVAR(compiler, $1)=$CC
+  _LT_CC_BASENAME([$compiler])
+
+  if test -n "$compiler"; then
+    # We don't want -fno-exception when compiling C++ code, so set the
+    # no_builtin_flag separately
+    if test "$GXX" = yes; then
+      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
+    else
+      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+    fi
+
+    if test "$GXX" = yes; then
+      # Set up default GNU C++ configuration
+
+      LT_PATH_LD
+
+      # Check if GNU C++ uses GNU ld as the underlying linker, since the
+      # archiving commands below assume that GNU ld is being used.
+      if test "$with_gnu_ld" = yes; then
+        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $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'
+
+        # If archive_cmds runs LD, not CC, wlarc should be empty
+        # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
+        #     investigate it a little bit more. (MM)
+        wlarc='${wl}'
+
+        # ancient GNU ld didn't support --whole-archive et. al.
+        if eval "`$CC -print-prog-name=ld` --help 2>&1" |
+	  $GREP 'no-whole-archive' > /dev/null; then
+          _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+        else
+          _LT_TAGVAR(whole_archive_flag_spec, $1)=
+        fi
+      else
+        with_gnu_ld=no
+        wlarc=
+
+        # A generic and very simple default shared library creation
+        # command for GNU C++ for the case where it uses the native
+        # linker, instead of GNU ld.  If possible, this setting should
+        # overridden to take advantage of the native linker features on
+        # the platform it is being used on.
+        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+      fi
+
+      # 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"'
+
+    else
+      GXX=no
+      with_gnu_ld=no
+      wlarc=
+    fi
+
+    # PORTME: fill in a description of your system's C++ link characteristics
+    AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+    _LT_TAGVAR(ld_shlibs, $1)=yes
+    case $host_os in
+      aix3*)
+        # FIXME: insert proper C++ library support
+        _LT_TAGVAR(ld_shlibs, $1)=no
+        ;;
+      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
+          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
+	      case $ld_flag in
+	      *-brtl*)
+	        aix_use_runtimelinking=yes
+	        break
+	        ;;
+	      esac
+	    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.
+
+        _LT_TAGVAR(archive_cmds, $1)=''
+        _LT_TAGVAR(hardcode_direct, $1)=yes
+        _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+        _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+        _LT_TAGVAR(link_all_deplibs, $1)=yes
+        _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
+
+        if test "$GXX" = 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
+	    _LT_TAGVAR(hardcode_direct, $1)=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
+	    _LT_TAGVAR(hardcode_minus_L, $1)=yes
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+	    _LT_TAGVAR(hardcode_libdir_separator, $1)=
+	  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
+
+        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${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.
+        _LT_TAGVAR(always_export_symbols, $1)=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.
+          _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
+          # Determine the default libpath from the value encoded in an 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"
+        else
+          if test "$host_cpu" = ia64; then
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+	    _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+	    _LT_TAGVAR(archive_expsym_cmds, $1)="\$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.
+	    _LT_SYS_MODULE_PATH_AIX
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${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.
+	    _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'
+	    _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'
+          fi
+        fi
+        ;;
+
+      beos*)
+	if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+	  _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+	  # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+	  # support --undefined.  This deserves some investigation.  FIXME
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	else
+	  _LT_TAGVAR(ld_shlibs, $1)=no
+	fi
+	;;
+
+      chorus*)
+        case $cc_basename in
+          *)
+	  # FIXME: insert proper C++ library support
+	  _LT_TAGVAR(ld_shlibs, $1)=no
+	  ;;
+        esac
+        ;;
+
+      cygwin* | mingw* | pw32* | cegcc*)
+        # _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(allow_undefined_flag, $1)=unsupported
+        _LT_TAGVAR(always_export_symbols, $1)=no
+        _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+
+        if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+          _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $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...
+          _LT_TAGVAR(archive_expsym_cmds, $1)='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 -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+        else
+          _LT_TAGVAR(ld_shlibs, $1)=no
+        fi
+        ;;
+      darwin* | rhapsody*)
+        _LT_DARWIN_LINKER_FEATURES($1)
+	;;
+
+      dgux*)
+        case $cc_basename in
+          ec++*)
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+          ghcx*)
+	    # Green Hills C++ Compiler
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+          *)
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+        esac
+        ;;
+
+      freebsd[[12]]*)
+        # C++ shared libraries reported to be fairly broken before
+	# switch to ELF
+        _LT_TAGVAR(ld_shlibs, $1)=no
+        ;;
+
+      freebsd-elf*)
+        _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+        ;;
+
+      freebsd* | dragonfly*)
+        # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
+        # conventions
+        _LT_TAGVAR(ld_shlibs, $1)=yes
+        ;;
+
+      gnu*)
+        ;;
+
+      hpux9*)
+        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+        _LT_TAGVAR(hardcode_direct, $1)=yes
+        _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+				             # but as the default
+				             # location of the library.
+
+        case $cc_basename in
+          CC*)
+            # FIXME: insert proper C++ library support
+            _LT_TAGVAR(ld_shlibs, $1)=no
+            ;;
+          aCC*)
+            _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+            # Commands to make compiler produce verbose output that lists
+            # what "hidden" libraries, object files and flags are used when
+            # linking a shared library.
+            #
+            # There doesn't appear to be a way to prevent this compiler from
+            # 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'
+            ;;
+          *)
+            if test "$GXX" = yes; then
+              _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+            else
+              # FIXME: insert proper C++ library support
+              _LT_TAGVAR(ld_shlibs, $1)=no
+            fi
+            ;;
+        esac
+        ;;
+
+      hpux10*|hpux11*)
+        if test $with_gnu_ld = no; then
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+	  _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+          case $host_cpu in
+            hppa*64*|ia64*)
+              ;;
+            *)
+	      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+              ;;
+          esac
+        fi
+        case $host_cpu in
+          hppa*64*|ia64*)
+            _LT_TAGVAR(hardcode_direct, $1)=no
+            _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+            ;;
+          *)
+            _LT_TAGVAR(hardcode_direct, $1)=yes
+            _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+            _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+					         # but as the default
+					         # location of the library.
+            ;;
+        esac
+
+        case $cc_basename in
+          CC*)
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+          aCC*)
+	    case $host_cpu in
+	      hppa*64*)
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	        ;;
+	      ia64*)
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	        ;;
+	      *)
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	        ;;
+	    esac
+	    # Commands to make compiler produce verbose output that lists
+	    # what "hidden" libraries, object files and flags are used when
+	    # linking a shared library.
+	    #
+	    # There doesn't appear to be a way to prevent this compiler from
+	    # 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'
+	    ;;
+          *)
+	    if test "$GXX" = yes; then
+	      if test $with_gnu_ld = no; then
+	        case $host_cpu in
+	          hppa*64*)
+	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	            ;;
+	          ia64*)
+	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	            ;;
+	          *)
+	            _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+	            ;;
+	        esac
+	      fi
+	    else
+	      # FIXME: insert proper C++ library support
+	      _LT_TAGVAR(ld_shlibs, $1)=no
+	    fi
+	    ;;
+        esac
+        ;;
+
+      interix[[3-9]]*)
+	_LT_TAGVAR(hardcode_direct, $1)=no
+	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${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.
+	_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+	_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'
+	;;
+      irix5* | irix6*)
+        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'
+
+	    # Archives containing C++ object files must be created using
+	    # "CC -ar", where "CC" is the IRIX C++ compiler.  This is
+	    # necessary to make sure instantiated templates are included
+	    # in the archive.
+	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
+	    ;;
+          *)
+	    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'
+	      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'
+	      fi
+	    fi
+	    _LT_TAGVAR(link_all_deplibs, $1)=yes
+	    ;;
+        esac
+        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+        _LT_TAGVAR(inherit_rpath, $1)=yes
+        ;;
+
+      linux* | k*bsd*-gnu)
+        case $cc_basename in
+          KCC*)
+	    # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+	    # KCC will only create a shared library if the output file
+	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
+	    # to its proper name (with version) after linking.
+	    _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
+	    # Commands to make compiler produce verbose output that lists
+	    # what "hidden" libraries, object files and flags are used when
+	    # linking a shared library.
+	    #
+	    # There doesn't appear to be a way to prevent this compiler from
+	    # 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'
+
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+
+	    # Archives containing C++ object files must be created using
+	    # "CC -Bstatic", where "CC" is the KAI C++ compiler.
+	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
+	    ;;
+	  icpc* | ecpc* )
+	    # Intel C++
+	    with_gnu_ld=yes
+	    # version 8.0 and above of icpc choke on multiply defined symbols
+	    # if we add $predep_objects and $postdep_objects, however 7.1 and
+	    # earlier do not add the objects themselves.
+	    case `$CC -V 2>&1` in
+	      *"Version 7."*)
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+		_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+		;;
+	      *)  # Version 8.0 or newer
+	        tmp_idyn=
+	        case $host_cpu in
+		  ia64*) tmp_idyn=' -i_dynamic';;
+		esac
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+		_LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+		;;
+	    esac
+	    _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+	    _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+	    ;;
+          pgCC* | pgcpp*)
+            # Portland Group C++ compiler
+	    case `$CC -V` in
+	    *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`"'
+	      _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`~
+		$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'
+	      _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'
+	      ;;
+	    *) # Version 6 will 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'
+	      ;;
+	    esac
+
+	    _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'
+            ;;
+	  cxx*)
+	    # Compaq C++
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname  -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
+
+	    runpath_var=LD_RUN_PATH
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	    # Commands to make compiler produce verbose output that lists
+	    # what "hidden" libraries, object files and flags are used when
+	    # linking a shared library.
+	    #
+	    # There doesn't appear to be a way to prevent this compiler from
+	    # 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'
+	    ;;
+	  xl*)
+	    # 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 -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$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~
+		$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+	    fi
+	    ;;
+	  *)
+	    case `$CC -V 2>&1 | sed 5q` in
+	    *Sun\ C*)
+	      # Sun C++ 5.9
+	      _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+	      _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(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'
+
+	      # Archives containing C++ object files must be created using
+	      # "CC -xar", where "CC" is the Sun C++ compiler.  This is
+	      # necessary to make sure instantiated templates are included
+	      # in the archive.
+	      _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+	      ;;
+	    esac
+	    ;;
+	esac
+	;;
+
+      lynxos*)
+        # FIXME: insert proper C++ library support
+	_LT_TAGVAR(ld_shlibs, $1)=no
+	;;
+
+      m88k*)
+        # FIXME: insert proper C++ library support
+        _LT_TAGVAR(ld_shlibs, $1)=no
+	;;
+
+      mvs*)
+        case $cc_basename in
+          cxx*)
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+	  *)
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+	esac
+	;;
+
+      netbsd*)
+        if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+	  _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
+	  wlarc=
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+	  _LT_TAGVAR(hardcode_direct, $1)=yes
+	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	fi
+	# Workaround some broken pre-1.5 toolchains
+	output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
+	;;
+
+      *nto* | *qnx*)
+        _LT_TAGVAR(ld_shlibs, $1)=yes
+	;;
+
+      openbsd2*)
+        # C++ shared libraries are fairly broken
+	_LT_TAGVAR(ld_shlibs, $1)=no
+	;;
+
+      openbsd*)
+	if test -f /usr/libexec/ld.so; then
+	  _LT_TAGVAR(hardcode_direct, $1)=yes
+	  _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	  _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+	  _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+	  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
+	    _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
+	else
+	  _LT_TAGVAR(ld_shlibs, $1)=no
+	fi
+	;;
+
+      osf3* | osf4* | osf5*)
+        case $cc_basename in
+          KCC*)
+	    # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+	    # KCC will only create a shared library if the output file
+	    # ends with ".so" (or ".sl" for HP-UX), so rename the library
+	    # to its proper name (with version) after linking.
+	    _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	    # Archives containing C++ object files must be created using
+	    # the KAI C++ compiler.
+	    case $host in
+	      osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
+	      *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
+	    esac
+	    ;;
+          RCC*)
+	    # Rational C++ 2.4.1
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+          cxx*)
+	    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(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_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~
+	          $RM $lib.exp'
+	        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+		;;
+	    esac
+
+	    _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	    # Commands to make compiler produce verbose output that lists
+	    # what "hidden" libraries, object files and flags are used when
+	    # linking a shared library.
+	    #
+	    # There doesn't appear to be a way to prevent this compiler from
+	    # 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'
+	    ;;
+	  *)
+	    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}-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'
+		  ;;
+	      esac
+
+	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+	      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+	      # 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"'
+
+	    else
+	      # FIXME: insert proper C++ library support
+	      _LT_TAGVAR(ld_shlibs, $1)=no
+	    fi
+	    ;;
+        esac
+        ;;
+
+      psos*)
+        # FIXME: insert proper C++ library support
+        _LT_TAGVAR(ld_shlibs, $1)=no
+        ;;
+
+      sunos4*)
+        case $cc_basename in
+          CC*)
+	    # Sun C++ 4.x
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+          lcc*)
+	    # Lucid
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+          *)
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+        esac
+        ;;
+
+      solaris*)
+        case $cc_basename in
+          CC*)
+	    # Sun C++ 4.2, 5.x and Centerline C++
+            _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
+	    _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+	    _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)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+	      $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+	    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+	    _LT_TAGVAR(hardcode_shlibpath_var, $1)=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'.
+	        # Supported since Solaris 2.6 (maybe 2.5.1?)
+		_LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
+	        ;;
+	    esac
+	    _LT_TAGVAR(link_all_deplibs, $1)=yes
+
+	    output_verbose_link_cmd='echo'
+
+	    # Archives containing C++ object files must be created using
+	    # "CC -xar", where "CC" is the Sun C++ compiler.  This is
+	    # necessary to make sure instantiated templates are included
+	    # in the archive.
+	    _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+	    ;;
+          gcx*)
+	    # Green Hills C++ Compiler
+	    _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+
+	    # The C++ compiler must be used to create the archive.
+	    _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
+	    ;;
+          *)
+	    # GNU C++ compiler with Solaris linker
+	    if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+	      _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
+	      if $CC --version | $GREP -v '^2\.7' > /dev/null; then
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+	        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+		  $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+	        # 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"'
+	      else
+	        # g++ 2.7 appears to require `-G' NOT `-shared' on this
+	        # platform.
+	        _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+	        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+		  $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+	        # 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"'
+	      fi
+
+	      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
+	      case $host_os in
+		solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+		*)
+		  _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+		  ;;
+	      esac
+	    fi
+	    ;;
+        esac
+        ;;
+
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
+      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      runpath_var='LD_RUN_PATH'
+
+      case $cc_basename in
+        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(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	  ;;
+      esac
+      ;;
+
+      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.
+	_LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+	_LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+	_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+	_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+	_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
+	_LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+	_LT_TAGVAR(link_all_deplibs, $1)=yes
+	_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+	runpath_var='LD_RUN_PATH'
+
+	case $cc_basename in
+          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(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	    _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+	    ;;
+	esac
+      ;;
+
+      tandem*)
+        case $cc_basename in
+          NCC*)
+	    # NonStop-UX NCC 3.20
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+          *)
+	    # FIXME: insert proper C++ library support
+	    _LT_TAGVAR(ld_shlibs, $1)=no
+	    ;;
+        esac
+        ;;
+
+      vxworks*)
+        # FIXME: insert proper C++ library support
+        _LT_TAGVAR(ld_shlibs, $1)=no
+        ;;
+
+      *)
+        # FIXME: insert proper C++ library support
+        _LT_TAGVAR(ld_shlibs, $1)=no
+        ;;
+    esac
+
+    AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
+    test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+
+    _LT_TAGVAR(GCC, $1)="$GXX"
+    _LT_TAGVAR(LD, $1)="$LD"
+
+    ## 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...
+    _LT_SYS_HIDDEN_LIBDEPS($1)
+    _LT_COMPILER_PIC($1)
+    _LT_COMPILER_C_O($1)
+    _LT_COMPILER_FILE_LOCKS($1)
+    _LT_LINKER_SHLIBS($1)
+    _LT_SYS_DYNAMIC_LINKER($1)
+    _LT_LINKER_HARDCODE_LIBPATH($1)
+
+    _LT_CONFIG($1)
+  fi # test -n "$compiler"
+
+  CC=$lt_save_CC
+  LDCXX=$LD
+  LD=$lt_save_LD
+  GCC=$lt_save_GCC
+  with_gnu_ld=$lt_save_with_gnu_ld
+  lt_cv_path_LDCXX=$lt_cv_path_LD
+  lt_cv_path_LD=$lt_save_path_LD
+  lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
+  lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
+fi # test "$_lt_caught_CXX_error" != yes
+
+AC_LANG_POP
+])# _LT_LANG_CXX_CONFIG
+
+
+# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
+# ---------------------------------
+# Figure out "hidden" library dependencies from verbose
+# compiler output when linking a shared library.
+# Parse the compiler output and extract the necessary
+# objects, libraries and library flags.
+m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+# Dependencies to place before and after the object being linked:
+_LT_TAGVAR(predep_objects, $1)=
+_LT_TAGVAR(postdep_objects, $1)=
+_LT_TAGVAR(predeps, $1)=
+_LT_TAGVAR(postdeps, $1)=
+_LT_TAGVAR(compiler_lib_search_path, $1)=
+
+dnl we can't use the lt_simple_compile_test_code here,
+dnl because it contains code intended for an executable,
+dnl not a library.  It's possible we should let each
+dnl tag define a new lt_????_link_test_code variable,
+dnl but it's only used here...
+m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
+int a;
+void foo (void) { a = 0; }
+_LT_EOF
+], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
+class Foo
+{
+public:
+  Foo (void) { a = 0; }
+private:
+  int a;
+};
+_LT_EOF
+], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
+      subroutine foo
+      implicit none
+      integer*4 a
+      a=0
+      return
+      end
+_LT_EOF
+], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
+      subroutine foo
+      implicit none
+      integer a
+      a=0
+      return
+      end
+_LT_EOF
+], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
+public class foo {
+  private int a;
+  public void bar (void) {
+    a = 0;
+  }
+};
+_LT_EOF
+])
+dnl Parse the compiler output and extract the necessary
+dnl objects, libraries and library flags.
+if AC_TRY_EVAL(ac_compile); then
+  # Parse the compiler output and extract the necessary
+  # objects, libraries and library flags.
+
+  # Sentinel used to keep track of whether or not we are before
+  # the conftest object file.
+  pre_test_object_deps_done=no
+
+  for p in `eval "$output_verbose_link_cmd"`; do
+    case $p in
+
+    -L* | -R* | -l*)
+       # Some compilers place space between "-{L,R}" and the path.
+       # Remove the space.
+       if test $p = "-L" ||
+          test $p = "-R"; then
+	 prev=$p
+	 continue
+       else
+	 prev=
+       fi
+
+       if test "$pre_test_object_deps_done" = no; then
+	 case $p in
+	 -L* | -R*)
+	   # Internal compiler library paths should come after those
+	   # provided the user.  The postdeps already come after the
+	   # user supplied libs so there is no need to process them.
+	   if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
+	     _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
+	   else
+	     _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
+	   fi
+	   ;;
+	 # The "-l" case would never come before the object being
+	 # linked, so don't bother handling this case.
+	 esac
+       else
+	 if test -z "$_LT_TAGVAR(postdeps, $1)"; then
+	   _LT_TAGVAR(postdeps, $1)="${prev}${p}"
+	 else
+	   _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
+	 fi
+       fi
+       ;;
+
+    *.$objext)
+       # This assumes that the test object file only shows up
+       # once in the compiler output.
+       if test "$p" = "conftest.$objext"; then
+	 pre_test_object_deps_done=yes
+	 continue
+       fi
+
+       if test "$pre_test_object_deps_done" = no; then
+	 if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
+	   _LT_TAGVAR(predep_objects, $1)="$p"
+	 else
+	   _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
+	 fi
+       else
+	 if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
+	   _LT_TAGVAR(postdep_objects, $1)="$p"
+	 else
+	   _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
+	 fi
+       fi
+       ;;
+
+    *) ;; # Ignore the rest.
+
+    esac
+  done
+
+  # Clean up.
+  rm -f a.out a.exe
+else
+  echo "libtool.m4: error: problem compiling $1 test program"
+fi
+
+$RM -f confest.$objext
+
+# PORTME: override above test on systems where it is broken
+m4_if([$1], [CXX],
+[case $host_os in
+interix[[3-9]]*)
+  # Interix 3.5 installs completely hosed .la files for C++, so rather than
+  # hack all around it, let's just trust "g++" to DTRT.
+  _LT_TAGVAR(predep_objects,$1)=
+  _LT_TAGVAR(postdep_objects,$1)=
+  _LT_TAGVAR(postdeps,$1)=
+  ;;
+
+linux*)
+  case `$CC -V 2>&1 | sed 5q` in
+  *Sun\ C*)
+    # Sun C++ 5.9
+
+    # The more standards-conforming stlport4 library is
+    # incompatible with the Cstd library. Avoid specifying
+    # it if it's in CXXFLAGS. Ignore libCrun as
+    # -library=stlport4 depends on it.
+    case " $CXX $CXXFLAGS " in
+    *" -library=stlport4 "*)
+      solaris_use_stlport4=yes
+      ;;
+    esac
+
+    if test "$solaris_use_stlport4" != yes; then
+      _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
+    fi
+    ;;
+  esac
+  ;;
+
+solaris*)
+  case $cc_basename in
+  CC*)
+    # The more standards-conforming stlport4 library is
+    # incompatible with the Cstd library. Avoid specifying
+    # it if it's in CXXFLAGS. Ignore libCrun as
+    # -library=stlport4 depends on it.
+    case " $CXX $CXXFLAGS " in
+    *" -library=stlport4 "*)
+      solaris_use_stlport4=yes
+      ;;
+    esac
+
+    # Adding this requires a known-good setup of shared libraries for
+    # Sun compiler versions before 5.6, else PIC objects from an old
+    # archive will be linked into the output, leading to subtle bugs.
+    if test "$solaris_use_stlport4" != yes; then
+      _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
+    fi
+    ;;
+  esac
+  ;;
+esac
+])
+
+case " $_LT_TAGVAR(postdeps, $1) " in
+*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
+esac
+ _LT_TAGVAR(compiler_lib_search_dirs, $1)=
+if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
+ _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
+fi
+_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
+    [The directories searched by this compiler when creating a shared library])
+_LT_TAGDECL([], [predep_objects], [1],
+    [Dependencies to place before and after the objects being linked to
+    create a shared library])
+_LT_TAGDECL([], [postdep_objects], [1])
+_LT_TAGDECL([], [predeps], [1])
+_LT_TAGDECL([], [postdeps], [1])
+_LT_TAGDECL([], [compiler_lib_search_path], [1],
+    [The library search path used internally by the compiler when linking
+    a shared library])
+])# _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)
+
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $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(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for f77 test sources.
+ac_ext=f
+
+# Object file extension for compiled f77 test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the F77 compiler isn't working.  Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test "$_lt_disable_F77" != yes; then
+  # Code to be used in simple compile tests
+  lt_simple_compile_test_code="\
+      subroutine t
+      return
+      end
+"
+
+  # Code to be used in simple link tests
+  lt_simple_link_test_code="\
+      program t
+      end
+"
+
+  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+  _LT_TAG_COMPILER
+
+  # save warnings/boilerplate of simple test code
+  _LT_COMPILER_BOILERPLATE
+  _LT_LINKER_BOILERPLATE
+
+  # Allow CC to be a program name with arguments.
+  lt_save_CC="$CC"
+  lt_save_GCC=$GCC
+  CC=${F77-"f77"}
+  compiler=$CC
+  _LT_TAGVAR(compiler, $1)=$CC
+  _LT_CC_BASENAME([$compiler])
+  GCC=$G77
+  if test -n "$compiler"; then
+    AC_MSG_CHECKING([if libtool supports shared libraries])
+    AC_MSG_RESULT([$can_build_shared])
+
+    AC_MSG_CHECKING([whether to build shared libraries])
+    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
+    AC_MSG_RESULT([$enable_shared])
+
+    AC_MSG_CHECKING([whether to build static libraries])
+    # Make sure either enable_shared or enable_static is yes.
+    test "$enable_shared" = yes || enable_static=yes
+    AC_MSG_RESULT([$enable_static])
+
+    _LT_TAGVAR(GCC, $1)="$G77"
+    _LT_TAGVAR(LD, $1)="$LD"
+
+    ## 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...
+    _LT_COMPILER_PIC($1)
+    _LT_COMPILER_C_O($1)
+    _LT_COMPILER_FILE_LOCKS($1)
+    _LT_LINKER_SHLIBS($1)
+    _LT_SYS_DYNAMIC_LINKER($1)
+    _LT_LINKER_HARDCODE_LIBPATH($1)
+
+    _LT_CONFIG($1)
+  fi # test -n "$compiler"
+
+  GCC=$lt_save_GCC
+  CC="$lt_save_CC"
+fi # test "$_lt_disable_F77" != yes
+
+AC_LANG_POP
+])# _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)
+
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $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(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for fc test sources.
+ac_ext=${ac_fc_srcext-f}
+
+# Object file extension for compiled fc test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the FC compiler isn't working.  Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test "$_lt_disable_FC" != yes; then
+  # Code to be used in simple compile tests
+  lt_simple_compile_test_code="\
+      subroutine t
+      return
+      end
+"
+
+  # Code to be used in simple link tests
+  lt_simple_link_test_code="\
+      program t
+      end
+"
+
+  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+  _LT_TAG_COMPILER
+
+  # save warnings/boilerplate of simple test code
+  _LT_COMPILER_BOILERPLATE
+  _LT_LINKER_BOILERPLATE
+
+  # Allow CC to be a program name with arguments.
+  lt_save_CC="$CC"
+  lt_save_GCC=$GCC
+  CC=${FC-"f95"}
+  compiler=$CC
+  GCC=$ac_cv_fc_compiler_gnu
+
+  _LT_TAGVAR(compiler, $1)=$CC
+  _LT_CC_BASENAME([$compiler])
+
+  if test -n "$compiler"; then
+    AC_MSG_CHECKING([if libtool supports shared libraries])
+    AC_MSG_RESULT([$can_build_shared])
+
+    AC_MSG_CHECKING([whether to build shared libraries])
+    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
+    AC_MSG_RESULT([$enable_shared])
+
+    AC_MSG_CHECKING([whether to build static libraries])
+    # Make sure either enable_shared or enable_static is yes.
+    test "$enable_shared" = yes || enable_static=yes
+    AC_MSG_RESULT([$enable_static])
+
+    _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu"
+    _LT_TAGVAR(LD, $1)="$LD"
+
+    ## 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...
+    _LT_SYS_HIDDEN_LIBDEPS($1)
+    _LT_COMPILER_PIC($1)
+    _LT_COMPILER_C_O($1)
+    _LT_COMPILER_FILE_LOCKS($1)
+    _LT_LINKER_SHLIBS($1)
+    _LT_SYS_DYNAMIC_LINKER($1)
+    _LT_LINKER_HARDCODE_LIBPATH($1)
+
+    _LT_CONFIG($1)
+  fi # test -n "$compiler"
+
+  GCC=$lt_save_GCC
+  CC="$lt_save_CC"
+fi # test "$_lt_disable_FC" != yes
+
+AC_LANG_POP
+])# _LT_LANG_FC_CONFIG
+
+
+# _LT_LANG_GCJ_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for the GNU Java Compiler compiler
+# are suitably defined.  These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_GCJ_CONFIG],
+[AC_REQUIRE([LT_PROG_GCJ])dnl
+AC_LANG_SAVE
+
+# Source file extension for Java test sources.
+ac_ext=java
+
+# Object file extension for compiled Java test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="class foo {}"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+lt_save_GCC=$GCC
+GCC=yes
+CC=${GCJ-"gcj"}
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_TAGVAR(LD, $1)="$LD"
+_LT_CC_BASENAME([$compiler])
+
+# GCJ did not exist at the time GCC didn't implicitly link libc in.
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+
+## 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_COMPILER_NO_RTTI($1)
+  _LT_COMPILER_PIC($1)
+  _LT_COMPILER_C_O($1)
+  _LT_COMPILER_FILE_LOCKS($1)
+  _LT_LINKER_SHLIBS($1)
+  _LT_LINKER_HARDCODE_LIBPATH($1)
+
+  _LT_CONFIG($1)
+fi
+
+AC_LANG_RESTORE
+
+GCC=$lt_save_GCC
+CC="$lt_save_CC"
+])# _LT_LANG_GCJ_CONFIG
+
+
+# _LT_LANG_RC_CONFIG([TAG])
+# -------------------------
+# Ensure that the configuration variables for the Windows resource compiler
+# are suitably defined.  These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_RC_CONFIG],
+[AC_REQUIRE([LT_PROG_RC])dnl
+AC_LANG_SAVE
+
+# Source file extension for RC test sources.
+ac_ext=rc
+
+# Object file extension for compiled RC test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
+
+# Code to be used in simple link tests
+lt_simple_link_test_code="$lt_simple_compile_test_code"
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+lt_save_GCC=$GCC
+GCC=
+CC=${RC-"windres"}
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_CC_BASENAME([$compiler])
+_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+
+if test -n "$compiler"; then
+  :
+  _LT_CONFIG($1)
+fi
+
+GCC=$lt_save_GCC
+AC_LANG_RESTORE
+CC="$lt_save_CC"
+])# _LT_LANG_RC_CONFIG
+
+
+# LT_PROG_GCJ
+# -----------
+AC_DEFUN([LT_PROG_GCJ],
+[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
+  [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
+    [AC_CHECK_TOOL(GCJ, gcj,)
+      test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
+      AC_SUBST(GCJFLAGS)])])[]dnl
+])
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
+
+
+# LT_PROG_RC
+# ----------
+AC_DEFUN([LT_PROG_RC],
+[AC_CHECK_TOOL(RC, windres,)
+])
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_RC], [])
+
+
+# _LT_DECL_EGREP
+# --------------
+# If we don't have a new enough Autoconf to choose the best grep
+# available, choose the one first in the user's PATH.
+m4_defun([_LT_DECL_EGREP],
+[AC_REQUIRE([AC_PROG_EGREP])dnl
+AC_REQUIRE([AC_PROG_FGREP])dnl
+test -z "$GREP" && GREP=grep
+_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
+_LT_DECL([], [EGREP], [1], [An ERE matcher])
+_LT_DECL([], [FGREP], [1], [A literal string matcher])
+dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
+AC_SUBST([GREP])
+])
+
+
+# _LT_DECL_OBJDUMP
+# --------------
+# If we don't have a new enough Autoconf to choose the best objdump
+# available, choose the one first in the user's PATH.
+m4_defun([_LT_DECL_OBJDUMP],
+[AC_CHECK_TOOL(OBJDUMP, objdump, false)
+test -z "$OBJDUMP" && OBJDUMP=objdump
+_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
+AC_SUBST([OBJDUMP])
+])
+
+
+# _LT_DECL_SED
+# ------------
+# Check for a fully-functional sed program, that truncates
+# as few characters as possible.  Prefer GNU sed if found.
+m4_defun([_LT_DECL_SED],
+[AC_PROG_SED
+test -z "$SED" && SED=sed
+Xsed="$SED -e 1s/^X//"
+_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
+_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
+    [Sed that helps us avoid accidentally triggering echo(1) options like -n])
+])# _LT_DECL_SED
+
+m4_ifndef([AC_PROG_SED], [
+############################################################
+# NOTE: This macro has been submitted for inclusion into   #
+#  GNU Autoconf as AC_PROG_SED.  When it is available in   #
+#  a released version of Autoconf we should remove this    #
+#  macro and use it instead.                               #
+############################################################
+
+m4_defun([AC_PROG_SED],
+[AC_MSG_CHECKING([for a sed that does not truncate output])
+AC_CACHE_VAL(lt_cv_path_SED,
+[# Loop through the user's path and test for sed and gsed.
+# Then use that list of sed's as ones to test for truncation.
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for lt_ac_prog in sed gsed; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
+        lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
+      fi
+    done
+  done
+done
+IFS=$as_save_IFS
+lt_ac_max=0
+lt_ac_count=0
+# Add /usr/xpg4/bin/sed as it is typically found on Solaris
+# along with /bin/sed that truncates output.
+for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
+  test ! -f $lt_ac_sed && continue
+  cat /dev/null > conftest.in
+  lt_ac_count=0
+  echo $ECHO_N "0123456789$ECHO_C" >conftest.in
+  # Check for GNU sed and select it if it is found.
+  if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
+    lt_cv_path_SED=$lt_ac_sed
+    break
+  fi
+  while true; do
+    cat conftest.in conftest.in >conftest.tmp
+    mv conftest.tmp conftest.in
+    cp conftest.in conftest.nl
+    echo >>conftest.nl
+    $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
+    cmp -s conftest.out conftest.nl || break
+    # 10000 chars as input seems more than enough
+    test $lt_ac_count -gt 10 && break
+    lt_ac_count=`expr $lt_ac_count + 1`
+    if test $lt_ac_count -gt $lt_ac_max; then
+      lt_ac_max=$lt_ac_count
+      lt_cv_path_SED=$lt_ac_sed
+    fi
+  done
+done
+])
+SED=$lt_cv_path_SED
+AC_SUBST([SED])
+AC_MSG_RESULT([$SED])
+])#AC_PROG_SED
+])#m4_ifndef
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_SED], [])
+
+
+# _LT_CHECK_SHELL_FEATURES
+# ------------------------
+# Find out whether the shell is Bourne or XSI compatible,
+# or has some other useful features.
+m4_defun([_LT_CHECK_SHELL_FEATURES],
+[AC_MSG_CHECKING([whether the shell understands some XSI constructs])
+# 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
+AC_MSG_RESULT([$xsi_shell])
+_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell'])
+
+AC_MSG_CHECKING([whether the shell understands "+="])
+lt_shell_append=no
+( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \
+    >/dev/null 2>&1 \
+  && lt_shell_append=yes
+AC_MSG_RESULT([$lt_shell_append])
+_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append'])
+
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+  lt_unset=unset
+else
+  lt_unset=false
+fi
+_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
+
+# 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
+_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
+_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
+])# _LT_CHECK_SHELL_FEATURES
+
+
+# _LT_PROG_XSI_SHELLFNS
+# ---------------------
+# Bourne and XSI compatible variants of some useful shell functions.
+m4_defun([_LT_PROG_XSI_SHELLFNS],
+[case $xsi_shell in
+  yes)
+    cat << \_LT_EOF >> "$cfgfile"
+
+# func_dirname file append nondir_replacement
+# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
+# otherwise set result to NONDIR_REPLACEMENT.
+func_dirname ()
+{
+  case ${1} in
+    */*) func_dirname_result="${1%/*}${2}" ;;
+    *  ) func_dirname_result="${3}" ;;
+  esac
+}
+
+# func_basename file
+func_basename ()
+{
+  func_basename_result="${1##*/}"
+}
+
+# func_dirname_and_basename file append nondir_replacement
+# perform func_basename and func_dirname in a single function
+# call:
+#   dirname:  Compute the dirname of FILE.  If nonempty,
+#             add APPEND to the result, otherwise set result
+#             to NONDIR_REPLACEMENT.
+#             value returned in "$func_dirname_result"
+#   basename: Compute filename of FILE.
+#             value retuned in "$func_basename_result"
+# Implementation must be kept synchronized with func_dirname
+# and func_basename. For efficiency, we do not delegate to
+# those functions but instead duplicate the functionality here.
+func_dirname_and_basename ()
+{
+  case ${1} in
+    */*) func_dirname_result="${1%/*}${2}" ;;
+    *  ) func_dirname_result="${3}" ;;
+  esac
+  func_basename_result="${1##*/}"
+}
+
+# func_stripname prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+func_stripname ()
+{
+  # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
+  # positional parameters, so assign one to ordinary parameter first.
+  func_stripname_result=${3}
+  func_stripname_result=${func_stripname_result#"${1}"}
+  func_stripname_result=${func_stripname_result%"${2}"}
+}
+
+# func_opt_split
+func_opt_split ()
+{
+  func_opt_split_opt=${1%%=*}
+  func_opt_split_arg=${1#*=}
+}
+
+# func_lo2o object
+func_lo2o ()
+{
+  case ${1} in
+    *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
+    *)    func_lo2o_result=${1} ;;
+  esac
+}
+
+# func_xform libobj-or-source
+func_xform ()
+{
+  func_xform_result=${1%.*}.lo
+}
+
+# func_arith arithmetic-term...
+func_arith ()
+{
+  func_arith_result=$(( $[*] ))
+}
+
+# func_len string
+# STRING may not start with a hyphen.
+func_len ()
+{
+  func_len_result=${#1}
+}
+
+_LT_EOF
+    ;;
+  *) # Bourne compatible functions.
+    cat << \_LT_EOF >> "$cfgfile"
+
+# func_dirname file append nondir_replacement
+# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
+# otherwise set result to NONDIR_REPLACEMENT.
+func_dirname ()
+{
+  # Extract subdirectory from the argument.
+  func_dirname_result=`$ECHO "X${1}" | $Xsed -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 file
+func_basename ()
+{
+  func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
+}
+
+dnl func_dirname_and_basename
+dnl A portable version of this function is already defined in general.m4sh
+dnl so there is no need for it here.
+
+# func_stripname prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+# func_strip_suffix prefix name
+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}\$%%"`;;
+  esac
+}
+
+# sed scripts:
+my_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q'
+my_sed_long_arg='1s/^-[[^=]]*=//'
+
+# 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_lo2o object
+func_lo2o ()
+{
+  func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
+}
+
+# func_xform libobj-or-source
+func_xform ()
+{
+  func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[[^.]]*$/.lo/'`
+}
+
+# func_arith arithmetic-term...
+func_arith ()
+{
+  func_arith_result=`expr "$[@]"`
+}
+
+# func_len string
+# STRING may not start with a hyphen.
+func_len ()
+{
+  func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len`
+}
+
+_LT_EOF
+esac
+
+case $lt_shell_append in
+  yes)
+    cat << \_LT_EOF >> "$cfgfile"
+
+# func_append var value
+# Append VALUE to the end of shell variable VAR.
+func_append ()
+{
+  eval "$[1]+=\$[2]"
+}
+_LT_EOF
+    ;;
+  *)
+    cat << \_LT_EOF >> "$cfgfile"
+
+# func_append var value
+# Append VALUE to the end of shell variable VAR.
+func_append ()
+{
+  eval "$[1]=\$$[1]\$[2]"
+}
+
+_LT_EOF
+    ;;
+  esac
+])
diff -urN gawk-3.1.6/m4/ltoptions.m4 gawk-3.1.7/m4/ltoptions.m4
--- gawk-3.1.6/m4/ltoptions.m4	1970-01-01 02:00:00.000000000 +0200
+++ gawk-3.1.7/m4/ltoptions.m4	2009-06-08 21:49:24.000000000 +0300
@@ -0,0 +1,368 @@
+# Helper functions for option handling.                    -*- Autoconf -*-
+#
+#   Copyright (C) 2004, 2005, 2007, 2008 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
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
+
+
+# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
+# ------------------------------------------
+m4_define([_LT_MANGLE_OPTION],
+[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
+
+
+# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
+# ---------------------------------------
+# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
+# matching handler defined, dispatch to it.  Other OPTION-NAMEs are
+# saved as a flag.
+m4_define([_LT_SET_OPTION],
+[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
+m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
+        _LT_MANGLE_DEFUN([$1], [$2]),
+    [m4_warning([Unknown $1 option `$2'])])[]dnl
+])
+
+
+# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
+# ------------------------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+m4_define([_LT_IF_OPTION],
+[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
+
+
+# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
+# -------------------------------------------------------
+# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
+# are set.
+m4_define([_LT_UNLESS_OPTIONS],
+[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
+	    [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
+		      [m4_define([$0_found])])])[]dnl
+m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
+])[]dnl
+])
+
+
+# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
+# ----------------------------------------
+# OPTION-LIST is a space-separated list of Libtool options associated
+# with MACRO-NAME.  If any OPTION has a matching handler declared with
+# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
+# the unknown option and exit.
+m4_defun([_LT_SET_OPTIONS],
+[# Set options
+m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
+    [_LT_SET_OPTION([$1], _LT_Option)])
+
+m4_if([$1],[LT_INIT],[
+  dnl
+  dnl Simply set some default values (i.e off) if boolean options were not
+  dnl specified:
+  _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
+  ])
+  _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
+  ])
+  dnl
+  dnl If no reference was made to various pairs of opposing options, then
+  dnl we run the default mode handler for the pair.  For example, if neither
+  dnl `shared' nor `disable-shared' was passed, we enable building of shared
+  dnl archives by default:
+  _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
+  _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
+  _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
+  _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
+  		   [_LT_ENABLE_FAST_INSTALL])
+  ])
+])# _LT_SET_OPTIONS
+
+
+## --------------------------------- ##
+## Macros to handle LT_INIT options. ##
+## --------------------------------- ##
+
+# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
+# -----------------------------------------
+m4_define([_LT_MANGLE_DEFUN],
+[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
+
+
+# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
+# -----------------------------------------------
+m4_define([LT_OPTION_DEFINE],
+[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
+])# LT_OPTION_DEFINE
+
+
+# dlopen
+# ------
+LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
+])
+
+AU_DEFUN([AC_LIBTOOL_DLOPEN],
+[_LT_SET_OPTION([LT_INIT], [dlopen])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the `dlopen' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
+
+
+# win32-dll
+# ---------
+# Declare package support for building win32 dll's.
+LT_OPTION_DEFINE([LT_INIT], [win32-dll],
+[enable_win32_dll=yes
+
+case $host in
+*-*-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
+
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+_LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl
+
+test -z "$OBJDUMP" && OBJDUMP=objdump
+_LT_DECL([], [OBJDUMP], [0], [Object dumper program])dnl
+])# win32-dll
+
+AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+_LT_SET_OPTION([LT_INIT], [win32-dll])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the `win32-dll' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
+
+
+# _LT_ENABLE_SHARED([DEFAULT])
+# ----------------------------
+# implement the --enable-shared flag, and supports the `shared' and
+# `disable-shared' LT_INIT options.
+# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
+m4_define([_LT_ENABLE_SHARED],
+[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([shared],
+    [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
+	[build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
+    [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],
+    [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
+
+    _LT_DECL([build_libtool_libs], [enable_shared], [0],
+	[Whether or not to build shared libraries])
+])# _LT_ENABLE_SHARED
+
+LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
+
+# Old names:
+AC_DEFUN([AC_ENABLE_SHARED],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
+])
+
+AC_DEFUN([AC_DISABLE_SHARED],
+[_LT_SET_OPTION([LT_INIT], [disable-shared])
+])
+
+AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
+AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_ENABLE_SHARED], [])
+dnl AC_DEFUN([AM_DISABLE_SHARED], [])
+
+
+
+# _LT_ENABLE_STATIC([DEFAULT])
+# ----------------------------
+# implement the --enable-static flag, and support the `static' and
+# `disable-static' LT_INIT options.
+# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
+m4_define([_LT_ENABLE_STATIC],
+[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([static],
+    [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
+	[build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
+    [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],
+    [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
+
+    _LT_DECL([build_old_libs], [enable_static], [0],
+	[Whether or not to build static libraries])
+])# _LT_ENABLE_STATIC
+
+LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
+
+# Old names:
+AC_DEFUN([AC_ENABLE_STATIC],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
+])
+
+AC_DEFUN([AC_DISABLE_STATIC],
+[_LT_SET_OPTION([LT_INIT], [disable-static])
+])
+
+AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
+AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_ENABLE_STATIC], [])
+dnl AC_DEFUN([AM_DISABLE_STATIC], [])
+
+
+
+# _LT_ENABLE_FAST_INSTALL([DEFAULT])
+# ----------------------------------
+# implement the --enable-fast-install flag, and support the `fast-install'
+# and `disable-fast-install' LT_INIT options.
+# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
+m4_define([_LT_ENABLE_FAST_INSTALL],
+[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([fast-install],
+    [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
+    [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
+    [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],
+    [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
+
+_LT_DECL([fast_install], [enable_fast_install], [0],
+	 [Whether or not to optimize for fast installation])dnl
+])# _LT_ENABLE_FAST_INSTALL
+
+LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
+
+# Old names:
+AU_DEFUN([AC_ENABLE_FAST_INSTALL],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you put
+the `fast-install' option into LT_INIT's first parameter.])
+])
+
+AU_DEFUN([AC_DISABLE_FAST_INSTALL],
+[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you put
+the `disable-fast-install' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
+dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
+
+
+# _LT_WITH_PIC([MODE])
+# --------------------
+# implement the --with-pic flag, and support the `pic-only' and `no-pic'
+# LT_INIT options.
+# MODE is either `yes' or `no'.  If omitted, it defaults to `both'.
+m4_define([_LT_WITH_PIC],
+[AC_ARG_WITH([pic],
+    [AS_HELP_STRING([--with-pic],
+	[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
+    [pic_mode="$withval"],
+    [pic_mode=default])
+
+test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
+
+_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
+])# _LT_WITH_PIC
+
+LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
+LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
+
+# Old name:
+AU_DEFUN([AC_LIBTOOL_PICMODE],
+[_LT_SET_OPTION([LT_INIT], [pic-only])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the `pic-only' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
+
+## ----------------- ##
+## LTDL_INIT Options ##
+## ----------------- ##
+
+m4_define([_LTDL_MODE], [])
+LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
+		 [m4_define([_LTDL_MODE], [nonrecursive])])
+LT_OPTION_DEFINE([LTDL_INIT], [recursive],
+		 [m4_define([_LTDL_MODE], [recursive])])
+LT_OPTION_DEFINE([LTDL_INIT], [subproject],
+		 [m4_define([_LTDL_MODE], [subproject])])
+
+m4_define([_LTDL_TYPE], [])
+LT_OPTION_DEFINE([LTDL_INIT], [installable],
+		 [m4_define([_LTDL_TYPE], [installable])])
+LT_OPTION_DEFINE([LTDL_INIT], [convenience],
+		 [m4_define([_LTDL_TYPE], [convenience])])
diff -urN gawk-3.1.6/m4/ltsugar.m4 gawk-3.1.7/m4/ltsugar.m4
--- gawk-3.1.6/m4/ltsugar.m4	1970-01-01 02:00:00.000000000 +0200
+++ gawk-3.1.7/m4/ltsugar.m4	2009-06-08 21:49:25.000000000 +0300
@@ -0,0 +1,123 @@
+# ltsugar.m4 -- libtool m4 base layer.                         -*-Autoconf-*-
+#
+# Copyright (C) 2004, 2005, 2007, 2008 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 ltsugar.m4
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
+
+
+# lt_join(SEP, ARG1, [ARG2...])
+# -----------------------------
+# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
+# associated separator.
+# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
+# versions in m4sugar had bugs.
+m4_define([lt_join],
+[m4_if([$#], [1], [],
+       [$#], [2], [[$2]],
+       [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
+m4_define([_lt_join],
+[m4_if([$#$2], [2], [],
+       [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
+
+
+# lt_car(LIST)
+# lt_cdr(LIST)
+# ------------
+# Manipulate m4 lists.
+# These macros are necessary as long as will still need to support
+# Autoconf-2.59 which quotes differently.
+m4_define([lt_car], [[$1]])
+m4_define([lt_cdr],
+[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
+       [$#], 1, [],
+       [m4_dquote(m4_shift($@))])])
+m4_define([lt_unquote], $1)
+
+
+# lt_append(MACRO-NAME, STRING, [SEPARATOR])
+# ------------------------------------------
+# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
+# Note that neither SEPARATOR nor STRING are expanded; they are appended
+# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
+# No SEPARATOR is output if MACRO-NAME was previously undefined (different
+# than defined and empty).
+#
+# This macro is needed until we can rely on Autoconf 2.62, since earlier
+# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
+m4_define([lt_append],
+[m4_define([$1],
+	   m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
+
+
+
+# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
+# ----------------------------------------------------------
+# Produce a SEP delimited list of all paired combinations of elements of
+# PREFIX-LIST with SUFFIX1 through SUFFIXn.  Each element of the list
+# has the form PREFIXmINFIXSUFFIXn.
+# Needed until we can rely on m4_combine added in Autoconf 2.62.
+m4_define([lt_combine],
+[m4_if(m4_eval([$# > 3]), [1],
+       [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
+[[m4_foreach([_Lt_prefix], [$2],
+	     [m4_foreach([_Lt_suffix],
+		]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
+	[_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
+
+
+# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
+# -----------------------------------------------------------------------
+# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
+# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
+m4_define([lt_if_append_uniq],
+[m4_ifdef([$1],
+	  [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
+		 [lt_append([$1], [$2], [$3])$4],
+		 [$5])],
+	  [lt_append([$1], [$2], [$3])$4])])
+
+
+# lt_dict_add(DICT, KEY, VALUE)
+# -----------------------------
+m4_define([lt_dict_add],
+[m4_define([$1($2)], [$3])])
+
+
+# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
+# --------------------------------------------
+m4_define([lt_dict_add_subkey],
+[m4_define([$1($2:$3)], [$4])])
+
+
+# lt_dict_fetch(DICT, KEY, [SUBKEY])
+# ----------------------------------
+m4_define([lt_dict_fetch],
+[m4_ifval([$3],
+	m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
+    m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
+
+
+# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
+# -----------------------------------------------------------------
+m4_define([lt_if_dict_fetch],
+[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
+	[$5],
+    [$6])])
+
+
+# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
+# --------------------------------------------------------------
+m4_define([lt_dict_filter],
+[m4_if([$5], [], [],
+  [lt_join(m4_quote(m4_default([$4], [[, ]])),
+           lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
+		      [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
+])
diff -urN gawk-3.1.6/m4/ltversion.m4 gawk-3.1.7/m4/ltversion.m4
--- gawk-3.1.6/m4/ltversion.m4	1970-01-01 02:00:00.000000000 +0200
+++ gawk-3.1.7/m4/ltversion.m4	2009-06-08 21:49:25.000000000 +0300
@@ -0,0 +1,23 @@
+# ltversion.m4 -- version numbers			-*- Autoconf -*-
+#
+#   Copyright (C) 2004 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.
+
+# Generated from ltversion.in.
+
+# serial 3012 ltversion.m4
+# This file is part of GNU Libtool
+
+m4_define([LT_PACKAGE_VERSION], [2.2.6])
+m4_define([LT_PACKAGE_REVISION], [1.3012])
+
+AC_DEFUN([LTVERSION_VERSION],
+[macro_version='2.2.6'
+macro_revision='1.3012'
+_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
+_LT_DECL(, macro_revision, 0)
+])
diff -urN gawk-3.1.6/m4/lt~obsolete.m4 gawk-3.1.7/m4/lt~obsolete.m4
--- gawk-3.1.6/m4/lt~obsolete.m4	1970-01-01 02:00:00.000000000 +0200
+++ gawk-3.1.7/m4/lt~obsolete.m4	2009-06-08 21:49:25.000000000 +0300
@@ -0,0 +1,92 @@
+# lt~obsolete.m4 -- aclocal satisfying obsolete definitions.    -*-Autoconf-*-
+#
+#   Copyright (C) 2004, 2005, 2007 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
+
+# These exist entirely to fool aclocal when bootstrapping libtool.
+#
+# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
+# which have later been changed to m4_define as they aren't part of the
+# exported API, or moved to Autoconf or Automake where they belong.
+#
+# The trouble is, aclocal is a bit thick.  It'll see the old AC_DEFUN
+# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
+# using a macro with the same name in our local m4/libtool.m4 it'll
+# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
+# and doesn't know about Autoconf macros at all.)
+#
+# So we provide this file, which has a silly filename so it's always
+# included after everything else.  This provides aclocal with the
+# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
+# because those macros already exist, or will be overwritten later.
+# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. 
+#
+# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
+# Yes, that means every name once taken will need to remain here until
+# we give up compatibility with versions before 1.7, at which point
+# we need to keep only those names which we still refer to.
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
+
+m4_ifndef([AC_LIBTOOL_LINKER_OPTION],	[AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
+m4_ifndef([AC_PROG_EGREP],		[AC_DEFUN([AC_PROG_EGREP])])
+m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH],	[AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
+m4_ifndef([_LT_AC_SHELL_INIT],		[AC_DEFUN([_LT_AC_SHELL_INIT])])
+m4_ifndef([_LT_AC_SYS_LIBPATH_AIX],	[AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
+m4_ifndef([_LT_PROG_LTMAIN],		[AC_DEFUN([_LT_PROG_LTMAIN])])
+m4_ifndef([_LT_AC_TAGVAR],		[AC_DEFUN([_LT_AC_TAGVAR])])
+m4_ifndef([AC_LTDL_ENABLE_INSTALL],	[AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
+m4_ifndef([AC_LTDL_PREOPEN],		[AC_DEFUN([AC_LTDL_PREOPEN])])
+m4_ifndef([_LT_AC_SYS_COMPILER],	[AC_DEFUN([_LT_AC_SYS_COMPILER])])
+m4_ifndef([_LT_AC_LOCK],		[AC_DEFUN([_LT_AC_LOCK])])
+m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE],	[AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
+m4_ifndef([_LT_AC_TRY_DLOPEN_SELF],	[AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
+m4_ifndef([AC_LIBTOOL_PROG_CC_C_O],	[AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
+m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
+m4_ifndef([AC_LIBTOOL_OBJDIR],		[AC_DEFUN([AC_LIBTOOL_OBJDIR])])
+m4_ifndef([AC_LTDL_OBJDIR],		[AC_DEFUN([AC_LTDL_OBJDIR])])
+m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
+m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP],	[AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
+m4_ifndef([AC_PATH_MAGIC],		[AC_DEFUN([AC_PATH_MAGIC])])
+m4_ifndef([AC_PROG_LD_GNU],		[AC_DEFUN([AC_PROG_LD_GNU])])
+m4_ifndef([AC_PROG_LD_RELOAD_FLAG],	[AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
+m4_ifndef([AC_DEPLIBS_CHECK_METHOD],	[AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
+m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
+m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
+m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
+m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS],	[AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
+m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP],	[AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
+m4_ifndef([LT_AC_PROG_EGREP],		[AC_DEFUN([LT_AC_PROG_EGREP])])
+m4_ifndef([LT_AC_PROG_SED],		[AC_DEFUN([LT_AC_PROG_SED])])
+m4_ifndef([_LT_CC_BASENAME],		[AC_DEFUN([_LT_CC_BASENAME])])
+m4_ifndef([_LT_COMPILER_BOILERPLATE],	[AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
+m4_ifndef([_LT_LINKER_BOILERPLATE],	[AC_DEFUN([_LT_LINKER_BOILERPLATE])])
+m4_ifndef([_AC_PROG_LIBTOOL],		[AC_DEFUN([_AC_PROG_LIBTOOL])])
+m4_ifndef([AC_LIBTOOL_SETUP],		[AC_DEFUN([AC_LIBTOOL_SETUP])])
+m4_ifndef([_LT_AC_CHECK_DLFCN],		[AC_DEFUN([_LT_AC_CHECK_DLFCN])])
+m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER],	[AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
+m4_ifndef([_LT_AC_TAGCONFIG],		[AC_DEFUN([_LT_AC_TAGCONFIG])])
+m4_ifndef([AC_DISABLE_FAST_INSTALL],	[AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
+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_CXX_CONFIG],	[AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
+m4_ifndef([_LT_AC_LANG_F77_CONFIG],	[AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
+m4_ifndef([_LT_AC_LANG_GCJ_CONFIG],	[AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG],	[AC_DEFUN([AC_LIBTOOL_LANG_RC_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])])
diff -urN gawk-3.1.6/m4/po.m4 gawk-3.1.7/m4/po.m4
--- gawk-3.1.6/m4/po.m4	2007-01-12 12:22:07.000000000 +0200
+++ gawk-3.1.7/m4/po.m4	2009-06-08 23:07:44.000000000 +0300
@@ -1,5 +1,5 @@
-# po.m4 serial 13 (gettext-0.15)
-dnl Copyright (C) 1995-2006 Free Software Foundation, Inc.
+# po.m4 serial 15 (gettext-0.17)
+dnl Copyright (C) 1995-2007 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.
@@ -27,6 +27,10 @@
   AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake
   AC_REQUIRE([AM_NLS])dnl
 
+  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])
+
   dnl Perform the following tests also if --disable-nls has been given,
   dnl because they are needed for "make dist" to work.
 
@@ -84,6 +88,10 @@
   test -n "$localedir" || localedir='${datadir}/locale'
   AC_SUBST([localedir])
 
+  dnl Support for AM_XGETTEXT_OPTION.
+  test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS=
+  AC_SUBST([XGETTEXT_EXTRA_OPTIONS])
+
   AC_CONFIG_COMMANDS([po-directories], [[
     for ac_file in $CONFIG_FILES; do
       # Support "outfile[:infile[:infile...]]"
@@ -426,3 +434,16 @@
   fi
   mv "$ac_file.tmp" "$ac_file"
 ])
+
+dnl Initializes the accumulator used by AM_XGETTEXT_OPTION.
+AC_DEFUN([AM_XGETTEXT_OPTION_INIT],
+[
+  XGETTEXT_EXTRA_OPTIONS=
+])
+
+dnl Registers an option to be passed to xgettext in the po subdirectory.
+AC_DEFUN([AM_XGETTEXT_OPTION],
+[
+  AC_REQUIRE([AM_XGETTEXT_OPTION_INIT])
+  XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS $1"
+])
diff -urN gawk-3.1.6/m4/stdint_h.m4 gawk-3.1.7/m4/stdint_h.m4
--- gawk-3.1.6/m4/stdint_h.m4	2007-01-12 12:22:19.000000000 +0200
+++ gawk-3.1.7/m4/stdint_h.m4	2008-01-25 12:11:22.000000000 +0200
@@ -11,16 +11,21 @@
 
 AC_DEFUN([gl_AC_HEADER_STDINT_H],
 [
-  AC_CACHE_CHECK([for stdint.h], gl_cv_header_stdint_h,
-  [AC_TRY_COMPILE(
-    [#include <sys/types.h>
+  if test "OS/390" = "`uname`"
+  then
+    gl_cv_header_stdint_h=no
+  else
+    AC_CACHE_CHECK([for stdint.h], gl_cv_header_stdint_h,
+    [AC_TRY_COMPILE(
+      [#include <sys/types.h>
 #include <stdint.h>],
-    [uintmax_t i = (uintmax_t) -1; return !i;],
-    gl_cv_header_stdint_h=yes,
-    gl_cv_header_stdint_h=no)])
-  if test $gl_cv_header_stdint_h = yes; then
-    AC_DEFINE_UNQUOTED(HAVE_STDINT_H_WITH_UINTMAX, 1,
-      [Define if <stdint.h> exists, doesn't clash with <sys/types.h>,
-       and declares uintmax_t. ])
+      [uintmax_t i = (uintmax_t) -1; return !i;],
+      gl_cv_header_stdint_h=yes,
+      gl_cv_header_stdint_h=no)])
+    if test $gl_cv_header_stdint_h = yes; then
+      AC_DEFINE_UNQUOTED(HAVE_STDINT_H_WITH_UINTMAX, 1,
+        [Define if <stdint.h> exists, doesn't clash with <sys/types.h>,
+         and declares uintmax_t. ])
+    fi
   fi
 ])
diff -urN gawk-3.1.6/main.c gawk-3.1.7/main.c
--- gawk-3.1.6/main.c	2007-09-30 21:55:18.000000000 +0200
+++ gawk-3.1.7/main.c	2009-07-09 22:34:22.000000000 +0300
@@ -3,7 +3,7 @@
  */
 
 /* 
- * Copyright (C) 1986, 1988, 1989, 1991-2007 the Free Software Foundation, Inc.
+ * Copyright (C) 1986, 1988, 1989, 1991-2009 the Free Software Foundation, Inc.
  * 
  * This file is part of GAWK, the GNU implementation of the
  * AWK Programming Language.
@@ -24,7 +24,7 @@
  */
 
 /* FIX THIS BEFORE EVERY RELEASE: */
-#define UPDATE_YEAR	2007
+#define UPDATE_YEAR	2009
 
 #include "awk.h"
 #include "getopt.h"
@@ -36,6 +36,14 @@
 #ifdef HAVE_MCHECK_H
 #include <mcheck.h>
 #endif
+#ifdef HAVE_SIGSEGV_H
+#include <sigsegv.h>
+#else
+typedef void *stackoverflow_context_t;
+#define sigsegv_install_handler(catchsegv) signal(SIGSEGV, catchsig)
+/* define as 0 rather than empty so that (void) cast on it works */
+#define stackoverflow_install_handler(catchstackoverflow, extra_stack, STACK_SIZE) 0
+#endif
 
 #define DEFAULT_PROFILE		"awkprof.out"	/* where to put profile */
 #define DEFAULT_VARFILE		"awkvars.out"	/* where to put vars */
@@ -45,12 +53,14 @@
 static void usage P((int exitval, FILE *fp)) ATTRIBUTE_NORETURN;
 static void copyleft P((void)) ATTRIBUTE_NORETURN;
 static void cmdline_fs P((char *str));
-static void init_args P((int argc0, int argc, char *argv0, char **argv));
+static void init_args P((int argc0, int argc, const char *argv0, char **argv));
 static void init_vars P((void));
 static NODE *load_environ P((void));
 static NODE *load_procinfo P((void));
 static void add_src P((struct src **data, long *num, long *alloc, enum srctype stype, char *val));
 static RETSIGTYPE catchsig P((int sig)) ATTRIBUTE_NORETURN;
+static int catchsegv P((void *fault_address, int serious));
+static void catchstackoverflow P((int emergency, stackoverflow_context_t scp));
 static void nostalgia P((void)) ATTRIBUTE_NORETURN;
 static void version P((void)) ATTRIBUTE_NORETURN;
 static void init_fds P((void));
@@ -89,6 +99,7 @@
 
 #if defined(HAVE_LOCALE_H)
 struct lconv loc;		/* current locale */
+static void init_locale(struct lconv *l);
 #endif /* defined(HAVE_LOCALE_H) */
 
 /* The name the program was invoked under, for error messages */
@@ -101,7 +112,7 @@
 NODE *end_block = NULL;
 
 int exiting = FALSE;		/* Was an "exit" statement executed? */
-int exit_val = 0;		/* optional exit value */
+int exit_val = EXIT_SUCCESS;	/* optional exit value */
 
 #if defined(YYDEBUG) || defined(GAWKDEBUG)
 extern int yydebug;
@@ -137,6 +148,7 @@
 int do_profiling = FALSE;	/* profile and pretty print the program */
 int do_dump_vars = FALSE;	/* dump all global variables at end */
 int do_tidy_mem = FALSE;	/* release vars when done */
+int do_optimize = FALSE;	/* apply any safe optimizations */
 
 int in_begin_rule = FALSE;	/* we're in a BEGIN rule */
 int in_end_rule = FALSE;	/* we're in an END rule */
@@ -175,6 +187,7 @@
 	{ "traditional",	no_argument,		& do_traditional,	1 },
 	{ "lint",		optional_argument,	NULL,		'l' },
 	{ "lint-old",		no_argument,		& do_lint_old,	1 },
+	{ "optimize",		no_argument,		& do_optimize,	'O' },
 	{ "posix",		no_argument,		& do_posix,	1 },
 	{ "nostalgia",		no_argument,		& do_nostalgia,	1 },
 	{ "gen-po",		no_argument,		& do_intl,	1 },
@@ -212,7 +225,7 @@
 	int c;
 	char *scan;
 	/* the + on the front tells GNU getopt not to rearrange argv */
-	const char *optlist = "+F:f:v:W;m:D";
+	const char *optlist = "+F:f:v:W;m:DO";
 	int stopped_early = FALSE;
 	int old_optind;
 	extern int optind;
@@ -220,6 +233,7 @@
 	extern char *optarg;
 	int i;
 	int stdio_problem = FALSE;
+	char *extra_stack;
 
 	/* do these checks early */
 	if (getenv("TIDYMEM") != NULL)
@@ -259,7 +273,7 @@
 	 * the thousands separator for the %'d flag.
 	 */
 	setlocale(LC_NUMERIC, "");
-	loc = *localeconv();	/* Make a local copy of locale numeric info, early on */
+	init_locale(& loc);
 	setlocale(LC_NUMERIC, "C");
 #endif
 #if defined(LC_TIME)
@@ -280,10 +294,16 @@
 	(void) textdomain(PACKAGE);
 
 	(void) signal(SIGFPE, catchsig);
-	(void) signal(SIGSEGV, catchsig);
 #ifdef SIGBUS
 	(void) signal(SIGBUS, catchsig);
 #endif
+	(void) sigsegv_install_handler(catchsegv);
+#define STACK_SIZE (16*1024)
+	extra_stack = malloc(STACK_SIZE);
+	if (extra_stack == NULL)
+		fatal(_("out of memory"));
+	(void) stackoverflow_install_handler(catchstackoverflow, extra_stack, STACK_SIZE);
+#undef STACK_SIZE
 
 	myname = gawk_name(argv[0]);
         argv[0] = (char *) myname;
@@ -346,6 +366,8 @@
 			 * Research awk extension.
 			 *	-mf nnn		set # fields, gawk ignores
 			 *	-mr nnn		set record length, ditto
+			 *
+			 * As of at least 10/2007, Research awk also ignores it.
 			 */
 			if (do_lint)
 				lintwarn(_("`-m[fr]' option irrelevant in gawk"));
@@ -394,6 +416,10 @@
 #endif
 			break;
 
+		case 'O':
+			do_optimize = TRUE;
+			break;
+
 		case 'p':
 			do_profiling = TRUE;
 			if (optarg != NULL)
@@ -560,7 +586,7 @@
 		optind++;
 	}
 
-	init_args(optind, argc, (char *) myname, argv);
+	init_args(optind, argc, myname, argv);
 	(void) tokexpand();
 
 #if defined(LC_NUMERIC)
@@ -574,12 +600,12 @@
 
 	/* Read in the program */
 	if (yyparse() != 0 || errcount != 0)
-		exit(1);
+		exit(EXIT_FAILURE);
 
 	free(srcfiles);
 
 	if (do_intl)
-		exit(0);
+		exit(EXIT_SUCCESS);
 
 	if (do_lint && begin_block == NULL && expression_value == NULL
 	     && end_block == NULL)
@@ -639,8 +665,8 @@
 	 * with stdout/stderr, so we reinstate a slightly different
 	 * version of the above:
 	 */
-	if (stdio_problem && ! exiting && exit_val == 0)
-		exit_val = 1;
+	if (stdio_problem && ! exiting && exit_val == EXIT_SUCCESS)
+		exit_val = EXIT_FAILURE;
 
 	if (do_profiling) {
 		dump_prog(begin_block, expression_value, end_block);
@@ -699,6 +725,7 @@
 	fputs(_("\t-F fs\t\t\t--field-separator=fs\n"), fp);
 	fputs(_("\t-v var=val\t\t--assign=var=val\n"), fp);
 	fputs(_("\t-m[fr] val\n"), fp);
+	fputs(_("\t-O\t\t\t--optimize\n"), fp);
 	fputs(_("\t-W compat\t\t--compat\n"), fp);
 	fputs(_("\t-W copyleft\t\t--copyleft\n"), fp);
 	fputs(_("\t-W copyright\t\t--copyright\n"), fp);
@@ -747,7 +774,7 @@
 	if (ferror(fp)) {
 		if (fp == stdout)
 			warning(_("error writing standard output (%s)"), strerror(errno));
-		exit(1);
+		exit(EXIT_FAILURE);
 	}
 
 	exit(exitval);
@@ -789,10 +816,10 @@
 
 	if (ferror(stdout)) {
 		warning(_("error writing standard output (%s)"), strerror(errno));
-		exit(1);
+		exit(EXIT_FAILURE);
 	}
 
-	exit(0);
+	exit(EXIT_SUCCESS);
 }
 
 /* cmdline_fs --- set FS from the command line */
@@ -824,14 +851,14 @@
 /* init_args --- set up ARGV from stuff on the command line */
 
 static void
-init_args(int argc0, int argc, char *argv0, char **argv)
+init_args(int argc0, int argc, const char *argv0, char **argv)
 {
 	int i, j;
 	NODE **aptr;
 
 	ARGV_node = install("ARGV", node((NODE *) NULL, Node_var_array, (NODE *) NULL));
 	aptr = assoc_lookup(ARGV_node, tmp_number(0.0), FALSE);
-	*aptr = make_string(argv0, strlen(argv0));
+	*aptr = make_string((char *) argv0, strlen(argv0));
 	(*aptr)->flags |= MAYBE_NUM;
 	for (i = argc0, j = 1; i < argc; i++) {
 		aptr = assoc_lookup(ARGV_node, tmp_number((AWKNUM) j), FALSE);
@@ -857,30 +884,38 @@
 	const char *strval;
 	AWKNUM numval;
 	Func_ptr assign;
+	int flags;
+#define NO_INSTALL	0x01
+#define NON_STANDARD	0x02
 };
+
 static const struct varinit varinit[] = {
-{&CONVFMT_node,	"CONVFMT",	Node_CONVFMT,		"%.6g",	0,  set_CONVFMT },
-{&NF_node,	"NF",		Node_NF,		NULL,	-1, NULL },
-{&FIELDWIDTHS_node, "FIELDWIDTHS", Node_FIELDWIDTHS,	"",	0,  NULL },
-{&NR_node,	"NR",		Node_NR,		NULL,	0,  set_NR },
-{&FNR_node,	"FNR",		Node_FNR,		NULL,	0,  set_FNR },
-{&FS_node,	"FS",		Node_FS,		" ",	0,  NULL },
-{&RS_node,	"RS",		Node_RS,		"\n",	0,  set_RS },
-{&IGNORECASE_node, "IGNORECASE", Node_IGNORECASE,	NULL,	0,  NULL },
-{&FILENAME_node, "FILENAME",	Node_var,		"",	0,  NULL },
-{&OFS_node,	"OFS",		Node_OFS,		" ",	0,  set_OFS },
-{&ORS_node,	"ORS",		Node_ORS,		"\n",	0,  set_ORS },
-{&OFMT_node,	"OFMT",		Node_OFMT,		"%.6g",	0,  set_OFMT },
-{&RLENGTH_node, "RLENGTH",	Node_var,		NULL,	0,  NULL },
-{&RSTART_node,	"RSTART",	Node_var,		NULL,	0,  NULL },
-{&SUBSEP_node,	"SUBSEP",	Node_SUBSEP,		"\034",	0,  NULL },
-{&ARGIND_node,	"ARGIND",	Node_var,		NULL,	0,  NULL },
-{&ERRNO_node,	"ERRNO",	Node_var,		NULL,	0,  NULL },
-{&RT_node,	"RT",		Node_var,		"",	0,  NULL },
-{&BINMODE_node,	"BINMODE",	Node_BINMODE,		NULL,	0,  NULL },
-{&LINT_node,	"LINT",		Node_LINT,		NULL,	0,  NULL },
-{&TEXTDOMAIN_node,	"TEXTDOMAIN",		Node_TEXTDOMAIN,	"messages",	0,  set_TEXTDOMAIN },
-{0,		NULL,		Node_illegal,		NULL,	0,  NULL },
+{NULL,		"ARGC",		Node_illegal,		NULL,	0,  NULL,	NO_INSTALL },
+{&ARGIND_node,	"ARGIND",	Node_var,		NULL,	0,  NULL,	NON_STANDARD },
+{NULL,		"ARGV",		Node_illegal,		NULL,	0,  NULL,	NO_INSTALL },
+{&BINMODE_node,	"BINMODE",	Node_BINMODE,		NULL,	0,  NULL,	NON_STANDARD },
+{&CONVFMT_node,	"CONVFMT",	Node_CONVFMT,		"%.6g",	0,  set_CONVFMT,	0 },
+{NULL,		"ENVIRON",	Node_illegal,		NULL,	0,  NULL,	NO_INSTALL },
+{&ERRNO_node,	"ERRNO",	Node_var,		NULL,	0,  NULL,	NON_STANDARD },
+{&FIELDWIDTHS_node, "FIELDWIDTHS", Node_FIELDWIDTHS,	"",	0,  NULL,	NON_STANDARD },
+{&FILENAME_node, "FILENAME",	Node_var,		"",	0,  NULL,	0 },
+{&FNR_node,	"FNR",		Node_FNR,		NULL,	0,  set_FNR,	0 },
+{&FS_node,	"FS",		Node_FS,		" ",	0,  NULL,	0 },
+{&IGNORECASE_node, "IGNORECASE", Node_IGNORECASE,	NULL,	0,  NULL,	NON_STANDARD },
+{&LINT_node,	"LINT",		Node_LINT,		NULL,	0,  NULL,	NON_STANDARD },
+{&NF_node,	"NF",		Node_NF,		NULL,	-1, NULL,	0 },
+{&NR_node,	"NR",		Node_NR,		NULL,	0,  set_NR,	0 },
+{&OFMT_node,	"OFMT",		Node_OFMT,		"%.6g",	0,  set_OFMT,	0 },
+{&OFS_node,	"OFS",		Node_OFS,		" ",	0,  set_OFS,	0 },
+{&ORS_node,	"ORS",		Node_ORS,		"\n",	0,  set_ORS,	0 },
+{NULL,		"PROCINFO",	Node_illegal,		NULL,	0,  NULL,	NO_INSTALL | NON_STANDARD },
+{&RLENGTH_node, "RLENGTH",	Node_var,		NULL,	0,  NULL,	0 },
+{&RS_node,	"RS",		Node_RS,		"\n",	0,  set_RS,	0 },
+{&RSTART_node,	"RSTART",	Node_var,		NULL,	0,  NULL,	0 },
+{&RT_node,	"RT",		Node_var,		"",	0,  NULL,	NON_STANDARD },
+{&SUBSEP_node,	"SUBSEP",	Node_SUBSEP,		"\034",	0,  NULL,	0 },
+{&TEXTDOMAIN_node,	"TEXTDOMAIN",		Node_TEXTDOMAIN,	"messages",	0,  set_TEXTDOMAIN,	NON_STANDARD },
+{0,		NULL,		Node_illegal,		NULL,	0,  NULL,	0 },
 };
 
 /* init_vars --- actually initialize everything in the symbol table */
@@ -891,6 +926,9 @@
 	register const struct varinit *vp;
 
 	for (vp = varinit; vp->name; vp++) {
+		if ((vp->flags & NO_INSTALL) != 0)
+			continue;
+
 		*(vp->spec) = install((char *) vp->name,
 		  node(vp->strval == NULL ? make_number(vp->numval)
 				: make_string((char *) vp->strval,
@@ -1035,6 +1073,25 @@
 	return PROCINFO_node;
 }
 
+/* is_std_var --- return true if a variable is a standard variable */
+
+int
+is_std_var(const char *var)
+{
+	register const struct varinit *vp;
+
+	for (vp = varinit; vp->name; vp++) {
+		if (strcmp(vp->name, var) == 0) {
+			if ((do_traditional || do_posix) && (vp->flags & NON_STANDARD) != 0)
+				return FALSE;
+
+			return TRUE;
+		}
+	}
+
+	return FALSE;
+}
+
 /* arg_assign --- process a command-line assignment */
 
 int
@@ -1134,6 +1191,30 @@
 	/* NOTREACHED */
 }
 
+/* catchsegv --- for use with libsigsegv */
+
+static int
+catchsegv(void *fault_address, int serious)
+{
+	set_loc(__FILE__, __LINE__);
+	msg(_("fatal error: internal error: segfault"));
+	abort();
+	/*NOTREACHED*/
+	return 0;
+}
+
+/* catchstackoverflow --- for use with libsigsegv */
+
+static void
+catchstackoverflow(int emergency, stackoverflow_context_t scp)
+{
+	set_loc(__FILE__, __LINE__);
+	msg(_("fatal error: internal error: stack overflow"));
+	abort();
+	/*NOTREACHED*/
+	return;
+}
+
 /* nostalgia --- print the famous error message and die */
 
 static void
@@ -1159,7 +1240,7 @@
 	 * then exit successfully, do nothing else.
 	 */
 	copyleft();
-	exit(0);
+	exit(EXIT_SUCCESS);
 }
 
 /* init_fds --- check for 0, 1, 2, open on /dev/null if possible */
@@ -1219,3 +1300,35 @@
 		fatal(_("could not find groups: %s"), strerror(errno));
 #endif
 }
+
+#if defined(HAVE_LOCALE_H)
+
+/* init_locale --- initialize locale info. */
+
+/*
+ * On some operating systems, the pointers in the struct returned
+ * by localeconv() can become dangling pointers after a call to
+ * setlocale().  So we do a deep copy.
+ *
+ * Thanks to KIMURA Koichi <kimura.koichi@canon.co.jp>.
+ */
+
+static void
+init_locale(struct lconv *l)
+{
+	struct lconv *t;
+
+	t = localeconv();
+	*l = *t;
+	l->thousands_sep = strdup(t->thousands_sep);
+	l->decimal_point = strdup(t->decimal_point);
+	l->grouping = strdup(t->grouping);
+	l->int_curr_symbol = strdup(t->int_curr_symbol);
+	l->currency_symbol = strdup(t->currency_symbol);
+	l->mon_decimal_point = strdup(t->mon_decimal_point);
+	l->mon_thousands_sep = strdup(t->mon_thousands_sep);
+	l->mon_grouping = strdup(t->mon_grouping);
+	l->positive_sign = strdup(t->positive_sign);
+	l->negative_sign = strdup(t->negative_sign);
+}
+#endif /* LOCALE_H */
diff -urN gawk-3.1.6/missing_d/ChangeLog gawk-3.1.7/missing_d/ChangeLog
--- gawk-3.1.6/missing_d/ChangeLog	2007-10-22 08:50:27.000000000 +0200
+++ gawk-3.1.7/missing_d/ChangeLog	2009-07-21 22:30:17.000000000 +0300
@@ -1,3 +1,7 @@
+Tue Jul 21 22:28:56 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* Release 3.1.7: Release tar file made.
+
 Mon Oct 22 08:49:05 2007  Arnold D. Robbins  <arnold@skeeve.com>
 
 	* Release 3.1.6: Release tar file made.
diff -urN gawk-3.1.6/msg.c gawk-3.1.7/msg.c
--- gawk-3.1.6/msg.c	2007-04-08 16:46:37.000000000 +0300
+++ gawk-3.1.7/msg.c	2009-03-21 22:29:05.000000000 +0200
@@ -180,5 +180,5 @@
 #ifdef GAWKDEBUG
 	abort();
 #endif
-	exit(2);
+	exit(EXIT_FATAL);
 }
diff -urN gawk-3.1.6/node.c gawk-3.1.7/node.c
--- gawk-3.1.6/node.c	2007-08-11 22:39:49.000000000 +0300
+++ gawk-3.1.7/node.c	2009-07-09 22:34:38.000000000 +0300
@@ -3,7 +3,7 @@
  */
 
 /* 
- * Copyright (C) 1986, 1988, 1989, 1991-2001, 2003-2007 the Free Software Foundation, Inc.
+ * Copyright (C) 1986, 1988, 1989, 1991-2001, 2003-2009 the Free Software Foundation, Inc.
  * 
  * This file is part of GAWK, the GNU implementation of the
  * AWK Programming Language.
@@ -156,18 +156,35 @@
 }
 
 
+/*
+ * the following lookup table is used as an optimization in force_string
+ * (more complicated) variations on this theme didn't seem to pay off, but 
+ * systematic testing might be in order at some point
+ */
+static const char *values[] = {
+	"0",
+	"1",
+	"2",
+	"3",
+	"4",
+	"5",
+	"6",
+	"7",
+	"8",
+	"9",
+};
+#define	NVAL	(sizeof(values)/sizeof(values[0]))
+
 /* format_val --- format a numeric value based on format */
 
 NODE *
 format_val(const char *format, int index, register NODE *s)
 {
+	char buf[BUFSIZ];
+	register char *sp = buf;
 	double val;
 	char *orig, *trans, save;
 
-	NODE *dummy, *r;
-	unsigned short oflags;
-	extern NODE **fmt_list;          /* declared in eval.c */
-
 	if (! do_traditional && (s->flags & INTLSTR) != 0) {
 		save = s->stptr[s->stlen];
 		s->stptr[s->stlen] = '\0';
@@ -185,32 +202,71 @@
 	 * can use sprintf("%ld", val) on it, always format it ourselves.
 	 * The only thing to worry about is that integral values always
 	 * format as integers. %.0f does that very well.
+	 *
+	 * 6/2008: Would that things were so simple. Always using %.0f
+	 * imposes a notable performance penalty for applications that
+	 * do a lot of conversion of integers to strings. So, we reinstate
+	 * the old code, but use %.0f for integral values that are outside
+	 * the range of a long.  This seems a reasonable compromise.
 	 */
 
-	val = double_to_int(s->numbr);
+	/* not an integral value, or out of range */
+	if ((val = double_to_int(s->numbr)) != s->numbr
+	    || val < LONG_MIN || val > LONG_MAX) {
+		/*
+		 * Once upon a time, if GFMT_WORKAROUND wasn't defined,
+		 * we just blindly did this:
+		 *	sprintf(sp, format, s->numbr);
+		 *	s->stlen = strlen(sp);
+		 *	s->stfmt = (char) index;
+		 * but that's no good if, e.g., OFMT is %s. So we punt,
+		 * and just always format the value ourselves.
+		 */
+
+		NODE *dummy, *r;
+		unsigned short oflags;
+		extern NODE **fmt_list;          /* declared in eval.c */
+
+		/* create dummy node for a sole use of format_tree */
+		getnode(dummy);
+		dummy->type = Node_expression_list;
+		dummy->lnode = s;
+		dummy->rnode = NULL;
+		oflags = s->flags;
+		s->flags |= PERM; /* prevent from freeing by format_tree() */
+		if (val == s->numbr) {
+			/* integral value, but outside range of %ld, use %.0f */
+			r = format_tree("%.0f", 4, dummy, 2);
+			s->stfmt = -1;
+		} else {
+			r = format_tree(format, fmt_list[index]->stlen, dummy, 2);
+			s->stfmt = (char) index;
+		}
+		s->flags = oflags;
+		s->stlen = r->stlen;
+		if ((s->flags & STRCUR) != 0)
+			free(s->stptr);
+		s->stptr = r->stptr;
+		freenode(r);		/* Do not free_temp(r)!  We want */
+		freenode(dummy);	/* to keep s->stptr == r->stpr.  */
 
-	/* create dummy node for a sole use of format_tree */
-	getnode(dummy);
-	dummy->type = Node_expression_list;
-	dummy->lnode = s;
-	dummy->rnode = NULL;
-	oflags = s->flags;
-	s->flags |= PERM; /* prevent from freeing by format_tree() */
-	if (val == s->numbr) {
-		r = format_tree("%.0f", 4, dummy, 2);
-		s->stfmt = -1;
+		goto no_malloc;
 	} else {
-		r = format_tree(format, fmt_list[index]->stlen, dummy, 2);
-		s->stfmt = (char) index;
+		/* integral value */
+	        /* force conversion to long only once */
+		register long num = (long) val;
+		if (num < NVAL && num >= 0) {
+			sp = (char *) values[num];
+			s->stlen = 1;
+		} else {
+			(void) sprintf(sp, "%ld", num);
+			s->stlen = strlen(sp);
+		}
+		s->stfmt = -1;
 	}
-	s->flags = oflags;
-	s->stlen = r->stlen;
-	if ((s->flags & STRCUR) != 0)
-		free(s->stptr);
-	s->stptr = r->stptr;
-	freenode(r);		/* Do not free_temp(r)!  We want */
-	freenode(dummy);	/* to keep s->stptr == r->stpr.  */
-
+	emalloc(s->stptr, char *, s->stlen + 2, "format_val");
+	memcpy(s->stptr, sp, s->stlen+1);
+no_malloc:
 	s->stref = 1;
 	s->flags |= STRCUR;
 	free_wstr(s);
@@ -539,6 +595,8 @@
 	register int c = *(*string_ptr)++;
 	register int i;
 	register int count;
+	int j;
+	const char *start;
 
 	if (do_lint_old) {
 		switch (c) {
@@ -605,8 +663,9 @@
 			warning(_("no hex digits in `\\x' escape sequence"));
 			return ('x');
 		}
-		i = 0;
-		for (;;) {
+		i = j = 0;
+		start = *string_ptr;
+		for (;; j++) {
 			/* do outside test to avoid multiple side effects */
 			c = *(*string_ptr)++;
 			if (ISXDIGIT(c)) {
@@ -622,6 +681,8 @@
 				break;
 			}
 		}
+		if (do_lint && j > 2)
+			lintwarn(_("hex escape \\x%.*s of %d characters probably not interpreted the way you expect"), j, start, j);
 		return i;
 	case '\\':
 	case '"':
diff -urN gawk-3.1.6/pc/ChangeLog gawk-3.1.7/pc/ChangeLog
--- gawk-3.1.6/pc/ChangeLog	2007-10-22 08:50:48.000000000 +0200
+++ gawk-3.1.7/pc/ChangeLog	2009-07-21 22:30:36.000000000 +0300
@@ -1,3 +1,23 @@
+Tue Jul 21 22:28:56 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* Release 3.1.7: Release tar file made.
+
+Mon Jul 13 05:43:07 2009  Scott Deifik         <scottd.mail@sbcglobal.net>
+
+	* Makefile.tst: Still more sync with mainline.
+
+Tue Jun 23 05:24:12 2009  Scott Deifik         <scottd.mail@sbcglobal.net>
+
+	* Makefile.tst: More sync with mainline.
+
+Thu Jun 18 06:24:29 2009  Scott Deifik         <scottd.mail@sbcglobal.net>
+
+	* Makefile.tst: Sync with mainline.
+
+2008-07-26  Eli Zaretskii  <eliz@gnu.org>
+
+	* config.h (WEXITSTATUS) [_MSC_VER || __MINGW32__]: Define.
+
 Mon Oct 22 08:49:05 2007  Arnold D. Robbins  <arnold@skeeve.com>
 
 	* Release 3.1.6: Release tar file made.
diff -urN gawk-3.1.6/pc/Makefile.tst gawk-3.1.7/pc/Makefile.tst
--- gawk-3.1.6/pc/Makefile.tst	2007-10-20 22:41:46.000000000 +0200
+++ gawk-3.1.7/pc/Makefile.tst	2009-07-13 05:43:00.000000000 +0300
@@ -42,8 +42,8 @@
 #    You should also have a UNIX-compatible date program.
 #
 # The makefile has only been tested with dmake 3.8 and DJGPP Make 3.74 or
-# later.  After making all of these changes, typing "dmake bigtest extra"
-# or "make bigtest extra" (with DJGPP Make) should run successfully.
+# later.  After making all of these changes, typing "dmake check extra"
+# or "make check extra" (with DJGPP Make) should run successfully.
 
 # The Bash shell (compiled with djgpp) works very well with the
 # MSC & djgpp-compiled gawks.  It is currently the recommended shell to use
@@ -115,40 +115,48 @@
 CLEANFILES = core core.* fmtspcl.ok
 
 # try to keep these sorted
-BASIC_TESTS = addcomma anchgsub argarray arrayparm arrayref arrymem1 \
-	arrayprm2 arrayprm3 arryref2 arryref3 arryref4 arryref5 arynasty \
-	arynocls aryprm1 aryprm2 aryprm3 aryprm4 aryprm5 aryprm6 aryprm7 \
-	aryprm8 arysubnm asgext awkpath back89 backgsub childin clobber \
-	clsflnam compare compare2 concat1 concat2 concat3 concat4 convfmt datanonl defref \
-	delarprm delarpm2 delfunc dynlj eofsplit exitval1 exitval2 fldchg fldchgnf fmtspcl fmttest fnamedat \
-	fnarray fnarray2 fnarydel fnaryscl fnasgnm fnmisc fnparydl \
-	fordel forsimp fsbs fsspcoln fsrs fstabplus funsemnl funsmnam funstack getline \
-	getline2 getline3 getlnbuf getnr2tb getnr2tm gsubasgn gsubtest \
-	gsubtst2 gsubtst3 gsubtst4 gsubtst5 hex hsprint inputred intest intformat \
-	intprec iobug1 leaddig leadnl litoct longsub longwrds manglprm math membug1 \
-	messages minusstr mmap8k mtchi18n nasty nasty2 negexp nested nfldstr \
-	nfneg nfset nlfldsep nlinstr nlstrina noeffect nofile nofmtch noloop1 \
-	noloop2 nonl noparms nors nulrsend numindex numsubstr octsub ofmt \
-	ofmtbig ofmtfidl ofmts onlynl opasnidx opasnslf ovrflow1 paramdup paramtyp \
-	parse1 parsefld parseme pcntplus prdupval prec printf0 printf1 prmarscl prmreuse \
-	prt1eval prtoeval psx96sub rand rebt8b1 rebt8b2 redfilnm regeq \
-	reindops reparse resplit rs rsnul1nl rsnulbig rsnulbig2 rstest1 \
-	rstest2 rstest3 rstest4 rstest5 rswhite scalar sclforin sclifin \
-	sortempty splitargv splitarr splitdef splitvar splitwht sprintfc \
-	strcat1 strtod strnum1 subamp subi18n subsepnm subslash substr swaplns \
-	synerr1 synerr2 tradanch \
-	tweakfld uninit2 uninit3 uninit4 uninitialized unterm wideidx wideidx2 \
-	widesub widesub2 widesub3 widesub4 wjposer1 zeroe0 zeroflag zero2
+BASIC_TESTS = \
+	addcomma anchgsub argarray arrayparm arrayprm2 arrayprm3 arrayref \
+	arrymem1 arryref2 arryref3 arryref4 arryref5 arynasty arynocls \
+	aryprm1 aryprm2 aryprm3 aryprm4 aryprm5 aryprm6 aryprm7 aryprm8 \
+	arysubnm asgext awkpath back89 backgsub childin clobber closebad \
+	clsflnam compare compare2 concat1 concat2 concat3 concat4 convfmt \
+	datanonl defref delarpm2 delarprm delfunc dynlj eofsplit exitval1 \
+	exitval2 fldchg fldchgnf fnamedat fnarray fnarray2 fnaryscl fnasgnm \
+	fnmisc fordel forsimp fsbs fsrs fsspcoln fstabplus funsemnl funsmnam \
+	funstack getline getline2 getline3 getlnbuf getnr2tb getnr2tm \
+	gsubasgn gsubtest gsubtst2 gsubtst3 gsubtst4 gsubtst5 gsubtst6 \
+	hex hsprint inputred intest intprec iobug1 leaddig leadnl litoct \
+	longsub longwrds manglprm math membug1 messages minusstr mmap8k \
+	mtchi18n nasty nasty2 negexp nested nfldstr nfneg nfset nlfldsep \
+	nlinstr nlstrina noeffect nofile nofmtch noloop1 noloop2 nonl noparms \
+	nors nulrsend numindex numsubstr octsub ofmt ofmtbig ofmtfidl ofmts \
+	onlynl opasnidx opasnslf paramdup paramres paramtyp parse1 parsefld \
+	parseme pcntplus prdupval prec printf0 printf1 prmarscl prmreuse \
+	prt1eval prtoeval psx96sub rand rebt8b1 redfilnm regeq reindops \
+	reparse resplit rs rsnul1nl rsnulbig rsnulbig2 rstest1 rstest2 \
+	rstest3 rstest4 rstest5 rswhite scalar sclforin sclifin sortempty \
+	splitargv splitarr splitdef splitvar splitwht strcat1 strnum1 \
+	strtod subamp subi18n subsepnm subslash substr swaplns synerr1 \
+	synerr2 tradanch tweakfld uninit2 uninit3 uninit4 uninitialized \
+	unterm uparrfs wideidx wideidx2 widesub widesub2 widesub3 \
+	widesub4 wjposer1 zero2 zeroe0 zeroflag
 
 UNIX_TESTS = fflush getlnhd localenl pid pipeio1 pipeio2 poundbang space strftlng
-GAWK_EXT_TESTS = argtest asort asorti backw badargs binmode1 clos1way devfd devfd1 devfd2 double1 double2 \
-	fieldwdth fsfwfs fwtest fwtest2 gensub gensub2 gnuops2 gnuops3 gnureops icasefs \
-	icasers igncdym igncfs ignrcase ignrcas2 lint lintold match1 match2 manyfiles \
-	nondec nondec2 posix procinfs printfbad1 regx8bit rebuf reint reint2 rsstart1 \
-	rsstart2 rsstart3 rstest6 shadow sort1 strtonum strftime whiny
+GAWK_EXT_TESTS = \
+	argtest backw badargs binmode1 clos1way devfd devfd1 devfd2 fieldwdth \
+	fsfwfs funlen fwtest fwtest2 gensub gensub2 getlndir gnuops2 gnuops3 \
+	gnureops icasefs icasers igncdym igncfs ignrcas2 ignrcase lint lintold \
+	manyfiles match1 match2 match3 mbprintf3 mbstr1 nondec nondec2 posix \
+	printfbad1 printfbad2 procinfs rebuf regx8bit reint reint2 rsstart1 \
+	rsstart2 rsstart3 rstest6 shadow strftime strtonum
 
 EXTRA_TESTS = regtest inftest
 INET_TESTS = inetechu inetecht inetdayu inetdayt
+MACHINE_TESTS = double1 double2 fmtspcl intformat
+LOCALE_CHARSET_TESTS = asort asorti fmttest fnarydel fnparydl lc_num1 mbfw1 \
+	mbprintf1 mbprintf2 rebt8b2 sort1 sprintfc whiny
+
 
 # List of the tests which should be run with --lint option:
 NEED_LINT = defref fmtspcl noeffect nofmtch shadow uninit2 uninit3 uninit4 uninitialized
@@ -167,6 +175,8 @@
 	basic-msg-start  basic           basic-msg-end \
 	unix-msg-start   unix-tests      unix-msg-end \
 	extend-msg-start gawk-extensions extend-msg-end \
+	machine-msg-start machine-tests machine-msg-end \
+	charset-msg-start charset-tests charset-msg-end \
 	pass-fail
 
 basic:	$(BASIC_TESTS)
@@ -175,11 +185,14 @@
 
 gawk-extensions: $(GAWK_EXT_TESTS)
 
-#extra:	$(EXTRA_TESTS) inet
-extra:	$(EXTRA_TESTS) inetmesg
+charset-tests: $(LOCALE_CHARSET_TESTS)
+
+extra:	$(EXTRA_TESTS) inet
 
 inet:	inetmesg $(INET_TESTS)
 
+machine-tests: $(MACHINE_TESTS)
+
 msg::
 	@echo ""
 	@echo "Any output from $(CMP) is bad news, although some differences"
@@ -208,6 +221,25 @@
 extend-msg-end:
 	@echo "======== Done with gawk extension tests ========"
 
+machine-msg-start:
+	@echo "======== Starting machine-specific tests ========"
+
+machine-msg-end:
+	@echo "======== Done with machine-specific tests ========"
+
+charset-msg-start:
+	@echo "======== Starting tests that can vary based on character set or locale support ========"
+
+charset-msg-end:
+	@echo "======== Done with tests that can vary based on character set or locale support ========"
+
+lc_num1:
+	@echo $@
+	@echo Expect lc_num1 to fail with DJGPP.
+	@[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; \
+	AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
 # This test is a PITA because increasingly, /tmp is getting
 # mounted noexec.  So, we'll test it locally.  Sigh.
 #
@@ -220,7 +252,7 @@
 	@if ./_pbd.awk $(srcdir)/poundbang.awk > _`basename $@` ; \
 	then : ; \
 	else \
-		sed "s;/tmp/gawk;./$(AWKPROG);" < $(srcdir)/poundbang.awk > ./_pbd.awk ; \
+		sed "s;/tmp/gawk;../$(AWKPROG);" < $(srcdir)/poundbang.awk > ./_pbd.awk ; \
 		chmod +x ./_pbd.awk ; \
 		LC_ALL=$${GAWKLOCALE:-C} LANG=$${GAWKLOCALE:-C} ./_pbd.awk $(srcdir)/poundbang.awk > _`basename $@`;  \
 	fi
@@ -294,7 +326,7 @@
 
 nonl::
 	@echo $@
-	@-AWKPATH=$(srcdir) $(AWK) --lint -f nonl.awk NUL >_$@ 2>&1
+	@-AWKPATH=$(srcdir) $(AWK) --lint -f nonl.awk /dev/null >_$@ 2>&1
 	@-$(CMP) $(srcdir)/nonl.ok _$@ && rm -f _$@
 
 strftime::
@@ -378,7 +410,6 @@
 
 pipeio1::
 	@echo $@
-	@echo Expect $@ to produce insignificant whitespace differences
 	@$(AWK) -f $(srcdir)/pipeio1.awk >_$@
 	@rm -f test1 test2
 	@-$(CMP) $(srcdir)/pipeio1.ok _$@ && rm -f _$@
@@ -411,21 +442,31 @@
 	@echo file /etc/services and do "'netstat -a'".
 
 inetechu::
+	@echo Expect inetechu to fail with DJGPP.
 	@echo This test is for establishing UDP connections
-	@$(AWK) 'BEGIN {print "" |& "/inet/udp/0/127.0.0.1/9"}'
+#	@$(AWK) 'BEGIN {print "" |& "/inet/udp/0/127.0.0.1/9"}'
+	@-$(AWK) 'BEGIN {print "" |& "/inet/udp/0/127.0.0.1/9"}'
 
 inetecht::
+	@echo Expect inetecht to fail with DJGPP.
 	@echo This test is for establishing TCP connections
-	@$(AWK) 'BEGIN {print "" |& "/inet/tcp/0/127.0.0.1/9"}'
+#	@$(AWK) 'BEGIN {print "" |& "/inet/tcp/0/127.0.0.1/9"}'
+	@-$(AWK) 'BEGIN {print "" |& "/inet/tcp/0/127.0.0.1/9"}'
 
 inetdayu::
+	@echo Expect inetdayu to fail with DJGPP.
 	@echo This test is for bidirectional UDP transmission
-	@$(AWK) 'BEGIN { print "" |& "/inet/udp/0/127.0.0.1/13"; \
+#	@$(AWK) 'BEGIN { print "" |& "/inet/udp/0/127.0.0.1/13"; \
+#	"/inet/udp/0/127.0.0.1/13" |& getline; print $0}'
+	@-$(AWK) 'BEGIN { print "" |& "/inet/udp/0/127.0.0.1/13"; \
 	"/inet/udp/0/127.0.0.1/13" |& getline; print $0}'
 
 inetdayt::
+	@echo Expect inetdayt to fail with DJGPP.
 	@echo This test is for bidirectional TCP transmission
-	@$(AWK) 'BEGIN { print "" |& "/inet/tcp/0/127.0.0.1/13"; \
+#	@$(AWK) 'BEGIN { print "" |& "/inet/tcp/0/127.0.0.1/13"; \
+#	"/inet/tcp/0/127.0.0.1/13" |& getline; print $0}'
+	@-$(AWK) 'BEGIN { print "" |& "/inet/tcp/0/127.0.0.1/13"; \
 	"/inet/tcp/0/127.0.0.1/13" |& getline; print $0}'
 
 redfilnm::
@@ -609,7 +650,49 @@
 
 localenl::
 	@echo $@
-	@$(srcdir)/$@.sh >_$@
+	@$(srcdir)/$@.sh >_$@ 2>/dev/null
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
+mbprintf1::
+	@echo $@
+	@echo Expect mbprintf1 to fail with DJGPP.
+	@GAWKLOCALE=en_US.UTF-8 ; export GAWKLOCALE ; \
+	$(AWK) -f $(srcdir)/$@.awk $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >> _$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
+mbprintf2::
+	@echo $@
+	@GAWKLOCALE=ja_JP.UTF-8 ; export GAWKLOCALE ; \
+	$(AWK) -f $(srcdir)/$@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >> _$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
+mbprintf3::
+	@echo $@
+	@GAWKLOCALE=en_US.UTF-8 ; export GAWKLOCALE ; \
+	$(AWK) -f $(srcdir)/$@.awk $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >> _$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
+mbfw1::
+	@echo $@
+	@echo Expect mbfw1 to fail with DJGPP.
+	@GAWKLOCALE=en_US.UTF-8 ; export GAWKLOCALE ; \
+	$(AWK) -f $(srcdir)/$@.awk $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >> _$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
+gsubtst6::
+	@echo $@
+	@GAWKLOCALE=C ; $(AWK) -f $(srcdir)/$@.awk > _$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
+mbstr1::
+	@echo $@
+	@[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; \
+	AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
+printfbad2: printfbad2.ok
+	@echo $@
+	@$(AWK) --lint -f $(srcdir)/$@.awk $(srcdir)/$@.in 2>&1 | sed 's;\$(srcdir)/;;g' >_$@ || echo EXIT CODE: $$?  >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 Gt-dummy:
 # file Maketests, generated from Makefile.am by the Gentests program
@@ -628,23 +711,23 @@
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-arrayref:
-	@echo arrayref
+arrayprm2:
+	@echo arrayprm2
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-arrymem1:
-	@echo arrymem1
+arrayprm3:
+	@echo arrayprm3
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-arrayprm2:
-	@echo arrayprm2
+arrayref:
+	@echo arrayref
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-arrayprm3:
-	@echo arrayprm3
+arrymem1:
+	@echo arrymem1
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
@@ -738,6 +821,11 @@
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
+closebad:
+	@echo closebad
+	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
 clsflnam:
 	@echo clsflnam
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -778,13 +866,13 @@
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  --lint >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-delarprm:
-	@echo delarprm
+delarpm2:
+	@echo delarpm2
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-delarpm2:
-	@echo delarpm2
+delarprm:
+	@echo delarprm
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
@@ -805,7 +893,7 @@
 
 exitval2:
 	@echo exitval2
-	@AWKPATH=$(srcdir) $(AWK) -f $@.w32  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
 fldchg:
@@ -818,12 +906,6 @@
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-fmttest:
-	@echo fmttest
-	@echo Expect $@ to produce insignificant formatting differences
-	@AWKPATH=$(srcdir) $(AWK) -f $@.awk | sed -e "s/\([0-9]e[-+]\)0\([0-9]\)/\1\2/g" >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
-	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
-
 fnamedat:
 	@echo fnamedat
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -839,11 +921,6 @@
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-fnarydel:
-	@echo fnarydel
-	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
-	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
-
 fnaryscl:
 	@echo fnaryscl
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -859,11 +936,6 @@
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-fnparydl:
-	@echo fnparydl
-	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
-	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
-
 fordel:
 	@echo fordel
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -956,9 +1028,7 @@
 
 hsprint:
 	@echo hsprint
-	@echo Expect hsprint to produce insignificant formatting differences
-	@AWKPATH=$(srcdir) $(AWK) -f $@.awk | sed -e "s/\([0-9]e[-+]\)0\([0-9]\)/\1\2/g" -e "s/| 1/|  1/" >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
-#	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
 inputred:
@@ -971,11 +1041,6 @@
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-intformat:
-	@echo intformat
-	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
-	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
-
 intprec:
 	@echo intprec
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -1152,13 +1217,13 @@
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-ovrflow1:
-	@echo ovrflow1
+paramdup:
+	@echo paramdup
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-paramdup:
-	@echo paramdup
+paramres:
+	@echo paramres
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
@@ -1237,11 +1302,6 @@
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-rebt8b2:
-	@echo rebt8b2
-	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
-	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
-
 regeq:
 	@echo regeq
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -1289,13 +1349,11 @@
 
 rstest4:
 	@echo rstest4
-	@echo Expect $@ to fail on DOS/Windows
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
 rstest5:
 	@echo rstest5
-	@echo Expect $@ to fail on DOS/Windows
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
@@ -1349,27 +1407,22 @@
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-sprintfc:
-	@echo sprintfc
-	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
-	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
-
 strcat1:
 	@echo strcat1
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
+strnum1:
+	@echo strnum1
+	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
 strtod:
 	@echo strtod
 	@echo Expect strtod to fail with DJGPP.
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-strnum1:
-	@echo strnum1
-	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
-	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
-
 subsepnm:
 	@echo subsepnm
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -1425,11 +1478,21 @@
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
+uparrfs:
+	@echo uparrfs
+	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
 wjposer1:
 	@echo wjposer1
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
+zero2:
+	@echo zero2
+	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
 zeroe0:
 	@echo zeroe0
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -1440,27 +1503,12 @@
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-zero2:
-	@echo zero2
-	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
-	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
-
 getlnhd:
 	@echo getlnhd
 	@echo Expect getlnhd to fail if pipe does not use a Unixy shell
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-asort:
-	@echo asort
-	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
-	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
-
-asorti:
-	@echo asorti
-	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
-	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
-
 backw:
 	@echo backw
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -1472,16 +1520,6 @@
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-double1:
-	@echo double1
-	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
-	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
-
-double2:
-	@echo double2
-	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
-	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
-
 fieldwdth:
 	@echo fieldwdth
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -1492,6 +1530,11 @@
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
+funlen:
+	@echo funlen
+	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
 fwtest:
 	@echo fwtest
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -1512,6 +1555,12 @@
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
+getlndir:
+	@echo getlndir
+	@echo Expect getlndir to fail with DJGPP.
+	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
 gnuops2:
 	@echo gnuops2
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -1572,6 +1621,11 @@
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
+match3:
+	@echo match3
+	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
 nondec:
 	@echo nondec
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -1579,12 +1633,7 @@
 
 posix:
 	@echo posix
-	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  < $(srcdir)/$@.in | sed -e "s/e+000/e+00/" >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
-	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
-
-procinfs:
-	@echo procinfs
-	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
 printfbad1:
@@ -1592,8 +1641,8 @@
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-regx8bit:
-	@echo regx8bit
+procinfs:
+	@echo procinfs
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
@@ -1602,6 +1651,11 @@
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
+regx8bit:
+	@echo regx8bit
+	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
 rstest6:
 	@echo rstest6
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -1612,14 +1666,64 @@
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  --lint >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
+strtonum:
+	@echo strtonum
+	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
+double1:
+	@echo double1
+	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
+double2:
+	@echo double2
+	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
+intformat:
+	@echo intformat
+	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
+asort:
+	@echo asort
+	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
+asorti:
+	@echo asorti
+	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
+fmttest:
+	@echo fmttest
+	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
+fnarydel:
+	@echo fnarydel
+	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
+fnparydl:
+	@echo fnparydl
+	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
+rebt8b2:
+	@echo rebt8b2
+	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
 sort1:
 	@echo sort1
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-strtonum:
-	@echo strtonum
-	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+sprintfc:
+	@echo sprintfc
+	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
 # end of file Maketests
@@ -1681,6 +1785,7 @@
 			rm _$$i ; \
 		fi ; \
 	done
+
 # 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:
diff -urN gawk-3.1.6/pc/config.h gawk-3.1.7/pc/config.h
--- gawk-3.1.6/pc/config.h	2007-10-19 05:37:27.000000000 +0200
+++ gawk-3.1.7/pc/config.h	2008-07-30 23:16:28.000000000 +0300
@@ -552,5 +552,8 @@
 #undef HAVE_SYS_PARAM_H
 #endif
 
+#if defined(_MSC_VER) || defined(__MINGW32__)
+# define WEXITSTATUS(stat_val)  ((stat_val) & ~0xC0000000)
+#endif
 
 /* #define NO_LINT 1 */
diff -urN gawk-3.1.6/po/ChangeLog gawk-3.1.7/po/ChangeLog
--- gawk-3.1.6/po/ChangeLog	2007-10-22 08:49:34.000000000 +0200
+++ gawk-3.1.7/po/ChangeLog	2009-07-21 22:29:16.000000000 +0300
@@ -1,3 +1,21 @@
+Tue Jul 21 22:28:56 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* Release 3.1.7: Release tar file made.
+
+Mon Jun  8 23:12:09 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* Makefile.in.in: Reinstate change of 2008.12.18.
+
+2009-06-08  gettextize  <bug-gnu-gettext@gnu.org>
+
+	* Makefile.in.in: Upgrade to gettext-0.17.
+
+Thu Dec 18 20:36:34 2008  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* Makefile.in.in (install-dvi, install-ps): New targets that
+	do nothing, per email from "Stoddard, Isaac A"
+	<isaac.a.stoddard@boeing.com>.
+
 Mon Oct 22 08:49:05 2007  Arnold D. Robbins  <arnold@skeeve.com>
 
 	* Release 3.1.6: Release tar file made.
diff -urN gawk-3.1.6/po/LINGUAS gawk-3.1.7/po/LINGUAS
--- gawk-3.1.6/po/LINGUAS	2007-06-12 23:18:21.000000000 +0300
+++ gawk-3.1.7/po/LINGUAS	2008-11-10 19:47:00.000000000 +0200
@@ -1,6 +1,7 @@
 es
 fr
 he
+id
 it
 sv
 tr
diff -urN gawk-3.1.6/po/Makefile.in.in gawk-3.1.7/po/Makefile.in.in
--- gawk-3.1.6/po/Makefile.in.in	2007-01-12 12:22:46.000000000 +0200
+++ gawk-3.1.7/po/Makefile.in.in	2009-06-08 23:11:52.000000000 +0300
@@ -1,5 +1,5 @@
 # Makefile for PO directory in any package using GNU gettext.
-# Copyright (C) 1995-1997, 2000-2006 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
+# Copyright (C) 1995-1997, 2000-2007 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
@@ -8,7 +8,8 @@
 # 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.16
+# Origin: gettext-0.17
+GETTEXT_MACRO_VERSION = 0.17
 
 PACKAGE = @PACKAGE@
 VERSION = @VERSION@
@@ -95,11 +96,18 @@
 	mv t-$@ $@
 
 
-all: all-@USE_NLS@
+all: check-macro-version all-@USE_NLS@
 
 all-yes: stamp-po
 all-no:
 
+# Ensure that the gettext macros and this Makefile.in.in are in sync.
+check-macro-version:
+	@test "$(GETTEXT_MACRO_VERSION)" = "@GETTEXT_MACRO_VERSION@" \
+	  || { echo "*** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version $(GETTEXT_MACRO_VERSION) but the autoconf macros are from gettext version @GETTEXT_MACRO_VERSION@" 1>&2; \
+	       exit 1; \
+	     }
+
 # $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no
 # internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because
 # we don't want to bother translators with empty POT files). We assume that
@@ -130,16 +138,34 @@
 # This target rebuilds $(DOMAIN).pot; it is an expensive operation.
 # Note that $(DOMAIN).pot is not touched if it doesn't need to be changed.
 $(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed
+	if LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null | grep -v 'libtool:' >/dev/null; then \
+	  package_gnu='GNU '; \
+	else \
+	  package_gnu=''; \
+	fi; \
 	if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \
 	  msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \
 	else \
 	  msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \
 	fi; \
-	$(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
-	  --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) \
-	  --files-from=$(srcdir)/POTFILES.in \
-	  --copyright-holder='$(COPYRIGHT_HOLDER)' \
-	  --msgid-bugs-address="$$msgid_bugs_address"
+	case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
+	  '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \
+	    $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
+	      --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \
+	      --files-from=$(srcdir)/POTFILES.in \
+	      --copyright-holder='$(COPYRIGHT_HOLDER)' \
+	      --msgid-bugs-address="$$msgid_bugs_address" \
+	    ;; \
+	  *) \
+	    $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
+	      --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \
+	      --files-from=$(srcdir)/POTFILES.in \
+	      --copyright-holder='$(COPYRIGHT_HOLDER)' \
+	      --package-name="$${package_gnu}@PACKAGE@" \
+	      --package-version='@VERSION@' \
+	      --msgid-bugs-address="$$msgid_bugs_address" \
+	    ;; \
+	esac
 	test ! -f $(DOMAIN).po || { \
 	  if test -f $(srcdir)/$(DOMAIN).pot; then \
 	    sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \
@@ -301,7 +327,7 @@
 
 check: all
 
-info dvi ps pdf html tags TAGS ctags CTAGS ID:
+info dvi ps pdf html tags TAGS ctags CTAGS ID install-dvi install-ps:
 
 mostlyclean:
 	rm -f remove-potcdate.sed
diff -urN gawk-3.1.6/po/ca.po gawk-3.1.7/po/ca.po
--- gawk-3.1.6/po/ca.po	2007-09-30 22:33:27.000000000 +0200
+++ gawk-3.1.7/po/ca.po	2009-07-21 23:23:45.000000000 +0300
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gawk 3.1.31\n"
 "Report-Msgid-Bugs-To: arnold@skeeve.com\n"
-"POT-Creation-Date: 2007-09-30 22:33+0200\n"
+"POT-Creation-Date: 2009-07-21 23:23+0300\n"
 "PO-Revision-Date: 2003-05-07 21:13+0100\n"
 "Last-Translator: Antoni Bella Perez <bella5@teleline.es>\n"
 "Language-Team: Catalan <ca@dodds.net>\n"
@@ -75,334 +75,337 @@
 msgid "%s: array_ref to %s\n"
 msgstr "%s: ref_matriu a %s\n"
 
-#: awkgram.y:215
+#: awkgram.y:218
 #, fuzzy, c-format
 msgid "%s blocks must have an action part"
 msgstr "Els blocs FINAL han de tindre una part d'acci�"
 
-#: awkgram.y:218
+#: awkgram.y:221
 #, fuzzy
 msgid "each rule must have a pattern or an action part"
 msgstr "Els blocs FINAL han de tindre una part d'acci�"
 
-#: awkgram.y:254 awkgram.y:263
+#: awkgram.y:257 awkgram.y:266
 #, fuzzy
 msgid "old awk does not support multiple `BEGIN' or `END' rules"
 msgstr "l'antic awk no suporta l'operador �**=�"
 
-#: awkgram.y:282
+#: awkgram.y:285
 #, c-format
 msgid "`%s' is a built-in function, it cannot be redefined"
 msgstr "�%s� �s una funci� interna, no pot ser redefinida"
 
-#: awkgram.y:328
+#: awkgram.y:331
 #, fuzzy
 msgid "regexp constant `//' looks like a C++ comment, but is not"
 msgstr ""
-"la constant d'expressi� regular �/%s/� sembla un comentari en C, per� no ho "
-"�s"
+"la constant d'expressi� regular �/%s/� sembla un comentari en C, per� no ho �s"
 
-#: awkgram.y:331
+#: awkgram.y:334
 #, c-format
 msgid "regexp constant `/%s/' looks like a C comment, but is not"
 msgstr ""
-"la constant d'expressi� regular �/%s/� sembla un comentari en C, per� no ho "
-"�s"
+"la constant d'expressi� regular �/%s/� sembla un comentari en C, per� no ho �s"
 
-#: awkgram.y:358 awkgram.y:653
+#: awkgram.y:361 awkgram.y:656
 msgid "statement may have no effect"
 msgstr "la declaraci� podria no tindre efecte"
 
-#: awkgram.y:455 awkgram.y:479
+#: awkgram.y:458 awkgram.y:482
 #, fuzzy, c-format
 msgid "`%s' used in %s action"
 msgstr "�next� �s usat dintre de l'acci� BEGIN o END"
 
-#: awkgram.y:470 awkgram.y:474
+#: awkgram.y:473 awkgram.y:477
 msgid "`nextfile' is a gawk extension"
 msgstr "�nextfile� �s una extensi� de gawk"
 
-#: awkgram.y:489
+#: awkgram.y:492
 msgid "`return' used outside function context"
 msgstr "�return� �s usat fora del context d'una funci�"
 
-#: awkgram.y:531
+#: awkgram.y:534
 msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'"
 msgstr ""
 "el �print� simple en la regla BEGIN o END probablement ha de ser �print \"\"�"
 
-#: awkgram.y:547 awkgram.y:555
+#: awkgram.y:550 awkgram.y:558
 msgid "`delete array' is a gawk extension"
 msgstr "�delete array� �s una extensi� de gawk"
 
-#: awkgram.y:569 awkgram.y:577
+#: awkgram.y:572 awkgram.y:580
 #, fuzzy
 msgid "`delete(array)' is a non-portable tawk extension"
 msgstr "�delete array� �s una extensi� de gawk"
 
-#: awkgram.y:621
+#: awkgram.y:624
 #, c-format
 msgid "duplicate case values in switch body: %s"
 msgstr ""
 
-#: awkgram.y:631
+#: awkgram.y:634
 msgid "Duplicate `default' detected in switch body"
 msgstr ""
 
-#: awkgram.y:720
+#: awkgram.y:723
 msgid "multistage two-way pipelines don't work"
 msgstr "les canonades bidireccionals multi-etapes no funcionen"
 
-#: awkgram.y:811
+#: awkgram.y:814
 msgid "regular expression on right of assignment"
 msgstr "expressi� regular a la dreta d'una assignaci�"
 
-#: awkgram.y:834
+#: awkgram.y:824
 msgid "regular expression on left of `~' or `!~' operator"
 msgstr "expressi� regular a l'esquerra de l'operador �~� o �!~�"
 
-#: awkgram.y:840 awkgram.y:913
+#: awkgram.y:830 awkgram.y:903
 #, fuzzy
 msgid "old awk does not support the keyword `in' except after `for'"
 msgstr "l'antic awk no suporta l'operador �**=�"
 
-#: awkgram.y:846
+#: awkgram.y:836
 msgid "regular expression on right of comparison"
 msgstr "expressi� regular a la derta de la comparaci�"
 
-#: awkgram.y:903
+#: awkgram.y:893
 msgid "non-redirected `getline' undefined inside END action"
 msgstr "�getline� no redirigit sense definir dintre de l'acci� FINAL"
 
-#: awkgram.y:914
+#: awkgram.y:904
 #, fuzzy
 msgid "old awk does not support multidimensional arrays"
 msgstr "l'antic awk no suporta l'operador �**=�"
 
-#: awkgram.y:960
+#: awkgram.y:950
 msgid "call of `length' without parentheses is not portable"
 msgstr "la crida de �length� sense par�ntesis no �s portable"
 
-#: awkgram.y:965
+#: awkgram.y:955
 msgid "call of `length' without parentheses is deprecated by POSIX"
 msgstr "la crida de �length� sense par�ntesis est� desaprovada per POSIX"
 
-#: awkgram.y:1019
+#: awkgram.y:1009
 msgid "use of non-array as array"
 msgstr ""
 
-#: awkgram.y:1022
+#: awkgram.y:1012
 msgid "invalid subscript expression"
 msgstr "expressi� de subscript no v�lida"
 
-#: awkgram.y:1249
+#: awkgram.y:1257
 #, fuzzy
 msgid "unexpected newline or end of string"
 msgstr "nova l�nia inesperada"
 
-#: awkgram.y:1366
+#: awkgram.y:1374
 msgid "empty program text on command line"
 msgstr "el text del programa en la l�nia de comandaments est� buit"
 
-#: awkgram.y:1422
+#: awkgram.y:1430
 #, c-format
 msgid "can't open source file `%s' for reading (%s)"
 msgstr "no es pot obrir el fitxer font �%s� per a lectura (%s)"
 
-#: awkgram.y:1520
+#: awkgram.y:1528
 #, c-format
 msgid "can't read sourcefile `%s' (%s)"
 msgstr "no es pot llegir el fitxer font �%s� (%s)"
 
-#: awkgram.y:1528
+#: awkgram.y:1536
 #, c-format
 msgid "source file `%s' is empty"
 msgstr "el fitxer font �%s� est� buit"
 
-#: awkgram.y:1720 awkgram.y:1842 awkgram.y:1860 awkgram.y:2235 awkgram.y:2322
+#: awkgram.y:1728 awkgram.y:1850 awkgram.y:1868 awkgram.y:2243 awkgram.y:2330
 msgid "source file does not end in newline"
 msgstr "el fitxer font no finalitza amb un retorn de carro"
 
-#: awkgram.y:1782
+#: awkgram.y:1790
 msgid "unterminated regexp ends with `\\' at end of file"
 msgstr "expressi� regular sense finalitzar acaba amb �\\� al final del fitxer"
 
-#: awkgram.y:1806
+#: awkgram.y:1814
 #, c-format
 msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk"
 msgstr ""
 
-#: awkgram.y:1810
+#: awkgram.y:1818
 #, c-format
 msgid "tawk regex modifier `/.../%c' doesn't work in gawk"
 msgstr ""
 
-#: awkgram.y:1817
+#: awkgram.y:1825
 msgid "unterminated regexp"
 msgstr "expressi� regular sense finalitzar"
 
-#: awkgram.y:1820
+#: awkgram.y:1828
 msgid "unterminated regexp at end of file"
 msgstr "expressi� regular sense finalitzar al final del fitxer"
 
-#: awkgram.y:1889
+#: awkgram.y:1897
 msgid "use of `\\ #...' line continuation is not portable"
 msgstr "l'�s de �\\ #...� com a continuaci� de l�nia no �s portable"
 
-#: awkgram.y:1902
+#: awkgram.y:1910
 msgid "backslash not last character on line"
 msgstr "la barra invertida no �s l'�ltim car�cter en la l�nia"
 
-#: awkgram.y:1947
+#: awkgram.y:1955
 msgid "POSIX does not allow operator `**='"
 msgstr "POSIX no permet l'operador �**=�"
 
-#: awkgram.y:1949
+#: awkgram.y:1957
 msgid "old awk does not support operator `**='"
 msgstr "l'antic awk no suporta l'operador �**=�"
 
-#: awkgram.y:1958
+#: awkgram.y:1966
 msgid "POSIX does not allow operator `**'"
 msgstr "POSIX no permet l'operador �**�"
 
-#: awkgram.y:1960
+#: awkgram.y:1968
 msgid "old awk does not support operator `**'"
 msgstr "l'antic awk no suporta l'operador �**=�"
 
-#: awkgram.y:1991
+#: awkgram.y:1999
 msgid "operator `^=' is not supported in old awk"
 msgstr "l'operador �^=� no est� suportat en l'antic awk"
 
-#: awkgram.y:1999
+#: awkgram.y:2007
 msgid "operator `^' is not supported in old awk"
 msgstr "l'operador �^� no est� suportat en l'antic awk"
 
-#: awkgram.y:2083 awkgram.y:2098
+#: awkgram.y:2091 awkgram.y:2106
 msgid "unterminated string"
 msgstr "cadena sense finalitzar"
 
-#: awkgram.y:2283
+#: awkgram.y:2291
 #, c-format
 msgid "invalid char '%c' in expression"
 msgstr "car�cter �%c� no v�lid en l'expressi�"
 
-#: awkgram.y:2331
+#: awkgram.y:2339
 #, c-format
 msgid "`%s' is a gawk extension"
 msgstr "�%s� �s una extensi� de gawk"
 
-#: awkgram.y:2334
+#: awkgram.y:2342
 #, c-format
 msgid "`%s' is a Bell Labs extension"
 msgstr "�%s� �s una extensi� de Bell Labs"
 
-#: awkgram.y:2337
+#: awkgram.y:2345
 #, c-format
 msgid "POSIX does not allow `%s'"
 msgstr "POSIX no permet �%s�"
 
-#: awkgram.y:2341
+#: awkgram.y:2349
 #, c-format
 msgid "`%s' is not supported in old awk"
 msgstr "�%s� no est� suportat en l'antic awk"
 
-#: awkgram.y:2367
+#: awkgram.y:2375
 msgid "`goto' considered harmful!\n"
 msgstr "�goto� se considera nefast!\n"
 
-#: awkgram.y:2429
+#: awkgram.y:2437
 #, c-format
 msgid "%d is invalid as number of arguments for %s"
 msgstr "%d no �s v�lid com a nombre d'arguments per a %s"
 
-#: awkgram.y:2448 awkgram.y:2451
+#: awkgram.y:2456 awkgram.y:2459
 msgid "match: third argument is a gawk extension"
 msgstr "match: el tercer argument �s una extensi� de gawk"
 
-#: awkgram.y:2464
+#: awkgram.y:2472
 #, c-format
 msgid "%s: string literal as last arg of substitute has no effect"
 msgstr "%s: la cadena literal com a �ltim argument de substituci� no t� efecte"
 
-#: awkgram.y:2467
+#: awkgram.y:2475
 #, fuzzy, c-format
 msgid "%s third parameter is not a changeable object"
 msgstr "sub: el tercer argument no �s un objecte intercanviable"
 
-#: awkgram.y:2494 awkgram.y:2497
+#: awkgram.y:2502 awkgram.y:2505
 msgid "close: second argument is a gawk extension"
 msgstr "close: el segon argument �s una extensi� de gawk"
 
-#: awkgram.y:2507
+#: awkgram.y:2515
 msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore"
 msgstr ""
 "l'�s de dcgettext(_\"...\") no �s correcte: elimineu el gui� baix inicial"
 
-#: awkgram.y:2522
+#: awkgram.y:2530
 #, fuzzy
 msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore"
 msgstr ""
 "l'�s de dcgettext(_\"...\") no �s correcte: elimineu el gui� baix inicial"
 
-#: awkgram.y:2594
+#: awkgram.y:2602
 #, c-format
 msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d"
 msgstr "funci� �%s�: par�metre #%d, �%s�, duplica al par�metre #%d"
 
-#: awkgram.y:2627
+#: awkgram.y:2635
 #, c-format
 msgid "function `%s': parameter `%s' shadows global variable"
 msgstr "funci� �%s�: par�metre �%s� ofusca la variable global"
 
-#: awkgram.y:2739
+#: awkgram.y:2747
 #, c-format
 msgid "could not open `%s' for writing (%s)"
 msgstr "no es pot obrir �%s� per a escriptura (%s)"
 
-#: awkgram.y:2740 profile.c:94
+#: awkgram.y:2748 profile.c:95
 msgid "sending profile to standard error"
 msgstr "enviant el perfil a l'eixida d'error est�ndard"
 
-#: awkgram.y:2772
+#: awkgram.y:2780
 #, c-format
 msgid "%s: close failed (%s)"
 msgstr "%s: tancament erroni (%s)"
 
-#: awkgram.y:2893
+#: awkgram.y:2901
 msgid "shadow_funcs() called twice!"
 msgstr "shadow_funcs() crida dos vegades!"
 
-#: awkgram.y:2920
+#: awkgram.y:2928
 msgid "there were shadowed variables."
 msgstr ""
 
-#: awkgram.y:2993
+#: awkgram.y:3001
 #, c-format
 msgid "function `%s': can't use function name as parameter name"
 msgstr "funci� �%s�: no pot usar el nom de la funci� com a par�metre"
 
-#: awkgram.y:3003
+#: awkgram.y:3004
+#, fuzzy, c-format
+msgid "function `%s': can't use special variable `%s' as a function parameter"
+msgstr "funci� �%s�: no pot usar el nom de la funci� com a par�metre"
+
+#: awkgram.y:3014
 #, c-format
 msgid "function name `%s' previously defined"
 msgstr "nom de la funci� �%s� definida pr�viament"
 
-#: awkgram.y:3154 awkgram.y:3160
+#: awkgram.y:3165 awkgram.y:3171
 #, c-format
 msgid "function `%s' called but never defined"
 msgstr "es crida a la funci� �%s� per� no s'ha definit"
 
-#: awkgram.y:3163
+#: awkgram.y:3174
 #, c-format
 msgid "function `%s' defined but never called"
 msgstr "es defineix la funci� �%s� per� no s'ha cridat mai"
 
-#: awkgram.y:3190
+#: awkgram.y:3201
 #, c-format
 msgid "regexp constant for parameter #%d yields boolean value"
 msgstr ""
 "l'expressi� regular constant per al par�metre #%d condueix a un valor boole�"
 
-#: awkgram.y:3234
+#: awkgram.y:3245
 #, fuzzy, c-format
 msgid ""
 "function `%s' called with space between name and `(',\n"
@@ -411,202 +414,231 @@
 "s'ha cridat a la funci� �%s� amb espai entre el nom i el �(�,\n"
 "%s"
 
-#: builtin.c:119
+#: awkgram.y:3667 eval.c:1394
+#, c-format
+msgid "division by zero attempted in `%%'"
+msgstr "s'ha intentat una divisi� per zero en �%%�"
+
+#: builtin.c:122
 #, c-format
 msgid "%s to \"%s\" failed (%s)"
 msgstr "%s a \"%s\" ha fallat (%s)"
 
-#: builtin.c:120
+#: builtin.c:123
 msgid "standard output"
 msgstr "eixida est�ndard"
 
-#: builtin.c:121
+#: builtin.c:124
 msgid "reason unknown"
 msgstr "motiu desconegut"
 
-#: builtin.c:134
+#: builtin.c:137
 msgid "exp: received non-numeric argument"
 msgstr "exp: s'ha rebut un argument que no �s un n�mero"
 
-#: builtin.c:140
+#: builtin.c:143
 #, c-format
 msgid "exp: argument %g is out of range"
 msgstr "exp: l'argument %g est� fora de rang"
 
-#: builtin.c:198
+#: builtin.c:201
 #, c-format
 msgid "fflush: cannot flush: pipe `%s' opened for reading, not writing"
 msgstr ""
 "fflush: no es pot netejar: la canonada �%s� s'ha obert per a lectura, no per "
 "a escriptura"
 
-#: builtin.c:201
+#: builtin.c:204
 #, c-format
 msgid "fflush: cannot flush: file `%s' opened for reading, not writing"
 msgstr ""
 "fflush: no es pot netejar: el fitxer �%s� s'ha obert per a lectura, no per a "
 "escriptura"
 
-#: builtin.c:213
+#: builtin.c:216
 #, c-format
 msgid "fflush: `%s' is not an open file, pipe or co-process"
 msgstr "fflush: �%s� no �s un fitxer obert, canonada o co-proc�s"
 
-#: builtin.c:306
+#: builtin.c:310
 msgid "index: received non-string first argument"
 msgstr "�ndex: el primer argument rebut no �s una cadena"
 
-#: builtin.c:308
+#: builtin.c:312
 msgid "index: received non-string second argument"
 msgstr "�ndex: el segon argument rebut no �s una cadena"
 
-#: builtin.c:423
+#: builtin.c:434
 msgid "int: received non-numeric argument"
 msgstr "int: s'ha rebut un argument no num�ric"
 
-#: builtin.c:448
+#: builtin.c:464
 #, fuzzy
 msgid "`length(array)' is a gawk extension"
 msgstr "�delete array� �s una extensi� de gawk"
 
-#: builtin.c:458
+#: builtin.c:473
+msgid "length: untyped argument will be forced to scalar"
+msgstr ""
+
+#: builtin.c:477
 msgid "length: received non-string argument"
 msgstr "length: s'ha rebut un argument que no �s una cadena"
 
-#: builtin.c:483
+#: builtin.c:508
 msgid "log: received non-numeric argument"
 msgstr "log: s'ha rebut un argument no num�ric"
 
-#: builtin.c:486
+#: builtin.c:511
 #, c-format
 msgid "log: received negative argument %g"
 msgstr "log: s'ha rebut l'argument negatiu %g"
 
-#: builtin.c:693 builtin.c:696
+#: builtin.c:719 builtin.c:722
 msgid "must use `count$' on all formats or none"
 msgstr ""
 
-#: builtin.c:799
+#: builtin.c:783
+#, c-format
+msgid "field width is ignored for `%%%%' specifier"
+msgstr ""
+
+#: builtin.c:785
+#, c-format
+msgid "precision is ignored for `%%%%' specifier"
+msgstr ""
+
+#: builtin.c:787
+#, c-format
+msgid "field width and precision are ignored for `%%%%' specifier"
+msgstr ""
+
+#: builtin.c:838
 msgid "`$' is not permitted in awk formats"
 msgstr "no es permeten �$� en els formats awk"
 
-#: builtin.c:805
+#: builtin.c:844
 msgid "arg count with `$' must be > 0"
 msgstr "el compte d'arguments amb �$� ha de ser > 0"
 
-#: builtin.c:807
+#: builtin.c:846
 #, fuzzy, c-format
 msgid "arg count %ld greater than total number of supplied arguments"
 msgstr ""
 "el comte d'arguments %d �s major que el nombre total d'arguments "
 "proporcionats"
 
-#: builtin.c:809
+#: builtin.c:848
 msgid "`$' not permitted after period in format"
 msgstr "no es permet �$� despr�s d'un punt en el format"
 
-#: builtin.c:822
+#: builtin.c:861
 msgid "no `$' supplied for positional field width or precision"
 msgstr "no es proporciona �$� per a l'ample o precisi� del camp de posici�"
 
-#: builtin.c:888
+#: builtin.c:927
 msgid "`l' is meaningless in awk formats; ignored"
 msgstr "�l� manca de significat en els formats awk; ser� ignorat"
 
-#: builtin.c:892
+#: builtin.c:931
 msgid "`l' is not permitted in POSIX awk formats"
 msgstr "�l� no est� perm�s en els formats POSIX de awk"
 
-#: builtin.c:903
+#: builtin.c:942
 msgid "`L' is meaningless in awk formats; ignored"
 msgstr "�L� manca de significat en els formats awk; ser� ignorat"
 
-#: builtin.c:907
+#: builtin.c:946
 msgid "`L' is not permitted in POSIX awk formats"
 msgstr "�L� no est� perm�s en els formats POSIX de awk"
 
-#: builtin.c:918
+#: builtin.c:957
 msgid "`h' is meaningless in awk formats; ignored"
 msgstr "�h� manca de significat en els formats awk; ser� ignorat"
 
-#: builtin.c:922
+#: builtin.c:961
 msgid "`h' is not permitted in POSIX awk formats"
 msgstr "�h� no est� perm�s en els formats POSIX de awk"
 
-#: builtin.c:1182
+#: builtin.c:1236
 #, c-format
 msgid "[s]printf: value %g is out of range for `%%%c' format"
 msgstr ""
 
-#: builtin.c:1266
+#: builtin.c:1316
+#, c-format
+msgid "ignoring unknown format specifier character `%c': no argument converted"
+msgstr ""
+
+#: builtin.c:1322
 msgid "not enough arguments to satisfy format string"
 msgstr "no hi ha prou arguments per a satisfer el format d'una cadena"
 
-#: builtin.c:1268
+#: builtin.c:1324
 msgid "^ ran out for this one"
 msgstr "^ desbordament per a aquest"
 
-#: builtin.c:1274
+#: builtin.c:1330
 msgid "[s]printf: format specifier does not have control letter"
 msgstr "[s]printf: l'especificador de format no cont� lletra de control"
 
-#: builtin.c:1277
+#: builtin.c:1333
 msgid "too many arguments supplied for format string"
 msgstr "s'han proporcionat masses arguments per a la cadena de format"
 
-#: builtin.c:1352 builtin.c:1355
+#: builtin.c:1408 builtin.c:1411
 msgid "printf: no arguments"
 msgstr "printf: sense arguments"
 
-#: builtin.c:1379
+#: builtin.c:1435
 msgid "sqrt: received non-numeric argument"
 msgstr "sqrt: s'ha rebut un argument no num�ric"
 
-#: builtin.c:1383
+#: builtin.c:1439
 #, c-format
 msgid "sqrt: called with negative argument %g"
 msgstr "sqrt: cridat amb l'argument negatiu %g"
 
-#: builtin.c:1407
+#: builtin.c:1463
 #, c-format
 msgid "substr: start index %g is invalid, using 1"
 msgstr "substr: l'�ndex d'inici %g no �s v�lid, usant 1"
 
-#: builtin.c:1412
+#: builtin.c:1468
 #, c-format
 msgid "substr: non-integer start index %g will be truncated"
 msgstr "substr: l'�ndex d'inici no enter %g ser� truncat"
 
-#: builtin.c:1431
+#: builtin.c:1494
 #, fuzzy, c-format
 msgid "substr: length %g is not >= 1"
 msgstr "substr: la longitud %g �s <= 0"
 
-#: builtin.c:1433
+#: builtin.c:1496
 #, fuzzy, c-format
 msgid "substr: length %g is not >= 0"
 msgstr "substr: la longitud %g �s <= 0"
 
-#: builtin.c:1440
+#: builtin.c:1503
 #, c-format
 msgid "substr: non-integer length %g will be truncated"
 msgstr "substr: la longitud sobre un nombre no enter %g ser� truncada"
 
-#: builtin.c:1445
+#: builtin.c:1508
 #, c-format
 msgid "substr: length %g too big for string indexing, truncating to %g"
 msgstr ""
 
-#: builtin.c:1457
+#: builtin.c:1520
 msgid "substr: source string is zero length"
 msgstr "substr: la cadena font �s de longitud zero"
 
-#: builtin.c:1473
+#: builtin.c:1536
 #, fuzzy, c-format
 msgid "substr: start index %g is past end of string"
 msgstr "substr: l'�ndex d'inici %d sobrepassa l'acabament de la cadena"
 
-#: builtin.c:1481
+#: builtin.c:1544
 #, fuzzy, c-format
 msgid ""
 "substr: length %g at start index %g exceeds length of first argument (%lu)"
@@ -614,273 +646,274 @@
 "substr: la longitud %d a l'�ndex d'inici %d excedeix la longitud del 1er "
 "argument (%d)"
 
-#: builtin.c:1558
+#: builtin.c:1621
 #, fuzzy
 msgid "strftime: received non-string first argument"
 msgstr "strftime: el primer argument rebut no �s una cadena"
 
-#: builtin.c:1564
+#: builtin.c:1627
 msgid "strftime: received empty format string"
 msgstr "strftime: s'ha rebut una cadena de format buida"
 
-#: builtin.c:1573
+#: builtin.c:1636
 #, fuzzy
 msgid "strftime: received non-numeric second argument"
 msgstr "strftime: el segon argument rebut no �s num�ric"
 
-#: builtin.c:1650
+#: builtin.c:1713
 msgid "mktime: received non-string argument"
 msgstr "mktime: s'ha rebut un argument que no �s una cadena"
 
-#: builtin.c:1695
+#: builtin.c:1758
 #, fuzzy
 msgid "system: received non-string argument"
 msgstr "system: s'ha rebut un argument que no �s una cadena"
 
-#: builtin.c:1816 eval.c:2041
+#: builtin.c:1879 eval.c:2145
 #, fuzzy, c-format
 msgid "reference to uninitialized field `$%d'"
 msgstr "refer�ncia a una variable sense inicialitzar �%s�"
 
-#: builtin.c:1921
+#: builtin.c:1984
 #, fuzzy
 msgid "tolower: received non-string argument"
 msgstr "tolower: s'ha rebut un argument que no �s una cadena"
 
-#: builtin.c:1951
+#: builtin.c:2014
 #, fuzzy
 msgid "toupper: received non-string argument"
 msgstr "toupper: s'ha rebut un argument que no �s una cadena"
 
-#: builtin.c:1984
+#: builtin.c:2047
 msgid "atan2: received non-numeric first argument"
 msgstr "atan2: el primer argument rebut no �s num�ric"
 
-#: builtin.c:1986
+#: builtin.c:2049
 msgid "atan2: received non-numeric second argument"
 msgstr "atan2: el segon argument rebut no �s num�ric"
 
-#: builtin.c:2005
+#: builtin.c:2068
 msgid "sin: received non-numeric argument"
 msgstr "sin: s'ha rebut un argument que no �s num�ric"
 
-#: builtin.c:2021
+#: builtin.c:2084
 msgid "cos: received non-numeric argument"
 msgstr "cos: s'ha rebut un argument que no �s num�ric"
 
-#: builtin.c:2071
+#: builtin.c:2137
 msgid "srand: received non-numeric argument"
 msgstr "srand: s'ha rebut un argument que no �s num�ric"
 
-#: builtin.c:2106
+#: builtin.c:2172
 msgid "match: third argument is not an array"
 msgstr "match: el tercer argument no �s una matriu"
 
-#: builtin.c:2650
+#: builtin.c:2719
+#, fuzzy
 msgid "gensub: third argument of 0 treated as 1"
 msgstr "gensub: el tercer argument de 0 �s tractat com a 1"
 
-#: builtin.c:2766
+#: builtin.c:2835
 msgid "lshift: received non-numeric first argument"
 msgstr "lshift: el primer argument rebut no �s num�ric"
 
-#: builtin.c:2768
+#: builtin.c:2837
 #, fuzzy
 msgid "lshift: received non-numeric second argument"
-msgstr "strftime: el segon argument rebut no �s num�ric"
+msgstr "atan2: el segon argument rebut no �s num�ric"
 
-#: builtin.c:2774
+#: builtin.c:2843
 #, c-format
 msgid "lshift(%lf, %lf): negative values will give strange results"
 msgstr "lshift(%lf, %lf): els valors negatius donaran resultats estranys"
 
-#: builtin.c:2776
+#: builtin.c:2845
 #, c-format
 msgid "lshift(%lf, %lf): fractional values will be truncated"
 msgstr "lshift(%lf, %lf): els valors fraccionaris sernn truncats"
 
-#: builtin.c:2778
+#: builtin.c:2847
 #, c-format
 msgid "lshift(%lf, %lf): too large shift value will give strange results"
 msgstr ""
 "lshift(%lf, %lf): un valor de despla�ament massa gran donar� resultats "
 "estranys"
 
-#: builtin.c:2804
+#: builtin.c:2873
 msgid "rshift: received non-numeric first argument"
 msgstr "rshift: el primer argument rebut no �s num�ric"
 
-#: builtin.c:2806
+#: builtin.c:2875
 #, fuzzy
 msgid "rshift: received non-numeric second argument"
-msgstr "strftime: el segon argument rebut no �s num�ric"
+msgstr "atan2: el segon argument rebut no �s num�ric"
 
-#: builtin.c:2812
+#: builtin.c:2881
 #, c-format
 msgid "rshift(%lf, %lf): negative values will give strange results"
 msgstr "rshift(%lf, %lf): els valors negatius donaran resultats estranys"
 
-#: builtin.c:2814
+#: builtin.c:2883
 #, c-format
 msgid "rshift(%lf, %lf): fractional values will be truncated"
 msgstr "rshift(%lf, %lf): els valors fraccionaris seran truncats"
 
-#: builtin.c:2816
+#: builtin.c:2885
 #, c-format
 msgid "rshift(%lf, %lf): too large shift value will give strange results"
 msgstr ""
 "rshift(%lf, %lf): un valor de despla�ament massa gran donar� resultats "
 "estranys"
 
-#: builtin.c:2842
+#: builtin.c:2911
 msgid "and: received non-numeric first argument"
 msgstr "and: el primer argument rebut no �s num�ric"
 
-#: builtin.c:2844
+#: builtin.c:2913
 #, fuzzy
 msgid "and: received non-numeric second argument"
 msgstr "atan2: el segon argument rebut no �s num�ric"
 
-#: builtin.c:2850
+#: builtin.c:2919
 #, c-format
 msgid "and(%lf, %lf): negative values will give strange results"
 msgstr "and(%lf, %lf): els valors negatius donaran resultats estranys"
 
-#: builtin.c:2852
+#: builtin.c:2921
 #, c-format
 msgid "and(%lf, %lf): fractional values will be truncated"
 msgstr "and(%lf, %lf): els valors fraccionaris seran truncats"
 
-#: builtin.c:2878
+#: builtin.c:2947
 msgid "or: received non-numeric first argument"
 msgstr "or: el primer argument rebut no �s num�ric"
 
-#: builtin.c:2880
+#: builtin.c:2949
 #, fuzzy
 msgid "or: received non-numeric second argument"
 msgstr "atan2: el segon argument rebut no �s num�ric"
 
-#: builtin.c:2886
+#: builtin.c:2955
 #, c-format
 msgid "or(%lf, %lf): negative values will give strange results"
 msgstr "or(%lf, %lf): els valors negatius donaran resultats estranys"
 
-#: builtin.c:2888
+#: builtin.c:2957
 #, c-format
 msgid "or(%lf, %lf): fractional values will be truncated"
 msgstr "or(%lf, %lf): els valors fraccionaris seran truncats"
 
-#: builtin.c:2914
+#: builtin.c:2983
 msgid "xor: received non-numeric first argument"
 msgstr "xor: el primer argument rebut no �s num�ric"
 
-#: builtin.c:2916
+#: builtin.c:2985
 #, fuzzy
 msgid "xor: received non-numeric second argument"
 msgstr "atan2: el segon argument rebut no �s num�ric"
 
-#: builtin.c:2922
+#: builtin.c:2991
 #, c-format
 msgid "xor(%lf, %lf): negative values will give strange results"
 msgstr "xor(%lf, %lf): els valors negatius donaran resultats estranys"
 
-#: builtin.c:2924
+#: builtin.c:2993
 #, c-format
 msgid "xor(%lf, %lf): fractional values will be truncated"
 msgstr "xor(%lf, %lf): els valors fraccionaris seran truncats"
 
-#: builtin.c:2948
+#: builtin.c:3017
 msgid "compl: received non-numeric argument"
 msgstr "compl: s'ha rebut un argument que no �s num�ric"
 
-#: builtin.c:2954
+#: builtin.c:3023
 #, c-format
 msgid "compl(%lf): negative value will give strange results"
 msgstr "compl(%lf): el valor negatiu donar� resultats estranys"
 
-#: builtin.c:2956
+#: builtin.c:3025
 #, c-format
 msgid "compl(%lf): fractional value will be truncated"
 msgstr "compl(%lf): el valor fraccionari ser� truncat"
 
-#: builtin.c:3129
+#: builtin.c:3198
 #, c-format
 msgid "dcgettext: `%s' is not a valid locale category"
 msgstr "dcgettext: �%s� no �s una categoria local v�lida"
 
-#: eval.c:303
+#: eval.c:372
 #, c-format
 msgid "unknown nodetype %d"
 msgstr "tipo de node %d desconegut"
 
-#: eval.c:353
+#: eval.c:422
 msgid "buffer overflow in genflags2str"
 msgstr "desbordament del cau temporal en genflags2str"
 
-#: eval.c:385 eval.c:391 profile.c:817
+#: eval.c:454 eval.c:460 profile.c:781
 #, c-format
 msgid "attempt to use array `%s' in a scalar context"
 msgstr "s'ha intentat usar la matriu �%s� en un context escalar"
 
-#: eval.c:733
+#: eval.c:802
 #, fuzzy, c-format
 msgid "for loop: array `%s' changed size from %ld to %ld during loop execution"
 msgstr ""
-"bucle for: la matriu �%s� ha canviat de mida de %d a %d durant l'execuci� "
-"del bucle"
+"bucle for: la matriu �%s� ha canviat de mida de %d a %d durant l'execuci� del "
+"bucle"
 
-#: eval.c:754
+#: eval.c:823
 msgid "`break' outside a loop is not portable"
 msgstr "�break� a fora d'un bucle no �s portable"
 
-#: eval.c:758
+#: eval.c:827
 msgid "`break' outside a loop is not allowed"
 msgstr "no es permet �break� a fora d'un bucle"
 
-#: eval.c:775
+#: eval.c:844
 msgid "`continue' outside a loop is not portable"
 msgstr "�continue� fora d'un bucle no �s portable"
 
-#: eval.c:779
+#: eval.c:848
 msgid "`continue' outside a loop is not allowed"
 msgstr "no es permet �continue� a fora d'un bucle"
 
-#: eval.c:813
+#: eval.c:882
 msgid "`next' cannot be called from a BEGIN rule"
 msgstr "�next� no es pot cridar des d'una regla BEGIN"
 
-#: eval.c:815
+#: eval.c:884
 msgid "`next' cannot be called from an END rule"
 msgstr "�next� no es pot cridar des d'una regla FINAL"
 
-#: eval.c:824
+#: eval.c:893
 msgid "`nextfile' cannot be called from a BEGIN rule"
 msgstr "�nextfile� no es pot cridar des d'una regla BEGIN"
 
-#: eval.c:826
+#: eval.c:895
 msgid "`nextfile' cannot be called from an END rule"
 msgstr "�nextfile� no es pot cridar des d'una regla FINAL"
 
-#: eval.c:875
+#: eval.c:952
 msgid "statement has no effect"
 msgstr "la sent�ncia no t� efecte"
 
-#: eval.c:952 eval.c:1895
+#: eval.c:1029 eval.c:1999
 #, c-format
 msgid "can't use function name `%s' as variable or array"
 msgstr "no es pot usar el nom de la funci� �%s� com a variable o matriu"
 
-#: eval.c:959 eval.c:965
+#: eval.c:1036 eval.c:1042
 #, c-format
 msgid "reference to uninitialized argument `%s'"
 msgstr "refer�ncia a un argument sense inicialitzar �%s�"
 
-#: eval.c:974 eval.c:1904
+#: eval.c:1051 eval.c:2008
 #, c-format
 msgid "reference to uninitialized variable `%s'"
 msgstr "refer�ncia a una variable sense inicialitzar �%s�"
 
-#: eval.c:1120
+#: eval.c:1197
 msgid ""
 "concatenation: side effects in one expression have changed the length of "
 "another!"
@@ -888,44 +921,39 @@
 "concatenaci�: els efectes colaterals en una expressi� han canviat la "
 "longitud d'una altra!"
 
-#: eval.c:1202
+#: eval.c:1301
 msgid "assignment used in conditional context"
 msgstr "assignaci� usada en un context condicional"
 
-#: eval.c:1280
+#: eval.c:1379
 msgid "division by zero attempted"
 msgstr "s'ha intentat una divisi� per zero"
 
-#: eval.c:1295
-#, c-format
-msgid "division by zero attempted in `%%'"
-msgstr "s'ha intentat una divisi� per zero en �%%�"
-
-#: eval.c:1310 profile.c:693
+#: eval.c:1409 profile.c:657
 #, c-format
 msgid "illegal type (%s) in tree_eval"
 msgstr "tipus il�legal (%s) en tree_eval"
 
-#: eval.c:1473
+#: eval.c:1572
 msgid "division by zero attempted in `/='"
 msgstr "s'ha intentat una divisi� per zero en �/=�"
 
-#: eval.c:1495
+#: eval.c:1594
 #, c-format
 msgid "division by zero attempted in `%%='"
 msgstr "s'ha intentat una divisi� per zero en �%%=�"
 
-#: eval.c:1760
+#: eval.c:1859
 #, c-format
 msgid "function `%s' called with more arguments than declared"
 msgstr "s'ha cridat a la funci� �%s� amb m�s arguments dels declarats"
 
-#: eval.c:1804
+#: eval.c:1904
 #, c-format
 msgid "function `%s' not defined"
 msgstr "la funci� �%s� no est� definida"
 
-#: eval.c:1867
+#: eval.c:1971
 #, c-format
 msgid ""
 "\n"
@@ -936,43 +964,48 @@
 "\t# Pila de Crides a les Funcions:\n"
 "\n"
 
-#: eval.c:1870
+#: eval.c:1974
 #, c-format
 msgid "\t# -- main --\n"
 msgstr "\t# -- principal --\n"
 
-#: eval.c:2025
+#: eval.c:2129
 msgid "attempt to field reference from non-numeric value"
 msgstr "s'ha intentat una refer�ncia de camp a partir d'un valor no num�ric"
 
-#: eval.c:2027
+#: eval.c:2131
 msgid "attempt to reference from null string"
 msgstr "s'ha intentat una refer�ncia a partir d'una cadena nul�la"
 
-#: eval.c:2033
+#: eval.c:2137
 #, c-format
 msgid "attempt to access field %d"
 msgstr "s'ha intentat accedir al camp %d"
 
-#: eval.c:2054 eval.c:2061 profile.c:914
+#: eval.c:2158 eval.c:2165 profile.c:836
 msgid "assignment is not allowed to result of builtin function"
 msgstr ""
 "no es permet l'assignaci� per a obtindre un resultat d'una funci� interna"
 
-#: eval.c:2125
+#: eval.c:2229
 msgid "`IGNORECASE' is a gawk extension"
 msgstr "�IGNORECASE� �s una extensi� de gawk"
 
-#: eval.c:2155
+#: eval.c:2258
 msgid "`BINMODE' is a gawk extension"
 msgstr "�BINMODE� �s una extensi� de gawk"
 
-#: eval.c:2277
+#: eval.c:2316
+#, c-format
+msgid "BINMODE value `%s' is invalid, treated as 3"
+msgstr ""
+
+#: eval.c:2406
 #, c-format
 msgid "bad `%sFMT' specification `%s'"
 msgstr "�%sFMT� especificaci� err�nia �%s�"
 
-#: eval.c:2355
+#: eval.c:2484
 msgid "turning off `--lint' due to assignment to `LINT'"
 msgstr "desactivant �--lint� degut a una assignaci� a �LINT�"
 
@@ -1047,567 +1080,572 @@
 msgid "NF set to negative value"
 msgstr "NF s'inicialitza sobre un valor negatiu"
 
-#: field.c:823
+#: field.c:875
 msgid "split: second argument is not an array"
 msgstr "split: el segon argument no �s una matriu"
 
-#: field.c:857
+#: field.c:909
 msgid "split: null string for third arg is a gawk extension"
 msgstr "split: la cadena nul�la per al tercer argument �s una extensi� de gawk"
 
-#: field.c:909
+#: field.c:961
 msgid "`FIELDWIDTHS' is a gawk extension"
 msgstr "�FIELDWIDTHS� �s una extensi� de gawk"
 
-#: field.c:939 field.c:953
+#: field.c:991 field.c:1005
 #, c-format
 msgid "invalid FIELDWIDTHS value, near `%s'"
 msgstr ""
 
-#: field.c:1036
+#: field.c:1088
 msgid "null string for `FS' is a gawk extension"
 msgstr "la cadena nul�la per a �FS� �s una extensi� de gawk"
 
-#: field.c:1040
+#: field.c:1092
 #, fuzzy
 msgid "old awk does not support regexps as value of `FS'"
 msgstr "l'antic awk no suporta l'operador �**=�"
 
-#: getopt.c:571 getopt.c:587
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
+#: getopt.c:570 getopt.c:586
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
 msgstr "%s: l'opci� �%s� �s ambigua\n"
 
-#: getopt.c:620 getopt.c:624
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
+#: getopt.c:619 getopt.c:623
+#, fuzzy, c-format
+msgid "%s: option '--%s' doesn't allow an argument\n"
 msgstr "%s: l'opci� �--%s� no admet cap argument\n"
 
-#: getopt.c:633 getopt.c:638
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
+#: getopt.c:632 getopt.c:637
+#, fuzzy, c-format
+msgid "%s: option '%c%s' doesn't allow an argument\n"
 msgstr "%s: l'opci� �%c%s� no admet cap argument\n"
 
-#: getopt.c:681 getopt.c:700 getopt.c:1016 getopt.c:1035
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
+#: getopt.c:680 getopt.c:699 getopt.c:1002 getopt.c:1021
+#, fuzzy, c-format
+msgid "%s: option '%s' requires an argument\n"
 msgstr "%s: l'opci� �%s� requereix un argument\n"
 
-#: getopt.c:738 getopt.c:741
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
+#: getopt.c:737 getopt.c:740
+#, fuzzy, c-format
+msgid "%s: unrecognized option '--%s'\n"
 msgstr "%s: no es reconeix l'opci� �--%s�\n"
 
-#: getopt.c:749 getopt.c:752
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
+#: getopt.c:748 getopt.c:751
+#, fuzzy, c-format
+msgid "%s: unrecognized option '%c%s'\n"
 msgstr "%s: no es reconeix l'opci� �%c%s�\n"
 
-#: getopt.c:804 getopt.c:807
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: opci� il�legal -- %c\n"
-
-#: getopt.c:813 getopt.c:816
-#, c-format
-msgid "%s: invalid option -- %c\n"
+#: getopt.c:800 getopt.c:803
+#, fuzzy, c-format
+msgid "%s: invalid option -- '%c'\n"
 msgstr "%s: opci� no v�lida -- %c\n"
 
-#: getopt.c:868 getopt.c:884 getopt.c:1088 getopt.c:1106 main.c:461
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
+#: getopt.c:853 getopt.c:870 getopt.c:1073 getopt.c:1091
+#, fuzzy, c-format
+msgid "%s: option requires an argument -- '%c'\n"
 msgstr "%s: l'opci� requereix un argument -- %c\n"
 
-#: getopt.c:937 getopt.c:953
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
+#: getopt.c:923 getopt.c:939
+#, fuzzy, c-format
+msgid "%s: option '-W %s' is ambiguous\n"
 msgstr "%s: l'opci� �-W %s� �s ambigua\n"
 
-#: getopt.c:977 getopt.c:995
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
+#: getopt.c:963 getopt.c:981
+#, fuzzy, c-format
+msgid "%s: option '-W %s' doesn't allow an argument\n"
 msgstr "%s: l'opci� �-W %s� no admet cap argument\n"
 
-#: io.c:345
+#: io.c:322 io.c:352
 #, c-format
 msgid "cannot open file `%s' for reading (%s)"
 msgstr "no es pot obrir el fitxer �%s� per a lectura (%s)"
 
-#: io.c:436
+#: io.c:443
 #, c-format
 msgid "close of fd %d (`%s') failed (%s)"
 msgstr "la finalitzaci� del descriptor fd %d (�%s�) ha fallat  (%s)"
 
-#: io.c:575
+#: io.c:583
 #, c-format
 msgid "invalid tree type %s in redirect()"
 msgstr "tipus d'arbre %s no v�lid dintre de redirect()"
 
-#: io.c:581
+#: io.c:589
 #, c-format
 msgid "expression in `%s' redirection only has numeric value"
 msgstr "l'expressi� en la redirecci� �%s� solt t� un valor num�ric"
 
-#: io.c:587
+#: io.c:595
 #, c-format
 msgid "expression for `%s' redirection has null string value"
 msgstr "l'expressi� per a la redirecci� �%s� t� un valor de cadena nul�la"
 
-#: io.c:592
+#: io.c:600
 #, c-format
 msgid "filename `%s' for `%s' redirection may be result of logical expression"
 msgstr ""
-"el fitxer �%s� per a la redirecci� �%s� pot ser resultat d'una expressi� "
-"l�gica"
+"el fitxer �%s� per a la redirecci� �%s� pot ser resultat d'una expressi� l�gica"
 
-#: io.c:630
+#: io.c:638
 #, c-format
 msgid "unnecessary mixing of `>' and `>>' for file `%.*s'"
 msgstr "mescla innecess�ria de �>� i �>>� per al fitxer �%.*s�"
 
-#: io.c:682
+#: io.c:685
 #, c-format
 msgid "can't open pipe `%s' for output (%s)"
 msgstr "no es pot obrir la canonada �%s� per a l'eixida (%s)"
 
-#: io.c:691
+#: io.c:694
 #, c-format
 msgid "can't open pipe `%s' for input (%s)"
 msgstr "no es pot obrir la canonada �%s� per a l'entrada (%s)"
 
-#: io.c:698 io.c:1448
-#, c-format
-msgid "file `%s' is a directory"
-msgstr "el fitxer �%s� �s un directori"
-
-#: io.c:706
+#: io.c:712
 #, c-format
 msgid "can't open two way socket `%s' for input/output (%s)"
 msgstr ""
 "no es pot obrir un socket bidireccional �%s� per a les entrades/eixides (%s)"
 
-#: io.c:710
+#: io.c:716
 #, c-format
 msgid "can't open two way pipe `%s' for input/output (%s)"
 msgstr ""
 "no es pot obrir una canonada bidireccional �%s� per a les entrades/eixides (%"
 "s)"
 
-#: io.c:786
+#: io.c:793
 #, c-format
 msgid "can't redirect from `%s' (%s)"
 msgstr "no es pot redirigir des de �%s� (%s)"
 
-#: io.c:789
+#: io.c:796
 #, c-format
 msgid "can't redirect to `%s' (%s)"
 msgstr "no es pot redirigir cap a �%s� (%s)"
 
-#: io.c:828
+#: io.c:849
 msgid ""
 "reached system limit for open files: starting to multiplex file descriptors"
 msgstr ""
 "s'ha arribat al l�mit del sistema per a fitxers oberts: es comen�ar� a "
 "multiplexar els descriptors de fitxer"
 
-#: io.c:844
+#: io.c:865
 #, c-format
 msgid "close of `%s' failed (%s)."
 msgstr "la finalitzaci� de �%s� ha fallat  (%s)"
 
-#: io.c:852
+#: io.c:873
 msgid "too many pipes or input files open"
 msgstr "masses canonades o fitxers d'entrada oberts"
 
-#: io.c:875
+#: io.c:896
 msgid "close: second argument must be `to' or `from'"
 msgstr "close: el segon argument hauria de ser �to� o �from�"
 
-#: io.c:889
+#: io.c:910
 #, c-format
 msgid "close: `%.*s' is not an open file, pipe or co-process"
 msgstr "close: �%.*s� no �s un fitxer obert, canonada o co-proc�s"
 
-#: io.c:893
+#: io.c:915
 msgid "close of redirection that was never opened"
 msgstr "finalitzaci� d'una redirecci� que no s'ha obert"
 
-#: io.c:989
+#: io.c:1012
 #, c-format
 msgid "close: redirection `%s' not opened with `|&', second argument ignored"
-msgstr ""
-"close: la redirecci� �%s� no s'obre amb �|&�, s'ignora el segon argument"
+msgstr "close: la redirecci� �%s� no s'obre amb �|&�, s'ignora el segon argument"
 
-#: io.c:1005
+#: io.c:1028
 #, c-format
 msgid "failure status (%d) on pipe close of `%s' (%s)"
 msgstr "estaus de falla (%d) en la finalitzaci� de la canonada �%s� (%s)"
 
-#: io.c:1008
+#: io.c:1031
 #, c-format
 msgid "failure status (%d) on file close of `%s' (%s)"
 msgstr "estatus de falla (%d) en la finalitzaci� del fitxer �%s� (%s)"
 
-#: io.c:1028
+#: io.c:1051
 #, c-format
 msgid "no explicit close of socket `%s' provided"
 msgstr "no s'aporta la finalitzaci� expl�cita del socket �%s�"
 
-#: io.c:1031
+#: io.c:1054
 #, c-format
 msgid "no explicit close of co-process `%s' provided"
 msgstr "no s'aporta la finalitzaci� expl�cita del co-proc�s �%s�"
 
-#: io.c:1034
+#: io.c:1057
 #, c-format
 msgid "no explicit close of pipe `%s' provided"
 msgstr "no s'aporta la finalitzaci� expl�cita de la canonada �%s�"
 
-#: io.c:1037
+#: io.c:1060
 #, c-format
 msgid "no explicit close of file `%s' provided"
 msgstr "no s'aporta la finalitzaci� expl�cita del fitxer �%s�"
 
-#: io.c:1066 io.c:1121 main.c:749 main.c:791
+#: io.c:1088 io.c:1143 main.c:776 main.c:818
 #, c-format
 msgid "error writing standard output (%s)"
 msgstr "error a l'escriure en l'eixida est�ndard (%s)"
 
-#: io.c:1070 io.c:1126
+#: io.c:1092 io.c:1148
 #, c-format
 msgid "error writing standard error (%s)"
 msgstr "error a l'escriure en l'eixida d'error est�ndard (%s)"
 
-#: io.c:1078
+#: io.c:1100
 #, c-format
 msgid "pipe flush of `%s' failed (%s)."
 msgstr "la neteja de la canonada de �%sx� ha fallat (%s)."
 
-#: io.c:1081
+#: io.c:1103
 #, c-format
 msgid "co-process flush of pipe to `%s' failed (%s)."
 msgstr "la neteja de la canonada per al co-proc�s de �%sx� ha fallat (%s)."
 
-#: io.c:1084
+#: io.c:1106
 #, c-format
 msgid "file flush of `%s' failed (%s)."
 msgstr "la neteja del fitxer �%sx� ha fallat (%s)."
 
-#: io.c:1198
+#: io.c:1220
 #, fuzzy, c-format
 msgid "local port %s invalid in `/inet'"
 msgstr "port local no v�lid en �%s�"
 
-#: io.c:1215
+#: io.c:1237
 #, c-format
 msgid "remote host and port information (%s, %s) invalid"
 msgstr ""
 
-#: io.c:1250
+#: io.c:1272
 msgid "/inet/raw client not ready yet, sorry"
 msgstr "el client /inet/raw encara no est� a punt, ho sento"
 
-#: io.c:1253 io.c:1289
+#: io.c:1275 io.c:1311
 msgid "only root may use `/inet/raw'."
 msgstr "sols el root pot usar �/inet/raw�."
 
-#: io.c:1287
+#: io.c:1309
 msgid "/inet/raw server not ready yet, sorry"
 msgstr "el servidor /inet/raw encara no est� a punt, ho sento"
 
-#: io.c:1385
+#: io.c:1407
 #, c-format
 msgid "no (known) protocol supplied in special filename `%s'"
 msgstr "no s'aporta cap protocol (conegut) en el nom del fitxer especial �%s�"
 
-#: io.c:1399
+#: io.c:1421
 #, c-format
 msgid "special file name `%s' is incomplete"
 msgstr "el nom del fitxer especial �%s� est� incomplet"
 
-#: io.c:1414
+#: io.c:1436
 msgid "must supply a remote hostname to `/inet'"
 msgstr "s'ha de subministrar un nom de sistema remot a �/inet�"
 
-#: io.c:1432
+#: io.c:1454
 msgid "must supply a remote port to `/inet'"
 msgstr "s'ha de subministrar un port remot a �/inet�"
 
-#: io.c:1439
+#: io.c:1485
 msgid "TCP/IP communications are not supported"
 msgstr "les comunicacions TCP/IP no estan suportades"
 
-#: io.c:1509
+#: io.c:1494
+#, c-format
+msgid "file `%s' is a directory"
+msgstr "el fitxer �%s� �s un directori"
+
+#: io.c:1555
 #, c-format
 msgid "use `PROCINFO[\"%s\"]' instead of `%s'"
 msgstr "useu �PROCINFO[\"%s\"]� en comptes de �%s�"
 
-#: io.c:1547
+#: io.c:1593
 msgid "use `PROCINFO[...]' instead of `/dev/user'"
 msgstr "useu �PROCINFO[...]� en comptes de �/dev/user�"
 
-#: io.c:1612 io.c:1798
+#: io.c:1658 io.c:1853
 #, c-format
 msgid "could not open `%s', mode `%s'"
 msgstr "no es pot obrir �%s�, mode �%s�"
 
-#: io.c:1849
+#: io.c:1904
 #, fuzzy, c-format
 msgid "close of master pty failed (%s)"
 msgstr "ha fallat la finalitzaci� de la canonada (%s)"
 
-#: io.c:1851 io.c:2003 io.c:2154
+#: io.c:1906 io.c:2058 io.c:2209
 #, c-format
 msgid "close of stdout in child failed (%s)"
 msgstr ""
 "ha fallat la finalitzaci� de l'eixida est�ndard en els processos fills (%s)"
 
-#: io.c:1854
+#: io.c:1909
 #, fuzzy, c-format
 msgid "moving slave pty to stdout in child failed (dup: %s)"
 msgstr ""
 "ha fallat la redirecci� cap a l'eixida est�ndard dels processos fills (dup: %"
 "s)"
 
-#: io.c:1856 io.c:2008
+#: io.c:1911 io.c:2063
 #, c-format
 msgid "close of stdin in child failed (%s)"
 msgstr ""
 "ha fallat la finalitzaci� de l'entrada est�ndard en els processos fills (%s)"
 
-#: io.c:1859
+#: io.c:1914
 #, fuzzy, c-format
 msgid "moving slave pty to stdin in child failed (dup: %s)"
 msgstr ""
 "ha fallat la redirecci� cap a l'entrada est�ndard dels processos fills (dup: "
 "%s)"
 
-#: io.c:1861 io.c:1880
+#: io.c:1916 io.c:1935
 #, fuzzy, c-format
 msgid "close of slave pty failed (%s)"
 msgstr "ha fallat la finalitzaci� de la canonada (%s)"
 
-#: io.c:1954 io.c:2006 io.c:2135 io.c:2157
+#: io.c:2009 io.c:2061 io.c:2190 io.c:2212
 #, c-format
 msgid "moving pipe to stdout in child failed (dup: %s)"
 msgstr ""
 "ha fallat la redirecci� cap a l'eixida est�ndard dels processos fills (dup: %"
 "s)"
 
-#: io.c:1958 io.c:2011
+#: io.c:2013 io.c:2066
 #, c-format
 msgid "moving pipe to stdin in child failed (dup: %s)"
 msgstr ""
 "ha fallat la redirecci� cap a l'entrada est�ndard dels processos fills (dup: "
 "%s)"
 
-#: io.c:1975 io.c:2148
+#: io.c:2030 io.c:2203
 msgid "restoring stdout in parent process failed\n"
 msgstr "ha fallat la restauraci� de l'eixida est�ndard en el proc�s pare\n"
 
-#: io.c:1980
+#: io.c:2035
 msgid "restoring stdin in parent process failed\n"
 msgstr "ha fallat la restauraci� de l'entrada est�ndard en el proc�s pare\n"
 
-#: io.c:2014 io.c:2159 io.c:2170
+#: io.c:2069 io.c:2214 io.c:2225
 #, c-format
 msgid "close of pipe failed (%s)"
 msgstr "ha fallat la finalitzaci� de la canonada (%s)"
 
-#: io.c:2059
+#: io.c:2114
 msgid "`|&' not supported"
 msgstr "�|&� no est� suportat"
 
-#: io.c:2125
+#: io.c:2180
 #, c-format
 msgid "cannot open pipe `%s' (%s)"
 msgstr "no es pot obrir la canonada �%s� (%s)"
 
-#: io.c:2166
+#: io.c:2221
 #, c-format
 msgid "cannot create child process for `%s' (fork: %s)"
 msgstr "no es pot crear el proc�s fill per a �%s� (fork: %s)"
 
-#: io.c:2548
+#: io.c:2603
 #, c-format
 msgid "data file `%s' is empty"
 msgstr "el fitxer de dades �%s� est� buit"
 
-#: io.c:2589 io.c:2597
+#: io.c:2644 io.c:2652
 msgid "could not allocate more input memory"
 msgstr ""
 
-#: io.c:2965 io.c:3038
+#: io.c:3020 io.c:3093
 #, c-format
 msgid "error reading input file `%s': %s"
 msgstr "error en llegir el fitxer d'entrada �%s�: %s"
 
-#: io.c:3163
+#: io.c:3218
 msgid "multicharacter value of `RS' is a gawk extension"
 msgstr "el valor multicar�cter de �RS� �s una extensi� de gawk"
 
-#: main.c:351
+#: main.c:304
+msgid "out of memory"
+msgstr "mem�ria esgotada"
+
+#: main.c:373
 msgid "`-m[fr]' option irrelevant in gawk"
 msgstr "l'opci�n �-m[fr]� �s irrellevant en gawk"
 
-#: main.c:353
+#: main.c:375
 msgid "-m option usage: `-m[fr] nnn'"
 msgstr "�s de l'opci� -m: �-m[fr] nnn�"
 
-#: main.c:370
+#: main.c:392
 #, c-format
 msgid "%s: option `-W %s' unrecognized, ignored\n"
 msgstr "%s: no es reconeix l'opci� �-W %s�, ser� ignorada\n"
 
-#: main.c:407
+#: main.c:433
 msgid "empty argument to `--source' ignored"
 msgstr "s'igonar� l'argument buit per a l'opci� �--source�"
 
-#: main.c:480
+#: main.c:487
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: l'opci� requereix un argument -- %c\n"
+
+#: main.c:506
 msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'"
-msgstr ""
-"la variable d'entorn �POSIXLY_CORRECT� est� establerta: usant �--posix�"
+msgstr "la variable d'entorn �POSIXLY_CORRECT� est� establerta: usant �--posix�"
 
-#: main.c:486
+#: main.c:512
 msgid "`--posix' overrides `--traditional'"
 msgstr "�--posix� solapa a �--traditional�"
 
-#: main.c:497
+#: main.c:523
 msgid "`--posix'/`--traditional' overrides `--non-decimal-data'"
 msgstr "�--posix� i �--traditional� solapen a �--non-decimal-data�"
 
-#: main.c:501
+#: main.c:527
 #, fuzzy, c-format
 msgid "running %s setuid root may be a security problem"
 msgstr "executar %s com a setuid root pot ser un problema de seguretat"
 
-#: main.c:542
+#: main.c:568
 #, fuzzy, c-format
 msgid "can't set binary mode on stdin (%s)"
 msgstr "no es pot establir el mode en l'entrada est�ndard (%s)"
 
-#: main.c:545
+#: main.c:571
 #, fuzzy, c-format
 msgid "can't set binary mode on stdout (%s)"
 msgstr "no es pot establir el mode en l'eixida est�ndard (%s)"
 
-#: main.c:547
+#: main.c:573
 #, fuzzy, c-format
 msgid "can't set binary mode on stderr (%s)"
 msgstr "no es pot establir el mode en l'eixida d'error est�ndard (%s)"
 
-#: main.c:586
+#: main.c:612
 msgid "no program text at all!"
 msgstr "no hi ha cap text per al programa!"
 
-#: main.c:690
+#: main.c:716
 #, c-format
 msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n"
 msgstr "�s: %s [opcions d'estil POSIX o GNU] -f fitx_prog [--] fitxer ...\n"
 
-#: main.c:692
+#: main.c:718
 #, c-format
 msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n"
 msgstr "�s: %s [opcions d'estil POSIX o GNU] [--] %cprograma%c fitxer ...\n"
 
-#: main.c:697
+#: main.c:723
 msgid "POSIX options:\t\tGNU long options:\n"
 msgstr "Opcions POSIX:\t\tOpcions llargues GNU:\n"
 
-#: main.c:698
+#: main.c:724
 msgid "\t-f progfile\t\t--file=progfile\n"
 msgstr "\t-f fitx_prog\t\t--file=fitx_prog\n"
 
-#: main.c:699
+#: main.c:725
 msgid "\t-F fs\t\t\t--field-separator=fs\n"
 msgstr "\t-F fs\t\t\t--field-separator=fs (fs=sep_camp)\n"
 
-#: main.c:700
+#: main.c:726
 msgid "\t-v var=val\t\t--assign=var=val\n"
 msgstr "\t-v var=valor\t\t--assign=var=valor\n"
 
-#: main.c:701
+#: main.c:727
 msgid "\t-m[fr] val\n"
 msgstr "\t-m[fr] valor\n"
 
-#: main.c:702
+#: main.c:728
+msgid "\t-O\t\t\t--optimize\n"
+msgstr ""
+
+#: main.c:729
 msgid "\t-W compat\t\t--compat\n"
 msgstr "\t-W compat\t\t--compat\n"
 
-#: main.c:703
+#: main.c:730
 msgid "\t-W copyleft\t\t--copyleft\n"
 msgstr "\t-W copyleft\t\t--copyleft\n"
 
-#: main.c:704
+#: main.c:731
 msgid "\t-W copyright\t\t--copyright\n"
 msgstr "\t-W copyright\t\t--copyright\n"
 
-#: main.c:705
+#: main.c:732
 msgid "\t-W dump-variables[=file]\t--dump-variables[=file]\n"
 msgstr "\t-W dump-variables[=fitxer] --dump-variables[=fitxer]\n"
 
-#: main.c:706
+#: main.c:733
 #, fuzzy
 msgid "\t-W exec=file\t\t--exec=file\n"
 msgstr "\t-W profile[=fitxer]\t--profile[=fitxer]\n"
 
-#: main.c:707
+#: main.c:734
 msgid "\t-W gen-po\t\t--gen-po\n"
 msgstr "\t-W gen-po\t\t--gen-po\n"
 
-#: main.c:708
+#: main.c:735
 msgid "\t-W help\t\t\t--help\n"
 msgstr "\t-W help\t\t\t--help\n"
 
-#: main.c:709
+#: main.c:736
 msgid "\t-W lint[=fatal]\t\t--lint[=fatal]\n"
 msgstr "\t-W lint[=fatal]\t\t--lint[=fatal]\n"
 
-#: main.c:710
+#: main.c:737
 msgid "\t-W lint-old\t\t--lint-old\n"
 msgstr "\t-W lint-old\t\t--lint-old\n"
 
-#: main.c:711
+#: main.c:738
 msgid "\t-W non-decimal-data\t--non-decimal-data\n"
 msgstr "\t-W non-decimal-data\t--non-decimal-data\n"
 
-#: main.c:713
+#: main.c:740
 msgid "\t-W nostalgia\t\t--nostalgia\n"
 msgstr "\t-W nostalgia\t\t--nostalgia\n"
 
-#: main.c:716
+#: main.c:743
 msgid "\t-W parsedebug\t\t--parsedebug\n"
 msgstr "\t-W parsedebug\t\t--parsedebug\n"
 
-#: main.c:718
+#: main.c:745
 msgid "\t-W profile[=file]\t--profile[=file]\n"
 msgstr "\t-W profile[=fitxer]\t--profile[=fitxer]\n"
 
-#: main.c:719
+#: main.c:746
 msgid "\t-W posix\t\t--posix\n"
 msgstr "\t-W posix\t\t--posix\n"
 
-#: main.c:720
+#: main.c:747
 msgid "\t-W re-interval\t\t--re-interval\n"
 msgstr "\t-W re-interval\t\t--re-interval\n"
 
-#: main.c:721
+#: main.c:748
 msgid "\t-W source=program-text\t--source=program-text\n"
 msgstr "\t-W source=text_prog\t--source=text_prog\n"
 
-#: main.c:722
+#: main.c:749
 msgid "\t-W traditional\t\t--traditional\n"
 msgstr "\t-W traditional\t\t--traditional\n"
 
-#: main.c:723
+#: main.c:750
 msgid "\t-W usage\t\t--usage\n"
 msgstr "\t-W usage\t\t--usage\n"
 
-#: main.c:724
+#: main.c:751
 msgid "\t-W use-lc-numeric\t--use-lc-numeric\n"
 msgstr ""
 
-#: main.c:725
+#: main.c:752
 msgid "\t-W version\t\t--version\n"
 msgstr "\t-W version\t\t--version\n"
 
@@ -1616,7 +1654,7 @@
 #. for this application.  Please add _another line_ with the
 #. address for translation bugs.
 #. no-wrap
-#: main.c:734
+#: main.c:761
 #, fuzzy
 msgid ""
 "\n"
@@ -1625,22 +1663,22 @@
 "\n"
 msgstr "a la secci� �Reporting Problems and Bugs� de la versi� impresa.\n"
 
-#: main.c:738
+#: main.c:765
 msgid ""
 "gawk is a pattern scanning and processing language.\n"
 "By default it reads standard input and writes standard output.\n"
 "\n"
 msgstr ""
 
-#: main.c:742
+#: main.c:769
 msgid ""
 "Examples:\n"
 "\tgawk '{ sum += $1 }; END { print sum }' file\n"
 "\tgawk -F: '{ print $1 }' /etc/passwd\n"
 msgstr ""
 
-#: main.c:762
-#, c-format
+#: main.c:789
+#, fuzzy, c-format
 msgid ""
 "Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
 "\n"
@@ -1654,11 +1692,11 @@
 "\n"
 "Aquest programa �s programari lliure; pot redistribuir-se i/o modificar-se\n"
 "sota els termes de la Llic�ncia P�blica General de GNU tal i como est�\n"
-"publicada per la Free Software Foundation; ja siga en la versi� 3 de la\n"
+"publicada per la Free Software Foundation; ja siga en la versi� 2 de la\n"
 "Llic�ncia, o (a la vostra elecci�) qualsevol versi� posterior.\n"
 "\n"
 
-#: main.c:770
+#: main.c:797
 msgid ""
 "This program is distributed in the hope that it will be useful,\n"
 "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
@@ -1672,7 +1710,7 @@
 "Per a m�s detalls consulteu la Llic�ncia P�blica General de GNU.\n"
 "\n"
 
-#: main.c:781
+#: main.c:808
 #, fuzzy
 msgid ""
 "You should have received a copy of the GNU General Public License\n"
@@ -1680,49 +1718,58 @@
 msgstr ""
 "Junt amb aquest programa haur�eu d'haber rebut una c�pia de la Llic�ncia\n"
 "P�blica General de GNU; si no �s aix�, escriviu a la Free Software\n"
-"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, "
-"USA.\n"
+"Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.\n"
 
-#: main.c:816
+#: main.c:843
 msgid "-Ft does not set FS to tab in POSIX awk"
 msgstr "-Ft no permet inicialitzar FS a un tabulador en la versi� POSIX de awk"
 
-#: main.c:1060
+#: main.c:1117
 #, c-format
 msgid ""
 "%s: `%s' argument to `-v' not in `var=value' form\n"
 "\n"
 msgstr ""
 
-#: main.c:1080
+#: main.c:1137
 #, c-format
 msgid "`%s' is not a legal variable name"
 msgstr ""
 
-#: main.c:1083
+#: main.c:1140
 #, c-format
 msgid "`%s' is not a variable name, looking for file `%s=%s'"
 msgstr ""
 
-#: main.c:1122
+#: main.c:1179
 msgid "floating point exception"
 msgstr "excepci� de coma flotant"
 
-#: main.c:1129
+#: main.c:1186
 msgid "fatal error: internal error"
 msgstr "error fatal: error intern"
 
-#: main.c:1180
+#: main.c:1200
+#, fuzzy
+msgid "fatal error: internal error: segfault"
+msgstr "error fatal: error intern"
+
+#: main.c:1212
+#, fuzzy
+msgid "fatal error: internal error: stack overflow"
+msgstr "error fatal: error intern"
+
+#: main.c:1261
 #, c-format
 msgid "no pre-opened fd %d"
 msgstr "no s'ha pre-obert el descriptor fd per a %d"
 
-#: main.c:1187
+#: main.c:1268
 #, c-format
 msgid "could not pre-open /dev/null for fd %d"
 msgstr "no es pot pre-obrir /dev/null per al descriptor fd %d"
 
-#: main.c:1210 main.c:1219
+#: main.c:1291 main.c:1300
 #, c-format
 msgid "could not find groups: %s"
 msgstr "no es poden trobar els grups: %s"
@@ -1748,24 +1795,31 @@
 msgid "can't convert string to float"
 msgstr "no es pot convertir la cadena a coma flotant"
 
-#: node.c:406
+#: node.c:462
 msgid "backslash at end of string"
 msgstr "barra invertida al final de la cadena"
 
-#: node.c:548
+#: node.c:606
 #, fuzzy, c-format
 msgid "old awk does not support the `\\%c' escape sequence"
 msgstr "l'antic awk no suporta l'operador �**=�"
 
-#: node.c:599
+#: node.c:657
 msgid "POSIX does not allow `\\x' escapes"
 msgstr "POSIX no permet seq��ncies d'escapada �\\x�"
 
-#: node.c:605
+#: node.c:663
 msgid "no hex digits in `\\x' escape sequence"
 msgstr "no hi ha d�gits hexadecimals en la seq��ncia d'escapada �\\x�"
 
-#: node.c:639
+#: node.c:685
+#, c-format
+msgid ""
+"hex escape \\x%.*s of %d characters probably not interpreted the way you "
+"expect"
+msgstr ""
+
+#: node.c:700
 #, c-format
 msgid "escape sequence `\\%c' treated as plain `%c'"
 msgstr "la seq��ncia d'escapada �\\%c� �s tractada com a una simple �%c�"
@@ -1775,31 +1829,31 @@
 msgid "%s %s `%s': could not set close-on-exec: (fcntl: %s)"
 msgstr "%s %s �%s�: no es pot inicialitzar close-on-exec: (fcntl: %s)"
 
-#: profile.c:92
+#: profile.c:93
 #, c-format
 msgid "could not open `%s' for writing: %s"
 msgstr "no es pot obrir �%s� per a escriptura: %s"
 
-#: profile.c:450
+#: profile.c:453
 #, fuzzy, c-format
 msgid "internal error: %s with null vname"
 msgstr "error intern: Node_var amb vname nul"
 
-#: profile.c:514
+#: profile.c:517
 msgid "# treated internally as `delete'"
 msgstr ""
 
-#: profile.c:1147
+#: profile.c:1069
 #, c-format
 msgid "# this is a dynamically loaded extension function"
 msgstr ""
 
-#: profile.c:1178
+#: profile.c:1100
 #, c-format
 msgid "\t# gawk profile, created %s\n"
 msgstr "\t# perfil gawk, creat %s\n"
 
-#: profile.c:1181
+#: profile.c:1103
 #, c-format
 msgid ""
 "\t# BEGIN block(s)\n"
@@ -1808,7 +1862,7 @@
 "\t# Bloc(s) INICI\n"
 "\n"
 
-#: profile.c:1191
+#: profile.c:1113
 #, c-format
 msgid ""
 "\t# Rule(s)\n"
@@ -1817,7 +1871,7 @@
 "\t# Regla(es)\n"
 "\n"
 
-#: profile.c:1197
+#: profile.c:1119
 #, c-format
 msgid ""
 "\t# END block(s)\n"
@@ -1826,7 +1880,7 @@
 "\t# Bloc(s) FINAL\n"
 "\n"
 
-#: profile.c:1217
+#: profile.c:1139
 #, c-format
 msgid ""
 "\n"
@@ -1835,133 +1889,113 @@
 "\n"
 "\t# Funcions, llistades alfab�ticament\n"
 
-#: profile.c:1470
+#: profile.c:1400
 #, c-format
 msgid "unexpected type %s in prec_level"
 msgstr "tipus %s inesperat en prec_level"
 
-#: regcomp.c:132
+#: profile.c:1500
+#, fuzzy, c-format
+msgid "Unknown node type %s in pp_var"
+msgstr "tipo de node %d desconegut"
+
+#: regcomp.c:133
 msgid "Success"
 msgstr "�xit"
 
-#: regcomp.c:135
+#: regcomp.c:136
 msgid "No match"
 msgstr "No hi ha concordan�a"
 
-#: regcomp.c:138
+#: regcomp.c:139
 msgid "Invalid regular expression"
 msgstr "Expressi� regular no v�lida"
 
-#: regcomp.c:141
+#: regcomp.c:142
 msgid "Invalid collation character"
 msgstr "Car�cter de comparaci� no v�lid"
 
-#: regcomp.c:144
+#: regcomp.c:145
 msgid "Invalid character class name"
 msgstr "Nom de classe de car�cters no v�lid"
 
-#: regcomp.c:147
+#: regcomp.c:148
 msgid "Trailing backslash"
 msgstr "Barra invertida extra al final"
 
-#: regcomp.c:150
+#: regcomp.c:151
 msgid "Invalid back reference"
 msgstr "Refer�ncia cap enradera no v�lida"
 
-#: regcomp.c:153
+#: regcomp.c:154
 msgid "Unmatched [ or [^"
 msgstr "[ o [^ desemparellats"
 
-#: regcomp.c:156
+#: regcomp.c:157
 msgid "Unmatched ( or \\("
 msgstr "( o \\( desemparellats"
 
-#: regcomp.c:159
+#: regcomp.c:160
 msgid "Unmatched \\{"
 msgstr "\\{ desemparellat"
 
-#: regcomp.c:162
+#: regcomp.c:163
 msgid "Invalid content of \\{\\}"
 msgstr "Contingut no v�lid de \\{\\}"
 
-#: regcomp.c:165
+#: regcomp.c:166
 msgid "Invalid range end"
 msgstr "Final de rang no v�lid"
 
-#: regcomp.c:168
+#: regcomp.c:169
 msgid "Memory exhausted"
 msgstr "Mem�ria exhaurida"
 
-#: regcomp.c:171
+#: regcomp.c:172
 msgid "Invalid preceding regular expression"
 msgstr "Expressi� regular precedent no v�lida"
 
-#: regcomp.c:174
+#: regcomp.c:175
 msgid "Premature end of regular expression"
 msgstr "F� prematura de l'expressi� regular"
 
-#: regcomp.c:177
+#: regcomp.c:178
 msgid "Regular expression too big"
 msgstr "L'expressi� regular �s massa gran"
 
-#: regcomp.c:180
+#: regcomp.c:181
 msgid "Unmatched ) or \\)"
 msgstr ") o \\) desemparellats"
 
-#: regcomp.c:664
+#: regcomp.c:700
 msgid "No previous regular expression"
 msgstr "No hi ha una expressi� regular pr�via"
 
-#~ msgid "remote port invalid in `%s'"
-#~ msgstr "port remot no v�lid en �%s�"
-
-#~ msgid "function %s called\n"
-#~ msgstr "s'ha cridat a la funci� %s\n"
-
-#~ msgid "field %d in FIELDWIDTHS, must be > 0"
-#~ msgstr "el camp %d en FIELDWIDTHS, hauria de ser > 0"
-
-#, fuzzy
-#~ msgid "or used as a variable or an array"
-#~ msgstr "no es pot usar el nom de la funci� �%s� com a variable o matriu"
-
-#, fuzzy
-#~ msgid "substr: length %g is < 0"
-#~ msgstr "substr: la longitud %g �s <= 0"
+#~ msgid "%s: illegal option -- %c\n"
+#~ msgstr "%s: opci� il�legal -- %c\n"
 
 #~ msgid "delete: illegal use of variable `%s' as array"
 #~ msgstr "delete: �s il�legal de la variable �%s� com a una matriu"
 
-#, fuzzy
-#~ msgid "%s: gvar_ref to %s\n"
-#~ msgstr "%s: ref_matriu a %s\n"
-
 #~ msgid "asort: first argument is not an array"
 #~ msgstr "asort: el primer argument no �s una matriu"
 
 #~ msgid "asort: second argument is not an array"
 #~ msgstr "asort: el segon argument no �s una matriu"
 
-#, fuzzy
-#~ msgid ""
-#~ "attempt to use array parameter `%s' that was passed from global scalar `%"
-#~ "s'"
-#~ msgstr "s'ha intentat usar un par�metre escalar �%s� com a una matriu"
-
-#~ msgid "internal error: Node_var_array with null vname"
-#~ msgstr "error intern: Node_var_array amb vname nul"
-
 #~ msgid ""
 #~ "\n"
 #~ "To report bugs, see node `Bugs' in `gawk.info', which is\n"
 #~ msgstr ""
 #~ "\n"
-#~ "Per a informar d'errors, consulteu el node �Bugs� en �gawk.info�, que "
-#~ "est�\n"
+#~ "Per a informar d'errors, consulteu el node �Bugs� en �gawk.info�, que est�\n"
 
 #~ msgid "invalid syntax in name `%s' for variable assignment"
 #~ msgstr "sintaxi no v�lida en el nom �%s� per a l'asignaci� de la variable"
 
+#~ msgid "internal error: Node_var_array with null vname"
+#~ msgstr "error intern: Node_var_array amb vname nul"
+
 #~ msgid "or used in other expression context"
 #~ msgstr "o s'ha emprat en un altre context de l'expressi�"
 
@@ -2004,8 +2038,14 @@
 #~ msgid "Unbalanced )"
 #~ msgstr ") sense aparellar"
 
-#~ msgid "out of memory"
-#~ msgstr "mem�ria esgotada"
+#~ msgid "field %d in FIELDWIDTHS, must be > 0"
+#~ msgstr "el camp %d en FIELDWIDTHS, hauria de ser > 0"
+
+#~ msgid "function %s called\n"
+#~ msgstr "s'ha cridat a la funci� %s\n"
+
+#~ msgid "remote port invalid in `%s'"
+#~ msgstr "port remot no v�lid en �%s�"
 
 #~ msgid "internal error: file `%s', line %d\n"
 #~ msgstr "error intern: fitxer �%s�, l�nia %d\n"
diff -urN gawk-3.1.6/po/da.po gawk-3.1.7/po/da.po
--- gawk-3.1.6/po/da.po	2007-09-30 22:33:27.000000000 +0200
+++ gawk-3.1.7/po/da.po	2009-07-21 23:23:45.000000000 +0300
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gawk 3.1.31\n"
 "Report-Msgid-Bugs-To: arnold@skeeve.com\n"
-"POT-Creation-Date: 2007-09-30 22:33+0200\n"
+"POT-Creation-Date: 2009-07-21 23:23+0300\n"
 "PO-Revision-Date: 2002-11-09 10:09+0100\n"
 "Last-Translator: Keld Simonsen <keld@dkuug.dk>\n"
 "Language-Team: Danish <dansk@klid.dk>\n"
@@ -74,332 +74,337 @@
 msgid "%s: array_ref to %s\n"
 msgstr "%s: vektorreference til %s\n"
 
-#: awkgram.y:215
+#: awkgram.y:218
 #, fuzzy, c-format
 msgid "%s blocks must have an action part"
 msgstr "END-blok skal have en handlingsdel"
 
-#: awkgram.y:218
+#: awkgram.y:221
 #, fuzzy
 msgid "each rule must have a pattern or an action part"
 msgstr "END-blok skal have en handlingsdel"
 
-#: awkgram.y:254 awkgram.y:263
+#: awkgram.y:257 awkgram.y:266
 #, fuzzy
 msgid "old awk does not support multiple `BEGIN' or `END' rules"
 msgstr "gamle awk underst�tter ikke operatoren \"**\""
 
-#: awkgram.y:282
+#: awkgram.y:285
 #, c-format
 msgid "`%s' is a built-in function, it cannot be redefined"
 msgstr "\"%s\" er en indbygget funktion, den kan ikke omdefineres"
 
-#: awkgram.y:328
+#: awkgram.y:331
 #, fuzzy
 msgid "regexp constant `//' looks like a C++ comment, but is not"
 msgstr "regexp-konstanten \"/%s/\" ser ud som en C-kommentar, men er det ikke"
 
-#: awkgram.y:331
+#: awkgram.y:334
 #, c-format
 msgid "regexp constant `/%s/' looks like a C comment, but is not"
 msgstr "regexp-konstanten \"/%s/\" ser ud som en C-kommentar, men er det ikke"
 
-#: awkgram.y:358 awkgram.y:653
+#: awkgram.y:361 awkgram.y:656
 msgid "statement may have no effect"
 msgstr "kommandoen har m�ske ikke nogen effekt"
 
-#: awkgram.y:455 awkgram.y:479
+#: awkgram.y:458 awkgram.y:482
 #, fuzzy, c-format
 msgid "`%s' used in %s action"
 msgstr "\"next\" brugt i BEGIN- eller END-handling"
 
-#: awkgram.y:470 awkgram.y:474
+#: awkgram.y:473 awkgram.y:477
 msgid "`nextfile' is a gawk extension"
 msgstr "\"nextfile\" er en gawk-udvidelse"
 
-#: awkgram.y:489
+#: awkgram.y:492
 msgid "`return' used outside function context"
 msgstr "\"return\" brugt uden for funktion"
 
-#: awkgram.y:531
+#: awkgram.y:534
 msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'"
 msgstr ""
 "alenest�ende \"print\" i BEGIN eller END-regel b�r muligvis v�re 'print \"\"'"
 
-#: awkgram.y:547 awkgram.y:555
+#: awkgram.y:550 awkgram.y:558
 msgid "`delete array' is a gawk extension"
 msgstr "\"delete array\" er en gawk-udvidelse"
 
-#: awkgram.y:569 awkgram.y:577
+#: awkgram.y:572 awkgram.y:580
 #, fuzzy
 msgid "`delete(array)' is a non-portable tawk extension"
 msgstr "\"delete array\" er en gawk-udvidelse"
 
-#: awkgram.y:621
+#: awkgram.y:624
 #, c-format
 msgid "duplicate case values in switch body: %s"
 msgstr ""
 
-#: awkgram.y:631
+#: awkgram.y:634
 msgid "Duplicate `default' detected in switch body"
 msgstr ""
 
-#: awkgram.y:720
+#: awkgram.y:723
 msgid "multistage two-way pipelines don't work"
 msgstr "flertrins dobbeltrettede datakanaler fungerer ikke"
 
-#: awkgram.y:811
+#: awkgram.y:814
 msgid "regular expression on right of assignment"
 msgstr "regul�rt udtryk i h�jreleddet af en tildeling"
 
-#: awkgram.y:834
+#: awkgram.y:824
 msgid "regular expression on left of `~' or `!~' operator"
 msgstr "regul�rt udtryk p� venstre side af en \"~\"- eller \"!~\"-operator"
 
-#: awkgram.y:840 awkgram.y:913
+#: awkgram.y:830 awkgram.y:903
 #, fuzzy
 msgid "old awk does not support the keyword `in' except after `for'"
 msgstr "gamle awk underst�tter ikke operatoren \"**\""
 
-#: awkgram.y:846
+#: awkgram.y:836
 msgid "regular expression on right of comparison"
 msgstr "regul�rt udtryk i h�jreleddet af en sammenligning"
 
-#: awkgram.y:903
+#: awkgram.y:893
 msgid "non-redirected `getline' undefined inside END action"
 msgstr "ikke-omdirigeret \"getline\" udefineret inde i END-handling"
 
-#: awkgram.y:914
+#: awkgram.y:904
 #, fuzzy
 msgid "old awk does not support multidimensional arrays"
 msgstr "gamle awk underst�tter ikke operatoren \"**\""
 
-#: awkgram.y:960
+#: awkgram.y:950
 msgid "call of `length' without parentheses is not portable"
 msgstr "kald af \"length\" uden parenteser er ikke portabelt"
 
-#: awkgram.y:965
+#: awkgram.y:955
 msgid "call of `length' without parentheses is deprecated by POSIX"
 msgstr "kald af \"length\" uden parenteser er for�ldet if�lge POSIX"
 
-#: awkgram.y:1019
+#: awkgram.y:1009
 msgid "use of non-array as array"
 msgstr ""
 
-#: awkgram.y:1022
+#: awkgram.y:1012
 msgid "invalid subscript expression"
 msgstr "ugyldig indeksudtryk"
 
-#: awkgram.y:1249
+#: awkgram.y:1257
 #, fuzzy
 msgid "unexpected newline or end of string"
 msgstr "uventet nylinjetegn"
 
-#: awkgram.y:1366
+#: awkgram.y:1374
 msgid "empty program text on command line"
 msgstr "tom programtekst p� kommandolinjen"
 
-#: awkgram.y:1422
+#: awkgram.y:1430
 #, c-format
 msgid "can't open source file `%s' for reading (%s)"
 msgstr "kan ikke �bne kildefilen \"%s\" for l�sning (%s)"
 
-#: awkgram.y:1520
+#: awkgram.y:1528
 #, c-format
 msgid "can't read sourcefile `%s' (%s)"
 msgstr "kan ikke l�se kildefilen \"%s\" (%s)"
 
-#: awkgram.y:1528
+#: awkgram.y:1536
 #, c-format
 msgid "source file `%s' is empty"
 msgstr "kildefilen \"%s\" er tom"
 
-#: awkgram.y:1720 awkgram.y:1842 awkgram.y:1860 awkgram.y:2235 awkgram.y:2322
+#: awkgram.y:1728 awkgram.y:1850 awkgram.y:1868 awkgram.y:2243 awkgram.y:2330
 msgid "source file does not end in newline"
 msgstr "kildefilen slutter ikke med en ny linje"
 
-#: awkgram.y:1782
+#: awkgram.y:1790
 msgid "unterminated regexp ends with `\\' at end of file"
 msgstr "uafsluttet regul�rt udtryk slutter med \"\\\" i slutningen af filen"
 
-#: awkgram.y:1806
+#: awkgram.y:1814
 #, c-format
 msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk"
 msgstr ""
 
-#: awkgram.y:1810
+#: awkgram.y:1818
 #, c-format
 msgid "tawk regex modifier `/.../%c' doesn't work in gawk"
 msgstr ""
 
-#: awkgram.y:1817
+#: awkgram.y:1825
 msgid "unterminated regexp"
 msgstr "uafsluttet regul�rt udtryk"
 
-#: awkgram.y:1820
+#: awkgram.y:1828
 msgid "unterminated regexp at end of file"
 msgstr "uafsluttet regul�rt udtryk i slutningen af filen"
 
-#: awkgram.y:1889
+#: awkgram.y:1897
 msgid "use of `\\ #...' line continuation is not portable"
 msgstr "Brug af \"\\ #...\" for linjeforts�ttelse er ikke portabelt"
 
-#: awkgram.y:1902
+#: awkgram.y:1910
 msgid "backslash not last character on line"
 msgstr "sidste tegn p� linjen er ikke en omvendt skr�streg"
 
-#: awkgram.y:1947
+#: awkgram.y:1955
 msgid "POSIX does not allow operator `**='"
 msgstr "POSIX tillader ikke operatoren \"**=\""
 
-#: awkgram.y:1949
+#: awkgram.y:1957
 msgid "old awk does not support operator `**='"
 msgstr "gamle awk underst�tter ikke operatoren \"**=\""
 
-#: awkgram.y:1958
+#: awkgram.y:1966
 msgid "POSIX does not allow operator `**'"
 msgstr "POSIX tillader ikke operatoren \"**\""
 
-#: awkgram.y:1960
+#: awkgram.y:1968
 msgid "old awk does not support operator `**'"
 msgstr "gamle awk underst�tter ikke operatoren \"**\""
 
-#: awkgram.y:1991
+#: awkgram.y:1999
 msgid "operator `^=' is not supported in old awk"
 msgstr "operatoren \"^=\" underst�ttes ikke i gamle awk"
 
-#: awkgram.y:1999
+#: awkgram.y:2007
 msgid "operator `^' is not supported in old awk"
 msgstr "operatoren \"^\" underst�ttes ikke i gamle awk"
 
-#: awkgram.y:2083 awkgram.y:2098
+#: awkgram.y:2091 awkgram.y:2106
 msgid "unterminated string"
 msgstr "uafsluttet streng"
 
-#: awkgram.y:2283
+#: awkgram.y:2291
 #, c-format
 msgid "invalid char '%c' in expression"
 msgstr "ugyldigt tegn \"%c\" i udtryk"
 
-#: awkgram.y:2331
+#: awkgram.y:2339
 #, c-format
 msgid "`%s' is a gawk extension"
 msgstr "\"%s\" er en gawk-udvidelse"
 
-#: awkgram.y:2334
+#: awkgram.y:2342
 #, c-format
 msgid "`%s' is a Bell Labs extension"
 msgstr "\"%s\" er en Bell Labs-udvidelse"
 
-#: awkgram.y:2337
+#: awkgram.y:2345
 #, c-format
 msgid "POSIX does not allow `%s'"
 msgstr "POSIX tillader ikke \"%s\""
 
-#: awkgram.y:2341
+#: awkgram.y:2349
 #, c-format
 msgid "`%s' is not supported in old awk"
 msgstr "\"%s\" underst�ttes ikke i gamle awk"
 
-#: awkgram.y:2367
+#: awkgram.y:2375
 msgid "`goto' considered harmful!\n"
 msgstr "\"goto\" anses for skadlig!\n"
 
-#: awkgram.y:2429
+#: awkgram.y:2437
 #, c-format
 msgid "%d is invalid as number of arguments for %s"
 msgstr "%d er et ugyldigt antal argumenter for %s"
 
-#: awkgram.y:2448 awkgram.y:2451
+#: awkgram.y:2456 awkgram.y:2459
 msgid "match: third argument is a gawk extension"
 msgstr "match: tredje argument er en gawk-udvidelse"
 
-#: awkgram.y:2464
+#: awkgram.y:2472
 #, c-format
 msgid "%s: string literal as last arg of substitute has no effect"
 msgstr ""
 "%s: bogstavelig streng som sidste argument til erstatning har ingen effekt"
 
-#: awkgram.y:2467
+#: awkgram.y:2475
 #, fuzzy, c-format
 msgid "%s third parameter is not a changeable object"
 msgstr "sub: tredje argument er ikke et �ndringsbart objekt"
 
-#: awkgram.y:2494 awkgram.y:2497
+#: awkgram.y:2502 awkgram.y:2505
 msgid "close: second argument is a gawk extension"
 msgstr "close: andet argument er en gawk-udvidelse"
 
-#: awkgram.y:2507
+#: awkgram.y:2515
 msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore"
 msgstr ""
 "brug af dcgettext(_\"...\") er fejlagtigt: fjern det indledende "
 "understregningstegn"
 
-#: awkgram.y:2522
+#: awkgram.y:2530
 #, fuzzy
 msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore"
 msgstr ""
 "brug af dcgettext(_\"...\") er fejlagtigt: fjern det indledende "
 "understregningstegn"
 
-#: awkgram.y:2594
+#: awkgram.y:2602
 #, c-format
 msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d"
 msgstr "funktionen \"%s\": parameter %d, \"%s\", er samme som parameter %d"
 
-#: awkgram.y:2627
+#: awkgram.y:2635
 #, c-format
 msgid "function `%s': parameter `%s' shadows global variable"
 msgstr "funktionen \"%s\": parameteren \"%s\" overskygger en global variabel"
 
-#: awkgram.y:2739
+#: awkgram.y:2747
 #, c-format
 msgid "could not open `%s' for writing (%s)"
 msgstr "kunne ikke �bne \"%s\" for skrivning (%s)"
 
-#: awkgram.y:2740 profile.c:94
+#: awkgram.y:2748 profile.c:95
 msgid "sending profile to standard error"
 msgstr "sender profilen til standard fejl"
 
-#: awkgram.y:2772
+#: awkgram.y:2780
 #, c-format
 msgid "%s: close failed (%s)"
 msgstr "%s: mislykkedes at lukke (%s)"
 
-#: awkgram.y:2893
+#: awkgram.y:2901
 msgid "shadow_funcs() called twice!"
 msgstr "shadow_funcs() kaldt to gange!"
 
-#: awkgram.y:2920
+#: awkgram.y:2928
 msgid "there were shadowed variables."
 msgstr ""
 
-#: awkgram.y:2993
+#: awkgram.y:3001
 #, c-format
 msgid "function `%s': can't use function name as parameter name"
 msgstr "funktionen \"%s\": kan ikke bruge funktionsnavn som parameternavn"
 
-#: awkgram.y:3003
+#: awkgram.y:3004
+#, fuzzy, c-format
+msgid "function `%s': can't use special variable `%s' as a function parameter"
+msgstr "funktionen \"%s\": kan ikke bruge funktionsnavn som parameternavn"
+
+#: awkgram.y:3014
 #, c-format
 msgid "function name `%s' previously defined"
 msgstr "funktionsnavnet \"%s\" er allerede defineret"
 
-#: awkgram.y:3154 awkgram.y:3160
+#: awkgram.y:3165 awkgram.y:3171
 #, c-format
 msgid "function `%s' called but never defined"
 msgstr "funktionen \"%s\" kaldt, men aldrig defineret"
 
-#: awkgram.y:3163
+#: awkgram.y:3174
 #, c-format
 msgid "function `%s' defined but never called"
 msgstr "funktionen \"%s\" defineret, men aldrig kaldt"
 
-#: awkgram.y:3190
+#: awkgram.y:3201
 #, c-format
 msgid "regexp constant for parameter #%d yields boolean value"
 msgstr "konstant regul�rt udtryk for parameter %d giver en boolesk v�rdi"
 
-#: awkgram.y:3234
+#: awkgram.y:3245
 #, fuzzy, c-format
 msgid ""
 "function `%s' called with space between name and `(',\n"
@@ -408,197 +413,226 @@
 "funktionen \"%s\" kaldt med blanktegn mellem navnet og \"(\",\n"
 "%s"
 
-#: builtin.c:119
+#: awkgram.y:3667 eval.c:1394
+#, c-format
+msgid "division by zero attempted in `%%'"
+msgstr "fors�gte at dividere med nul i \"%%\""
+
+#: builtin.c:122
 #, c-format
 msgid "%s to \"%s\" failed (%s)"
 msgstr "%s til \"%s\" mislykkedes (%s)"
 
-#: builtin.c:120
+#: builtin.c:123
 msgid "standard output"
 msgstr "standard ud"
 
-#: builtin.c:121
+#: builtin.c:124
 msgid "reason unknown"
 msgstr "ukendt �rsag"
 
-#: builtin.c:134
+#: builtin.c:137
 msgid "exp: received non-numeric argument"
 msgstr "exp: fik et ikke-numerisk argument"
 
-#: builtin.c:140
+#: builtin.c:143
 #, c-format
 msgid "exp: argument %g is out of range"
 msgstr "exp: argumentet %g er uden for tilladt omr�de"
 
-#: builtin.c:198
+#: builtin.c:201
 #, c-format
 msgid "fflush: cannot flush: pipe `%s' opened for reading, not writing"
 msgstr ""
 "fflush: kan ikke spole: datakanalen \"%s\" �bnet for l�sning, ikke skrivning"
 
-#: builtin.c:201
+#: builtin.c:204
 #, c-format
 msgid "fflush: cannot flush: file `%s' opened for reading, not writing"
 msgstr "fflush: kan ikke spole: filen \"%s\" �bnet for l�sning, ikke skrivning"
 
-#: builtin.c:213
+#: builtin.c:216
 #, c-format
 msgid "fflush: `%s' is not an open file, pipe or co-process"
 msgstr "fflush: \"%s\" er ikke en �ben fil, datakanal eller ko proces"
 
-#: builtin.c:306
+#: builtin.c:310
 msgid "index: received non-string first argument"
 msgstr "indeks: f�rste argument er ikke en streng"
 
-#: builtin.c:308
+#: builtin.c:312
 msgid "index: received non-string second argument"
 msgstr "indeks: andet argument er ikke en streng"
 
-#: builtin.c:423
+#: builtin.c:434
 msgid "int: received non-numeric argument"
 msgstr "int: fik et ikke-numerisk argument"
 
-#: builtin.c:448
+#: builtin.c:464
 #, fuzzy
 msgid "`length(array)' is a gawk extension"
 msgstr "\"delete array\" er en gawk-udvidelse"
 
-#: builtin.c:458
+#: builtin.c:473
+msgid "length: untyped argument will be forced to scalar"
+msgstr ""
+
+#: builtin.c:477
 msgid "length: received non-string argument"
 msgstr "length: fik et argument som ikke er en streng"
 
-#: builtin.c:483
+#: builtin.c:508
 msgid "log: received non-numeric argument"
 msgstr "log: fik et ikke-numerisk argument"
 
-#: builtin.c:486
+#: builtin.c:511
 #, c-format
 msgid "log: received negative argument %g"
 msgstr "log: fik et negativt argument %g"
 
-#: builtin.c:693 builtin.c:696
+#: builtin.c:719 builtin.c:722
 msgid "must use `count$' on all formats or none"
 msgstr ""
 
-#: builtin.c:799
+#: builtin.c:783
+#, c-format
+msgid "field width is ignored for `%%%%' specifier"
+msgstr ""
+
+#: builtin.c:785
+#, c-format
+msgid "precision is ignored for `%%%%' specifier"
+msgstr ""
+
+#: builtin.c:787
+#, c-format
+msgid "field width and precision are ignored for `%%%%' specifier"
+msgstr ""
+
+#: builtin.c:838
 msgid "`$' is not permitted in awk formats"
 msgstr "\"$\" tillades ikke i awkformat"
 
-#: builtin.c:805
+#: builtin.c:844
 msgid "arg count with `$' must be > 0"
 msgstr "argumentantallet med \"$\" skal v�re > 0"
 
-#: builtin.c:807
+#: builtin.c:846
 #, fuzzy, c-format
 msgid "arg count %ld greater than total number of supplied arguments"
 msgstr "argumentantallet %d er st�rre end antal givne argumenter"
 
-#: builtin.c:809
+#: builtin.c:848
 msgid "`$' not permitted after period in format"
 msgstr "\"$\" tillades ikke efter et punktum i formatet"
 
-#: builtin.c:822
+#: builtin.c:861
 msgid "no `$' supplied for positional field width or precision"
 msgstr "intet \"$\" angivet for positionsangivet feltbredde eller pr�cision"
 
-#: builtin.c:888
+#: builtin.c:927
 msgid "`l' is meaningless in awk formats; ignored"
 msgstr "\"l\" er meningsl�st i awk-formater, ignoreret"
 
-#: builtin.c:892
+#: builtin.c:931
 msgid "`l' is not permitted in POSIX awk formats"
 msgstr "\"l\" tillades ikke i POSIX awk-formater"
 
-#: builtin.c:903
+#: builtin.c:942
 msgid "`L' is meaningless in awk formats; ignored"
 msgstr "\"L\" er meningsl�st i awk-formater, ignoreret"
 
-#: builtin.c:907
+#: builtin.c:946
 msgid "`L' is not permitted in POSIX awk formats"
 msgstr "\"L\" tillades ikke i POSIX awk-formater"
 
-#: builtin.c:918
+#: builtin.c:957
 msgid "`h' is meaningless in awk formats; ignored"
 msgstr "\"h\" er meningsl�st i awk-formater, ignoreret"
 
-#: builtin.c:922
+#: builtin.c:961
 msgid "`h' is not permitted in POSIX awk formats"
 msgstr "\"h\" tillades ikke i POSIX awk-formater"
 
-#: builtin.c:1182
+#: builtin.c:1236
 #, c-format
 msgid "[s]printf: value %g is out of range for `%%%c' format"
 msgstr ""
 
-#: builtin.c:1266
+#: builtin.c:1316
+#, c-format
+msgid "ignoring unknown format specifier character `%c': no argument converted"
+msgstr ""
+
+#: builtin.c:1322
 msgid "not enough arguments to satisfy format string"
 msgstr "for f� argumenter til formatstrengen"
 
-#: builtin.c:1268
+#: builtin.c:1324
 msgid "^ ran out for this one"
 msgstr "^ sluttede her"
 
-#: builtin.c:1274
+#: builtin.c:1330
 msgid "[s]printf: format specifier does not have control letter"
 msgstr "[s]printf: formatspecifiereren har intet kommandobogstav"
 
-#: builtin.c:1277
+#: builtin.c:1333
 msgid "too many arguments supplied for format string"
 msgstr "for mange argumenter til formatstrengen"
 
-#: builtin.c:1352 builtin.c:1355
+#: builtin.c:1408 builtin.c:1411
 msgid "printf: no arguments"
 msgstr "printf: ingen argumenter"
 
-#: builtin.c:1379
+#: builtin.c:1435
 msgid "sqrt: received non-numeric argument"
 msgstr "sqrt: fik ikke-numerisk argument"
 
-#: builtin.c:1383
+#: builtin.c:1439
 #, c-format
 msgid "sqrt: called with negative argument %g"
 msgstr "sqrt: kaldt med negativt argument %g"
 
-#: builtin.c:1407
+#: builtin.c:1463
 #, c-format
 msgid "substr: start index %g is invalid, using 1"
 msgstr "substr: startindeks %g er ugyldigt, bruger 1"
 
-#: builtin.c:1412
+#: builtin.c:1468
 #, c-format
 msgid "substr: non-integer start index %g will be truncated"
 msgstr "substr: startindeks %g som ikke er et heltal bliver trunkeret"
 
-#: builtin.c:1431
+#: builtin.c:1494
 #, fuzzy, c-format
 msgid "substr: length %g is not >= 1"
 msgstr "substr: l�ngden %g er <= 0"
 
-#: builtin.c:1433
+#: builtin.c:1496
 #, fuzzy, c-format
 msgid "substr: length %g is not >= 0"
 msgstr "substr: l�ngden %g er <= 0"
 
-#: builtin.c:1440
+#: builtin.c:1503
 #, c-format
 msgid "substr: non-integer length %g will be truncated"
 msgstr "substr: l�ngden %g som ikke er et heltal bliver trunkeret"
 
-#: builtin.c:1445
+#: builtin.c:1508
 #, c-format
 msgid "substr: length %g too big for string indexing, truncating to %g"
 msgstr ""
 
-#: builtin.c:1457
+#: builtin.c:1520
 msgid "substr: source string is zero length"
 msgstr "substr: kildestrengen er tom"
 
-#: builtin.c:1473
+#: builtin.c:1536
 #, fuzzy, c-format
 msgid "substr: start index %g is past end of string"
 msgstr "substr: startindeks %d er forbi slutningen p� strengen"
 
-#: builtin.c:1481
+#: builtin.c:1544
 #, fuzzy, c-format
 msgid ""
 "substr: length %g at start index %g exceeds length of first argument (%lu)"
@@ -606,315 +640,311 @@
 "substr: l�ngden %d ved startindeks %d overskrider l�ngden af f�rste argument "
 "(%d)"
 
-#: builtin.c:1558
+#: builtin.c:1621
 #, fuzzy
 msgid "strftime: received non-string first argument"
 msgstr "strftime: fik et f�rste argument som ikke er en streng"
 
-#: builtin.c:1564
+#: builtin.c:1627
 msgid "strftime: received empty format string"
 msgstr "strftime: fik en tom formatstreng"
 
-#: builtin.c:1573
+#: builtin.c:1636
 #, fuzzy
 msgid "strftime: received non-numeric second argument"
 msgstr "strftime: fik et ikke-numerisk andet argument"
 
-#: builtin.c:1650
+#: builtin.c:1713
 msgid "mktime: received non-string argument"
 msgstr "mktime: fik et argument som ikke er en streng"
 
-#: builtin.c:1695
+#: builtin.c:1758
 #, fuzzy
 msgid "system: received non-string argument"
 msgstr "system: fik et argument som ikke er en streng"
 
-#: builtin.c:1816 eval.c:2041
+#: builtin.c:1879 eval.c:2145
 #, fuzzy, c-format
 msgid "reference to uninitialized field `$%d'"
 msgstr "reference til ikke-initieret variabel \"%s\""
 
-#: builtin.c:1921
+#: builtin.c:1984
 #, fuzzy
 msgid "tolower: received non-string argument"
 msgstr "tolower: fik et argument som ikke er en streng"
 
-#: builtin.c:1951
+#: builtin.c:2014
 #, fuzzy
 msgid "toupper: received non-string argument"
 msgstr "toupper: fik et argument som ikke er en streng"
 
-#: builtin.c:1984
+#: builtin.c:2047
 msgid "atan2: received non-numeric first argument"
 msgstr "atan2: fik et ikke-numerisk f�rste argument"
 
-#: builtin.c:1986
+#: builtin.c:2049
 msgid "atan2: received non-numeric second argument"
 msgstr "atan2: fik et ikke-numerisk andet argument"
 
-#: builtin.c:2005
+#: builtin.c:2068
 msgid "sin: received non-numeric argument"
 msgstr "sin: fik et ikke-numerisk argument"
 
-#: builtin.c:2021
+#: builtin.c:2084
 msgid "cos: received non-numeric argument"
 msgstr "cos: fik et ikke-numerisk argument"
 
-#: builtin.c:2071
+#: builtin.c:2137
 msgid "srand: received non-numeric argument"
 msgstr "srand: fik et ikke-numerisk argument"
 
-#: builtin.c:2106
+#: builtin.c:2172
 msgid "match: third argument is not an array"
 msgstr "match: tredje argument er ikke en vektor"
 
-#: builtin.c:2650
+#: builtin.c:2719
+#, fuzzy
 msgid "gensub: third argument of 0 treated as 1"
 msgstr "gensub: Nullet i tredje argument behandlet som et �t-tal"
 
-#: builtin.c:2766
+#: builtin.c:2835
 msgid "lshift: received non-numeric first argument"
 msgstr "lshift: fik et ikke-numerisk f�rste argument"
 
-#: builtin.c:2768
+#: builtin.c:2837
 #, fuzzy
 msgid "lshift: received non-numeric second argument"
-msgstr "strftime: fik et ikke-numerisk andet argument"
+msgstr "atan2: fik et ikke-numerisk andet argument"
 
-#: builtin.c:2774
+#: builtin.c:2843
 #, c-format
 msgid "lshift(%lf, %lf): negative values will give strange results"
 msgstr "lshift(%lf, %lf): negative v�rdier vil give m�rkelige resultater"
 
-#: builtin.c:2776
+#: builtin.c:2845
 #, c-format
 msgid "lshift(%lf, %lf): fractional values will be truncated"
 msgstr "lshift(%lf, %lf): flydendetalsv�rdier vil blive trunkeret"
 
-#: builtin.c:2778
+#: builtin.c:2847
 #, c-format
 msgid "lshift(%lf, %lf): too large shift value will give strange results"
 msgstr ""
 "lshift(%lf, %lf): for store skiftev�rdier vil give m�rkelige resultater"
 
-#: builtin.c:2804
+#: builtin.c:2873
 msgid "rshift: received non-numeric first argument"
 msgstr "rshift: fik et ikke-numerisk f�rste argument"
 
-#: builtin.c:2806
+#: builtin.c:2875
 #, fuzzy
 msgid "rshift: received non-numeric second argument"
-msgstr "strftime: fik et ikke-numerisk andet argument"
+msgstr "atan2: fik et ikke-numerisk andet argument"
 
-#: builtin.c:2812
+#: builtin.c:2881
 #, c-format
 msgid "rshift(%lf, %lf): negative values will give strange results"
 msgstr "rshift(%lf, %lf): negative v�rdier vil give m�rkelige resultater"
 
-#: builtin.c:2814
+#: builtin.c:2883
 #, c-format
 msgid "rshift(%lf, %lf): fractional values will be truncated"
 msgstr "rshift(%lf, %lf): flydendetalsv�rdier vil blive trunkeret"
 
-#: builtin.c:2816
+#: builtin.c:2885
 #, c-format
 msgid "rshift(%lf, %lf): too large shift value will give strange results"
 msgstr ""
 "rshift(%lf, %lf): for store skiftev�rdier vil give m�rkelige resultater"
 
-#: builtin.c:2842
+#: builtin.c:2911
 msgid "and: received non-numeric first argument"
 msgstr "and: fik et ikke-numerisk f�rste argument"
 
-#: builtin.c:2844
+#: builtin.c:2913
 #, fuzzy
 msgid "and: received non-numeric second argument"
 msgstr "atan2: fik et ikke-numerisk andet argument"
 
-#: builtin.c:2850
+#: builtin.c:2919
 #, c-format
 msgid "and(%lf, %lf): negative values will give strange results"
 msgstr "and(%lf, %lf): negative v�rdier vil give m�rkelige resultater"
 
-#: builtin.c:2852
+#: builtin.c:2921
 #, c-format
 msgid "and(%lf, %lf): fractional values will be truncated"
 msgstr "and(%lf, %lf): flydendetalsv�rdier vil blive trunkeret"
 
-#: builtin.c:2878
+#: builtin.c:2947
 msgid "or: received non-numeric first argument"
 msgstr "or: fik et ikke-numerisk f�rste argument"
 
-#: builtin.c:2880
+#: builtin.c:2949
 #, fuzzy
 msgid "or: received non-numeric second argument"
 msgstr "atan2: fik et ikke-numerisk andet argument"
 
-#: builtin.c:2886
+#: builtin.c:2955
 #, c-format
 msgid "or(%lf, %lf): negative values will give strange results"
 msgstr "or(%lf, %lf): negative v�rdier vil give m�rkelige resultater"
 
-#: builtin.c:2888
+#: builtin.c:2957
 #, c-format
 msgid "or(%lf, %lf): fractional values will be truncated"
 msgstr "or(%lf, %lf): flydendetalsv�rdier vil blive trunkeret"
 
-#: builtin.c:2914
+#: builtin.c:2983
 msgid "xor: received non-numeric first argument"
 msgstr "xor: fik et ikke-numerisk f�rste argument"
 
-#: builtin.c:2916
+#: builtin.c:2985
 #, fuzzy
 msgid "xor: received non-numeric second argument"
 msgstr "atan2: fik et ikke-numerisk andet argument"
 
-#: builtin.c:2922
+#: builtin.c:2991
 #, c-format
 msgid "xor(%lf, %lf): negative values will give strange results"
 msgstr "xor(%lf, %lf): negative v�rdier vil give m�rkelige resultater"
 
-#: builtin.c:2924
+#: builtin.c:2993
 #, c-format
 msgid "xor(%lf, %lf): fractional values will be truncated"
 msgstr "xor(%lf, %lf): flydendetalsv�rdier vil blive trunkeret"
 
-#: builtin.c:2948
+#: builtin.c:3017
 msgid "compl: received non-numeric argument"
 msgstr "compl: fik et ikke-numerisk argument"
 
-#: builtin.c:2954
+#: builtin.c:3023
 #, c-format
 msgid "compl(%lf): negative value will give strange results"
 msgstr "compl(%lf): negative v�rdier vil give m�rkelige resultater"
 
-#: builtin.c:2956
+#: builtin.c:3025
 #, c-format
 msgid "compl(%lf): fractional value will be truncated"
 msgstr "compl(%lf): flydendetalsv�rdier vil blive trunkeret"
 
-#: builtin.c:3129
+#: builtin.c:3198
 #, c-format
 msgid "dcgettext: `%s' is not a valid locale category"
 msgstr "dcgettext: \"%s\" er ikke en gyldig lokalekategori"
 
-#: eval.c:303
+#: eval.c:372
 #, c-format
 msgid "unknown nodetype %d"
 msgstr "ukendt nodetype %d"
 
-#: eval.c:353
+#: eval.c:422
 msgid "buffer overflow in genflags2str"
 msgstr "bufferoverl�b i genflags2str"
 
-#: eval.c:385 eval.c:391 profile.c:817
+#: eval.c:454 eval.c:460 profile.c:781
 #, c-format
 msgid "attempt to use array `%s' in a scalar context"
 msgstr "fors�g p� at bruge vektoren \"%s\" i skalarsammenh�ng"
 
-#: eval.c:733
+#: eval.c:802
 #, fuzzy, c-format
 msgid "for loop: array `%s' changed size from %ld to %ld during loop execution"
 msgstr ""
 "for-l�kke: vektoren \"%s\" �ndrede st�rrelse fra %d til %d under l�kke-"
 "udf�relsen"
 
-#: eval.c:754
+#: eval.c:823
 msgid "`break' outside a loop is not portable"
 msgstr "\"break\" uden for en l�kke er ikke portabelt"
 
-#: eval.c:758
+#: eval.c:827
 msgid "`break' outside a loop is not allowed"
 msgstr "\"break\" uden for en l�kke er ikke tilladt"
 
-#: eval.c:775
+#: eval.c:844
 msgid "`continue' outside a loop is not portable"
 msgstr "\"continue\" uden for en l�kke er ikke portabelt"
 
-#: eval.c:779
+#: eval.c:848
 msgid "`continue' outside a loop is not allowed"
 msgstr "\"continue\" uden for en l�kke er ikke tilladt"
 
-#: eval.c:813
+#: eval.c:882
 msgid "`next' cannot be called from a BEGIN rule"
 msgstr "\"next\" kan ikke kaldes fra en BEGIN-regel"
 
-#: eval.c:815
+#: eval.c:884
 msgid "`next' cannot be called from an END rule"
 msgstr "\"next\" kan ikke kaldes fra en END-regel"
 
-#: eval.c:824
+#: eval.c:893
 msgid "`nextfile' cannot be called from a BEGIN rule"
 msgstr "\"nextfile\" kan ikke kaldes fra en BEGIN-regel"
 
-#: eval.c:826
+#: eval.c:895
 msgid "`nextfile' cannot be called from an END rule"
 msgstr "\"nextfile\" kan ikke kaldes fra en END-regel"
 
-#: eval.c:875
+#: eval.c:952
 msgid "statement has no effect"
 msgstr "kommandoen har ingen effekt"
 
-#: eval.c:952 eval.c:1895
+#: eval.c:1029 eval.c:1999
 #, c-format
 msgid "can't use function name `%s' as variable or array"
 msgstr "kan ikke bruge funktionsnavnet \"%s\" som variabel eller vektor"
 
-#: eval.c:959 eval.c:965
+#: eval.c:1036 eval.c:1042
 #, c-format
 msgid "reference to uninitialized argument `%s'"
 msgstr "reference til ikke-initieret argument \"%s\""
 
-#: eval.c:974 eval.c:1904
+#: eval.c:1051 eval.c:2008
 #, c-format
 msgid "reference to uninitialized variable `%s'"
 msgstr "reference til ikke-initieret variabel \"%s\""
 
-#: eval.c:1120
+#: eval.c:1197
 msgid ""
 "concatenation: side effects in one expression have changed the length of "
 "another!"
 msgstr ""
 "concatenation: sideeffekter i et udtryk har �ndret l�ngden af et andet!"
 
-#: eval.c:1202
+#: eval.c:1301
 msgid "assignment used in conditional context"
 msgstr "tildeling brugt i sammenligningsammenh�ng"
 
-#: eval.c:1280
+#: eval.c:1379
 msgid "division by zero attempted"
 msgstr "fors�gte at dividere med nul"
 
-#: eval.c:1295
-#, c-format
-msgid "division by zero attempted in `%%'"
-msgstr "fors�gte at dividere med nul i \"%%\""
-
-#: eval.c:1310 profile.c:693
+#: eval.c:1409 profile.c:657
 #, c-format
 msgid "illegal type (%s) in tree_eval"
 msgstr "ikke tilladt type (%s) i tree_eval"
 
-#: eval.c:1473
+#: eval.c:1572
 msgid "division by zero attempted in `/='"
 msgstr "fors�gte at dividere med nul i \"/=\""
 
-#: eval.c:1495
+#: eval.c:1594
 #, c-format
 msgid "division by zero attempted in `%%='"
 msgstr "fors�gte at dividere med nul i \"%%=\""
 
-#: eval.c:1760
+#: eval.c:1859
 #, c-format
 msgid "function `%s' called with more arguments than declared"
 msgstr "funktionen \"%s\" kaldt med flere argumenter end deklareret"
 
-#: eval.c:1804
+#: eval.c:1904
 #, c-format
 msgid "function `%s' not defined"
 msgstr "funktionen \"%s\" er ikke defineret"
 
-#: eval.c:1867
+#: eval.c:1971
 #, c-format
 msgid ""
 "\n"
@@ -925,42 +955,47 @@
 "\t# Funktionskaldsstak:\n"
 "\n"
 
-#: eval.c:1870
+#: eval.c:1974
 #, c-format
 msgid "\t# -- main --\n"
 msgstr "\t# -- main --\n"
 
-#: eval.c:2025
+#: eval.c:2129
 msgid "attempt to field reference from non-numeric value"
 msgstr "fors�g p� at feltreferere fra ikke-numerisk v�rdi"
 
-#: eval.c:2027
+#: eval.c:2131
 msgid "attempt to reference from null string"
 msgstr "fors�g p� at referere fra tom streng"
 
-#: eval.c:2033
+#: eval.c:2137
 #, c-format
 msgid "attempt to access field %d"
 msgstr "fors�g p� at f� adgang til felt nummer %d"
 
-#: eval.c:2054 eval.c:2061 profile.c:914
+#: eval.c:2158 eval.c:2165 profile.c:836
 msgid "assignment is not allowed to result of builtin function"
 msgstr "tildeling er ikke tilladt til resultatet fra en indbygget funktion"
 
-#: eval.c:2125
+#: eval.c:2229
 msgid "`IGNORECASE' is a gawk extension"
 msgstr "\"IGNORECASE\" er en gawk-udvidelse"
 
-#: eval.c:2155
+#: eval.c:2258
 msgid "`BINMODE' is a gawk extension"
 msgstr "\"BINMODE\" er en gawk-udvidelse"
 
-#: eval.c:2277
+#: eval.c:2316
+#, c-format
+msgid "BINMODE value `%s' is invalid, treated as 3"
+msgstr ""
+
+#: eval.c:2406
 #, c-format
 msgid "bad `%sFMT' specification `%s'"
 msgstr "fejlagtig \"%sFMT\"-specifikation \"%s\""
 
-#: eval.c:2355
+#: eval.c:2484
 msgid "turning off `--lint' due to assignment to `LINT'"
 msgstr "deaktiverer \"--lint\" p� grund af en tildeling til \"LINT\""
 
@@ -1035,554 +1070,562 @@
 msgid "NF set to negative value"
 msgstr "NF sat til en negativ v�rdi"
 
-#: field.c:823
+#: field.c:875
 msgid "split: second argument is not an array"
 msgstr "split: andet argument er ikke en vektor"
 
-#: field.c:857
+#: field.c:909
 msgid "split: null string for third arg is a gawk extension"
 msgstr "split: tom streng som tredje argument er en gawk-udvidelse"
 
-#: field.c:909
+#: field.c:961
 msgid "`FIELDWIDTHS' is a gawk extension"
 msgstr "\"FIELDWIDTHS\" er en gawk-udvidelse"
 
-#: field.c:939 field.c:953
+#: field.c:991 field.c:1005
 #, c-format
 msgid "invalid FIELDWIDTHS value, near `%s'"
 msgstr ""
 
-#: field.c:1036
+#: field.c:1088
 msgid "null string for `FS' is a gawk extension"
 msgstr "tom streng som \"FS\" er en gawk-udvidelse"
 
-#: field.c:1040
+#: field.c:1092
 #, fuzzy
 msgid "old awk does not support regexps as value of `FS'"
 msgstr "gamle awk underst�tter ikke operatoren \"**\""
 
-#: getopt.c:571 getopt.c:587
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
+#: getopt.c:570 getopt.c:586
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
 msgstr "%s: flaget \"%s\" er flertydigt\n"
 
-#: getopt.c:620 getopt.c:624
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
+#: getopt.c:619 getopt.c:623
+#, fuzzy, c-format
+msgid "%s: option '--%s' doesn't allow an argument\n"
 msgstr "%s: flaget \"--%s\" tillader ikke noget argument\n"
 
-#: getopt.c:633 getopt.c:638
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
+#: getopt.c:632 getopt.c:637
+#, fuzzy, c-format
+msgid "%s: option '%c%s' doesn't allow an argument\n"
 msgstr "%s: flaget \"%c%s\" tillader ikke noget argument\n"
 
-#: getopt.c:681 getopt.c:700 getopt.c:1016 getopt.c:1035
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
+#: getopt.c:680 getopt.c:699 getopt.c:1002 getopt.c:1021
+#, fuzzy, c-format
+msgid "%s: option '%s' requires an argument\n"
 msgstr "%s: flaget \"%s\" kr�ver et argument\n"
 
-#: getopt.c:738 getopt.c:741
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
+#: getopt.c:737 getopt.c:740
+#, fuzzy, c-format
+msgid "%s: unrecognized option '--%s'\n"
 msgstr "%s: ukendt flag \"--%s\"\n"
 
-#: getopt.c:749 getopt.c:752
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
+#: getopt.c:748 getopt.c:751
+#, fuzzy, c-format
+msgid "%s: unrecognized option '%c%s'\n"
 msgstr "%s: ukendt flag \"%c%s\"\n"
 
-#: getopt.c:804 getopt.c:807
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: ikke tilladt flag -- %c\n"
-
-#: getopt.c:813 getopt.c:816
-#, c-format
-msgid "%s: invalid option -- %c\n"
+#: getopt.c:800 getopt.c:803
+#, fuzzy, c-format
+msgid "%s: invalid option -- '%c'\n"
 msgstr "%s: ugyldig flag -- %c\n"
 
-#: getopt.c:868 getopt.c:884 getopt.c:1088 getopt.c:1106 main.c:461
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
+#: getopt.c:853 getopt.c:870 getopt.c:1073 getopt.c:1091
+#, fuzzy, c-format
+msgid "%s: option requires an argument -- '%c'\n"
 msgstr "%s: flaget kr�ver et argument -- %c\n"
 
-#: getopt.c:937 getopt.c:953
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
+#: getopt.c:923 getopt.c:939
+#, fuzzy, c-format
+msgid "%s: option '-W %s' is ambiguous\n"
 msgstr "%s: flaget \"-W %s\" er flertydigt\n"
 
-#: getopt.c:977 getopt.c:995
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
+#: getopt.c:963 getopt.c:981
+#, fuzzy, c-format
+msgid "%s: option '-W %s' doesn't allow an argument\n"
 msgstr "%s: flaget \"-W %s\" tillader ikke noget argument\n"
 
-#: io.c:345
+#: io.c:322 io.c:352
 #, c-format
 msgid "cannot open file `%s' for reading (%s)"
 msgstr "kan ikke �bne filen \"%s\" for l�sning (%s)"
 
-#: io.c:436
+#: io.c:443
 #, c-format
 msgid "close of fd %d (`%s') failed (%s)"
 msgstr "lukning af fd %d (\"%s\") mislykkedes (%s)"
 
-#: io.c:575
+#: io.c:583
 #, c-format
 msgid "invalid tree type %s in redirect()"
 msgstr "ugyldig tr�type %s i redirect()"
 
-#: io.c:581
+#: io.c:589
 #, c-format
 msgid "expression in `%s' redirection only has numeric value"
 msgstr "udtrykket i \"%s\"-omdirigering har kun numerisk v�rdi"
 
-#: io.c:587
+#: io.c:595
 #, c-format
 msgid "expression for `%s' redirection has null string value"
 msgstr "udtrykket for \"%s\"-omdirigering har en tom streng som v�rdi"
 
-#: io.c:592
+#: io.c:600
 #, c-format
 msgid "filename `%s' for `%s' redirection may be result of logical expression"
 msgstr ""
 "filnavnet \"%s\" for \"%s\"-omdirigering kan v�re resultatet af et logisk "
 "udtryk"
 
-#: io.c:630
+#: io.c:638
 #, c-format
 msgid "unnecessary mixing of `>' and `>>' for file `%.*s'"
 msgstr "un�dig blanding af \">\" og \">>\" for filen \"%.*s\""
 
-#: io.c:682
+#: io.c:685
 #, c-format
 msgid "can't open pipe `%s' for output (%s)"
 msgstr "kan ikke �bne r�ret \"%s\" for udskrivning (%s)"
 
-#: io.c:691
+#: io.c:694
 #, c-format
 msgid "can't open pipe `%s' for input (%s)"
 msgstr "kan ikke �bne r�ret \"%s\" for indtastning (%s)"
 
-#: io.c:698 io.c:1448
-#, c-format
-msgid "file `%s' is a directory"
-msgstr "filen \"%s\" er et katalog"
-
-#: io.c:706
+#: io.c:712
 #, c-format
 msgid "can't open two way socket `%s' for input/output (%s)"
 msgstr "kan ikke �bne tovejssoklen \"%s\" for ind-/uddata (%s)"
 
-#: io.c:710
+#: io.c:716
 #, c-format
 msgid "can't open two way pipe `%s' for input/output (%s)"
 msgstr "kan ikke �bne tovejsr�ret \"%s\" for ind-/uddata (%s)"
 
-#: io.c:786
+#: io.c:793
 #, c-format
 msgid "can't redirect from `%s' (%s)"
 msgstr "kan ikke omdirigere fra \"%s\" (%s)"
 
-#: io.c:789
+#: io.c:796
 #, c-format
 msgid "can't redirect to `%s' (%s)"
 msgstr "kan ikke omdirigere til \"%s\" (%s)"
 
-#: io.c:828
+#: io.c:849
 msgid ""
 "reached system limit for open files: starting to multiplex file descriptors"
 msgstr ""
 "n�ede systembegr�nsningen for �bne filer: begynder at multiplekse "
 "fildeskriptorer"
 
-#: io.c:844
+#: io.c:865
 #, c-format
 msgid "close of `%s' failed (%s)."
 msgstr "lukning af \"%s\" mislykkedes (%s)"
 
-#: io.c:852
+#: io.c:873
 msgid "too many pipes or input files open"
 msgstr "for mange r�r eller inddatafiler �bne"
 
-#: io.c:875
+#: io.c:896
 msgid "close: second argument must be `to' or `from'"
 msgstr "close: andet argument skal v�re \"to\" eller \"from\""
 
-#: io.c:889
+#: io.c:910
 #, c-format
 msgid "close: `%.*s' is not an open file, pipe or co-process"
 msgstr "close: \"%.*s\" er ikke en �ben fil, datakanal eller ko-proces"
 
-#: io.c:893
+#: io.c:915
 msgid "close of redirection that was never opened"
 msgstr "lukning af omdirigering som aldrig �bnedes"
 
-#: io.c:989
+#: io.c:1012
 #, c-format
 msgid "close: redirection `%s' not opened with `|&', second argument ignored"
 msgstr ""
 "close: omdirigeringen \"%s\" �bnedes ikke med \"|&\", andet argument "
 "ignoreret"
 
-#: io.c:1005
+#: io.c:1028
 #, c-format
 msgid "failure status (%d) on pipe close of `%s' (%s)"
 msgstr "fejlstatus (%d) fra r�rlukning af \"%s\" (%s)"
 
-#: io.c:1008
+#: io.c:1031
 #, c-format
 msgid "failure status (%d) on file close of `%s' (%s)"
 msgstr "fejlstatus (%d) fra fillukning af \"%s\" (%s)"
 
-#: io.c:1028
+#: io.c:1051
 #, c-format
 msgid "no explicit close of socket `%s' provided"
 msgstr "ingen eksplicit lukning af soklen \"%s\" angivet"
 
-#: io.c:1031
+#: io.c:1054
 #, c-format
 msgid "no explicit close of co-process `%s' provided"
 msgstr "ingen eksplicit lukning af ko-processen \"%s\" angivet"
 
-#: io.c:1034
+#: io.c:1057
 #, c-format
 msgid "no explicit close of pipe `%s' provided"
 msgstr "ingen eksplicit lukning af r�ret \"%s\" angivet"
 
-#: io.c:1037
+#: io.c:1060
 #, c-format
 msgid "no explicit close of file `%s' provided"
 msgstr "ingen eksplicit lukning af filen \"%s\" angivet"
 
-#: io.c:1066 io.c:1121 main.c:749 main.c:791
+#: io.c:1088 io.c:1143 main.c:776 main.c:818
 #, c-format
 msgid "error writing standard output (%s)"
 msgstr "fejl ved skrivning til standard ud (%s)"
 
-#: io.c:1070 io.c:1126
+#: io.c:1092 io.c:1148
 #, c-format
 msgid "error writing standard error (%s)"
 msgstr "fejl ved skrivning til standard fejl (%s)"
 
-#: io.c:1078
+#: io.c:1100
 #, c-format
 msgid "pipe flush of `%s' failed (%s)."
 msgstr "r�rspuling af \"%s\" mislykkedes (%s)"
 
-#: io.c:1081
+#: io.c:1103
 #, c-format
 msgid "co-process flush of pipe to `%s' failed (%s)."
 msgstr "ko-processpuling af r�ret til \"%s\" mislykkedes (%s)"
 
-#: io.c:1084
+#: io.c:1106
 #, c-format
 msgid "file flush of `%s' failed (%s)."
 msgstr "filspuling af \"%s\" mislykkedes (%s)"
 
-#: io.c:1198
+#: io.c:1220
 #, fuzzy, c-format
 msgid "local port %s invalid in `/inet'"
 msgstr "lokal port ugyldig i \"%s\""
 
-#: io.c:1215
+#: io.c:1237
 #, c-format
 msgid "remote host and port information (%s, %s) invalid"
 msgstr ""
 
-#: io.c:1250
+#: io.c:1272
 msgid "/inet/raw client not ready yet, sorry"
 msgstr "/inet/raw-klient er desv�rre ikke klar endnu"
 
-#: io.c:1253 io.c:1289
+#: io.c:1275 io.c:1311
 msgid "only root may use `/inet/raw'."
 msgstr "kun root kan bruge \"/inet/raw\"."
 
-#: io.c:1287
+#: io.c:1309
 msgid "/inet/raw server not ready yet, sorry"
 msgstr "/inet/raw-server er desv�rre ikke klar endnu"
 
-#: io.c:1385
+#: io.c:1407
 #, c-format
 msgid "no (known) protocol supplied in special filename `%s'"
 msgstr "ingen (kendt) protokol opgivet i special-filnavn \"%s\""
 
-#: io.c:1399
+#: io.c:1421
 #, c-format
 msgid "special file name `%s' is incomplete"
 msgstr "special-filnavn \"%s\" er ufuldst�ndigt"
 
-#: io.c:1414
+#: io.c:1436
 msgid "must supply a remote hostname to `/inet'"
 msgstr "skal angive et fjernmaskinenavn til \"/inet\""
 
-#: io.c:1432
+#: io.c:1454
 msgid "must supply a remote port to `/inet'"
 msgstr "skal angive en fjernport til \"/inet\""
 
-#: io.c:1439
+#: io.c:1485
 msgid "TCP/IP communications are not supported"
 msgstr "TCP/IP-kommunikation underst�ttes ikke"
 
-#: io.c:1509
+#: io.c:1494
+#, c-format
+msgid "file `%s' is a directory"
+msgstr "filen \"%s\" er et katalog"
+
+#: io.c:1555
 #, c-format
 msgid "use `PROCINFO[\"%s\"]' instead of `%s'"
 msgstr "brug \"PROCINFO[\"%s\"]\" i stedet for \"%s\""
 
-#: io.c:1547
+#: io.c:1593
 msgid "use `PROCINFO[...]' instead of `/dev/user'"
 msgstr "brug \"PROCINFO[...]\" i stedet for \"dev/user\""
 
-#: io.c:1612 io.c:1798
+#: io.c:1658 io.c:1853
 #, c-format
 msgid "could not open `%s', mode `%s'"
 msgstr "kunne ikke �bne \"%s\", tilstand \"%s\""
 
-#: io.c:1849
+#: io.c:1904
 #, fuzzy, c-format
 msgid "close of master pty failed (%s)"
 msgstr "lukning af r�ret mislykkedes (%s)"
 
-#: io.c:1851 io.c:2003 io.c:2154
+#: io.c:1906 io.c:2058 io.c:2209
 #, c-format
 msgid "close of stdout in child failed (%s)"
 msgstr "lukning af standard ud i barnet mislykkedes (%s)"
 
-#: io.c:1854
+#: io.c:1909
 #, fuzzy, c-format
 msgid "moving slave pty to stdout in child failed (dup: %s)"
 msgstr "flytning af r�r til standard ud i barnet mislykkedes (dup: %s)"
 
-#: io.c:1856 io.c:2008
+#: io.c:1911 io.c:2063
 #, c-format
 msgid "close of stdin in child failed (%s)"
 msgstr "lukning af standard ind i barnet mislykkedes (%s)"
 
-#: io.c:1859
+#: io.c:1914
 #, fuzzy, c-format
 msgid "moving slave pty to stdin in child failed (dup: %s)"
 msgstr "flytning af r�r til standard ind i barnet mislykkedes (dup: %s)"
 
-#: io.c:1861 io.c:1880
+#: io.c:1916 io.c:1935
 #, fuzzy, c-format
 msgid "close of slave pty failed (%s)"
 msgstr "lukning af r�ret mislykkedes (%s)"
 
-#: io.c:1954 io.c:2006 io.c:2135 io.c:2157
+#: io.c:2009 io.c:2061 io.c:2190 io.c:2212
 #, c-format
 msgid "moving pipe to stdout in child failed (dup: %s)"
 msgstr "flytning af r�r til standard ud i barnet mislykkedes (dup: %s)"
 
-#: io.c:1958 io.c:2011
+#: io.c:2013 io.c:2066
 #, c-format
 msgid "moving pipe to stdin in child failed (dup: %s)"
 msgstr "flytning af r�r til standard ind i barnet mislykkedes (dup: %s)"
 
-#: io.c:1975 io.c:2148
+#: io.c:2030 io.c:2203
 msgid "restoring stdout in parent process failed\n"
 msgstr "genskabelse af standard ud i for�lderprocessen mislykkedes\n"
 
-#: io.c:1980
+#: io.c:2035
 msgid "restoring stdin in parent process failed\n"
 msgstr "genskabelse af standard ind i for�lderprocessen mislykkedes\n"
 
-#: io.c:2014 io.c:2159 io.c:2170
+#: io.c:2069 io.c:2214 io.c:2225
 #, c-format
 msgid "close of pipe failed (%s)"
 msgstr "lukning af r�ret mislykkedes (%s)"
 
-#: io.c:2059
+#: io.c:2114
 msgid "`|&' not supported"
 msgstr "\"|&\" underst�ttes ikke"
 
-#: io.c:2125
+#: io.c:2180
 #, c-format
 msgid "cannot open pipe `%s' (%s)"
 msgstr "kan ikke �bne r�ret \"%s\" (%s)"
 
-#: io.c:2166
+#: io.c:2221
 #, c-format
 msgid "cannot create child process for `%s' (fork: %s)"
 msgstr "kan ikke oprette barneproces for \"%s\" (fork: %s)"
 
-#: io.c:2548
+#: io.c:2603
 #, c-format
 msgid "data file `%s' is empty"
 msgstr "datafilen \"%s\" er tom"
 
-#: io.c:2589 io.c:2597
+#: io.c:2644 io.c:2652
 msgid "could not allocate more input memory"
 msgstr ""
 
-#: io.c:2965 io.c:3038
+#: io.c:3020 io.c:3093
 #, c-format
 msgid "error reading input file `%s': %s"
 msgstr "fejl ved l�sning af inddatafilen \"%s\": %s"
 
-#: io.c:3163
+#: io.c:3218
 msgid "multicharacter value of `RS' is a gawk extension"
 msgstr "flertegnsv�rdien af \"RS\" er en gawk-udvidelse"
 
-#: main.c:351
+#: main.c:304
+msgid "out of memory"
+msgstr "slut p� hukommelsen"
+
+#: main.c:373
 msgid "`-m[fr]' option irrelevant in gawk"
 msgstr "\"-m[fr]\"-flaget er irrelevant i gawk"
 
-#: main.c:353
+#: main.c:375
 msgid "-m option usage: `-m[fr] nnn'"
 msgstr "-m-flagets brug: \"-m[fr] nnn\""
 
-#: main.c:370
+#: main.c:392
 #, c-format
 msgid "%s: option `-W %s' unrecognized, ignored\n"
 msgstr "%s: flaget \"-W %s\" ukendt, ignoreret\n"
 
-#: main.c:407
+#: main.c:433
 msgid "empty argument to `--source' ignored"
 msgstr "tomt argument til \"--source\" ignoreret"
 
-#: main.c:480
+#: main.c:487
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: flaget kr�ver et argument -- %c\n"
+
+#: main.c:506
 msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'"
 msgstr "milj�variablen \"POSIXLY_CORRECT\" sat: aktiverer \"--posix\""
 
-#: main.c:486
+#: main.c:512
 msgid "`--posix' overrides `--traditional'"
 msgstr "\"--posix\" tilsides�tter \"--traditional\""
 
-#: main.c:497
+#: main.c:523
 msgid "`--posix'/`--traditional' overrides `--non-decimal-data'"
 msgstr "\"--posix\"/\"--traditional\" tilsides�tter \"--non-decimal-data\""
 
-#: main.c:501
+#: main.c:527
 #, fuzzy, c-format
 msgid "running %s setuid root may be a security problem"
 msgstr "at k�re %s setuid root kan v�re et sikkerhedsproblem"
 
-#: main.c:542
+#: main.c:568
 #, fuzzy, c-format
 msgid "can't set binary mode on stdin (%s)"
 msgstr "kan ikke s�tte tilstand p� standard ind (%s)"
 
-#: main.c:545
+#: main.c:571
 #, fuzzy, c-format
 msgid "can't set binary mode on stdout (%s)"
 msgstr "kan ikke s�tte tilstand p� standard ud (%s)"
 
-#: main.c:547
+#: main.c:573
 #, fuzzy, c-format
 msgid "can't set binary mode on stderr (%s)"
 msgstr "kan ikke s�tte tilstand p� standard fejl (%s)"
 
-#: main.c:586
+#: main.c:612
 msgid "no program text at all!"
 msgstr "ingen programtekst overhovedet!"
 
-#: main.c:690
+#: main.c:716
 #, c-format
 msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n"
 msgstr "Brug: %s [POSIX- eller GNU-stilflag] -f progfil [--] fil ...\n"
 
-#: main.c:692
+#: main.c:718
 #, c-format
 msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n"
 msgstr "Brug: %s [POSIX- eller GNU-stilflag] %cprogram%c fil ...\n"
 
-#: main.c:697
+#: main.c:723
 msgid "POSIX options:\t\tGNU long options:\n"
 msgstr "POSIX-flag:\t\tGNU lange flag:\n"
 
-#: main.c:698
+#: main.c:724
 msgid "\t-f progfile\t\t--file=progfile\n"
 msgstr "\t-f progfil\t\t--file=progfil\n"
 
-#: main.c:699
+#: main.c:725
 msgid "\t-F fs\t\t\t--field-separator=fs\n"
 msgstr "\t-F fs\t\t\t--field-separator=fs\n"
 
-#: main.c:700
+#: main.c:726
 msgid "\t-v var=val\t\t--assign=var=val\n"
 msgstr "\t-v var=v�rdi\t\t--assign=var=v�rdi\n"
 
-#: main.c:701
+#: main.c:727
 msgid "\t-m[fr] val\n"
 msgstr "\t-m[fr] v�rdi\n"
 
-#: main.c:702
+#: main.c:728
+msgid "\t-O\t\t\t--optimize\n"
+msgstr ""
+
+#: main.c:729
 msgid "\t-W compat\t\t--compat\n"
 msgstr "\t-W compat\t\t--compat\n"
 
-#: main.c:703
+#: main.c:730
 msgid "\t-W copyleft\t\t--copyleft\n"
 msgstr "\t-W copyleft\t\t--copyleft\n"
 
-#: main.c:704
+#: main.c:731
 msgid "\t-W copyright\t\t--copyright\n"
 msgstr "\t-W copyright\t\t--copyright\n"
 
-#: main.c:705
+#: main.c:732
 msgid "\t-W dump-variables[=file]\t--dump-variables[=file]\n"
 msgstr "\t-W dump-variables[=fil]\t--dump-variables[=fil]\n"
 
-#: main.c:706
+#: main.c:733
 #, fuzzy
 msgid "\t-W exec=file\t\t--exec=file\n"
 msgstr "\t-W profile[=fil]\t--profile[=fil]\n"
 
-#: main.c:707
+#: main.c:734
 msgid "\t-W gen-po\t\t--gen-po\n"
 msgstr "\t-W gen-po\t\t--gen-po\n"
 
-#: main.c:708
+#: main.c:735
 msgid "\t-W help\t\t\t--help\n"
 msgstr "\t-W help\t\t\t--help\n"
 
-#: main.c:709
+#: main.c:736
 msgid "\t-W lint[=fatal]\t\t--lint[=fatal]\n"
 msgstr "\t-W lint[=fatal]\t\t--lint[=fatal]\n"
 
-#: main.c:710
+#: main.c:737
 msgid "\t-W lint-old\t\t--lint-old\n"
 msgstr "\t-W lint-old\t\t--lint-old\n"
 
-#: main.c:711
+#: main.c:738
 msgid "\t-W non-decimal-data\t--non-decimal-data\n"
 msgstr "\t-W non-decimal-data\t--non-decimal-data\n"
 
-#: main.c:713
+#: main.c:740
 msgid "\t-W nostalgia\t\t--nostalgia\n"
 msgstr "\t-W nostalgia\t\t--nostalgia\n"
 
-#: main.c:716
+#: main.c:743
 msgid "\t-W parsedebug\t\t--parsedebug\n"
 msgstr "\t-W parsedebug\t\t--parsedebug\n"
 
-#: main.c:718
+#: main.c:745
 msgid "\t-W profile[=file]\t--profile[=file]\n"
 msgstr "\t-W profile[=fil]\t--profile[=fil]\n"
 
-#: main.c:719
+#: main.c:746
 msgid "\t-W posix\t\t--posix\n"
 msgstr "\t-W posix\t\t--posix\n"
 
-#: main.c:720
+#: main.c:747
 msgid "\t-W re-interval\t\t--re-interval\n"
 msgstr "\t-W re-interval\t\t--re-interval\n"
 
-#: main.c:721
+#: main.c:748
 msgid "\t-W source=program-text\t--source=program-text\n"
 msgstr "\t-W source=programtekst\t--source=programtekst\n"
 
-#: main.c:722
+#: main.c:749
 msgid "\t-W traditional\t\t--traditional\n"
 msgstr "\t-W traditional\t\t--traditional\n"
 
-#: main.c:723
+#: main.c:750
 msgid "\t-W usage\t\t--usage\n"
 msgstr "\t-W usage\t\t--usage\n"
 
-#: main.c:724
+#: main.c:751
 msgid "\t-W use-lc-numeric\t--use-lc-numeric\n"
 msgstr ""
 
-#: main.c:725
+#: main.c:752
 msgid "\t-W version\t\t--version\n"
 msgstr "\t-W version\t\t--version\n"
 
@@ -1591,7 +1634,7 @@
 #. for this application.  Please add _another line_ with the
 #. address for translation bugs.
 #. no-wrap
-#: main.c:734
+#: main.c:761
 #, fuzzy
 msgid ""
 "\n"
@@ -1602,22 +1645,22 @@
 "sektionen \"Reporting Problems and Bugs\" i den trykte version.\n"
 "Rapport�r synpunkter p� overs�ttelsen til <dansk@klid.dk>.\n"
 
-#: main.c:738
+#: main.c:765
 msgid ""
 "gawk is a pattern scanning and processing language.\n"
 "By default it reads standard input and writes standard output.\n"
 "\n"
 msgstr ""
 
-#: main.c:742
+#: main.c:769
 msgid ""
 "Examples:\n"
 "\tgawk '{ sum += $1 }; END { print sum }' file\n"
 "\tgawk -F: '{ print $1 }' /etc/passwd\n"
 msgstr ""
 
-#: main.c:762
-#, c-format
+#: main.c:789
+#, fuzzy, c-format
 msgid ""
 "Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
 "\n"
@@ -1631,11 +1674,11 @@
 "\n"
 "Dette program er frit programmel. Du kan distribuere det og/eller\n"
 "�ndre det under betingelserne i GNU General Public License, offentliggjort\n"
-"af Free Software Foundation, enten version 3 eller (hvis du vil)\n"
+"af Free Software Foundation, enten version 2 eller (hvis du vil)\n"
 "enhver senere version.\n"
 "\n"
 
-#: main.c:770
+#: main.c:797
 msgid ""
 "This program is distributed in the hope that it will be useful,\n"
 "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
@@ -1649,7 +1692,7 @@
 "General Public License for yderligere information.\n"
 "\n"
 
-#: main.c:781
+#: main.c:808
 #, fuzzy
 msgid ""
 "You should have received a copy of the GNU General Public License\n"
@@ -1657,48 +1700,58 @@
 msgstr ""
 "Du b�r have f�et en kopi af GNU General Public License sammen\n"
 "med dette program. Hvis ikke, s� skriv til Free Software Foundation,\n"
-"Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n"
+"Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n"
 
-#: main.c:816
+#: main.c:843
 msgid "-Ft does not set FS to tab in POSIX awk"
 msgstr "-Ft s�tter ikke FS til tab i POSIX-awk"
 
-#: main.c:1060
+#: main.c:1117
 #, c-format
 msgid ""
 "%s: `%s' argument to `-v' not in `var=value' form\n"
 "\n"
 msgstr ""
 
-#: main.c:1080
+#: main.c:1137
 #, c-format
 msgid "`%s' is not a legal variable name"
 msgstr ""
 
-#: main.c:1083
+#: main.c:1140
 #, c-format
 msgid "`%s' is not a variable name, looking for file `%s=%s'"
 msgstr ""
 
-#: main.c:1122
+#: main.c:1179
 msgid "floating point exception"
 msgstr "flydendetalsundtagelse"
 
-#: main.c:1129
+#: main.c:1186
 msgid "fatal error: internal error"
 msgstr "fatal fejl: intern fejl"
 
-#: main.c:1180
+#: main.c:1200
+#, fuzzy
+msgid "fatal error: internal error: segfault"
+msgstr "fatal fejl: intern fejl"
+
+#: main.c:1212
+#, fuzzy
+msgid "fatal error: internal error: stack overflow"
+msgstr "fatal fejl: intern fejl"
+
+#: main.c:1261
 #, c-format
 msgid "no pre-opened fd %d"
 msgstr "ingen for-�bnet fd %d"
 
-#: main.c:1187
+#: main.c:1268
 #, c-format
 msgid "could not pre-open /dev/null for fd %d"
 msgstr "kunne ikke for-�bne /dev/null for fd %d"
 
-#: main.c:1210 main.c:1219
+#: main.c:1291 main.c:1300
 #, c-format
 msgid "could not find groups: %s"
 msgstr "kunne ikke finde grupper: %s"
@@ -1724,24 +1777,31 @@
 msgid "can't convert string to float"
 msgstr "kan ikke konvertere en streng til flydende tal"
 
-#: node.c:406
+#: node.c:462
 msgid "backslash at end of string"
 msgstr "omvendt skr�streg i slutningen af strengen"
 
-#: node.c:548
+#: node.c:606
 #, fuzzy, c-format
 msgid "old awk does not support the `\\%c' escape sequence"
 msgstr "gamle awk underst�tter ikke operatoren \"**\""
 
-#: node.c:599
+#: node.c:657
 msgid "POSIX does not allow `\\x' escapes"
 msgstr "POSIX tillader ikke \"\\x\"-kontrolsekvenser"
 
-#: node.c:605
+#: node.c:663
 msgid "no hex digits in `\\x' escape sequence"
 msgstr "ingen heksadecimale cifre i \"\\x\"-kontrolsekvenser"
 
-#: node.c:639
+#: node.c:685
+#, c-format
+msgid ""
+"hex escape \\x%.*s of %d characters probably not interpreted the way you "
+"expect"
+msgstr ""
+
+#: node.c:700
 #, c-format
 msgid "escape sequence `\\%c' treated as plain `%c'"
 msgstr "kontrolsekvensen \"\\%c\" behandlet som kun \"%c\""
@@ -1751,31 +1811,31 @@
 msgid "%s %s `%s': could not set close-on-exec: (fcntl: %s)"
 msgstr "%s %s \"%s\": kunne ikke s�tte luk-ved-exec (fcntl: %s)"
 
-#: profile.c:92
+#: profile.c:93
 #, c-format
 msgid "could not open `%s' for writing: %s"
 msgstr "kunne ikke �bne \"%s\" for skrivning: %s"
 
-#: profile.c:450
+#: profile.c:453
 #, fuzzy, c-format
 msgid "internal error: %s with null vname"
 msgstr "intern fejl: Node_var med null vname"
 
-#: profile.c:514
+#: profile.c:517
 msgid "# treated internally as `delete'"
 msgstr ""
 
-#: profile.c:1147
+#: profile.c:1069
 #, c-format
 msgid "# this is a dynamically loaded extension function"
 msgstr ""
 
-#: profile.c:1178
+#: profile.c:1100
 #, c-format
 msgid "\t# gawk profile, created %s\n"
 msgstr "\t# gawkprofil, oprettet %s\n"
 
-#: profile.c:1181
+#: profile.c:1103
 #, c-format
 msgid ""
 "\t# BEGIN block(s)\n"
@@ -1784,7 +1844,7 @@
 "\t# BEGIN-blok\n"
 "\n"
 
-#: profile.c:1191
+#: profile.c:1113
 #, c-format
 msgid ""
 "\t# Rule(s)\n"
@@ -1793,7 +1853,7 @@
 "\t# Regel/regler\n"
 "\n"
 
-#: profile.c:1197
+#: profile.c:1119
 #, c-format
 msgid ""
 "\t# END block(s)\n"
@@ -1802,7 +1862,7 @@
 "\t# END-blok\n"
 "\n"
 
-#: profile.c:1217
+#: profile.c:1139
 #, c-format
 msgid ""
 "\n"
@@ -1811,149 +1871,124 @@
 "\n"
 "\t# Funktioner, listede alfabetisk\n"
 
-#: profile.c:1470
+#: profile.c:1400
 #, c-format
 msgid "unexpected type %s in prec_level"
 msgstr "uventet type %s i prec_level"
 
-#: regcomp.c:132
+#: profile.c:1500
+#, fuzzy, c-format
+msgid "Unknown node type %s in pp_var"
+msgstr "ukendt nodetype %d"
+
+#: regcomp.c:133
 msgid "Success"
 msgstr "Lykkedes"
 
-#: regcomp.c:135
+#: regcomp.c:136
 msgid "No match"
 msgstr "Mislykkedes"
 
-#: regcomp.c:138
+#: regcomp.c:139
 msgid "Invalid regular expression"
 msgstr "Ugyldigt regul�rt udtryk"
 
-#: regcomp.c:141
+#: regcomp.c:142
 msgid "Invalid collation character"
 msgstr "Ugyldigt kollationeringstegn"
 
-#: regcomp.c:144
+#: regcomp.c:145
 msgid "Invalid character class name"
 msgstr "Ugyldigt tegnklassenavn"
 
-#: regcomp.c:147
+#: regcomp.c:148
 msgid "Trailing backslash"
 msgstr "Efterf�lgende omvendt skr�streg"
 
-#: regcomp.c:150
+#: regcomp.c:151
 msgid "Invalid back reference"
 msgstr "Ugyldig bagudreference"
 
-#: regcomp.c:153
+#: regcomp.c:154
 msgid "Unmatched [ or [^"
 msgstr "Ubalanceret [ eller [^"
 
-#: regcomp.c:156
+#: regcomp.c:157
 msgid "Unmatched ( or \\("
 msgstr "Ubalanceret ( eller \\("
 
-#: regcomp.c:159
+#: regcomp.c:160
 msgid "Unmatched \\{"
 msgstr "Ubalanceret \\{"
 
-#: regcomp.c:162
+#: regcomp.c:163
 msgid "Invalid content of \\{\\}"
 msgstr "Ugyldigt indhold i \\{\\}"
 
-#: regcomp.c:165
+#: regcomp.c:166
 msgid "Invalid range end"
 msgstr "Ugyldig intervalslutning"
 
-#: regcomp.c:168
+#: regcomp.c:169
 msgid "Memory exhausted"
 msgstr "Hukommelsen opbrugt"
 
-#: regcomp.c:171
+#: regcomp.c:172
 msgid "Invalid preceding regular expression"
 msgstr "Ugyldigt foreg�ende regul�rt udtryk"
 
-#: regcomp.c:174
+#: regcomp.c:175
 msgid "Premature end of regular expression"
 msgstr "For tidligt slut p� regul�rt udtryk"
 
-#: regcomp.c:177
+#: regcomp.c:178
 msgid "Regular expression too big"
 msgstr "Regul�rt udtryk for stort"
 
-#: regcomp.c:180
+#: regcomp.c:181
 msgid "Unmatched ) or \\)"
 msgstr "Ubalanceret ) eller \\)"
 
-#: regcomp.c:664
+#: regcomp.c:700
 msgid "No previous regular expression"
 msgstr "Intet foreg�ende regul�rt udtryk"
 
-#~ msgid "remote port invalid in `%s'"
-#~ msgstr "fjernporten ugyldig i \"%s\""
-
-#~ msgid "function %s called\n"
-#~ msgstr "funktionen %s kaldt\n"
-
-#~ msgid "field %d in FIELDWIDTHS, must be > 0"
-#~ msgstr "felt %d i FIELDWIDTHS skal v�re > 0"
-
-#, fuzzy
-#~ msgid "or used as a variable or an array"
-#~ msgstr "kan ikke bruge funktionsnavnet \"%s\" som variabel eller vektor"
-
-#, fuzzy
-#~ msgid "substr: length %g is < 0"
-#~ msgstr "substr: l�ngden %g er <= 0"
+#~ msgid "%s: illegal option -- %c\n"
+#~ msgstr "%s: ikke tilladt flag -- %c\n"
 
 #~ msgid "delete: illegal use of variable `%s' as array"
 #~ msgstr "delete: ikke tilladt brug af variablen \"%s\" som vektor"
 
-#, fuzzy
-#~ msgid "%s: gvar_ref to %s\n"
-#~ msgstr "%s: vektorreference til %s\n"
-
 #~ msgid "asort: first argument is not an array"
 #~ msgstr "asort: f�rste argument er ikke en vektor"
 
 #~ msgid "asort: second argument is not an array"
 #~ msgstr "asort: andet argument er ikke en vektor"
 
-#, fuzzy
 #~ msgid ""
-#~ "attempt to use array parameter `%s' that was passed from global scalar `%"
-#~ "s'"
-#~ msgstr "fors�g p� at bruge skalarparameteren \"%s\" som en vektor"
+#~ "\n"
+#~ "To report bugs, see node `Bugs' in `gawk.info', which is\n"
+#~ msgstr ""
+#~ "\n"
+#~ "For at rapportere fejl, se knuden \"Bugs\" i \"gawk.info\" som findes i\n"
+
+#~ msgid "invalid syntax in name `%s' for variable assignment"
+#~ msgstr "ugyldig syntaks i navnet \"%s\" for variabeltildeling"
 
 #~ msgid "internal error: Node_var_array with null vname"
 #~ msgstr "intern fejl: Node_var_vektor med null vname"
 
-#~ msgid "BEGIN blocks must have an action part"
-#~ msgstr "BEGIN-blok skal have en handlingsdel"
-
-#~ msgid "`nextfile' used in BEGIN or END action"
-#~ msgstr "\"nextfile\" brugt i BEGIN- eller END-handling"
-
-#~ msgid "gsub third parameter is not a changeable object"
-#~ msgstr "gsub: tredje argument er ikke et �ndringsbart objekt"
-
 #~ msgid "or used in other expression context"
 #~ msgstr "eller brugt i andre udtrykssammenh�nge"
 
 #~ msgid "`%s' is a function, assignment is not allowed"
 #~ msgstr "\"%s\" er en funktion, tildeling er ikke tilladt"
 
-#~ msgid "internal error: file `%s', line %d\n"
-#~ msgstr "intern fejl: filen \"%s\", linje %d\n"
-
-#~ msgid ""
-#~ "\n"
-#~ "To report bugs, see node `Bugs' in `gawk.info', which is\n"
-#~ msgstr ""
-#~ "\n"
-#~ "For at rapportere fejl, se knuden \"Bugs\" i \"gawk.info\" som findes i\n"
+#~ msgid "BEGIN blocks must have an action part"
+#~ msgstr "BEGIN-blok skal have en handlingsdel"
 
-#~ msgid "invalid syntax in name `%s' for variable assignment"
-#~ msgstr "ugyldig syntaks i navnet \"%s\" for variabeltildeling"
+#~ msgid "`nextfile' used in BEGIN or END action"
+#~ msgstr "\"nextfile\" brugt i BEGIN- eller END-handling"
 
 #~ msgid "non-redirected `getline' undefined inside BEGIN or END action"
 #~ msgstr ""
@@ -1962,6 +1997,9 @@
 #~ msgid "fptr %x not in tokentab\n"
 #~ msgstr "fptr %x er ikke i tokentab\n"
 
+#~ msgid "gsub third parameter is not a changeable object"
+#~ msgstr "gsub: tredje argument er ikke et �ndringsbart objekt"
+
 #~ msgid "Unfinished \\ escape"
 #~ msgstr "Uafsluttet \\-kontrolsekvens"
 
@@ -1983,5 +2021,14 @@
 #~ msgid "Unbalanced )"
 #~ msgstr "Ubalanceret )"
 
-#~ msgid "out of memory"
-#~ msgstr "slut p� hukommelsen"
+#~ msgid "field %d in FIELDWIDTHS, must be > 0"
+#~ msgstr "felt %d i FIELDWIDTHS skal v�re > 0"
+
+#~ msgid "function %s called\n"
+#~ msgstr "funktionen %s kaldt\n"
+
+#~ msgid "remote port invalid in `%s'"
+#~ msgstr "fjernporten ugyldig i \"%s\""
+
+#~ msgid "internal error: file `%s', line %d\n"
+#~ msgstr "intern fejl: filen \"%s\", linje %d\n"
diff -urN gawk-3.1.6/po/de.po gawk-3.1.7/po/de.po
--- gawk-3.1.6/po/de.po	2007-09-30 22:33:27.000000000 +0200
+++ gawk-3.1.7/po/de.po	2009-07-21 23:23:44.000000000 +0300
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gawk 3.1.0\n"
 "Report-Msgid-Bugs-To: arnold@skeeve.com\n"
-"POT-Creation-Date: 2007-09-30 22:33+0200\n"
+"POT-Creation-Date: 2009-07-21 23:23+0300\n"
 "PO-Revision-Date: 2002-04-03 18:55+02:00\n"
 "Last-Translator: Christian Kirsch <ck@held.mind.de>\n"
 "Language-Team: German <de@li.org>\n"
@@ -74,339 +74,344 @@
 msgid "%s: array_ref to %s\n"
 msgstr "%s: Array-Referenz auf %s\n"
 
-#: awkgram.y:215
+#: awkgram.y:218
 #, fuzzy, c-format
 msgid "%s blocks must have an action part"
 msgstr "END-Bl�cke m�ssen einen Aktionsteil haben."
 
-#: awkgram.y:218
+#: awkgram.y:221
 #, fuzzy
 msgid "each rule must have a pattern or an action part"
 msgstr "END-Bl�cke m�ssen einen Aktionsteil haben."
 
-#: awkgram.y:254 awkgram.y:263
+#: awkgram.y:257 awkgram.y:266
 #, fuzzy
 msgid "old awk does not support multiple `BEGIN' or `END' rules"
 msgstr "Das alte awk erlaubt den Operator '**' nicht."
 
-#: awkgram.y:282
+#: awkgram.y:285
 #, c-format
 msgid "`%s' is a built-in function, it cannot be redefined"
 msgstr "'%s' ist eine eingebaute Funktion und kann nicht umdefiniert werden."
 
-#: awkgram.y:328
+#: awkgram.y:331
 #, fuzzy
 msgid "regexp constant `//' looks like a C++ comment, but is not"
 msgstr ""
 "Konstanter Regul�rer Ausdruck '/%s' sieht wie ein C-Kommentar aus, ist aber "
 "keiner."
 
-#: awkgram.y:331
+#: awkgram.y:334
 #, c-format
 msgid "regexp constant `/%s/' looks like a C comment, but is not"
 msgstr ""
 "Konstanter Regul�rer Ausdruck '/%s' sieht wie ein C-Kommentar aus, ist aber "
 "keiner."
 
-#: awkgram.y:358 awkgram.y:653
+#: awkgram.y:361 awkgram.y:656
 msgid "statement may have no effect"
 msgstr "Statement m�glicherweise ohne Effekt."
 
-#: awkgram.y:455 awkgram.y:479
+#: awkgram.y:458 awkgram.y:482
 #, fuzzy, c-format
 msgid "`%s' used in %s action"
 msgstr "'next' in BEGIN- oder END-Aktion benutzt."
 
-#: awkgram.y:470 awkgram.y:474
+#: awkgram.y:473 awkgram.y:477
 msgid "`nextfile' is a gawk extension"
 msgstr "'nextfile' ist eine gawk-Erweiterung."
 
-#: awkgram.y:489
+#: awkgram.y:492
 msgid "`return' used outside function context"
 msgstr "'return' au�erhalb einer Funktion benutzt."
 
-#: awkgram.y:531
+#: awkgram.y:534
 msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'"
 msgstr ""
 "Einfaches 'print' in BEGIN- oder END-Regel soll vermutlich 'print \"\"' sein."
 
-#: awkgram.y:547 awkgram.y:555
+#: awkgram.y:550 awkgram.y:558
 msgid "`delete array' is a gawk extension"
 msgstr "'delete array' ist eine gawk-Erweiterung."
 
-#: awkgram.y:569 awkgram.y:577
+#: awkgram.y:572 awkgram.y:580
 #, fuzzy
 msgid "`delete(array)' is a non-portable tawk extension"
 msgstr "'delete array' ist eine gawk-Erweiterung."
 
-#: awkgram.y:621
+#: awkgram.y:624
 #, c-format
 msgid "duplicate case values in switch body: %s"
 msgstr ""
 
-#: awkgram.y:631
+#: awkgram.y:634
 msgid "Duplicate `default' detected in switch body"
 msgstr ""
 
-#: awkgram.y:720
+#: awkgram.y:723
 msgid "multistage two-way pipelines don't work"
 msgstr "'multistage' Zweiwege-Pipes funktionieren nicht."
 
-#: awkgram.y:811
+#: awkgram.y:814
 msgid "regular expression on right of assignment"
 msgstr "Regul�rer Ausdruck auf der rechten Seite einer Zuweisung."
 
-#: awkgram.y:834
+#: awkgram.y:824
 msgid "regular expression on left of `~' or `!~' operator"
 msgstr "Regul�rer Ausdruck links vom '~'- oder '!~'-Operator."
 
-#: awkgram.y:840 awkgram.y:913
+#: awkgram.y:830 awkgram.y:903
 #, fuzzy
 msgid "old awk does not support the keyword `in' except after `for'"
 msgstr "Das alte awk erlaubt den Operator '**' nicht."
 
-#: awkgram.y:846
+#: awkgram.y:836
 msgid "regular expression on right of comparison"
 msgstr "Regul�rer Ausdruck rechts von einem Vergleich."
 
-#: awkgram.y:903
+#: awkgram.y:893
 msgid "non-redirected `getline' undefined inside END action"
 msgstr ""
 "Nicht-umgelenktes 'getline' ist innerhalb der END-Aktion nicht definiert."
 
-#: awkgram.y:914
+#: awkgram.y:904
 #, fuzzy
 msgid "old awk does not support multidimensional arrays"
 msgstr "Das alte awk erlaubt den Operator '**' nicht."
 
-#: awkgram.y:960
+#: awkgram.y:950
 msgid "call of `length' without parentheses is not portable"
 msgstr "Aufruf von 'length' ohne Klammern ist nicht portabel."
 
-#: awkgram.y:965
+#: awkgram.y:955
 msgid "call of `length' without parentheses is deprecated by POSIX"
 msgstr "Aufruf von 'length' ohne Klammern ist in POSIX-Mode veraltet."
 
-#: awkgram.y:1019
+#: awkgram.y:1009
 msgid "use of non-array as array"
 msgstr ""
 
-#: awkgram.y:1022
+#: awkgram.y:1012
 msgid "invalid subscript expression"
 msgstr "Ung�ltiger Index-Ausdruck."
 
-#: awkgram.y:1249
+#: awkgram.y:1257
 #, fuzzy
 msgid "unexpected newline or end of string"
 msgstr "Unerwartetes Zeilenende"
 
-#: awkgram.y:1366
+#: awkgram.y:1374
 msgid "empty program text on command line"
 msgstr "Kein Programmtext auf der Kommandozeile."
 
-#: awkgram.y:1422
+#: awkgram.y:1430
 #, c-format
 msgid "can't open source file `%s' for reading (%s)"
 msgstr "Kann Quelldatei '%s' nicht zum Lesen �ffnen (%s)."
 
-#: awkgram.y:1520
+#: awkgram.y:1528
 #, c-format
 msgid "can't read sourcefile `%s' (%s)"
 msgstr "Kann Quelldatei '%s' nicht lesen (%s)."
 
-#: awkgram.y:1528
+#: awkgram.y:1536
 #, c-format
 msgid "source file `%s' is empty"
 msgstr "Quelldatei '%s' ist leer."
 
-#: awkgram.y:1720 awkgram.y:1842 awkgram.y:1860 awkgram.y:2235 awkgram.y:2322
+#: awkgram.y:1728 awkgram.y:1850 awkgram.y:1868 awkgram.y:2243 awkgram.y:2330
 msgid "source file does not end in newline"
 msgstr "Quelldatei h�rt nicht mit Zeilenende auf."
 
-#: awkgram.y:1782
+#: awkgram.y:1790
 msgid "unterminated regexp ends with `\\' at end of file"
 msgstr ""
 "Nicht-beendeter Regul�rer Ausdruck (h�rt mit '\\' auf) am Ende der Datei."
 
-#: awkgram.y:1806
+#: awkgram.y:1814
 #, c-format
 msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk"
 msgstr ""
 
-#: awkgram.y:1810
+#: awkgram.y:1818
 #, c-format
 msgid "tawk regex modifier `/.../%c' doesn't work in gawk"
 msgstr ""
 
-#: awkgram.y:1817
+#: awkgram.y:1825
 msgid "unterminated regexp"
 msgstr "Nicht-beendeter Regul�rer Ausdruck"
 
-#: awkgram.y:1820
+#: awkgram.y:1828
 msgid "unterminated regexp at end of file"
 msgstr "Nicht-beendeter Regul�rer Ausdruck am Dateiende."
 
-#: awkgram.y:1889
+#: awkgram.y:1897
 msgid "use of `\\ #...' line continuation is not portable"
 msgstr ""
 "Die Verwendung von '\\#...' zur Fortsetzung von Zeilen ist nicht portabel."
 
-#: awkgram.y:1902
+#: awkgram.y:1910
 msgid "backslash not last character on line"
 msgstr "Backslash ist nicht letztes Zeichen auf der Zeile."
 
-#: awkgram.y:1947
+#: awkgram.y:1955
 msgid "POSIX does not allow operator `**='"
 msgstr "POSIX erlaubt den Operator '**=' nicht."
 
-#: awkgram.y:1949
+#: awkgram.y:1957
 msgid "old awk does not support operator `**='"
 msgstr "Das alte awk erlaubt den Operator '**=' nicht."
 
-#: awkgram.y:1958
+#: awkgram.y:1966
 msgid "POSIX does not allow operator `**'"
 msgstr "POSIX erlaubt den Operator '**' nicht."
 
-#: awkgram.y:1960
+#: awkgram.y:1968
 msgid "old awk does not support operator `**'"
 msgstr "Das alte awk erlaubt den Operator '**' nicht."
 
-#: awkgram.y:1991
+#: awkgram.y:1999
 msgid "operator `^=' is not supported in old awk"
 msgstr "Das alte awk kennt den Operator '^=' nicht."
 
-#: awkgram.y:1999
+#: awkgram.y:2007
 msgid "operator `^' is not supported in old awk"
 msgstr "Das alte awk kennt den Operator '^' nicht."
 
-#: awkgram.y:2083 awkgram.y:2098
+#: awkgram.y:2091 awkgram.y:2106
 msgid "unterminated string"
 msgstr "Nicht-beendeter String"
 
-#: awkgram.y:2283
+#: awkgram.y:2291
 #, c-format
 msgid "invalid char '%c' in expression"
 msgstr "Ung�ltiges Zeichen '%c' in einem Ausdruck."
 
-#: awkgram.y:2331
+#: awkgram.y:2339
 #, c-format
 msgid "`%s' is a gawk extension"
 msgstr "'%s' ist eine gawk-Erweiterung"
 
-#: awkgram.y:2334
+#: awkgram.y:2342
 #, c-format
 msgid "`%s' is a Bell Labs extension"
 msgstr "'%s' ist eine Erweiterung der Bell Labs."
 
-#: awkgram.y:2337
+#: awkgram.y:2345
 #, c-format
 msgid "POSIX does not allow `%s'"
 msgstr "POSIX gestattet '%s' nicht."
 
-#: awkgram.y:2341
+#: awkgram.y:2349
 #, c-format
 msgid "`%s' is not supported in old awk"
 msgstr "Das alte awk gestattet '%s' nicht."
 
-#: awkgram.y:2367
+#: awkgram.y:2375
 msgid "`goto' considered harmful!\n"
 msgstr "'goto' gilt als schlechter Stil!\n"
 
-#: awkgram.y:2429
+#: awkgram.y:2437
 #, c-format
 msgid "%d is invalid as number of arguments for %s"
 msgstr "Unzul�ssige Argumentzahl %d f�r %s."
 
-#: awkgram.y:2448 awkgram.y:2451
+#: awkgram.y:2456 awkgram.y:2459
 msgid "match: third argument is a gawk extension"
 msgstr "match: Das dritte Argument ist eine gawk-Erweiterung."
 
-#: awkgram.y:2464
+#: awkgram.y:2472
 #, c-format
 msgid "%s: string literal as last arg of substitute has no effect"
 msgstr "%s: Ein String als letztes Argument von substitute hat keinen Effekt."
 
-#: awkgram.y:2467
+#: awkgram.y:2475
 #, fuzzy, c-format
 msgid "%s third parameter is not a changeable object"
 msgstr "Der dritte Parameter von sub ist ein unver�nderliches Objekt."
 
-#: awkgram.y:2494 awkgram.y:2497
+#: awkgram.y:2502 awkgram.y:2505
 msgid "close: second argument is a gawk extension"
 msgstr "close: Das zweite Argument ist eine gawk-Erweiterung."
 
-#: awkgram.y:2507
+#: awkgram.y:2515
 msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore"
 msgstr ""
 "Fehlerhafte Verwendung von dcgettext(_\"...\"): \n"
 "Entfernen Sie den f�hrenden Unterstrich."
 
-#: awkgram.y:2522
+#: awkgram.y:2530
 #, fuzzy
 msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore"
 msgstr ""
 "Fehlerhafte Verwendung von dcgettext(_\"...\"): \n"
 "Entfernen Sie den f�hrenden Unterstrich."
 
-#: awkgram.y:2594
+#: awkgram.y:2602
 #, c-format
 msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d"
 msgstr "Funktion '%s': Parameter #%d, '%s' wiederholt Parameter #%d."
 
-#: awkgram.y:2627
+#: awkgram.y:2635
 #, c-format
 msgid "function `%s': parameter `%s' shadows global variable"
 msgstr "Funktion '%s': Parameter '%s' verdeckt eine globale Variable."
 
-#: awkgram.y:2739
+#: awkgram.y:2747
 #, c-format
 msgid "could not open `%s' for writing (%s)"
 msgstr "Kann '%s' nicht zum Schreiben �ffnen (%s)."
 
-#: awkgram.y:2740 profile.c:94
+#: awkgram.y:2748 profile.c:95
 msgid "sending profile to standard error"
 msgstr "Schicke Profile auf Stadard-Fehlerausgabe."
 
-#: awkgram.y:2772
+#: awkgram.y:2780
 #, c-format
 msgid "%s: close failed (%s)"
 msgstr "%s: close gescheitert (%s)."
 
-#: awkgram.y:2893
+#: awkgram.y:2901
 msgid "shadow_funcs() called twice!"
 msgstr "shadow_funcs() zweimal aufgerufen!"
 
-#: awkgram.y:2920
+#: awkgram.y:2928
 msgid "there were shadowed variables."
 msgstr ""
 
-#: awkgram.y:2993
+#: awkgram.y:3001
 #, c-format
 msgid "function `%s': can't use function name as parameter name"
 msgstr "Funktion '%s': Kann Funktionsnamen nicht als Parameternamen benutzen."
 
-#: awkgram.y:3003
+#: awkgram.y:3004
+#, fuzzy, c-format
+msgid "function `%s': can't use special variable `%s' as a function parameter"
+msgstr "Funktion '%s': Kann Funktionsnamen nicht als Parameternamen benutzen."
+
+#: awkgram.y:3014
 #, c-format
 msgid "function name `%s' previously defined"
 msgstr "Funktion '%s' ist bereits definiert."
 
-#: awkgram.y:3154 awkgram.y:3160
+#: awkgram.y:3165 awkgram.y:3171
 #, c-format
 msgid "function `%s' called but never defined"
 msgstr "Aufgerufene funktion '%s' ist nirgends definiert."
 
-#: awkgram.y:3163
+#: awkgram.y:3174
 #, c-format
 msgid "function `%s' defined but never called"
 msgstr "Funktion '%s' wird nirgends aufgerufen."
 
-#: awkgram.y:3190
+#: awkgram.y:3201
 #, c-format
 msgid "regexp constant for parameter #%d yields boolean value"
 msgstr ""
 "Konstanter Regul�rer Ausdruck f�r Parameter #%d ergibt einen logischen Wert."
 
-#: awkgram.y:3234
+#: awkgram.y:3245
 #, fuzzy, c-format
 msgid ""
 "function `%s' called with space between name and `(',\n"
@@ -415,201 +420,229 @@
 "Funktion '%s' mit Leerzeichen zwischen Name und '(' aufgerufen, \n"
 "%s"
 
-#: builtin.c:119
+#: awkgram.y:3667 eval.c:1394
+#, c-format
+msgid "division by zero attempted in `%%'"
+msgstr "Division durch Null versucht in '%%'."
+
+#: builtin.c:122
 #, c-format
 msgid "%s to \"%s\" failed (%s)"
 msgstr "%s to \"%s\" fehlgeschlagen (%s)"
 
-#: builtin.c:120
+#: builtin.c:123
 msgid "standard output"
 msgstr "Standardausgabe"
 
-#: builtin.c:121
+#: builtin.c:124
 msgid "reason unknown"
 msgstr "Unbekannte Ursache"
 
-#: builtin.c:134
+#: builtin.c:137
 msgid "exp: received non-numeric argument"
 msgstr "exp: Argument ist keine Zahl."
 
-#: builtin.c:140
+#: builtin.c:143
 #, c-format
 msgid "exp: argument %g is out of range"
 msgstr "exp: Argument %g au�erhalb des g�ltigen Zahlenbereichs."
 
-#: builtin.c:198
+#: builtin.c:201
 #, c-format
 msgid "fflush: cannot flush: pipe `%s' opened for reading, not writing"
 msgstr ""
-"fflush: Leeren der Puffer nicht m�glich, Pipe �%s� ist nur zum Lesen "
-"ge�ffnet."
+"fflush: Leeren der Puffer nicht m�glich, Pipe �%s� ist nur zum Lesen ge�ffnet."
 
-#: builtin.c:201
+#: builtin.c:204
 #, c-format
 msgid "fflush: cannot flush: file `%s' opened for reading, not writing"
 msgstr ""
 "fflush: Leeren der Puffer nicht m�glich, Datei �%s� ist nur zum Lesen "
 "ge�ffnet."
 
-#: builtin.c:213
+#: builtin.c:216
 #, c-format
 msgid "fflush: `%s' is not an open file, pipe or co-process"
 msgstr "fflush: �%s� ist keine ge�ffnete Datei, Pipe oder Prozess."
 
-#: builtin.c:306
+#: builtin.c:310
 msgid "index: received non-string first argument"
 msgstr "index: Erstes Argument ist kein String."
 
-#: builtin.c:308
+#: builtin.c:312
 msgid "index: received non-string second argument"
 msgstr "index: Zweites Argument ist kein string."
 
-#: builtin.c:423
+#: builtin.c:434
 msgid "int: received non-numeric argument"
 msgstr "Argument ist keine Zahl."
 
-#: builtin.c:448
+#: builtin.c:464
 #, fuzzy
 msgid "`length(array)' is a gawk extension"
 msgstr "'delete array' ist eine gawk-Erweiterung."
 
-#: builtin.c:458
+#: builtin.c:473
+msgid "length: untyped argument will be forced to scalar"
+msgstr ""
+
+#: builtin.c:477
 msgid "length: received non-string argument"
 msgstr "length: Argument ist kein String."
 
-#: builtin.c:483
+#: builtin.c:508
 msgid "log: received non-numeric argument"
 msgstr "log: Argument ist keine Zahl."
 
-#: builtin.c:486
+#: builtin.c:511
 #, c-format
 msgid "log: received negative argument %g"
 msgstr "log: Negatives Argument %g."
 
-#: builtin.c:693 builtin.c:696
+#: builtin.c:719 builtin.c:722
 msgid "must use `count$' on all formats or none"
 msgstr ""
 
-#: builtin.c:799
+#: builtin.c:783
+#, c-format
+msgid "field width is ignored for `%%%%' specifier"
+msgstr ""
+
+#: builtin.c:785
+#, c-format
+msgid "precision is ignored for `%%%%' specifier"
+msgstr ""
+
+#: builtin.c:787
+#, c-format
+msgid "field width and precision are ignored for `%%%%' specifier"
+msgstr ""
+
+#: builtin.c:838
 msgid "`$' is not permitted in awk formats"
 msgstr "�$� ist in awk-Formaten nicht zul�ssig."
 
-#: builtin.c:805
+#: builtin.c:844
 msgid "arg count with `$' must be > 0"
 msgstr "Argumentnummer bei �$� muss > 0 sein."
 
-#: builtin.c:807
+#: builtin.c:846
 #, fuzzy, c-format
 msgid "arg count %ld greater than total number of supplied arguments"
 msgstr "Argumentnummer %d ist gr��er als Anzahl angegebener Argumente."
 
-#: builtin.c:809
+#: builtin.c:848
 msgid "`$' not permitted after period in format"
 msgstr "�$� nach Punkt in Formatangabe nicht zul�ssig."
 
-#: builtin.c:822
+#: builtin.c:861
 msgid "no `$' supplied for positional field width or precision"
 msgstr "�$� fehlt in positionsabh�ngiger Feldbreite oder Genauigkeit."
 
-# 
-#: builtin.c:888
+#
+#: builtin.c:927
 msgid "`l' is meaningless in awk formats; ignored"
 msgstr "�l� ist in awk-Formaten bedeutungslos, ignoriert."
 
-#: builtin.c:892
+#: builtin.c:931
 msgid "`l' is not permitted in POSIX awk formats"
 msgstr "�l� in POSIX-awk-Formaten nicht zul�ssig."
 
-#: builtin.c:903
+#: builtin.c:942
 msgid "`L' is meaningless in awk formats; ignored"
 msgstr "�L� ist in awk-Formaten bedeutungslos, ignoriert."
 
-#: builtin.c:907
+#: builtin.c:946
 msgid "`L' is not permitted in POSIX awk formats"
 msgstr "�L� in POSIX-awk-Formaten nicht zul�ssig."
 
-#: builtin.c:918
+#: builtin.c:957
 msgid "`h' is meaningless in awk formats; ignored"
 msgstr "�h� ist in awk-Formaten bedeutungslos, ignoriert."
 
-#: builtin.c:922
+#: builtin.c:961
 msgid "`h' is not permitted in POSIX awk formats"
 msgstr "�h� in POSIX-awk-Formaten nicht zul�ssig.<"
 
-#: builtin.c:1182
+#: builtin.c:1236
 #, c-format
 msgid "[s]printf: value %g is out of range for `%%%c' format"
 msgstr ""
 
-#: builtin.c:1266
+#: builtin.c:1316
+#, c-format
+msgid "ignoring unknown format specifier character `%c': no argument converted"
+msgstr ""
+
+#: builtin.c:1322
 msgid "not enough arguments to satisfy format string"
 msgstr "Nicht gen�gend Argumente f�r Formatangabe."
 
-#: builtin.c:1268
+#: builtin.c:1324
 msgid "^ ran out for this one"
 msgstr "^ ran out for this one"
 
-#: builtin.c:1274
+#: builtin.c:1330
 msgid "[s]printf: format specifier does not have control letter"
 msgstr "[s]printf: Format-Specifier hat keinen Controlcode."
 
-#: builtin.c:1277
+#: builtin.c:1333
 msgid "too many arguments supplied for format string"
 msgstr "Zu viele Argumente f�r Formatstring."
 
-#: builtin.c:1352 builtin.c:1355
+#: builtin.c:1408 builtin.c:1411
 msgid "printf: no arguments"
 msgstr "printf: Keine Argumente"
 
-#: builtin.c:1379
+#: builtin.c:1435
 msgid "sqrt: received non-numeric argument"
 msgstr "sqrt: Argument ist keine Zahl."
 
-#: builtin.c:1383
+#: builtin.c:1439
 #, c-format
 msgid "sqrt: called with negative argument %g"
 msgstr "sqrt: Argument %g ist negativ."
 
-#: builtin.c:1407
+#: builtin.c:1463
 #, c-format
 msgid "substr: start index %g is invalid, using 1"
 msgstr "substr: Start-Index %g ist ung�ltig, 1 wird benutzt."
 
-#: builtin.c:1412
+#: builtin.c:1468
 #, c-format
 msgid "substr: non-integer start index %g will be truncated"
 msgstr "substr: Start-Wert %g wird abgeschnitten."
 
-#: builtin.c:1431
+#: builtin.c:1494
 #, fuzzy, c-format
 msgid "substr: length %g is not >= 1"
 msgstr "substr: L�nge %g ist kleiner oder gleich 0."
 
-#: builtin.c:1433
+#: builtin.c:1496
 #, fuzzy, c-format
 msgid "substr: length %g is not >= 0"
 msgstr "substr: L�nge %g ist kleiner oder gleich 0."
 
-#: builtin.c:1440
+#: builtin.c:1503
 #, c-format
 msgid "substr: non-integer length %g will be truncated"
 msgstr "substr: L�nge %g wird abgeschnitten."
 
-#: builtin.c:1445
+#: builtin.c:1508
 #, c-format
 msgid "substr: length %g too big for string indexing, truncating to %g"
 msgstr ""
 
-#: builtin.c:1457
+#: builtin.c:1520
 msgid "substr: source string is zero length"
 msgstr "substr: String ist leer."
 
-#: builtin.c:1473
+#: builtin.c:1536
 #, fuzzy, c-format
 msgid "substr: start index %g is past end of string"
 msgstr "substr: Start-Wert %d liegt hinter dem Ende des Strings."
 
-#: builtin.c:1481
+#: builtin.c:1544
 #, fuzzy, c-format
 msgid ""
 "substr: length %g at start index %g exceeds length of first argument (%lu)"
@@ -617,272 +650,273 @@
 "substr: L�nge %d am Start-Wert %d �berschreitet L�nge des ersten Arguments (%"
 "d)."
 
-#: builtin.c:1558
+#: builtin.c:1621
 #, fuzzy
 msgid "strftime: received non-string first argument"
 msgstr "strftime: Erstes Argument ist kein String."
 
-#: builtin.c:1564
+#: builtin.c:1627
 msgid "strftime: received empty format string"
 msgstr "strftime: Format-String ist leer."
 
-#: builtin.c:1573
+#: builtin.c:1636
 #, fuzzy
 msgid "strftime: received non-numeric second argument"
 msgstr "strftime. Zweites Argument ist keine Zahl."
 
-#: builtin.c:1650
+#: builtin.c:1713
 msgid "mktime: received non-string argument"
 msgstr "mktime: Argument ist kein String."
 
-#: builtin.c:1695
+#: builtin.c:1758
 #, fuzzy
 msgid "system: received non-string argument"
 msgstr "system: Argument ist kein String."
 
-#: builtin.c:1816 eval.c:2041
+#: builtin.c:1879 eval.c:2145
 #, fuzzy, c-format
 msgid "reference to uninitialized field `$%d'"
 msgstr "Referenz auf die nicht-initialisierte Variable '%s'."
 
-#: builtin.c:1921
+#: builtin.c:1984
 #, fuzzy
 msgid "tolower: received non-string argument"
 msgstr "tolower: Argument ist kein String."
 
-#: builtin.c:1951
+#: builtin.c:2014
 #, fuzzy
 msgid "toupper: received non-string argument"
 msgstr "toupper: Argument ist kein String."
 
-#: builtin.c:1984
+#: builtin.c:2047
 msgid "atan2: received non-numeric first argument"
 msgstr "atan2: Erstes Argument ist keine Zahl."
 
-#: builtin.c:1986
+#: builtin.c:2049
 msgid "atan2: received non-numeric second argument"
 msgstr "atan2: Zweites Argument ist keine Zahl."
 
-#: builtin.c:2005
+#: builtin.c:2068
 msgid "sin: received non-numeric argument"
 msgstr "sin: Argument istk eine Zahl."
 
-#: builtin.c:2021
+#: builtin.c:2084
 msgid "cos: received non-numeric argument"
 msgstr "cos: Argument ist keine Zahl."
 
-#: builtin.c:2071
+#: builtin.c:2137
 msgid "srand: received non-numeric argument"
 msgstr "srand: Argument ist keine Zahl."
 
-#: builtin.c:2106
+#: builtin.c:2172
 msgid "match: third argument is not an array"
 msgstr "match: Drittes Argument ist kein Array."
 
-#: builtin.c:2650
+#: builtin.c:2719
+#, fuzzy
 msgid "gensub: third argument of 0 treated as 1"
 msgstr "gensub: Drittes Argument 0 als 1 interpretiert"
 
-#: builtin.c:2766
+#: builtin.c:2835
 msgid "lshift: received non-numeric first argument"
 msgstr "lshift: Erstes Argument ist keine Zahl."
 
-#: builtin.c:2768
+#: builtin.c:2837
 #, fuzzy
 msgid "lshift: received non-numeric second argument"
-msgstr "strftime. Zweites Argument ist keine Zahl."
+msgstr "atan2: Zweites Argument ist keine Zahl."
 
-#: builtin.c:2774
+#: builtin.c:2843
 #, c-format
 msgid "lshift(%lf, %lf): negative values will give strange results"
 msgstr ""
 "lshift(%lf, %lf): Negative Werte werden merkw�rdige Ergebnisse liefern."
 
-#: builtin.c:2776
+#: builtin.c:2845
 #, c-format
 msgid "lshift(%lf, %lf): fractional values will be truncated"
 msgstr "lshift(%lf, %lf): Dezimalteil wird abgeschnitten."
 
-#: builtin.c:2778
+#: builtin.c:2847
 #, c-format
 msgid "lshift(%lf, %lf): too large shift value will give strange results"
 msgstr ""
 "lshift(%lf, %lf): Zu gro�e Shift-Werte werden merkw�rdige Ergebnisse liefern."
 
-#: builtin.c:2804
+#: builtin.c:2873
 msgid "rshift: received non-numeric first argument"
 msgstr "rshift: Erstes Argument ist keine Zahl."
 
-#: builtin.c:2806
+#: builtin.c:2875
 #, fuzzy
 msgid "rshift: received non-numeric second argument"
-msgstr "strftime. Zweites Argument ist keine Zahl."
+msgstr "atan2: Zweites Argument ist keine Zahl."
 
-#: builtin.c:2812
+#: builtin.c:2881
 #, c-format
 msgid "rshift(%lf, %lf): negative values will give strange results"
 msgstr ""
 "rshift (%lf, %lf): Negative Werte werden merkw�rdige Ergebnisse liefern."
 
-#: builtin.c:2814
+#: builtin.c:2883
 #, c-format
 msgid "rshift(%lf, %lf): fractional values will be truncated"
 msgstr "rshift(%lf, %lf): Dezimalteil wird abgeschnitten."
 
-#: builtin.c:2816
+#: builtin.c:2885
 #, c-format
 msgid "rshift(%lf, %lf): too large shift value will give strange results"
 msgstr ""
 "rshift(%lf, %lf): Zu gro�e Shift-Werte werden merkw�rdige Ergebnisse liefern."
 
-#: builtin.c:2842
+#: builtin.c:2911
 msgid "and: received non-numeric first argument"
 msgstr "and: Erstes Argument ist keine Zahl."
 
-#: builtin.c:2844
+#: builtin.c:2913
 #, fuzzy
 msgid "and: received non-numeric second argument"
 msgstr "atan2: Zweites Argument ist keine Zahl."
 
-#: builtin.c:2850
+#: builtin.c:2919
 #, c-format
 msgid "and(%lf, %lf): negative values will give strange results"
 msgstr "and(%lf, %lf): Negative Werte werden merkw�rdige Ergebnisse liefern."
 
-#: builtin.c:2852
+#: builtin.c:2921
 #, c-format
 msgid "and(%lf, %lf): fractional values will be truncated"
 msgstr "and(%lf, %lf): Dezimalteil wird abgeschnitten."
 
-#: builtin.c:2878
+#: builtin.c:2947
 msgid "or: received non-numeric first argument"
 msgstr "or: Erstes Argument ist keine Zahl."
 
-#: builtin.c:2880
+#: builtin.c:2949
 #, fuzzy
 msgid "or: received non-numeric second argument"
 msgstr "atan2: Zweites Argument ist keine Zahl."
 
-#: builtin.c:2886
+#: builtin.c:2955
 #, c-format
 msgid "or(%lf, %lf): negative values will give strange results"
 msgstr "or(%lf, %lf): Negative Werte werden merkw�rdige Ergebnisse liefern."
 
-#: builtin.c:2888
+#: builtin.c:2957
 #, c-format
 msgid "or(%lf, %lf): fractional values will be truncated"
 msgstr "or(%lf, %lf): Dezimalteil wird abgeschnitten."
 
-#: builtin.c:2914
+#: builtin.c:2983
 msgid "xor: received non-numeric first argument"
 msgstr "xor: Erstes Argument ist keine Zahl."
 
-#: builtin.c:2916
+#: builtin.c:2985
 #, fuzzy
 msgid "xor: received non-numeric second argument"
 msgstr "atan2: Zweites Argument ist keine Zahl."
 
-#: builtin.c:2922
+#: builtin.c:2991
 #, c-format
 msgid "xor(%lf, %lf): negative values will give strange results"
 msgstr "xor(%lf, %lf: Negative Werte werden merkw�rdige Ergebnisse liefern."
 
-#: builtin.c:2924
+#: builtin.c:2993
 #, c-format
 msgid "xor(%lf, %lf): fractional values will be truncated"
 msgstr "xor(%lf, %lf): Dezimalteil wird abgeschnitten."
 
-#: builtin.c:2948
+#: builtin.c:3017
 msgid "compl: received non-numeric argument"
 msgstr "compl: Erstes Argument ist keine Zahl."
 
-#: builtin.c:2954
+#: builtin.c:3023
 #, c-format
 msgid "compl(%lf): negative value will give strange results"
 msgstr "compl(%lf): Negativer Wert wird merkw�rdige Ergebnisse liefern."
 
-#: builtin.c:2956
+#: builtin.c:3025
 #, c-format
 msgid "compl(%lf): fractional value will be truncated"
 msgstr "compl(%lf): Dezimalteil wird abgeschnitten."
 
-#: builtin.c:3129
+#: builtin.c:3198
 #, c-format
 msgid "dcgettext: `%s' is not a valid locale category"
 msgstr "dcgettext: '%s' ist keine g�ltige Locale-Kategorie."
 
-#: eval.c:303
+#: eval.c:372
 #, c-format
 msgid "unknown nodetype %d"
 msgstr "Unbekannter Knotentyp %d"
 
-#: eval.c:353
+#: eval.c:422
 msgid "buffer overflow in genflags2str"
 msgstr "Puffer�berlauf in genflags2str."
 
-#: eval.c:385 eval.c:391 profile.c:817
+#: eval.c:454 eval.c:460 profile.c:781
 #, c-format
 msgid "attempt to use array `%s' in a scalar context"
 msgstr "Versuch, das Array '%s' in Skalarkontext zu verwenden."
 
-#: eval.c:733
+#: eval.c:802
 #, fuzzy, c-format
 msgid "for loop: array `%s' changed size from %ld to %ld during loop execution"
 msgstr ""
 "for-Schleife: Array '%s' �ndert Gr��se von %d zu %d innerhalb der Schleife."
 
-#: eval.c:754
+#: eval.c:823
 msgid "`break' outside a loop is not portable"
 msgstr "'break' au�erhalb einer Schleife ist nicht portabel."
 
-#: eval.c:758
+#: eval.c:827
 msgid "`break' outside a loop is not allowed"
 msgstr "'break' au�erhalb einer Schleife ist nicht zul�ssig."
 
-#: eval.c:775
+#: eval.c:844
 msgid "`continue' outside a loop is not portable"
 msgstr "'continue' au�erhalb einer Schleife ist nicht portabel."
 
-#: eval.c:779
+#: eval.c:848
 msgid "`continue' outside a loop is not allowed"
 msgstr "'continue' au�erhalb einer Schleife ist nicht zul�ssig."
 
-#: eval.c:813
+#: eval.c:882
 msgid "`next' cannot be called from a BEGIN rule"
 msgstr "'next' kann nicht in einer BEGIN-Regel benutzt werden."
 
-#: eval.c:815
+#: eval.c:884
 msgid "`next' cannot be called from an END rule"
 msgstr "'next' kann nicht in einer END-Regel benutzt werden."
 
-#: eval.c:824
+#: eval.c:893
 msgid "`nextfile' cannot be called from a BEGIN rule"
 msgstr "'nextfile' kann nicht in einer BEGIN-Regel benutzt werden."
 
-#: eval.c:826
+#: eval.c:895
 msgid "`nextfile' cannot be called from an END rule"
 msgstr "'nextfile' kann nicht in einer END-Regel benutzt werden."
 
-#: eval.c:875
+#: eval.c:952
 msgid "statement has no effect"
 msgstr "Anweisung hat keinen Effekt."
 
-#: eval.c:952 eval.c:1895
+#: eval.c:1029 eval.c:1999
 #, c-format
 msgid "can't use function name `%s' as variable or array"
 msgstr "Kann Funktion '%s' nicht als Variable oder Array verwenden."
 
-#: eval.c:959 eval.c:965
+#: eval.c:1036 eval.c:1042
 #, c-format
 msgid "reference to uninitialized argument `%s'"
 msgstr "Referenz auf nicht-initialisiertes Argument '%s'."
 
-#: eval.c:974 eval.c:1904
+#: eval.c:1051 eval.c:2008
 #, c-format
 msgid "reference to uninitialized variable `%s'"
 msgstr "Referenz auf die nicht-initialisierte Variable '%s'."
 
-#: eval.c:1120
+#: eval.c:1197
 msgid ""
 "concatenation: side effects in one expression have changed the length of "
 "another!"
@@ -890,44 +924,39 @@
 "Konkatenierung: Seiteneffekte in einem Ausdruck haben die L�nge des anderen\n"
 "ge�ndert!"
 
-#: eval.c:1202
+#: eval.c:1301
 msgid "assignment used in conditional context"
 msgstr "Zuweisung in einer Bedingung."
 
-#: eval.c:1280
+#: eval.c:1379
 msgid "division by zero attempted"
 msgstr "Division durch Null versucht."
 
-#: eval.c:1295
-#, c-format
-msgid "division by zero attempted in `%%'"
-msgstr "Division durch Null versucht in '%%'."
-
-#: eval.c:1310 profile.c:693
+#: eval.c:1409 profile.c:657
 #, c-format
 msgid "illegal type (%s) in tree_eval"
 msgstr "Illegaler Typ (%s) in tree_eval"
 
-#: eval.c:1473
+#: eval.c:1572
 msgid "division by zero attempted in `/='"
 msgstr "Division durch Null versucht in '/='."
 
-#: eval.c:1495
+#: eval.c:1594
 #, c-format
 msgid "division by zero attempted in `%%='"
 msgstr "Division durch Null versucht in '%%='."
 
-#: eval.c:1760
+#: eval.c:1859
 #, c-format
 msgid "function `%s' called with more arguments than declared"
 msgstr "Funktion '%s' mit zu vielen Argumenten aufgerufen."
 
-#: eval.c:1804
+#: eval.c:1904
 #, c-format
 msgid "function `%s' not defined"
 msgstr "Funktion '%s' ist nicht definiert."
 
-#: eval.c:1867
+#: eval.c:1971
 #, c-format
 msgid ""
 "\n"
@@ -938,43 +967,48 @@
 "\t# Funktion Aufruf-Stack\n"
 "\n"
 
-#: eval.c:1870
+#: eval.c:1974
 #, c-format
 msgid "\t# -- main --\n"
 msgstr "\t# -- main --\n"
 
-#: eval.c:2025
+#: eval.c:2129
 msgid "attempt to field reference from non-numeric value"
 msgstr "Nicht-numerischer Wert f�r Feldreferenz verwendet."
 
-#: eval.c:2027
+#: eval.c:2131
 msgid "attempt to reference from null string"
 msgstr "Referenz von einem Null-String"
 
-#: eval.c:2033
+#: eval.c:2137
 #, c-format
 msgid "attempt to access field %d"
 msgstr "Versuch des Zugriffs auf Feld %d."
 
-#: eval.c:2054 eval.c:2061 profile.c:914
+#: eval.c:2158 eval.c:2165 profile.c:836
 msgid "assignment is not allowed to result of builtin function"
 msgstr ""
 "Zuweisungen an das Ergebnis einer eingebauten Funktion sind nicht erlaubt."
 
-#: eval.c:2125
+#: eval.c:2229
 msgid "`IGNORECASE' is a gawk extension"
 msgstr "'IGNORECASE' ist eine gawk-Erweiterung"
 
-#: eval.c:2155
+#: eval.c:2258
 msgid "`BINMODE' is a gawk extension"
 msgstr "'BINMODE' ist eine gawk-Erweiterung."
 
-#: eval.c:2277
+#: eval.c:2316
+#, c-format
+msgid "BINMODE value `%s' is invalid, treated as 3"
+msgstr ""
+
+#: eval.c:2406
 #, c-format
 msgid "bad `%sFMT' specification `%s'"
 msgstr "Falsche '%sFMT'-Angabe '%s'"
 
-#: eval.c:2355
+#: eval.c:2484
 msgid "turning off `--lint' due to assignment to `LINT'"
 msgstr "'--lint' wird abgeschaltet, da 'LINT' gesetzt ist."
 
@@ -1049,555 +1083,563 @@
 msgid "NF set to negative value"
 msgstr ""
 
-#: field.c:823
+#: field.c:875
 msgid "split: second argument is not an array"
 msgstr "split: Zweites Argument ist kein Array."
 
-#: field.c:857
+#: field.c:909
 msgid "split: null string for third arg is a gawk extension"
 msgstr "split: Null-String als drittes Argument ist eine gawk-Erweiterung."
 
-#: field.c:909
+#: field.c:961
 msgid "`FIELDWIDTHS' is a gawk extension"
 msgstr "'FIELDWIDTHS' ist eine gawk-Erweiterung."
 
-#: field.c:939 field.c:953
+#: field.c:991 field.c:1005
 #, c-format
 msgid "invalid FIELDWIDTHS value, near `%s'"
 msgstr ""
 
-#: field.c:1036
+#: field.c:1088
 msgid "null string for `FS' is a gawk extension"
 msgstr "Null-String f�r 'FS' ist eine gawk-Erweiterung."
 
-#: field.c:1040
+#: field.c:1092
 #, fuzzy
 msgid "old awk does not support regexps as value of `FS'"
 msgstr "Das alte awk erlaubt den Operator '**' nicht."
 
-#: getopt.c:571 getopt.c:587
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
+#: getopt.c:570 getopt.c:586
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
 msgstr "%s: Option '%s' ist mehrdeutig.\n"
 
-#: getopt.c:620 getopt.c:624
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
+#: getopt.c:619 getopt.c:623
+#, fuzzy, c-format
+msgid "%s: option '--%s' doesn't allow an argument\n"
 msgstr "%s: Option '--%s' erlaubt kein Argument.\n"
 
-#: getopt.c:633 getopt.c:638
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
+#: getopt.c:632 getopt.c:637
+#, fuzzy, c-format
+msgid "%s: option '%c%s' doesn't allow an argument\n"
 msgstr "%s: Option '%c%s\" erlaubt kein Argument.\n"
 
-#: getopt.c:681 getopt.c:700 getopt.c:1016 getopt.c:1035
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
+#: getopt.c:680 getopt.c:699 getopt.c:1002 getopt.c:1021
+#, fuzzy, c-format
+msgid "%s: option '%s' requires an argument\n"
 msgstr "%s: Option '%s' erfordert ein Argument.\n"
 
-#: getopt.c:738 getopt.c:741
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
+#: getopt.c:737 getopt.c:740
+#, fuzzy, c-format
+msgid "%s: unrecognized option '--%s'\n"
 msgstr "%s: Unbekannte Option '--%s'.\n"
 
-#: getopt.c:749 getopt.c:752
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
+#: getopt.c:748 getopt.c:751
+#, fuzzy, c-format
+msgid "%s: unrecognized option '%c%s'\n"
 msgstr "%s: Unbekannte Option '%c%s'.\n"
 
-#: getopt.c:804 getopt.c:807
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: Illegale Option -- %c.\n"
-
-#: getopt.c:813 getopt.c:816
-#, c-format
-msgid "%s: invalid option -- %c\n"
+#: getopt.c:800 getopt.c:803
+#, fuzzy, c-format
+msgid "%s: invalid option -- '%c'\n"
 msgstr "%s: Ung�ltige Option -- %c.\n"
 
-#: getopt.c:868 getopt.c:884 getopt.c:1088 getopt.c:1106 main.c:461
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
+#: getopt.c:853 getopt.c:870 getopt.c:1073 getopt.c:1091
+#, fuzzy, c-format
+msgid "%s: option requires an argument -- '%c'\n"
 msgstr "%s Option erfordert ein Argument -- %c.\n"
 
-#: getopt.c:937 getopt.c:953
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
+#: getopt.c:923 getopt.c:939
+#, fuzzy, c-format
+msgid "%s: option '-W %s' is ambiguous\n"
 msgstr "%s: Option '-W %s' ist mehrdeutig.\n"
 
-#: getopt.c:977 getopt.c:995
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
+#: getopt.c:963 getopt.c:981
+#, fuzzy, c-format
+msgid "%s: option '-W %s' doesn't allow an argument\n"
 msgstr "%s. Option '-W %s' erlaubt kein Argument.\n"
 
-#: io.c:345
+#: io.c:322 io.c:352
 #, c-format
 msgid "cannot open file `%s' for reading (%s)"
 msgstr "Kann Datei '%s' nicht zum Lesen �ffnen (%s)."
 
-#: io.c:436
+#: io.c:443
 #, c-format
 msgid "close of fd %d (`%s') failed (%s)"
 msgstr "Schlie�en von Dateideskriptor %d ('%s') gescheitert (%s)."
 
-#: io.c:575
+#: io.c:583
 #, c-format
 msgid "invalid tree type %s in redirect()"
 msgstr "Ung�ltiger Tree-Typ %s in redirect()."
 
-#: io.c:581
+#: io.c:589
 #, c-format
 msgid "expression in `%s' redirection only has numeric value"
 msgstr "Ausdruck in '%s' Umlenkung hat nur einen numerischen Wert."
 
-#: io.c:587
+#: io.c:595
 #, c-format
 msgid "expression for `%s' redirection has null string value"
 msgstr "Ausdruck f�r '%s' Umlenkung ist ein leerer String."
 
-#: io.c:592
+#: io.c:600
 #, c-format
 msgid "filename `%s' for `%s' redirection may be result of logical expression"
 msgstr ""
 "Dateiname '%s' f�r '%s' Umlenkung kann Ergebnis eines logischen Ausdrucks "
 "sein."
 
-#: io.c:630
+#: io.c:638
 #, c-format
 msgid "unnecessary mixing of `>' and `>>' for file `%.*s'"
 msgstr "Unn�tige Kombination von '>' und '>>' f�r Datei '%.*s'."
 
-#: io.c:682
+#: io.c:685
 #, c-format
 msgid "can't open pipe `%s' for output (%s)"
 msgstr "Kann Pipe '%s' nicht f�r Ausgabe �ffnen (%s)."
 
-#: io.c:691
+#: io.c:694
 #, c-format
 msgid "can't open pipe `%s' for input (%s)"
 msgstr "Kann Pipe '%s' nicht f�r Eingabe �ffnen (%s)."
 
-#: io.c:698 io.c:1448
-#, c-format
-msgid "file `%s' is a directory"
-msgstr "Datei '%s' ist ein Verzeichnis."
-
-#: io.c:706
+#: io.c:712
 #, c-format
 msgid "can't open two way socket `%s' for input/output (%s)"
 msgstr "Kann bidirektionalen Socket '%s' nicht f�r Ein-/Ausgabe �ffnen (%s)."
 
-#: io.c:710
+#: io.c:716
 #, c-format
 msgid "can't open two way pipe `%s' for input/output (%s)"
 msgstr "Kann bidirektionale Pipe '%s' nicht f�r Ein-/Ausgabe �ffnen (%s)."
 
-#: io.c:786
+#: io.c:793
 #, c-format
 msgid "can't redirect from `%s' (%s)"
 msgstr "Kann nicht von '%s' umlenken (%s)."
 
-#: io.c:789
+#: io.c:796
 #, c-format
 msgid "can't redirect to `%s' (%s)"
 msgstr "Kann nicht auf '%s' umlenken (%s)."
 
-#: io.c:828
+#: io.c:849
 msgid ""
 "reached system limit for open files: starting to multiplex file descriptors"
 msgstr ""
 "Systemgrenze offener Dateien erreicht; beginne mit Multiplexing von "
 "Dateideskriptoren."
 
-#: io.c:844
+#: io.c:865
 #, c-format
 msgid "close of `%s' failed (%s)."
 msgstr "Schlie�en von '%s' gescheitert (%s)."
 
-#: io.c:852
+#: io.c:873
 msgid "too many pipes or input files open"
 msgstr "Zu viele Pipes oder Eingabedateien offen."
 
-#: io.c:875
+#: io.c:896
 msgid "close: second argument must be `to' or `from'"
 msgstr "close: Zweites Argument muss 'to' oder 'from' sein."
 
-#: io.c:889
+#: io.c:910
 #, c-format
 msgid "close: `%.*s' is not an open file, pipe or co-process"
 msgstr "close: '%.*s' ist keine offene Datei, Pipe oder Ko-Prozess."
 
-#: io.c:893
+#: io.c:915
 msgid "close of redirection that was never opened"
 msgstr "'close' f�r eine Umlenkung, die nie ge�ffnet wurde."
 
-#: io.c:989
+#: io.c:1012
 #, c-format
 msgid "close: redirection `%s' not opened with `|&', second argument ignored"
 msgstr ""
 "close: Umlenkung '%s' nicht mit '[&' ge�ffnet, zweites Argument wird "
 "ignoriert."
 
-#: io.c:1005
+#: io.c:1028
 #, c-format
 msgid "failure status (%d) on pipe close of `%s' (%s)"
 msgstr "Fehlerstatus (%d) beim Schlie�en der Pipe '%s' (%s)."
 
-#: io.c:1008
+#: io.c:1031
 #, c-format
 msgid "failure status (%d) on file close of `%s' (%s)"
 msgstr "Fehlerstatus (%d) beim Schlie�en de rDatei '%s' (%s)."
 
-#: io.c:1028
+#: io.c:1051
 #, c-format
 msgid "no explicit close of socket `%s' provided"
 msgstr "Das explizite des Sockets '%s' fehlt."
 
-#: io.c:1031
+#: io.c:1054
 #, c-format
 msgid "no explicit close of co-process `%s' provided"
 msgstr "Das explizite Schlie�en des Ko-Prozesses '%s' fehlt."
 
-#: io.c:1034
+#: io.c:1057
 #, c-format
 msgid "no explicit close of pipe `%s' provided"
 msgstr "Das explizite Schlie�en der Pipe '%s' fehlt."
 
-#: io.c:1037
+#: io.c:1060
 #, c-format
 msgid "no explicit close of file `%s' provided"
 msgstr "Das explizite Schlie�en der Datei '%s' fehlt."
 
-#: io.c:1066 io.c:1121 main.c:749 main.c:791
+#: io.c:1088 io.c:1143 main.c:776 main.c:818
 #, c-format
 msgid "error writing standard output (%s)"
 msgstr "Fehler beim Schreiben auf stdout (%s)."
 
-#: io.c:1070 io.c:1126
+#: io.c:1092 io.c:1148
 #, c-format
 msgid "error writing standard error (%s)"
 msgstr "Fehler beim Schreiben auf stderr (%s)."
 
-#: io.c:1078
+#: io.c:1100
 #, c-format
 msgid "pipe flush of `%s' failed (%s)."
 msgstr "Leeren der Pipe '%s' gescheitert (%s)."
 
-#: io.c:1081
+#: io.c:1103
 #, c-format
 msgid "co-process flush of pipe to `%s' failed (%s)."
 msgstr "Ko-Prozess: Leeren der Pipe zu '%s' gescheitert (%s)."
 
-#: io.c:1084
+#: io.c:1106
 #, c-format
 msgid "file flush of `%s' failed (%s)."
 msgstr "Flush der Datei '%s' gescheitert (%s)."
 
-#: io.c:1198
+#: io.c:1220
 #, fuzzy, c-format
 msgid "local port %s invalid in `/inet'"
 msgstr "Lokaler Port in '%s' ist ung�ltig."
 
-#: io.c:1215
+#: io.c:1237
 #, c-format
 msgid "remote host and port information (%s, %s) invalid"
 msgstr ""
 
-#: io.c:1250
+#: io.c:1272
 msgid "/inet/raw client not ready yet, sorry"
 msgstr "/inet/raw Client noch nicht fertig."
 
-#: io.c:1253 io.c:1289
+#: io.c:1275 io.c:1311
 msgid "only root may use `/inet/raw'."
 msgstr "Nur root darf '/inet/raw' benutzen"
 
-#: io.c:1287
+#: io.c:1309
 msgid "/inet/raw server not ready yet, sorry"
 msgstr "'/inet/raw'-Server noch nicht fertig."
 
-#: io.c:1385
+#: io.c:1407
 #, c-format
 msgid "no (known) protocol supplied in special filename `%s'"
 msgstr "Kein bekanntes Protokoll in Dateinamen '%s' angegeben."
 
-#: io.c:1399
+#: io.c:1421
 #, c-format
 msgid "special file name `%s' is incomplete"
 msgstr "Dateiname '%s' ist unvollst�ndig."
 
-#: io.c:1414
+#: io.c:1436
 msgid "must supply a remote hostname to `/inet'"
 msgstr "Sie m�ssen einen Rechnernamen in '/inet' angeben."
 
-#: io.c:1432
+#: io.c:1454
 msgid "must supply a remote port to `/inet'"
 msgstr "Sie m�ssen einen Port in '/inet' angeben."
 
-#: io.c:1439
+#: io.c:1485
 msgid "TCP/IP communications are not supported"
 msgstr "TCP/IP-Verbindungen sind nicht m�glich."
 
-#: io.c:1509
+#: io.c:1494
+#, c-format
+msgid "file `%s' is a directory"
+msgstr "Datei '%s' ist ein Verzeichnis."
+
+#: io.c:1555
 #, c-format
 msgid "use `PROCINFO[\"%s\"]' instead of `%s'"
 msgstr "Benutzen Sie 'PROCINFO[\"%s\"]' statt '%s'"
 
-#: io.c:1547
+#: io.c:1593
 msgid "use `PROCINFO[...]' instead of `/dev/user'"
 msgstr "Benutzen Sie 'PROCINFO[...] statt '/dev/user'."
 
-#: io.c:1612 io.c:1798
+#: io.c:1658 io.c:1853
 #, c-format
 msgid "could not open `%s', mode `%s'"
 msgstr "Konnte '%s' nicht �ffnen, Mode '%s'."
 
-#: io.c:1849
+#: io.c:1904
 #, fuzzy, c-format
 msgid "close of master pty failed (%s)"
 msgstr "Schlie�en der Pipe gescheitert (%s)."
 
-#: io.c:1851 io.c:2003 io.c:2154
+#: io.c:1906 io.c:2058 io.c:2209
 #, c-format
 msgid "close of stdout in child failed (%s)"
 msgstr "Schlie�en von stdout in Kindprozess gescheitert (%s)."
 
-#: io.c:1854
+#: io.c:1909
 #, fuzzy, c-format
 msgid "moving slave pty to stdout in child failed (dup: %s)"
 msgstr "Verschieben der Pipe zu stdout in Kindprozess gescheitert (dup: %s)."
 
-#: io.c:1856 io.c:2008
+#: io.c:1911 io.c:2063
 #, c-format
 msgid "close of stdin in child failed (%s)"
 msgstr "Schlie�en von stdin im Kindprozess gescheitert (%s)."
 
-#: io.c:1859
+#: io.c:1914
 #, fuzzy, c-format
 msgid "moving slave pty to stdin in child failed (dup: %s)"
 msgstr "Verschieben der Pipe zu stdin in Kindprozess gescheitert (dup: %s)."
 
-#: io.c:1861 io.c:1880
+#: io.c:1916 io.c:1935
 #, fuzzy, c-format
 msgid "close of slave pty failed (%s)"
 msgstr "Schlie�en der Pipe gescheitert (%s)."
 
-#: io.c:1954 io.c:2006 io.c:2135 io.c:2157
+#: io.c:2009 io.c:2061 io.c:2190 io.c:2212
 #, c-format
 msgid "moving pipe to stdout in child failed (dup: %s)"
 msgstr "Verschieben der Pipe zu stdout in Kindprozess gescheitert (dup: %s)."
 
-#: io.c:1958 io.c:2011
+#: io.c:2013 io.c:2066
 #, c-format
 msgid "moving pipe to stdin in child failed (dup: %s)"
 msgstr "Verschieben der Pipe zu stdin in Kindprozess gescheitert (dup: %s)."
 
-#: io.c:1975 io.c:2148
+#: io.c:2030 io.c:2203
 msgid "restoring stdout in parent process failed\n"
 msgstr ""
 
-#: io.c:1980
+#: io.c:2035
 msgid "restoring stdin in parent process failed\n"
 msgstr ""
 
-#: io.c:2014 io.c:2159 io.c:2170
+#: io.c:2069 io.c:2214 io.c:2225
 #, c-format
 msgid "close of pipe failed (%s)"
 msgstr "Schlie�en der Pipe gescheitert (%s)."
 
-#: io.c:2059
+#: io.c:2114
 msgid "`|&' not supported"
 msgstr "'|&' nicht m�glich."
 
-#: io.c:2125
+#: io.c:2180
 #, c-format
 msgid "cannot open pipe `%s' (%s)"
 msgstr "Kann Pipe '%s' nicht �ffnen (%s)."
 
-#: io.c:2166
+#: io.c:2221
 #, c-format
 msgid "cannot create child process for `%s' (fork: %s)"
 msgstr "Kann Kindprozess f�r '%s' nicht erzeugen (fork: %s)."
 
-#: io.c:2548
+#: io.c:2603
 #, c-format
 msgid "data file `%s' is empty"
 msgstr "Datei '%s' ist leer."
 
-#: io.c:2589 io.c:2597
+#: io.c:2644 io.c:2652
 msgid "could not allocate more input memory"
 msgstr ""
 
-#: io.c:2965 io.c:3038
+#: io.c:3020 io.c:3093
 #, c-format
 msgid "error reading input file `%s': %s"
 msgstr "Fehler beim Lesen der Eingabedatei '%s': %s."
 
-#: io.c:3163
+#: io.c:3218
 msgid "multicharacter value of `RS' is a gawk extension"
 msgstr "Multicharacter-Wert von 'RS' ist eine gawk-Erweiterung."
 
-#: main.c:351
+#: main.c:304
+msgid "out of memory"
+msgstr "Kein Speicher mehr."
+
+#: main.c:373
 msgid "`-m[fr]' option irrelevant in gawk"
 msgstr "Option '-m[fr]' ist in gawk bedeutungslos."
 
-#: main.c:353
+#: main.c:375
 msgid "-m option usage: `-m[fr] nnn'"
 msgstr "Anwendung der Option -m: '-m[fr] nnn'"
 
-#: main.c:370
+#: main.c:392
 #, c-format
 msgid "%s: option `-W %s' unrecognized, ignored\n"
 msgstr "%s: Option '-W %s' unbekannt, ignoriert.\n"
 
-#: main.c:407
+#: main.c:433
 msgid "empty argument to `--source' ignored"
 msgstr "Leeres Argument f�r '--source' ignoriert."
 
-#: main.c:480
+#: main.c:487
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s Option erfordert ein Argument -- %c.\n"
+
+#: main.c:506
 msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'"
 msgstr ""
 "Umgebungsvariable 'POSIXLY_CORRECT' ist gesetzt: '--posix' angeschaltet."
 
-#: main.c:486
+#: main.c:512
 msgid "`--posix' overrides `--traditional'"
 msgstr "'--posix' hat Vorrang vor '--traditional'"
 
-#: main.c:497
+#: main.c:523
 msgid "`--posix'/`--traditional' overrides `--non-decimal-data'"
 msgstr "'--posix' /'--traditional' hat Vorrang vor '--non-decimal-data'."
 
-#: main.c:501
+#: main.c:527
 #, fuzzy, c-format
 msgid "running %s setuid root may be a security problem"
 msgstr "%s als setuid root auszuf�hren, kann zu Sicherheitsproblemen f�hren."
 
-#: main.c:542
+#: main.c:568
 #, fuzzy, c-format
 msgid "can't set binary mode on stdin (%s)"
 msgstr "Kann Mode f�r stdin nicht setzen (%s)."
 
-#: main.c:545
+#: main.c:571
 #, fuzzy, c-format
 msgid "can't set binary mode on stdout (%s)"
 msgstr "Kann Mode f�r stdout nicht setzen (%s)."
 
-#: main.c:547
+#: main.c:573
 #, fuzzy, c-format
 msgid "can't set binary mode on stderr (%s)"
 msgstr "Kann Mode f�r stderr nicht setzen (%s)."
 
-#: main.c:586
+#: main.c:612
 msgid "no program text at all!"
 msgstr "Kein Programmtext."
 
-#: main.c:690
+#: main.c:716
 #, c-format
 msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n"
 msgstr "Anwendung: %s [POSIX- oder GNU-Optionen] -f PROGRAM [--] Datei ...\n"
 
-#: main.c:692
+#: main.c:718
 #, c-format
 msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n"
 msgstr "Anwendung: %s [POSIX- oder GNU-Optionen] -- %cPROGRAM%c Datei ...\n"
 
-#: main.c:697
+#: main.c:723
 msgid "POSIX options:\t\tGNU long options:\n"
 msgstr "POSIX-Optionen\t\tGNU-Optionen (lang):\n"
 
-#: main.c:698
+#: main.c:724
 msgid "\t-f progfile\t\t--file=progfile\n"
 msgstr "\t-f PROGRAM\t\t--file=PROGRAM\n"
 
-#: main.c:699
+#: main.c:725
 msgid "\t-F fs\t\t\t--field-separator=fs\n"
 msgstr "\t-F Feldtrenner\t\t\t--field-separator=Feldtrenner\n"
 
-#: main.c:700
+#: main.c:726
 msgid "\t-v var=val\t\t--assign=var=val\n"
 msgstr "\t-v var=Wert\t\t--assign=var=Wert\n"
 
-#: main.c:701
+#: main.c:727
 msgid "\t-m[fr] val\n"
 msgstr "\t-m[fr] Wert\n"
 
-#: main.c:702
+#: main.c:728
+msgid "\t-O\t\t\t--optimize\n"
+msgstr ""
+
+#: main.c:729
 msgid "\t-W compat\t\t--compat\n"
 msgstr "\t-W compat\t\t--compat\n"
 
-#: main.c:703
+#: main.c:730
 msgid "\t-W copyleft\t\t--copyleft\n"
 msgstr "\t-W copyleft\t\t--copyleft\n"
 
-#: main.c:704
+#: main.c:731
 msgid "\t-W copyright\t\t--copyright\n"
 msgstr "\t-W copyright\t\t--copyright\n"
 
-#: main.c:705
+#: main.c:732
 msgid "\t-W dump-variables[=file]\t--dump-variables[=file]\n"
 msgstr "\t-W dump-variables[=Datei]\t--dump-variables[=Datei]\n"
 
-#: main.c:706
+#: main.c:733
 #, fuzzy
 msgid "\t-W exec=file\t\t--exec=file\n"
 msgstr "\t-W profile[=Datei]\t--profile[=Datei]\n"
 
-#: main.c:707
+#: main.c:734
 msgid "\t-W gen-po\t\t--gen-po\n"
 msgstr "\t-W gen-po\t\t--gen-po\n"
 
-#: main.c:708
+#: main.c:735
 msgid "\t-W help\t\t\t--help\n"
 msgstr "\t-W help\t\t\t--help\n"
 
-#: main.c:709
+#: main.c:736
 msgid "\t-W lint[=fatal]\t\t--lint[=fatal]\n"
 msgstr "\t-W lint[=fatal]\t\t--lint[=fatal]\n"
 
-#: main.c:710
+#: main.c:737
 msgid "\t-W lint-old\t\t--lint-old\n"
 msgstr "\t-W lint-old\t\t--lint-old\n"
 
-#: main.c:711
+#: main.c:738
 msgid "\t-W non-decimal-data\t--non-decimal-data\n"
 msgstr "\t-W non-decimal-data\t--non-decimal-data\n"
 
-#: main.c:713
+#: main.c:740
 msgid "\t-W nostalgia\t\t--nostalgia\n"
 msgstr "\t-W nostalgia\t\t--nostalgia\n"
 
-#: main.c:716
+#: main.c:743
 msgid "\t-W parsedebug\t\t--parsedebug\n"
 msgstr "\t-W parsedebug\t\t--parsedebug\n"
 
-#: main.c:718
+#: main.c:745
 msgid "\t-W profile[=file]\t--profile[=file]\n"
 msgstr "\t-W profile[=Datei]\t--profile[=Datei]\n"
 
-#: main.c:719
+#: main.c:746
 msgid "\t-W posix\t\t--posix\n"
 msgstr "\t-W posix\t\t--posix\n"
 
-#: main.c:720
+#: main.c:747
 msgid "\t-W re-interval\t\t--re-interval\n"
 msgstr "\t-W re-interval\t\t--re-interval\n"
 
-#: main.c:721
+#: main.c:748
 msgid "\t-W source=program-text\t--source=program-text\n"
 msgstr "\t-W source=Programmtext\t--source=Programmtext\n"
 
-#: main.c:722
+#: main.c:749
 msgid "\t-W traditional\t\t--traditional\n"
 msgstr "\t-W traditional\t\t--traditional\n"
 
-#: main.c:723
+#: main.c:750
 msgid "\t-W usage\t\t--usage\n"
 msgstr "\t-W usage\t\t--usage\n"
 
-#: main.c:724
+#: main.c:751
 msgid "\t-W use-lc-numeric\t--use-lc-numeric\n"
 msgstr ""
 
-#: main.c:725
+#: main.c:752
 msgid "\t-W version\t\t--version\n"
 msgstr "\t-W version\t\t--version\n"
 
@@ -1606,7 +1648,7 @@
 #. for this application.  Please add _another line_ with the
 #. address for translation bugs.
 #. no-wrap
-#: main.c:734
+#: main.c:761
 #, fuzzy
 msgid ""
 "\n"
@@ -1617,21 +1659,21 @@
 "den Sie im Kapitel 'Reporting Problems and Bugs' in der \n"
 "gedruckten Version finden.\n"
 
-#: main.c:738
+#: main.c:765
 msgid ""
 "gawk is a pattern scanning and processing language.\n"
 "By default it reads standard input and writes standard output.\n"
 "\n"
 msgstr ""
 
-#: main.c:742
+#: main.c:769
 msgid ""
 "Examples:\n"
 "\tgawk '{ sum += $1 }; END { print sum }' file\n"
 "\tgawk -F: '{ print $1 }' /etc/passwd\n"
 msgstr ""
 
-#: main.c:762
+#: main.c:789
 #, fuzzy, c-format
 msgid ""
 "Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
@@ -1647,11 +1689,11 @@
 "Dieses Programm ist Freie Software. Sie k�nnen es unter den Bedingungen\n"
 "der von der Free Software Foundation ver�ffentlichten GNU \n"
 "General Public License weitergeben und/oder �ndern.\n"
-"Es gilt Version 3 dieser Lizenz oder (nach Ihrer Wahl) irgendeine\n"
+"Es gilt Version 2 dieser Lizenz oder (nach Ihrer Wahl) irgendeine\n"
 "sp�tere Version.\n"
 "\n"
 
-#: main.c:770
+#: main.c:797
 msgid ""
 "This program is distributed in the hope that it will be useful,\n"
 "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
@@ -1665,7 +1707,7 @@
 "GNU General Public License for more details.\n"
 "\n"
 
-#: main.c:781
+#: main.c:808
 #, fuzzy
 msgid ""
 "You should have received a copy of the GNU General Public License\n"
@@ -1673,49 +1715,59 @@
 msgstr ""
 "Sie sollten eine Kopie der GNU General Publice License zusammen mit\n"
 "diesem Programm erhalten haben. Wenn nicht, schreiben Sie an die Free \n"
-"Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02111-"
+"Software Foundation, Inc., 59 Temple Place - Suite 330, Boston MA 02111-"
 "1307, USA.\n"
 
-#: main.c:816
+#: main.c:843
 msgid "-Ft does not set FS to tab in POSIX awk"
 msgstr "-Ft setzt FS im POSIX-awk nicht auf Tab."
 
-#: main.c:1060
+#: main.c:1117
 #, c-format
 msgid ""
 "%s: `%s' argument to `-v' not in `var=value' form\n"
 "\n"
 msgstr ""
 
-#: main.c:1080
+#: main.c:1137
 #, c-format
 msgid "`%s' is not a legal variable name"
 msgstr ""
 
-#: main.c:1083
+#: main.c:1140
 #, c-format
 msgid "`%s' is not a variable name, looking for file `%s=%s'"
 msgstr ""
 
-#: main.c:1122
+#: main.c:1179
 msgid "floating point exception"
 msgstr "Floating point exception"
 
-#: main.c:1129
+#: main.c:1186
 msgid "fatal error: internal error"
 msgstr "Fataler Fehler: interner Fehler"
 
-#: main.c:1180
+#: main.c:1200
+#, fuzzy
+msgid "fatal error: internal error: segfault"
+msgstr "Fataler Fehler: interner Fehler"
+
+#: main.c:1212
+#, fuzzy
+msgid "fatal error: internal error: stack overflow"
+msgstr "Fataler Fehler: interner Fehler"
+
+#: main.c:1261
 #, c-format
 msgid "no pre-opened fd %d"
 msgstr "Kein ge�ffneter Dateideskriptor %d"
 
-#: main.c:1187
+#: main.c:1268
 #, c-format
 msgid "could not pre-open /dev/null for fd %d"
 msgstr "Konnte /dev/null nicht f�r Dateideskriptor %d �ffnen."
 
-#: main.c:1210 main.c:1219
+#: main.c:1291 main.c:1300
 #, c-format
 msgid "could not find groups: %s"
 msgstr "Konnte Gruppen nicht finden: %s"
@@ -1741,24 +1793,31 @@
 msgid "can't convert string to float"
 msgstr "Kann String nicht in Gleitkommazahl konvertieren."
 
-#: node.c:406
+#: node.c:462
 msgid "backslash at end of string"
 msgstr "Backslash am String-Ende."
 
-#: node.c:548
+#: node.c:606
 #, fuzzy, c-format
 msgid "old awk does not support the `\\%c' escape sequence"
 msgstr "Das alte awk erlaubt den Operator '**' nicht."
 
-#: node.c:599
+#: node.c:657
 msgid "POSIX does not allow `\\x' escapes"
 msgstr "POSIX erlabut keine '\\x'-Escapes."
 
-#: node.c:605
+#: node.c:663
 msgid "no hex digits in `\\x' escape sequence"
 msgstr "Keine Hex-Ziffern in '\\x'-Escape."
 
-#: node.c:639
+#: node.c:685
+#, c-format
+msgid ""
+"hex escape \\x%.*s of %d characters probably not interpreted the way you "
+"expect"
+msgstr ""
+
+#: node.c:700
 #, c-format
 msgid "escape sequence `\\%c' treated as plain `%c'"
 msgstr "Escape-Sequenz '\\%c' als '%c' behandelt."
@@ -1768,31 +1827,31 @@
 msgid "%s %s `%s': could not set close-on-exec: (fcntl: %s)"
 msgstr "%s %s '%s': Konnte close-on-exec nicht setzen: %s"
 
-#: profile.c:92
+#: profile.c:93
 #, c-format
 msgid "could not open `%s' for writing: %s"
 msgstr "Konnte '%s' nicht zum Schreiben �ffnen: %s"
 
-#: profile.c:450
+#: profile.c:453
 #, fuzzy, c-format
 msgid "internal error: %s with null vname"
 msgstr "Interner Fehler: Node_var with null vname."
 
-#: profile.c:514
+#: profile.c:517
 msgid "# treated internally as `delete'"
 msgstr ""
 
-#: profile.c:1147
+#: profile.c:1069
 #, c-format
 msgid "# this is a dynamically loaded extension function"
 msgstr ""
 
-#: profile.c:1178
+#: profile.c:1100
 #, c-format
 msgid "\t# gawk profile, created %s\n"
 msgstr "\t# gawk-Profil, erzeugt %s\n"
 
-#: profile.c:1181
+#: profile.c:1103
 #, c-format
 msgid ""
 "\t# BEGIN block(s)\n"
@@ -1801,7 +1860,7 @@
 "\t# BEGIN block(s)\n"
 "\n"
 
-#: profile.c:1191
+#: profile.c:1113
 #, c-format
 msgid ""
 "\t# Rule(s)\n"
@@ -1810,7 +1869,7 @@
 "\t# Rule(s)\n"
 "\n"
 
-#: profile.c:1197
+#: profile.c:1119
 #, c-format
 msgid ""
 "\t# END block(s)\n"
@@ -1819,7 +1878,7 @@
 "\t# END block(s)\n"
 "\n"
 
-#: profile.c:1217
+#: profile.c:1139
 #, c-format
 msgid ""
 "\n"
@@ -1828,139 +1887,125 @@
 "\n"
 "\t# Functionen, alphabetisch sortiert\n"
 
-#: profile.c:1470
+#: profile.c:1400
 #, c-format
 msgid "unexpected type %s in prec_level"
 msgstr "Unerwarteter Typ %s in prec_level."
 
-#: regcomp.c:132
+#: profile.c:1500
+#, fuzzy, c-format
+msgid "Unknown node type %s in pp_var"
+msgstr "Unbekannter Knotentyp %d"
+
+#: regcomp.c:133
 msgid "Success"
 msgstr "Erfolg"
 
-#: regcomp.c:135
+#: regcomp.c:136
 msgid "No match"
 msgstr "Kein Treffer"
 
-#: regcomp.c:138
+#: regcomp.c:139
 msgid "Invalid regular expression"
 msgstr "Ung�ltiger Regul�rer Ausdruck."
 
-#: regcomp.c:141
+#: regcomp.c:142
 msgid "Invalid collation character"
 msgstr "Ung�ltiges Zeichen."
 
-#: regcomp.c:144
+#: regcomp.c:145
 msgid "Invalid character class name"
 msgstr "Ung�ltier Name f�r Zeichenklasse."
 
-#: regcomp.c:147
+#: regcomp.c:148
 msgid "Trailing backslash"
 msgstr "Angeh�ngter Backslash"
 
-#: regcomp.c:150
+#: regcomp.c:151
 msgid "Invalid back reference"
 msgstr "Ung�ltige Referenze"
 
-#: regcomp.c:153
+#: regcomp.c:154
 msgid "Unmatched [ or [^"
 msgstr "[ oder [^ nicht geschlossen"
 
-#: regcomp.c:156
+#: regcomp.c:157
 msgid "Unmatched ( or \\("
 msgstr "( oder \\( nicht geschlossen"
 
-#: regcomp.c:159
+#: regcomp.c:160
 msgid "Unmatched \\{"
 msgstr "\\{ nicht geschlossen"
 
-#: regcomp.c:162
+#: regcomp.c:163
 msgid "Invalid content of \\{\\}"
 msgstr "Ung�ltiger Inhalt von \\{\\}"
 
-#: regcomp.c:165
+#: regcomp.c:166
 msgid "Invalid range end"
 msgstr "Ung�ltiges Bereichsende"
 
-#: regcomp.c:168
+#: regcomp.c:169
 msgid "Memory exhausted"
 msgstr "Kein Speicher mehr."
 
-#: regcomp.c:171
+#: regcomp.c:172
 msgid "Invalid preceding regular expression"
 msgstr "Vorangehender Regul�rer Ausdruck ist ung�ltig."
 
-#: regcomp.c:174
+#: regcomp.c:175
 msgid "Premature end of regular expression"
 msgstr "Vorzeitiges Ende des Regul�ren Ausdrucks."
 
-#: regcomp.c:177
+#: regcomp.c:178
 msgid "Regular expression too big"
 msgstr "Regul�rer Ausdruck zu gro�."
 
-#: regcomp.c:180
+#: regcomp.c:181
 msgid "Unmatched ) or \\)"
 msgstr ") oder \\) nicht ge�ffnet"
 
-#: regcomp.c:664
+#: regcomp.c:700
 msgid "No previous regular expression"
 msgstr "Kein vorangehender Regul�rer Ausdruck."
 
-#~ msgid "remote port invalid in `%s'"
-#~ msgstr "Port-Angabe in '%s' ist ung�ltig."
-
-#~ msgid "function %s called\n"
-#~ msgstr "Funktion %s aufgerufen\n"
-
-#~ msgid "field %d in FIELDWIDTHS, must be > 0"
-#~ msgstr "Feld %d in FIELDWIDTHS muss > 0 sein."
-
-#, fuzzy
-#~ msgid "or used as a variable or an array"
-#~ msgstr "Kann Funktion '%s' nicht als Variable oder Array verwenden."
-
-#, fuzzy
-#~ msgid "substr: length %g is < 0"
-#~ msgstr "substr: L�nge %g ist kleiner oder gleich 0."
+#~ msgid "%s: illegal option -- %c\n"
+#~ msgstr "%s: Illegale Option -- %c.\n"
 
 #~ msgid "delete: illegal use of variable `%s' as array"
 #~ msgstr "delete: Benutzung der Variablen �%s� als Array ist nicht zul�ssig."
 
-#, fuzzy
-#~ msgid "%s: gvar_ref to %s\n"
-#~ msgstr "%s: Array-Referenz auf %s\n"
-
 #~ msgid "asort: first argument is not an array"
 #~ msgstr "asort: Erstes Argument ist kein Array."
 
 #~ msgid "asort: second argument is not an array"
 #~ msgstr "asort: Zweites Argument ist kein array."
 
-#, fuzzy
 #~ msgid ""
-#~ "attempt to use array parameter `%s' that was passed from global scalar `%"
-#~ "s'"
-#~ msgstr "Versuch den skalaren Parameter '%s' als Array zu benutzen."
+#~ "\n"
+#~ "To report bugs, see node `Bugs' in `gawk.info', which is\n"
+#~ msgstr ""
+#~ "\n"
+#~ "Um Fehler zu melden, lesen Sie bitte den Abschnitt 'Bugs' in "
+#~ "'gawk_info',\n"
+
+#~ msgid "invalid syntax in name `%s' for variable assignment"
+#~ msgstr "Ung�ltige Syntax im Namen '%s' f�r Variablenzuweisung."
 
 #~ msgid "internal error: Node_var_array with null vname"
 #~ msgstr "Interner Fehler: Node_var_array with null vname."
 
-#~ msgid "BEGIN blocks must have an action part"
-#~ msgstr "BEGIN-Bl�cke m�ssen einen Aktionsteil haben."
-
-#~ msgid "`nextfile' used in BEGIN or END action"
-#~ msgstr "'nextfile' in BEGIN- oder END-Aktion benutzt."
-
-#~ msgid "gsub third parameter is not a changeable object"
-#~ msgstr "Der dritte Parameter von gsub ist ein unver�nderliches Objekt."
-
 #~ msgid "or used in other expression context"
 #~ msgstr "or in anderem Kontext benutzt"
 
 #~ msgid "`%s' is a function, assignment is not allowed"
 #~ msgstr "'%s' ist eine Funktion, Zuweisungen sind nicht erlaubt."
 
-#~ msgid "internal error: file `%s', line %d\n"
-#~ msgstr "Interner Fehler: Datei '%s', Zeile %d\n"
+#~ msgid "BEGIN blocks must have an action part"
+#~ msgstr "BEGIN-Bl�cke m�ssen einen Aktionsteil haben."
+
+#~ msgid "`nextfile' used in BEGIN or END action"
+#~ msgstr "'nextfile' in BEGIN- oder END-Aktion benutzt."
 
 #~ msgid "non-redirected `getline' undefined inside BEGIN or END action"
 #~ msgstr ""
@@ -1970,8 +2015,8 @@
 #~ msgid "fptr %x not in tokentab\n"
 #~ msgstr "fptr %x nicht in tokentab\n"
 
-#~ msgid "Unbalanced ["
-#~ msgstr "[ wird nicht geschlossen."
+#~ msgid "gsub third parameter is not a changeable object"
+#~ msgstr "Der dritte Parameter von gsub ist ein unver�nderliches Objekt."
 
 #~ msgid "Unfinished \\ escape"
 #~ msgstr "Nicht-beendetes \\\\-Escape."
@@ -1982,6 +2027,9 @@
 #~ msgid "malformed repeat count"
 #~ msgstr "Fehlerhafter Wiederholungsz�hler."
 
+#~ msgid "Unbalanced ["
+#~ msgstr "[ wird nicht geschlossen."
+
 #~ msgid "Unbalanced ("
 #~ msgstr "( wird nicht geschlossen."
 
@@ -1991,22 +2039,20 @@
 #~ msgid "Unbalanced )"
 #~ msgstr ") wird nicht ge�ffnet."
 
-#~ msgid "out of memory"
-#~ msgstr "Kein Speicher mehr."
+#~ msgid "field %d in FIELDWIDTHS, must be > 0"
+#~ msgstr "Feld %d in FIELDWIDTHS muss > 0 sein."
 
-#~ msgid "invalid syntax in name `%s' for variable assignment"
-#~ msgstr "Ung�ltige Syntax im Namen '%s' f�r Variablenzuweisung."
+#~ msgid "function %s called\n"
+#~ msgstr "Funktion %s aufgerufen\n"
 
-#~ msgid ""
-#~ "\n"
-#~ "To report bugs, see node `Bugs' in `gawk.info', which is\n"
-#~ msgstr ""
-#~ "\n"
-#~ "Um Fehler zu melden, lesen Sie bitte den Abschnitt 'Bugs' in "
-#~ "'gawk_info',\n"
+#~ msgid "remote port invalid in `%s'"
+#~ msgstr "Port-Angabe in '%s' ist ung�ltig."
 
 #~ msgid "pipe from `%s': could not set close-on-exec (fcntl: %s)"
 #~ msgstr "Pipe von '%s': Konnte close-on-exec nicht setzen (fcntl: %s)."
 
 #~ msgid "pipe to `%s': could not set close-on-exec (fcntl: %s)"
 #~ msgstr "Pipe zu '%s': Konnte close-on-exec nicht setzen (fcntl: %s)."
+
+#~ msgid "internal error: file `%s', line %d\n"
+#~ msgstr "Interner Fehler: Datei '%s', Zeile %d\n"
diff -urN gawk-3.1.6/po/es.po gawk-3.1.7/po/es.po
--- gawk-3.1.6/po/es.po	2007-09-30 22:33:25.000000000 +0200
+++ gawk-3.1.7/po/es.po	2009-07-21 23:23:44.000000000 +0300
@@ -1,13 +1,14 @@
-# Mensajes en espa�ol para gawk-3.1.5f.
-# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
-# Cristian Oth�n Mart�nez Vera <cfuga@itam.mx>, 2001, 2002, 2003, 2004, 2005, 2006, 2007.
+# Mensajes en espa�ol para gawk-3.1.6d.
+# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+# This file is distributed under the same license as the gawk package.
+# Cristian Oth�n Mart�nez Vera <cfuga@itam.mx>, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gawk 3.1.5f\n"
+"Project-Id-Version: gawk 3.1.6d\n"
 "Report-Msgid-Bugs-To: arnold@skeeve.com\n"
-"POT-Creation-Date: 2007-09-30 22:33+0200\n"
-"PO-Revision-Date: 2007-07-20 01:10-0500\n"
+"POT-Creation-Date: 2009-07-21 23:23+0300\n"
+"PO-Revision-Date: 2009-06-24 09:29-0500\n"
 "Last-Translator: Cristian Oth�n Mart�nez Vera <cfuga@itam.mx>\n"
 "Language-Team: Spanish <es@li.org>\n"
 "MIME-Version: 1.0\n"
@@ -74,332 +75,339 @@
 msgid "%s: array_ref to %s\n"
 msgstr "%s: array_ref a %s\n"
 
-#: awkgram.y:215
+#: awkgram.y:218
 #, c-format
 msgid "%s blocks must have an action part"
 msgstr "Los bloques %s deben tener una parte de acci�n"
 
-#: awkgram.y:218
+#: awkgram.y:221
 msgid "each rule must have a pattern or an action part"
 msgstr "cada regla debe tener un patr�n o una parte de acci�n"
 
-#: awkgram.y:254 awkgram.y:263
+#: awkgram.y:257 awkgram.y:266
 msgid "old awk does not support multiple `BEGIN' or `END' rules"
 msgstr "el awk antiguo no admite m�ltiples reglas `BEGIN' o `END'"
 
-#: awkgram.y:282
+#: awkgram.y:285
 #, c-format
 msgid "`%s' is a built-in function, it cannot be redefined"
 msgstr "`%s' es una funci�n interna, no se puede redefinir"
 
-#: awkgram.y:328
+#: awkgram.y:331
 msgid "regexp constant `//' looks like a C++ comment, but is not"
 msgstr ""
 "la constante de expresi�n regular `//' parece un comentario de C++, pero no "
 "lo es"
 
-#: awkgram.y:331
+#: awkgram.y:334
 #, c-format
 msgid "regexp constant `/%s/' looks like a C comment, but is not"
 msgstr ""
 "la constante de expresi�n regular `/%s/' parece un comentario de C, pero no "
 "lo es"
 
-#: awkgram.y:358 awkgram.y:653
+#: awkgram.y:361 awkgram.y:656
 msgid "statement may have no effect"
 msgstr "la sentencia puede no tener efecto"
 
-#: awkgram.y:455 awkgram.y:479
+#: awkgram.y:458 awkgram.y:482
 #, c-format
 msgid "`%s' used in %s action"
 msgstr "se us� `%s' en la acci�n %s"
 
-#: awkgram.y:470 awkgram.y:474
+#: awkgram.y:473 awkgram.y:477
 msgid "`nextfile' is a gawk extension"
 msgstr "`nextfile' es una extensi�n de gawk"
 
-#: awkgram.y:489
+#: awkgram.y:492
 msgid "`return' used outside function context"
 msgstr "se us� `return' fuera del contexto de la funci�n"
 
-#: awkgram.y:531
+#: awkgram.y:534
 msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'"
 msgstr ""
 "el `print' simple en la regla BEGIN o END probablemente debe ser `print \"\"'"
 
-#: awkgram.y:547 awkgram.y:555
+#: awkgram.y:550 awkgram.y:558
 msgid "`delete array' is a gawk extension"
 msgstr "`delete array' es una extensi�n de gawk"
 
-#: awkgram.y:569 awkgram.y:577
+#: awkgram.y:572 awkgram.y:580
 msgid "`delete(array)' is a non-portable tawk extension"
 msgstr "`delete(array)' es una extensi�n de gawk que no es transportable"
 
-#: awkgram.y:621
+#: awkgram.y:624
 #, c-format
 msgid "duplicate case values in switch body: %s"
 msgstr "valores case duplicados en el cuerpo de un switch: %s"
 
-#: awkgram.y:631
+#: awkgram.y:634
 msgid "Duplicate `default' detected in switch body"
 msgstr "Se detect� un `default' duplicado en el cuerpo de un switch"
 
-#: awkgram.y:720
+#: awkgram.y:723
 msgid "multistage two-way pipelines don't work"
 msgstr "las l�neas de trabajo de dos v�as multiestado no funcionan"
 
-#: awkgram.y:811
+#: awkgram.y:814
 msgid "regular expression on right of assignment"
 msgstr "expresi�n regular del lado derecho de una asignaci�n"
 
-#: awkgram.y:834
+#: awkgram.y:824
 msgid "regular expression on left of `~' or `!~' operator"
 msgstr "expresi�n regular a la izquierda del operador `~' o `!~'"
 
-#: awkgram.y:840 awkgram.y:913
+#: awkgram.y:830 awkgram.y:903
 msgid "old awk does not support the keyword `in' except after `for'"
 msgstr ""
 "el awk antiguo no admite la palabra clave `in' excepto despu�s de `for'"
 
-#: awkgram.y:846
+#: awkgram.y:836
 msgid "regular expression on right of comparison"
 msgstr "expresi�n regular a la derecha de una comparaci�n"
 
-#: awkgram.y:903
+#: awkgram.y:893
 msgid "non-redirected `getline' undefined inside END action"
 msgstr "`getline' no redirigido indefinido dentro de la acci�n de END"
 
-#: awkgram.y:914
+#: awkgram.y:904
 msgid "old awk does not support multidimensional arrays"
 msgstr "el awk antiguo no admite matrices multidimensionales"
 
-#: awkgram.y:960
+#: awkgram.y:950
 msgid "call of `length' without parentheses is not portable"
 msgstr "la llamada de `length' sin par�ntesis no es transportable"
 
-#: awkgram.y:965
+#: awkgram.y:955
 msgid "call of `length' without parentheses is deprecated by POSIX"
 msgstr "la llamada de `length' sin par�ntesis est� obsoleta por POSIX"
 
-#: awkgram.y:1019
+#: awkgram.y:1009
 msgid "use of non-array as array"
 msgstr "uso de una matriz que no es matriz"
 
-#: awkgram.y:1022
+#: awkgram.y:1012
 msgid "invalid subscript expression"
 msgstr "expresi�n de sub�ndice inv�lida"
 
-#: awkgram.y:1249
+#: awkgram.y:1257
 msgid "unexpected newline or end of string"
 msgstr "nueva l�nea o fin de la cadena inesperados"
 
-#: awkgram.y:1366
+#: awkgram.y:1374
 msgid "empty program text on command line"
 msgstr "texto de programa vac�o en la linea de comando"
 
-#: awkgram.y:1422
+#: awkgram.y:1430
 #, c-format
 msgid "can't open source file `%s' for reading (%s)"
 msgstr "no se puede abrir el fichero fuente `%s' para lectura (%s)"
 
-#: awkgram.y:1520
+#: awkgram.y:1528
 #, c-format
 msgid "can't read sourcefile `%s' (%s)"
 msgstr "no se puede leer el fichero fuente `%s' (%s)"
 
-#: awkgram.y:1528
+#: awkgram.y:1536
 #, c-format
 msgid "source file `%s' is empty"
 msgstr "el fichero fuente `%s' est� vac�o"
 
-#: awkgram.y:1720 awkgram.y:1842 awkgram.y:1860 awkgram.y:2235 awkgram.y:2322
+#: awkgram.y:1728 awkgram.y:1850 awkgram.y:1868 awkgram.y:2243 awkgram.y:2330
 msgid "source file does not end in newline"
 msgstr "el fichero fuente no termina con l�nea nueva"
 
-#: awkgram.y:1782
+#: awkgram.y:1790
 msgid "unterminated regexp ends with `\\' at end of file"
 msgstr "expresi�n regular sin terminar termina con `\\` al final del fichero"
 
-#: awkgram.y:1806
+#: awkgram.y:1814
 #, c-format
 msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk"
 msgstr ""
 "%s: %d: el modificador de expresi�n regular `/.../%c` de tawk no funciona en "
 "gawk"
 
-#: awkgram.y:1810
+#: awkgram.y:1818
 #, c-format
 msgid "tawk regex modifier `/.../%c' doesn't work in gawk"
 msgstr ""
 "el modificador de expresi�n regular `/.../%c` de tawk no funciona en gawk"
 
-#: awkgram.y:1817
+#: awkgram.y:1825
 msgid "unterminated regexp"
 msgstr "expresi�n regular sin terminar"
 
-#: awkgram.y:1820
+#: awkgram.y:1828
 msgid "unterminated regexp at end of file"
 msgstr "expresi�n regular sin terminar al final del fichero"
 
-#: awkgram.y:1889
+#: awkgram.y:1897
 msgid "use of `\\ #...' line continuation is not portable"
 msgstr "el uso de la continuaci�n de l�nea `\\ #...' no es transportable"
 
-#: awkgram.y:1902
+#: awkgram.y:1910
 msgid "backslash not last character on line"
 msgstr "la barra invertida no es el �ltimo caracter en la l�nea"
 
-#: awkgram.y:1947
+#: awkgram.y:1955
 msgid "POSIX does not allow operator `**='"
 msgstr "POSIX no permite el operador `**='"
 
-#: awkgram.y:1949
+#: awkgram.y:1957
 msgid "old awk does not support operator `**='"
 msgstr "el awk antiguo no admite el operador `**='"
 
-#: awkgram.y:1958
+#: awkgram.y:1966
 msgid "POSIX does not allow operator `**'"
 msgstr "POSIX no permite el operador `**'"
 
-#: awkgram.y:1960
+#: awkgram.y:1968
 msgid "old awk does not support operator `**'"
 msgstr "el awk antiguo no admite el operador `**='"
 
-#: awkgram.y:1991
+#: awkgram.y:1999
 msgid "operator `^=' is not supported in old awk"
 msgstr "el operador `^=' no se admite en el awk antiguo"
 
-#: awkgram.y:1999
+#: awkgram.y:2007
 msgid "operator `^' is not supported in old awk"
 msgstr "el operador `^' no se admite en el awk antiguo"
 
-#: awkgram.y:2083 awkgram.y:2098
+#: awkgram.y:2091 awkgram.y:2106
 msgid "unterminated string"
 msgstr "cadena sin terminar"
 
-#: awkgram.y:2283
+#: awkgram.y:2291
 #, c-format
 msgid "invalid char '%c' in expression"
 msgstr "caracter '%c' inv�lido en la expresi�n"
 
-#: awkgram.y:2331
+#: awkgram.y:2339
 #, c-format
 msgid "`%s' is a gawk extension"
 msgstr "`%s' es una extensi�n de gawk"
 
-#: awkgram.y:2334
+#: awkgram.y:2342
 #, c-format
 msgid "`%s' is a Bell Labs extension"
 msgstr "`%s' es una extensi�n de Bell Labs"
 
-#: awkgram.y:2337
+#: awkgram.y:2345
 #, c-format
 msgid "POSIX does not allow `%s'"
 msgstr "POSIX no permite `%s'"
 
-#: awkgram.y:2341
+#: awkgram.y:2349
 #, c-format
 msgid "`%s' is not supported in old awk"
 msgstr "`%s' no se admite en el awk antiguo"
 
-#: awkgram.y:2367
+#: awkgram.y:2375
 msgid "`goto' considered harmful!\n"
 msgstr "�`goto' se considera da�ino!\n"
 
-#: awkgram.y:2429
+#: awkgram.y:2437
 #, c-format
 msgid "%d is invalid as number of arguments for %s"
 msgstr "%d es inv�lido como n�mero de argumentos para %s"
 
-#: awkgram.y:2448 awkgram.y:2451
+#: awkgram.y:2456 awkgram.y:2459
 msgid "match: third argument is a gawk extension"
 msgstr "match: el tercer argumento es una extensi�n de gawk"
 
-#: awkgram.y:2464
+#: awkgram.y:2472
 #, c-format
 msgid "%s: string literal as last arg of substitute has no effect"
 msgstr ""
 "%s: la literal de cadena como �ltimo argumento de substitute no tiene efecto"
 
-#: awkgram.y:2467
+#: awkgram.y:2475
 #, c-format
 msgid "%s third parameter is not a changeable object"
 msgstr "el tercer argumento de %s no es un objecto que se puede cambiar"
 
-#: awkgram.y:2494 awkgram.y:2497
+#: awkgram.y:2502 awkgram.y:2505
 msgid "close: second argument is a gawk extension"
 msgstr "close: el segundo argumento es una extensi�n de gawk"
 
-#: awkgram.y:2507
+#: awkgram.y:2515
 msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore"
 msgstr ""
 "el uso de dcgettext(_\"...\") es incorrecto: quite el subrayado inicial"
 
-#: awkgram.y:2522
+#: awkgram.y:2530
 msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore"
 msgstr ""
 "el uso de dcngettext(_\"...\") es incorrecto: quite el subrayado inicial"
 
-#: awkgram.y:2594
+#: awkgram.y:2602
 #, c-format
 msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d"
 msgstr "funci�n `%s': par�metro #%d, `%s', duplica el par�metro #%d"
 
-#: awkgram.y:2627
+#: awkgram.y:2635
 #, c-format
 msgid "function `%s': parameter `%s' shadows global variable"
 msgstr "funci�n `%s': par�metro `%s' oscurece la variable global"
 
-#: awkgram.y:2739
+#: awkgram.y:2747
 #, c-format
 msgid "could not open `%s' for writing (%s)"
 msgstr "no se puede abrir `%s' para escritura (%s)"
 
-#: awkgram.y:2740 profile.c:94
+#: awkgram.y:2748 profile.c:95
 msgid "sending profile to standard error"
 msgstr "se env�a el perfil a la salida est�ndar de error"
 
-#: awkgram.y:2772
+#: awkgram.y:2780
 #, c-format
 msgid "%s: close failed (%s)"
 msgstr "%s: fall� close (%s)"
 
-#: awkgram.y:2893
+#: awkgram.y:2901
 msgid "shadow_funcs() called twice!"
 msgstr "�se llam� shadow_funcs() dos veces!"
 
-#: awkgram.y:2920
+#: awkgram.y:2928
 msgid "there were shadowed variables."
 msgstr "hay variables opacadas."
 
-#: awkgram.y:2993
+#: awkgram.y:3001
 #, c-format
 msgid "function `%s': can't use function name as parameter name"
 msgstr ""
 "funci�n `%s': no se puede usar un nombre de funci�n como nombre de par�metro"
 
-#: awkgram.y:3003
+#: awkgram.y:3004
+#, c-format
+msgid "function `%s': can't use special variable `%s' as a function parameter"
+msgstr ""
+"funci�n `%s': no se puede usar la variable especial `%s' como un par�metro "
+"de funci�n"
+
+#: awkgram.y:3014
 #, c-format
 msgid "function name `%s' previously defined"
 msgstr "el nombre de funci�n `%s' se defini� previamente"
 
-#: awkgram.y:3154 awkgram.y:3160
+#: awkgram.y:3165 awkgram.y:3171
 #, c-format
 msgid "function `%s' called but never defined"
 msgstr "se llam� a la funci�n `%s' pero nunca se defini�"
 
-#: awkgram.y:3163
+#: awkgram.y:3174
 #, c-format
 msgid "function `%s' defined but never called"
 msgstr "se defini� la funci�n `%s' pero nunca se llam�"
 
-#: awkgram.y:3190
+#: awkgram.y:3201
 #, c-format
 msgid "regexp constant for parameter #%d yields boolean value"
 msgstr ""
 "la constante de expresi�n regular para el par�metro #%d da un valor booleano"
 
-#: awkgram.y:3234
+#: awkgram.y:3245
 #, c-format
 msgid ""
 "function `%s' called with space between name and `(',\n"
@@ -408,204 +416,236 @@
 "se llam� la funci�n `%s' con espacio entre el nombre y el `(',\n"
 "o se us� como una variable o una matriz"
 
-#: builtin.c:119
+#: awkgram.y:3667 eval.c:1394
+#, c-format
+msgid "division by zero attempted in `%%'"
+msgstr "se intent� una divisi�n por cero en `%%'"
+
+#: builtin.c:122
 #, c-format
 msgid "%s to \"%s\" failed (%s)"
 msgstr "fall� %s a \"%s\" (%s)"
 
-#: builtin.c:120
+#: builtin.c:123
 msgid "standard output"
 msgstr "salida est�ndar"
 
-#: builtin.c:121
+#: builtin.c:124
 msgid "reason unknown"
 msgstr "raz�n desconocida"
 
-#: builtin.c:134
+#: builtin.c:137
 msgid "exp: received non-numeric argument"
 msgstr "exp: se recibi� un argumento que no es un n�mero"
 
-#: builtin.c:140
+#: builtin.c:143
 #, c-format
 msgid "exp: argument %g is out of range"
 msgstr "exp: el argumento %g est� fuera de rango"
 
-#: builtin.c:198
+#: builtin.c:201
 #, c-format
 msgid "fflush: cannot flush: pipe `%s' opened for reading, not writing"
 msgstr ""
 "fflush: no se puede limpiar: se abri� la tuber�a `%s' para lectura, no para "
 "escritura"
 
-#: builtin.c:201
+#: builtin.c:204
 #, c-format
 msgid "fflush: cannot flush: file `%s' opened for reading, not writing"
 msgstr ""
 "fflush: no se puede limpiar: se abri� el fichero `%s' para lectura, no para "
 "escritura"
 
-#: builtin.c:213
+#: builtin.c:216
 #, c-format
 msgid "fflush: `%s' is not an open file, pipe or co-process"
 msgstr "fflush: `%s' no es un fichero abierto, tuber�a o co-proceso"
 
-#: builtin.c:306
+#: builtin.c:310
 msgid "index: received non-string first argument"
 msgstr "index: el primer argumento recibido no es una cadena"
 
-#: builtin.c:308
+#: builtin.c:312
 msgid "index: received non-string second argument"
 msgstr "index: el segundo argumento recibido no es una cadena"
 
-#: builtin.c:423
+#: builtin.c:434
 msgid "int: received non-numeric argument"
 msgstr "int: se recibi� un argumento que no es un n�mero"
 
-#: builtin.c:448
+#: builtin.c:464
 msgid "`length(array)' is a gawk extension"
 msgstr "`length(array)' es una extensi�n de gawk"
 
-#: builtin.c:458
+#: builtin.c:473
+msgid "length: untyped argument will be forced to scalar"
+msgstr "length: un argumento sin tipo se forzar� a escalar"
+
+#: builtin.c:477
 msgid "length: received non-string argument"
 msgstr "length: se recibi� un argumento que no es una cadena"
 
-#: builtin.c:483
+#: builtin.c:508
 msgid "log: received non-numeric argument"
 msgstr "log: se recibi� un argumento que no es un n�mero"
 
-#: builtin.c:486
+#: builtin.c:511
 #, c-format
 msgid "log: received negative argument %g"
 msgstr "log: se recibi� el argumento negativo %g"
 
-#: builtin.c:693 builtin.c:696
+#: builtin.c:719 builtin.c:722
 msgid "must use `count$' on all formats or none"
 msgstr "se debe utilizar `count$' en todos los formatos o en ninguno"
 
-#: builtin.c:799
+#: builtin.c:783
+#, c-format
+msgid "field width is ignored for `%%%%' specifier"
+msgstr "se descarta la anchura del campo para el especificador `%%%%'"
+
+#: builtin.c:785
+#, c-format
+msgid "precision is ignored for `%%%%' specifier"
+msgstr "se descarta la precisi�n para el especificador `%%%%'"
+
+#: builtin.c:787
+#, c-format
+msgid "field width and precision are ignored for `%%%%' specifier"
+msgstr ""
+"se descartan la anchura del campo y la precisi�n para el especificador `%%%%'"
+
+#: builtin.c:838
 msgid "`$' is not permitted in awk formats"
 msgstr "no se permite `$' en los formatos de awk"
 
-#: builtin.c:805
+#: builtin.c:844
 msgid "arg count with `$' must be > 0"
 msgstr "la cuenta de argumentos con `$' debe ser > 0"
 
-#: builtin.c:807
+#: builtin.c:846
 #, c-format
 msgid "arg count %ld greater than total number of supplied arguments"
 msgstr ""
 "la cuenta de argumentos %ld es mayor que el n�mero total de argumentos "
 "proporcionados"
 
-#: builtin.c:809
+#: builtin.c:848
 msgid "`$' not permitted after period in format"
 msgstr "no se permite `$' despu�s de un punto en el formato"
 
-#: builtin.c:822
+#: builtin.c:861
 msgid "no `$' supplied for positional field width or precision"
 msgstr ""
 "no se proporciona `$' para el ancho o la precisi�n del campo posicional"
 
-#: builtin.c:888
+#: builtin.c:927
 msgid "`l' is meaningless in awk formats; ignored"
 msgstr "`l' no tiene significado en los formatos de awk; se descarta"
 
-#: builtin.c:892
+#: builtin.c:931
 msgid "`l' is not permitted in POSIX awk formats"
 msgstr "no se permite `l' en los formatos POSIX de awk"
 
-#: builtin.c:903
+#: builtin.c:942
 msgid "`L' is meaningless in awk formats; ignored"
 msgstr "`L' no tiene significado en los formatos de awk; se descarta"
 
-#: builtin.c:907
+#: builtin.c:946
 msgid "`L' is not permitted in POSIX awk formats"
 msgstr "no se permite `L' en los formatos POSIX de awk"
 
-#: builtin.c:918
+#: builtin.c:957
 msgid "`h' is meaningless in awk formats; ignored"
 msgstr "`h' no tiene significado en los formatos de awk; se descarta"
 
-#: builtin.c:922
+#: builtin.c:961
 msgid "`h' is not permitted in POSIX awk formats"
 msgstr "no se permite `h' en los formatos POSIX de awk"
 
-#: builtin.c:1182
+#: builtin.c:1236
 #, c-format
 msgid "[s]printf: value %g is out of range for `%%%c' format"
 msgstr "[s]printf: el valor %g est� fuera del rango para el formato `%%%c'"
 
-#: builtin.c:1266
+#: builtin.c:1316
+#, c-format
+msgid "ignoring unknown format specifier character `%c': no argument converted"
+msgstr ""
+"se descarta el car�cter especificador de formato `%c' desconocido: no se "
+"convirti� ning�n argumento"
+
+#: builtin.c:1322
 msgid "not enough arguments to satisfy format string"
 msgstr "no hay suficientes argumentos para satisfacer a la cadena de formato"
 
-#: builtin.c:1268
+#: builtin.c:1324
 msgid "^ ran out for this one"
 msgstr "se acab� ^ para �ste"
 
-#: builtin.c:1274
+#: builtin.c:1330
 msgid "[s]printf: format specifier does not have control letter"
 msgstr "[s]printf: el especificador de formato no tiene letras de control"
 
-#: builtin.c:1277
+#: builtin.c:1333
 msgid "too many arguments supplied for format string"
 msgstr "se proporcionaron demasiados argumentos para la cadena de formato"
 
-#: builtin.c:1352 builtin.c:1355
+#: builtin.c:1408 builtin.c:1411
 msgid "printf: no arguments"
 msgstr "printf: sin argumentos"
 
-#: builtin.c:1379
+#: builtin.c:1435
 msgid "sqrt: received non-numeric argument"
 msgstr "sqrt: se recibi� un argumento que no es un n�mero"
 
-#: builtin.c:1383
+#: builtin.c:1439
 #, c-format
 msgid "sqrt: called with negative argument %g"
 msgstr "sqrt: se llam� con el argumento negativo %g"
 
-#: builtin.c:1407
+#: builtin.c:1463
 #, c-format
 msgid "substr: start index %g is invalid, using 1"
 msgstr "substr: el �ndice de inicio %g es inv�lido, se usa 1"
 
-#: builtin.c:1412
+#: builtin.c:1468
 #, c-format
 msgid "substr: non-integer start index %g will be truncated"
 msgstr "substr: se truncar� el �ndice de inicio no entero %g"
 
-#: builtin.c:1431
+#: builtin.c:1494
 #, c-format
 msgid "substr: length %g is not >= 1"
 msgstr "substr: la longitud %g no es >= 1"
 
-#: builtin.c:1433
+#: builtin.c:1496
 #, c-format
 msgid "substr: length %g is not >= 0"
 msgstr "substr: la longitud %g no es >= 0"
 
-#: builtin.c:1440
+#: builtin.c:1503
 #, c-format
 msgid "substr: non-integer length %g will be truncated"
 msgstr "substr: se truncar� la longitud no entera %g"
 
-#: builtin.c:1445
+#: builtin.c:1508
 #, c-format
 msgid "substr: length %g too big for string indexing, truncating to %g"
 msgstr ""
 "substr: la longitud %g es demasiado grande para ser �ndice de cadena, se "
 "trunca a %g"
 
-#: builtin.c:1457
+#: builtin.c:1520
 msgid "substr: source string is zero length"
 msgstr "substr: la cadena de origen es de longitud cero"
 
-#: builtin.c:1473
+#: builtin.c:1536
 #, c-format
 msgid "substr: start index %g is past end of string"
 msgstr "substr: el �ndice de inicio %g est� despu�s del fin de la cadena"
 
-#: builtin.c:1481
+#: builtin.c:1544
 #, c-format
 msgid ""
 "substr: length %g at start index %g exceeds length of first argument (%lu)"
@@ -613,263 +653,263 @@
 "substr: la cadena %g en el �ndice de inicio %g excede la longitud del primer "
 "argumento (%lu)"
 
-#: builtin.c:1558
+#: builtin.c:1621
 msgid "strftime: received non-string first argument"
 msgstr "strftime: el primer argumento recibido no es una cadena"
 
-#: builtin.c:1564
+#: builtin.c:1627
 msgid "strftime: received empty format string"
 msgstr "strftime: se recibi� una cadena de formato vac�a"
 
-#: builtin.c:1573
+#: builtin.c:1636
 msgid "strftime: received non-numeric second argument"
 msgstr "strftime: el segundo argumento recibido no es un n�mero"
 
-#: builtin.c:1650
+#: builtin.c:1713
 msgid "mktime: received non-string argument"
 msgstr "mktime: se recibi� un argumento que no es una cadena"
 
-#: builtin.c:1695
+#: builtin.c:1758
 msgid "system: received non-string argument"
 msgstr "system: se recibi� un argumento que no es una cadena"
 
-#: builtin.c:1816 eval.c:2041
+#: builtin.c:1879 eval.c:2145
 #, c-format
 msgid "reference to uninitialized field `$%d'"
 msgstr "referencia al campo sin inicializar `$%d'"
 
-#: builtin.c:1921
+#: builtin.c:1984
 msgid "tolower: received non-string argument"
 msgstr "tolower: se recibi� un argumento que no es una cadena"
 
-#: builtin.c:1951
+#: builtin.c:2014
 msgid "toupper: received non-string argument"
 msgstr "toupper: se recibi� un argumento que no es una cadena"
 
-#: builtin.c:1984
+#: builtin.c:2047
 msgid "atan2: received non-numeric first argument"
 msgstr "atan2: el primer argumento recibido no es un n�mero"
 
-#: builtin.c:1986
+#: builtin.c:2049
 msgid "atan2: received non-numeric second argument"
 msgstr "atan2: el segundo argumento recibido no es un n�mero"
 
-#: builtin.c:2005
+#: builtin.c:2068
 msgid "sin: received non-numeric argument"
 msgstr "sin: se recibi� un argumento que no es un n�mero"
 
-#: builtin.c:2021
+#: builtin.c:2084
 msgid "cos: received non-numeric argument"
 msgstr "cos: se recibi� un argumento que no es un n�mero"
 
-#: builtin.c:2071
+#: builtin.c:2137
 msgid "srand: received non-numeric argument"
 msgstr "srand: se recibi� un argumento que no es un n�mero"
 
-#: builtin.c:2106
+#: builtin.c:2172
 msgid "match: third argument is not an array"
 msgstr "match: el tercer argumento no es una matriz"
 
-#: builtin.c:2650
+#: builtin.c:2719
 msgid "gensub: third argument of 0 treated as 1"
 msgstr "gensub: el tercer argumento de 0 se trata como 1"
 
-#: builtin.c:2766
+#: builtin.c:2835
 msgid "lshift: received non-numeric first argument"
 msgstr "lshift: el primer argumento recibido no es un n�mero"
 
-#: builtin.c:2768
+#: builtin.c:2837
 msgid "lshift: received non-numeric second argument"
 msgstr "lshift: el segundo argumento recibido no es un n�mero"
 
-#: builtin.c:2774
+#: builtin.c:2843
 #, c-format
 msgid "lshift(%lf, %lf): negative values will give strange results"
 msgstr "lshift(%lf, %lf): los valores negativos dar�n resultados extra�os"
 
-#: builtin.c:2776
+#: builtin.c:2845
 #, c-format
 msgid "lshift(%lf, %lf): fractional values will be truncated"
 msgstr "lshift(%lf, %lf): los valores fraccionarios se truncar�n"
 
-#: builtin.c:2778
+#: builtin.c:2847
 #, c-format
 msgid "lshift(%lf, %lf): too large shift value will give strange results"
 msgstr ""
 "lshift(%lf, %lf): un valor de desplazamiento muy grande dar� resultados "
 "extra�os"
 
-#: builtin.c:2804
+#: builtin.c:2873
 msgid "rshift: received non-numeric first argument"
 msgstr "rshift: el primer argumento recibido no es un n�mero"
 
-#: builtin.c:2806
+#: builtin.c:2875
 msgid "rshift: received non-numeric second argument"
 msgstr "rshift: el segundo argumento recibido no es un n�mero"
 
-#: builtin.c:2812
+#: builtin.c:2881
 #, c-format
 msgid "rshift(%lf, %lf): negative values will give strange results"
 msgstr "rshift(%lf, %lf): los valores negativos dar�n resultados extra�os"
 
-#: builtin.c:2814
+#: builtin.c:2883
 #, c-format
 msgid "rshift(%lf, %lf): fractional values will be truncated"
 msgstr "rshift(%lf, %lf): los valores fraccionarios ser�n truncados"
 
-#: builtin.c:2816
+#: builtin.c:2885
 #, c-format
 msgid "rshift(%lf, %lf): too large shift value will give strange results"
 msgstr ""
 "rshift(%lf, %lf): un valor de desplazamiento muy grande dar� resultados "
 "extra�os"
 
-#: builtin.c:2842
+#: builtin.c:2911
 msgid "and: received non-numeric first argument"
 msgstr "and: el primer argumento recibido no es un n�mero"
 
-#: builtin.c:2844
+#: builtin.c:2913
 msgid "and: received non-numeric second argument"
 msgstr "and: el segundo argumento recibido no es un n�mero"
 
-#: builtin.c:2850
+#: builtin.c:2919
 #, c-format
 msgid "and(%lf, %lf): negative values will give strange results"
 msgstr "and(%lf, %lf): los valores negativos dar�n resultados extra�os"
 
-#: builtin.c:2852
+#: builtin.c:2921
 #, c-format
 msgid "and(%lf, %lf): fractional values will be truncated"
 msgstr "and(%lf, %lf): los valores fraccionarios ser�n truncados"
 
-#: builtin.c:2878
+#: builtin.c:2947
 msgid "or: received non-numeric first argument"
 msgstr "or: el primer argumento recibido no es un n�mero"
 
-#: builtin.c:2880
+#: builtin.c:2949
 msgid "or: received non-numeric second argument"
 msgstr "or: el segundo argumento recibido no es un n�mero"
 
-#: builtin.c:2886
+#: builtin.c:2955
 #, c-format
 msgid "or(%lf, %lf): negative values will give strange results"
 msgstr "or(%lf, %lf): los valores negativos dar�n resultados extra�os"
 
-#: builtin.c:2888
+#: builtin.c:2957
 #, c-format
 msgid "or(%lf, %lf): fractional values will be truncated"
 msgstr "or(%lf, %lf): los valores fraccionarios ser�n truncados"
 
-#: builtin.c:2914
+#: builtin.c:2983
 msgid "xor: received non-numeric first argument"
 msgstr "xor: el primer argumento recibido no es un n�mero"
 
-#: builtin.c:2916
+#: builtin.c:2985
 msgid "xor: received non-numeric second argument"
 msgstr "xor: el segundo argumento recibido no es un n�mero"
 
-#: builtin.c:2922
+#: builtin.c:2991
 #, c-format
 msgid "xor(%lf, %lf): negative values will give strange results"
 msgstr "xor(%lf, %lf): los valores negativos dar�n resultados extra�os"
 
-#: builtin.c:2924
+#: builtin.c:2993
 #, c-format
 msgid "xor(%lf, %lf): fractional values will be truncated"
 msgstr "xor(%lf, %lf): los valores fraccionarios se truncar�n"
 
-#: builtin.c:2948
+#: builtin.c:3017
 msgid "compl: received non-numeric argument"
 msgstr "compl: se recibi� un argumento que no es un n�mero"
 
-#: builtin.c:2954
+#: builtin.c:3023
 #, c-format
 msgid "compl(%lf): negative value will give strange results"
 msgstr "compl(%lf): el valor negativo dar� resultados extra�os"
 
-#: builtin.c:2956
+#: builtin.c:3025
 #, c-format
 msgid "compl(%lf): fractional value will be truncated"
 msgstr "compl(%lf): el valor fraccionario se truncar�"
 
-#: builtin.c:3129
+#: builtin.c:3198
 #, c-format
 msgid "dcgettext: `%s' is not a valid locale category"
 msgstr "dcgettext: `%s' no es una categor�a local v�lida"
 
-#: eval.c:303
+#: eval.c:372
 #, c-format
 msgid "unknown nodetype %d"
 msgstr "tipo de nodo %d desconocido"
 
-#: eval.c:353
+#: eval.c:422
 msgid "buffer overflow in genflags2str"
 msgstr "desbordamiento de almacenamiento temporal en genflags2str"
 
-#: eval.c:385 eval.c:391 profile.c:817
+#: eval.c:454 eval.c:460 profile.c:781
 #, c-format
 msgid "attempt to use array `%s' in a scalar context"
 msgstr "se intent� usar la matriz `%s' en un contexto escalar"
 
-#: eval.c:733
+#: eval.c:802
 #, c-format
 msgid "for loop: array `%s' changed size from %ld to %ld during loop execution"
 msgstr ""
 "ciclo for: la matriz `%s' cambi� de tama�o de %ld a %ld durante la ejecuci�n "
 "del ciclo"
 
-#: eval.c:754
+#: eval.c:823
 msgid "`break' outside a loop is not portable"
 msgstr "`break' fuera de un ciclo no es transportable"
 
-#: eval.c:758
+#: eval.c:827
 msgid "`break' outside a loop is not allowed"
 msgstr "no se permite `break' fuera de un ciclo"
 
-#: eval.c:775
+#: eval.c:844
 msgid "`continue' outside a loop is not portable"
 msgstr "`continue' fuera de un ciclo no es transportable"
 
-#: eval.c:779
+#: eval.c:848
 msgid "`continue' outside a loop is not allowed"
 msgstr "no se permite `continue' fuera de un ciclo"
 
-#: eval.c:813
+#: eval.c:882
 msgid "`next' cannot be called from a BEGIN rule"
 msgstr "`next' no se puede llamar desde una regla BEGIN"
 
-#: eval.c:815
+#: eval.c:884
 msgid "`next' cannot be called from an END rule"
 msgstr "`next' no se puede llamar desde una regla END"
 
-#: eval.c:824
+#: eval.c:893
 msgid "`nextfile' cannot be called from a BEGIN rule"
 msgstr "`nextfile' no se puede llamar desde una regla BEGIN"
 
-#: eval.c:826
+#: eval.c:895
 msgid "`nextfile' cannot be called from an END rule"
 msgstr "`nextfile' no se puede llamar desde una regla END"
 
-#: eval.c:875
+#: eval.c:952
 msgid "statement has no effect"
 msgstr "la declaraci�n no tiene efecto"
 
-#: eval.c:952 eval.c:1895
+#: eval.c:1029 eval.c:1999
 #, c-format
 msgid "can't use function name `%s' as variable or array"
 msgstr "no se puede usar el nombre de la funci�n `%s' como variable o matriz"
 
-#: eval.c:959 eval.c:965
+#: eval.c:1036 eval.c:1042
 #, c-format
 msgid "reference to uninitialized argument `%s'"
 msgstr "referencia al argumento sin inicializar `%s'"
 
-#: eval.c:974 eval.c:1904
+#: eval.c:1051 eval.c:2008
 #, c-format
 msgid "reference to uninitialized variable `%s'"
 msgstr "referencia a la variable sin inicializar `%s'"
 
-#: eval.c:1120
+#: eval.c:1197
 msgid ""
 "concatenation: side effects in one expression have changed the length of "
 "another!"
@@ -877,44 +917,39 @@
 "concatenaci�n: �Los efectos laterales en una expresi�n han cambiado la "
 "longitud de otra!"
 
-#: eval.c:1202
+#: eval.c:1301
 msgid "assignment used in conditional context"
 msgstr "se us� una asignaci�n en un contexto condicional"
 
-#: eval.c:1280
+#: eval.c:1379
 msgid "division by zero attempted"
 msgstr "se intent� una divisi�n por cero"
 
-#: eval.c:1295
-#, c-format
-msgid "division by zero attempted in `%%'"
-msgstr "se intent� una divisi�n por cero en `%%'"
-
-#: eval.c:1310 profile.c:693
+#: eval.c:1409 profile.c:657
 #, c-format
 msgid "illegal type (%s) in tree_eval"
 msgstr "tipo ilegal (%s) en tree_eval"
 
-#: eval.c:1473
+#: eval.c:1572
 msgid "division by zero attempted in `/='"
 msgstr "se intent� una divisi�n por cero en `/='"
 
-#: eval.c:1495
+#: eval.c:1594
 #, c-format
 msgid "division by zero attempted in `%%='"
 msgstr "se intent� una divisi�n por cero en `%%='"
 
-#: eval.c:1760
+#: eval.c:1859
 #, c-format
 msgid "function `%s' called with more arguments than declared"
 msgstr "se llam� a la funci�n `%s' con m�s argumentos de los declarados"
 
-#: eval.c:1804
+#: eval.c:1904
 #, c-format
 msgid "function `%s' not defined"
 msgstr "la funci�n `%s' no est� definida"
 
-#: eval.c:1867
+#: eval.c:1971
 #, c-format
 msgid ""
 "\n"
@@ -925,42 +960,47 @@
 "\t# Pila de Llamadas de Funciones:\n"
 "\n"
 
-#: eval.c:1870
+#: eval.c:1974
 #, c-format
 msgid "\t# -- main --\n"
 msgstr "\t# -- principal --\n"
 
-#: eval.c:2025
+#: eval.c:2129
 msgid "attempt to field reference from non-numeric value"
 msgstr "se intent� una referencia de campo desde un valor que no es un n�mero"
 
-#: eval.c:2027
+#: eval.c:2131
 msgid "attempt to reference from null string"
 msgstr "se intent� una referencia desde una cadena nula"
 
-#: eval.c:2033
+#: eval.c:2137
 #, c-format
 msgid "attempt to access field %d"
 msgstr "se intent� accesar al campo %d"
 
-#: eval.c:2054 eval.c:2061 profile.c:914
+#: eval.c:2158 eval.c:2165 profile.c:836
 msgid "assignment is not allowed to result of builtin function"
 msgstr "no se permite la asignaci�n como resultado de una funci�n interna"
 
-#: eval.c:2125
+#: eval.c:2229
 msgid "`IGNORECASE' is a gawk extension"
 msgstr "`IGNORECASE' es una extensi�n de gawk"
 
-#: eval.c:2155
+#: eval.c:2258
 msgid "`BINMODE' is a gawk extension"
 msgstr "`BINMODE' es una extensi�n de gawk"
 
-#: eval.c:2277
+#: eval.c:2316
+#, c-format
+msgid "BINMODE value `%s' is invalid, treated as 3"
+msgstr "el valor BINMODE `%s' es inv�lido; se trata como 3"
+
+#: eval.c:2406
 #, c-format
 msgid "bad `%sFMT' specification `%s'"
 msgstr "especificaci�n `%sFMT' `%s' err�nea"
 
-#: eval.c:2355
+#: eval.c:2484
 msgid "turning off `--lint' due to assignment to `LINT'"
 msgstr "se desactiva `--lint' debido a una asignaci�n a `LINT'"
 
@@ -1040,569 +1080,577 @@
 msgid "NF set to negative value"
 msgstr "NF con un valor negativo"
 
-#: field.c:823
+#: field.c:875
 msgid "split: second argument is not an array"
 msgstr "split: el segundo argumento no es una matriz"
 
-#: field.c:857
+#: field.c:909
 msgid "split: null string for third arg is a gawk extension"
 msgstr ""
 "split: la cadena nula para el tercer argumento es una extensi�n de gawk"
 
-#: field.c:909
+#: field.c:961
 msgid "`FIELDWIDTHS' is a gawk extension"
 msgstr "`FIELDWIDTHS' es una extensi�n gawk"
 
-#: field.c:939 field.c:953
+#: field.c:991 field.c:1005
 #, c-format
 msgid "invalid FIELDWIDTHS value, near `%s'"
 msgstr "valor de FIELDWIDTHS inv�lido, cerca de `%s'"
 
-#: field.c:1036
+#: field.c:1088
 msgid "null string for `FS' is a gawk extension"
 msgstr "la cadena nula para `FS' es una extensi�n de gawk"
 
-#: field.c:1040
+#: field.c:1092
 msgid "old awk does not support regexps as value of `FS'"
 msgstr "el awk antiguo no admite expresiones regulares como valor de `FS'"
 
-#: getopt.c:571 getopt.c:587
+#: getopt.c:570 getopt.c:586
 #, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: la opci�n `%s' es ambigua\n"
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: la opci�n '%s' es ambigua\n"
 
-#: getopt.c:620 getopt.c:624
+#: getopt.c:619 getopt.c:623
 #, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: la opci�n `--%s' no admite ning�n argumento\n"
+msgid "%s: option '--%s' doesn't allow an argument\n"
+msgstr "%s: la opci�n '--%s' no admite ning�n argumento\n"
 
-#: getopt.c:633 getopt.c:638
+#: getopt.c:632 getopt.c:637
 #, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: la opci�n `%c%s' no admite ning�n argumento\n"
+msgid "%s: option '%c%s' doesn't allow an argument\n"
+msgstr "%s: la opci�n '%c%s' no admite ning�n argumento\n"
 
-#: getopt.c:681 getopt.c:700 getopt.c:1016 getopt.c:1035
+#: getopt.c:680 getopt.c:699 getopt.c:1002 getopt.c:1021
 #, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: la opci�n `%s' requiere un argumento\n"
+msgid "%s: option '%s' requires an argument\n"
+msgstr "%s: la opci�n '%s' requiere un argumento\n"
 
-#: getopt.c:738 getopt.c:741
+#: getopt.c:737 getopt.c:740
 #, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: no se reconoce la opci�n `--%s'\n"
+msgid "%s: unrecognized option '--%s'\n"
+msgstr "%s: no se reconoce la opci�n '--%s'\n"
 
-#: getopt.c:749 getopt.c:752
+#: getopt.c:748 getopt.c:751
 #, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: no se reconoce la opci�n `%c%s'\n"
+msgid "%s: unrecognized option '%c%s'\n"
+msgstr "%s: no se reconoce la opci�n '%c%s'\n"
 
-#: getopt.c:804 getopt.c:807
+#: getopt.c:800 getopt.c:803
 #, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: opci�n ilegal -- %c\n"
+msgid "%s: invalid option -- '%c'\n"
+msgstr "%s: opci�n inv�lida -- '%c'\n"
 
-#: getopt.c:813 getopt.c:816
+#: getopt.c:853 getopt.c:870 getopt.c:1073 getopt.c:1091
 #, c-format
-msgid "%s: invalid option -- %c\n"
-msgstr "%s: opci�n inv�lida -- %c\n"
+msgid "%s: option requires an argument -- '%c'\n"
+msgstr "%s: la opci�n requiere un argumento -- '%c'\n"
 
-#: getopt.c:868 getopt.c:884 getopt.c:1088 getopt.c:1106 main.c:461
+#: getopt.c:923 getopt.c:939
 #, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: la opci�n requiere un argumento -- %c\n"
+msgid "%s: option '-W %s' is ambiguous\n"
+msgstr "%s: la opci�n '-W %s' es ambigua\n"
 
-#: getopt.c:937 getopt.c:953
+#: getopt.c:963 getopt.c:981
 #, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: la opci�n `-W %s' es ambigua\n"
+msgid "%s: option '-W %s' doesn't allow an argument\n"
+msgstr "%s: la opci�n '-W %s' no admite ning�n argumento\n"
 
-#: getopt.c:977 getopt.c:995
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: la opci�n `-W %s' no admite ning�n argumento\n"
-
-#: io.c:345
+#: io.c:322 io.c:352
 #, c-format
 msgid "cannot open file `%s' for reading (%s)"
 msgstr "no se puede abrir el fichero `%s' para lectura (%s)"
 
-#: io.c:436
+#: io.c:443
 #, c-format
 msgid "close of fd %d (`%s') failed (%s)"
 msgstr "fall� al cerrar el df %d (`%s') (%s)"
 
-#: io.c:575
+#: io.c:583
 #, c-format
 msgid "invalid tree type %s in redirect()"
 msgstr "tipo de �rbol %s inv�lido en redirect()"
 
-#: io.c:581
+#: io.c:589
 #, c-format
 msgid "expression in `%s' redirection only has numeric value"
 msgstr "la expresi�n en la redirecci�n `%s' s�lo tiene un valor num�rico"
 
-#: io.c:587
+#: io.c:595
 #, c-format
 msgid "expression for `%s' redirection has null string value"
 msgstr "la expresi�n para la redirecci�n `%s' tiene un valor de cadena nula"
 
-#: io.c:592
+#: io.c:600
 #, c-format
 msgid "filename `%s' for `%s' redirection may be result of logical expression"
 msgstr ""
 "el fichero `%s' para la redirecci�n `%s' puede ser resultado de una "
 "expresi�n l�gica"
 
-#: io.c:630
+#: io.c:638
 #, c-format
 msgid "unnecessary mixing of `>' and `>>' for file `%.*s'"
 msgstr "mezcla innecesaria de `>' y `>>' para el fichero `%.*s'"
 
-#: io.c:682
+#: io.c:685
 #, c-format
 msgid "can't open pipe `%s' for output (%s)"
 msgstr "no se puede abrir la tuber�a `%s' para la salida (%s)"
 
-#: io.c:691
+#: io.c:694
 #, c-format
 msgid "can't open pipe `%s' for input (%s)"
 msgstr "no se puede abrir la tuber�a `%s' para la entrada (%s)"
 
-#: io.c:698 io.c:1448
-#, c-format
-msgid "file `%s' is a directory"
-msgstr "el fichero `%s' es un directorio"
-
-#: io.c:706
+#: io.c:712
 #, c-format
 msgid "can't open two way socket `%s' for input/output (%s)"
 msgstr ""
 "no se puede abrir el `socket' de dos v�as `%s' para entrada/salida (%s)"
 
-#: io.c:710
+#: io.c:716
 #, c-format
 msgid "can't open two way pipe `%s' for input/output (%s)"
 msgstr "no se puede abrir la tuber�a de dos v�as `%s' para entrada/salida (%s)"
 
-#: io.c:786
+#: io.c:793
 #, c-format
 msgid "can't redirect from `%s' (%s)"
 msgstr "no se puede redirigir desde `%s' (%s)"
 
-#: io.c:789
+#: io.c:796
 #, c-format
 msgid "can't redirect to `%s' (%s)"
 msgstr "no se puede redirigir a `%s' (%s)"
 
-#: io.c:828
+#: io.c:849
 msgid ""
 "reached system limit for open files: starting to multiplex file descriptors"
 msgstr ""
 "se alcanz� el l�mite del sistema para ficheros abiertos: comenzando a "
 "multiplexar los descriptores de fichero"
 
-#: io.c:844
+#: io.c:865
 #, c-format
 msgid "close of `%s' failed (%s)."
 msgstr "fall� al cerrar `%s' (%s)."
 
-#: io.c:852
+#: io.c:873
 msgid "too many pipes or input files open"
 msgstr "demasiadas tuber�as o ficheros de entrada abiertos"
 
-#: io.c:875
+#: io.c:896
 msgid "close: second argument must be `to' or `from'"
 msgstr "close: el segundo argumento debe ser `to' o `from'"
 
-#: io.c:889
+#: io.c:910
 #, c-format
 msgid "close: `%.*s' is not an open file, pipe or co-process"
 msgstr "close: `%.*s' no es un fichero abierto, tuber�a o co-proceso"
 
-#: io.c:893
+#: io.c:915
 msgid "close of redirection that was never opened"
 msgstr "cerrado de una redirecci�n que nunca fue abierta"
 
-#: io.c:989
+#: io.c:1012
 #, c-format
 msgid "close: redirection `%s' not opened with `|&', second argument ignored"
 msgstr ""
 "close: la redirecci�n `%s' no se abre con `|&', se ignor� el segundo "
 "argumento"
 
-#: io.c:1005
+#: io.c:1028
 #, c-format
 msgid "failure status (%d) on pipe close of `%s' (%s)"
 msgstr "estado de fallo (%d) al cerrar la tuber�a de `%s' (%s)"
 
-#: io.c:1008
+#: io.c:1031
 #, c-format
 msgid "failure status (%d) on file close of `%s' (%s)"
 msgstr "estado de fallo (%d) al cerrar el fichero de `%s' (%s)"
 
-#: io.c:1028
+#: io.c:1051
 #, c-format
 msgid "no explicit close of socket `%s' provided"
 msgstr "no se provee el cerrado expl�cito del `socket' `%s'"
 
-#: io.c:1031
+#: io.c:1054
 #, c-format
 msgid "no explicit close of co-process `%s' provided"
 msgstr "no se provee el cerrado expl�cito del co-proceso `%s'"
 
-#: io.c:1034
+#: io.c:1057
 #, c-format
 msgid "no explicit close of pipe `%s' provided"
 msgstr "no se provee el cerrado expl�cito del la tuber�a `%s'"
 
-#: io.c:1037
+#: io.c:1060
 #, c-format
 msgid "no explicit close of file `%s' provided"
 msgstr "no se provee el cerrado expl�cito del fichero `%s'"
 
-#: io.c:1066 io.c:1121 main.c:749 main.c:791
+#: io.c:1088 io.c:1143 main.c:776 main.c:818
 #, c-format
 msgid "error writing standard output (%s)"
 msgstr "error al escribir en la salida est�ndar (%s)"
 
-#: io.c:1070 io.c:1126
+#: io.c:1092 io.c:1148
 #, c-format
 msgid "error writing standard error (%s)"
 msgstr "error al escribir en la salida est�ndar de error (%s)"
 
-#: io.c:1078
+#: io.c:1100
 #, c-format
 msgid "pipe flush of `%s' failed (%s)."
 msgstr "fall� la limpieza de la tuber�a de `%s' (%s)."
 
-#: io.c:1081
+#: io.c:1103
 #, c-format
 msgid "co-process flush of pipe to `%s' failed (%s)."
 msgstr "fall� la limpieza del co-proceso de la tuber�a a `%s' (%s)."
 
-#: io.c:1084
+#: io.c:1106
 #, c-format
 msgid "file flush of `%s' failed (%s)."
 msgstr "fall� la limpieza del fichero de `%s' (%s)."
 
-#: io.c:1198
+#: io.c:1220
 #, c-format
 msgid "local port %s invalid in `/inet'"
 msgstr "puerto local %s inv�lido en `/inet'"
 
-#: io.c:1215
+#: io.c:1237
 #, c-format
 msgid "remote host and port information (%s, %s) invalid"
 msgstr "anfitri�n remoto e informaci�n de puerto (%s, %s) inv�lidos"
 
-#: io.c:1250
+#: io.c:1272
 msgid "/inet/raw client not ready yet, sorry"
 msgstr "el cliente /inet/raw no est� listo a�n, perd�n"
 
-#: io.c:1253 io.c:1289
+#: io.c:1275 io.c:1311
 msgid "only root may use `/inet/raw'."
 msgstr "s�lo root puede utilizar `/inet/raw'."
 
-#: io.c:1287
+#: io.c:1309
 msgid "/inet/raw server not ready yet, sorry"
 msgstr "el servidor /inet/raw no est� listo a�n, perd�n"
 
-#: io.c:1385
+#: io.c:1407
 #, c-format
 msgid "no (known) protocol supplied in special filename `%s'"
 msgstr ""
 "no se proporciona alg�n protocolo (conocido) en el nombre de fichero "
 "especial `%s'"
 
-#: io.c:1399
+#: io.c:1421
 #, c-format
 msgid "special file name `%s' is incomplete"
 msgstr "el nombre de fichero especial `%s' est� incompleto"
 
-#: io.c:1414
+#: io.c:1436
 msgid "must supply a remote hostname to `/inet'"
 msgstr "se debe proporcionar a `/inet' un nombre de anfitri�n remoto"
 
-#: io.c:1432
+#: io.c:1454
 msgid "must supply a remote port to `/inet'"
 msgstr "se debe proporcionar a `/inet' un puerto remoto"
 
-#: io.c:1439
+#: io.c:1485
 msgid "TCP/IP communications are not supported"
 msgstr "No se admiten las comunicaciones TCP/IP"
 
-#: io.c:1509
+#: io.c:1494
+#, c-format
+msgid "file `%s' is a directory"
+msgstr "el fichero `%s' es un directorio"
+
+#: io.c:1555
 #, c-format
 msgid "use `PROCINFO[\"%s\"]' instead of `%s'"
 msgstr "use `PROCINFO[\"%s\"]' en lugar de `%s'"
 
-#: io.c:1547
+#: io.c:1593
 msgid "use `PROCINFO[...]' instead of `/dev/user'"
 msgstr "use `PROCINFO[...]' en lugar de `/dev/user'"
 
-#: io.c:1612 io.c:1798
+#: io.c:1658 io.c:1853
 #, c-format
 msgid "could not open `%s', mode `%s'"
 msgstr "no se puede abrir `%s', modo `%s'"
 
-#: io.c:1849
+#: io.c:1904
 #, c-format
 msgid "close of master pty failed (%s)"
 msgstr "fall� al cerrar el pty maestro (%s)"
 
-#: io.c:1851 io.c:2003 io.c:2154
+#: io.c:1906 io.c:2058 io.c:2209
 #, c-format
 msgid "close of stdout in child failed (%s)"
 msgstr "fall� al cerrar la salida est�ndar en el hijo (%s)"
 
-#: io.c:1854
+#: io.c:1909
 #, c-format
 msgid "moving slave pty to stdout in child failed (dup: %s)"
 msgstr ""
 "fall� el movimiento del pty esclavo a la salida est�ndar en el hijo (dup: %s)"
 
-#: io.c:1856 io.c:2008
+#: io.c:1911 io.c:2063
 #, c-format
 msgid "close of stdin in child failed (%s)"
 msgstr "fall� al cerrar la entrada est�ndar en el hijo (%s)"
 
-#: io.c:1859
+#: io.c:1914
 #, c-format
 msgid "moving slave pty to stdin in child failed (dup: %s)"
 msgstr ""
 "fall� el movimiento del pty esclavo a la entrada est�ndar en el hijo (dup: %"
 "s)"
 
-#: io.c:1861 io.c:1880
+#: io.c:1916 io.c:1935
 #, c-format
 msgid "close of slave pty failed (%s)"
 msgstr "fall� al cerrar el pty esclavo (%s)"
 
-#: io.c:1954 io.c:2006 io.c:2135 io.c:2157
+#: io.c:2009 io.c:2061 io.c:2190 io.c:2212
 #, c-format
 msgid "moving pipe to stdout in child failed (dup: %s)"
 msgstr "fall� el movimiento a la salida est�ndar en el hijo (dup: %s)"
 
-#: io.c:1958 io.c:2011
+#: io.c:2013 io.c:2066
 #, c-format
 msgid "moving pipe to stdin in child failed (dup: %s)"
 msgstr ""
 "fall� el movimiento de la tuber�a a la entrada est�ndar en el hijo (dup: %s)"
 
-#: io.c:1975 io.c:2148
+#: io.c:2030 io.c:2203
 msgid "restoring stdout in parent process failed\n"
 msgstr "fall� la restauraci�n de la salida est�ndar en el proceso padre\n"
 
-#: io.c:1980
+#: io.c:2035
 msgid "restoring stdin in parent process failed\n"
 msgstr "fall� la restauraci�n de la entrada est�ndar en el proceso padre\n"
 
-#: io.c:2014 io.c:2159 io.c:2170
+#: io.c:2069 io.c:2214 io.c:2225
 #, c-format
 msgid "close of pipe failed (%s)"
 msgstr "fall� al cerrar la tuber�a (%s)"
 
-#: io.c:2059
+#: io.c:2114
 msgid "`|&' not supported"
 msgstr "`|&' no se admite"
 
-#: io.c:2125
+#: io.c:2180
 #, c-format
 msgid "cannot open pipe `%s' (%s)"
 msgstr "no se puede abrir la tuber�a `%s' (%s)"
 
-#: io.c:2166
+#: io.c:2221
 #, c-format
 msgid "cannot create child process for `%s' (fork: %s)"
 msgstr "no se puede crear el proceso hijo para `%s' (fork: %s)"
 
-#: io.c:2548
+#: io.c:2603
 #, c-format
 msgid "data file `%s' is empty"
 msgstr "el fichero de datos `%s' est� vac�o"
 
-#: io.c:2589 io.c:2597
+#: io.c:2644 io.c:2652
 msgid "could not allocate more input memory"
 msgstr "no se puede reservar m�s memoria de entrada"
 
-#: io.c:2965 io.c:3038
+#: io.c:3020 io.c:3093
 #, c-format
 msgid "error reading input file `%s': %s"
 msgstr "error al leer el fichero de entrada `%s': %s"
 
-#: io.c:3163
+#: io.c:3218
 msgid "multicharacter value of `RS' is a gawk extension"
 msgstr "el valor multicaracter de `RS' es una extensi�n de gawk"
 
-#: main.c:351
+#: main.c:304
+msgid "out of memory"
+msgstr "memoria agotada"
+
+#: main.c:373
 msgid "`-m[fr]' option irrelevant in gawk"
 msgstr "la opci�n -m[fr] es irrelevante en gawk"
 
-#: main.c:353
+#: main.c:375
 msgid "-m option usage: `-m[fr] nnn'"
 msgstr "uso de la opci�n -m: `-m[fr]' nnn"
 
-#: main.c:370
+#: main.c:392
 #, c-format
 msgid "%s: option `-W %s' unrecognized, ignored\n"
 msgstr "%s: no se reconoce la opci�n `-W %s', se ignora\n"
 
-#: main.c:407
+#: main.c:433
 msgid "empty argument to `--source' ignored"
 msgstr "se ignora el argumento vac�o para `--source'"
 
-#: main.c:480
+#: main.c:487
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: la opci�n requiere un argumento -- %c\n"
+
+#: main.c:506
 msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'"
 msgstr ""
 "la variable de ambiente `POSIXLY_CORRECT' est� establecida: se activa `--"
 "posix'"
 
-#: main.c:486
+#: main.c:512
 msgid "`--posix' overrides `--traditional'"
 msgstr "`--posix' se impone a `--traditional'"
 
-#: main.c:497
+#: main.c:523
 msgid "`--posix'/`--traditional' overrides `--non-decimal-data'"
 msgstr "`--posix'/`--traditional' se imponen a `--non-decimal-data'"
 
-#: main.c:501
+#: main.c:527
 #, c-format
 msgid "running %s setuid root may be a security problem"
 msgstr "ejecutar %s como setuid root puede ser un problema de seguridad"
 
-#: main.c:542
+#: main.c:568
 #, c-format
 msgid "can't set binary mode on stdin (%s)"
 msgstr "no se puede establecer el modo binario en la entrada est�ndar (%s)"
 
-#: main.c:545
+#: main.c:571
 #, c-format
 msgid "can't set binary mode on stdout (%s)"
 msgstr "no se puede establecer el modo binario en la salida est�ndar (%s)"
 
-#: main.c:547
+#: main.c:573
 #, c-format
 msgid "can't set binary mode on stderr (%s)"
 msgstr ""
 "no se puede establecer el modo binario en la salida est�ndar de error (%s)"
 
-#: main.c:586
+#: main.c:612
 msgid "no program text at all!"
 msgstr "�No hay ning�n programa de texto!"
 
-#: main.c:690
+#: main.c:716
 #, c-format
 msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n"
 msgstr ""
 "Modo de empleo: %s [opciones estilo POSIX o GNU] -f fichprog [--] "
 "fichero ...\n"
 
-#: main.c:692
+#: main.c:718
 #, c-format
 msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n"
 msgstr ""
 "Modo de empleo: %s [opciones estilo POSIX o GNU] [--] %cprograma%c "
 "fichero ...\n"
 
-#: main.c:697
+#: main.c:723
 msgid "POSIX options:\t\tGNU long options:\n"
 msgstr "Opciones POSIX:\t\tOpciones largas GNU:\n"
 
-#: main.c:698
+#: main.c:724
 msgid "\t-f progfile\t\t--file=progfile\n"
 msgstr "\t-f fichprog\t\t--file=fichprog\n"
 
-#: main.c:699
+#: main.c:725
 msgid "\t-F fs\t\t\t--field-separator=fs\n"
 msgstr "\t-F sc\t\t\t--field-separator=sc\n"
 
-#: main.c:700
+#: main.c:726
 msgid "\t-v var=val\t\t--assign=var=val\n"
 msgstr "\t-v var=valor\t\t--assign=var=valor\n"
 
-#: main.c:701
+#: main.c:727
 msgid "\t-m[fr] val\n"
 msgstr "\t-m[fr] valor\n"
 
-#: main.c:702
+#: main.c:728
+msgid "\t-O\t\t\t--optimize\n"
+msgstr "\t-O\t\t\t--optimize\n"
+
+#: main.c:729
 msgid "\t-W compat\t\t--compat\n"
 msgstr "\t-W compat\t\t--compat\n"
 
-#: main.c:703
+#: main.c:730
 msgid "\t-W copyleft\t\t--copyleft\n"
 msgstr "\t-W copyleft\t\t--copyleft\n"
 
-#: main.c:704
+#: main.c:731
 msgid "\t-W copyright\t\t--copyright\n"
 msgstr "\t-W copyright\t\t--copyright\n"
 
-#: main.c:705
+#: main.c:732
 msgid "\t-W dump-variables[=file]\t--dump-variables[=file]\n"
 msgstr "\t-W dump-variables[=fichero]\t--dump-variables[=fichero]\n"
 
-#: main.c:706
+#: main.c:733
 msgid "\t-W exec=file\t\t--exec=file\n"
 msgstr "\t-W exec=fichero\t\t--exec=fichero\n"
 
-#: main.c:707
+#: main.c:734
 msgid "\t-W gen-po\t\t--gen-po\n"
 msgstr "\t-W gen-po\t\t--gen-po\n"
 
-#: main.c:708
+#: main.c:735
 msgid "\t-W help\t\t\t--help\n"
 msgstr "\t-W help\t\t\t--help\n"
 
-#: main.c:709
+#: main.c:736
 msgid "\t-W lint[=fatal]\t\t--lint[=fatal]\n"
 msgstr "\t-W lint[=fatal]\t\t--lint[=fatal]\n"
 
-#: main.c:710
+#: main.c:737
 msgid "\t-W lint-old\t\t--lint-old\n"
 msgstr "\t-W lint-old\t\t--lint-old\n"
 
-#: main.c:711
+#: main.c:738
 msgid "\t-W non-decimal-data\t--non-decimal-data\n"
 msgstr "\t-W non-decimal-data\t--non-decimal-data\n"
 
-#: main.c:713
+#: main.c:740
 msgid "\t-W nostalgia\t\t--nostalgia\n"
 msgstr "\t-W nostalgia\t\t--nostalgia\n"
 
-#: main.c:716
+#: main.c:743
 msgid "\t-W parsedebug\t\t--parsedebug\n"
 msgstr "\t-W parsedebug\t\t--parsedebug\n"
 
-#: main.c:718
+#: main.c:745
 msgid "\t-W profile[=file]\t--profile[=file]\n"
 msgstr "\t-W profile[=fichero]\t--profile[=fichero]\n"
 
-#: main.c:719
+#: main.c:746
 msgid "\t-W posix\t\t--posix\n"
 msgstr "\t-W posix\t\t--posix\n"
 
-#: main.c:720
+#: main.c:747
 msgid "\t-W re-interval\t\t--re-interval\n"
 msgstr "\t-W re-interval\t\t--re-interval\n"
 
 # Esta es la l�nea m�s larga de la lista de argumentos.
 # Probar con gawk para revisar tabuladores. cfuga
-#: main.c:721
+#: main.c:748
 msgid "\t-W source=program-text\t--source=program-text\n"
 msgstr "\t-W source=texto-prog\t--source=texto-prog\n"
 
-#: main.c:722
+#: main.c:749
 msgid "\t-W traditional\t\t--traditional\n"
 msgstr "\t-W traditional\t\t--traditional\n"
 
-#: main.c:723
+#: main.c:750
 msgid "\t-W usage\t\t--usage\n"
 msgstr "\t-W usage\t\t--usage\n"
 
-#: main.c:724
+#: main.c:751
 msgid "\t-W use-lc-numeric\t--use-lc-numeric\n"
-msgstr ""
+msgstr "\t-W use-lc-numeric\t--use-lc-numeric\n"
 
-#: main.c:725
+#: main.c:752
 msgid "\t-W version\t\t--version\n"
 msgstr "\t-W version\t\t--version\n"
 
@@ -1611,7 +1659,7 @@
 #. for this application.  Please add _another line_ with the
 #. address for translation bugs.
 #. no-wrap
-#: main.c:734
+#: main.c:761
 msgid ""
 "\n"
 "To report bugs, see node `Bugs' in `gawk.info', which is\n"
@@ -1625,7 +1673,7 @@
 "Reporte los errores de los mensajes en espa�ol a <es@li.org>.\n"
 "\n"
 
-#: main.c:738
+#: main.c:765
 msgid ""
 "gawk is a pattern scanning and processing language.\n"
 "By default it reads standard input and writes standard output.\n"
@@ -1635,7 +1683,7 @@
 "Por omisi�n lee la entrada est�ndar y escribe en la salida est�ndar.\n"
 "\n"
 
-#: main.c:742
+#: main.c:769
 msgid ""
 "Examples:\n"
 "\tgawk '{ sum += $1 }; END { print sum }' file\n"
@@ -1645,7 +1693,7 @@
 "\tgawk '{ sum += $1 }; END { print sum }' fichero\n"
 "\tgawk -F: '{ print $1 }' /etc/passwd\n"
 
-#: main.c:762
+#: main.c:789
 #, c-format
 msgid ""
 "Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
@@ -1658,14 +1706,14 @@
 msgstr ""
 "Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
 "\n"
-"Este programa es software libre; puede redistribuirse y/o ser modificado\n"
+"Este programa es software libre; se puede redistribuir y/o modificar\n"
 "bajo los t�rminos de la Licencia P�blica General de GNU tal como es "
 "publicada\n"
 "por la Free Software Foundation; ya sea por la versi�n 3 de la Licencia, o\n"
 "(a su elecci�n) cualquier versi�n posterior.\n"
 "\n"
 
-#: main.c:770
+#: main.c:797
 msgid ""
 "This program is distributed in the hope that it will be useful,\n"
 "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
@@ -1679,22 +1727,20 @@
 "Licencia P�blica General de GNU para m�s detalles.\n"
 "\n"
 
-#: main.c:781
-#, fuzzy
+#: main.c:808
 msgid ""
 "You should have received a copy of the GNU General Public License\n"
 "along with this program. If not, see http://www.gnu.org/licenses/.\n"
 msgstr ""
 "Debi� recibir una copia de la Licencia P�blica General de GNU\n"
-"junto con este programa; si no es as�, escriba a la Free Software\n"
-"Foundation, Inc., 51 Franklin Street, Quinto Piso, Boston, MA  02110-1301, "
-"USA.\n"
+"junto con este programa. Si no es as�, consulte\n"
+"http://www.gnu.org/licenses/.\n"
 
-#: main.c:816
+#: main.c:843
 msgid "-Ft does not set FS to tab in POSIX awk"
 msgstr "-Ft no establece FS a tabulador en el awk de POSIX"
 
-#: main.c:1060
+#: main.c:1117
 #, c-format
 msgid ""
 "%s: `%s' argument to `-v' not in `var=value' form\n"
@@ -1703,35 +1749,43 @@
 "%s: el argumento `%s' para `-v' no es de la forma `var=valor'\n"
 "\n"
 
-#: main.c:1080
+#: main.c:1137
 #, c-format
 msgid "`%s' is not a legal variable name"
 msgstr "`%s' no es un nombre de variable legal"
 
-#: main.c:1083
+#: main.c:1140
 #, c-format
 msgid "`%s' is not a variable name, looking for file `%s=%s'"
 msgstr "`%s' no es un nombre de variable, se busca el fichero `%s=%s'"
 
-#: main.c:1122
+#: main.c:1179
 msgid "floating point exception"
 msgstr "excepci�n de coma flotante"
 
-#: main.c:1129
+#: main.c:1186
 msgid "fatal error: internal error"
 msgstr "error fatal: error interno"
 
-#: main.c:1180
+#: main.c:1200
+msgid "fatal error: internal error: segfault"
+msgstr "error fatal: error interno: falla de segmentaci�n"
+
+#: main.c:1212
+msgid "fatal error: internal error: stack overflow"
+msgstr "error fatal: error interno: desbordamiento de pila"
+
+#: main.c:1261
 #, c-format
 msgid "no pre-opened fd %d"
 msgstr "no existe el df %d abierto previamente"
 
-#: main.c:1187
+#: main.c:1268
 #, c-format
 msgid "could not pre-open /dev/null for fd %d"
 msgstr "no se puede abrir previamente /dev/null para el df %d"
 
-#: main.c:1210 main.c:1219
+#: main.c:1291 main.c:1300
 #, c-format
 msgid "could not find groups: %s"
 msgstr "no se pueden encontrar los grupos: %s"
@@ -1757,24 +1811,33 @@
 msgid "can't convert string to float"
 msgstr "no se puede convertir una cadena a coma flotante"
 
-#: node.c:406
+#: node.c:462
 msgid "backslash at end of string"
 msgstr "barra invertida al final de la cadena"
 
-#: node.c:548
+#: node.c:606
 #, c-format
 msgid "old awk does not support the `\\%c' escape sequence"
 msgstr "el awk antiguo no admite la secuencia de escape `\\%c'"
 
-#: node.c:599
+#: node.c:657
 msgid "POSIX does not allow `\\x' escapes"
 msgstr "POSIX no permite escapes `\\x'"
 
-#: node.c:605
+#: node.c:663
 msgid "no hex digits in `\\x' escape sequence"
 msgstr "no hay d�gitos hexadecimales en la secuencia de escape `\\x'"
 
-#: node.c:639
+#: node.c:685
+#, c-format
+msgid ""
+"hex escape \\x%.*s of %d characters probably not interpreted the way you "
+"expect"
+msgstr ""
+"en el escape hexadecimal \\x%.*s de %d caracteres tal vez no se interpreten "
+"de la forma esperada"
+
+#: node.c:700
 #, c-format
 msgid "escape sequence `\\%c' treated as plain `%c'"
 msgstr "la secuencia de escape `\\%c' se trata como una simple `%c'"
@@ -1784,31 +1847,32 @@
 msgid "%s %s `%s': could not set close-on-exec: (fcntl: %s)"
 msgstr "%s %s `%s': no se puede establecer close-on-exec: (fcntl: %s)"
 
-#: profile.c:92
+#: profile.c:93
 #, c-format
 msgid "could not open `%s' for writing: %s"
 msgstr "no se puede abrir `%s' para escritura: %s"
 
-#: profile.c:450
+#: profile.c:453
 #, c-format
 msgid "internal error: %s with null vname"
 msgstr "error interno: %s con vname nulo"
 
-#: profile.c:514
+#: profile.c:517
+#, fuzzy
 msgid "# treated internally as `delete'"
-msgstr "# se trata internamente como `delete'"
+msgstr "# se trata internamente como `delete"
 
-#: profile.c:1147
+#: profile.c:1069
 #, c-format
 msgid "# this is a dynamically loaded extension function"
 msgstr "# esta es una funci�n de extensi�n cargada din�micamente"
 
-#: profile.c:1178
+#: profile.c:1100
 #, c-format
 msgid "\t# gawk profile, created %s\n"
 msgstr "\t# perfil de gawk, creado %s\n"
 
-#: profile.c:1181
+#: profile.c:1103
 #, c-format
 msgid ""
 "\t# BEGIN block(s)\n"
@@ -1817,7 +1881,7 @@
 "\t# bloque(s) BEGIN\n"
 "\n"
 
-#: profile.c:1191
+#: profile.c:1113
 #, c-format
 msgid ""
 "\t# Rule(s)\n"
@@ -1826,7 +1890,7 @@
 "\t# Regla(s)\n"
 "\n"
 
-#: profile.c:1197
+#: profile.c:1119
 #, c-format
 msgid ""
 "\t# END block(s)\n"
@@ -1835,7 +1899,7 @@
 "\t# bloque(s) END\n"
 "\n"
 
-#: profile.c:1217
+#: profile.c:1139
 #, c-format
 msgid ""
 "\n"
@@ -1844,83 +1908,91 @@
 "\n"
 "\t# Funciones, enumeradas alfab�ticamente\n"
 
-#: profile.c:1470
+#: profile.c:1400
 #, c-format
 msgid "unexpected type %s in prec_level"
 msgstr "tipo %s inesperado en prec_level"
 
-#: regcomp.c:132
+#: profile.c:1500
+#, c-format
+msgid "Unknown node type %s in pp_var"
+msgstr "Tipo de nodo %s desconocido en pp_var"
+
+#: regcomp.c:133
 msgid "Success"
 msgstr "�xito"
 
-#: regcomp.c:135
+#: regcomp.c:136
 msgid "No match"
 msgstr "No hay coincidencia"
 
-#: regcomp.c:138
+#: regcomp.c:139
 msgid "Invalid regular expression"
 msgstr "Expresi�n regular inv�lida"
 
-#: regcomp.c:141
+#: regcomp.c:142
 msgid "Invalid collation character"
 msgstr "Caracter de ordenaci�n inv�lido"
 
-#: regcomp.c:144
+#: regcomp.c:145
 msgid "Invalid character class name"
 msgstr "Nombre de clase de caracter inv�lido"
 
-#: regcomp.c:147
+#: regcomp.c:148
 msgid "Trailing backslash"
 msgstr "Barra invertida extra al final"
 
-#: regcomp.c:150
+#: regcomp.c:151
 msgid "Invalid back reference"
 msgstr "Referencia hacia atr�s inv�lida"
 
-#: regcomp.c:153
+#: regcomp.c:154
 msgid "Unmatched [ or [^"
 msgstr "[ o [^ desemparejados"
 
-#: regcomp.c:156
+#: regcomp.c:157
 msgid "Unmatched ( or \\("
 msgstr "( o \\( desemparejados"
 
-#: regcomp.c:159
+#: regcomp.c:160
 msgid "Unmatched \\{"
 msgstr "\\{ desemparejado"
 
-#: regcomp.c:162
+#: regcomp.c:163
 msgid "Invalid content of \\{\\}"
 msgstr "Contenido inv�lido de \\{\\}"
 
-#: regcomp.c:165
+#: regcomp.c:166
 msgid "Invalid range end"
 msgstr "Final de rango inv�lido"
 
-#: regcomp.c:168
+#: regcomp.c:169
 msgid "Memory exhausted"
 msgstr "Memoria agotada"
 
-#: regcomp.c:171
+#: regcomp.c:172
 msgid "Invalid preceding regular expression"
 msgstr "Expresi�n regular precedente inv�lida"
 
-#: regcomp.c:174
+#: regcomp.c:175
 msgid "Premature end of regular expression"
 msgstr "Fin prematuro de la expresi�n regular"
 
-#: regcomp.c:177
+#: regcomp.c:178
 msgid "Regular expression too big"
 msgstr "La expresi�n regular es demasiado grande"
 
-#: regcomp.c:180
+#: regcomp.c:181
 msgid "Unmatched ) or \\)"
 msgstr ") o \\) desemparejados"
 
-#: regcomp.c:664
+#: regcomp.c:700
 msgid "No previous regular expression"
 msgstr "No hay una expresi�n regular previa"
 
+#~ msgid "%s: illegal option -- %c\n"
+#~ msgstr "%s: opci�n ilegal -- %c\n"
+
 #~ msgid "remote port invalid in `%s'"
 #~ msgstr "puerto remoto inv�lido en `%s'"
 
@@ -2000,9 +2072,6 @@
 #~ msgid "Unbalanced )"
 #~ msgstr ") desbalanceado"
 
-#~ msgid "out of memory"
-#~ msgstr "memoria agotada"
-
 #~ msgid "internal error: file `%s', line %d\n"
 #~ msgstr "error interno: fichero `%s', l�nea %d\n"
 
diff -urN gawk-3.1.6/po/fr.po gawk-3.1.7/po/fr.po
--- gawk-3.1.6/po/fr.po	2007-09-30 22:33:25.000000000 +0200
+++ gawk-3.1.7/po/fr.po	2009-07-21 23:23:44.000000000 +0300
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gawk 3.1.4l\n"
 "Report-Msgid-Bugs-To: arnold@skeeve.com\n"
-"POT-Creation-Date: 2007-09-30 22:33+0200\n"
+"POT-Creation-Date: 2009-07-21 23:23+0300\n"
 "PO-Revision-Date: 2005-06-29 08:00-0500\n"
 "Last-Translator: Michel Robitaille <robitail@IRO.UMontreal.CA>\n"
 "Language-Team: French <traduc@traduc.org>\n"
@@ -23,8 +23,7 @@
 #: array.c:115
 #, c-format
 msgid "attempt to use scalar parameter `%s' as an array"
-msgstr ""
-"tentative d'utilisation d'un param�tre scalaire � %s � comme un tableau"
+msgstr "tentative d'utilisation d'un param�tre scalaire � %s � comme un tableau"
 
 #: array.c:118
 #, c-format
@@ -76,338 +75,343 @@
 msgid "%s: array_ref to %s\n"
 msgstr "%s: array_ref de %s\n"
 
-#: awkgram.y:215
+#: awkgram.y:218
 #, c-format
 msgid "%s blocks must have an action part"
 msgstr "Les blocs %s doivent avoir une partie action"
 
-#: awkgram.y:218
+#: awkgram.y:221
 msgid "each rule must have a pattern or an action part"
 msgstr "chaqque r�gle doit avoir un patron ou une partie action"
 
-#: awkgram.y:254 awkgram.y:263
+#: awkgram.y:257 awkgram.y:266
 #, fuzzy
 msgid "old awk does not support multiple `BEGIN' or `END' rules"
 msgstr "l'ancien awk ne supporte pas l'op�rateur � ** �"
 
-#: awkgram.y:282
+#: awkgram.y:285
 #, c-format
 msgid "`%s' is a built-in function, it cannot be redefined"
 msgstr "� %s � est une fonction interne, elle ne peut �tre red�finie"
 
-#: awkgram.y:328
+#: awkgram.y:331
 msgid "regexp constant `//' looks like a C++ comment, but is not"
 msgstr ""
 "la constante d'expression r�guli�re � // � ressemble � un commentaire en C, "
 "mais ne l'est pas"
 
-#: awkgram.y:331
+#: awkgram.y:334
 #, c-format
 msgid "regexp constant `/%s/' looks like a C comment, but is not"
 msgstr ""
-"la constante d'expression r�guli�re � /%s/ � ressemble � un commentaire en "
-"C, mais ne l'est pas"
+"la constante d'expression r�guli�re � /%s/ � ressemble � un commentaire en C, "
+"mais ne l'est pas"
 
-#: awkgram.y:358 awkgram.y:653
+#: awkgram.y:361 awkgram.y:656
 msgid "statement may have no effect"
 msgstr "la d�claration peut n'avoir aucun effet"
 
-#: awkgram.y:455 awkgram.y:479
+#: awkgram.y:458 awkgram.y:482
 #, c-format
 msgid "`%s' used in %s action"
 msgstr "� %s � utilis� dans l'action %s"
 
-#: awkgram.y:470 awkgram.y:474
+#: awkgram.y:473 awkgram.y:477
 msgid "`nextfile' is a gawk extension"
 msgstr "� nextfile � est une extension de gawk"
 
-#: awkgram.y:489
+#: awkgram.y:492
 msgid "`return' used outside function context"
 msgstr "� return � utilis� en dehors du contexte d'une fonction"
 
-#: awkgram.y:531
+#: awkgram.y:534
 msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'"
 msgstr ""
-"utilisation de � print � dans une r�gle BEGIN ou END doit �tre probablement "
-"� print \"\" �"
+"utilisation de � print � dans une r�gle BEGIN ou END doit �tre probablement � "
+"print \"\" �"
 
-#: awkgram.y:547 awkgram.y:555
+#: awkgram.y:550 awkgram.y:558
 msgid "`delete array' is a gawk extension"
 msgstr "� delete array � est une extension de gawk"
 
-#: awkgram.y:569 awkgram.y:577
+#: awkgram.y:572 awkgram.y:580
 msgid "`delete(array)' is a non-portable tawk extension"
 msgstr "� delete(array) � est une extension de tawk qui n'est pas portable"
 
-#: awkgram.y:621
+#: awkgram.y:624
 #, c-format
 msgid "duplicate case values in switch body: %s"
 msgstr "duplicata de valeur de case dans le corps du switch: %s"
 
-#: awkgram.y:631
+#: awkgram.y:634
 msgid "Duplicate `default' detected in switch body"
 msgstr "duplicata de � default � d�tect� dans le corps du switch"
 
-#: awkgram.y:720
+#: awkgram.y:723
 msgid "multistage two-way pipelines don't work"
 msgstr "pipelines bidirectionnel � multi-�tapes ne fonctionnent pas"
 
-#: awkgram.y:811
+#: awkgram.y:814
 msgid "regular expression on right of assignment"
 msgstr "expression r�guli�re � la droite de l'affectation"
 
-#: awkgram.y:834
+#: awkgram.y:824
 msgid "regular expression on left of `~' or `!~' operator"
 msgstr "expression r�guli�re sur la gauche de l'op�rateur � ~ � ou � !~ �"
 
-#: awkgram.y:840 awkgram.y:913
+#: awkgram.y:830 awkgram.y:903
 #, fuzzy
 msgid "old awk does not support the keyword `in' except after `for'"
 msgstr "l'ancien awk ne supporte pas l'op�rateur � ** �"
 
-#: awkgram.y:846
+#: awkgram.y:836
 msgid "regular expression on right of comparison"
 msgstr "expression r�guli�re sur la droite de la comparaison"
 
-#: awkgram.y:903
+#: awkgram.y:893
 msgid "non-redirected `getline' undefined inside END action"
 msgstr "� getline � non redirig� ind�fini � l'int�rieur de l'action END"
 
-#: awkgram.y:914
+#: awkgram.y:904
 #, fuzzy
 msgid "old awk does not support multidimensional arrays"
 msgstr "l'ancien awk ne supporte pas l'op�rateur � ** �"
 
-#: awkgram.y:960
+#: awkgram.y:950
 msgid "call of `length' without parentheses is not portable"
 msgstr "l'appel de � length � sans les parenth�ses n'est pas portable"
 
-#: awkgram.y:965
+#: awkgram.y:955
 msgid "call of `length' without parentheses is deprecated by POSIX"
 msgstr "l'appel de � length � sans les parenth�ses est d�pr�ci� par POSIX"
 
-#: awkgram.y:1019
+#: awkgram.y:1009
 msgid "use of non-array as array"
 msgstr "utilisation d'une entit� qui n'est pas un tableau comme tableau"
 
-#: awkgram.y:1022
+#: awkgram.y:1012
 msgid "invalid subscript expression"
 msgstr "sous-expression invalide"
 
-#: awkgram.y:1249
+#: awkgram.y:1257
 msgid "unexpected newline or end of string"
 msgstr "nouvelle ligne inattendue ou fin de la cha�ne"
 
-#: awkgram.y:1366
+#: awkgram.y:1374
 msgid "empty program text on command line"
 msgstr "texte du programme sur la ligne de commande est vide"
 
-#: awkgram.y:1422
+#: awkgram.y:1430
 #, c-format
 msgid "can't open source file `%s' for reading (%s)"
 msgstr "ne peut ouvrir le fichier source � %s � pour lecture (%s)"
 
-#: awkgram.y:1520
+#: awkgram.y:1528
 #, c-format
 msgid "can't read sourcefile `%s' (%s)"
 msgstr "ne peut lire le fichier source � %s � (%s)"
 
-#: awkgram.y:1528
+#: awkgram.y:1536
 #, c-format
 msgid "source file `%s' is empty"
 msgstr "fichier source � %s � est vide"
 
-#: awkgram.y:1720 awkgram.y:1842 awkgram.y:1860 awkgram.y:2235 awkgram.y:2322
+#: awkgram.y:1728 awkgram.y:1850 awkgram.y:1868 awkgram.y:2243 awkgram.y:2330
 msgid "source file does not end in newline"
 msgstr "fichier source ne se termine pas par un retour de chariot"
 
-#: awkgram.y:1782
+#: awkgram.y:1790
 msgid "unterminated regexp ends with `\\' at end of file"
 msgstr ""
 "expression r�guli�re non termine� se terminant par � \\ � � la fin du fichier"
 
-#: awkgram.y:1806
+#: awkgram.y:1814
 #, c-format
 msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk"
 msgstr ""
 "%s: %d: modificateur d'exp. r�g. tawk `/.../%c' ne peut op�rer dans gawk"
 
-#: awkgram.y:1810
+#: awkgram.y:1818
 #, c-format
 msgid "tawk regex modifier `/.../%c' doesn't work in gawk"
 msgstr "modificateur d'exp. r�g. tawk `/.../%c' ne peut op�rer dans gawk"
 
-#: awkgram.y:1817
+#: awkgram.y:1825
 msgid "unterminated regexp"
 msgstr "expression r�guli�re non termin�e"
 
-#: awkgram.y:1820
+#: awkgram.y:1828
 msgid "unterminated regexp at end of file"
 msgstr "expression r�guli�re non termin�e � la fin du fichier"
 
-#: awkgram.y:1889
+#: awkgram.y:1897
 msgid "use of `\\ #...' line continuation is not portable"
 msgstr ""
 "utilisation de � \\ #... � comme continuation de ligne n'est pas portable"
 
-#: awkgram.y:1902
+#: awkgram.y:1910
 msgid "backslash not last character on line"
 msgstr "la barre oblique inverse n'est pas le dernier caract�re sur la ligne"
 
-#: awkgram.y:1947
+#: awkgram.y:1955
 msgid "POSIX does not allow operator `**='"
 msgstr "POSIX ne permet un op�rateur � **= �"
 
-#: awkgram.y:1949
+#: awkgram.y:1957
 msgid "old awk does not support operator `**='"
 msgstr "l'ancien awk ne supporte pas l'op�rateur � **= �"
 
-#: awkgram.y:1958
+#: awkgram.y:1966
 msgid "POSIX does not allow operator `**'"
 msgstr "POSIX ne permet pas l'op�rateur � ** �"
 
-#: awkgram.y:1960
+#: awkgram.y:1968
 msgid "old awk does not support operator `**'"
 msgstr "l'ancien awk ne supporte pas l'op�rateur � ** �"
 
-#: awkgram.y:1991
+#: awkgram.y:1999
 msgid "operator `^=' is not supported in old awk"
 msgstr "l'op�rateur � ^= � n'est pas support� dans l'ancien awk"
 
-#: awkgram.y:1999
+#: awkgram.y:2007
 msgid "operator `^' is not supported in old awk"
 msgstr "l'op�rateur � ^ � n'est pas support� dans l'ancien awk"
 
-#: awkgram.y:2083 awkgram.y:2098
+#: awkgram.y:2091 awkgram.y:2106
 msgid "unterminated string"
 msgstr "cha�ne non compl�t�e"
 
-#: awkgram.y:2283
+#: awkgram.y:2291
 #, c-format
 msgid "invalid char '%c' in expression"
 msgstr "caract�re invalide � %c � dans l'expression"
 
-#: awkgram.y:2331
+#: awkgram.y:2339
 #, c-format
 msgid "`%s' is a gawk extension"
 msgstr "� %s � est une extension de gawk"
 
-#: awkgram.y:2334
+#: awkgram.y:2342
 #, c-format
 msgid "`%s' is a Bell Labs extension"
 msgstr "� %s � est une extension de Bell Labs"
 
-#: awkgram.y:2337
+#: awkgram.y:2345
 #, c-format
 msgid "POSIX does not allow `%s'"
 msgstr "POSIX ne permet pas � %s �"
 
-#: awkgram.y:2341
+#: awkgram.y:2349
 #, c-format
 msgid "`%s' is not supported in old awk"
 msgstr "� %s � n'est pas support� dans l'ancien awk"
 
-#: awkgram.y:2367
+#: awkgram.y:2375
 msgid "`goto' considered harmful!\n"
 msgstr "� goto � consid�r� n�faste!\n"
 
-#: awkgram.y:2429
+#: awkgram.y:2437
 #, c-format
 msgid "%d is invalid as number of arguments for %s"
 msgstr "%d est invalide comme nombre d'arguments pour %s"
 
-#: awkgram.y:2448 awkgram.y:2451
+#: awkgram.y:2456 awkgram.y:2459
 msgid "match: third argument is a gawk extension"
 msgstr "match: 3e argument est une extension de gawk"
 
-#: awkgram.y:2464
+#: awkgram.y:2472
 #, c-format
 msgid "%s: string literal as last arg of substitute has no effect"
 msgstr ""
 "%s: la cha�ne lit�rale comme dernier arguement d'une substitution n'a aucun "
 "effet"
 
-#: awkgram.y:2467
+#: awkgram.y:2475
 #, c-format
 msgid "%s third parameter is not a changeable object"
 msgstr "3e param�tre %s n'est pas un objet interchangeable"
 
-#: awkgram.y:2494 awkgram.y:2497
+#: awkgram.y:2502 awkgram.y:2505
 msgid "close: second argument is a gawk extension"
 msgstr "close: 2e argument est une extension de gawk"
 
-#: awkgram.y:2507
+#: awkgram.y:2515
 msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore"
 msgstr ""
 "utilisation de dcgettext(_\"...\") est incorrect: enlever les soulign�s en "
 "en-t�te"
 
-#: awkgram.y:2522
+#: awkgram.y:2530
 msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore"
 msgstr ""
 "utilisation de dcngettext(_\"...\") est incorrect: enlever les soulign�s en "
 "en-t�te"
 
-#: awkgram.y:2594
+#: awkgram.y:2602
 #, c-format
 msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d"
 msgstr "fonction � %s �: param�tre #%d, � %s � est un double du param�tre #%d"
 
-#: awkgram.y:2627
+#: awkgram.y:2635
 #, c-format
 msgid "function `%s': parameter `%s' shadows global variable"
 msgstr "fonction � %s �: param�tre � %s � porte ombrage � la variable globale"
 
-#: awkgram.y:2739
+#: awkgram.y:2747
 #, c-format
 msgid "could not open `%s' for writing (%s)"
 msgstr "ne peut ourvrir � %s � en �criture (%s)"
 
-#: awkgram.y:2740 profile.c:94
+#: awkgram.y:2748 profile.c:95
 msgid "sending profile to standard error"
 msgstr "redirection du profile vers stderr"
 
-#: awkgram.y:2772
+#: awkgram.y:2780
 #, c-format
 msgid "%s: close failed (%s)"
 msgstr "%s: �chec de fermeture (%s)"
 
-#: awkgram.y:2893
+#: awkgram.y:2901
 msgid "shadow_funcs() called twice!"
 msgstr "shadows_funcs() appel� deux fois!"
 
-#: awkgram.y:2920
+#: awkgram.y:2928
 msgid "there were shadowed variables."
 msgstr "il y avait des variables ombrag�es"
 
-#: awkgram.y:2993
+#: awkgram.y:3001
 #, c-format
 msgid "function `%s': can't use function name as parameter name"
 msgstr "fonction � %s �: ne peut utilise le nom de la fonction comme param�tre"
 
-#: awkgram.y:3003
+#: awkgram.y:3004
+#, fuzzy, c-format
+msgid "function `%s': can't use special variable `%s' as a function parameter"
+msgstr "fonction � %s �: ne peut utilise le nom de la fonction comme param�tre"
+
+#: awkgram.y:3014
 #, c-format
 msgid "function name `%s' previously defined"
 msgstr "nom de la fonction � %s � d�finie pr�c�demment"
 
-#: awkgram.y:3154 awkgram.y:3160
+#: awkgram.y:3165 awkgram.y:3171
 #, c-format
 msgid "function `%s' called but never defined"
 msgstr "fonction � %s � appel� mais jamais d�finie"
 
-#: awkgram.y:3163
+#: awkgram.y:3174
 #, c-format
 msgid "function `%s' defined but never called"
 msgstr "fonction � %s � d�finie mais jamais utilis�e"
 
-#: awkgram.y:3190
+#: awkgram.y:3201
 #, c-format
 msgid "regexp constant for parameter #%d yields boolean value"
 msgstr ""
 "expression r�guli�re constante pour le param�tre #%d conduit � une valeur "
 "bool�enne"
 
-#: awkgram.y:3234
+#: awkgram.y:3245
 #, c-format
 msgid ""
 "function `%s' called with space between name and `(',\n"
@@ -416,201 +420,230 @@
 "fonction � %s � appel�e avec un espace entre le nom et � ( �,\n"
 "ou utilis� comme variable ou comme un tableau"
 
-#: builtin.c:119
+#: awkgram.y:3667 eval.c:1394
+#, c-format
+msgid "division by zero attempted in `%%'"
+msgstr "tentative de division par z�ro dans � %% �"
+
+#: builtin.c:122
 #, c-format
 msgid "%s to \"%s\" failed (%s)"
 msgstr "%s vers � %s � �chec (%s)"
 
-#: builtin.c:120
+#: builtin.c:123
 msgid "standard output"
 msgstr "sortie standard"
 
-#: builtin.c:121
+#: builtin.c:124
 msgid "reason unknown"
 msgstr "raison inconnue"
 
-#: builtin.c:134
+#: builtin.c:137
 msgid "exp: received non-numeric argument"
 msgstr "exp: argument n'est pas num�rique"
 
-#: builtin.c:140
+#: builtin.c:143
 #, c-format
 msgid "exp: argument %g is out of range"
 msgstr "exp: argument %g est hors limite"
 
-#: builtin.c:198
+#: builtin.c:201
 #, c-format
 msgid "fflush: cannot flush: pipe `%s' opened for reading, not writing"
 msgstr ""
 "fflush: ne peut vider: le pipe � %s � est oouvert en lecture, pas en �criture"
 
-#: builtin.c:201
+#: builtin.c:204
 #, c-format
 msgid "fflush: cannot flush: file `%s' opened for reading, not writing"
 msgstr ""
 "fflush: ne peut vider: fichier � %s � ouvert en lecture, pas en �criture"
 
-#: builtin.c:213
+#: builtin.c:216
 #, c-format
 msgid "fflush: `%s' is not an open file, pipe or co-process"
 msgstr ""
 "fflush: � %s � n'est pas ni un fichier ouvert, un pipe ou un co-processus"
 
-#: builtin.c:306
+#: builtin.c:310
 msgid "index: received non-string first argument"
 msgstr "index: premier argument n'est pas une cha�ne"
 
-#: builtin.c:308
+#: builtin.c:312
 msgid "index: received non-string second argument"
 msgstr "index: second argument n'est pas une cha�ne"
 
-#: builtin.c:423
+#: builtin.c:434
 msgid "int: received non-numeric argument"
 msgstr "int: argument n'est pas num�rique"
 
-#: builtin.c:448
+#: builtin.c:464
 #, fuzzy
 msgid "`length(array)' is a gawk extension"
 msgstr "� delete array � est une extension de gawk"
 
-#: builtin.c:458
+#: builtin.c:473
+msgid "length: untyped argument will be forced to scalar"
+msgstr ""
+
+#: builtin.c:477
 msgid "length: received non-string argument"
 msgstr "length: argument n'est pas une cha�ne"
 
-#: builtin.c:483
+#: builtin.c:508
 msgid "log: received non-numeric argument"
 msgstr "log: argument n'est pas num�rique"
 
-#: builtin.c:486
+#: builtin.c:511
 #, c-format
 msgid "log: received negative argument %g"
 msgstr "log: argument n�gatif %g"
 
-#: builtin.c:693 builtin.c:696
+#: builtin.c:719 builtin.c:722
 msgid "must use `count$' on all formats or none"
 msgstr "doit utiliser � count$ � sur tous les formats ou aucun"
 
-#: builtin.c:799
+#: builtin.c:783
+#, c-format
+msgid "field width is ignored for `%%%%' specifier"
+msgstr ""
+
+#: builtin.c:785
+#, c-format
+msgid "precision is ignored for `%%%%' specifier"
+msgstr ""
+
+#: builtin.c:787
+#, c-format
+msgid "field width and precision are ignored for `%%%%' specifier"
+msgstr ""
+
+#: builtin.c:838
 msgid "`$' is not permitted in awk formats"
 msgstr "� $ � n'est pas permis dans les formats awk"
 
-#: builtin.c:805
+#: builtin.c:844
 msgid "arg count with `$' must be > 0"
 msgstr "d�compte d'arguments avec � $ � doit �tre > 0"
 
-#: builtin.c:807
+#: builtin.c:846
 #, c-format
 msgid "arg count %ld greater than total number of supplied arguments"
 msgstr "compteur d'arguments %ld est > que le nombre total d'arguments fournis"
 
-#: builtin.c:809
+#: builtin.c:848
 msgid "`$' not permitted after period in format"
 msgstr "� $ � n'est pas permis apr�s le point"
 
-#: builtin.c:822
+#: builtin.c:861
 msgid "no `$' supplied for positional field width or precision"
 msgstr "aucun � $ � fourni dans le champ positionnel (longueur ou pr�cision)"
 
-#: builtin.c:888
+#: builtin.c:927
 msgid "`l' is meaningless in awk formats; ignored"
 msgstr "� l � n'a aucun sens dans les formats de awk; ignor�"
 
-#: builtin.c:892
+#: builtin.c:931
 msgid "`l' is not permitted in POSIX awk formats"
 msgstr "� l � n'est pas permis dans les format POSIX de awk"
 
-#: builtin.c:903
+#: builtin.c:942
 msgid "`L' is meaningless in awk formats; ignored"
 msgstr "� L � n'a aucun sens dans les formats s de awk; ignor�"
 
-#: builtin.c:907
+#: builtin.c:946
 msgid "`L' is not permitted in POSIX awk formats"
 msgstr "� L � n'est pas permis dans les formats POSIX de awk"
 
-#: builtin.c:918
+#: builtin.c:957
 msgid "`h' is meaningless in awk formats; ignored"
 msgstr "� h � n'a aucun send dans les formats de awk; ignor�"
 
-#: builtin.c:922
+#: builtin.c:961
 msgid "`h' is not permitted in POSIX awk formats"
 msgstr "� h � n'est pas permis dans les formats POSIX de awk"
 
-#: builtin.c:1182
+#: builtin.c:1236
 #, c-format
 msgid "[s]printf: value %g is out of range for `%%%c' format"
 msgstr "[s]printf: valeur %g est hors limite pour le format � %%%c �"
 
-#: builtin.c:1266
+#: builtin.c:1316
+#, c-format
+msgid "ignoring unknown format specifier character `%c': no argument converted"
+msgstr ""
+
+#: builtin.c:1322
 msgid "not enough arguments to satisfy format string"
 msgstr "pas assez d'arguments pour satisfaire le format d'une cha�ne"
 
-#: builtin.c:1268
+#: builtin.c:1324
 msgid "^ ran out for this one"
 msgstr "^ d�bordement pour celle-ci"
 
-#: builtin.c:1274
+#: builtin.c:1330
 msgid "[s]printf: format specifier does not have control letter"
 msgstr ""
 "[s]printf: sp�cificateur de format ne contient pas de lettre de contr�le"
 
-#: builtin.c:1277
+#: builtin.c:1333
 msgid "too many arguments supplied for format string"
 msgstr "trop d'arguments pour la cha�ne de format"
 
-#: builtin.c:1352 builtin.c:1355
+#: builtin.c:1408 builtin.c:1411
 msgid "printf: no arguments"
 msgstr "printf: aucun argument"
 
-#: builtin.c:1379
+#: builtin.c:1435
 msgid "sqrt: received non-numeric argument"
 msgstr "sqrt: argument n'est pas num�rique"
 
-#: builtin.c:1383
+#: builtin.c:1439
 #, c-format
 msgid "sqrt: called with negative argument %g"
 msgstr "sqrt: appel� avec un argument n�gatif %g"
 
-#: builtin.c:1407
+#: builtin.c:1463
 #, c-format
 msgid "substr: start index %g is invalid, using 1"
 msgstr "substr: d�but de l'index %g est invalide, utilise 1"
 
-#: builtin.c:1412
+#: builtin.c:1468
 #, c-format
 msgid "substr: non-integer start index %g will be truncated"
 msgstr "substr: d�but avec un nombre non entier %g sera tronqu�"
 
-#: builtin.c:1431
+#: builtin.c:1494
 #, c-format
 msgid "substr: length %g is not >= 1"
 msgstr "substr: longueur %g n'est pas >= 1"
 
-#: builtin.c:1433
+#: builtin.c:1496
 #, c-format
 msgid "substr: length %g is not >= 0"
 msgstr "substr: longueur %g n'est pas >= 0"
 
-#: builtin.c:1440
+#: builtin.c:1503
 #, c-format
 msgid "substr: non-integer length %g will be truncated"
 msgstr "substr: longueur avec un nombre non entier %g sera tronqu�"
 
-#: builtin.c:1445
+#: builtin.c:1508
 #, c-format
 msgid "substr: length %g too big for string indexing, truncating to %g"
 msgstr ""
 "substr: longueur %g trop grande pour l'indexation de cha�nes, truncation � %g"
 
-#: builtin.c:1457
+#: builtin.c:1520
 msgid "substr: source string is zero length"
 msgstr "substr: cha�ne de d�part est de longueur z�ro"
 
-#: builtin.c:1473
+#: builtin.c:1536
 #, c-format
 msgid "substr: start index %g is past end of string"
 msgstr "substr: d�but de l'index %g d�passe la fin de la cha�ne"
 
-#: builtin.c:1481
+#: builtin.c:1544
 #, c-format
 msgid ""
 "substr: length %g at start index %g exceeds length of first argument (%lu)"
@@ -618,260 +651,259 @@
 "substr: longueur %g d�but avec l'index %g d�borde la longueur du 1er "
 "arguement (%lu)"
 
-#: builtin.c:1558
+#: builtin.c:1621
 msgid "strftime: received non-string first argument"
 msgstr "strftim: premier argument re�u n'est pas une cha�ne"
 
-#: builtin.c:1564
+#: builtin.c:1627
 msgid "strftime: received empty format string"
 msgstr "strftime: cha�ne de format vide"
 
-#: builtin.c:1573
+#: builtin.c:1636
 msgid "strftime: received non-numeric second argument"
 msgstr "strftime: second argument re�u n'est pas num�rique"
 
-#: builtin.c:1650
+#: builtin.c:1713
 msgid "mktime: received non-string argument"
 msgstr "mktime: argument n'est pas une cha�ne"
 
-#: builtin.c:1695
+#: builtin.c:1758
 msgid "system: received non-string argument"
 msgstr "system: argument re�u n'est pas une cha�ne"
 
-#: builtin.c:1816 eval.c:2041
+#: builtin.c:1879 eval.c:2145
 #, c-format
 msgid "reference to uninitialized field `$%d'"
 msgstr "r�f�rence � un champ non initialis� � $%d �"
 
-#: builtin.c:1921
+#: builtin.c:1984
 msgid "tolower: received non-string argument"
 msgstr "tolower: argument re�u n'est pas une cha�ne"
 
-#: builtin.c:1951
+#: builtin.c:2014
 msgid "toupper: received non-string argument"
 msgstr "toupper: argument re�u n'est pas une cha�ne"
 
-#: builtin.c:1984
+#: builtin.c:2047
 msgid "atan2: received non-numeric first argument"
 msgstr "atan2: premier argument n'est pas num�rique"
 
-#: builtin.c:1986
+#: builtin.c:2049
 msgid "atan2: received non-numeric second argument"
 msgstr "atan2: second argument n'est pas num�rique"
 
-#: builtin.c:2005
+#: builtin.c:2068
 msgid "sin: received non-numeric argument"
 msgstr "sin: argument n'est pas num�rique"
 
-#: builtin.c:2021
+#: builtin.c:2084
 msgid "cos: received non-numeric argument"
 msgstr "cos: argument n'est pas num�rique"
 
-#: builtin.c:2071
+#: builtin.c:2137
 msgid "srand: received non-numeric argument"
 msgstr "srand: argument n'est pas num�rique"
 
-#: builtin.c:2106
+#: builtin.c:2172
 msgid "match: third argument is not an array"
 msgstr "match: le 3e argument n'est pas un tableau"
 
-#: builtin.c:2650
+#: builtin.c:2719
 msgid "gensub: third argument of 0 treated as 1"
 msgstr "gensub: le 3e argument de 0 trait� comme un 1"
 
-#: builtin.c:2766
+#: builtin.c:2835
 msgid "lshift: received non-numeric first argument"
 msgstr "lshift: premier argument n'est pas num�rique"
 
-#: builtin.c:2768
+#: builtin.c:2837
 msgid "lshift: received non-numeric second argument"
 msgstr "lshift: second argument re�u n'est pas num�rique"
 
-#: builtin.c:2774
+#: builtin.c:2843
 #, c-format
 msgid "lshift(%lf, %lf): negative values will give strange results"
 msgstr "lshift(%lf, %lf): valeurs n�gatives donneront d'�tranges r�sultats"
 
-#: builtin.c:2776
+#: builtin.c:2845
 #, c-format
 msgid "lshift(%lf, %lf): fractional values will be truncated"
 msgstr "lshift(%lf, %lf): valeurs fractionnaires seront tronqu�es"
 
-#: builtin.c:2778
+#: builtin.c:2847
 #, c-format
 msgid "lshift(%lf, %lf): too large shift value will give strange results"
 msgstr "lshift(%lf, %lf): trop grand d�placement donnera d'�tranges r�sultats"
 
-#: builtin.c:2804
+#: builtin.c:2873
 msgid "rshift: received non-numeric first argument"
 msgstr "rshift: premier argument n'est pas num�rique"
 
-#: builtin.c:2806
+#: builtin.c:2875
 msgid "rshift: received non-numeric second argument"
 msgstr "rshift: second argument re�u n'est pas num�rique"
 
-#: builtin.c:2812
+#: builtin.c:2881
 #, c-format
 msgid "rshift(%lf, %lf): negative values will give strange results"
 msgstr "rshift(%lf, %lf): valeurs n�gatives donneront d'�tranges r�sultats"
 
-#: builtin.c:2814
+#: builtin.c:2883
 #, c-format
 msgid "rshift(%lf, %lf): fractional values will be truncated"
 msgstr "rshift(%lf, %lf): valeurs fractionnaires seront tronqu�es"
 
-#: builtin.c:2816
+#: builtin.c:2885
 #, c-format
 msgid "rshift(%lf, %lf): too large shift value will give strange results"
 msgstr "rshift(%lf, %lf): trop grand d�placement donnera d'�tranges r�sultats"
 
-#: builtin.c:2842
+#: builtin.c:2911
 msgid "and: received non-numeric first argument"
 msgstr "and: premier argument n'est pas num�rique"
 
-#: builtin.c:2844
+#: builtin.c:2913
 msgid "and: received non-numeric second argument"
 msgstr "and: second argument re�u n'est pas num�rique"
 
-#: builtin.c:2850
+#: builtin.c:2919
 #, c-format
 msgid "and(%lf, %lf): negative values will give strange results"
 msgstr "and(%lf, %lf): valeurs n�gatives donneront d'�tranges r�sultats"
 
-#: builtin.c:2852
+#: builtin.c:2921
 #, c-format
 msgid "and(%lf, %lf): fractional values will be truncated"
 msgstr "and(%lf, %lf): valeurs fractionnaires seront tronqu�es"
 
-#: builtin.c:2878
+#: builtin.c:2947
 msgid "or: received non-numeric first argument"
 msgstr "or: premier argument n'est pas num�rique"
 
-#: builtin.c:2880
+#: builtin.c:2949
 msgid "or: received non-numeric second argument"
 msgstr "or: second argument re�u  n'est pas num�rique"
 
-#: builtin.c:2886
+#: builtin.c:2955
 #, c-format
 msgid "or(%lf, %lf): negative values will give strange results"
 msgstr "or(%lf, %lf): valeurs n�gatives donneront d'�tranges r�sultats"
 
-#: builtin.c:2888
+#: builtin.c:2957
 #, c-format
 msgid "or(%lf, %lf): fractional values will be truncated"
 msgstr "or(%lf, %lf): valeurs fractionnaires seront tronqu�es"
 
-#: builtin.c:2914
+#: builtin.c:2983
 msgid "xor: received non-numeric first argument"
 msgstr "xor: premier argument n'est pas num�rique"
 
-#: builtin.c:2916
+#: builtin.c:2985
 msgid "xor: received non-numeric second argument"
 msgstr "xor: second argument re�u n'est pas num�rique"
 
-#: builtin.c:2922
+#: builtin.c:2991
 #, c-format
 msgid "xor(%lf, %lf): negative values will give strange results"
 msgstr "xor(%lf, %lf): valeurs n�gatives donneront d'�tranges r�sultats"
 
-#: builtin.c:2924
+#: builtin.c:2993
 #, c-format
 msgid "xor(%lf, %lf): fractional values will be truncated"
 msgstr "xor(%lf, %lf): valeurs fractionnaires seront tronqu�es"
 
-#: builtin.c:2948
+#: builtin.c:3017
 msgid "compl: received non-numeric argument"
 msgstr "compl: argument n'est pas num�rique"
 
-#: builtin.c:2954
+#: builtin.c:3023
 #, c-format
 msgid "compl(%lf): negative value will give strange results"
 msgstr "compl(%lf): valeurs n�gatives donneront d'�tranges r�sultats"
 
-#: builtin.c:2956
+#: builtin.c:3025
 #, c-format
 msgid "compl(%lf): fractional value will be truncated"
 msgstr "compl(%lf): valeurs fractionnaires seront tronqu�es"
 
-#: builtin.c:3129
+#: builtin.c:3198
 #, c-format
 msgid "dcgettext: `%s' is not a valid locale category"
 msgstr "dcgettext: � %s � n'est pas dans un cat�gorie de localisation valide"
 
-#: eval.c:303
+#: eval.c:372
 #, c-format
 msgid "unknown nodetype %d"
 msgstr "type de noeud inconnu %d"
 
-#: eval.c:353
+#: eval.c:422
 msgid "buffer overflow in genflags2str"
 msgstr "d�bordement de tampo dans genflag2str"
 
-#: eval.c:385 eval.c:391 profile.c:817
+#: eval.c:454 eval.c:460 profile.c:781
 #, c-format
 msgid "attempt to use array `%s' in a scalar context"
 msgstr "tentative d'utilisation du tableau � %s � dans un contexte scalaire"
 
-#: eval.c:733
+#: eval.c:802
 #, c-format
 msgid "for loop: array `%s' changed size from %ld to %ld during loop execution"
 msgstr ""
 "for loop: tableau � %s � a chang� de taille de %ld � %ld durant l'ex�cution "
 "de la boucle"
 
-#: eval.c:754
+#: eval.c:823
 msgid "`break' outside a loop is not portable"
 msgstr "� break � en dehors de la boucle n'est pas portable"
 
-#: eval.c:758
+#: eval.c:827
 msgid "`break' outside a loop is not allowed"
 msgstr "� break � en dehors de la boucle n'est pas permis"
 
-#: eval.c:775
+#: eval.c:844
 msgid "`continue' outside a loop is not portable"
 msgstr "� continue � en dehors de la boucle n'est pas portable"
 
-#: eval.c:779
+#: eval.c:848
 msgid "`continue' outside a loop is not allowed"
 msgstr "� continue � en dehors de la boucle n'est pas permis"
 
-#: eval.c:813
+#: eval.c:882
 msgid "`next' cannot be called from a BEGIN rule"
 msgstr "� next � ne peut �tre appel� depuis une r�gle BEGIN"
 
-#: eval.c:815
+#: eval.c:884
 msgid "`next' cannot be called from an END rule"
 msgstr "� next � ne peut �tre appel� depuis une r�gle END"
 
-#: eval.c:824
+#: eval.c:893
 msgid "`nextfile' cannot be called from a BEGIN rule"
 msgstr "� nextfile � ne peut �tre appel� depuis une r�gle BEGIN"
 
-#: eval.c:826
+#: eval.c:895
 msgid "`nextfile' cannot be called from an END rule"
 msgstr "� nextfile � ne peut �tre appel� depuis une r�gle END"
 
-#: eval.c:875
+#: eval.c:952
 msgid "statement has no effect"
 msgstr "la d�claration n'a aucun effet"
 
-#: eval.c:952 eval.c:1895
+#: eval.c:1029 eval.c:1999
 #, c-format
 msgid "can't use function name `%s' as variable or array"
-msgstr ""
-"ne peut utiliser le nom de la fonction � %s � comme variable ou tableau"
+msgstr "ne peut utiliser le nom de la fonction � %s � comme variable ou tableau"
 
-#: eval.c:959 eval.c:965
+#: eval.c:1036 eval.c:1042
 #, c-format
 msgid "reference to uninitialized argument `%s'"
 msgstr "r�f�rence � un argument non initialis� � %s �"
 
-#: eval.c:974 eval.c:1904
+#: eval.c:1051 eval.c:2008
 #, c-format
 msgid "reference to uninitialized variable `%s'"
 msgstr "r�f�rence � une variable non initialis�e � %s �"
 
-#: eval.c:1120
+#: eval.c:1197
 msgid ""
 "concatenation: side effects in one expression have changed the length of "
 "another!"
@@ -879,44 +911,39 @@
 "concat�nation: effects de bord dans une expression a modifi� la longueur "
 "d'une autre!"
 
-#: eval.c:1202
+#: eval.c:1301
 msgid "assignment used in conditional context"
 msgstr "affectation utilis� dans un contexte conditionnel"
 
-#: eval.c:1280
+#: eval.c:1379
 msgid "division by zero attempted"
 msgstr "tentative de division par z�ro"
 
-#: eval.c:1295
-#, c-format
-msgid "division by zero attempted in `%%'"
-msgstr "tentative de division par z�ro dans � %% �"
-
-#: eval.c:1310 profile.c:693
+#: eval.c:1409 profile.c:657
 #, c-format
 msgid "illegal type (%s) in tree_eval"
 msgstr "type ill�gal (%s) dans tree_eval"
 
-#: eval.c:1473
+#: eval.c:1572
 msgid "division by zero attempted in `/='"
 msgstr "tentative de division par z�ro dans � /= �"
 
-#: eval.c:1495
+#: eval.c:1594
 #, c-format
 msgid "division by zero attempted in `%%='"
 msgstr "tentative de division par z�ro dans � %%= �"
 
-#: eval.c:1760
+#: eval.c:1859
 #, c-format
 msgid "function `%s' called with more arguments than declared"
 msgstr "fonction � %s � appel�e avec plus d'arguments que d�clar�es"
 
-#: eval.c:1804
+#: eval.c:1904
 #, c-format
 msgid "function `%s' not defined"
 msgstr "fonction � %s � non d�finie"
 
-#: eval.c:1867
+#: eval.c:1971
 #, c-format
 msgid ""
 "\n"
@@ -927,44 +954,49 @@
 "\t# Appel d'une fonction sur la pile:\n"
 "\n"
 
-#: eval.c:1870
+#: eval.c:1974
 #, c-format
 msgid "\t# -- main --\n"
 msgstr "#t# -- main --\n"
 
-#: eval.c:2025
+#: eval.c:2129
 msgid "attempt to field reference from non-numeric value"
 msgstr "tentative de r�f�rence un champ � partir d'une valeur non num�rique"
 
-#: eval.c:2027
+#: eval.c:2131
 msgid "attempt to reference from null string"
 msgstr "tentative de r�f�rence � partir d'une cha�ne nulle"
 
-#: eval.c:2033
+#: eval.c:2137
 #, c-format
 msgid "attempt to access field %d"
 msgstr "tentative d'acc�s du champ %d"
 
-#: eval.c:2054 eval.c:2061 profile.c:914
+#: eval.c:2158 eval.c:2165 profile.c:836
 msgid "assignment is not allowed to result of builtin function"
 msgstr ""
 "l'affectation n'est pas permise pour obtenir un r�sultat d'une fonction "
 "interne"
 
-#: eval.c:2125
+#: eval.c:2229
 msgid "`IGNORECASE' is a gawk extension"
 msgstr "� IGNORECASE � est une extension de gawk"
 
-#: eval.c:2155
+#: eval.c:2258
 msgid "`BINMODE' is a gawk extension"
 msgstr "� BINMODE � est une extension de gawk"
 
-#: eval.c:2277
+#: eval.c:2316
+#, c-format
+msgid "BINMODE value `%s' is invalid, treated as 3"
+msgstr ""
+
+#: eval.c:2406
 #, c-format
 msgid "bad `%sFMT' specification `%s'"
 msgstr "� %sFMT � sp�cification erron�e � %s �"
 
-#: eval.c:2355
+#: eval.c:2484
 msgid "turning off `--lint' due to assignment to `LINT'"
 msgstr "d�sactivation � --lint � en raison d'une affectation � � LINT �"
 
@@ -1046,563 +1078,571 @@
 msgid "NF set to negative value"
 msgstr "NF initialis� avec une valeur n�gative"
 
-#: field.c:823
+#: field.c:875
 msgid "split: second argument is not an array"
 msgstr "split: 2e argument n'est pas un tableau"
 
-#: field.c:857
+#: field.c:909
 msgid "split: null string for third arg is a gawk extension"
 msgstr "split: cha�ne vide pour le 3e argument est une extension de gawk"
 
-#: field.c:909
+#: field.c:961
 msgid "`FIELDWIDTHS' is a gawk extension"
 msgstr "� FIELDWIDTHS � est une extension de gawk"
 
-#: field.c:939 field.c:953
+#: field.c:991 field.c:1005
 #, c-format
 msgid "invalid FIELDWIDTHS value, near `%s'"
 msgstr "valeur de FIELDWIDTHS invalide, pr�s de `%s'"
 
-#: field.c:1036
+#: field.c:1088
 msgid "null string for `FS' is a gawk extension"
 msgstr "cha�ne vide pour � FS � est une extension de gawk"
 
-#: field.c:1040
+#: field.c:1092
 #, fuzzy
 msgid "old awk does not support regexps as value of `FS'"
 msgstr "l'ancien awk ne supporte pas l'op�rateur � ** �"
 
-#: getopt.c:571 getopt.c:587
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
+#: getopt.c:570 getopt.c:586
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
 msgstr "%s: option � %s � est ambigu�\n"
 
-#: getopt.c:620 getopt.c:624
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
+#: getopt.c:619 getopt.c:623
+#, fuzzy, c-format
+msgid "%s: option '--%s' doesn't allow an argument\n"
 msgstr "%s: option � --%s � n'admet pas d'arguement\n"
 
-#: getopt.c:633 getopt.c:638
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
+#: getopt.c:632 getopt.c:637
+#, fuzzy, c-format
+msgid "%s: option '%c%s' doesn't allow an argument\n"
 msgstr "%s: l'option � %c%s � ne requiert pas d'arguement\n"
 
-#: getopt.c:681 getopt.c:700 getopt.c:1016 getopt.c:1035
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
+#: getopt.c:680 getopt.c:699 getopt.c:1002 getopt.c:1021
+#, fuzzy, c-format
+msgid "%s: option '%s' requires an argument\n"
 msgstr "%s: l'option � %s � requiert un argument\n"
 
-#: getopt.c:738 getopt.c:741
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
+#: getopt.c:737 getopt.c:740
+#, fuzzy, c-format
+msgid "%s: unrecognized option '--%s'\n"
 msgstr "%s: option non reconnue � --%s �\n"
 
-#: getopt.c:749 getopt.c:752
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
+#: getopt.c:748 getopt.c:751
+#, fuzzy, c-format
+msgid "%s: unrecognized option '%c%s'\n"
 msgstr "%s: option non reconnue � %c%s �\n"
 
-#: getopt.c:804 getopt.c:807
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: option ill�gale -- %c\n"
-
-#: getopt.c:813 getopt.c:816
-#, c-format
-msgid "%s: invalid option -- %c\n"
+#: getopt.c:800 getopt.c:803
+#, fuzzy, c-format
+msgid "%s: invalid option -- '%c'\n"
 msgstr "%s: option invalide -- %c\n"
 
-#: getopt.c:868 getopt.c:884 getopt.c:1088 getopt.c:1106 main.c:461
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
+#: getopt.c:853 getopt.c:870 getopt.c:1073 getopt.c:1091
+#, fuzzy, c-format
+msgid "%s: option requires an argument -- '%c'\n"
 msgstr "%s: l'option requiert un arguement -- %c\n"
 
-#: getopt.c:937 getopt.c:953
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
+#: getopt.c:923 getopt.c:939
+#, fuzzy, c-format
+msgid "%s: option '-W %s' is ambiguous\n"
 msgstr "%s: l'option � -W %s � est ambigu�\n"
 
-#: getopt.c:977 getopt.c:995
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
+#: getopt.c:963 getopt.c:981
+#, fuzzy, c-format
+msgid "%s: option '-W %s' doesn't allow an argument\n"
 msgstr "%s: l'option � -W %s � ne requiert pas d'arguement\n"
 
-#: io.c:345
+#: io.c:322 io.c:352
 #, c-format
 msgid "cannot open file `%s' for reading (%s)"
 msgstr "ne peut ouvrir le fichier � %s � en lecture (%s)"
 
-#: io.c:436
+#: io.c:443
 #, c-format
 msgid "close of fd %d (`%s') failed (%s)"
 msgstr "fermeture de fd %d (� %s �) en �chec (%s)"
 
-#: io.c:575
+#: io.c:583
 #, c-format
 msgid "invalid tree type %s in redirect()"
 msgstr "type d'arbre invalide %s dans redirect()"
 
-#: io.c:581
+#: io.c:589
 #, c-format
 msgid "expression in `%s' redirection only has numeric value"
 msgstr ""
 "l'expression de la redirection de � %s � a seulement une valeur num�rique"
 
-#: io.c:587
+#: io.c:595
 #, c-format
 msgid "expression for `%s' redirection has null string value"
 msgstr ""
 "l'expression de la redirection de � %s � a une valeur nulle pour la cha�ne"
 
-#: io.c:592
+#: io.c:600
 #, c-format
 msgid "filename `%s' for `%s' redirection may be result of logical expression"
 msgstr ""
 "nom de fichier � %s � pour le redirection � %s � peut �tre le r�sultat d'une "
 "expression logique"
 
-#: io.c:630
+#: io.c:638
 #, c-format
 msgid "unnecessary mixing of `>' and `>>' for file `%.*s'"
 msgstr "m�lange non n�cessaire de � > � et de � >> � pour le fichier � %.*s �"
 
-#: io.c:682
+#: io.c:685
 #, c-format
 msgid "can't open pipe `%s' for output (%s)"
 msgstr "ne peut ouvrir un pipe � %s � en sortie (%s)"
 
-#: io.c:691
+#: io.c:694
 #, c-format
 msgid "can't open pipe `%s' for input (%s)"
 msgstr "ne peut ouvrir un pipe � %s � en entr�e (%s)"
 
-#: io.c:698 io.c:1448
-#, c-format
-msgid "file `%s' is a directory"
-msgstr "le fichier � %s � est un r�pertoire"
-
-#: io.c:706
+#: io.c:712
 #, c-format
 msgid "can't open two way socket `%s' for input/output (%s)"
 msgstr ""
 "ne peut ouvrir un socket bidirectionnel � %s � pour les entr�es/sorties (%s)"
 
-#: io.c:710
+#: io.c:716
 #, c-format
 msgid "can't open two way pipe `%s' for input/output (%s)"
 msgstr ""
 "ne peut ouvrir un pipe bidirectionnel � %s � pour les entr�es/sorties (%s)"
 
-#: io.c:786
+#: io.c:793
 #, c-format
 msgid "can't redirect from `%s' (%s)"
 msgstr "ne peut rediriger de � %s � (%s)"
 
-#: io.c:789
+#: io.c:796
 #, c-format
 msgid "can't redirect to `%s' (%s)"
 msgstr "ne peut rediriger vers � %s � (%s)"
 
-#: io.c:828
+#: io.c:849
 msgid ""
 "reached system limit for open files: starting to multiplex file descriptors"
 msgstr ""
 "limite syst�me atteinte pour l'ouverture des fichiers: d�but du multiplexage "
 "des descripteurs de fichiers"
 
-#: io.c:844
+#: io.c:865
 #, c-format
 msgid "close of `%s' failed (%s)."
 msgstr "fermeture de � %s � en �chec (%s)"
 
-#: io.c:852
+#: io.c:873
 msgid "too many pipes or input files open"
 msgstr "trop de pipes ou de fichiers en lecture ouverts"
 
-#: io.c:875
+#: io.c:896
 msgid "close: second argument must be `to' or `from'"
 msgstr "close: 2e argument doit �tre � to � ou � from �"
 
-#: io.c:889
+#: io.c:910
 #, c-format
 msgid "close: `%.*s' is not an open file, pipe or co-process"
 msgstr "close: � %.*s � n'est pas ni un fichier ouvert, pipe ou co-processus"
 
-#: io.c:893
+#: io.c:915
 msgid "close of redirection that was never opened"
 msgstr "fermeture de la redirection qui n'a jamais �t� ouverte"
 
-#: io.c:989
+#: io.c:1012
 #, c-format
 msgid "close: redirection `%s' not opened with `|&', second argument ignored"
 msgstr ""
 "close: redirection � %s � n'a pas �t� ouverte ave � |& � 2e argument ignor�"
 
-#: io.c:1005
+#: io.c:1028
 #, c-format
 msgid "failure status (%d) on pipe close of `%s' (%s)"
 msgstr "constat d'�chec (%d) lors de la fermeture du pipe � %s � (%s)"
 
-#: io.c:1008
+#: io.c:1031
 #, c-format
 msgid "failure status (%d) on file close of `%s' (%s)"
 msgstr "constat d'�chec (%d) lors de la fermeture du fichier � %s � (%s)"
 
-#: io.c:1028
+#: io.c:1051
 #, c-format
 msgid "no explicit close of socket `%s' provided"
 msgstr "aucune fermeture explicite du socket � %s � fournie"
 
-#: io.c:1031
+#: io.c:1054
 #, c-format
 msgid "no explicit close of co-process `%s' provided"
 msgstr "aucune fermeture explicite du co-processus � %s � fournie"
 
-#: io.c:1034
+#: io.c:1057
 #, c-format
 msgid "no explicit close of pipe `%s' provided"
 msgstr "aucune fermeture explicite du pipe � %s � fournie"
 
-#: io.c:1037
+#: io.c:1060
 #, c-format
 msgid "no explicit close of file `%s' provided"
 msgstr "aucune fermeture explicite du fichier � %s � fournie"
 
-#: io.c:1066 io.c:1121 main.c:749 main.c:791
+#: io.c:1088 io.c:1143 main.c:776 main.c:818
 #, c-format
 msgid "error writing standard output (%s)"
 msgstr "erreur lors de l'�criture vers stdout (%s)"
 
-#: io.c:1070 io.c:1126
+#: io.c:1092 io.c:1148
 #, c-format
 msgid "error writing standard error (%s)"
 msgstr "erreur lors de l'�criture vers stderr (%s)"
 
-#: io.c:1078
+#: io.c:1100
 #, c-format
 msgid "pipe flush of `%s' failed (%s)."
 msgstr "vidange du pipie de � %s � en �chec (%s)"
 
-#: io.c:1081
+#: io.c:1103
 #, c-format
 msgid "co-process flush of pipe to `%s' failed (%s)."
 msgstr "vidange du pipe par le co-processus vers � %s � en �chec (%s)"
 
-#: io.c:1084
+#: io.c:1106
 #, c-format
 msgid "file flush of `%s' failed (%s)."
 msgstr "vidange du fichier � %s � en �chec (%s)"
 
-#: io.c:1198
+#: io.c:1220
 #, fuzzy, c-format
 msgid "local port %s invalid in `/inet'"
 msgstr "port local invalide dans � %s �"
 
-#: io.c:1215
+#: io.c:1237
 #, c-format
 msgid "remote host and port information (%s, %s) invalid"
 msgstr ""
 
-#: io.c:1250
+#: io.c:1272
 msgid "/inet/raw client not ready yet, sorry"
 msgstr "le client /inet/raw n'est pas encore pr�t, d�sol�"
 
-#: io.c:1253 io.c:1289
+#: io.c:1275 io.c:1311
 msgid "only root may use `/inet/raw'."
 msgstr "seul root peut utiliser � /inet/raw �"
 
-#: io.c:1287
+#: io.c:1309
 msgid "/inet/raw server not ready yet, sorry"
 msgstr "le serveur /inet/raw n'est pas encore pr�t, d�sol�"
 
-#: io.c:1385
+#: io.c:1407
 #, c-format
 msgid "no (known) protocol supplied in special filename `%s'"
 msgstr "aucun protocole (connu) fourni dans le nom de fichier sp�cial � %s �"
 
-#: io.c:1399
+#: io.c:1421
 #, c-format
 msgid "special file name `%s' is incomplete"
 msgstr "nom sp�cial de fichier � %s � est incomplet"
 
-#: io.c:1414
+#: io.c:1436
 msgid "must supply a remote hostname to `/inet'"
 msgstr "un nom de h�te distant doit �tre fourni � � /inet �"
 
-#: io.c:1432
+#: io.c:1454
 msgid "must supply a remote port to `/inet'"
 msgstr "un port distant doit �tre fournis � � /inet �"
 
-#: io.c:1439
+#: io.c:1485
 msgid "TCP/IP communications are not supported"
 msgstr "les communications TCP/IP ne sont pas support�es"
 
-#: io.c:1509
+#: io.c:1494
+#, c-format
+msgid "file `%s' is a directory"
+msgstr "le fichier � %s � est un r�pertoire"
+
+#: io.c:1555
 #, c-format
 msgid "use `PROCINFO[\"%s\"]' instead of `%s'"
 msgstr "utliser � PROCINFO[\"%s\"] � au lieu de � %s �"
 
-#: io.c:1547
+#: io.c:1593
 msgid "use `PROCINFO[...]' instead of `/dev/user'"
 msgstr "utliser � PROCINFO[\"%s\"] � au lieu de � /dev/user �"
 
-#: io.c:1612 io.c:1798
+#: io.c:1658 io.c:1853
 #, c-format
 msgid "could not open `%s', mode `%s'"
 msgstr "ne peut ouvrir � %s �, mode � %s �"
 
-#: io.c:1849
+#: io.c:1904
 #, c-format
 msgid "close of master pty failed (%s)"
 msgstr "�chec de la fermeture du pty ma�tre (%s)"
 
-#: io.c:1851 io.c:2003 io.c:2154
+#: io.c:1906 io.c:2058 io.c:2209
 #, c-format
 msgid "close of stdout in child failed (%s)"
 msgstr "�chec de fermeture de stdout du processus fils (%s)"
 
-#: io.c:1854
+#: io.c:1909
 #, c-format
 msgid "moving slave pty to stdout in child failed (dup: %s)"
 msgstr ""
 "�chec de redirection de pty esclave vers stdout du processus fils (dup: %s)"
 
-#: io.c:1856 io.c:2008
+#: io.c:1911 io.c:2063
 #, c-format
 msgid "close of stdin in child failed (%s)"
 msgstr "�chec de fermeture de stdin du processus fils (%s)"
 
-#: io.c:1859
+#: io.c:1914
 #, c-format
 msgid "moving slave pty to stdin in child failed (dup: %s)"
 msgstr ""
 "�chec de redirection du pty esclave vers stdin du processus fils (dup: %s)"
 
-#: io.c:1861 io.c:1880
+#: io.c:1916 io.c:1935
 #, c-format
 msgid "close of slave pty failed (%s)"
 msgstr "�chec de la fermeture du pty esclave (%s)"
 
-#: io.c:1954 io.c:2006 io.c:2135 io.c:2157
+#: io.c:2009 io.c:2061 io.c:2190 io.c:2212
 #, c-format
 msgid "moving pipe to stdout in child failed (dup: %s)"
 msgstr "�chec de redirection du pipe vers stdout du processus fils (dup: %s)"
 
-#: io.c:1958 io.c:2011
+#: io.c:2013 io.c:2066
 #, c-format
 msgid "moving pipe to stdin in child failed (dup: %s)"
 msgstr "�chec de redirection du pipe vers stdin du processus fils (dup: %s)"
 
-#: io.c:1975 io.c:2148
+#: io.c:2030 io.c:2203
 msgid "restoring stdout in parent process failed\n"
 msgstr "restauration de stdout par le processus parent a �chou�\n"
 
-#: io.c:1980
+#: io.c:2035
 msgid "restoring stdin in parent process failed\n"
 msgstr "restauration de stdin par le processus parent a �chou�\n"
 
-#: io.c:2014 io.c:2159 io.c:2170
+#: io.c:2069 io.c:2214 io.c:2225
 #, c-format
 msgid "close of pipe failed (%s)"
 msgstr "�chec de la fermeture du pipe (%s)"
 
-#: io.c:2059
+#: io.c:2114
 msgid "`|&' not supported"
 msgstr "� |& � non support�"
 
-#: io.c:2125
+#: io.c:2180
 #, c-format
 msgid "cannot open pipe `%s' (%s)"
 msgstr "ne ouvrir un pipe � %s � (%s)"
 
-#: io.c:2166
+#: io.c:2221
 #, c-format
 msgid "cannot create child process for `%s' (fork: %s)"
 msgstr "ne cr�er le processus fils pour � %s � (fork: %s)"
 
-#: io.c:2548
+#: io.c:2603
 #, c-format
 msgid "data file `%s' is empty"
 msgstr "le fichier de donn�es � %s � est vide"
 
-#: io.c:2589 io.c:2597
+#: io.c:2644 io.c:2652
 msgid "could not allocate more input memory"
 msgstr "ne peut allouer plus de m�moire pour l'entr�e"
 
-#: io.c:2965 io.c:3038
+#: io.c:3020 io.c:3093
 #, c-format
 msgid "error reading input file `%s': %s"
 msgstr "erreur lors de la lecture du fichier source � %s �: %s"
 
-#: io.c:3163
+#: io.c:3218
 msgid "multicharacter value of `RS' is a gawk extension"
 msgstr "valeur de � RS � avec multiple caract�res est une extension gawk"
 
-#: main.c:351
+#: main.c:304
+msgid "out of memory"
+msgstr "M�moire �puis�e"
+
+#: main.c:373
 msgid "`-m[fr]' option irrelevant in gawk"
 msgstr "� -m[fr] � est une option non pertinente en gawk"
 
-#: main.c:353
+#: main.c:375
 msgid "-m option usage: `-m[fr] nnn'"
 msgstr "-m usage de l'option: � -m[fr] nnn �"
 
-#: main.c:370
+#: main.c:392
 #, c-format
 msgid "%s: option `-W %s' unrecognized, ignored\n"
 msgstr "%s: l'option � -W %s � n'est pas reconnue, ignor�e\n"
 
-#: main.c:407
+#: main.c:433
 msgid "empty argument to `--source' ignored"
 msgstr "argument vide � l'option � --source �, ignor�e"
 
-#: main.c:480
+#: main.c:487
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: l'option requiert un arguement -- %c\n"
+
+#: main.c:506
 msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'"
 msgstr ""
-"variable d'environnement � POSIXLY__CORRECT � initialis�e: utilisation de � "
-"--posix �"
+"variable d'environnement � POSIXLY__CORRECT � initialis�e: utilisation de � --"
+"posix �"
 
-#: main.c:486
+#: main.c:512
 msgid "`--posix' overrides `--traditional'"
 msgstr "� --posix � �crase � --traditional �"
 
-#: main.c:497
+#: main.c:523
 msgid "`--posix'/`--traditional' overrides `--non-decimal-data'"
 msgstr "� --posix �/� --traditional � �crase � --non-decimal-data �"
 
-#: main.c:501
+#: main.c:527
 #, c-format
 msgid "running %s setuid root may be a security problem"
 msgstr ""
 "ex�cution de %s en mode setuid root peut causer un probl�me de s�curit�"
 
-#: main.c:542
+#: main.c:568
 #, c-format
 msgid "can't set binary mode on stdin (%s)"
 msgstr "ne peut initialiser le mode binaire sur stdin (%s)"
 
-#: main.c:545
+#: main.c:571
 #, c-format
 msgid "can't set binary mode on stdout (%s)"
 msgstr "ne peut initialiser le mode binaire sur stdout (%s)"
 
-#: main.c:547
+#: main.c:573
 #, c-format
 msgid "can't set binary mode on stderr (%s)"
 msgstr "ne peut initialiser le mode binaire sur stderr (%s)"
 
-#: main.c:586
+#: main.c:612
 msgid "no program text at all!"
 msgstr "aucun programme!"
 
-#: main.c:690
+#: main.c:716
 #, c-format
 msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n"
 msgstr ""
 "Usage: %s [style des options POSIX ou GNU] -f fichierprog [--] fichier ...\n"
 
-#: main.c:692
+#: main.c:718
 #, c-format
 msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n"
 msgstr ""
 "Usage: %s [style des options POSIX ou GNU] [--] %cprogram%c fichier ...\n"
 
-#: main.c:697
+#: main.c:723
 msgid "POSIX options:\t\tGNU long options:\n"
 msgstr "Options POSIX:\t\toptions de long format GNU:\n"
 
-#: main.c:698
+#: main.c:724
 msgid "\t-f progfile\t\t--file=progfile\n"
 msgstr "\t-f fichierprog\t\t--file=fichierprog\n"
 
-#: main.c:699
+#: main.c:725
 msgid "\t-F fs\t\t\t--field-separator=fs\n"
 msgstr "#t-F fs\t\t\t--field-separator=fs\n"
 
-#: main.c:700
+#: main.c:726
 msgid "\t-v var=val\t\t--assign=var=val\n"
 msgstr "#t-v var=valeur\t\t--assign=var=valeur\n"
 
-#: main.c:701
+#: main.c:727
 msgid "\t-m[fr] val\n"
 msgstr "\t-m[fr] valeur\n"
 
-#: main.c:702
+#: main.c:728
+msgid "\t-O\t\t\t--optimize\n"
+msgstr ""
+
+#: main.c:729
 msgid "\t-W compat\t\t--compat\n"
 msgstr "\t-W compat\t\t--compat\n"
 
-#: main.c:703
+#: main.c:730
 msgid "\t-W copyleft\t\t--copyleft\n"
 msgstr "\t-W copyleft\t\t--copyleft\n"
 
-#: main.c:704
+#: main.c:731
 msgid "\t-W copyright\t\t--copyright\n"
 msgstr "\t-W copyright\t\t--copyright\n"
 
-#: main.c:705
+#: main.c:732
 msgid "\t-W dump-variables[=file]\t--dump-variables[=file]\n"
 msgstr "\t-W dump-variables[=fichier]\t--dump-variables[=fichier]\n"
 
-#: main.c:706
+#: main.c:733
 msgid "\t-W exec=file\t\t--exec=file\n"
 msgstr "\t-W exec=fichier\t\t--exec=fichier\n"
 
-#: main.c:707
+#: main.c:734
 msgid "\t-W gen-po\t\t--gen-po\n"
 msgstr "\t-W gen-po\t\t--gen-po\n"
 
-#: main.c:708
+#: main.c:735
 msgid "\t-W help\t\t\t--help\n"
 msgstr "\t-W help\t\t\t--help\n"
 
-#: main.c:709
+#: main.c:736
 msgid "\t-W lint[=fatal]\t\t--lint[=fatal]\n"
 msgstr "\t-W lint[=fatal]\t\t--lint[=fatal]\n"
 
-#: main.c:710
+#: main.c:737
 msgid "\t-W lint-old\t\t--lint-old\n"
 msgstr "\t-W lint-old\t\t--lint-old\n"
 
-#: main.c:711
+#: main.c:738
 msgid "\t-W non-decimal-data\t--non-decimal-data\n"
 msgstr "\t-W non-decimal-data\t--non-decimal-data\n"
 
-#: main.c:713
+#: main.c:740
 msgid "\t-W nostalgia\t\t--nostalgia\n"
 msgstr "\t-W nostalgia\t\t--nostalgia\n"
 
-#: main.c:716
+#: main.c:743
 msgid "\t-W parsedebug\t\t--parsedebug\n"
 msgstr "\t-W parsedebug\t\t--parsedebug\n"
 
-#: main.c:718
+#: main.c:745
 msgid "\t-W profile[=file]\t--profile[=file]\n"
 msgstr "\t-W profile[=fichier]\t--profile[=fichier]\n"
 
-#: main.c:719
+#: main.c:746
 msgid "\t-W posix\t\t--posix\n"
 msgstr "\t-W posix\t\t--posix\n"
 
-#: main.c:720
+#: main.c:747
 msgid "\t-W re-interval\t\t--re-interval\n"
 msgstr "\t-W re-interval\t\t--re-interval\n"
 
-#: main.c:721
+#: main.c:748
 msgid "\t-W source=program-text\t--source=program-text\n"
 msgstr "\t-W source=program-text\t--source=program-text\n"
 
-#: main.c:722
+#: main.c:749
 msgid "\t-W traditional\t\t--traditional\n"
 msgstr "\t-W traditional\t\t--traditional\n"
 
-#: main.c:723
+#: main.c:750
 msgid "\t-W usage\t\t--usage\n"
 msgstr "\t-W usage\t\t--usage\n"
 
-#: main.c:724
+#: main.c:751
 msgid "\t-W use-lc-numeric\t--use-lc-numeric\n"
 msgstr ""
 
-#: main.c:725
+#: main.c:752
 msgid "\t-W version\t\t--version\n"
 msgstr "\t-W version\t\t--version\n"
 
@@ -1611,7 +1651,7 @@
 #. for this application.  Please add _another line_ with the
 #. address for translation bugs.
 #. no-wrap
-#: main.c:734
+#: main.c:761
 msgid ""
 "\n"
 "To report bugs, see node `Bugs' in `gawk.info', which is\n"
@@ -1623,7 +1663,7 @@
 "la section\n"
 "� Problems and Bugs � dans la version imprim�e.\n"
 
-#: main.c:738
+#: main.c:765
 msgid ""
 "gawk is a pattern scanning and processing language.\n"
 "By default it reads standard input and writes standard output.\n"
@@ -1633,7 +1673,7 @@
 "Par d�faut, il lit de l'entr�e standard et �crit sur la sortie standard.\n"
 "\n"
 
-#: main.c:742
+#: main.c:769
 msgid ""
 "Examples:\n"
 "\tgawk '{ sum += $1 }; END { print sum }' file\n"
@@ -1643,8 +1683,8 @@
 "\tgawk '{ sum += $1 }; END { print sum }' file\n"
 "\tgawk -F: '{ print $1 }' /etc/passwd\n"
 
-#: main.c:762
-#, c-format
+#: main.c:789
+#, fuzzy, c-format
 msgid ""
 "Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
 "\n"
@@ -1658,11 +1698,11 @@
 "\n"
 "Ce programme est un logiciel libre; vous pouvez le redistribuer ou le\n"
 "modifier selon les termes de la License Publique G�n�rale de GNU, publi�e\n"
-"par la Free Software Foundation; soit la version 3 de la Licence ou,\n"
+"par la Free Software Foundation; soit la version 2 de la Licence ou,\n"
 "soit (selon vos pr�f�rences) toute version ult�rieure.\n"
 "\n"
 
-#: main.c:770
+#: main.c:797
 msgid ""
 "This program is distributed in the hope that it will be useful,\n"
 "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
@@ -1677,7 +1717,7 @@
 "Pour plus d'informations � ce sujet, consulter la � GNU General Public "
 "License �.\n"
 
-#: main.c:781
+#: main.c:808
 #, fuzzy
 msgid ""
 "You should have received a copy of the GNU General Public License\n"
@@ -1687,13 +1727,13 @@
 "avec ce programme; sinon, sinon �crire � la Free Software Foundation, Inc.,\n"
 "51 Franklin Street, FIth Floor, Boston, MA 02110-1301, USA.\n"
 
-#: main.c:816
+#: main.c:843
 msgid "-Ft does not set FS to tab in POSIX awk"
 msgstr ""
 "-Ft ne permet pas d'initialiser FS � un tabulateur dans la version POSIX de "
 "awk"
 
-#: main.c:1060
+#: main.c:1117
 #, c-format
 msgid ""
 "%s: `%s' argument to `-v' not in `var=value' form\n"
@@ -1702,35 +1742,45 @@
 "%s: � %s � argument pour � -v � n'utilise pas la formulation � var=valeur �\n"
 "\n"
 
-#: main.c:1080
+#: main.c:1137
 #, c-format
 msgid "`%s' is not a legal variable name"
 msgstr "� %s � n'est pas un nom l�gal de variable"
 
-#: main.c:1083
+#: main.c:1140
 #, c-format
 msgid "`%s' is not a variable name, looking for file `%s=%s'"
 msgstr "� %s � n'est pas un nom de variable, recherche du fichier � %s=%s �"
 
-#: main.c:1122
+#: main.c:1179
 msgid "floating point exception"
 msgstr "exception de la virgule flottante"
 
-#: main.c:1129
+#: main.c:1186
 msgid "fatal error: internal error"
 msgstr "erreur fatale: erreur interne"
 
-#: main.c:1180
+#: main.c:1200
+#, fuzzy
+msgid "fatal error: internal error: segfault"
+msgstr "erreur fatale: erreur interne"
+
+#: main.c:1212
+#, fuzzy
+msgid "fatal error: internal error: stack overflow"
+msgstr "erreur fatale: erreur interne"
+
+#: main.c:1261
 #, c-format
 msgid "no pre-opened fd %d"
 msgstr "aucun fd pr�-ouvert pour %d"
 
-#: main.c:1187
+#: main.c:1268
 #, c-format
 msgid "could not pre-open /dev/null for fd %d"
 msgstr "ne peut pr�-ouvrir /dev/null pour le descripteud fd %d"
 
-#: main.c:1210 main.c:1219
+#: main.c:1291 main.c:1300
 #, c-format
 msgid "could not find groups: %s"
 msgstr "n'a pu trouv� les groupes: %s"
@@ -1756,24 +1806,31 @@
 msgid "can't convert string to float"
 msgstr "ne peut convertir la cha�ne en nombre flottant"
 
-#: node.c:406
+#: node.c:462
 msgid "backslash at end of string"
 msgstr "barre oblique inverse � la fin de la cha�ne"
 
-#: node.c:548
+#: node.c:606
 #, fuzzy, c-format
 msgid "old awk does not support the `\\%c' escape sequence"
 msgstr "l'ancien awk ne supporte pas l'op�rateur � ** �"
 
-#: node.c:599
+#: node.c:657
 msgid "POSIX does not allow `\\x' escapes"
 msgstr "POSIX ne permet pas de s�quence d'�chappement � \\x �"
 
-#: node.c:605
+#: node.c:663
 msgid "no hex digits in `\\x' escape sequence"
 msgstr "aucun chiffre hexad�cimal dans la s�quence d'�chappement � \\x � "
 
-#: node.c:639
+#: node.c:685
+#, c-format
+msgid ""
+"hex escape \\x%.*s of %d characters probably not interpreted the way you "
+"expect"
+msgstr ""
+
+#: node.c:700
 #, c-format
 msgid "escape sequence `\\%c' treated as plain `%c'"
 msgstr "s�quence d'�chappement � \\%c � trait�e simplement comme � %c �"
@@ -1783,31 +1840,32 @@
 msgid "%s %s `%s': could not set close-on-exec: (fcntl: %s)"
 msgstr "%s %s � %s �: ne peut initialiser close-on-exec: (fcntl: %s)"
 
-#: profile.c:92
+#: profile.c:93
 #, c-format
 msgid "could not open `%s' for writing: %s"
 msgstr "ne peut ouvrir � %s � en �criture: %s"
 
-#: profile.c:450
+#: profile.c:453
 #, c-format
 msgid "internal error: %s with null vname"
 msgstr "erreur interne: %s avec un vname nul"
 
-#: profile.c:514
+#: profile.c:517
+#, fuzzy
 msgid "# treated internally as `delete'"
 msgstr "# trait� de mani�re interne comme � delete �"
 
-#: profile.c:1147
+#: profile.c:1069
 #, c-format
 msgid "# this is a dynamically loaded extension function"
 msgstr "# cela est un extension d'une fonction charg�e dynamiquement"
 
-#: profile.c:1178
+#: profile.c:1100
 #, c-format
 msgid "\t# gawk profile, created %s\n"
 msgstr "\t# profile gawk, cr�� %s\n"
 
-#: profile.c:1181
+#: profile.c:1103
 #, c-format
 msgid ""
 "\t# BEGIN block(s)\n"
@@ -1816,7 +1874,7 @@
 "#t# D�BUT de bloc(s)\n"
 "\n"
 
-#: profile.c:1191
+#: profile.c:1113
 #, c-format
 msgid ""
 "\t# Rule(s)\n"
@@ -1825,7 +1883,7 @@
 "\t# R�gle(s)\n"
 "\n"
 
-#: profile.c:1197
+#: profile.c:1119
 #, c-format
 msgid ""
 "\t# END block(s)\n"
@@ -1834,7 +1892,7 @@
 "\t# FIN de bloc(s)\n"
 "\n"
 
-#: profile.c:1217
+#: profile.c:1139
 #, c-format
 msgid ""
 "\n"
@@ -1843,83 +1901,91 @@
 "\n"
 "\t# Liste alphab�tique des fonctions\n"
 
-#: profile.c:1470
+#: profile.c:1400
 #, c-format
 msgid "unexpected type %s in prec_level"
 msgstr "type %s inattendu dans prec_level"
 
-#: regcomp.c:132
+#: profile.c:1500
+#, fuzzy, c-format
+msgid "Unknown node type %s in pp_var"
+msgstr "type de noeud inconnu %d"
+
+#: regcomp.c:133
 msgid "Success"
 msgstr "Succ�s"
 
-#: regcomp.c:135
+#: regcomp.c:136
 msgid "No match"
 msgstr "Aucune concordance"
 
-#: regcomp.c:138
+#: regcomp.c:139
 msgid "Invalid regular expression"
 msgstr "Expression r�guli�re invalide"
 
-#: regcomp.c:141
+#: regcomp.c:142
 msgid "Invalid collation character"
 msgstr "Caract�re de collation invalide"
 
-#: regcomp.c:144
+#: regcomp.c:145
 msgid "Invalid character class name"
 msgstr "Nom de classe de caract�res invalide"
 
-#: regcomp.c:147
+#: regcomp.c:148
 msgid "Trailing backslash"
 msgstr "Barre oblique inverse de terminaison"
 
-#: regcomp.c:150
+#: regcomp.c:151
 msgid "Invalid back reference"
 msgstr "Mauvaise r�f�rence arri�re"
 
-#: regcomp.c:153
+#: regcomp.c:154
 msgid "Unmatched [ or [^"
 msgstr "Non appariement de [ ou [^"
 
-#: regcomp.c:156
+#: regcomp.c:157
 msgid "Unmatched ( or \\("
 msgstr "Non appariement de ( ou \\("
 
-#: regcomp.c:159
+#: regcomp.c:160
 msgid "Unmatched \\{"
 msgstr "Non appariement de \\{"
 
-#: regcomp.c:162
+#: regcomp.c:163
 msgid "Invalid content of \\{\\}"
 msgstr "Contenu invalide de \\{\\}"
 
-#: regcomp.c:165
+#: regcomp.c:166
 msgid "Invalid range end"
 msgstr "Borne finale invalide"
 
-#: regcomp.c:168
+#: regcomp.c:169
 msgid "Memory exhausted"
 msgstr "M�moire �puis�e"
 
-#: regcomp.c:171
+#: regcomp.c:172
 msgid "Invalid preceding regular expression"
 msgstr "Expression r�guli�re pr�c�dente invalide"
 
-#: regcomp.c:174
+#: regcomp.c:175
 msgid "Premature end of regular expression"
 msgstr "Fin pr�matur�e de l'expression r�guli�re"
 
-#: regcomp.c:177
+#: regcomp.c:178
 msgid "Regular expression too big"
 msgstr "Expression r�guli�re trop grande"
 
-#: regcomp.c:180
+#: regcomp.c:181
 msgid "Unmatched ) or \\)"
 msgstr "Non appariement de ) ou \\)"
 
-#: regcomp.c:664
+#: regcomp.c:700
 msgid "No previous regular expression"
 msgstr "Aucune expression r�guli�re ant�rieure"
 
+#~ msgid "%s: illegal option -- %c\n"
+#~ msgstr "%s: option ill�gale -- %c\n"
+
 #~ msgid "remote port invalid in `%s'"
 #~ msgstr "port distant invalide dans � %s �"
 
@@ -1995,9 +2061,6 @@
 #~ msgid "Unbalanced )"
 #~ msgstr "Non appariement de )"
 
-#~ msgid "out of memory"
-#~ msgstr "M�moire �puis�e"
-
 #~ msgid "internal error: file `%s', line %d\n"
 #~ msgstr "erreur interne: fichier � %s �, ligne %d\n"
 
diff -urN gawk-3.1.6/po/ga.po gawk-3.1.7/po/ga.po
--- gawk-3.1.6/po/ga.po	2007-10-02 22:14:53.000000000 +0200
+++ gawk-3.1.7/po/ga.po	2009-07-21 23:23:45.000000000 +0300
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gawk 3.1.5h\n"
 "Report-Msgid-Bugs-To: arnold@skeeve.com\n"
-"POT-Creation-Date: 2007-09-30 22:33+0200\n"
+"POT-Creation-Date: 2009-07-21 23:23+0300\n"
 "PO-Revision-Date: 2007-10-01 13:47-0500\n"
 "Last-Translator: Peadar � Guil�n <peadarog@oceanfree.net>\n"
 "Language-Team: Irish <gaeilge-gnulinux@lists.sourceforge.net>\n"
@@ -75,321 +75,326 @@
 msgid "%s: array_ref to %s\n"
 msgstr "%s: tagairt_eagair do %s\n"
 
-#: awkgram.y:215
+#: awkgram.y:218
 #, c-format
 msgid "%s blocks must have an action part"
 msgstr "t� g� le p�irt ghn�omhach ag blocanna %s"
 
-#: awkgram.y:218
+#: awkgram.y:221
 msgid "each rule must have a pattern or an action part"
 msgstr "t� g� le patr�n n� p�irt ghn�omhach ag gach riail"
 
-#: awkgram.y:254 awkgram.y:263
+#: awkgram.y:257 awkgram.y:266
 msgid "old awk does not support multiple `BEGIN' or `END' rules"
 msgstr "n� thaca�onn sean-awk le rialacha iomad�la `BEGIN' n� `END'"
 
-#: awkgram.y:282
+#: awkgram.y:285
 #, c-format
 msgid "`%s' is a built-in function, it cannot be redefined"
 msgstr "is feidhm insuite � `%s', n� f�idir � a shainmh�ni�"
 
-#: awkgram.y:328
+#: awkgram.y:331
 msgid "regexp constant `//' looks like a C++ comment, but is not"
 msgstr "t� cuma n�ta tr�chta C++ ar an dtairiseach `//', ach n� n�ta tr�chta �"
 
-#: awkgram.y:331
+#: awkgram.y:334
 #, c-format
 msgid "regexp constant `/%s/' looks like a C comment, but is not"
 msgstr "t� cuma n�ta tr�chta C ar an dtairiseach `/%s/', ach n� n�ta tr�chta �"
 
-#: awkgram.y:358 awkgram.y:653
+#: awkgram.y:361 awkgram.y:656
 msgid "statement may have no effect"
 msgstr "seans nach mbeidh �ifeacht ag an r�iteas"
 
-#: awkgram.y:455 awkgram.y:479
+#: awkgram.y:458 awkgram.y:482
 #, c-format
 msgid "`%s' used in %s action"
 msgstr "`%s' � �s�id i ngn�omh %s"
 
-#: awkgram.y:470 awkgram.y:474
+#: awkgram.y:473 awkgram.y:477
 msgid "`nextfile' is a gawk extension"
 msgstr "is feabhs�ch�n gawk � `nextfile'"
 
-#: awkgram.y:489
+#: awkgram.y:492
 msgid "`return' used outside function context"
 msgstr "`return' � �s�id lasmuigh den chomhth�acs feidhmeach"
 
-#: awkgram.y:531
+#: awkgram.y:534
 msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'"
 msgstr ""
 "is d�igh gur ch�ir go mbeadh an gn�th `print' sa riail T�S n� CR�OCH scr�ofa "
 "mar `print \"\"'"
 
-#: awkgram.y:547 awkgram.y:555
+#: awkgram.y:550 awkgram.y:558
 msgid "`delete array' is a gawk extension"
 msgstr "is feabhs�ch�n gawk � `delete array'"
 
-#: awkgram.y:569 awkgram.y:577
+#: awkgram.y:572 awkgram.y:580
 msgid "`delete(array)' is a non-portable tawk extension"
 msgstr "is feabhs�ch�n neamh-iniompartha tawk � `delete(eagar)'"
 
-#: awkgram.y:621
+#: awkgram.y:624
 #, c-format
 msgid "duplicate case values in switch body: %s"
 msgstr "luachanna c�s d�bailte sa chorp laisce: %s"
 
-#: awkgram.y:631
+#: awkgram.y:634
 msgid "Duplicate `default' detected in switch body"
 msgstr "`default' d�bailte aimsithe sa chorp laisce"
 
-#: awkgram.y:720
+#: awkgram.y:723
 msgid "multistage two-way pipelines don't work"
 msgstr "n� oibr�onn p�bl�nte d�threo ilch�imeacha"
 
-#: awkgram.y:811
+#: awkgram.y:814
 msgid "regular expression on right of assignment"
 msgstr "slonn ionada�ochta ar dh�is an tsannach�in"
 
-#: awkgram.y:834
+#: awkgram.y:824
 msgid "regular expression on left of `~' or `!~' operator"
 msgstr "slonn ionada�ochta ar chl� na oibreoir� `~' n� `!~'"
 
-#: awkgram.y:840 awkgram.y:913
+#: awkgram.y:830 awkgram.y:903
 msgid "old awk does not support the keyword `in' except after `for'"
 msgstr "n� thaca�onn sean-awk le heochairfhocal `in' ach tar �is `for'"
 
-#: awkgram.y:846
+#: awkgram.y:836
 msgid "regular expression on right of comparison"
 msgstr "slonn ionada�ochta ar dh�is na compar�ide"
 
-#: awkgram.y:903
+#: awkgram.y:893
 msgid "non-redirected `getline' undefined inside END action"
 msgstr "n� shannadh `getline' neamhatreoraithe lasmuigh den ghn�omh CR�OCH"
 
-#: awkgram.y:914
+#: awkgram.y:904
 msgid "old awk does not support multidimensional arrays"
 msgstr "n� thaca�onn sean-awk le heagair iltoiseacha"
 
-#: awkgram.y:960
+#: awkgram.y:950
 msgid "call of `length' without parentheses is not portable"
 msgstr "t� glao `length' gan l�ib�n� doiompartha"
 
-#: awkgram.y:965
+#: awkgram.y:955
 msgid "call of `length' without parentheses is deprecated by POSIX"
 msgstr "lochta�onn POSIX glao `length' gan l�ib�n�"
 
-#: awkgram.y:1019
+#: awkgram.y:1009
 msgid "use of non-array as array"
 msgstr "neamheagar � �s�id mar eagar"
 
-#: awkgram.y:1022
+#: awkgram.y:1012
 msgid "invalid subscript expression"
 msgstr "slonn foscripte neamhbhail�"
 
-#: awkgram.y:1249
+#: awkgram.y:1257
 msgid "unexpected newline or end of string"
 msgstr "l�ne nua n� deireadh teaghr�in gan choinne"
 
-#: awkgram.y:1366
+#: awkgram.y:1374
 msgid "empty program text on command line"
 msgstr "t�acs feidhmchl�r folamh ar l�ne na n-orduithe"
 
-#: awkgram.y:1422
+#: awkgram.y:1430
 #, c-format
 msgid "can't open source file `%s' for reading (%s)"
 msgstr "n� f�idir an comhad foinseach `%s' a oscailt chun l�amh (%s)"
 
-#: awkgram.y:1520
+#: awkgram.y:1528
 #, c-format
 msgid "can't read sourcefile `%s' (%s)"
 msgstr "n� f�idir an comhad foinseach `%s' a l�amh (%s)"
 
-#: awkgram.y:1528
+#: awkgram.y:1536
 #, c-format
 msgid "source file `%s' is empty"
 msgstr "comhad foinseach `%s' folamh"
 
-#: awkgram.y:1720 awkgram.y:1842 awkgram.y:1860 awkgram.y:2235 awkgram.y:2322
+#: awkgram.y:1728 awkgram.y:1850 awkgram.y:1868 awkgram.y:2243 awkgram.y:2330
 msgid "source file does not end in newline"
 msgstr "n� chr�ochna�onn an comhad foinseach le l�ne nua"
 
-#: awkgram.y:1782
+#: awkgram.y:1790
 msgid "unterminated regexp ends with `\\' at end of file"
 msgstr "cr�ochna�onn regexp gan chr�ochn� le `\\' ag an gcomhadchr�och"
 
-#: awkgram.y:1806
+#: awkgram.y:1814
 #, c-format
 msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk"
 msgstr "%s: %d: n� oibr�onn an mionathraitheoir tawk regex `/.../%c' i ngawk"
 
-#: awkgram.y:1810
+#: awkgram.y:1818
 #, c-format
 msgid "tawk regex modifier `/.../%c' doesn't work in gawk"
 msgstr "n� oibr�onn an mionathraitheoir tawk regex `/.../%c' i ngawk"
 
-#: awkgram.y:1817
+#: awkgram.y:1825
 msgid "unterminated regexp"
 msgstr "slonn ionada�ochta gan cr�ochn�"
 
-#: awkgram.y:1820
+#: awkgram.y:1828
 msgid "unterminated regexp at end of file"
 msgstr "slonn ionada�ochta gan cr�ochn� ag an gcomhadchr�och"
 
-#: awkgram.y:1889
+#: awkgram.y:1897
 msgid "use of `\\ #...' line continuation is not portable"
 msgstr "n�l �s�id `\\ #...' mar lean�int l�ne doiompartha"
 
-#: awkgram.y:1902
+#: awkgram.y:1910
 msgid "backslash not last character on line"
 msgstr "n� c�lslais � carachtar deireanach an l�ne"
 
-#: awkgram.y:1947
+#: awkgram.y:1955
 msgid "POSIX does not allow operator `**='"
 msgstr "n� cheada�onn POSIX an t-oibreoir `**='"
 
-#: awkgram.y:1949
+#: awkgram.y:1957
 msgid "old awk does not support operator `**='"
 msgstr "n� cheada�onn sean-awk an t-oibreoir `**='"
 
-#: awkgram.y:1958
+#: awkgram.y:1966
 msgid "POSIX does not allow operator `**'"
 msgstr "n� cheada�onn POSIX an t-oibreoir `**='"
 
-#: awkgram.y:1960
+#: awkgram.y:1968
 msgid "old awk does not support operator `**'"
 msgstr "n� cheada�onn sean-awk an t-oibreoir `**='"
 
-#: awkgram.y:1991
+#: awkgram.y:1999
 msgid "operator `^=' is not supported in old awk"
 msgstr "t� an t-oibreoir `^=' gan taca�ocht sa shean awk"
 
-#: awkgram.y:1999
+#: awkgram.y:2007
 msgid "operator `^' is not supported in old awk"
 msgstr "t� an t-oibreoir `^' gan taca�ocht sa shean awk"
 
-#: awkgram.y:2083 awkgram.y:2098
+#: awkgram.y:2091 awkgram.y:2106
 msgid "unterminated string"
 msgstr "teaghr�n gan chr�ochn�"
 
-#: awkgram.y:2283
+#: awkgram.y:2291
 #, c-format
 msgid "invalid char '%c' in expression"
 msgstr "carachtar neamhbhail� '%c' sa slonn"
 
-#: awkgram.y:2331
+#: awkgram.y:2339
 #, c-format
 msgid "`%s' is a gawk extension"
 msgstr "is feabhs�ch�n gawk � `%s'"
 
-#: awkgram.y:2334
+#: awkgram.y:2342
 #, c-format
 msgid "`%s' is a Bell Labs extension"
 msgstr "is feabhs�ch�n Bell Labs � `%s'"
 
-#: awkgram.y:2337
+#: awkgram.y:2345
 #, c-format
 msgid "POSIX does not allow `%s'"
 msgstr "n� cheada�onn POSIX `%s'"
 
-#: awkgram.y:2341
+#: awkgram.y:2349
 #, c-format
 msgid "`%s' is not supported in old awk"
 msgstr "t� `%s' gan taca�ocht sa shean awk"
 
-#: awkgram.y:2367
+#: awkgram.y:2375
 msgid "`goto' considered harmful!\n"
 msgstr "deirtear go bhfuil `goto' dochrach!\n"
 
-#: awkgram.y:2429
+#: awkgram.y:2437
 #, c-format
 msgid "%d is invalid as number of arguments for %s"
 msgstr "%d oiread arg�int� neamhbhail� le haghaidh %s"
 
-#: awkgram.y:2448 awkgram.y:2451
+#: awkgram.y:2456 awkgram.y:2459
 msgid "match: third argument is a gawk extension"
 msgstr "meaitse�il: is feabhs�ch�n gawk � an tr�� harg�int"
 
-#: awkgram.y:2464
+#: awkgram.y:2472
 #, c-format
 msgid "%s: string literal as last arg of substitute has no effect"
 msgstr ""
 "%s: n� bh�onn aon �ifeacht ag teaghr�n litri�il mar arg deireanach an ionada�"
 
-#: awkgram.y:2467
+#: awkgram.y:2475
 #, c-format
 msgid "%s third parameter is not a changeable object"
 msgstr "n� oibiacht athraitheach � an tr�� paraim�adar %s"
 
-#: awkgram.y:2494 awkgram.y:2497
+#: awkgram.y:2502 awkgram.y:2505
 msgid "close: second argument is a gawk extension"
 msgstr "close: is feabhs�ch�n gawk � an dara harg�int"
 
-#: awkgram.y:2507
+#: awkgram.y:2515
 msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore"
 msgstr "t� �s�id dcgettext(_\"...\") m�cheart: bain amach an ch�ad fhostr�oc"
 
-#: awkgram.y:2522
+#: awkgram.y:2530
 msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore"
 msgstr "t� �s�id dcgettext(_\"...\") m�cheart: bain amach an ch�ad fhostr�oc"
 
-#: awkgram.y:2594
+#: awkgram.y:2602
 #, c-format
 msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d"
 msgstr "feidhm `%s': is c�ip � paraim�adar #%d, `%s', den pharaim�adar #%d"
 
-#: awkgram.y:2627
+#: awkgram.y:2635
 #, c-format
 msgid "function `%s': parameter `%s' shadows global variable"
 msgstr "feidhm `%s': leanann paraim�adar `%s' athr�g chomhchoiteann"
 
-#: awkgram.y:2739
+#: awkgram.y:2747
 #, c-format
 msgid "could not open `%s' for writing (%s)"
 msgstr "n�orbh fh�idir `%s' a oscailt chun scr�obh (%s)"
 
-#: awkgram.y:2740 profile.c:94
+#: awkgram.y:2748 profile.c:95
 msgid "sending profile to standard error"
 msgstr "pr�if�l � seoladh go hearr�id chaighde�nach"
 
-#: awkgram.y:2772
+#: awkgram.y:2780
 #, c-format
 msgid "%s: close failed (%s)"
 msgstr "%s: theip ar an d�n (%s)"
 
-#: awkgram.y:2893
+#: awkgram.y:2901
 msgid "shadow_funcs() called twice!"
 msgstr "glaodh dh� uair ar shadow_funcs()!"
 
-#: awkgram.y:2920
+#: awkgram.y:2928
 msgid "there were shadowed variables."
 msgstr "bh� sc�thathr�ga� ann."
 
-#: awkgram.y:2993
+#: awkgram.y:3001
 #, c-format
 msgid "function `%s': can't use function name as parameter name"
 msgstr "feidhm `%s': n�l cead ainm feidhme a �s�id mar ainm paraim�adar"
 
-#: awkgram.y:3003
+#: awkgram.y:3004
+#, fuzzy, c-format
+msgid "function `%s': can't use special variable `%s' as a function parameter"
+msgstr "feidhm `%s': n�l cead ainm feidhme a �s�id mar ainm paraim�adar"
+
+#: awkgram.y:3014
 #, c-format
 msgid "function name `%s' previously defined"
 msgstr "ainm feidhme `%s' sainmh�nithe cheana"
 
-#: awkgram.y:3154 awkgram.y:3160
+#: awkgram.y:3165 awkgram.y:3171
 #, c-format
 msgid "function `%s' called but never defined"
 msgstr "glaodh ar an bhfeidhm `%s' nach bhfuil sainithe"
 
-#: awkgram.y:3163
+#: awkgram.y:3174
 #, c-format
 msgid "function `%s' defined but never called"
 msgstr "t� saini� ag an bhfeidhm `%s' ach n� ghlaodh �"
 
-#: awkgram.y:3190
+#: awkgram.y:3201
 #, c-format
 msgid "regexp constant for parameter #%d yields boolean value"
 msgstr "tagann luach Boole de bharr �n dtairiseach regexp don pharaim�adar #%d"
 
-#: awkgram.y:3234
+#: awkgram.y:3245
 #, c-format
 msgid ""
 "function `%s' called with space between name and `(',\n"
@@ -398,498 +403,522 @@
 "glaodh feidhm `%s' le sp�s idir ainm agus `(',\n"
 "n� �s�ideadh � mar athr�g n� mar eagar"
 
-#: builtin.c:119
+#: awkgram.y:3667 eval.c:1394
+#, c-format
+msgid "division by zero attempted in `%%'"
+msgstr "iarracht roinnt le nialas a dh�anamh i `%%'"
+
+#: builtin.c:122
 #, c-format
 msgid "%s to \"%s\" failed (%s)"
 msgstr "theip ar %s go \"%s\" (%s)"
 
-#: builtin.c:120
+#: builtin.c:123
 msgid "standard output"
 msgstr "aschur caighde�nach"
 
-#: builtin.c:121
+#: builtin.c:124
 msgid "reason unknown"
 msgstr "n�l fhios an f�th"
 
-#: builtin.c:134
+#: builtin.c:137
 msgid "exp: received non-numeric argument"
 msgstr "exp: fuarthas arg�int neamhuimhri�il"
 
-#: builtin.c:140
+#: builtin.c:143
 #, c-format
 msgid "exp: argument %g is out of range"
 msgstr "exp: arg�int %g as raon"
 
-#: builtin.c:198
+#: builtin.c:201
 #, c-format
 msgid "fflush: cannot flush: pipe `%s' opened for reading, not writing"
 msgstr "fflush: n� dh�is�fear: p�opa `%s' oscailte do l�amh, n� do scr�obh"
 
-#: builtin.c:201
+#: builtin.c:204
 #, c-format
 msgid "fflush: cannot flush: file `%s' opened for reading, not writing"
 msgstr "fflush: n� dh�is�fear: comhad `%s' oscailte do l�amh, n� do scr�obh"
 
-#: builtin.c:213
+#: builtin.c:216
 #, c-format
 msgid "fflush: `%s' is not an open file, pipe or co-process"
 msgstr "fflush: n� comhad, p�opa n� comhphr�iseas oscailte � `%s'"
 
-#: builtin.c:306
+#: builtin.c:310
 msgid "index: received non-string first argument"
 msgstr "index: n� teaghr�n � an ch�ad arg�int"
 
-#: builtin.c:308
+#: builtin.c:312
 msgid "index: received non-string second argument"
 msgstr "index: n� teaghr�n � an dara harg�int"
 
-#: builtin.c:423
+#: builtin.c:434
 msgid "int: received non-numeric argument"
 msgstr "int: fuarthas arg�int neamhuimhri�il"
 
-#: builtin.c:448
+#: builtin.c:464
 msgid "`length(array)' is a gawk extension"
 msgstr "is feabhs�ch�n gawk � `length(array)'"
 
-#: builtin.c:458
+#: builtin.c:473
+msgid "length: untyped argument will be forced to scalar"
+msgstr ""
+
+#: builtin.c:477
 msgid "length: received non-string argument"
 msgstr "length: fuarthas arg�int nach teaghr�n �"
 
-#: builtin.c:483
+#: builtin.c:508
 msgid "log: received non-numeric argument"
 msgstr "log: fuarthas arg�int neamhuimhri�il"
 
-#: builtin.c:486
+#: builtin.c:511
 #, c-format
 msgid "log: received negative argument %g"
 msgstr "log: fuarthas arg�int di�ltach %g"
 
-#: builtin.c:693 builtin.c:696
+#: builtin.c:719 builtin.c:722
 msgid "must use `count$' on all formats or none"
 msgstr ""
 "m� �s�idtear `count$' i bhform�id ar bith, caithfidh � a �s�id i ngach "
 "form�id �"
 
-#: builtin.c:799
+#: builtin.c:783
+#, c-format
+msgid "field width is ignored for `%%%%' specifier"
+msgstr ""
+
+#: builtin.c:785
+#, c-format
+msgid "precision is ignored for `%%%%' specifier"
+msgstr ""
+
+#: builtin.c:787
+#, c-format
+msgid "field width and precision are ignored for `%%%%' specifier"
+msgstr ""
+
+#: builtin.c:838
 msgid "`$' is not permitted in awk formats"
 msgstr "N�l `$' ceadaithe i bhform�id� awk"
 
-#: builtin.c:805
+#: builtin.c:844
 msgid "arg count with `$' must be > 0"
 msgstr "caithfidh �ireamh na harg. le `$' bheith > 0"
 
-#: builtin.c:807
+#: builtin.c:846
 #, c-format
 msgid "arg count %ld greater than total number of supplied arguments"
 msgstr "�ireamh na harg. %ld n�os m� n� na harg�int� faighte"
 
-#: builtin.c:809
+#: builtin.c:848
 msgid "`$' not permitted after period in format"
 msgstr "n�l `$' ceadaithe i bhform�id th�is punc"
 
-#: builtin.c:822
+#: builtin.c:861
 msgid "no `$' supplied for positional field width or precision"
 msgstr "n�or thugadh `$' do leithead n� beachtas an r�imse ionaid"
 
-#: builtin.c:888
+#: builtin.c:927
 msgid "`l' is meaningless in awk formats; ignored"
 msgstr "n�l ciall ag `l' i bhform�id� awk; neamhairdithe"
 
-#: builtin.c:892
+#: builtin.c:931
 msgid "`l' is not permitted in POSIX awk formats"
 msgstr "n� cheada�tear `l' i bhform�id� awk POSIX"
 
-#: builtin.c:903
+#: builtin.c:942
 msgid "`L' is meaningless in awk formats; ignored"
 msgstr "n�l ciall ag `L' i bhform�id� awk; neamhairdithe"
 
-#: builtin.c:907
+#: builtin.c:946
 msgid "`L' is not permitted in POSIX awk formats"
 msgstr "n� cheada�tear `L' i bhform�id� awk POSIX"
 
-#: builtin.c:918
+#: builtin.c:957
 msgid "`h' is meaningless in awk formats; ignored"
 msgstr "n�l ciall ag  `h' i bhform�id� awk; neamhairdithe"
 
-#: builtin.c:922
+#: builtin.c:961
 msgid "`h' is not permitted in POSIX awk formats"
 msgstr "n� cheada�tear `h' i bhform�id� awk POSIX"
 
-#: builtin.c:1182
+#: builtin.c:1236
 #, c-format
 msgid "[s]printf: value %g is out of range for `%%%c' format"
 msgstr "[s]printf: t� luach %g as raon don bhform�id `%%%c'"
 
-#: builtin.c:1266
+#: builtin.c:1316
+#, c-format
+msgid "ignoring unknown format specifier character `%c': no argument converted"
+msgstr ""
+
+#: builtin.c:1322
 msgid "not enough arguments to satisfy format string"
 msgstr "n� leor arg�int� le haghaidh an teaghr�in form�ide"
 
-#: builtin.c:1268
+#: builtin.c:1324
 msgid "^ ran out for this one"
 msgstr "^ imithe thar br�id don cheann seo"
 
-#: builtin.c:1274
+#: builtin.c:1330
 msgid "[s]printf: format specifier does not have control letter"
 msgstr "[s]printf: n�l litir rial�ch�in ag an sonraitheoir form�ide"
 
-#: builtin.c:1277
+#: builtin.c:1333
 msgid "too many arguments supplied for format string"
 msgstr "fuarthas an iomarca arg�int� don teaghr�n form�ide"
 
-#: builtin.c:1352 builtin.c:1355
+#: builtin.c:1408 builtin.c:1411
 msgid "printf: no arguments"
 msgstr "printf: n�l aon arg�int"
 
-#: builtin.c:1379
+#: builtin.c:1435
 msgid "sqrt: received non-numeric argument"
 msgstr "sqrt: fuarthas arg�int neamhuimhri�il"
 
-#: builtin.c:1383
+#: builtin.c:1439
 #, c-format
 msgid "sqrt: called with negative argument %g"
 msgstr "sqrt: glaodh le arg�int di�ltach %g"
 
-#: builtin.c:1407
+#: builtin.c:1463
 #, c-format
 msgid "substr: start index %g is invalid, using 1"
 msgstr "substr: t� t�s inn�acs %g neamhbhail�, ag �s�id a 1"
 
-#: builtin.c:1412
+#: builtin.c:1468
 #, c-format
 msgid "substr: non-integer start index %g will be truncated"
 msgstr "substr: teascfar t�s neamhuimhri�il an inn�acs %g"
 
-#: builtin.c:1431
+#: builtin.c:1494
 #, c-format
 msgid "substr: length %g is not >= 1"
 msgstr "substr: n�l fad %g >= 1"
 
-#: builtin.c:1433
+#: builtin.c:1496
 #, c-format
 msgid "substr: length %g is not >= 0"
 msgstr "substr: n�l fad %g >= 0"
 
-#: builtin.c:1440
+#: builtin.c:1503
 #, c-format
 msgid "substr: non-integer length %g will be truncated"
 msgstr "ubstr: teascfar an fad neamhuimhri�il %g"
 
-#: builtin.c:1445
+#: builtin.c:1508
 #, c-format
 msgid "substr: length %g too big for string indexing, truncating to %g"
 msgstr "substr: fad %g r�-mh�r d'inn�acs� teaghr�in, ag teascadh go %g"
 
-#: builtin.c:1457
+#: builtin.c:1520
 msgid "substr: source string is zero length"
 msgstr "substr: t� an teaghr�n foinse folamh"
 
-#: builtin.c:1473
+#: builtin.c:1536
 #, c-format
 msgid "substr: start index %g is past end of string"
 msgstr "substr: inn�acs tosaithe %g tar �is deireadh an teaghr�in"
 
-#: builtin.c:1481
+#: builtin.c:1544
 #, c-format
 msgid ""
 "substr: length %g at start index %g exceeds length of first argument (%lu)"
 msgstr "substr: fad %g ag inn�acs tosaithe %g r�fhada don ch�ad arg�int (%lu)"
 
-#: builtin.c:1558
+#: builtin.c:1621
 msgid "strftime: received non-string first argument"
 msgstr "strftime: n� teaghr�n � an ch�ad arg�int"
 
-#: builtin.c:1564
+#: builtin.c:1627
 msgid "strftime: received empty format string"
 msgstr "strftime: fuarthas teaghr�n form�ide folamh"
 
-#: builtin.c:1573
+#: builtin.c:1636
 msgid "strftime: received non-numeric second argument"
 msgstr "strftime: fuarthas dara harg�int neamhuimhri�il"
 
-#: builtin.c:1650
+#: builtin.c:1713
 msgid "mktime: received non-string argument"
 msgstr "mktime: n� teaghr�n � an arg�int"
 
-#: builtin.c:1695
+#: builtin.c:1758
 msgid "system: received non-string argument"
 msgstr "system: fuarthas arg�int nach teaghr�n �"
 
-#: builtin.c:1816 eval.c:2041
+#: builtin.c:1879 eval.c:2145
 #, c-format
 msgid "reference to uninitialized field `$%d'"
 msgstr "tagairt d'athr�g nach bhfuil t�saithe `$%d'"
 
-#: builtin.c:1921
+#: builtin.c:1984
 msgid "tolower: received non-string argument"
 msgstr "tolower: fuarthas arg�int nach teaghr�n �"
 
-#: builtin.c:1951
+#: builtin.c:2014
 msgid "toupper: received non-string argument"
 msgstr "toupper: fuarthas arg�int nach teaghr�n �"
 
-#: builtin.c:1984
+#: builtin.c:2047
 msgid "atan2: received non-numeric first argument"
 msgstr "atan2: n� huimhir � an ch�ad arg�int"
 
-#: builtin.c:1986
+#: builtin.c:2049
 msgid "atan2: received non-numeric second argument"
 msgstr "atan2: n� huimhir � an dara harg�int"
 
-#: builtin.c:2005
+#: builtin.c:2068
 msgid "sin: received non-numeric argument"
 msgstr "sin: fuarthas arg�int neamhuimhri�il"
 
-#: builtin.c:2021
+#: builtin.c:2084
 msgid "cos: received non-numeric argument"
 msgstr "cos: fuarthas arg�int neamhuimhri�il"
 
-#: builtin.c:2071
+#: builtin.c:2137
 msgid "srand: received non-numeric argument"
 msgstr "srand: fuarthas arg�int neamhuimhri�il"
 
-#: builtin.c:2106
+#: builtin.c:2172
 msgid "match: third argument is not an array"
 msgstr "match: n� eagar � an tr�� harg�int"
 
-#: builtin.c:2650
+#: builtin.c:2719
 msgid "gensub: third argument of 0 treated as 1"
 msgstr "gensub: 3� harg�int 0 �s�idte mar 1"
 
-#: builtin.c:2766
+#: builtin.c:2835
 msgid "lshift: received non-numeric first argument"
 msgstr "lshift: n� huimhir � an ch�ad arg�int"
 
-#: builtin.c:2768
+#: builtin.c:2837
 msgid "lshift: received non-numeric second argument"
 msgstr "lshift: n� huimhir � an dara harg�int"
 
-#: builtin.c:2774
+#: builtin.c:2843
 #, c-format
 msgid "lshift(%lf, %lf): negative values will give strange results"
 msgstr "lshift(%lf, %lf): tiocfaidh tortha� aisteacha as luachanna di�ltacha"
 
-#: builtin.c:2776
+#: builtin.c:2845
 #, c-format
 msgid "lshift(%lf, %lf): fractional values will be truncated"
 msgstr "lshift(%lf, %lf): teascfar luachanna cod�nacha"
 
-#: builtin.c:2778
+#: builtin.c:2847
 #, c-format
 msgid "lshift(%lf, %lf): too large shift value will give strange results"
 msgstr ""
 "lshift(%lf, %lf): gheobhfar tortha� aisteacha le luach iomlaoideach r�-mh�r"
 
-#: builtin.c:2804
+#: builtin.c:2873
 msgid "rshift: received non-numeric first argument"
 msgstr "rshift: n� huimhir � an ch�ad arg�int"
 
-#: builtin.c:2806
+#: builtin.c:2875
 msgid "rshift: received non-numeric second argument"
 msgstr "rshift: n� huimhir � an dara harg�int"
 
-#: builtin.c:2812
+#: builtin.c:2881
 #, c-format
 msgid "rshift(%lf, %lf): negative values will give strange results"
 msgstr "rshift(%lf, %lf): gheobhfar tortha� aisteacha le luachanna di�ltacha"
 
-#: builtin.c:2814
+#: builtin.c:2883
 #, c-format
 msgid "rshift(%lf, %lf): fractional values will be truncated"
 msgstr "rshift(%lf, %lf): teascfar luachanna cod�nacha"
 
-#: builtin.c:2816
+#: builtin.c:2885
 #, c-format
 msgid "rshift(%lf, %lf): too large shift value will give strange results"
 msgstr ""
 "rshift(%lf, %lf): gheobhfar tortha� aisteacha le luach iomlaoideach r�-mh�r"
 
-#: builtin.c:2842
+#: builtin.c:2911
 msgid "and: received non-numeric first argument"
 msgstr "and: n� huimhir � an ch�ad arg�int"
 
-#: builtin.c:2844
+#: builtin.c:2913
 msgid "and: received non-numeric second argument"
 msgstr "and: n� huimhir � an dara harg�int"
 
-#: builtin.c:2850
+#: builtin.c:2919
 #, c-format
 msgid "and(%lf, %lf): negative values will give strange results"
 msgstr "and(%lf, %lf): gheobhfar tortha� aisteacha le luachanna di�ltacha"
 
-#: builtin.c:2852
+#: builtin.c:2921
 #, c-format
 msgid "and(%lf, %lf): fractional values will be truncated"
 msgstr "and(%lf, %lf): teascfar luachanna cod�nacha"
 
-#: builtin.c:2878
+#: builtin.c:2947
 msgid "or: received non-numeric first argument"
 msgstr "or: n� huimhir � an ch�ad arg�int"
 
-#: builtin.c:2880
+#: builtin.c:2949
 msgid "or: received non-numeric second argument"
 msgstr "or: n� huimhir � an dara harg�int"
 
-#: builtin.c:2886
+#: builtin.c:2955
 #, c-format
 msgid "or(%lf, %lf): negative values will give strange results"
 msgstr "or(%lf, %lf): gheobhfar tortha� aisteacha le luachanna di�ltacha"
 
-#: builtin.c:2888
+#: builtin.c:2957
 #, c-format
 msgid "or(%lf, %lf): fractional values will be truncated"
 msgstr "or(%lf, %lf): teascfar luachanna cod�nacha"
 
-#: builtin.c:2914
+#: builtin.c:2983
 msgid "xor: received non-numeric first argument"
 msgstr "xor: n� huimhir � an ch�ad arg�int"
 
-#: builtin.c:2916
+#: builtin.c:2985
 msgid "xor: received non-numeric second argument"
 msgstr "xor: n� huimhir � an dara harg�int"
 
-#: builtin.c:2922
+#: builtin.c:2991
 #, c-format
 msgid "xor(%lf, %lf): negative values will give strange results"
 msgstr "xor(%lf, %lf): gheobhfar tortha� aisteacha le luachanna di�ltacha"
 
-#: builtin.c:2924
+#: builtin.c:2993
 #, c-format
 msgid "xor(%lf, %lf): fractional values will be truncated"
 msgstr "xor(%lf, %lf): teascfar luachanna cod�nacha"
 
-#: builtin.c:2948
+#: builtin.c:3017
 msgid "compl: received non-numeric argument"
 msgstr "compl: fuarthas arg�int neamhuimhri�il"
 
-#: builtin.c:2954
+#: builtin.c:3023
 #, c-format
 msgid "compl(%lf): negative value will give strange results"
 msgstr "compl(%lf): gheobhfar tortha� aisteacha le luachanna di�ltacha"
 
-#: builtin.c:2956
+#: builtin.c:3025
 #, c-format
 msgid "compl(%lf): fractional value will be truncated"
 msgstr "compl(%lf): teascfar luachanna cod�nacha"
 
-#: builtin.c:3129
+#: builtin.c:3198
 #, c-format
 msgid "dcgettext: `%s' is not a valid locale category"
 msgstr "dcgettext: n� catag�ir log�nach ceart � `%s'"
 
-#: eval.c:303
+#: eval.c:372
 #, c-format
 msgid "unknown nodetype %d"
 msgstr " cine�l anaithnid n�id %d"
 
-#: eval.c:353
+#: eval.c:422
 msgid "buffer overflow in genflags2str"
 msgstr "maol�n thar maoil i genflags2str"
 
-#: eval.c:385 eval.c:391 profile.c:817
+#: eval.c:454 eval.c:460 profile.c:781
 #, c-format
 msgid "attempt to use array `%s' in a scalar context"
 msgstr "iarracht eagar `%s' a �s�id i gcomhth�acs sc�lach"
 
-#: eval.c:733
+#: eval.c:802
 #, c-format
 msgid "for loop: array `%s' changed size from %ld to %ld during loop execution"
 msgstr "l�b for: d'athraigh m�id an eagair `%s' � %ld go %ld i l�r na l�ibe"
 
-#: eval.c:754
+#: eval.c:823
 msgid "`break' outside a loop is not portable"
 msgstr "n�l `break' lasmuigh den l�b iniompartha"
 
-#: eval.c:758
+#: eval.c:827
 msgid "`break' outside a loop is not allowed"
 msgstr "n�l `break' lasmuigh den l�b ceadaithe"
 
-#: eval.c:775
+#: eval.c:844
 msgid "`continue' outside a loop is not portable"
 msgstr "n�l `continue' lasmuigh den l�b iniompartha"
 
-#: eval.c:779
+#: eval.c:848
 msgid "`continue' outside a loop is not allowed"
 msgstr "n�l `continue' lasmuigh den l�b ceadaithe"
 
-#: eval.c:813
+#: eval.c:882
 msgid "`next' cannot be called from a BEGIN rule"
 msgstr "n� f�idir glaoigh ar `next' � riail T�S"
 
-#: eval.c:815
+#: eval.c:884
 msgid "`next' cannot be called from an END rule"
 msgstr "n� f�idir glaoigh ar `next' � riail CR�OCH"
 
-#: eval.c:824
+#: eval.c:893
 msgid "`nextfile' cannot be called from a BEGIN rule"
 msgstr "n� f�idir glaoigh ar `nextfile' � riail T�S"
 
-#: eval.c:826
+#: eval.c:895
 msgid "`nextfile' cannot be called from an END rule"
 msgstr "n� f�idir glaoigh ar `nextfile' � riail CR�OCH"
 
-#: eval.c:875
+#: eval.c:952
 msgid "statement has no effect"
 msgstr "n�l aon �ifeacht ag an r�iteas"
 
-#: eval.c:952 eval.c:1895
+#: eval.c:1029 eval.c:1999
 #, c-format
 msgid "can't use function name `%s' as variable or array"
 msgstr "n� f�idir ainm feidhme `%s' a �s�id mar athr�g n� eagar"
 
-#: eval.c:959 eval.c:965
+#: eval.c:1036 eval.c:1042
 #, c-format
 msgid "reference to uninitialized argument `%s'"
 msgstr "tagairt d'arg�int nach bhfuil t�saithe `%s'"
 
-#: eval.c:974 eval.c:1904
+#: eval.c:1051 eval.c:2008
 #, c-format
 msgid "reference to uninitialized variable `%s'"
 msgstr "tagairt d'athr�g nach bhfuil t�saithe `%s'"
 
-#: eval.c:1120
+#: eval.c:1197
 msgid ""
 "concatenation: side effects in one expression have changed the length of "
 "another!"
 msgstr "comhchait�ini�: d'athraigh �ifeachta� sloinn amh�in fad ceann eile!"
 
-#: eval.c:1202
+#: eval.c:1301
 msgid "assignment used in conditional context"
 msgstr "sannadh �s�idte i gcomhth�acs coinn�ollach"
 
-#: eval.c:1280
+#: eval.c:1379
 msgid "division by zero attempted"
 msgstr "iarracht roinnt le nialas a dh�anamh"
 
-#: eval.c:1295
-#, c-format
-msgid "division by zero attempted in `%%'"
-msgstr "iarracht roinnt le nialas a dh�anamh i `%%'"
-
-#: eval.c:1310 profile.c:693
+#: eval.c:1409 profile.c:657
 #, c-format
 msgid "illegal type (%s) in tree_eval"
 msgstr "cine�l neamhcheadaithe (%s) i tree_eval"
 
-#: eval.c:1473
+#: eval.c:1572
 msgid "division by zero attempted in `/='"
 msgstr "iarracht roinnt le nialas a dh�anamh i `/='"
 
-#: eval.c:1495
+#: eval.c:1594
 #, c-format
 msgid "division by zero attempted in `%%='"
 msgstr "iarracht roinnt le nialas a dh�anamh i `%%='"
 
-#: eval.c:1760
+#: eval.c:1859
 #, c-format
 msgid "function `%s' called with more arguments than declared"
 msgstr "glaodh ar fheidhm `%s' le n�os m� arg�int� n� mar a bh� f�gartha"
 
-#: eval.c:1804
+#: eval.c:1904
 #, c-format
 msgid "function `%s' not defined"
 msgstr "feidhm `%s' gan sainmh�ni�"
 
-#: eval.c:1867
+#: eval.c:1971
 #, c-format
 msgid ""
 "\n"
@@ -900,42 +929,47 @@
 "\t# Cruach an Glaoigh ar an bhFeidhm:\n"
 "\n"
 
-#: eval.c:1870
+#: eval.c:1974
 #, c-format
 msgid "\t# -- main --\n"
 msgstr "\t# -- pr�omh  --\n"
 
-#: eval.c:2025
+#: eval.c:2129
 msgid "attempt to field reference from non-numeric value"
 msgstr "iarracht tagairt a fh�il � luach neamhuimhri�il"
 
-#: eval.c:2027
+#: eval.c:2131
 msgid "attempt to reference from null string"
 msgstr "iarracht tagairt a fh�il � theaghr�n neamhnitheach"
 
-#: eval.c:2033
+#: eval.c:2137
 #, c-format
 msgid "attempt to access field %d"
 msgstr "iarracht rochtain a dh�anamh ar r�imse %d"
 
-#: eval.c:2054 eval.c:2061 profile.c:914
+#: eval.c:2158 eval.c:2165 profile.c:836
 msgid "assignment is not allowed to result of builtin function"
 msgstr "n� f�idir sannach�n a dh�anamh le toradh � fheidhm insuite"
 
-#: eval.c:2125
+#: eval.c:2229
 msgid "`IGNORECASE' is a gawk extension"
 msgstr "is feabhs�ch�n gawk � `IGNORECASE'"
 
-#: eval.c:2155
+#: eval.c:2258
 msgid "`BINMODE' is a gawk extension"
 msgstr "is feabhs�ch�n gawk � `BINMODE'"
 
-#: eval.c:2277
+#: eval.c:2316
+#, c-format
+msgid "BINMODE value `%s' is invalid, treated as 3"
+msgstr ""
+
+#: eval.c:2406
 #, c-format
 msgid "bad `%sFMT' specification `%s'"
 msgstr "drochshonra�ocht`%sFMT' `%s'"
 
-#: eval.c:2355
+#: eval.c:2484
 msgid "turning off `--lint' due to assignment to `LINT'"
 msgstr "`--lint' � mh�chadh de bharr sannach�n go `LINT'"
 
@@ -1010,556 +1044,564 @@
 msgid "NF set to negative value"
 msgstr "NF socraithe go luach di�ltach"
 
-#: field.c:823
+#: field.c:875
 msgid "split: second argument is not an array"
 msgstr "scoilt: n� eagar � an dara harg�int"
 
-#: field.c:857
+#: field.c:909
 msgid "split: null string for third arg is a gawk extension"
 msgstr ""
 "scoilt: is feabhs�ch�n gawk � an teaghr�n neamhnitheach don tr�� harg�int"
 
-#: field.c:909
+#: field.c:961
 msgid "`FIELDWIDTHS' is a gawk extension"
 msgstr "is feabhs�ch�n gawk � `FIELDWIDTHS'"
 
-#: field.c:939 field.c:953
+#: field.c:991 field.c:1005
 #, c-format
 msgid "invalid FIELDWIDTHS value, near `%s'"
 msgstr "luach FIELDWIDTHS neamhbhail� c�ngarach le `%s'"
 
-#: field.c:1036
+#: field.c:1088
 msgid "null string for `FS' is a gawk extension"
 msgstr "is feabhs�ch�n gawk � an teaghr�n neamhnitheach do `FS'"
 
-#: field.c:1040
+#: field.c:1092
 msgid "old awk does not support regexps as value of `FS'"
 msgstr "n� thaca�onn sean-awk le slonn ionada�ochta mar luach de `FS'"
 
-#: getopt.c:571 getopt.c:587
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
+#: getopt.c:570 getopt.c:586
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
 msgstr "%s: T� an rogha `%s' d�bhr�och\n"
 
-#: getopt.c:620 getopt.c:624
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
+#: getopt.c:619 getopt.c:623
+#, fuzzy, c-format
+msgid "%s: option '--%s' doesn't allow an argument\n"
 msgstr "%s: n� cheada�tear arg�int i ndiaidh na rogha `--%s'\n"
 
-#: getopt.c:633 getopt.c:638
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
+#: getopt.c:632 getopt.c:637
+#, fuzzy, c-format
+msgid "%s: option '%c%s' doesn't allow an argument\n"
 msgstr "%s: n� cheada�tear arg�int i ndiaidh na rogha `%c%s'\n"
 
-#: getopt.c:681 getopt.c:700 getopt.c:1016 getopt.c:1035
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
+#: getopt.c:680 getopt.c:699 getopt.c:1002 getopt.c:1021
+#, fuzzy, c-format
+msgid "%s: option '%s' requires an argument\n"
 msgstr "%s: t� arg�int de dh�th i ndiaidh na rogha `%s'\n"
 
-#: getopt.c:738 getopt.c:741
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
+#: getopt.c:737 getopt.c:740
+#, fuzzy, c-format
+msgid "%s: unrecognized option '--%s'\n"
 msgstr "%s: rogha anaithnid `--%s'\n"
 
-#: getopt.c:749 getopt.c:752
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
+#: getopt.c:748 getopt.c:751
+#, fuzzy, c-format
+msgid "%s: unrecognized option '%c%s'\n"
 msgstr "%s: rogha anaithnid `%c%s'\n"
 
-#: getopt.c:804 getopt.c:807
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: rogha neamhcheadaithe -- %c\n"
-
-#: getopt.c:813 getopt.c:816
-#, c-format
-msgid "%s: invalid option -- %c\n"
+#: getopt.c:800 getopt.c:803
+#, fuzzy, c-format
+msgid "%s: invalid option -- '%c'\n"
 msgstr "%s: rogha neamhbhail� -- %c\n"
 
-#: getopt.c:868 getopt.c:884 getopt.c:1088 getopt.c:1106 main.c:461
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
+#: getopt.c:853 getopt.c:870 getopt.c:1073 getopt.c:1091
+#, fuzzy, c-format
+msgid "%s: option requires an argument -- '%c'\n"
 msgstr "%s: t� arg�int de dh�th i ndiaidh na rogha -- %c\n"
 
-#: getopt.c:937 getopt.c:953
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
+#: getopt.c:923 getopt.c:939
+#, fuzzy, c-format
+msgid "%s: option '-W %s' is ambiguous\n"
 msgstr "%s: T� an rogha `-W %s' d�bhr�och\n"
 
-#: getopt.c:977 getopt.c:995
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
+#: getopt.c:963 getopt.c:981
+#, fuzzy, c-format
+msgid "%s: option '-W %s' doesn't allow an argument\n"
 msgstr "%s: n� cheada�tear arg�int i ndiaidh na rogha `-W %s'\n"
 
-#: io.c:345
+#: io.c:322 io.c:352
 #, c-format
 msgid "cannot open file `%s' for reading (%s)"
 msgstr "n� f�idir `%s' a oscailt chun � a l�amh (%s)"
 
-#: io.c:436
+#: io.c:443
 #, c-format
 msgid "close of fd %d (`%s') failed (%s)"
 msgstr "d�nadh fd %d (`%s') teipthe (%s)"
 
-#: io.c:575
+#: io.c:583
 #, c-format
 msgid "invalid tree type %s in redirect()"
 msgstr "cine�l crainn %s neamhbhail� san atreor�()"
 
-#: io.c:581
+#: io.c:589
 #, c-format
 msgid "expression in `%s' redirection only has numeric value"
 msgstr "n�l ach luach uimhri�il ag an slonn in atreor� `%s'"
 
-#: io.c:587
+#: io.c:595
 #, c-format
 msgid "expression for `%s' redirection has null string value"
 msgstr "t� luach teaghr�in neamhnitheach ag an slonn in atreor� `%s'"
 
-#: io.c:592
+#: io.c:600
 #, c-format
 msgid "filename `%s' for `%s' redirection may be result of logical expression"
 msgstr ""
 "seans gur toradh sloinn loighci�il � an comhadainm `%s' don atreor� `%s'"
 
-#: io.c:630
+#: io.c:638
 #, c-format
 msgid "unnecessary mixing of `>' and `>>' for file `%.*s'"
 msgstr "measc�n neamhriachtanach de `>' agus `>>' do chomhad `%.*s'"
 
-#: io.c:682
+#: io.c:685
 #, c-format
 msgid "can't open pipe `%s' for output (%s)"
 msgstr "n� f�idir p�opa `%s' a oscailt d'aschur (%s)"
 
-#: io.c:691
+#: io.c:694
 #, c-format
 msgid "can't open pipe `%s' for input (%s)"
 msgstr "n� f�idir p�opa `%s' a oscailt d'ionchur (%s)"
 
-#: io.c:698 io.c:1448
-#, c-format
-msgid "file `%s' is a directory"
-msgstr "n� comhadlann � an comhad `%s'"
-
-#: io.c:706
+#: io.c:712
 #, c-format
 msgid "can't open two way socket `%s' for input/output (%s)"
 msgstr "n� f�idir an soic�ad d�threo `%s' a oscailt d'ionchur/aschur (%s)"
 
-#: io.c:710
+#: io.c:716
 #, c-format
 msgid "can't open two way pipe `%s' for input/output (%s)"
 msgstr "n� f�idir an p�opa d�threo `%s' a oscailt d'ionchur/aschur (%s)"
 
-#: io.c:786
+#: io.c:793
 #, c-format
 msgid "can't redirect from `%s' (%s)"
 msgstr "n� f�idir atreor� � `%s' (%s)"
 
-#: io.c:789
+#: io.c:796
 #, c-format
 msgid "can't redirect to `%s' (%s)"
 msgstr "n� f�idir atreor� go `%s' (%s)"
 
-#: io.c:828
+#: io.c:849
 msgid ""
 "reached system limit for open files: starting to multiplex file descriptors"
 msgstr ""
 "tagtha chuig teorainn an ch�rais do chomhadlanna oscailte: ag tos� "
 "tuairisceoir� na gcomhadlann a ilphl�acsadh"
 
-#: io.c:844
+#: io.c:865
 #, c-format
 msgid "close of `%s' failed (%s)."
 msgstr "d�nadh `%s' teipthe (%s)."
 
-#: io.c:852
+#: io.c:873
 msgid "too many pipes or input files open"
 msgstr "t� an iomarca p�opa� n� comhadlanna ionchuir oscailte"
 
-#: io.c:875
+#: io.c:896
 msgid "close: second argument must be `to' or `from'"
 msgstr "close: t� `to' n� `from' de dh�th mar dara harg�int"
 
-#: io.c:889
+#: io.c:910
 #, c-format
 msgid "close: `%.*s' is not an open file, pipe or co-process"
 msgstr "close: n� comhad oscailte, p�opa n� comhphr�iseas � `%.*s'"
 
-#: io.c:893
+#: io.c:915
 msgid "close of redirection that was never opened"
 msgstr "d�nadh atreoraithe nach n-oscl�adh riamh"
 
-#: io.c:989
+#: io.c:1012
 #, c-format
 msgid "close: redirection `%s' not opened with `|&', second argument ignored"
 msgstr ""
 "close: n�l atreor� `%s' oscailte le `|&', rinneadh neamhaird ar an dara "
 "harg�int"
 
-#: io.c:1005
+#: io.c:1028
 #, c-format
 msgid "failure status (%d) on pipe close of `%s' (%s)"
 msgstr "st�das teipfhulangach (%d) ar d�nadh an ph�opa `%s' (%s)"
 
-#: io.c:1008
+#: io.c:1031
 #, c-format
 msgid "failure status (%d) on file close of `%s' (%s)"
 msgstr "st�das teipfhulangach (%d) ar d�nadh an chomhaid `%s' (%s)"
 
-#: io.c:1028
+#: io.c:1051
 #, c-format
 msgid "no explicit close of socket `%s' provided"
 msgstr "n� fhuarthas d�nadh l�ir an tsoic�id `%s'"
 
-#: io.c:1031
+#: io.c:1054
 #, c-format
 msgid "no explicit close of co-process `%s' provided"
 msgstr "n� fhuarthas d�nadh l�ir an chomhphr�isis `%s'"
 
-#: io.c:1034
+#: io.c:1057
 #, c-format
 msgid "no explicit close of pipe `%s' provided"
 msgstr "n� fhuarthas d�nadh l�ir an ph�opa `%s'"
 
-#: io.c:1037
+#: io.c:1060
 #, c-format
 msgid "no explicit close of file `%s' provided"
 msgstr "n� fhuarthas d�nadh l�ir an chomhaid `%s'"
 
-#: io.c:1066 io.c:1121 main.c:749 main.c:791
+#: io.c:1088 io.c:1143 main.c:776 main.c:818
 #, c-format
 msgid "error writing standard output (%s)"
 msgstr "earr�id agus aschur caighde�nach � scr�obh (%s)"
 
-#: io.c:1070 io.c:1126
+#: io.c:1092 io.c:1148
 #, c-format
 msgid "error writing standard error (%s)"
 msgstr "earr�id agus earr�id caighde�nach � scr�obh (%s)"
 
-#: io.c:1078
+#: io.c:1100
 #, c-format
 msgid "pipe flush of `%s' failed (%s)."
 msgstr "sruthladh p�opa `%s' teipthe (%s)."
 
-#: io.c:1081
+#: io.c:1103
 #, c-format
 msgid "co-process flush of pipe to `%s' failed (%s)."
 msgstr "sruthladh comhphr�isis an ph�opa go `%s' teipthe (%s)."
 
-#: io.c:1084
+#: io.c:1106
 #, c-format
 msgid "file flush of `%s' failed (%s)."
 msgstr "sruthladh comhaid `%s' teipthe (%s)."
 
-#: io.c:1198
+#: io.c:1220
 #, c-format
 msgid "local port %s invalid in `/inet'"
 msgstr "port log�nta %s neamhbhail� i `/inet'"
 
-#: io.c:1215
+#: io.c:1237
 #, c-format
 msgid "remote host and port information (%s, %s) invalid"
 msgstr "eolas neamhbhail� faoin chian�sta agus port (%s, %s)"
 
-#: io.c:1250
+#: io.c:1272
 msgid "/inet/raw client not ready yet, sorry"
 msgstr "t� br�n orm, n�l an cliant /inet/raw r�idh go f�ill"
 
-#: io.c:1253 io.c:1289
+#: io.c:1275 io.c:1311
 msgid "only root may use `/inet/raw'."
 msgstr "`/inet/raw' ceadaithe do root amh�in."
 
-#: io.c:1287
+#: io.c:1309
 msgid "/inet/raw server not ready yet, sorry"
 msgstr "t� br�n orm, n�l an freastala� /inet/raw r� go f�ill"
 
-#: io.c:1385
+#: io.c:1407
 #, c-format
 msgid "no (known) protocol supplied in special filename `%s'"
 msgstr "n� fhuarthas f�or phr�tacal sa chomhadainm speisialta `%s'"
 
-#: io.c:1399
+#: io.c:1421
 #, c-format
 msgid "special file name `%s' is incomplete"
 msgstr "n�l an comhadainm speisialta `%s' ioml�n"
 
-#: io.c:1414
+#: io.c:1436
 msgid "must supply a remote hostname to `/inet'"
 msgstr "t� ainm cian�staigh de dh�th ag `/inet'"
 
-#: io.c:1432
+#: io.c:1454
 msgid "must supply a remote port to `/inet'"
 msgstr "t� cianphort de dh�th ag `/inet'"
 
-#: io.c:1439
+#: io.c:1485
 msgid "TCP/IP communications are not supported"
 msgstr "cumars�id TCP/IP gan taca�ocht"
 
-#: io.c:1509
+#: io.c:1494
+#, c-format
+msgid "file `%s' is a directory"
+msgstr "n� comhadlann � an comhad `%s'"
+
+#: io.c:1555
 #, c-format
 msgid "use `PROCINFO[\"%s\"]' instead of `%s'"
 msgstr "�s�id `PROCINFO[\"%s\"]' in ionad `%s'"
 
-#: io.c:1547
+#: io.c:1593
 msgid "use `PROCINFO[...]' instead of `/dev/user'"
 msgstr "�s�id `PROCINFO[...]' in ionad `/dev/user'"
 
-#: io.c:1612 io.c:1798
+#: io.c:1658 io.c:1853
 #, c-format
 msgid "could not open `%s', mode `%s'"
 msgstr "n�orbh fh�idir `%s' a oscailt, m�d `%s'"
 
-#: io.c:1849
+#: io.c:1904
 #, c-format
 msgid "close of master pty failed (%s)"
 msgstr "theip ar d�nadh m�istir-pty (%s)"
 
-#: io.c:1851 io.c:2003 io.c:2154
+#: io.c:1906 io.c:2058 io.c:2209
 #, c-format
 msgid "close of stdout in child failed (%s)"
 msgstr "theip ar d�nadh aschuir caighde�nach i mac teipthe (%s)"
 
-#: io.c:1854
+#: io.c:1909
 #, c-format
 msgid "moving slave pty to stdout in child failed (dup: %s)"
 msgstr ""
 "theip ar bogadh an pty scl�bh�nta go haschur caighde�nach sa mhac (dup: %s)"
 
-#: io.c:1856 io.c:2008
+#: io.c:1911 io.c:2063
 #, c-format
 msgid "close of stdin in child failed (%s)"
 msgstr "theip ar d�nadh ionchuir caighde�nach i mac (%s)"
 
-#: io.c:1859
+#: io.c:1914
 #, c-format
 msgid "moving slave pty to stdin in child failed (dup: %s)"
 msgstr ""
 "theip ar bogadh an pty scl�bh�nta go hionchuir caighde�nach sa mhac (dup: %s)"
 
-#: io.c:1861 io.c:1880
+#: io.c:1916 io.c:1935
 #, c-format
 msgid "close of slave pty failed (%s)"
 msgstr "theip ar d�nadh an pty scl�bh�nta (%s)"
 
-#: io.c:1954 io.c:2006 io.c:2135 io.c:2157
+#: io.c:2009 io.c:2061 io.c:2190 io.c:2212
 #, c-format
 msgid "moving pipe to stdout in child failed (dup: %s)"
 msgstr "theip ar bhogadh p�opa go haschur caighde�nach i mac (dup: %s)"
 
-#: io.c:1958 io.c:2011
+#: io.c:2013 io.c:2066
 #, c-format
 msgid "moving pipe to stdin in child failed (dup: %s)"
 msgstr "theip ar bhogadh p�opa go hionchur caighde�nach i mac (dup: %s)"
 
-#: io.c:1975 io.c:2148
+#: io.c:2030 io.c:2203
 msgid "restoring stdout in parent process failed\n"
 msgstr "theip ar dhul ar ais go haschur caighde�nach i m�thair teipthe\n"
 
-#: io.c:1980
+#: io.c:2035
 msgid "restoring stdin in parent process failed\n"
 msgstr "theip ar dhul ar ais go hionchur caighde�nach i m�thair teipthe\n"
 
-#: io.c:2014 io.c:2159 io.c:2170
+#: io.c:2069 io.c:2214 io.c:2225
 #, c-format
 msgid "close of pipe failed (%s)"
 msgstr "theip ar d�nadh ph�opa (%s)"
 
-#: io.c:2059
+#: io.c:2114
 msgid "`|&' not supported"
 msgstr "`|&' gan taca�ocht"
 
-#: io.c:2125
+#: io.c:2180
 #, c-format
 msgid "cannot open pipe `%s' (%s)"
 msgstr "n� f�idir p�opa `%s' a oscailt (%s)"
 
-#: io.c:2166
+#: io.c:2221
 #, c-format
 msgid "cannot create child process for `%s' (fork: %s)"
 msgstr "n� f�idir mac a dh�anamh do `%s' (fork: %s)"
 
-#: io.c:2548
+#: io.c:2603
 #, c-format
 msgid "data file `%s' is empty"
 msgstr "t� comhad sonra� `%s' folamh"
 
-#: io.c:2589 io.c:2597
+#: io.c:2644 io.c:2652
 msgid "could not allocate more input memory"
 msgstr "n�orbh fh�idir n�os m� cuimhne ionchuir a leithdh�ileadh"
 
-#: io.c:2965 io.c:3038
+#: io.c:3020 io.c:3093
 #, c-format
 msgid "error reading input file `%s': %s"
 msgstr "earr�id ag l�amh comhad aschuir `%s': %s"
 
-#: io.c:3163
+#: io.c:3218
 msgid "multicharacter value of `RS' is a gawk extension"
 msgstr "is feabhs�ch�n gawk � an luach ilcharachtar 'RS'"
 
-#: main.c:351
+#: main.c:304
+msgid "out of memory"
+msgstr "cuimhne �dithe"
+
+#: main.c:373
 msgid "`-m[fr]' option irrelevant in gawk"
 msgstr "`-m[fr]' rogha neamh�bhartha i ngawk"
 
-#: main.c:353
+#: main.c:375
 msgid "-m option usage: `-m[fr] nnn'"
 msgstr "�s�id rogha -m: `-m[fr] nnn'"
 
-#: main.c:370
+#: main.c:392
 #, c-format
 msgid "%s: option `-W %s' unrecognized, ignored\n"
 msgstr "%s: rogha `-W %s' anaithnid, rinneadh neamhshuim air\n"
 
-#: main.c:407
+#: main.c:433
 msgid "empty argument to `--source' ignored"
 msgstr "rinneadh neamhshuim ar arg�int fholamh go `--source'"
 
-#: main.c:480
+#: main.c:487
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: t� arg�int de dh�th i ndiaidh na rogha -- %c\n"
+
+#: main.c:506
 msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'"
 msgstr "athr�g thimpeallachta `POSIXLY_CORRECT' socraithe: ag lasadh `--posix'"
 
-#: main.c:486
+#: main.c:512
 msgid "`--posix' overrides `--traditional'"
 msgstr "s�ra�onn `--posix' `--traditional'"
 
-#: main.c:497
+#: main.c:523
 msgid "`--posix'/`--traditional' overrides `--non-decimal-data'"
 msgstr "s�ra�onn `--posix'/`--traditional' `--non-decimal-data'"
 
-#: main.c:501
+#: main.c:527
 #, c-format
 msgid "running %s setuid root may be a security problem"
 msgstr "seans gur neamhdhaingean � ag rith %s setuid root"
 
-#: main.c:542
+#: main.c:568
 #, c-format
 msgid "can't set binary mode on stdin (%s)"
 msgstr "n� f�idir m�d d�n�rtha a shocr� ar stdin (%s)"
 
-#: main.c:545
+#: main.c:571
 #, c-format
 msgid "can't set binary mode on stdout (%s)"
 msgstr "n� f�idir m�d d�n�rtha a shocr� ar stdout (%s)"
 
-#: main.c:547
+#: main.c:573
 #, c-format
 msgid "can't set binary mode on stderr (%s)"
 msgstr "n� f�idir m�d d�n�rtha a shocr� ar stderr (%s)"
 
-#: main.c:586
+#: main.c:612
 msgid "no program text at all!"
 msgstr "n�l aon t�acs sa r�omhchl�r!"
 
-#: main.c:690
+#: main.c:716
 #, c-format
 msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n"
 msgstr ""
 "�s�id: %s [roghanna cine�l POSIX n� GNU] -f cl�rchomhad [--] comhad ...\n"
 
-#: main.c:692
+#: main.c:718
 #, c-format
 msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n"
 msgstr ""
 "�s�id: %s [roghanna cine�l POSIX n� GNU] [--] %cr�omhchl�r%c comhad ...\n"
 
-#: main.c:697
+#: main.c:723
 msgid "POSIX options:\t\tGNU long options:\n"
 msgstr "roghanna POSIX:\t\tGNU roghanna fada:\n"
 
-#: main.c:698
+#: main.c:724
 msgid "\t-f progfile\t\t--file=progfile\n"
 msgstr "\t-f comhad\t\t--file=progfile\n"
 
-#: main.c:699
+#: main.c:725
 msgid "\t-F fs\t\t\t--field-separator=fs\n"
 msgstr "\t-F fs\t\t\t--field-separator=fs\n"
 
-#: main.c:700
+#: main.c:726
 msgid "\t-v var=val\t\t--assign=var=val\n"
 msgstr "\t-v athr�g=luach\t\t--assign=athr�g=luach\n"
 
-#: main.c:701
+#: main.c:727
 msgid "\t-m[fr] val\n"
 msgstr "\t-m[fr] luach\n"
 
-#: main.c:702
+#: main.c:728
+msgid "\t-O\t\t\t--optimize\n"
+msgstr ""
+
+#: main.c:729
 msgid "\t-W compat\t\t--compat\n"
 msgstr "\t-W compat\t\t--compat\n"
 
-#: main.c:703
+#: main.c:730
 msgid "\t-W copyleft\t\t--copyleft\n"
 msgstr "\t-W copyleft\t\t--copyleft\n"
 
-#: main.c:704
+#: main.c:731
 msgid "\t-W copyright\t\t--copyright\n"
 msgstr "\t-W copyright\t\t--copyright\n"
 
-#: main.c:705
+#: main.c:732
 msgid "\t-W dump-variables[=file]\t--dump-variables[=file]\n"
 msgstr "\t-W dump-variables[=comhad]\t--dump-variables[=comhad]\n"
 
-#: main.c:706
+#: main.c:733
 msgid "\t-W exec=file\t\t--exec=file\n"
 msgstr "\t-W exec=comhad\t\t--exec=comhad\n"
 
-#: main.c:707
+#: main.c:734
 msgid "\t-W gen-po\t\t--gen-po\n"
 msgstr "\t-W gen-po\t\t--gen-po\n"
 
-#: main.c:708
+#: main.c:735
 msgid "\t-W help\t\t\t--help\n"
 msgstr "\t-W help\t\t\t--help\n"
 
-#: main.c:709
+#: main.c:736
 msgid "\t-W lint[=fatal]\t\t--lint[=fatal]\n"
 msgstr "\t-W lint[=fatal]\t\t--lint[=fatal]\n"
 
-#: main.c:710
+#: main.c:737
 msgid "\t-W lint-old\t\t--lint-old\n"
 msgstr "\t-W lint-old\t\t--lint-old\n"
 
-#: main.c:711
+#: main.c:738
 msgid "\t-W non-decimal-data\t--non-decimal-data\n"
 msgstr "\t-W non-decimal-data\t--non-decimal-data\n"
 
-#: main.c:713
+#: main.c:740
 msgid "\t-W nostalgia\t\t--nostalgia\n"
 msgstr "\t-W nostalgia\t\t--nostalgia\n"
 
-#: main.c:716
+#: main.c:743
 msgid "\t-W parsedebug\t\t--parsedebug\n"
 msgstr "\t-W parsedebug\t\t--parsedebug\n"
 
-#: main.c:718
+#: main.c:745
 msgid "\t-W profile[=file]\t--profile[=file]\n"
 msgstr "\t-W profile[=comhad]\t--profile[=comhad]\n"
 
-#: main.c:719
+#: main.c:746
 msgid "\t-W posix\t\t--posix\n"
 msgstr "\t-W posix\t\t--posix\n"
 
-#: main.c:720
+#: main.c:747
 msgid "\t-W re-interval\t\t--re-interval\n"
 msgstr "\t-W re-interval\t\t--re-interval\n"
 
-#: main.c:721
+#: main.c:748
 msgid "\t-W source=program-text\t--source=program-text\n"
 msgstr "\t-W source=program-text\t--source=program-text\n"
 
-#: main.c:722
+#: main.c:749
 msgid "\t-W traditional\t\t--traditional\n"
 msgstr "\t-W traditional\t\t--traditional\n"
 
-#: main.c:723
+#: main.c:750
 msgid "\t-W usage\t\t--usage\n"
 msgstr "\t-W usage\t\t--usage\n"
 
-#: main.c:724
+#: main.c:751
 msgid "\t-W use-lc-numeric\t--use-lc-numeric\n"
 msgstr "\t-W use-lc-numeric\t--use-lc-numeric\n"
 
-#: main.c:725
+#: main.c:752
 msgid "\t-W version\t\t--version\n"
 msgstr "\t-W version\t\t--version\n"
 
@@ -1568,7 +1610,7 @@
 #. for this application.  Please add _another line_ with the
 #. address for translation bugs.
 #. no-wrap
-#: main.c:734
+#: main.c:761
 msgid ""
 "\n"
 "To report bugs, see node `Bugs' in `gawk.info', which is\n"
@@ -1580,7 +1622,7 @@
 "sa rann�n `Reporting Problems and Bugs' sa leagan faoi chl�.\n"
 "\n"
 
-#: main.c:738
+#: main.c:765
 msgid ""
 "gawk is a pattern scanning and processing language.\n"
 "By default it reads standard input and writes standard output.\n"
@@ -1591,7 +1633,7 @@
 "haschur caighde�nach.\n"
 "\n"
 
-#: main.c:742
+#: main.c:769
 msgid ""
 "Examples:\n"
 "\tgawk '{ sum += $1 }; END { print sum }' file\n"
@@ -1601,7 +1643,7 @@
 "\tgawk '{ sum += $1 }; END { print sum }' comhad\n"
 "\tgawk -F: '{ print $1 }' /etc/passwd\n"
 
-#: main.c:762
+#: main.c:789
 #, c-format
 msgid ""
 "Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
@@ -1620,7 +1662,7 @@
 "n� (m�s mian leat) aon leagan n�os d�ana�.\n"
 "\n"
 
-#: main.c:770
+#: main.c:797
 msgid ""
 "This program is distributed in the hope that it will be useful,\n"
 "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
@@ -1634,7 +1676,7 @@
 "GNU General Public License chun n�os m� sonra� a fh�il.\n"
 "\n"
 
-#: main.c:781
+#: main.c:808
 msgid ""
 "You should have received a copy of the GNU General Public License\n"
 "along with this program. If not, see http://www.gnu.org/licenses/.\n"
@@ -1643,11 +1685,11 @@
 "a fh�il in �ineacht leis an r�omhchl�r seo; mura bhfuair,\n"
 "f�ach ar http://www.gnu.org/licenses/.\n"
 
-#: main.c:816
+#: main.c:843
 msgid "-Ft does not set FS to tab in POSIX awk"
 msgstr "n� athra�onn -Ft FS go t�b san awk POSIX"
 
-#: main.c:1060
+#: main.c:1117
 #, c-format
 msgid ""
 "%s: `%s' argument to `-v' not in `var=value' form\n"
@@ -1656,35 +1698,45 @@
 "%s: n�l an arg�int `%s' go `-v' san fhoirm `var=value'\n"
 "\n"
 
-#: main.c:1080
+#: main.c:1137
 #, c-format
 msgid "`%s' is not a legal variable name"
 msgstr "n� ainm athr�ige dleath�il � `%s'"
 
-#: main.c:1083
+#: main.c:1140
 #, c-format
 msgid "`%s' is not a variable name, looking for file `%s=%s'"
 msgstr "n� ainm athr�ige � `%s', ag lorg comhad `%s=%s'"
 
-#: main.c:1122
+#: main.c:1179
 msgid "floating point exception"
 msgstr "eisceacht sn�mhphointe"
 
-#: main.c:1129
+#: main.c:1186
 msgid "fatal error: internal error"
 msgstr "earr�id mharfach: earr�id inmhe�nach"
 
-#: main.c:1180
+#: main.c:1200
+#, fuzzy
+msgid "fatal error: internal error: segfault"
+msgstr "earr�id mharfach: earr�id inmhe�nach"
+
+#: main.c:1212
+#, fuzzy
+msgid "fatal error: internal error: stack overflow"
+msgstr "earr�id mharfach: earr�id inmhe�nach"
+
+#: main.c:1261
 #, c-format
 msgid "no pre-opened fd %d"
 msgstr "n�l aon fd %d r�amhoscailte"
 
-#: main.c:1187
+#: main.c:1268
 #, c-format
 msgid "could not pre-open /dev/null for fd %d"
 msgstr "n�orbh fh�idir /dev/null a r�amhoscailt do fd %d"
 
-#: main.c:1210 main.c:1219
+#: main.c:1291 main.c:1300
 #, c-format
 msgid "could not find groups: %s"
 msgstr "n� f�idir na gr�pa� a aimsi�: %s"
@@ -1710,24 +1762,31 @@
 msgid "can't convert string to float"
 msgstr "n� f�idir teaghr�n a thiont� go sn�mhphointe"
 
-#: node.c:406
+#: node.c:462
 msgid "backslash at end of string"
 msgstr "c�lslais ag deireadh an teaghr�in"
 
-#: node.c:548
+#: node.c:606
 #, c-format
 msgid "old awk does not support the `\\%c' escape sequence"
 msgstr "n� thaca�onn sean-awk le seicheamh �alaithe `\\%c'"
 
-#: node.c:599
+#: node.c:657
 msgid "POSIX does not allow `\\x' escapes"
 msgstr "n� cheada�onn POSIX �alaithe `\\x'"
 
-#: node.c:605
+#: node.c:663
 msgid "no hex digits in `\\x' escape sequence"
 msgstr "n�l digit� heicsidheach�lach sa seicheamh �alaithe `\\x'"
 
-#: node.c:639
+#: node.c:685
+#, c-format
+msgid ""
+"hex escape \\x%.*s of %d characters probably not interpreted the way you "
+"expect"
+msgstr ""
+
+#: node.c:700
 #, c-format
 msgid "escape sequence `\\%c' treated as plain `%c'"
 msgstr "seicheamh �alaithe `\\%c' �s�idte mar ghn�th `%c'"
@@ -1737,31 +1796,32 @@
 msgid "%s %s `%s': could not set close-on-exec: (fcntl: %s)"
 msgstr "%s %s `%s': n�orbh fh�idir close-on-exec a shannadh: (fcntl: %s)"
 
-#: profile.c:92
+#: profile.c:93
 #, c-format
 msgid "could not open `%s' for writing: %s"
 msgstr "N�orbh fh�idir `%s' a oscailt chun scr�obh ann: %s"
 
-#: profile.c:450
+#: profile.c:453
 #, c-format
 msgid "internal error: %s with null vname"
 msgstr "earr�id inmhe�nach: %s le vname nialasach"
 
-#: profile.c:514
+#: profile.c:517
+#, fuzzy
 msgid "# treated internally as `delete'"
 msgstr "# �s�idte go hinmhe�nach mar `delete'"
 
-#: profile.c:1147
+#: profile.c:1069
 #, c-format
 msgid "# this is a dynamically loaded extension function"
 msgstr "# is feidhm iarmh�reach � seo at� le lucht� go dinimici�il"
 
-#: profile.c:1178
+#: profile.c:1100
 #, c-format
 msgid "\t# gawk profile, created %s\n"
 msgstr "\t# cuntas gawk, crutha�odh %s\n"
 
-#: profile.c:1181
+#: profile.c:1103
 #, c-format
 msgid ""
 "\t# BEGIN block(s)\n"
@@ -1770,7 +1830,7 @@
 "\t# T�S bloc(anna)\n"
 "\n"
 
-#: profile.c:1191
+#: profile.c:1113
 #, c-format
 msgid ""
 "\t# Rule(s)\n"
@@ -1779,7 +1839,7 @@
 "\t# Riail(eacha)\n"
 "\n"
 
-#: profile.c:1197
+#: profile.c:1119
 #, c-format
 msgid ""
 "\t# END block(s)\n"
@@ -1788,7 +1848,7 @@
 "\t# CR�OCH bloc(anna)\n"
 "\n"
 
-#: profile.c:1217
+#: profile.c:1139
 #, c-format
 msgid ""
 "\n"
@@ -1797,83 +1857,91 @@
 "\n"
 "\t# Feidhmeanna, i liosta aib�treach\n"
 
-#: profile.c:1470
+#: profile.c:1400
 #, c-format
 msgid "unexpected type %s in prec_level"
 msgstr "cine�l gan s�il %s i prec_level"
 
-#: regcomp.c:132
+#: profile.c:1500
+#, fuzzy, c-format
+msgid "Unknown node type %s in pp_var"
+msgstr " cine�l anaithnid n�id %d"
+
+#: regcomp.c:133
 msgid "Success"
 msgstr "D'�irigh leis"
 
-#: regcomp.c:135
+#: regcomp.c:136
 msgid "No match"
 msgstr "N�l a leith�id ann"
 
-#: regcomp.c:138
+#: regcomp.c:139
 msgid "Invalid regular expression"
 msgstr "Slonn ionada�ochta neamhbhail�"
 
-#: regcomp.c:141
+#: regcomp.c:142
 msgid "Invalid collation character"
 msgstr "Carachtar neamhbhail� c�imheasa"
 
-#: regcomp.c:144
+#: regcomp.c:145
 msgid "Invalid character class name"
 msgstr "Aicme neamhbhail� charachtair"
 
-#: regcomp.c:147
+#: regcomp.c:148
 msgid "Trailing backslash"
 msgstr "C�lslais ag deireadh"
 
-#: regcomp.c:150
+#: regcomp.c:151
 msgid "Invalid back reference"
 msgstr "C�ltagairt neamhbhail�"
 
-#: regcomp.c:153
+#: regcomp.c:154
 msgid "Unmatched [ or [^"
 msgstr "[ n� [^ corr"
 
-#: regcomp.c:156
+#: regcomp.c:157
 msgid "Unmatched ( or \\("
 msgstr "( n� \\( corr"
 
-#: regcomp.c:159
+#: regcomp.c:160
 msgid "Unmatched \\{"
 msgstr "\\{ corr"
 
-#: regcomp.c:162
+#: regcomp.c:163
 msgid "Invalid content of \\{\\}"
 msgstr "Inneachar neamhbhail� idir \\{\\}"
 
-#: regcomp.c:165
+#: regcomp.c:166
 msgid "Invalid range end"
 msgstr "Deireadh raoin neamhbhail�"
 
-#: regcomp.c:168
+#: regcomp.c:169
 msgid "Memory exhausted"
 msgstr "Cuimhne �dithe"
 
-#: regcomp.c:171
+#: regcomp.c:172
 msgid "Invalid preceding regular expression"
 msgstr "Is neamhbhail� an slonn ionada�ochta roimhe seo"
 
-#: regcomp.c:174
+#: regcomp.c:175
 msgid "Premature end of regular expression"
 msgstr "Deireadh le slonn ionada�ochta gan choinne"
 
-#: regcomp.c:177
+#: regcomp.c:178
 msgid "Regular expression too big"
 msgstr "Slonn ionada�ochta r�mh�r"
 
-#: regcomp.c:180
+#: regcomp.c:181
 msgid "Unmatched ) or \\)"
 msgstr ") n� \\) corr"
 
-#: regcomp.c:664
+#: regcomp.c:700
 msgid "No previous regular expression"
 msgstr "N�l aon slonn ionada�ochta roimhe seo"
 
+#~ msgid "%s: illegal option -- %c\n"
+#~ msgstr "%s: rogha neamhcheadaithe -- %c\n"
+
 #~ msgid "remote port invalid in `%s'"
 #~ msgstr "cianphort neamhbhail� i `%s'"
 
@@ -1944,9 +2012,6 @@
 #~ msgid "Unbalanced )"
 #~ msgstr ") corr"
 
-#~ msgid "out of memory"
-#~ msgstr "cuimhne �dithe"
-
 #~ msgid "field %d in FIELDWIDTHS, must be > 0"
 #~ msgstr "caithfidh go bhfuil r�imse %d i FIELDWIDTHS > 0"
 
diff -urN gawk-3.1.6/po/gawk.pot gawk-3.1.7/po/gawk.pot
--- gawk-3.1.6/po/gawk.pot	2007-09-30 22:33:25.000000000 +0200
+++ gawk-3.1.7/po/gawk.pot	2009-07-21 23:23:44.000000000 +0300
@@ -6,9 +6,9 @@
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
+"Project-Id-Version: gawk 3.1.7\n"
 "Report-Msgid-Bugs-To: arnold@skeeve.com\n"
-"POT-Creation-Date: 2007-09-30 22:33+0200\n"
+"POT-Creation-Date: 2009-07-21 23:23+0300\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"
@@ -76,812 +76,841 @@
 msgid "%s: array_ref to %s\n"
 msgstr ""
 
-#: awkgram.y:215
+#: awkgram.y:218
 #, c-format
 msgid "%s blocks must have an action part"
 msgstr ""
 
-#: awkgram.y:218
+#: awkgram.y:221
 msgid "each rule must have a pattern or an action part"
 msgstr ""
 
-#: awkgram.y:254 awkgram.y:263
+#: awkgram.y:257 awkgram.y:266
 msgid "old awk does not support multiple `BEGIN' or `END' rules"
 msgstr ""
 
-#: awkgram.y:282
+#: awkgram.y:285
 #, c-format
 msgid "`%s' is a built-in function, it cannot be redefined"
 msgstr ""
 
-#: awkgram.y:328
+#: awkgram.y:331
 msgid "regexp constant `//' looks like a C++ comment, but is not"
 msgstr ""
 
-#: awkgram.y:331
+#: awkgram.y:334
 #, c-format
 msgid "regexp constant `/%s/' looks like a C comment, but is not"
 msgstr ""
 
-#: awkgram.y:358 awkgram.y:653
+#: awkgram.y:361 awkgram.y:656
 msgid "statement may have no effect"
 msgstr ""
 
-#: awkgram.y:455 awkgram.y:479
+#: awkgram.y:458 awkgram.y:482
 #, c-format
 msgid "`%s' used in %s action"
 msgstr ""
 
-#: awkgram.y:470 awkgram.y:474
+#: awkgram.y:473 awkgram.y:477
 msgid "`nextfile' is a gawk extension"
 msgstr ""
 
-#: awkgram.y:489
+#: awkgram.y:492
 msgid "`return' used outside function context"
 msgstr ""
 
-#: awkgram.y:531
+#: awkgram.y:534
 msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'"
 msgstr ""
 
-#: awkgram.y:547 awkgram.y:555
+#: awkgram.y:550 awkgram.y:558
 msgid "`delete array' is a gawk extension"
 msgstr ""
 
-#: awkgram.y:569 awkgram.y:577
+#: awkgram.y:572 awkgram.y:580
 msgid "`delete(array)' is a non-portable tawk extension"
 msgstr ""
 
-#: awkgram.y:621
+#: awkgram.y:624
 #, c-format
 msgid "duplicate case values in switch body: %s"
 msgstr ""
 
-#: awkgram.y:631
+#: awkgram.y:634
 msgid "Duplicate `default' detected in switch body"
 msgstr ""
 
-#: awkgram.y:720
+#: awkgram.y:723
 msgid "multistage two-way pipelines don't work"
 msgstr ""
 
-#: awkgram.y:811
+#: awkgram.y:814
 msgid "regular expression on right of assignment"
 msgstr ""
 
-#: awkgram.y:834
+#: awkgram.y:824
 msgid "regular expression on left of `~' or `!~' operator"
 msgstr ""
 
-#: awkgram.y:840 awkgram.y:913
+#: awkgram.y:830 awkgram.y:903
 msgid "old awk does not support the keyword `in' except after `for'"
 msgstr ""
 
-#: awkgram.y:846
+#: awkgram.y:836
 msgid "regular expression on right of comparison"
 msgstr ""
 
-#: awkgram.y:903
+#: awkgram.y:893
 msgid "non-redirected `getline' undefined inside END action"
 msgstr ""
 
-#: awkgram.y:914
+#: awkgram.y:904
 msgid "old awk does not support multidimensional arrays"
 msgstr ""
 
-#: awkgram.y:960
+#: awkgram.y:950
 msgid "call of `length' without parentheses is not portable"
 msgstr ""
 
-#: awkgram.y:965
+#: awkgram.y:955
 msgid "call of `length' without parentheses is deprecated by POSIX"
 msgstr ""
 
-#: awkgram.y:1019
+#: awkgram.y:1009
 msgid "use of non-array as array"
 msgstr ""
 
-#: awkgram.y:1022
+#: awkgram.y:1012
 msgid "invalid subscript expression"
 msgstr ""
 
-#: awkgram.y:1249
+#: awkgram.y:1257
 msgid "unexpected newline or end of string"
 msgstr ""
 
-#: awkgram.y:1366
+#: awkgram.y:1374
 msgid "empty program text on command line"
 msgstr ""
 
-#: awkgram.y:1422
+#: awkgram.y:1430
 #, c-format
 msgid "can't open source file `%s' for reading (%s)"
 msgstr ""
 
-#: awkgram.y:1520
+#: awkgram.y:1528
 #, c-format
 msgid "can't read sourcefile `%s' (%s)"
 msgstr ""
 
-#: awkgram.y:1528
+#: awkgram.y:1536
 #, c-format
 msgid "source file `%s' is empty"
 msgstr ""
 
-#: awkgram.y:1720 awkgram.y:1842 awkgram.y:1860 awkgram.y:2235 awkgram.y:2322
+#: awkgram.y:1728 awkgram.y:1850 awkgram.y:1868 awkgram.y:2243 awkgram.y:2330
 msgid "source file does not end in newline"
 msgstr ""
 
-#: awkgram.y:1782
+#: awkgram.y:1790
 msgid "unterminated regexp ends with `\\' at end of file"
 msgstr ""
 
-#: awkgram.y:1806
+#: awkgram.y:1814
 #, c-format
 msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk"
 msgstr ""
 
-#: awkgram.y:1810
+#: awkgram.y:1818
 #, c-format
 msgid "tawk regex modifier `/.../%c' doesn't work in gawk"
 msgstr ""
 
-#: awkgram.y:1817
+#: awkgram.y:1825
 msgid "unterminated regexp"
 msgstr ""
 
-#: awkgram.y:1820
+#: awkgram.y:1828
 msgid "unterminated regexp at end of file"
 msgstr ""
 
-#: awkgram.y:1889
+#: awkgram.y:1897
 msgid "use of `\\ #...' line continuation is not portable"
 msgstr ""
 
-#: awkgram.y:1902
+#: awkgram.y:1910
 msgid "backslash not last character on line"
 msgstr ""
 
-#: awkgram.y:1947
+#: awkgram.y:1955
 msgid "POSIX does not allow operator `**='"
 msgstr ""
 
-#: awkgram.y:1949
+#: awkgram.y:1957
 msgid "old awk does not support operator `**='"
 msgstr ""
 
-#: awkgram.y:1958
+#: awkgram.y:1966
 msgid "POSIX does not allow operator `**'"
 msgstr ""
 
-#: awkgram.y:1960
+#: awkgram.y:1968
 msgid "old awk does not support operator `**'"
 msgstr ""
 
-#: awkgram.y:1991
+#: awkgram.y:1999
 msgid "operator `^=' is not supported in old awk"
 msgstr ""
 
-#: awkgram.y:1999
+#: awkgram.y:2007
 msgid "operator `^' is not supported in old awk"
 msgstr ""
 
-#: awkgram.y:2083 awkgram.y:2098
+#: awkgram.y:2091 awkgram.y:2106
 msgid "unterminated string"
 msgstr ""
 
-#: awkgram.y:2283
+#: awkgram.y:2291
 #, c-format
 msgid "invalid char '%c' in expression"
 msgstr ""
 
-#: awkgram.y:2331
+#: awkgram.y:2339
 #, c-format
 msgid "`%s' is a gawk extension"
 msgstr ""
 
-#: awkgram.y:2334
+#: awkgram.y:2342
 #, c-format
 msgid "`%s' is a Bell Labs extension"
 msgstr ""
 
-#: awkgram.y:2337
+#: awkgram.y:2345
 #, c-format
 msgid "POSIX does not allow `%s'"
 msgstr ""
 
-#: awkgram.y:2341
+#: awkgram.y:2349
 #, c-format
 msgid "`%s' is not supported in old awk"
 msgstr ""
 
-#: awkgram.y:2367
+#: awkgram.y:2375
 msgid "`goto' considered harmful!\n"
 msgstr ""
 
-#: awkgram.y:2429
+#: awkgram.y:2437
 #, c-format
 msgid "%d is invalid as number of arguments for %s"
 msgstr ""
 
-#: awkgram.y:2448 awkgram.y:2451
+#: awkgram.y:2456 awkgram.y:2459
 msgid "match: third argument is a gawk extension"
 msgstr ""
 
-#: awkgram.y:2464
+#: awkgram.y:2472
 #, c-format
 msgid "%s: string literal as last arg of substitute has no effect"
 msgstr ""
 
-#: awkgram.y:2467
+#: awkgram.y:2475
 #, c-format
 msgid "%s third parameter is not a changeable object"
 msgstr ""
 
-#: awkgram.y:2494 awkgram.y:2497
+#: awkgram.y:2502 awkgram.y:2505
 msgid "close: second argument is a gawk extension"
 msgstr ""
 
-#: awkgram.y:2507
+#: awkgram.y:2515
 msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore"
 msgstr ""
 
-#: awkgram.y:2522
+#: awkgram.y:2530
 msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore"
 msgstr ""
 
-#: awkgram.y:2594
+#: awkgram.y:2602
 #, c-format
 msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d"
 msgstr ""
 
-#: awkgram.y:2627
+#: awkgram.y:2635
 #, c-format
 msgid "function `%s': parameter `%s' shadows global variable"
 msgstr ""
 
-#: awkgram.y:2739
+#: awkgram.y:2747
 #, c-format
 msgid "could not open `%s' for writing (%s)"
 msgstr ""
 
-#: awkgram.y:2740 profile.c:94
+#: awkgram.y:2748 profile.c:95
 msgid "sending profile to standard error"
 msgstr ""
 
-#: awkgram.y:2772
+#: awkgram.y:2780
 #, c-format
 msgid "%s: close failed (%s)"
 msgstr ""
 
-#: awkgram.y:2893
+#: awkgram.y:2901
 msgid "shadow_funcs() called twice!"
 msgstr ""
 
-#: awkgram.y:2920
+#: awkgram.y:2928
 msgid "there were shadowed variables."
 msgstr ""
 
-#: awkgram.y:2993
+#: awkgram.y:3001
 #, c-format
 msgid "function `%s': can't use function name as parameter name"
 msgstr ""
 
-#: awkgram.y:3003
+#: awkgram.y:3004
+#, c-format
+msgid "function `%s': can't use special variable `%s' as a function parameter"
+msgstr ""
+
+#: awkgram.y:3014
 #, c-format
 msgid "function name `%s' previously defined"
 msgstr ""
 
-#: awkgram.y:3154 awkgram.y:3160
+#: awkgram.y:3165 awkgram.y:3171
 #, c-format
 msgid "function `%s' called but never defined"
 msgstr ""
 
-#: awkgram.y:3163
+#: awkgram.y:3174
 #, c-format
 msgid "function `%s' defined but never called"
 msgstr ""
 
-#: awkgram.y:3190
+#: awkgram.y:3201
 #, c-format
 msgid "regexp constant for parameter #%d yields boolean value"
 msgstr ""
 
-#: awkgram.y:3234
+#: awkgram.y:3245
 #, c-format
 msgid ""
 "function `%s' called with space between name and `(',\n"
 "or used as a variable or an array"
 msgstr ""
 
-#: builtin.c:119
+#: awkgram.y:3667 eval.c:1394
+#, c-format
+msgid "division by zero attempted in `%%'"
+msgstr ""
+
+#: builtin.c:122
 #, c-format
 msgid "%s to \"%s\" failed (%s)"
 msgstr ""
 
-#: builtin.c:120
+#: builtin.c:123
 msgid "standard output"
 msgstr ""
 
-#: builtin.c:121
+#: builtin.c:124
 msgid "reason unknown"
 msgstr ""
 
-#: builtin.c:134
+#: builtin.c:137
 msgid "exp: received non-numeric argument"
 msgstr ""
 
-#: builtin.c:140
+#: builtin.c:143
 #, c-format
 msgid "exp: argument %g is out of range"
 msgstr ""
 
-#: builtin.c:198
+#: builtin.c:201
 #, c-format
 msgid "fflush: cannot flush: pipe `%s' opened for reading, not writing"
 msgstr ""
 
-#: builtin.c:201
+#: builtin.c:204
 #, c-format
 msgid "fflush: cannot flush: file `%s' opened for reading, not writing"
 msgstr ""
 
-#: builtin.c:213
+#: builtin.c:216
 #, c-format
 msgid "fflush: `%s' is not an open file, pipe or co-process"
 msgstr ""
 
-#: builtin.c:306
+#: builtin.c:310
 msgid "index: received non-string first argument"
 msgstr ""
 
-#: builtin.c:308
+#: builtin.c:312
 msgid "index: received non-string second argument"
 msgstr ""
 
-#: builtin.c:423
+#: builtin.c:434
 msgid "int: received non-numeric argument"
 msgstr ""
 
-#: builtin.c:448
+#: builtin.c:464
 msgid "`length(array)' is a gawk extension"
 msgstr ""
 
-#: builtin.c:458
+#: builtin.c:473
+msgid "length: untyped argument will be forced to scalar"
+msgstr ""
+
+#: builtin.c:477
 msgid "length: received non-string argument"
 msgstr ""
 
-#: builtin.c:483
+#: builtin.c:508
 msgid "log: received non-numeric argument"
 msgstr ""
 
-#: builtin.c:486
+#: builtin.c:511
 #, c-format
 msgid "log: received negative argument %g"
 msgstr ""
 
-#: builtin.c:693 builtin.c:696
+#: builtin.c:719 builtin.c:722
 msgid "must use `count$' on all formats or none"
 msgstr ""
 
-#: builtin.c:799
+#: builtin.c:783
+#, c-format
+msgid "field width is ignored for `%%%%' specifier"
+msgstr ""
+
+#: builtin.c:785
+#, c-format
+msgid "precision is ignored for `%%%%' specifier"
+msgstr ""
+
+#: builtin.c:787
+#, c-format
+msgid "field width and precision are ignored for `%%%%' specifier"
+msgstr ""
+
+#: builtin.c:838
 msgid "`$' is not permitted in awk formats"
 msgstr ""
 
-#: builtin.c:805
+#: builtin.c:844
 msgid "arg count with `$' must be > 0"
 msgstr ""
 
-#: builtin.c:807
+#: builtin.c:846
 #, c-format
 msgid "arg count %ld greater than total number of supplied arguments"
 msgstr ""
 
-#: builtin.c:809
+#: builtin.c:848
 msgid "`$' not permitted after period in format"
 msgstr ""
 
-#: builtin.c:822
+#: builtin.c:861
 msgid "no `$' supplied for positional field width or precision"
 msgstr ""
 
-#: builtin.c:888
+#: builtin.c:927
 msgid "`l' is meaningless in awk formats; ignored"
 msgstr ""
 
-#: builtin.c:892
+#: builtin.c:931
 msgid "`l' is not permitted in POSIX awk formats"
 msgstr ""
 
-#: builtin.c:903
+#: builtin.c:942
 msgid "`L' is meaningless in awk formats; ignored"
 msgstr ""
 
-#: builtin.c:907
+#: builtin.c:946
 msgid "`L' is not permitted in POSIX awk formats"
 msgstr ""
 
-#: builtin.c:918
+#: builtin.c:957
 msgid "`h' is meaningless in awk formats; ignored"
 msgstr ""
 
-#: builtin.c:922
+#: builtin.c:961
 msgid "`h' is not permitted in POSIX awk formats"
 msgstr ""
 
-#: builtin.c:1182
+#: builtin.c:1236
 #, c-format
 msgid "[s]printf: value %g is out of range for `%%%c' format"
 msgstr ""
 
-#: builtin.c:1266
+#: builtin.c:1316
+#, c-format
+msgid "ignoring unknown format specifier character `%c': no argument converted"
+msgstr ""
+
+#: builtin.c:1322
 msgid "not enough arguments to satisfy format string"
 msgstr ""
 
-#: builtin.c:1268
+#: builtin.c:1324
 msgid "^ ran out for this one"
 msgstr ""
 
-#: builtin.c:1274
+#: builtin.c:1330
 msgid "[s]printf: format specifier does not have control letter"
 msgstr ""
 
-#: builtin.c:1277
+#: builtin.c:1333
 msgid "too many arguments supplied for format string"
 msgstr ""
 
-#: builtin.c:1352 builtin.c:1355
+#: builtin.c:1408 builtin.c:1411
 msgid "printf: no arguments"
 msgstr ""
 
-#: builtin.c:1379
+#: builtin.c:1435
 msgid "sqrt: received non-numeric argument"
 msgstr ""
 
-#: builtin.c:1383
+#: builtin.c:1439
 #, c-format
 msgid "sqrt: called with negative argument %g"
 msgstr ""
 
-#: builtin.c:1407
+#: builtin.c:1463
 #, c-format
 msgid "substr: start index %g is invalid, using 1"
 msgstr ""
 
-#: builtin.c:1412
+#: builtin.c:1468
 #, c-format
 msgid "substr: non-integer start index %g will be truncated"
 msgstr ""
 
-#: builtin.c:1431
+#: builtin.c:1494
 #, c-format
 msgid "substr: length %g is not >= 1"
 msgstr ""
 
-#: builtin.c:1433
+#: builtin.c:1496
 #, c-format
 msgid "substr: length %g is not >= 0"
 msgstr ""
 
-#: builtin.c:1440
+#: builtin.c:1503
 #, c-format
 msgid "substr: non-integer length %g will be truncated"
 msgstr ""
 
-#: builtin.c:1445
+#: builtin.c:1508
 #, c-format
 msgid "substr: length %g too big for string indexing, truncating to %g"
 msgstr ""
 
-#: builtin.c:1457
+#: builtin.c:1520
 msgid "substr: source string is zero length"
 msgstr ""
 
-#: builtin.c:1473
+#: builtin.c:1536
 #, c-format
 msgid "substr: start index %g is past end of string"
 msgstr ""
 
-#: builtin.c:1481
+#: builtin.c:1544
 #, c-format
 msgid ""
 "substr: length %g at start index %g exceeds length of first argument (%lu)"
 msgstr ""
 
-#: builtin.c:1558
+#: builtin.c:1621
 msgid "strftime: received non-string first argument"
 msgstr ""
 
-#: builtin.c:1564
+#: builtin.c:1627
 msgid "strftime: received empty format string"
 msgstr ""
 
-#: builtin.c:1573
+#: builtin.c:1636
 msgid "strftime: received non-numeric second argument"
 msgstr ""
 
-#: builtin.c:1650
+#: builtin.c:1713
 msgid "mktime: received non-string argument"
 msgstr ""
 
-#: builtin.c:1695
+#: builtin.c:1758
 msgid "system: received non-string argument"
 msgstr ""
 
-#: builtin.c:1816 eval.c:2041
+#: builtin.c:1879 eval.c:2145
 #, c-format
 msgid "reference to uninitialized field `$%d'"
 msgstr ""
 
-#: builtin.c:1921
+#: builtin.c:1984
 msgid "tolower: received non-string argument"
 msgstr ""
 
-#: builtin.c:1951
+#: builtin.c:2014
 msgid "toupper: received non-string argument"
 msgstr ""
 
-#: builtin.c:1984
+#: builtin.c:2047
 msgid "atan2: received non-numeric first argument"
 msgstr ""
 
-#: builtin.c:1986
+#: builtin.c:2049
 msgid "atan2: received non-numeric second argument"
 msgstr ""
 
-#: builtin.c:2005
+#: builtin.c:2068
 msgid "sin: received non-numeric argument"
 msgstr ""
 
-#: builtin.c:2021
+#: builtin.c:2084
 msgid "cos: received non-numeric argument"
 msgstr ""
 
-#: builtin.c:2071
+#: builtin.c:2137
 msgid "srand: received non-numeric argument"
 msgstr ""
 
-#: builtin.c:2106
+#: builtin.c:2172
 msgid "match: third argument is not an array"
 msgstr ""
 
-#: builtin.c:2650
+#: builtin.c:2719
 msgid "gensub: third argument of 0 treated as 1"
 msgstr ""
 
-#: builtin.c:2766
+#: builtin.c:2835
 msgid "lshift: received non-numeric first argument"
 msgstr ""
 
-#: builtin.c:2768
+#: builtin.c:2837
 msgid "lshift: received non-numeric second argument"
 msgstr ""
 
-#: builtin.c:2774
+#: builtin.c:2843
 #, c-format
 msgid "lshift(%lf, %lf): negative values will give strange results"
 msgstr ""
 
-#: builtin.c:2776
+#: builtin.c:2845
 #, c-format
 msgid "lshift(%lf, %lf): fractional values will be truncated"
 msgstr ""
 
-#: builtin.c:2778
+#: builtin.c:2847
 #, c-format
 msgid "lshift(%lf, %lf): too large shift value will give strange results"
 msgstr ""
 
-#: builtin.c:2804
+#: builtin.c:2873
 msgid "rshift: received non-numeric first argument"
 msgstr ""
 
-#: builtin.c:2806
+#: builtin.c:2875
 msgid "rshift: received non-numeric second argument"
 msgstr ""
 
-#: builtin.c:2812
+#: builtin.c:2881
 #, c-format
 msgid "rshift(%lf, %lf): negative values will give strange results"
 msgstr ""
 
-#: builtin.c:2814
+#: builtin.c:2883
 #, c-format
 msgid "rshift(%lf, %lf): fractional values will be truncated"
 msgstr ""
 
-#: builtin.c:2816
+#: builtin.c:2885
 #, c-format
 msgid "rshift(%lf, %lf): too large shift value will give strange results"
 msgstr ""
 
-#: builtin.c:2842
+#: builtin.c:2911
 msgid "and: received non-numeric first argument"
 msgstr ""
 
-#: builtin.c:2844
+#: builtin.c:2913
 msgid "and: received non-numeric second argument"
 msgstr ""
 
-#: builtin.c:2850
+#: builtin.c:2919
 #, c-format
 msgid "and(%lf, %lf): negative values will give strange results"
 msgstr ""
 
-#: builtin.c:2852
+#: builtin.c:2921
 #, c-format
 msgid "and(%lf, %lf): fractional values will be truncated"
 msgstr ""
 
-#: builtin.c:2878
+#: builtin.c:2947
 msgid "or: received non-numeric first argument"
 msgstr ""
 
-#: builtin.c:2880
+#: builtin.c:2949
 msgid "or: received non-numeric second argument"
 msgstr ""
 
-#: builtin.c:2886
+#: builtin.c:2955
 #, c-format
 msgid "or(%lf, %lf): negative values will give strange results"
 msgstr ""
 
-#: builtin.c:2888
+#: builtin.c:2957
 #, c-format
 msgid "or(%lf, %lf): fractional values will be truncated"
 msgstr ""
 
-#: builtin.c:2914
+#: builtin.c:2983
 msgid "xor: received non-numeric first argument"
 msgstr ""
 
-#: builtin.c:2916
+#: builtin.c:2985
 msgid "xor: received non-numeric second argument"
 msgstr ""
 
-#: builtin.c:2922
+#: builtin.c:2991
 #, c-format
 msgid "xor(%lf, %lf): negative values will give strange results"
 msgstr ""
 
-#: builtin.c:2924
+#: builtin.c:2993
 #, c-format
 msgid "xor(%lf, %lf): fractional values will be truncated"
 msgstr ""
 
-#: builtin.c:2948
+#: builtin.c:3017
 msgid "compl: received non-numeric argument"
 msgstr ""
 
-#: builtin.c:2954
+#: builtin.c:3023
 #, c-format
 msgid "compl(%lf): negative value will give strange results"
 msgstr ""
 
-#: builtin.c:2956
+#: builtin.c:3025
 #, c-format
 msgid "compl(%lf): fractional value will be truncated"
 msgstr ""
 
-#: builtin.c:3129
+#: builtin.c:3198
 #, c-format
 msgid "dcgettext: `%s' is not a valid locale category"
 msgstr ""
 
-#: eval.c:303
+#: eval.c:372
 #, c-format
 msgid "unknown nodetype %d"
 msgstr ""
 
-#: eval.c:353
+#: eval.c:422
 msgid "buffer overflow in genflags2str"
 msgstr ""
 
-#: eval.c:385 eval.c:391 profile.c:817
+#: eval.c:454 eval.c:460 profile.c:781
 #, c-format
 msgid "attempt to use array `%s' in a scalar context"
 msgstr ""
 
-#: eval.c:733
+#: eval.c:802
 #, c-format
 msgid "for loop: array `%s' changed size from %ld to %ld during loop execution"
 msgstr ""
 
-#: eval.c:754
+#: eval.c:823
 msgid "`break' outside a loop is not portable"
 msgstr ""
 
-#: eval.c:758
+#: eval.c:827
 msgid "`break' outside a loop is not allowed"
 msgstr ""
 
-#: eval.c:775
+#: eval.c:844
 msgid "`continue' outside a loop is not portable"
 msgstr ""
 
-#: eval.c:779
+#: eval.c:848
 msgid "`continue' outside a loop is not allowed"
 msgstr ""
 
-#: eval.c:813
+#: eval.c:882
 msgid "`next' cannot be called from a BEGIN rule"
 msgstr ""
 
-#: eval.c:815
+#: eval.c:884
 msgid "`next' cannot be called from an END rule"
 msgstr ""
 
-#: eval.c:824
+#: eval.c:893
 msgid "`nextfile' cannot be called from a BEGIN rule"
 msgstr ""
 
-#: eval.c:826
+#: eval.c:895
 msgid "`nextfile' cannot be called from an END rule"
 msgstr ""
 
-#: eval.c:875
+#: eval.c:952
 msgid "statement has no effect"
 msgstr ""
 
-#: eval.c:952 eval.c:1895
+#: eval.c:1029 eval.c:1999
 #, c-format
 msgid "can't use function name `%s' as variable or array"
 msgstr ""
 
-#: eval.c:959 eval.c:965
+#: eval.c:1036 eval.c:1042
 #, c-format
 msgid "reference to uninitialized argument `%s'"
 msgstr ""
 
-#: eval.c:974 eval.c:1904
+#: eval.c:1051 eval.c:2008
 #, c-format
 msgid "reference to uninitialized variable `%s'"
 msgstr ""
 
-#: eval.c:1120
+#: eval.c:1197
 msgid ""
 "concatenation: side effects in one expression have changed the length of "
 "another!"
 msgstr ""
 
-#: eval.c:1202
+#: eval.c:1301
 msgid "assignment used in conditional context"
 msgstr ""
 
-#: eval.c:1280
+#: eval.c:1379
 msgid "division by zero attempted"
 msgstr ""
 
-#: eval.c:1295
-#, c-format
-msgid "division by zero attempted in `%%'"
-msgstr ""
-
-#: eval.c:1310 profile.c:693
+#: eval.c:1409 profile.c:657
 #, c-format
 msgid "illegal type (%s) in tree_eval"
 msgstr ""
 
-#: eval.c:1473
+#: eval.c:1572
 msgid "division by zero attempted in `/='"
 msgstr ""
 
-#: eval.c:1495
+#: eval.c:1594
 #, c-format
 msgid "division by zero attempted in `%%='"
 msgstr ""
 
-#: eval.c:1760
+#: eval.c:1859
 #, c-format
 msgid "function `%s' called with more arguments than declared"
 msgstr ""
 
-#: eval.c:1804
+#: eval.c:1904
 #, c-format
 msgid "function `%s' not defined"
 msgstr ""
 
-#: eval.c:1867
+#: eval.c:1971
 #, c-format
 msgid ""
 "\n"
@@ -889,42 +918,47 @@
 "\n"
 msgstr ""
 
-#: eval.c:1870
+#: eval.c:1974
 #, c-format
 msgid "\t# -- main --\n"
 msgstr ""
 
-#: eval.c:2025
+#: eval.c:2129
 msgid "attempt to field reference from non-numeric value"
 msgstr ""
 
-#: eval.c:2027
+#: eval.c:2131
 msgid "attempt to reference from null string"
 msgstr ""
 
-#: eval.c:2033
+#: eval.c:2137
 #, c-format
 msgid "attempt to access field %d"
 msgstr ""
 
-#: eval.c:2054 eval.c:2061 profile.c:914
+#: eval.c:2158 eval.c:2165 profile.c:836
 msgid "assignment is not allowed to result of builtin function"
 msgstr ""
 
-#: eval.c:2125
+#: eval.c:2229
 msgid "`IGNORECASE' is a gawk extension"
 msgstr ""
 
-#: eval.c:2155
+#: eval.c:2258
 msgid "`BINMODE' is a gawk extension"
 msgstr ""
 
-#: eval.c:2277
+#: eval.c:2316
+#, c-format
+msgid "BINMODE value `%s' is invalid, treated as 3"
+msgstr ""
+
+#: eval.c:2406
 #, c-format
 msgid "bad `%sFMT' specification `%s'"
 msgstr ""
 
-#: eval.c:2355
+#: eval.c:2484
 msgid "turning off `--lint' due to assignment to `LINT'"
 msgstr ""
 
@@ -999,546 +1033,554 @@
 msgid "NF set to negative value"
 msgstr ""
 
-#: field.c:823
+#: field.c:875
 msgid "split: second argument is not an array"
 msgstr ""
 
-#: field.c:857
+#: field.c:909
 msgid "split: null string for third arg is a gawk extension"
 msgstr ""
 
-#: field.c:909
+#: field.c:961
 msgid "`FIELDWIDTHS' is a gawk extension"
 msgstr ""
 
-#: field.c:939 field.c:953
+#: field.c:991 field.c:1005
 #, c-format
 msgid "invalid FIELDWIDTHS value, near `%s'"
 msgstr ""
 
-#: field.c:1036
+#: field.c:1088
 msgid "null string for `FS' is a gawk extension"
 msgstr ""
 
-#: field.c:1040
+#: field.c:1092
 msgid "old awk does not support regexps as value of `FS'"
 msgstr ""
 
-#: getopt.c:571 getopt.c:587
+#: getopt.c:570 getopt.c:586
 #, c-format
-msgid "%s: option `%s' is ambiguous\n"
+msgid "%s: option '%s' is ambiguous\n"
 msgstr ""
 
-#: getopt.c:620 getopt.c:624
+#: getopt.c:619 getopt.c:623
 #, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
+msgid "%s: option '--%s' doesn't allow an argument\n"
 msgstr ""
 
-#: getopt.c:633 getopt.c:638
+#: getopt.c:632 getopt.c:637
 #, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgid "%s: option '%c%s' doesn't allow an argument\n"
 msgstr ""
 
-#: getopt.c:681 getopt.c:700 getopt.c:1016 getopt.c:1035
+#: getopt.c:680 getopt.c:699 getopt.c:1002 getopt.c:1021
 #, c-format
-msgid "%s: option `%s' requires an argument\n"
+msgid "%s: option '%s' requires an argument\n"
 msgstr ""
 
-#: getopt.c:738 getopt.c:741
+#: getopt.c:737 getopt.c:740
 #, c-format
-msgid "%s: unrecognized option `--%s'\n"
+msgid "%s: unrecognized option '--%s'\n"
 msgstr ""
 
-#: getopt.c:749 getopt.c:752
+#: getopt.c:748 getopt.c:751
 #, c-format
-msgid "%s: unrecognized option `%c%s'\n"
+msgid "%s: unrecognized option '%c%s'\n"
 msgstr ""
 
-#: getopt.c:804 getopt.c:807
+#: getopt.c:800 getopt.c:803
 #, c-format
-msgid "%s: illegal option -- %c\n"
+msgid "%s: invalid option -- '%c'\n"
 msgstr ""
 
-#: getopt.c:813 getopt.c:816
+#: getopt.c:853 getopt.c:870 getopt.c:1073 getopt.c:1091
 #, c-format
-msgid "%s: invalid option -- %c\n"
-msgstr ""
-
-#: getopt.c:868 getopt.c:884 getopt.c:1088 getopt.c:1106 main.c:461
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
+msgid "%s: option requires an argument -- '%c'\n"
 msgstr ""
 
-#: getopt.c:937 getopt.c:953
+#: getopt.c:923 getopt.c:939
 #, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
+msgid "%s: option '-W %s' is ambiguous\n"
 msgstr ""
 
-#: getopt.c:977 getopt.c:995
+#: getopt.c:963 getopt.c:981
 #, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgid "%s: option '-W %s' doesn't allow an argument\n"
 msgstr ""
 
-#: io.c:345
+#: io.c:322 io.c:352
 #, c-format
 msgid "cannot open file `%s' for reading (%s)"
 msgstr ""
 
-#: io.c:436
+#: io.c:443
 #, c-format
 msgid "close of fd %d (`%s') failed (%s)"
 msgstr ""
 
-#: io.c:575
+#: io.c:583
 #, c-format
 msgid "invalid tree type %s in redirect()"
 msgstr ""
 
-#: io.c:581
+#: io.c:589
 #, c-format
 msgid "expression in `%s' redirection only has numeric value"
 msgstr ""
 
-#: io.c:587
+#: io.c:595
 #, c-format
 msgid "expression for `%s' redirection has null string value"
 msgstr ""
 
-#: io.c:592
+#: io.c:600
 #, c-format
 msgid "filename `%s' for `%s' redirection may be result of logical expression"
 msgstr ""
 
-#: io.c:630
+#: io.c:638
 #, c-format
 msgid "unnecessary mixing of `>' and `>>' for file `%.*s'"
 msgstr ""
 
-#: io.c:682
+#: io.c:685
 #, c-format
 msgid "can't open pipe `%s' for output (%s)"
 msgstr ""
 
-#: io.c:691
+#: io.c:694
 #, c-format
 msgid "can't open pipe `%s' for input (%s)"
 msgstr ""
 
-#: io.c:698 io.c:1448
-#, c-format
-msgid "file `%s' is a directory"
-msgstr ""
-
-#: io.c:706
+#: io.c:712
 #, c-format
 msgid "can't open two way socket `%s' for input/output (%s)"
 msgstr ""
 
-#: io.c:710
+#: io.c:716
 #, c-format
 msgid "can't open two way pipe `%s' for input/output (%s)"
 msgstr ""
 
-#: io.c:786
+#: io.c:793
 #, c-format
 msgid "can't redirect from `%s' (%s)"
 msgstr ""
 
-#: io.c:789
+#: io.c:796
 #, c-format
 msgid "can't redirect to `%s' (%s)"
 msgstr ""
 
-#: io.c:828
+#: io.c:849
 msgid ""
 "reached system limit for open files: starting to multiplex file descriptors"
 msgstr ""
 
-#: io.c:844
+#: io.c:865
 #, c-format
 msgid "close of `%s' failed (%s)."
 msgstr ""
 
-#: io.c:852
+#: io.c:873
 msgid "too many pipes or input files open"
 msgstr ""
 
-#: io.c:875
+#: io.c:896
 msgid "close: second argument must be `to' or `from'"
 msgstr ""
 
-#: io.c:889
+#: io.c:910
 #, c-format
 msgid "close: `%.*s' is not an open file, pipe or co-process"
 msgstr ""
 
-#: io.c:893
+#: io.c:915
 msgid "close of redirection that was never opened"
 msgstr ""
 
-#: io.c:989
+#: io.c:1012
 #, c-format
 msgid "close: redirection `%s' not opened with `|&', second argument ignored"
 msgstr ""
 
-#: io.c:1005
+#: io.c:1028
 #, c-format
 msgid "failure status (%d) on pipe close of `%s' (%s)"
 msgstr ""
 
-#: io.c:1008
+#: io.c:1031
 #, c-format
 msgid "failure status (%d) on file close of `%s' (%s)"
 msgstr ""
 
-#: io.c:1028
+#: io.c:1051
 #, c-format
 msgid "no explicit close of socket `%s' provided"
 msgstr ""
 
-#: io.c:1031
+#: io.c:1054
 #, c-format
 msgid "no explicit close of co-process `%s' provided"
 msgstr ""
 
-#: io.c:1034
+#: io.c:1057
 #, c-format
 msgid "no explicit close of pipe `%s' provided"
 msgstr ""
 
-#: io.c:1037
+#: io.c:1060
 #, c-format
 msgid "no explicit close of file `%s' provided"
 msgstr ""
 
-#: io.c:1066 io.c:1121 main.c:749 main.c:791
+#: io.c:1088 io.c:1143 main.c:776 main.c:818
 #, c-format
 msgid "error writing standard output (%s)"
 msgstr ""
 
-#: io.c:1070 io.c:1126
+#: io.c:1092 io.c:1148
 #, c-format
 msgid "error writing standard error (%s)"
 msgstr ""
 
-#: io.c:1078
+#: io.c:1100
 #, c-format
 msgid "pipe flush of `%s' failed (%s)."
 msgstr ""
 
-#: io.c:1081
+#: io.c:1103
 #, c-format
 msgid "co-process flush of pipe to `%s' failed (%s)."
 msgstr ""
 
-#: io.c:1084
+#: io.c:1106
 #, c-format
 msgid "file flush of `%s' failed (%s)."
 msgstr ""
 
-#: io.c:1198
+#: io.c:1220
 #, c-format
 msgid "local port %s invalid in `/inet'"
 msgstr ""
 
-#: io.c:1215
+#: io.c:1237
 #, c-format
 msgid "remote host and port information (%s, %s) invalid"
 msgstr ""
 
-#: io.c:1250
+#: io.c:1272
 msgid "/inet/raw client not ready yet, sorry"
 msgstr ""
 
-#: io.c:1253 io.c:1289
+#: io.c:1275 io.c:1311
 msgid "only root may use `/inet/raw'."
 msgstr ""
 
-#: io.c:1287
+#: io.c:1309
 msgid "/inet/raw server not ready yet, sorry"
 msgstr ""
 
-#: io.c:1385
+#: io.c:1407
 #, c-format
 msgid "no (known) protocol supplied in special filename `%s'"
 msgstr ""
 
-#: io.c:1399
+#: io.c:1421
 #, c-format
 msgid "special file name `%s' is incomplete"
 msgstr ""
 
-#: io.c:1414
+#: io.c:1436
 msgid "must supply a remote hostname to `/inet'"
 msgstr ""
 
-#: io.c:1432
+#: io.c:1454
 msgid "must supply a remote port to `/inet'"
 msgstr ""
 
-#: io.c:1439
+#: io.c:1485
 msgid "TCP/IP communications are not supported"
 msgstr ""
 
-#: io.c:1509
+#: io.c:1494
+#, c-format
+msgid "file `%s' is a directory"
+msgstr ""
+
+#: io.c:1555
 #, c-format
 msgid "use `PROCINFO[\"%s\"]' instead of `%s'"
 msgstr ""
 
-#: io.c:1547
+#: io.c:1593
 msgid "use `PROCINFO[...]' instead of `/dev/user'"
 msgstr ""
 
-#: io.c:1612 io.c:1798
+#: io.c:1658 io.c:1853
 #, c-format
 msgid "could not open `%s', mode `%s'"
 msgstr ""
 
-#: io.c:1849
+#: io.c:1904
 #, c-format
 msgid "close of master pty failed (%s)"
 msgstr ""
 
-#: io.c:1851 io.c:2003 io.c:2154
+#: io.c:1906 io.c:2058 io.c:2209
 #, c-format
 msgid "close of stdout in child failed (%s)"
 msgstr ""
 
-#: io.c:1854
+#: io.c:1909
 #, c-format
 msgid "moving slave pty to stdout in child failed (dup: %s)"
 msgstr ""
 
-#: io.c:1856 io.c:2008
+#: io.c:1911 io.c:2063
 #, c-format
 msgid "close of stdin in child failed (%s)"
 msgstr ""
 
-#: io.c:1859
+#: io.c:1914
 #, c-format
 msgid "moving slave pty to stdin in child failed (dup: %s)"
 msgstr ""
 
-#: io.c:1861 io.c:1880
+#: io.c:1916 io.c:1935
 #, c-format
 msgid "close of slave pty failed (%s)"
 msgstr ""
 
-#: io.c:1954 io.c:2006 io.c:2135 io.c:2157
+#: io.c:2009 io.c:2061 io.c:2190 io.c:2212
 #, c-format
 msgid "moving pipe to stdout in child failed (dup: %s)"
 msgstr ""
 
-#: io.c:1958 io.c:2011
+#: io.c:2013 io.c:2066
 #, c-format
 msgid "moving pipe to stdin in child failed (dup: %s)"
 msgstr ""
 
-#: io.c:1975 io.c:2148
+#: io.c:2030 io.c:2203
 msgid "restoring stdout in parent process failed\n"
 msgstr ""
 
-#: io.c:1980
+#: io.c:2035
 msgid "restoring stdin in parent process failed\n"
 msgstr ""
 
-#: io.c:2014 io.c:2159 io.c:2170
+#: io.c:2069 io.c:2214 io.c:2225
 #, c-format
 msgid "close of pipe failed (%s)"
 msgstr ""
 
-#: io.c:2059
+#: io.c:2114
 msgid "`|&' not supported"
 msgstr ""
 
-#: io.c:2125
+#: io.c:2180
 #, c-format
 msgid "cannot open pipe `%s' (%s)"
 msgstr ""
 
-#: io.c:2166
+#: io.c:2221
 #, c-format
 msgid "cannot create child process for `%s' (fork: %s)"
 msgstr ""
 
-#: io.c:2548
+#: io.c:2603
 #, c-format
 msgid "data file `%s' is empty"
 msgstr ""
 
-#: io.c:2589 io.c:2597
+#: io.c:2644 io.c:2652
 msgid "could not allocate more input memory"
 msgstr ""
 
-#: io.c:2965 io.c:3038
+#: io.c:3020 io.c:3093
 #, c-format
 msgid "error reading input file `%s': %s"
 msgstr ""
 
-#: io.c:3163
+#: io.c:3218
 msgid "multicharacter value of `RS' is a gawk extension"
 msgstr ""
 
-#: main.c:351
+#: main.c:304
+msgid "out of memory"
+msgstr ""
+
+#: main.c:373
 msgid "`-m[fr]' option irrelevant in gawk"
 msgstr ""
 
-#: main.c:353
+#: main.c:375
 msgid "-m option usage: `-m[fr] nnn'"
 msgstr ""
 
-#: main.c:370
+#: main.c:392
 #, c-format
 msgid "%s: option `-W %s' unrecognized, ignored\n"
 msgstr ""
 
-#: main.c:407
+#: main.c:433
 msgid "empty argument to `--source' ignored"
 msgstr ""
 
-#: main.c:480
+#: main.c:487
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr ""
+
+#: main.c:506
 msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'"
 msgstr ""
 
-#: main.c:486
+#: main.c:512
 msgid "`--posix' overrides `--traditional'"
 msgstr ""
 
-#: main.c:497
+#: main.c:523
 msgid "`--posix'/`--traditional' overrides `--non-decimal-data'"
 msgstr ""
 
-#: main.c:501
+#: main.c:527
 #, c-format
 msgid "running %s setuid root may be a security problem"
 msgstr ""
 
-#: main.c:542
+#: main.c:568
 #, c-format
 msgid "can't set binary mode on stdin (%s)"
 msgstr ""
 
-#: main.c:545
+#: main.c:571
 #, c-format
 msgid "can't set binary mode on stdout (%s)"
 msgstr ""
 
-#: main.c:547
+#: main.c:573
 #, c-format
 msgid "can't set binary mode on stderr (%s)"
 msgstr ""
 
-#: main.c:586
+#: main.c:612
 msgid "no program text at all!"
 msgstr ""
 
-#: main.c:690
+#: main.c:716
 #, c-format
 msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n"
 msgstr ""
 
-#: main.c:692
+#: main.c:718
 #, c-format
 msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n"
 msgstr ""
 
-#: main.c:697
+#: main.c:723
 msgid "POSIX options:\t\tGNU long options:\n"
 msgstr ""
 
-#: main.c:698
+#: main.c:724
 msgid "\t-f progfile\t\t--file=progfile\n"
 msgstr ""
 
-#: main.c:699
+#: main.c:725
 msgid "\t-F fs\t\t\t--field-separator=fs\n"
 msgstr ""
 
-#: main.c:700
+#: main.c:726
 msgid "\t-v var=val\t\t--assign=var=val\n"
 msgstr ""
 
-#: main.c:701
+#: main.c:727
 msgid "\t-m[fr] val\n"
 msgstr ""
 
-#: main.c:702
+#: main.c:728
+msgid "\t-O\t\t\t--optimize\n"
+msgstr ""
+
+#: main.c:729
 msgid "\t-W compat\t\t--compat\n"
 msgstr ""
 
-#: main.c:703
+#: main.c:730
 msgid "\t-W copyleft\t\t--copyleft\n"
 msgstr ""
 
-#: main.c:704
+#: main.c:731
 msgid "\t-W copyright\t\t--copyright\n"
 msgstr ""
 
-#: main.c:705
+#: main.c:732
 msgid "\t-W dump-variables[=file]\t--dump-variables[=file]\n"
 msgstr ""
 
-#: main.c:706
+#: main.c:733
 msgid "\t-W exec=file\t\t--exec=file\n"
 msgstr ""
 
-#: main.c:707
+#: main.c:734
 msgid "\t-W gen-po\t\t--gen-po\n"
 msgstr ""
 
-#: main.c:708
+#: main.c:735
 msgid "\t-W help\t\t\t--help\n"
 msgstr ""
 
-#: main.c:709
+#: main.c:736
 msgid "\t-W lint[=fatal]\t\t--lint[=fatal]\n"
 msgstr ""
 
-#: main.c:710
+#: main.c:737
 msgid "\t-W lint-old\t\t--lint-old\n"
 msgstr ""
 
-#: main.c:711
+#: main.c:738
 msgid "\t-W non-decimal-data\t--non-decimal-data\n"
 msgstr ""
 
-#: main.c:713
+#: main.c:740
 msgid "\t-W nostalgia\t\t--nostalgia\n"
 msgstr ""
 
-#: main.c:716
+#: main.c:743
 msgid "\t-W parsedebug\t\t--parsedebug\n"
 msgstr ""
 
-#: main.c:718
+#: main.c:745
 msgid "\t-W profile[=file]\t--profile[=file]\n"
 msgstr ""
 
-#: main.c:719
+#: main.c:746
 msgid "\t-W posix\t\t--posix\n"
 msgstr ""
 
-#: main.c:720
+#: main.c:747
 msgid "\t-W re-interval\t\t--re-interval\n"
 msgstr ""
 
-#: main.c:721
+#: main.c:748
 msgid "\t-W source=program-text\t--source=program-text\n"
 msgstr ""
 
-#: main.c:722
+#: main.c:749
 msgid "\t-W traditional\t\t--traditional\n"
 msgstr ""
 
-#: main.c:723
+#: main.c:750
 msgid "\t-W usage\t\t--usage\n"
 msgstr ""
 
-#: main.c:724
+#: main.c:751
 msgid "\t-W use-lc-numeric\t--use-lc-numeric\n"
 msgstr ""
 
-#: main.c:725
+#: main.c:752
 msgid "\t-W version\t\t--version\n"
 msgstr ""
 
@@ -1547,7 +1589,7 @@
 #. for this application.  Please add _another line_ with the
 #. address for translation bugs.
 #. no-wrap
-#: main.c:734
+#: main.c:761
 msgid ""
 "\n"
 "To report bugs, see node `Bugs' in `gawk.info', which is\n"
@@ -1555,21 +1597,21 @@
 "\n"
 msgstr ""
 
-#: main.c:738
+#: main.c:765
 msgid ""
 "gawk is a pattern scanning and processing language.\n"
 "By default it reads standard input and writes standard output.\n"
 "\n"
 msgstr ""
 
-#: main.c:742
+#: main.c:769
 msgid ""
 "Examples:\n"
 "\tgawk '{ sum += $1 }; END { print sum }' file\n"
 "\tgawk -F: '{ print $1 }' /etc/passwd\n"
 msgstr ""
 
-#: main.c:762
+#: main.c:789
 #, c-format
 msgid ""
 "Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
@@ -1581,7 +1623,7 @@
 "\n"
 msgstr ""
 
-#: main.c:770
+#: main.c:797
 msgid ""
 "This program is distributed in the hope that it will be useful,\n"
 "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
@@ -1590,52 +1632,60 @@
 "\n"
 msgstr ""
 
-#: main.c:781
+#: main.c:808
 msgid ""
 "You should have received a copy of the GNU General Public License\n"
 "along with this program. If not, see http://www.gnu.org/licenses/.\n"
 msgstr ""
 
-#: main.c:816
+#: main.c:843
 msgid "-Ft does not set FS to tab in POSIX awk"
 msgstr ""
 
-#: main.c:1060
+#: main.c:1117
 #, c-format
 msgid ""
 "%s: `%s' argument to `-v' not in `var=value' form\n"
 "\n"
 msgstr ""
 
-#: main.c:1080
+#: main.c:1137
 #, c-format
 msgid "`%s' is not a legal variable name"
 msgstr ""
 
-#: main.c:1083
+#: main.c:1140
 #, c-format
 msgid "`%s' is not a variable name, looking for file `%s=%s'"
 msgstr ""
 
-#: main.c:1122
+#: main.c:1179
 msgid "floating point exception"
 msgstr ""
 
-#: main.c:1129
+#: main.c:1186
 msgid "fatal error: internal error"
 msgstr ""
 
-#: main.c:1180
+#: main.c:1200
+msgid "fatal error: internal error: segfault"
+msgstr ""
+
+#: main.c:1212
+msgid "fatal error: internal error: stack overflow"
+msgstr ""
+
+#: main.c:1261
 #, c-format
 msgid "no pre-opened fd %d"
 msgstr ""
 
-#: main.c:1187
+#: main.c:1268
 #, c-format
 msgid "could not pre-open /dev/null for fd %d"
 msgstr ""
 
-#: main.c:1210 main.c:1219
+#: main.c:1291 main.c:1300
 #, c-format
 msgid "could not find groups: %s"
 msgstr ""
@@ -1661,24 +1711,31 @@
 msgid "can't convert string to float"
 msgstr ""
 
-#: node.c:406
+#: node.c:462
 msgid "backslash at end of string"
 msgstr ""
 
-#: node.c:548
+#: node.c:606
 #, c-format
 msgid "old awk does not support the `\\%c' escape sequence"
 msgstr ""
 
-#: node.c:599
+#: node.c:657
 msgid "POSIX does not allow `\\x' escapes"
 msgstr ""
 
-#: node.c:605
+#: node.c:663
 msgid "no hex digits in `\\x' escape sequence"
 msgstr ""
 
-#: node.c:639
+#: node.c:685
+#, c-format
+msgid ""
+"hex escape \\x%.*s of %d characters probably not interpreted the way you "
+"expect"
+msgstr ""
+
+#: node.c:700
 #, c-format
 msgid "escape sequence `\\%c' treated as plain `%c'"
 msgstr ""
@@ -1688,131 +1745,136 @@
 msgid "%s %s `%s': could not set close-on-exec: (fcntl: %s)"
 msgstr ""
 
-#: profile.c:92
+#: profile.c:93
 #, c-format
 msgid "could not open `%s' for writing: %s"
 msgstr ""
 
-#: profile.c:450
+#: profile.c:453
 #, c-format
 msgid "internal error: %s with null vname"
 msgstr ""
 
-#: profile.c:514
+#: profile.c:517
 msgid "# treated internally as `delete'"
 msgstr ""
 
-#: profile.c:1147
+#: profile.c:1069
 #, c-format
 msgid "# this is a dynamically loaded extension function"
 msgstr ""
 
-#: profile.c:1178
+#: profile.c:1100
 #, c-format
 msgid "\t# gawk profile, created %s\n"
 msgstr ""
 
-#: profile.c:1181
+#: profile.c:1103
 #, c-format
 msgid ""
 "\t# BEGIN block(s)\n"
 "\n"
 msgstr ""
 
-#: profile.c:1191
+#: profile.c:1113
 #, c-format
 msgid ""
 "\t# Rule(s)\n"
 "\n"
 msgstr ""
 
-#: profile.c:1197
+#: profile.c:1119
 #, c-format
 msgid ""
 "\t# END block(s)\n"
 "\n"
 msgstr ""
 
-#: profile.c:1217
+#: profile.c:1139
 #, c-format
 msgid ""
 "\n"
 "\t# Functions, listed alphabetically\n"
 msgstr ""
 
-#: profile.c:1470
+#: profile.c:1400
 #, c-format
 msgid "unexpected type %s in prec_level"
 msgstr ""
 
-#: regcomp.c:132
+#: profile.c:1500
+#, c-format
+msgid "Unknown node type %s in pp_var"
+msgstr ""
+
+#: regcomp.c:133
 msgid "Success"
 msgstr ""
 
-#: regcomp.c:135
+#: regcomp.c:136
 msgid "No match"
 msgstr ""
 
-#: regcomp.c:138
+#: regcomp.c:139
 msgid "Invalid regular expression"
 msgstr ""
 
-#: regcomp.c:141
+#: regcomp.c:142
 msgid "Invalid collation character"
 msgstr ""
 
-#: regcomp.c:144
+#: regcomp.c:145
 msgid "Invalid character class name"
 msgstr ""
 
-#: regcomp.c:147
+#: regcomp.c:148
 msgid "Trailing backslash"
 msgstr ""
 
-#: regcomp.c:150
+#: regcomp.c:151
 msgid "Invalid back reference"
 msgstr ""
 
-#: regcomp.c:153
+#: regcomp.c:154
 msgid "Unmatched [ or [^"
 msgstr ""
 
-#: regcomp.c:156
+#: regcomp.c:157
 msgid "Unmatched ( or \\("
 msgstr ""
 
-#: regcomp.c:159
+#: regcomp.c:160
 msgid "Unmatched \\{"
 msgstr ""
 
-#: regcomp.c:162
+#: regcomp.c:163
 msgid "Invalid content of \\{\\}"
 msgstr ""
 
-#: regcomp.c:165
+#: regcomp.c:166
 msgid "Invalid range end"
 msgstr ""
 
-#: regcomp.c:168
+#: regcomp.c:169
 msgid "Memory exhausted"
 msgstr ""
 
-#: regcomp.c:171
+#: regcomp.c:172
 msgid "Invalid preceding regular expression"
 msgstr ""
 
-#: regcomp.c:174
+#: regcomp.c:175
 msgid "Premature end of regular expression"
 msgstr ""
 
-#: regcomp.c:177
+#: regcomp.c:178
 msgid "Regular expression too big"
 msgstr ""
 
-#: regcomp.c:180
+#: regcomp.c:181
 msgid "Unmatched ) or \\)"
 msgstr ""
 
-#: regcomp.c:664
+#: regcomp.c:700
 msgid "No previous regular expression"
 msgstr ""
diff -urN gawk-3.1.6/po/he.po gawk-3.1.7/po/he.po
--- gawk-3.1.6/po/he.po	2007-09-30 22:33:26.000000000 +0200
+++ gawk-3.1.7/po/he.po	2009-07-21 23:23:44.000000000 +0300
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gawk 3.1.1a\n"
 "Report-Msgid-Bugs-To: arnold@skeeve.com\n"
-"POT-Creation-Date: 2007-09-30 22:33+0200\n"
+"POT-Creation-Date: 2009-07-21 23:23+0300\n"
 "PO-Revision-Date: 2002-04-28 21:46+0300\n"
 "Last-Translator: Eli Zaretskii <eliz@gnu.org>\n"
 "Language-Team: Hebrew <eliz@gnu.org>\n"
@@ -76,325 +76,330 @@
 msgid "%s: array_ref to %s\n"
 msgstr "%s: %s-� (array_ref) �����\n"
 
-#: awkgram.y:215
+#: awkgram.y:218
 #, fuzzy, c-format
 msgid "%s blocks must have an action part"
 msgstr "����� ����� ����� ���� END ����"
 
-#: awkgram.y:218
+#: awkgram.y:221
 #, fuzzy
 msgid "each rule must have a pattern or an action part"
 msgstr "����� ����� ����� ���� END ����"
 
-#: awkgram.y:254 awkgram.y:263
+#: awkgram.y:257 awkgram.y:266
 #, fuzzy
 msgid "old awk does not support multiple `BEGIN' or `END' rules"
 msgstr "`**' �������� ���� ���� ��� awk"
 
-#: awkgram.y:282
+#: awkgram.y:285
 #, c-format
 msgid "`%s' is a built-in function, it cannot be redefined"
 msgstr "������ �� ����� ��� ,������ ������� ���� `%s'"
 
-#: awkgram.y:328
+#: awkgram.y:331
 #, fuzzy
 msgid "regexp constant `//' looks like a C++ comment, but is not"
 msgstr "���� ���� �� ,C ���� ���� ��� ���� `/%s/' ������ �����"
 
-#: awkgram.y:331
+#: awkgram.y:334
 #, c-format
 msgid "regexp constant `/%s/' looks like a C comment, but is not"
 msgstr "���� ���� �� ,C ���� ���� ��� ���� `/%s/' ������ �����"
 
-#: awkgram.y:358 awkgram.y:653
+#: awkgram.y:361 awkgram.y:656
 msgid "statement may have no effect"
 msgstr "����� ��� ���� �� �� ������� ����"
 
-#: awkgram.y:455 awkgram.y:479
+#: awkgram.y:458 awkgram.y:482
 #, fuzzy, c-format
 msgid "`%s' used in %s action"
 msgstr "END �� BEGIN �� ����� ������ `next'-� �����"
 
-#: awkgram.y:470 awkgram.y:474
+#: awkgram.y:473 awkgram.y:477
 msgid "`nextfile' is a gawk extension"
 msgstr "gawk-� ������� ����� ���� `nextfile'"
 
-#: awkgram.y:489
+#: awkgram.y:492
 msgid "`return' used outside function context"
 msgstr "������� �� �������� ��� `return'-� �����"
 
-#: awkgram.y:531
+#: awkgram.y:534
 msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'"
 msgstr "`print \"\"' ����� ���� �� ���� END �� BEGIN ����� ���� `print'"
 
-#: awkgram.y:547 awkgram.y:555
+#: awkgram.y:550 awkgram.y:558
 msgid "`delete array' is a gawk extension"
 msgstr "gawk-� ������� ����� ���� `delete array'"
 
-#: awkgram.y:569 awkgram.y:577
+#: awkgram.y:572 awkgram.y:580
 #, fuzzy
 msgid "`delete(array)' is a non-portable tawk extension"
 msgstr "gawk-� ������� ����� ���� `delete array'"
 
-#: awkgram.y:621
+#: awkgram.y:624
 #, c-format
 msgid "duplicate case values in switch body: %s"
 msgstr ""
 
-#: awkgram.y:631
+#: awkgram.y:634
 msgid "Duplicate `default' detected in switch body"
 msgstr ""
 
-#: awkgram.y:720
+#: awkgram.y:723
 msgid "multistage two-way pipelines don't work"
 msgstr "������ ���� ����� ����� ��������-�� ������"
 
-#: awkgram.y:811
+#: awkgram.y:814
 msgid "regular expression on right of assignment"
 msgstr "��� ���� ����� �� ���� ��� ������ �����"
 
-#: awkgram.y:834
+#: awkgram.y:824
 msgid "regular expression on left of `~' or `!~' operator"
 msgstr "`!~' �� `~' �������� ����� ������ �����"
 
-#: awkgram.y:840 awkgram.y:913
+#: awkgram.y:830 awkgram.y:903
 #, fuzzy
 msgid "old awk does not support the keyword `in' except after `for'"
 msgstr "`**' �������� ���� ���� ��� awk"
 
-#: awkgram.y:846
+#: awkgram.y:836
 msgid "regular expression on right of comparison"
 msgstr "������ �� ���� ��� ������ �����"
 
-#: awkgram.y:903
+#: awkgram.y:893
 msgid "non-redirected `getline' undefined inside END action"
 msgstr "END ����� ���� ����� ���� ������ ��� `getline'"
 
-#: awkgram.y:914
+#: awkgram.y:904
 #, fuzzy
 msgid "old awk does not support multidimensional arrays"
 msgstr "`**' �������� ���� ���� ��� awk"
 
-#: awkgram.y:960
+#: awkgram.y:950
 msgid "call of `length' without parentheses is not portable"
 msgstr "��������� ���� ������� ��� `length'-� �����"
 
-#: awkgram.y:965
+#: awkgram.y:955
 msgid "call of `length' without parentheses is deprecated by POSIX"
 msgstr "POSIX ���� ������ ���� ������� ��� `length'-� �����"
 
-#: awkgram.y:1019
+#: awkgram.y:1009
 msgid "use of non-array as array"
 msgstr ""
 
-#: awkgram.y:1022
+#: awkgram.y:1012
 msgid "invalid subscript expression"
 msgstr "���� ������ ���� ����� ��� �����"
 
-#: awkgram.y:1249
+#: awkgram.y:1257
 #, fuzzy
 msgid "unexpected newline or end of string"
 msgstr "����-���� ����� ���� ���"
 
-#: awkgram.y:1366
+#: awkgram.y:1374
 msgid "empty program text on command line"
 msgstr "������ ����� ������ ���� �����"
 
-#: awkgram.y:1422
+#: awkgram.y:1430
 #, c-format
 msgid "can't open source file `%s' for reading (%s)"
 msgstr "������ ��� `%s' ���� ���� ������ (%s) ����"
 
-#: awkgram.y:1520
+#: awkgram.y:1528
 #, c-format
 msgid "can't read sourcefile `%s' (%s)"
 msgstr "`%s' ���� ����� ������ (%s) ����"
 
-#: awkgram.y:1528
+#: awkgram.y:1536
 #, c-format
 msgid "source file `%s' is empty"
 msgstr "��� ���� `%s' ���� ����"
 
-#: awkgram.y:1720 awkgram.y:1842 awkgram.y:1860 awkgram.y:2235 awkgram.y:2322
+#: awkgram.y:1728 awkgram.y:1850 awkgram.y:1868 awkgram.y:2243 awkgram.y:2330
 msgid "source file does not end in newline"
 msgstr "����-��� ��� ������ ���� ����� ����"
 
-#: awkgram.y:1782
+#: awkgram.y:1790
 msgid "unterminated regexp ends with `\\' at end of file"
 msgstr "����� ��� `\\'-� ������ ����-���� ������ �����"
 
-#: awkgram.y:1806
+#: awkgram.y:1814
 #, c-format
 msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk"
 msgstr ""
 
-#: awkgram.y:1810
+#: awkgram.y:1818
 #, c-format
 msgid "tawk regex modifier `/.../%c' doesn't work in gawk"
 msgstr ""
 
-#: awkgram.y:1817
+#: awkgram.y:1825
 msgid "unterminated regexp"
 msgstr "����-���� ������ �����"
 
-#: awkgram.y:1820
+#: awkgram.y:1828
 msgid "unterminated regexp at end of file"
 msgstr "����� ���� ����-���� ������ �����"
 
-#: awkgram.y:1889
+#: awkgram.y:1897
 msgid "use of `\\ #...' line continuation is not portable"
 msgstr "�������� ���� ���� ����� ����� `\\ #...'-� �����"
 
-#: awkgram.y:1902
+#: awkgram.y:1910
 msgid "backslash not last character on line"
 msgstr "����� ����� �� ����� ���� �����"
 
-#: awkgram.y:1947
+#: awkgram.y:1955
 msgid "POSIX does not allow operator `**='"
 msgstr "`**=' ������� ���� ���� POSIX"
 
-#: awkgram.y:1949
+#: awkgram.y:1957
 msgid "old awk does not support operator `**='"
 msgstr "`**=' �������� ���� ���� ��� awk"
 
-#: awkgram.y:1958
+#: awkgram.y:1966
 msgid "POSIX does not allow operator `**'"
 msgstr "`**' ������� ���� ���� POSIX"
 
-#: awkgram.y:1960
+#: awkgram.y:1968
 msgid "old awk does not support operator `**'"
 msgstr "`**' �������� ���� ���� ��� awk"
 
-#: awkgram.y:1991
+#: awkgram.y:1999
 msgid "operator `^=' is not supported in old awk"
 msgstr "��� awk-� ���� ���� `^=' �������"
 
-#: awkgram.y:1999
+#: awkgram.y:2007
 msgid "operator `^' is not supported in old awk"
 msgstr "��� awk-� ���� ���� `^' �������"
 
-#: awkgram.y:2083 awkgram.y:2098
+#: awkgram.y:2091 awkgram.y:2106
 msgid "unterminated string"
 msgstr "�����-���� ������"
 
-#: awkgram.y:2283
+#: awkgram.y:2291
 #, c-format
 msgid "invalid char '%c' in expression"
 msgstr "������ '%c' ���� ��"
 
-#: awkgram.y:2331
+#: awkgram.y:2339
 #, c-format
 msgid "`%s' is a gawk extension"
 msgstr "gawk-� ������� ����� ���� `%s'"
 
-#: awkgram.y:2334
+#: awkgram.y:2342
 #, c-format
 msgid "`%s' is a Bell Labs extension"
 msgstr "Bell ������ ����� awk-� ������� ����� ���� `%s'"
 
-#: awkgram.y:2337
+#: awkgram.y:2345
 #, c-format
 msgid "POSIX does not allow `%s'"
 msgstr "`%s' ���� ���� POSIX"
 
-#: awkgram.y:2341
+#: awkgram.y:2349
 #, c-format
 msgid "`%s' is not supported in old awk"
 msgstr "��� awk-� ���� ���� `%s'"
 
-#: awkgram.y:2367
+#: awkgram.y:2375
 msgid "`goto' considered harmful!\n"
 msgstr "!��-��� ���� `goto'\n"
 
-#: awkgram.y:2429
+#: awkgram.y:2437
 #, c-format
 msgid "%d is invalid as number of arguments for %s"
 msgstr "��������� ����� %d ���� ���� ���� %s"
 
-#: awkgram.y:2448 awkgram.y:2451
+#: awkgram.y:2456 awkgram.y:2459
 msgid "match: third argument is a gawk extension"
 msgstr "gawk-� ������� ����� ���� `match' �� ����� �������"
 
-#: awkgram.y:2464
+#: awkgram.y:2472
 #, c-format
 msgid "%s: string literal as last arg of substitute has no effect"
 msgstr "����� ��� �� ��� `%s' �� ����� �������� ����� ������"
 
-#: awkgram.y:2467
+#: awkgram.y:2475
 #, fuzzy, c-format
 msgid "%s third parameter is not a changeable object"
 msgstr "�����-�� ������� ���� `sub' �� ����� �������"
 
-#: awkgram.y:2494 awkgram.y:2497
+#: awkgram.y:2502 awkgram.y:2505
 msgid "close: second argument is a gawk extension"
 msgstr "gawk-� ������� ����� ���� `close' �� ��� �������"
 
-#: awkgram.y:2507
+#: awkgram.y:2515
 msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore"
 msgstr "������� ������ �����-��� ���� �� :dcgettext(_\"...\")-� ���� �����"
 
-#: awkgram.y:2522
+#: awkgram.y:2530
 msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore"
 msgstr "������� ������ �����-��� ���� �� :dncgettext(_\"...\")-� ���� �����"
 
-#: awkgram.y:2594
+#: awkgram.y:2602
 #, c-format
 msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d"
 msgstr "`%s' �������� %d '�� ������ ��� ,`%s' ,%d '�� ����� �� ���"
 
-#: awkgram.y:2627
+#: awkgram.y:2635
 #, c-format
 msgid "function `%s': parameter `%s' shadows global variable"
 msgstr "������ ����� �� ����� `%s' �������� `%s' �����"
 
-#: awkgram.y:2739
+#: awkgram.y:2747
 #, c-format
 msgid "could not open `%s' for writing (%s)"
 msgstr "����� ��� `%s' ������ (%s) ����"
 
-#: awkgram.y:2740 profile.c:94
+#: awkgram.y:2748 profile.c:95
 msgid "sending profile to standard error"
 msgstr "���� ������ ����� ���� ����� ������"
 
-#: awkgram.y:2772
+#: awkgram.y:2780
 #, c-format
 msgid "%s: close failed (%s)"
 msgstr "`%s' ����� ��� (%s) ����"
 
-#: awkgram.y:2893
+#: awkgram.y:2901
 msgid "shadow_funcs() called twice!"
 msgstr "!������ ����� shadow_funcs()"
 
-#: awkgram.y:2920
+#: awkgram.y:2928
 msgid "there were shadowed variables."
 msgstr ""
 
-#: awkgram.y:2993
+#: awkgram.y:3001
 #, c-format
 msgid "function `%s': can't use function name as parameter name"
 msgstr "����� ��� ���� ���� ���� ������� �� :`%s' ��������"
 
-#: awkgram.y:3003
+#: awkgram.y:3004
+#, fuzzy, c-format
+msgid "function `%s': can't use special variable `%s' as a function parameter"
+msgstr "����� ��� ���� ���� ���� ������� �� :`%s' ��������"
+
+#: awkgram.y:3014
 #, c-format
 msgid "function name `%s' previously defined"
 msgstr "������ ��� `%s' ��� �������"
 
-#: awkgram.y:3154 awkgram.y:3160
+#: awkgram.y:3165 awkgram.y:3171
 #, c-format
 msgid "function `%s' called but never defined"
 msgstr "������ ����� `%s' �������� �����"
 
-#: awkgram.y:3163
+#: awkgram.y:3174
 #, c-format
 msgid "function `%s' defined but never called"
 msgstr "����� �� �� ,������ `%s' �������"
 
-#: awkgram.y:3190
+#: awkgram.y:3201
 #, c-format
 msgid "regexp constant for parameter #%d yields boolean value"
 msgstr "������� ��� ���� %d '�� ������ ���� ������ �����"
 
-#: awkgram.y:3234
+#: awkgram.y:3245
 #, fuzzy, c-format
 msgid ""
 "function `%s' called with space between name and `(',\n"
@@ -403,502 +408,527 @@
 ",`(' ���� ��� ��� ������ �� `%s' �������� �����\n"
 "%s"
 
-#: builtin.c:119
+#: awkgram.y:3667 eval.c:1394
+#, c-format
+msgid "division by zero attempted in `%%'"
+msgstr "`%%'-� ���� ����� �����"
+
+#: builtin.c:122
 #, c-format
 msgid "%s to \"%s\" failed (%s)"
 msgstr "%s �\"� \"%s\"-� ������ (%s) ����"
 
-#: builtin.c:120
+#: builtin.c:123
 msgid "standard output"
 msgstr "�������� ��� �����"
 
-#: builtin.c:121
+#: builtin.c:124
 msgid "reason unknown"
 msgstr "�����-���� �����"
 
-#: builtin.c:134
+#: builtin.c:137
 msgid "exp: received non-numeric argument"
 msgstr "���� ���� ������� :exp"
 
-#: builtin.c:140
+#: builtin.c:143
 #, c-format
 msgid "exp: argument %g is out of range"
 msgstr "����� ����� ���� %g ������� :exp"
 
-#: builtin.c:198
+#: builtin.c:201
 #, c-format
 msgid "fflush: cannot flush: pipe `%s' opened for reading, not writing"
 msgstr "������ �� ,������ ���� `%s' ���� :����� ����� ���� �� :fflush"
 
-#: builtin.c:201
+#: builtin.c:204
 #, c-format
 msgid "fflush: cannot flush: file `%s' opened for reading, not writing"
 msgstr "������ �� ,������ ���� `%s' ���� :����� ����� ���� �� :fflush"
 
-#: builtin.c:213
+#: builtin.c:216
 #, c-format
 msgid "fflush: `%s' is not an open file, pipe or co-process"
 msgstr "����� ����� �� ���� ���� ,���� ���� ���� `%s' :fflush"
 
-#: builtin.c:306
+#: builtin.c:310
 msgid "index: received non-string first argument"
 msgstr "������ ���� ����� ������� :index"
 
-#: builtin.c:308
+#: builtin.c:312
 msgid "index: received non-string second argument"
 msgstr "������ ���� ��� ������� :index"
 
-#: builtin.c:423
+#: builtin.c:434
 msgid "int: received non-numeric argument"
 msgstr "���� ���� ������� :int"
 
-#: builtin.c:448
+#: builtin.c:464
 #, fuzzy
 msgid "`length(array)' is a gawk extension"
 msgstr "gawk-� ������� ����� ���� `delete array'"
 
-#: builtin.c:458
+#: builtin.c:473
+msgid "length: untyped argument will be forced to scalar"
+msgstr ""
+
+#: builtin.c:477
 msgid "length: received non-string argument"
 msgstr "������ ���� ������� :length"
 
-#: builtin.c:483
+#: builtin.c:508
 msgid "log: received non-numeric argument"
 msgstr "���� ���� ������� :log"
 
-#: builtin.c:486
+#: builtin.c:511
 #, c-format
 msgid "log: received negative argument %g"
 msgstr "%g ����� ������� �� ���� :log"
 
-#: builtin.c:693 builtin.c:696
+#: builtin.c:719 builtin.c:722
 msgid "must use `count$' on all formats or none"
 msgstr "��� ��� �� �������� ��� �� ���� `count$'-� �����"
 
-#: builtin.c:799
+#: builtin.c:783
+#, c-format
+msgid "field width is ignored for `%%%%' specifier"
+msgstr ""
+
+#: builtin.c:785
+#, c-format
+msgid "precision is ignored for `%%%%' specifier"
+msgstr ""
+
+#: builtin.c:787
+#, c-format
+msgid "field width and precision are ignored for `%%%%' specifier"
+msgstr ""
+
+#: builtin.c:838
 msgid "`$' is not permitted in awk formats"
 msgstr "awk �� �������� ������ ���� `$'"
 
-#: builtin.c:805
+#: builtin.c:844
 msgid "arg count with `$' must be > 0"
 msgstr "0-� ���� ����� ���� `$' ��� �������� ����"
 
-#: builtin.c:807
+#: builtin.c:846
 #, fuzzy, c-format
 msgid "arg count %ld greater than total number of supplied arguments"
 msgstr "���������� �� ����� ������ ���� %d �������� ����"
 
-#: builtin.c:809
+#: builtin.c:848
 msgid "`$' not permitted after period in format"
 msgstr "������ ������ ���� ������ ���� ���� `$'"
 
-#: builtin.c:822
+#: builtin.c:861
 msgid "no `$' supplied for positional field width or precision"
 msgstr "����� �� ��� ���� ������ �������� ���� ���� `$' ���� ��"
 
-#: builtin.c:888
+#: builtin.c:927
 msgid "`l' is meaningless in awk formats; ignored"
 msgstr "����� ;awk �� ������ ������ ��� ���� `l'"
 
-#: builtin.c:892
+#: builtin.c:931
 msgid "`l' is not permitted in POSIX awk formats"
 msgstr "POSIX ��-�� awk �� ������ ������ ���� ���� `l'"
 
-#: builtin.c:903
+#: builtin.c:942
 msgid "`L' is meaningless in awk formats; ignored"
 msgstr "����� ;awk �� ������ ������ ��� ���� `L'"
 
-#: builtin.c:907
+#: builtin.c:946
 msgid "`L' is not permitted in POSIX awk formats"
 msgstr "POSIX ��-�� awk �� ������ ������ ���� ���� `L'"
 
-#: builtin.c:918
+#: builtin.c:957
 msgid "`h' is meaningless in awk formats; ignored"
 msgstr "����� ;awk �� ������ ������ ��� ���� `h'"
 
-#: builtin.c:922
+#: builtin.c:961
 msgid "`h' is not permitted in POSIX awk formats"
 msgstr "POSIX ��-�� awk �� ������ ������ ���� ���� `h'"
 
-#: builtin.c:1182
+#: builtin.c:1236
 #, c-format
 msgid "[s]printf: value %g is out of range for `%%%c' format"
 msgstr ""
 
-#: builtin.c:1266
+#: builtin.c:1316
+#, c-format
+msgid "ignoring unknown format specifier character `%c': no argument converted"
+msgstr ""
+
+#: builtin.c:1322
 msgid "not enough arguments to satisfy format string"
 msgstr "������ ���� ��������� ����� ���"
 
-#: builtin.c:1268
+#: builtin.c:1324
 msgid "^ ran out for this one"
 msgstr "^ ���������� �� ����� ���"
 
-#: builtin.c:1274
+#: builtin.c:1330
 msgid "[s]printf: format specifier does not have control letter"
 msgstr "����� ���� ��� ���� ���� ������ :[s]printf"
 
-#: builtin.c:1277
+#: builtin.c:1333
 msgid "too many arguments supplied for format string"
 msgstr "������ ���� ��������� ��� ����"
 
-#: builtin.c:1352 builtin.c:1355
+#: builtin.c:1408 builtin.c:1411
 msgid "printf: no arguments"
 msgstr "������� �� ��� :printf"
 
-#: builtin.c:1379
+#: builtin.c:1435
 msgid "sqrt: received non-numeric argument"
 msgstr "���� ���� ������� :sqrt"
 
-#: builtin.c:1383
+#: builtin.c:1439
 #, c-format
 msgid "sqrt: called with negative argument %g"
 msgstr "%g ����� ������� �� ���� :sqrt"
 
-#: builtin.c:1407
+#: builtin.c:1463
 #, c-format
 msgid "substr: start index %g is invalid, using 1"
 msgstr "1-� ����� ,���� ���� %g ����� ����� :substr"
 
-#: builtin.c:1412
+#: builtin.c:1468
 #, c-format
 msgid "substr: non-integer start index %g will be truncated"
 msgstr "����� ,��� ���� �����, %g ����� ����� �� ���� :substr"
 
-#: builtin.c:1431
+#: builtin.c:1494
 #, fuzzy, c-format
 msgid "substr: length %g is not >= 1"
 msgstr "0-� ���� ���� ����� %g ���� :substr"
 
-#: builtin.c:1433
+#: builtin.c:1496
 #, fuzzy, c-format
 msgid "substr: length %g is not >= 0"
 msgstr "0-� ���� ���� ����� %g ���� :substr"
 
-#: builtin.c:1440
+#: builtin.c:1503
 #, c-format
 msgid "substr: non-integer length %g will be truncated"
 msgstr "����� ,��� ���� ����� ,%g ���� :substr"
 
-#: builtin.c:1445
+#: builtin.c:1508
 #, c-format
 msgid "substr: length %g too big for string indexing, truncating to %g"
 msgstr ""
 
-#: builtin.c:1457
+#: builtin.c:1520
 msgid "substr: source string is zero length"
 msgstr "��� ����� ���� ����� ������ :substr"
 
-#: builtin.c:1473
+#: builtin.c:1536
 #, fuzzy, c-format
 msgid "substr: start index %g is past end of string"
 msgstr "������� ���� ���� ���� %d ����� ����� :substr"
 
-#: builtin.c:1481
+#: builtin.c:1544
 #, fuzzy, c-format
 msgid ""
 "substr: length %g at start index %g exceeds length of first argument (%lu)"
 msgstr ""
 "%d ������ %d ������ ������� ������-��� ����� ���� (%d) ������ ���� :substr"
 
-#: builtin.c:1558
+#: builtin.c:1621
 msgid "strftime: received non-string first argument"
 msgstr "������ ���� ����� ������� :strftime"
 
-#: builtin.c:1564
+#: builtin.c:1627
 msgid "strftime: received empty format string"
 msgstr "���� ����� ������ :strftime"
 
-#: builtin.c:1573
+#: builtin.c:1636
 msgid "strftime: received non-numeric second argument"
 msgstr "���� ���� ��� ������� :strftime"
 
-#: builtin.c:1650
+#: builtin.c:1713
 msgid "mktime: received non-string argument"
 msgstr "������ ���� ������� :mktime"
 
-#: builtin.c:1695
+#: builtin.c:1758
 msgid "system: received non-string argument"
 msgstr "������ ���� ������� :system"
 
-#: builtin.c:1816 eval.c:2041
+#: builtin.c:1879 eval.c:2145
 #, fuzzy, c-format
 msgid "reference to uninitialized field `$%d'"
 msgstr "`%s' �����-���� ������ �����"
 
-#: builtin.c:1921
+#: builtin.c:1984
 msgid "tolower: received non-string argument"
 msgstr "������ ���� ������� :tolower"
 
-#: builtin.c:1951
+#: builtin.c:2014
 msgid "toupper: received non-string argument"
 msgstr "������ ���� ������� :toupper"
 
-#: builtin.c:1984
+#: builtin.c:2047
 msgid "atan2: received non-numeric first argument"
 msgstr "���� ���� ����� ������� :atan2"
 
-#: builtin.c:1986
+#: builtin.c:2049
 msgid "atan2: received non-numeric second argument"
 msgstr "���� ���� ��� ������� :atan2"
 
-#: builtin.c:2005
+#: builtin.c:2068
 msgid "sin: received non-numeric argument"
 msgstr "���� ���� ������� :sin"
 
-#: builtin.c:2021
+#: builtin.c:2084
 msgid "cos: received non-numeric argument"
 msgstr "���� ���� ������� :cos"
 
-#: builtin.c:2071
+#: builtin.c:2137
 msgid "srand: received non-numeric argument"
 msgstr "���� ���� ������� :srand"
 
-#: builtin.c:2106
+#: builtin.c:2172
 msgid "match: third argument is not an array"
 msgstr "���� ���� ����� ������� :match"
 
-#: builtin.c:2650
+#: builtin.c:2719
+#, fuzzy
 msgid "gensub: third argument of 0 treated as 1"
 msgstr "1-� ����� 0 ����� ����� ������� :gensub"
 
-#: builtin.c:2766
+#: builtin.c:2835
 msgid "lshift: received non-numeric first argument"
 msgstr "���� ���� ����� ������� :lshift"
 
-#: builtin.c:2768
+#: builtin.c:2837
 #, fuzzy
 msgid "lshift: received non-numeric second argument"
 msgstr "���� ���� ��� ������� :strftime"
 
-#: builtin.c:2774
+#: builtin.c:2843
 #, c-format
 msgid "lshift(%lf, %lf): negative values will give strange results"
 msgstr "������-���� ������ ����� ������� ����� :lshift(%lf, %lf)"
 
-#: builtin.c:2776
+#: builtin.c:2845
 #, c-format
 msgid "lshift(%lf, %lf): fractional values will be truncated"
 msgstr "������ ������ ����� :lshift(%lf, %lf)"
 
-#: builtin.c:2778
+#: builtin.c:2847
 #, c-format
 msgid "lshift(%lf, %lf): too large shift value will give strange results"
 msgstr "������-���� ������ ���� ��� ���� ���� ����� :lshift(%lf, %lf)"
 
-#: builtin.c:2804
+#: builtin.c:2873
 msgid "rshift: received non-numeric first argument"
 msgstr "���� ���� ����� ������� :rshift"
 
-#: builtin.c:2806
+#: builtin.c:2875
 #, fuzzy
 msgid "rshift: received non-numeric second argument"
 msgstr "���� ���� ��� ������� :strftime"
 
-#: builtin.c:2812
+#: builtin.c:2881
 #, c-format
 msgid "rshift(%lf, %lf): negative values will give strange results"
 msgstr "������-���� ������ ����� ������� ����� :rshift(%lf, %lf)"
 
-#: builtin.c:2814
+#: builtin.c:2883
 #, c-format
 msgid "rshift(%lf, %lf): fractional values will be truncated"
 msgstr "������ ������ ����� :rshift(%lf, %lf)"
 
-#: builtin.c:2816
+#: builtin.c:2885
 #, c-format
 msgid "rshift(%lf, %lf): too large shift value will give strange results"
 msgstr "������-���� ������ ���� ��� ���� ���� ����� :rshift(%lf, %lf)"
 
-#: builtin.c:2842
+#: builtin.c:2911
 msgid "and: received non-numeric first argument"
 msgstr "���� ���� ����� ������� :and"
 
-#: builtin.c:2844
+#: builtin.c:2913
 #, fuzzy
 msgid "and: received non-numeric second argument"
 msgstr "���� ���� ��� ������� :atan2"
 
-#: builtin.c:2850
+#: builtin.c:2919
 #, c-format
 msgid "and(%lf, %lf): negative values will give strange results"
 msgstr "������-���� ������ ����� ������� ����� :and(%lf, %lf)"
 
-#: builtin.c:2852
+#: builtin.c:2921
 #, c-format
 msgid "and(%lf, %lf): fractional values will be truncated"
 msgstr "������ ������ ����� :and(%lf, %lf)"
 
-#: builtin.c:2878
+#: builtin.c:2947
 msgid "or: received non-numeric first argument"
 msgstr "���� ���� ����� ������� :or"
 
-#: builtin.c:2880
+#: builtin.c:2949
 #, fuzzy
 msgid "or: received non-numeric second argument"
 msgstr "���� ���� ��� ������� :atan2"
 
-#: builtin.c:2886
+#: builtin.c:2955
 #, c-format
 msgid "or(%lf, %lf): negative values will give strange results"
 msgstr "������-���� ������ ����� ������� ����� :or(%lf, %lf)"
 
-#: builtin.c:2888
+#: builtin.c:2957
 #, c-format
 msgid "or(%lf, %lf): fractional values will be truncated"
 msgstr "������ ������ ����� :or(%lf, %lf)"
 
-#: builtin.c:2914
+#: builtin.c:2983
 msgid "xor: received non-numeric first argument"
 msgstr "���� ���� ����� ������� :xor"
 
-#: builtin.c:2916
+#: builtin.c:2985
 #, fuzzy
 msgid "xor: received non-numeric second argument"
 msgstr "���� ���� ��� ������� :atan2"
 
-#: builtin.c:2922
+#: builtin.c:2991
 #, c-format
 msgid "xor(%lf, %lf): negative values will give strange results"
 msgstr "������-���� ������ ����� ������� ����� :xor(%lf, %lf)"
 
-#: builtin.c:2924
+#: builtin.c:2993
 #, c-format
 msgid "xor(%lf, %lf): fractional values will be truncated"
 msgstr "������ ������ ����� :xor(%lf, %lf)"
 
-#: builtin.c:2948
+#: builtin.c:3017
 msgid "compl: received non-numeric argument"
 msgstr "���� ���� ������� :compl"
 
-#: builtin.c:2954
+#: builtin.c:3023
 #, c-format
 msgid "compl(%lf): negative value will give strange results"
 msgstr "������-���� ������ ���� ����� ��� :compl(%lf)"
 
-#: builtin.c:2956
+#: builtin.c:3025
 #, c-format
 msgid "compl(%lf): fractional value will be truncated"
 msgstr "����� ���� ��� :compl(%lf)"
 
-#: builtin.c:3129
+#: builtin.c:3198
 #, c-format
 msgid "dcgettext: `%s' is not a valid locale category"
 msgstr "����� ����� �������� ���� `%s' :dcgettext"
 
-#: eval.c:303
+#: eval.c:372
 #, c-format
 msgid "unknown nodetype %d"
 msgstr "%d �����-���� ��� ��� node"
 
-#: eval.c:353
+#: eval.c:422
 msgid "buffer overflow in genflags2str"
 msgstr "genflags2str-� ���� �����"
 
-#: eval.c:385 eval.c:391 profile.c:817
+#: eval.c:454 eval.c:460 profile.c:781
 #, c-format
 msgid "attempt to use array `%s' in a scalar context"
 msgstr "����� ����� �������� `%s' ����� ����� �����"
 
-#: eval.c:733
+#: eval.c:802
 #, fuzzy, c-format
 msgid "for loop: array `%s' changed size from %ld to %ld during loop execution"
 msgstr "(`%s' ����) ������ ����� ����� %d-� %d-� ���� ���� �� ����� :for �����"
 
-#: eval.c:754
+#: eval.c:823
 msgid "`break' outside a loop is not portable"
 msgstr "�������� ���� ������ ���� `break'"
 
-#: eval.c:758
+#: eval.c:827
 msgid "`break' outside a loop is not allowed"
 msgstr "������ ���� `break'-� ������ ���"
 
-#: eval.c:775
+#: eval.c:844
 msgid "`continue' outside a loop is not portable"
 msgstr "�������� ���� ������ ���� `continue'"
 
-#: eval.c:779
+#: eval.c:848
 msgid "`continue' outside a loop is not allowed"
 msgstr "������ ���� `continue'-� ������ ���"
 
-#: eval.c:813
+#: eval.c:882
 msgid "`next' cannot be called from a BEGIN rule"
 msgstr "BEGIN ���� ���� `next'-� ����� ���"
 
-#: eval.c:815
+#: eval.c:884
 msgid "`next' cannot be called from an END rule"
 msgstr "END ���� ���� `next'-� ����� ���"
 
-#: eval.c:824
+#: eval.c:893
 msgid "`nextfile' cannot be called from a BEGIN rule"
 msgstr "BEGIN ���� ���� `nextfile'-� ����� ���"
 
-#: eval.c:826
+#: eval.c:895
 msgid "`nextfile' cannot be called from an END rule"
 msgstr "END ���� ���� `nextfile'-� ����� ���"
 
-#: eval.c:875
+#: eval.c:952
 msgid "statement has no effect"
 msgstr "�����-����� �����"
 
-#: eval.c:952 eval.c:1895
+#: eval.c:1029 eval.c:1999
 #, c-format
 msgid "can't use function name `%s' as variable or array"
 msgstr "���� �� ������ `%s' ������� ��� ������ ���"
 
-#: eval.c:959 eval.c:965
+#: eval.c:1036 eval.c:1042
 #, c-format
 msgid "reference to uninitialized argument `%s'"
 msgstr "`%s' �����-���� �������� �����"
 
-#: eval.c:974 eval.c:1904
+#: eval.c:1051 eval.c:2008
 #, c-format
 msgid "reference to uninitialized variable `%s'"
 msgstr "`%s' �����-���� ������ �����"
 
-#: eval.c:1120
+#: eval.c:1197
 msgid ""
 "concatenation: side effects in one expression have changed the length of "
 "another!"
 msgstr ""
 "!��� ����� �� ����� ������ ���� ��� ����� ����� �� ����-������ :concatenation"
 
-#: eval.c:1202
+#: eval.c:1301
 msgid "assignment used in conditional context"
 msgstr "���� �� �������� ����� �����"
 
-#: eval.c:1280
+#: eval.c:1379
 msgid "division by zero attempted"
 msgstr "���� ����� �����"
 
-#: eval.c:1295
-#, c-format
-msgid "division by zero attempted in `%%'"
-msgstr "`%%'-� ���� ����� �����"
-
-#: eval.c:1310 profile.c:693
+#: eval.c:1409 profile.c:657
 #, c-format
 msgid "illegal type (%s) in tree_eval"
 msgstr "tree_eval-� (%s) ���� ���"
 
-#: eval.c:1473
+#: eval.c:1572
 msgid "division by zero attempted in `/='"
 msgstr "`/='-� ���� ����� �����"
 
-#: eval.c:1495
+#: eval.c:1594
 #, c-format
 msgid "division by zero attempted in `%%='"
 msgstr "`%%='-� ���� ����� �����"
 
-#: eval.c:1760
+#: eval.c:1859
 #, c-format
 msgid "function `%s' called with more arguments than declared"
 msgstr "������� ���� ��������� ���� �� `%s' �������� �����"
 
-#: eval.c:1804
+#: eval.c:1904
 #, c-format
 msgid "function `%s' not defined"
 msgstr "������ ���� `%s' �������"
 
-#: eval.c:1867
+#: eval.c:1971
 #, c-format
 msgid ""
 "\n"
@@ -909,42 +939,47 @@
 "\t# :��������� ������� ������\n"
 "\n"
 
-#: eval.c:1870
+#: eval.c:1974
 #, c-format
 msgid "\t# -- main --\n"
 msgstr "\t# -- main --\n"
 
-#: eval.c:2025
+#: eval.c:2129
 msgid "attempt to field reference from non-numeric value"
 msgstr "���� ����� ��� ������� ���� ����� �����"
 
-#: eval.c:2027
+#: eval.c:2131
 msgid "attempt to reference from null string"
 msgstr "���� ������ ������� ���� ����� �����"
 
-#: eval.c:2033
+#: eval.c:2137
 #, c-format
 msgid "attempt to access field %d"
 msgstr "%d '�� ���� ���� �����"
 
-#: eval.c:2054 eval.c:2061 profile.c:914
+#: eval.c:2158 eval.c:2165 profile.c:836
 msgid "assignment is not allowed to result of builtin function"
 msgstr "������ ������� �� ������ ��� ����� ���"
 
-#: eval.c:2125
+#: eval.c:2229
 msgid "`IGNORECASE' is a gawk extension"
 msgstr "gawk-� ������� ����� ���� `IGNORECASE'"
 
-#: eval.c:2155
+#: eval.c:2258
 msgid "`BINMODE' is a gawk extension"
 msgstr "gawk-� ������� ����� ���� `BINMODE'"
 
-#: eval.c:2277
+#: eval.c:2316
+#, c-format
+msgid "BINMODE value `%s' is invalid, treated as 3"
+msgstr ""
+
+#: eval.c:2406
 #, c-format
 msgid "bad `%sFMT' specification `%s'"
 msgstr "����� `%sFMT' ����� ���� `%s'"
 
-#: eval.c:2355
+#: eval.c:2484
 msgid "turning off `--lint' due to assignment to `LINT'"
 msgstr "`LINT'-� ��� ���� ��� `--lint' ����"
 
@@ -1019,556 +1054,562 @@
 msgid "NF set to negative value"
 msgstr "����� ��� ���� NF"
 
-#: field.c:823
+#: field.c:875
 msgid "split: second argument is not an array"
 msgstr "���� ���� `split' �� ���� ��������"
 
-#: field.c:857
+#: field.c:909
 msgid "split: null string for third arg is a gawk extension"
 msgstr "gawk-� ������� ����� ���� `split'-� ����� �������� ������ ������"
 
-#: field.c:909
+#: field.c:961
 msgid "`FIELDWIDTHS' is a gawk extension"
 msgstr "gawk-� ������� ����� ���� `FIELDWIDTHS'"
 
-#: field.c:939 field.c:953
+#: field.c:991 field.c:1005
 #, c-format
 msgid "invalid FIELDWIDTHS value, near `%s'"
 msgstr ""
 
-#: field.c:1036
+#: field.c:1088
 msgid "null string for `FS' is a gawk extension"
 msgstr "gawk-� ������� ����� ���� `FS'-� ������ ������"
 
-#: field.c:1040
+#: field.c:1092
 #, fuzzy
 msgid "old awk does not support regexps as value of `FS'"
 msgstr "`**' �������� ���� ���� ��� awk"
 
 # The way the leading "%s:" is translated is a terrible kludge,
 # but what can I do?  FIXME.
-#: getopt.c:571 getopt.c:587
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
+#: getopt.c:570 getopt.c:586
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
 msgstr "%s ����� ���� �����-�� ���� `%s' ������\n"
 
-#: getopt.c:620 getopt.c:624
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
+#: getopt.c:619 getopt.c:623
+#, fuzzy, c-format
+msgid "%s: option '--%s' doesn't allow an argument\n"
 msgstr "%s ����� ���� ������� ���� ���� `--%s' ������\n"
 
-#: getopt.c:633 getopt.c:638
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
+#: getopt.c:632 getopt.c:637
+#, fuzzy, c-format
+msgid "%s: option '%c%s' doesn't allow an argument\n"
 msgstr "%s ����� ���� ������� ���� ���� `%c%s' ������\n"
 
-#: getopt.c:681 getopt.c:700 getopt.c:1016 getopt.c:1035
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
+#: getopt.c:680 getopt.c:699 getopt.c:1002 getopt.c:1021
+#, fuzzy, c-format
+msgid "%s: option '%s' requires an argument\n"
 msgstr "%s ����� ���� ������� ����� `%s' ������\n"
 
-#: getopt.c:738 getopt.c:741
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
+#: getopt.c:737 getopt.c:740
+#, fuzzy, c-format
+msgid "%s: unrecognized option '--%s'\n"
 msgstr "%s ����� ���� `--%s' �����-���� ������\n"
 
-#: getopt.c:749 getopt.c:752
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
+#: getopt.c:748 getopt.c:751
+#, fuzzy, c-format
+msgid "%s: unrecognized option '%c%s'\n"
 msgstr "%s ����� ���� `%c%s' �����-���� ������\n"
 
-# "Illegal" is against GNU coding standards, but since Posix requires
-# it (see the comment below), let's say that in Hebrew as well...
-#: getopt.c:804 getopt.c:807
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: ����-���� ������ -- %c\n"
-
-#: getopt.c:813 getopt.c:816
-#, c-format
-msgid "%s: invalid option -- %c\n"
+#: getopt.c:800 getopt.c:803
+#, fuzzy, c-format
+msgid "%s: invalid option -- '%c'\n"
 msgstr "%s ����� ���� ���� ������ -- %c\n"
 
-#: getopt.c:868 getopt.c:884 getopt.c:1088 getopt.c:1106 main.c:461
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
+#: getopt.c:853 getopt.c:870 getopt.c:1073 getopt.c:1091
+#, fuzzy, c-format
+msgid "%s: option requires an argument -- '%c'\n"
 msgstr "%s: ������� ����� ������ -- %c\n"
 
-#: getopt.c:937 getopt.c:953
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
+#: getopt.c:923 getopt.c:939
+#, fuzzy, c-format
+msgid "%s: option '-W %s' is ambiguous\n"
 msgstr "%s ����� ���� �����-�� ���� `-W %s' ������\n"
 
-#: getopt.c:977 getopt.c:995
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
+#: getopt.c:963 getopt.c:981
+#, fuzzy, c-format
+msgid "%s: option '-W %s' doesn't allow an argument\n"
 msgstr "%s ����� ���� ������� ���� ���� `-W %s' ������\n"
 
-#: io.c:345
+#: io.c:322 io.c:352
 #, c-format
 msgid "cannot open file `%s' for reading (%s)"
 msgstr "������ ��� `%s' ���� ������ (%s) ����"
 
-#: io.c:436
+#: io.c:443
 #, c-format
 msgid "close of fd %d (`%s') failed (%s)"
 msgstr "(%d ���/��� ����) `%s' ������ (%s) ����"
 
-#: io.c:575
+#: io.c:583
 #, c-format
 msgid "invalid tree type %s in redirect()"
 msgstr "redirect() �������� %s ���� �� ���"
 
-#: io.c:581
+#: io.c:589
 #, c-format
 msgid "expression in `%s' redirection only has numeric value"
 msgstr "���� ����� ��� ���� `%s' ���/��� ������� �����"
 
-#: io.c:587
+#: io.c:595
 #, c-format
 msgid "expression for `%s' redirection has null string value"
 msgstr "���� ������ ���� `%s' ���/��� ������� �����"
 
-#: io.c:592
+#: io.c:600
 #, c-format
 msgid "filename `%s' for `%s' redirection may be result of logical expression"
 msgstr "���� ����� �� ����� ����� ���� `%s' ���� �� `%s' ���/��� �������"
 
-#: io.c:630
+#: io.c:638
 #, c-format
 msgid "unnecessary mixing of `>' and `>>' for file `%.*s'"
 msgstr "`%.*s' ���� ���� `>>'-� ��� `>'-� �� ����� �����"
 
-#: io.c:682
+#: io.c:685
 #, c-format
 msgid "can't open pipe `%s' for output (%s)"
 msgstr "��� ����� `%s' ���� ������ (%s) ����"
 
-#: io.c:691
+#: io.c:694
 #, c-format
 msgid "can't open pipe `%s' for input (%s)"
 msgstr "��� ����� `%s' ���� ������ (%s) ����"
 
-#: io.c:698 io.c:1448
-#, c-format
-msgid "file `%s' is a directory"
-msgstr "����� ���� `%s' ����"
-
-#: io.c:706
+#: io.c:712
 #, c-format
 msgid "can't open two way socket `%s' for input/output (%s)"
 msgstr "���/��� ����� ������-�� (socket) ���� `%s' ������ (%s) ����"
 
-#: io.c:710
+#: io.c:716
 #, c-format
 msgid "can't open two way pipe `%s' for input/output (%s)"
 msgstr "���/��� ����� ������-�� (pipe) ����� `%s' ������ (%s) ����"
 
-#: io.c:786
+#: io.c:793
 #, c-format
 msgid "can't redirect from `%s' (%s)"
 msgstr "`%s'-� ������� (%s) ����"
 
-#: io.c:789
+#: io.c:796
 #, c-format
 msgid "can't redirect to `%s' (%s)"
 msgstr "`%s' �� ������� (%s) ����"
 
-#: io.c:828
+#: io.c:849
 msgid ""
 "reached system limit for open files: starting to multiplex file descriptors"
 msgstr "���/��� ����� ����� ����� ;������ ����� ���� �� ����� ������ ����"
 
-#: io.c:844
+#: io.c:865
 #, c-format
 msgid "close of `%s' failed (%s)."
 msgstr "`%s' ������ (%s) ����"
 
-#: io.c:852
+#: io.c:873
 msgid "too many pipes or input files open"
 msgstr "�����-�� ������ ��� ���� �� (pipes) ������ ��� ����"
 
-#: io.c:875
+#: io.c:896
 msgid "close: second argument must be `to' or `from'"
 msgstr "`from' �� `to' ����� ���� `close' �� ���� ��������"
 
-#: io.c:889
+#: io.c:910
 #, c-format
 msgid "close: `%.*s' is not an open file, pipe or co-process"
 msgstr "����� ����� �� ���� ���� ,���� ���� ���� `%.*s' :close"
 
-#: io.c:893
+#: io.c:915
 msgid "close of redirection that was never opened"
 msgstr "����� ����� ��� ������ �����"
 
-#: io.c:989
+#: io.c:1012
 #, c-format
 msgid "close: redirection `%s' not opened with `|&', second argument ignored"
 msgstr "����� ���� �������� ,`|&' �\"� ����� �� `%s' ������"
 
-#: io.c:1005
+#: io.c:1028
 #, c-format
 msgid "failure status (%d) on pipe close of `%s' (%s)"
 msgstr "(%d ���� ���) `%s'-� ���� ������ (%s) ����"
 
-#: io.c:1008
+#: io.c:1031
 #, c-format
 msgid "failure status (%d) on file close of `%s' (%s)"
 msgstr "(%d ���� ���) `%s' ���� ������ (%s) ����"
 
-#: io.c:1028
+#: io.c:1051
 #, c-format
 msgid "no explicit close of socket `%s' provided"
 msgstr "������ ���� �� (socket) `%s' ���"
 
-#: io.c:1031
+#: io.c:1054
 #, c-format
 msgid "no explicit close of co-process `%s' provided"
 msgstr "������ ���� �� (co-process) `%s' ����� �����"
 
-#: io.c:1034
+#: io.c:1057
 #, c-format
 msgid "no explicit close of pipe `%s' provided"
 msgstr "������ ���� �� (pipe) `%s' ����"
 
-#: io.c:1037
+#: io.c:1060
 #, c-format
 msgid "no explicit close of file `%s' provided"
 msgstr "������ ���� �� `%s' ����"
 
-#: io.c:1066 io.c:1121 main.c:749 main.c:791
+#: io.c:1088 io.c:1143 main.c:776 main.c:818
 #, c-format
 msgid "error writing standard output (%s)"
 msgstr "���� ��� ����� ������ (%s) ����"
 
-#: io.c:1070 io.c:1126
+#: io.c:1092 io.c:1148
 #, c-format
 msgid "error writing standard error (%s)"
 msgstr "���� ������ ����� ������ (%s) ����"
 
-#: io.c:1078
+#: io.c:1100
 #, c-format
 msgid "pipe flush of `%s' failed (%s)."
 msgstr "`%s'-� ���� �� ���� ������ (%s) ����"
 
-#: io.c:1081
+#: io.c:1103
 #, c-format
 msgid "co-process flush of pipe to `%s' failed (%s)."
 msgstr "`%s'-� ����� ����� ���� �� ���� ������ (%s) ����"
 
-#: io.c:1084
+#: io.c:1106
 #, c-format
 msgid "file flush of `%s' failed (%s)."
 msgstr "`%s' �� ���� ����� ���� ������ (%s) ����"
 
-#: io.c:1198
+#: io.c:1220
 #, fuzzy, c-format
 msgid "local port %s invalid in `/inet'"
 msgstr "`%s'-� ����� ������ �����"
 
-#: io.c:1215
+#: io.c:1237
 #, c-format
 msgid "remote host and port information (%s, %s) invalid"
 msgstr ""
 
-#: io.c:1250
+#: io.c:1272
 msgid "/inet/raw client not ready yet, sorry"
 msgstr "���� ��� /inet/raw ���� ,�������"
 
-#: io.c:1253 io.c:1289
+#: io.c:1275 io.c:1311
 msgid "only root may use `/inet/raw'."
 msgstr "���� root ������ ���� `inet/raw'-� �����"
 
-#: io.c:1287
+#: io.c:1309
 msgid "/inet/raw server not ready yet, sorry"
 msgstr "���� ��� /inet/raw ��� ,�������"
 
-#: io.c:1385
+#: io.c:1407
 #, c-format
 msgid "no (known) protocol supplied in special filename `%s'"
 msgstr "`%s' ����� ���� ��� �����-���� �� ��� ��������"
 
-#: io.c:1399
+#: io.c:1421
 #, c-format
 msgid "special file name `%s' is incomplete"
 msgstr "��� ���� `%s' ����� ����"
 
-#: io.c:1414
+#: io.c:1436
 msgid "must supply a remote hostname to `/inet'"
 msgstr "`/inet' ���� ����� ����-���� �� ������ ����"
 
-#: io.c:1432
+#: io.c:1454
 msgid "must supply a remote port to `/inet'"
 msgstr "`/inet' ���� ������ ����� ������ ����"
 
-#: io.c:1439
+#: io.c:1485
 msgid "TCP/IP communications are not supported"
 msgstr "TCP/IP ������� ����� ���"
 
-#: io.c:1509
+#: io.c:1494
+#, c-format
+msgid "file `%s' is a directory"
+msgstr "����� ���� `%s' ����"
+
+#: io.c:1555
 #, c-format
 msgid "use `PROCINFO[\"%s\"]' instead of `%s'"
 msgstr "`PROCINFO[\"%s\"]'-� ������ ���� `%s' �����"
 
-#: io.c:1547
+#: io.c:1593
 msgid "use `PROCINFO[...]' instead of `/dev/user'"
 msgstr "`/dev/user' ���-�� ���� `PROCINFO[...]'-� �����"
 
 # This probably sounds nonsensical in Hebrew, but what can I do,
 # given the original message text?
-#: io.c:1612 io.c:1798
+#: io.c:1658 io.c:1853
 #, c-format
 msgid "could not open `%s', mode `%s'"
 msgstr "`%s' ���� `%s' ����� ���� ������ �����"
 
-#: io.c:1849
+#: io.c:1904
 #, fuzzy, c-format
 msgid "close of master pty failed (%s)"
 msgstr "���� ������ (%s) ����"
 
-#: io.c:1851 io.c:2003 io.c:2154
+#: io.c:1906 io.c:2058 io.c:2209
 #, c-format
 msgid "close of stdout in child failed (%s)"
 msgstr "��-������ stdout ������ (%s) ����"
 
-#: io.c:1854
+#: io.c:1909
 #, fuzzy, c-format
 msgid "moving slave pty to stdout in child failed (dup: %s)"
 msgstr "��-������ stdout-� ���� ������ (dup: %s) ����"
 
-#: io.c:1856 io.c:2008
+#: io.c:1911 io.c:2063
 #, c-format
 msgid "close of stdin in child failed (%s)"
 msgstr "��-������ stdin ������ (%s) ����"
 
-#: io.c:1859
+#: io.c:1914
 #, fuzzy, c-format
 msgid "moving slave pty to stdin in child failed (dup: %s)"
 msgstr "��-������ stdin-� ���� ������ (dup: %s) ����"
 
-#: io.c:1861 io.c:1880
+#: io.c:1916 io.c:1935
 #, fuzzy, c-format
 msgid "close of slave pty failed (%s)"
 msgstr "���� ������ (%s) ����"
 
-#: io.c:1954 io.c:2006 io.c:2135 io.c:2157
+#: io.c:2009 io.c:2061 io.c:2190 io.c:2212
 #, c-format
 msgid "moving pipe to stdout in child failed (dup: %s)"
 msgstr "��-������ stdout-� ���� ������ (dup: %s) ����"
 
-#: io.c:1958 io.c:2011
+#: io.c:2013 io.c:2066
 #, c-format
 msgid "moving pipe to stdin in child failed (dup: %s)"
 msgstr "��-������ stdin-� ���� ������ (dup: %s) ����"
 
-#: io.c:1975 io.c:2148
+#: io.c:2030 io.c:2203
 msgid "restoring stdout in parent process failed\n"
 msgstr "��-������ stdout ���� ������ ����\n"
 
-#: io.c:1980
+#: io.c:2035
 msgid "restoring stdin in parent process failed\n"
 msgstr "��-������ stdin ���� ������ ����\n"
 
-#: io.c:2014 io.c:2159 io.c:2170
+#: io.c:2069 io.c:2214 io.c:2225
 #, c-format
 msgid "close of pipe failed (%s)"
 msgstr "���� ������ (%s) ����"
 
-#: io.c:2059
+#: io.c:2114
 msgid "`|&' not supported"
 msgstr "`|&'-� ����� ���"
 
-#: io.c:2125
+#: io.c:2180
 #, c-format
 msgid "cannot open pipe `%s' (%s)"
 msgstr "`%s' ���� ������ (%s) ����"
 
-#: io.c:2166
+#: io.c:2221
 #, c-format
 msgid "cannot create child process for `%s' (fork: %s)"
 msgstr "`%s' ��-������ ����� ������ (fork: %s) ����"
 
-#: io.c:2548
+#: io.c:2603
 #, c-format
 msgid "data file `%s' is empty"
 msgstr "��� ���� `%s' ������ ����"
 
-#: io.c:2589 io.c:2597
+#: io.c:2644 io.c:2652
 msgid "could not allocate more input memory"
 msgstr ""
 
-#: io.c:2965 io.c:3038
+#: io.c:3020 io.c:3093
 #, c-format
 msgid "error reading input file `%s': %s"
 msgstr "`%s' ���� ������ (%s) ����"
 
-#: io.c:3163
+#: io.c:3218
 msgid "multicharacter value of `RS' is a gawk extension"
 msgstr "gawk-� ������� ����� ���� `RS' �� ���� ���� ����� �����"
 
-#: main.c:351
+#: main.c:304
+msgid "out of memory"
+msgstr "������ ����"
+
+#: main.c:373
 msgid "`-m[fr]' option irrelevant in gawk"
 msgstr "gawk ���� ������� ���� `-m[fr]' ������"
 
-#: main.c:353
+#: main.c:375
 msgid "-m option usage: `-m[fr] nnn'"
 msgstr "`-m[fr] nnn' :-m ������� ����� ����"
 
-#: main.c:370
+#: main.c:392
 #, c-format
 msgid "%s: option `-W %s' unrecognized, ignored\n"
 msgstr "����� ,%s ����� ���� ���� ���� `-W %s' ������\n"
 
-#: main.c:407
+#: main.c:433
 msgid "empty argument to `--source' ignored"
 msgstr "����� `--source'-� ��� �������"
 
-#: main.c:480
+#: main.c:487
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: ������� ����� ������ -- %c\n"
+
+#: main.c:506
 msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'"
 msgstr "`--posix' ����� :����� `POSIXLY_CORRECT' ����� �����"
 
-#: main.c:486
+#: main.c:512
 msgid "`--posix' overrides `--traditional'"
 msgstr "`--traditional' �� ���� `--posix'"
 
-#: main.c:497
+#: main.c:523
 msgid "`--posix'/`--traditional' overrides `--non-decimal-data'"
 msgstr "`--non-decimal-data' �� ���� `--posix'/`--traditional'"
 
-#: main.c:501
+#: main.c:527
 #, c-format
 msgid "running %s setuid root may be a security problem"
 msgstr "���� ������ ����� ����� setuid root-� %s ����"
 
-#: main.c:542
+#: main.c:568
 #, fuzzy, c-format
 msgid "can't set binary mode on stdin (%s)"
 msgstr "stdin ����� ���� ������ (%s) ����"
 
-#: main.c:545
+#: main.c:571
 #, fuzzy, c-format
 msgid "can't set binary mode on stdout (%s)"
 msgstr "stdout ����� ���� ������ (%s) ����"
 
-#: main.c:547
+#: main.c:573
 #, fuzzy, c-format
 msgid "can't set binary mode on stderr (%s)"
 msgstr "stderr ����� ���� ������ (%s) ����"
 
-#: main.c:586
+#: main.c:612
 msgid "no program text at all!"
 msgstr "!��� ����� ��� �� ����� �� ����"
 
-#: main.c:690
+#: main.c:716
 #, c-format
 msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n"
 msgstr ""
 "%s [GNU �� POSIX ������ ��������] -f �����-�� [--] ����-�� ... :����� ����\n"
 
-#: main.c:692
+#: main.c:718
 #, c-format
 msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n"
 msgstr ""
 "%s [GNU �� POSIX ������ ��������] [--] %c�����%c ����-�� ... :����� ����\n"
 
-#: main.c:697
+#: main.c:723
 msgid "POSIX options:\t\tGNU long options:\n"
 msgstr ":POSIX �������\t\t:������ GNU �������\n"
 
-#: main.c:698
+#: main.c:724
 msgid "\t-f progfile\t\t--file=progfile\n"
 msgstr "\t-f �����-����\t\t--file=�����-����\n"
 
-#: main.c:699
+#: main.c:725
 msgid "\t-F fs\t\t\t--field-separator=fs\n"
 msgstr "\t-F ����-�����\t\t--field-separator=����-�����\n"
 
-#: main.c:700
+#: main.c:726
 msgid "\t-v var=val\t\t--assign=var=val\n"
 msgstr "\t-v �����=���\t\t--assign=�����=���\n"
 
-#: main.c:701
+#: main.c:727
 msgid "\t-m[fr] val\n"
 msgstr "\t-m[fr] ���\n"
 
-#: main.c:702
+#: main.c:728
+msgid "\t-O\t\t\t--optimize\n"
+msgstr ""
+
+#: main.c:729
 msgid "\t-W compat\t\t--compat\n"
 msgstr "\t-W compat\t\t--compat\n"
 
-#: main.c:703
+#: main.c:730
 msgid "\t-W copyleft\t\t--copyleft\n"
 msgstr "\t-W copyleft\t\t--copyleft\n"
 
-#: main.c:704
+#: main.c:731
 msgid "\t-W copyright\t\t--copyright\n"
 msgstr "\t-W copyright\t\t--copyright\n"
 
-#: main.c:705
+#: main.c:732
 msgid "\t-W dump-variables[=file]\t--dump-variables[=file]\n"
 msgstr "\t-W dump-variables[=����-��]\t--dump-variables[=����-��]\n"
 
-#: main.c:706
+#: main.c:733
 #, fuzzy
 msgid "\t-W exec=file\t\t--exec=file\n"
 msgstr "\t-W profile[=����-��]\t--profile[=����-��]\n"
 
-#: main.c:707
+#: main.c:734
 msgid "\t-W gen-po\t\t--gen-po\n"
 msgstr "\t-W gen-po\t\t--gen-po\n"
 
-#: main.c:708
+#: main.c:735
 msgid "\t-W help\t\t\t--help\n"
 msgstr "\t-W help\t\t\t--help\n"
 
-#: main.c:709
+#: main.c:736
 msgid "\t-W lint[=fatal]\t\t--lint[=fatal]\n"
 msgstr "\t-W lint[=fatal]\t\t--lint[=fatal]\n"
 
-#: main.c:710
+#: main.c:737
 msgid "\t-W lint-old\t\t--lint-old\n"
 msgstr "\t-W lint-old\t\t--lint-old\n"
 
-#: main.c:711
+#: main.c:738
 msgid "\t-W non-decimal-data\t--non-decimal-data\n"
 msgstr "\t-W non-decimal-data\t--non-decimal-data\n"
 
-#: main.c:713
+#: main.c:740
 msgid "\t-W nostalgia\t\t--nostalgia\n"
 msgstr "\t-W nostalgia\t\t--nostalgia\n"
 
-#: main.c:716
+#: main.c:743
 msgid "\t-W parsedebug\t\t--parsedebug\n"
 msgstr "\t-W parsedebug\t\t--parsedebug\n"
 
-#: main.c:718
+#: main.c:745
 msgid "\t-W profile[=file]\t--profile[=file]\n"
 msgstr "\t-W profile[=����-��]\t--profile[=����-��]\n"
 
-#: main.c:719
+#: main.c:746
 msgid "\t-W posix\t\t--posix\n"
 msgstr "\t-W posix\t\t--posix\n"
 
-#: main.c:720
+#: main.c:747
 msgid "\t-W re-interval\t\t--re-interval\n"
 msgstr "\t-W re-interval\t\t--re-interval\n"
 
-#: main.c:721
+#: main.c:748
 msgid "\t-W source=program-text\t--source=program-text\n"
 msgstr "\t-W source=�����-����\t--source=�����-����\n"
 
-#: main.c:722
+#: main.c:749
 msgid "\t-W traditional\t\t--traditional\n"
 msgstr "\t-W traditional\t\t--traditional\n"
 
-#: main.c:723
+#: main.c:750
 msgid "\t-W usage\t\t--usage\n"
 msgstr "\t-W usage\t\t--usage\n"
 
-#: main.c:724
+#: main.c:751
 msgid "\t-W use-lc-numeric\t--use-lc-numeric\n"
 msgstr ""
 
-#: main.c:725
+#: main.c:752
 msgid "\t-W version\t\t--version\n"
 msgstr "\t-W version\t\t--version\n"
 
@@ -1577,7 +1618,7 @@
 #. for this application.  Please add _another line_ with the
 #. address for translation bugs.
 #. no-wrap
-#: main.c:734
+#: main.c:761
 msgid ""
 "\n"
 "To report bugs, see node `Bugs' in `gawk.info', which is\n"
@@ -1589,7 +1630,7 @@
 "       .������ ������ `Reporting Problems and Bugs' ����\n"
 "\n"
 
-#: main.c:738
+#: main.c:765
 msgid ""
 "gawk is a pattern scanning and processing language.\n"
 "By default it reads standard input and writes standard output.\n"
@@ -1598,7 +1639,7 @@
 ".���� ������ �� ������ ������ ��� ���� gawk\n"
 ".���� ���� ����� ���� ��� ���� ���� ��� ���� ������\n"
 
-#: main.c:742
+#: main.c:769
 msgid ""
 "Examples:\n"
 "\tgawk '{ sum += $1 }; END { print sum }' file\n"
@@ -1608,8 +1649,8 @@
 "\tgawk '{ sum += $1 }; END { print sum }' file\n"
 "\tgawk -F: '{ print $1 }' /etc/passwd\n"
 
-#: main.c:762
-#, c-format
+#: main.c:789
+#, fuzzy, c-format
 msgid ""
 "Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
 "\n"
@@ -1623,10 +1664,10 @@
 "\n"
 "����� ������ ��/� ������ ������ ;����� ���� ���� �� �����\n"
 " �\"� ���� ����� ,GNU General Public License ������ �����\n"
-"  ���  ,������ �� 3 ����� ��  ;Free Software Foundation\n"
+"  ���  ,������ �� 2 ����� ��  ;Free Software Foundation\n"
 "        .���� ������ ���� ��� (��� ������ �������)\n"
 
-#: main.c:770
+#: main.c:797
 msgid ""
 "This program is distributed in the hope that it will be useful,\n"
 "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
@@ -1639,7 +1680,7 @@
 ",������ .������ ����� ����� ����� �� ������ ��\n"
 "       .GNU General Public License-� ����� ���\n"
 
-#: main.c:781
+#: main.c:808
 #, fuzzy
 msgid ""
 "You should have received a copy of the GNU General Public License\n"
@@ -1647,50 +1688,60 @@
 msgstr ""
 ";GNU General Public License �� ����� ����� ����� ����� �� �����\n"
 "Free Software Foundation, Inc.-� ���� ��� ,���� ������ �� ��\n"
-".51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA\n"
+".59 Temple Place - Suite 330, Boston, MA  02111-1307, USA\n"
 
-#: main.c:816
+#: main.c:843
 msgid "-Ft does not set FS to tab in POSIX awk"
 msgstr "awk �� POSIX ����� TAB ����� FS-� ���� ���� -Ft"
 
-#: main.c:1060
+#: main.c:1117
 #, c-format
 msgid ""
 "%s: `%s' argument to `-v' not in `var=value' form\n"
 "\n"
 msgstr ""
 
-#: main.c:1080
+#: main.c:1137
 #, c-format
 msgid "`%s' is not a legal variable name"
 msgstr ""
 
-#: main.c:1083
+#: main.c:1140
 #, c-format
 msgid "`%s' is not a variable name, looking for file `%s=%s'"
 msgstr ""
 
-#: main.c:1122
+#: main.c:1179
 msgid "floating point exception"
 msgstr "��� ����� ������� �����"
 
-#: main.c:1129
+#: main.c:1186
 msgid "fatal error: internal error"
 msgstr "������ ���� ����� :����� ����"
 
+#: main.c:1200
+#, fuzzy
+msgid "fatal error: internal error: segfault"
+msgstr "������ ���� ����� :����� ����"
+
+#: main.c:1212
+#, fuzzy
+msgid "fatal error: internal error: stack overflow"
+msgstr "������ ���� ����� :����� ����"
+
 # FIXME: I wonder how many people will understand what "fd 2" means.
-#: main.c:1180
+#: main.c:1261
 #, c-format
 msgid "no pre-opened fd %d"
 msgstr "���� ���� ���� %d ���/��� ����"
 
 # FIXME: /dev/null might not be known to all.
-#: main.c:1187
+#: main.c:1268
 #, c-format
 msgid "could not pre-open /dev/null for fd %d"
 msgstr "/dev/null-� %d ���/��� ���� ����� ���� ��"
 
-#: main.c:1210 main.c:1219
+#: main.c:1291 main.c:1300
 #, c-format
 msgid "could not find groups: %s"
 msgstr "%s :������ ������� ������ �� ���� ���"
@@ -1720,24 +1771,31 @@
 msgid "can't convert string to float"
 msgstr "����� ����� ����� ���� ������"
 
-#: node.c:406
+#: node.c:462
 msgid "backslash at end of string"
 msgstr "������ ���� ���� �����"
 
-#: node.c:548
+#: node.c:606
 #, fuzzy, c-format
 msgid "old awk does not support the `\\%c' escape sequence"
 msgstr "`**' �������� ���� ���� ��� awk"
 
-#: node.c:599
+#: node.c:657
 msgid "POSIX does not allow `\\x' escapes"
 msgstr "`\\x' ���� ���� ����� ���� ���� POSIX ���"
 
-#: node.c:605
+#: node.c:663
 msgid "no hex digits in `\\x' escape sequence"
 msgstr "`\\x' ���� ����� ����������� ������ ������ ���"
 
-#: node.c:639
+#: node.c:685
+#, c-format
+msgid ""
+"hex escape \\x%.*s of %d characters probably not interpreted the way you "
+"expect"
+msgstr ""
+
+#: node.c:700
 #, c-format
 msgid "escape sequence `\\%c' treated as plain `%c'"
 msgstr "������ ��� ���� `\\%c' ���� ����� `%c' ��"
@@ -1747,31 +1805,31 @@
 msgid "%s %s `%s': could not set close-on-exec: (fcntl: %s)"
 msgstr "%s %s `%s' ���� close-on-exec ������ ������ (fcntl: %s) ����"
 
-#: profile.c:92
+#: profile.c:93
 #, c-format
 msgid "could not open `%s' for writing: %s"
 msgstr "����� ����� `%s' ����� ��� (%s) ����"
 
-#: profile.c:450
+#: profile.c:453
 #, fuzzy, c-format
 msgid "internal error: %s with null vname"
 msgstr "����� ��� vname-�� Node_var :������ ���� �����"
 
-#: profile.c:514
+#: profile.c:517
 msgid "# treated internally as `delete'"
 msgstr ""
 
-#: profile.c:1147
+#: profile.c:1069
 #, c-format
 msgid "# this is a dynamically loaded extension function"
 msgstr ""
 
-#: profile.c:1178
+#: profile.c:1100
 #, c-format
 msgid "\t# gawk profile, created %s\n"
 msgstr "\t# %s ������ gawk �� ������\n"
 
-#: profile.c:1181
+#: profile.c:1103
 #, c-format
 msgid ""
 "\t# BEGIN block(s)\n"
@@ -1780,7 +1838,7 @@
 "\t# BEGIN ����\n"
 "\n"
 
-#: profile.c:1191
+#: profile.c:1113
 #, c-format
 msgid ""
 "\t# Rule(s)\n"
@@ -1789,7 +1847,7 @@
 "\t# (��)���\n"
 "\n"
 
-#: profile.c:1197
+#: profile.c:1119
 #, c-format
 msgid ""
 "\t# END block(s)\n"
@@ -1798,7 +1856,7 @@
 "\t# END ����\n"
 "\n"
 
-#: profile.c:1217
+#: profile.c:1139
 #, c-format
 msgid ""
 "\n"
@@ -1807,143 +1865,119 @@
 "\n"
 "\t# ���-��� ���� ,��������\n"
 
-#: profile.c:1470
+#: profile.c:1400
 #, c-format
 msgid "unexpected type %s in prec_level"
 msgstr "prec_level-� %s ���� ���"
 
-#: regcomp.c:132
+#: profile.c:1500
+#, fuzzy, c-format
+msgid "Unknown node type %s in pp_var"
+msgstr "%d �����-���� ��� ��� node"
+
+#: regcomp.c:133
 msgid "Success"
 msgstr "�����"
 
-#: regcomp.c:135
+#: regcomp.c:136
 msgid "No match"
 msgstr "������ ������ ����� ��"
 
-#: regcomp.c:138
+#: regcomp.c:139
 msgid "Invalid regular expression"
 msgstr "���� ������ �����"
 
-#: regcomp.c:141
+#: regcomp.c:142
 msgid "Invalid collation character"
 msgstr "�����-���� ����� ��"
 
-#: regcomp.c:144
+#: regcomp.c:145
 msgid "Invalid character class name"
 msgstr "���� ����� �� �����-���� ��"
 
-#: regcomp.c:147
+#: regcomp.c:148
 msgid "Trailing backslash"
 msgstr "`\\' ����� ������ ������ ������ �����"
 
-#: regcomp.c:150
+#: regcomp.c:151
 msgid "Invalid back reference"
 msgstr "���� �����-��� ����� ������"
 
-#: regcomp.c:153
+#: regcomp.c:154
 msgid "Unmatched [ or [^"
 msgstr "���-�� �� ���� [^ �� ["
 
-#: regcomp.c:156
+#: regcomp.c:157
 msgid "Unmatched ( or \\("
 msgstr "���-�� �� ���� \\( �� ("
 
-#: regcomp.c:159
+#: regcomp.c:160
 msgid "Unmatched \\{"
 msgstr "���-�� �� ���� \\{"
 
-#: regcomp.c:162
+#: regcomp.c:163
 msgid "Invalid content of \\{\\}"
 msgstr "\\{\\} ���� ���� ����"
 
-#: regcomp.c:165
+#: regcomp.c:166
 msgid "Invalid range end"
 msgstr "���� ���� �� ����� �����"
 
-#: regcomp.c:168
+#: regcomp.c:169
 msgid "Memory exhausted"
 msgstr "������ ����"
 
-#: regcomp.c:171
+#: regcomp.c:172
 msgid "Invalid preceding regular expression"
 msgstr "���� ���� �� ���� ���� ������ �����"
 
-#: regcomp.c:174
+#: regcomp.c:175
 msgid "Premature end of regular expression"
 msgstr "��� ����� ������ ������ �����"
 
-#: regcomp.c:177
+#: regcomp.c:178
 msgid "Regular expression too big"
 msgstr "��� ����� �� ���� ������ �����"
 
-#: regcomp.c:180
+#: regcomp.c:181
 msgid "Unmatched ) or \\)"
 msgstr "���-�� �� ���� \\) �� )"
 
-#: regcomp.c:664
+#: regcomp.c:700
 msgid "No previous regular expression"
 msgstr "���� ������ ����� ���"
 
-#~ msgid "remote port invalid in `%s'"
-#~ msgstr "`%s'-� ����� ������ �����"
-
-#~ msgid "function %s called\n"
-#~ msgstr "`%s' �������� �����\n"
-
-#~ msgid "field %d in FIELDWIDTHS, must be > 0"
-#~ msgstr "0-� ���� ����� ���� FIELDWIDTHS-� %d '�� ���"
-
-#, fuzzy
-#~ msgid "or used as a variable or an array"
-#~ msgstr "���� �� ������ `%s' ������� ��� ������ ���"
-
-#~ msgid "regex match failed, not enough memory to match string \"%.*s%s\""
-#~ msgstr ""
-#~ "\"%.*s%s\" ������ ������ ����� �� ��� ,���� ������ ������ ����� �����"
-
-#, fuzzy
-#~ msgid "substr: length %g is < 0"
-#~ msgstr "0-� ���� ���� ����� %g ���� :substr"
+# "Illegal" is against GNU coding standards, but since Posix requires
+# it (see the comment below), let's say that in Hebrew as well...
+#~ msgid "%s: illegal option -- %c\n"
+#~ msgstr "%s: ����-���� ������ -- %c\n"
 
 #~ msgid "delete: illegal use of variable `%s' as array"
 #~ msgstr "����� `%s' ������ ���� ����� :delete"
 
-#, fuzzy
-#~ msgid "%s: gvar_ref to %s\n"
-#~ msgstr "%s: %s-� (array_ref) �����\n"
-
 #~ msgid "asort: first argument is not an array"
 #~ msgstr "���� ���� ����� ������� :asort"
 
 #~ msgid "asort: second argument is not an array"
 #~ msgstr "���� ���� ��� ������� :asort"
 
-#, fuzzy
-#~ msgid ""
-#~ "attempt to use array parameter `%s' that was passed from global scalar `%"
-#~ "s'"
-#~ msgstr "���� ��� ����� `%s' ����� ������ ����� �����"
+#~ msgid "invalid syntax in name `%s' for variable assignment"
+#~ msgstr "��� ����� `%s' ����� �� �� ���� �����"
 
 #~ msgid "internal error: Node_var_array with null vname"
 #~ msgstr "����� ��� vname-�� Node_var_array :������ ���� �����"
 
-#~ msgid "BEGIN blocks must have an action part"
-#~ msgstr "����� ����� ����� ���� BEGIN ����"
-
-#~ msgid "`nextfile' used in BEGIN or END action"
-#~ msgstr "END �� BEGIN �� ����� ������ `nextfile'-� �����"
-
-#~ msgid "gsub third parameter is not a changeable object"
-#~ msgstr "�����-�� ������� ���� `gsub' �� ����� �������"
-
 #~ msgid "or used in other expression context"
 #~ msgstr "��� ����� �� �������� �� ����� ��"
 
 #~ msgid "`%s' is a function, assignment is not allowed"
 #~ msgstr "����� �� ��� ���� ,������� ��� `%s'"
 
-#~ msgid "internal error: file `%s', line %d\n"
-#~ msgstr "`%s' ���� �� %d ����� ������ ���� �����\n"
+#~ msgid "BEGIN blocks must have an action part"
+#~ msgstr "����� ����� ����� ���� BEGIN ����"
+
+#~ msgid "`nextfile' used in BEGIN or END action"
+#~ msgstr "END �� BEGIN �� ����� ������ `nextfile'-� �����"
 
 #~ msgid "non-redirected `getline' undefined inside BEGIN or END action"
 #~ msgstr "END �� BEGIN ����� ���� ����� ���� ������ ��� `getline'"
@@ -1951,6 +1985,9 @@
 #~ msgid "fptr %x not in tokentab\n"
 #~ msgstr "tokentab-� ���� �� fptr %x\n"
 
+#~ msgid "gsub third parameter is not a changeable object"
+#~ msgstr "�����-�� ������� ���� `gsub' �� ����� �������"
+
 #~ msgid "Unbalanced ["
 #~ msgstr "���-�� �� ���� ["
 
@@ -1972,8 +2009,18 @@
 #~ msgid "Unbalanced )"
 #~ msgstr "���-�� �� ���� )"
 
-#~ msgid "out of memory"
-#~ msgstr "������ ����"
+#~ msgid "field %d in FIELDWIDTHS, must be > 0"
+#~ msgstr "0-� ���� ����� ���� FIELDWIDTHS-� %d '�� ���"
 
-#~ msgid "invalid syntax in name `%s' for variable assignment"
-#~ msgstr "��� ����� `%s' ����� �� �� ���� �����"
+#~ msgid "function %s called\n"
+#~ msgstr "`%s' �������� �����\n"
+
+#~ msgid "remote port invalid in `%s'"
+#~ msgstr "`%s'-� ����� ������ �����"
+
+#~ msgid "internal error: file `%s', line %d\n"
+#~ msgstr "`%s' ���� �� %d ����� ������ ���� �����\n"
+
+#~ msgid "regex match failed, not enough memory to match string \"%.*s%s\""
+#~ msgstr ""
+#~ "\"%.*s%s\" ������ ������ ����� �� ��� ,���� ������ ������ ����� �����"
diff -urN gawk-3.1.6/po/id.po gawk-3.1.7/po/id.po
--- gawk-3.1.6/po/id.po	1970-01-01 02:00:00.000000000 +0200
+++ gawk-3.1.7/po/id.po	2009-07-21 23:23:44.000000000 +0300
@@ -0,0 +1,1961 @@
+# Pesan bahasa indonesia untuk gawk.
+# Copyright (C) 2008 Free Software Foundation, Inc.
+# This file is distributed under the same license as the gawk package.
+# Arif E. Nugroho <arif_endro@yahoo.com>, 2008, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gawk 3.1.6e\n"
+"Report-Msgid-Bugs-To: arnold@skeeve.com\n"
+"POT-Creation-Date: 2009-07-21 23:23+0300\n"
+"PO-Revision-Date: 2009-07-11 14:00+0700\n"
+"Last-Translator: Arif E. Nugroho <arif_endro@yahoo.com>\n"
+"Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: array.c:112
+#, c-format
+msgid "attempt to use function `%s' as an array"
+msgstr "mencoba untuk menggunakan fungsi `%s' sebagai sebuah array"
+
+#: array.c:115
+#, c-format
+msgid "attempt to use scalar parameter `%s' as an array"
+msgstr "mencoba untuk menggunakan parameter `%s' sebagai sebuah array"
+
+#: array.c:118
+#, c-format
+msgid "attempt to use scalar `%s' as array"
+msgstr "mencoba untuk menggunakan skalar `%s' sebagai sebuah array"
+
+#: array.c:156
+#, c-format
+msgid "from %s"
+msgstr "dari %s"
+
+#: array.c:514
+#, c-format
+msgid "reference to uninitialized element `%s[\"%s\"]'"
+msgstr "referensi ke elemen tidak terinisialisasi `%s[\"%s\"]'"
+
+#: array.c:520
+#, c-format
+msgid "subscript of array `%s' is null string"
+msgstr "subscript dari array `%s' adalah string null"
+
+#: array.c:624
+#, c-format
+msgid "delete: index `%s' not in array `%s'"
+msgstr "delete: indeks `%s' tidak dalam array `%s'"
+
+#: array.c:793
+#, c-format
+msgid "%s: empty (null)\n"
+msgstr "%s: kosong (null)\n"
+
+#: array.c:798
+#, c-format
+msgid "%s: empty (zero)\n"
+msgstr "%s: kosong (nol)\n"
+
+#: array.c:802
+#, c-format
+msgid "%s: table_size = %d, array_size = %d\n"
+msgstr "%s: table_size = %d, array_size = %d\n"
+
+#: array.c:831
+#, c-format
+msgid "%s: is parameter\n"
+msgstr "%s: adalah parameter\n"
+
+#: array.c:836
+#, c-format
+msgid "%s: array_ref to %s\n"
+msgstr "%s: array_ref ke %s\n"
+
+#: awkgram.y:218
+#, c-format
+msgid "%s blocks must have an action part"
+msgstr "%s blok harus memiliki sebuah bagian aksi"
+
+#: awkgram.y:221
+msgid "each rule must have a pattern or an action part"
+msgstr "setiap aturan harus memiliki sebuah pola atau sebuah bagian aksi"
+
+#: awkgram.y:257 awkgram.y:266
+msgid "old awk does not support multiple `BEGIN' or `END' rules"
+msgstr "awk lama tidak mendukung multiple aturan `BEGIN' atau `END'"
+
+#: awkgram.y:285
+#, c-format
+msgid "`%s' is a built-in function, it cannot be redefined"
+msgstr "`%s' adalah sebuah fungsi bawaan, ini tidak dapat di redefinisi"
+
+#: awkgram.y:331
+msgid "regexp constant `//' looks like a C++ comment, but is not"
+msgstr "konstanta regexp `//' tampak seperti sebuah komentar C++, tetapi bukan"
+
+#: awkgram.y:334
+#, c-format
+msgid "regexp constant `/%s/' looks like a C comment, but is not"
+msgstr "konstanta regexp `/%s/' tampak seperti sebuah komentar C, tetapi bukan"
+
+#: awkgram.y:361 awkgram.y:656
+msgid "statement may have no effect"
+msgstr "pernyataan mungkin tidak memiliki pengaruh"
+
+#: awkgram.y:458 awkgram.y:482
+#, c-format
+msgid "`%s' used in %s action"
+msgstr "`%s' digunakan dalam aksi %s"
+
+#: awkgram.y:473 awkgram.y:477
+msgid "`nextfile' is a gawk extension"
+msgstr "`nextfile' adalah sebuah ekstensi gawk"
+
+#: awkgram.y:492
+msgid "`return' used outside function context"
+msgstr "`return' digunakan diluar konteks fungsi"
+
+#: awkgram.y:534
+msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'"
+msgstr ""
+"plain `print' dalam aturan BEGIN atau AKHIR seharusnya berupa `print \"\"'"
+
+#: awkgram.y:550 awkgram.y:558
+msgid "`delete array' is a gawk extension"
+msgstr "`delete array' adalah sebuah ekstensi gawk"
+
+#: awkgram.y:572 awkgram.y:580
+msgid "`delete(array)' is a non-portable tawk extension"
+msgstr "`delete(array)' adalah sebuah ekstensi tidak portabel tawk"
+
+#: awkgram.y:624
+#, c-format
+msgid "duplicate case values in switch body: %s"
+msgstr "duplikasi nilai case dalam tubuh switch: %s"
+
+#: awkgram.y:634
+msgid "Duplicate `default' detected in switch body"
+msgstr "Duplikasi `default' terdeteksi dalam tubuh switch"
+
+#: awkgram.y:723
+msgid "multistage two-way pipelines don't work"
+msgstr "multi tahap dua jalur pipe lines tidak bekerja"
+
+#: awkgram.y:814
+msgid "regular expression on right of assignment"
+msgstr "ekspresi regular di assignmen kanan"
+
+#: awkgram.y:824
+msgid "regular expression on left of `~' or `!~' operator"
+msgstr "ekspresi regular di kiri dari operator `~' atau `!~'"
+
+#: awkgram.y:830 awkgram.y:903
+msgid "old awk does not support the keyword `in' except after `for'"
+msgstr "awk lama tidak mendukung kata kunci `in' kecuali setelah `for'"
+
+#: awkgram.y:836
+msgid "regular expression on right of comparison"
+msgstr "ekspresi regular di kanan dari perbandingan"
+
+#: awkgram.y:893
+msgid "non-redirected `getline' undefined inside END action"
+msgstr "tidak terdireksi `getline' tidak terdefinisi didalam aksi END"
+
+#: awkgram.y:904
+msgid "old awk does not support multidimensional arrays"
+msgstr "awk lama tidak mendukung array multi dimensi"
+
+#: awkgram.y:950
+msgid "call of `length' without parentheses is not portable"
+msgstr "panggilan dari `length' tanpa tanda kurung tidak portabel"
+
+#: awkgram.y:955
+msgid "call of `length' without parentheses is deprecated by POSIX"
+msgstr ""
+"panggilan dari `length' tanpa tanda kurung sudah ditinggalkan oleh POSIX"
+
+#: awkgram.y:1009
+msgid "use of non-array as array"
+msgstr "penggunaan dari bukan array sebagai array"
+
+#: awkgram.y:1012
+msgid "invalid subscript expression"
+msgstr "ekspresi subscript tidak valid"
+
+#: awkgram.y:1257
+msgid "unexpected newline or end of string"
+msgstr "tidak terduga baris baru atau akhir dari string"
+
+#: awkgram.y:1374
+msgid "empty program text on command line"
+msgstr "aplikasi teks kosong di baris perintah"
+
+#: awkgram.y:1430
+#, c-format
+msgid "can't open source file `%s' for reading (%s)"
+msgstr "tidak dapat membuka berkas sumber `%s' untuk pembacaan (%s)"
+
+#: awkgram.y:1528
+#, c-format
+msgid "can't read sourcefile `%s' (%s)"
+msgstr "tidak dapat membaca berkas sumber `%s' (%s)"
+
+#: awkgram.y:1536
+#, c-format
+msgid "source file `%s' is empty"
+msgstr "berkas sumber `%s' kosong"
+
+#: awkgram.y:1728 awkgram.y:1850 awkgram.y:1868 awkgram.y:2243 awkgram.y:2330
+msgid "source file does not end in newline"
+msgstr "berkas sumber tidak berakhir dalam baris baru"
+
+#: awkgram.y:1790
+msgid "unterminated regexp ends with `\\' at end of file"
+msgstr "tidak terakhiri regexp akhir denga `\\' diakhir dari berkas"
+
+#: awkgram.y:1814
+#, c-format
+msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk"
+msgstr "%s: %d: tawk regex pemodifikasi `/.../%c' tidak bekerja dalam gawk"
+
+#: awkgram.y:1818
+#, c-format
+msgid "tawk regex modifier `/.../%c' doesn't work in gawk"
+msgstr "tawk regex pemodifikasi `/.../%c' tidak bekerja dalam gawk"
+
+#: awkgram.y:1825
+msgid "unterminated regexp"
+msgstr "tidak terselesaikan regexp"
+
+#: awkgram.y:1828
+msgid "unterminated regexp at end of file"
+msgstr "tidak terselesaikan di akhir dari berkas"
+
+#: awkgram.y:1897
+msgid "use of `\\ #...' line continuation is not portable"
+msgstr "penggunaan dari `\\ #...' kelanjutan baris tidak portabel"
+
+#: awkgram.y:1910
+msgid "backslash not last character on line"
+msgstr "backslash bukan karakter terakhir di baris"
+
+#: awkgram.y:1955
+msgid "POSIX does not allow operator `**='"
+msgstr "POSIX tidak mengijinkan operator `**='"
+
+#: awkgram.y:1957
+msgid "old awk does not support operator `**='"
+msgstr "awk lama tidak mendukung operator `**='"
+
+#: awkgram.y:1966
+msgid "POSIX does not allow operator `**'"
+msgstr "POSIX tidak mengijinkan operator `**'"
+
+#: awkgram.y:1968
+msgid "old awk does not support operator `**'"
+msgstr "awk lama tidak mendukung operator `**'"
+
+#: awkgram.y:1999
+msgid "operator `^=' is not supported in old awk"
+msgstr "operator `^=' tidak didukung dalam awk lama"
+
+#: awkgram.y:2007
+msgid "operator `^' is not supported in old awk"
+msgstr "operator `^' tidak didukung dalam awk lama"
+
+#: awkgram.y:2091 awkgram.y:2106
+msgid "unterminated string"
+msgstr "string tidak terselesaikan"
+
+#: awkgram.y:2291
+#, c-format
+msgid "invalid char '%c' in expression"
+msgstr "karakter '%c' tidak valid dalam ekspresi"
+
+#: awkgram.y:2339
+#, c-format
+msgid "`%s' is a gawk extension"
+msgstr "`%s' adalah sebuah ekstensi gawk"
+
+#: awkgram.y:2342
+#, c-format
+msgid "`%s' is a Bell Labs extension"
+msgstr "`%s' adalah sebuah ekstensi Bell Labs"
+
+#: awkgram.y:2345
+#, c-format
+msgid "POSIX does not allow `%s'"
+msgstr "POSIX tidak mengijinkan `%s'"
+
+#: awkgram.y:2349
+#, c-format
+msgid "`%s' is not supported in old awk"
+msgstr "`%s' tidak didukung dalam awk lama"
+
+#: awkgram.y:2375
+msgid "`goto' considered harmful!\n"
+msgstr "`goto' dipertimbangkan berbahaya!\n"
+
+#: awkgram.y:2437
+#, c-format
+msgid "%d is invalid as number of arguments for %s"
+msgstr "%d tidak valid sebagai jumlah dari argumen untuk %s"
+
+#: awkgram.y:2456 awkgram.y:2459
+msgid "match: third argument is a gawk extension"
+msgstr "cocok: argumen ketiga adalah sebuah ekstensi gawk"
+
+#: awkgram.y:2472
+#, c-format
+msgid "%s: string literal as last arg of substitute has no effect"
+msgstr ""
+"%s: literal string sebagai argumen terakhir dari pergantian tidak memiliki "
+"efek"
+
+#: awkgram.y:2475
+#, c-format
+msgid "%s third parameter is not a changeable object"
+msgstr "%s parameter ketika bukan sebuah objek yang dapat diubah"
+
+#: awkgram.y:2502 awkgram.y:2505
+msgid "close: second argument is a gawk extension"
+msgstr "tutup: argumen kedua adalah sebuah ekstensi gawk"
+
+#: awkgram.y:2515
+msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore"
+msgstr ""
+"penggunaan dari dcgettext(_\"...\") adalah tidak benar: hapus garis bawah "
+"yang mengawali"
+
+#: awkgram.y:2530
+msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore"
+msgstr ""
+"penggunaan dari dcngettext(_\"...\") adalah tidak benar: hapus garis bawah "
+"yang mengawali"
+
+#: awkgram.y:2602
+#, c-format
+msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d"
+msgstr "fungsi `%s': parameter #%d, `%s', duplikasi paramter #%d"
+
+#: awkgram.y:2635
+#, c-format
+msgid "function `%s': parameter `%s' shadows global variable"
+msgstr "fungsi `%s': parameter `%s' bayangan variabel global"
+
+#: awkgram.y:2747
+#, c-format
+msgid "could not open `%s' for writing (%s)"
+msgstr "tidak dapat membuka `%s' untuk menulis (%s)"
+
+#: awkgram.y:2748 profile.c:95
+msgid "sending profile to standard error"
+msgstr "mengirim profile ke standar error"
+
+#: awkgram.y:2780
+#, c-format
+msgid "%s: close failed (%s)"
+msgstr "%s: tutup gagal (%s)"
+
+#: awkgram.y:2901
+msgid "shadow_funcs() called twice!"
+msgstr "shadow_funcs() dipanggil dua kali!"
+
+#: awkgram.y:2928
+msgid "there were shadowed variables."
+msgstr "disana tidak ada variabel bayangan."
+
+#: awkgram.y:3001
+#, c-format
+msgid "function `%s': can't use function name as parameter name"
+msgstr ""
+"fungsi `%s': tidak dapat menggunakan nama fungsi sebagai nama parameter"
+
+#: awkgram.y:3004
+#, c-format
+msgid "function `%s': can't use special variable `%s' as a function parameter"
+msgstr ""
+"fungsi `%s': tidak dapat menggunakan variabel `%s' sebagai fungsi parameter"
+
+#: awkgram.y:3014
+#, c-format
+msgid "function name `%s' previously defined"
+msgstr "nama fungsi `%s' sebelumnya telah didefinisikan"
+
+#: awkgram.y:3165 awkgram.y:3171
+#, c-format
+msgid "function `%s' called but never defined"
+msgstr "fungsi `%s' dipanggil tetapi tidak pernah didefinisikan"
+
+#: awkgram.y:3174
+#, c-format
+msgid "function `%s' defined but never called"
+msgstr "fungsi `%s' didefinisikan tetapi tidak pernah dipanggil"
+
+#: awkgram.y:3201
+#, c-format
+msgid "regexp constant for parameter #%d yields boolean value"
+msgstr "konstanta regexp untuk parameter #%d menghasilkan nilai boolean"
+
+#: awkgram.y:3245
+#, c-format
+msgid ""
+"function `%s' called with space between name and `(',\n"
+"or used as a variable or an array"
+msgstr ""
+"fungsi `%s' dipanggil dengan spasi diantara nama dan `(',\n"
+"atau gunakan sebagai sebuah variabel atau sebuah array"
+
+#: awkgram.y:3667 eval.c:1394
+#, c-format
+msgid "division by zero attempted in `%%'"
+msgstr "pembagian dengan nol dicoba dalam `%%'"
+
+#: builtin.c:122
+#, c-format
+msgid "%s to \"%s\" failed (%s)"
+msgstr "%s ke \"%s\" gagal (%s)"
+
+#: builtin.c:123
+msgid "standard output"
+msgstr "standar keluaran"
+
+#: builtin.c:124
+msgid "reason unknown"
+msgstr "alasan tidak diketahui"
+
+#: builtin.c:137
+msgid "exp: received non-numeric argument"
+msgstr "exp: diterima argumen bukan-numerik"
+
+#: builtin.c:143
+#, c-format
+msgid "exp: argument %g is out of range"
+msgstr "exp: argumen %g diluar dari jangkauan"
+
+#: builtin.c:201
+#, c-format
+msgid "fflush: cannot flush: pipe `%s' opened for reading, not writing"
+msgstr ""
+"fflush: tidak dapat flush: pipe `%s' dibuka untuk dibaca, bukan ditulis"
+
+#: builtin.c:204
+#, c-format
+msgid "fflush: cannot flush: file `%s' opened for reading, not writing"
+msgstr ""
+"fflush: tidak dapat flush: berkas `%s' dibuka untuk dibaca, bukan ditulis"
+
+#: builtin.c:216
+#, c-format
+msgid "fflush: `%s' is not an open file, pipe or co-process"
+msgstr "fflush: `%s' bukan sebuah berkas terbuka, pipe atau co-proses"
+
+#: builtin.c:310
+msgid "index: received non-string first argument"
+msgstr "indeks: diterima argumen pertama bukan string"
+
+#: builtin.c:312
+msgid "index: received non-string second argument"
+msgstr "indeks: diterima argumen kedua bukan string"
+
+#: builtin.c:434
+msgid "int: received non-numeric argument"
+msgstr "int: diterima argumen bukan numerik"
+
+#: builtin.c:464
+msgid "`length(array)' is a gawk extension"
+msgstr "`length(array)' adalah sebuah ekstensi gawk"
+
+#: builtin.c:473
+msgid "length: untyped argument will be forced to scalar"
+msgstr "length: argument tidak terketik akan dipaksa ke skalar"
+
+#: builtin.c:477
+msgid "length: received non-string argument"
+msgstr "length: diterima argumen bukan-string"
+
+#: builtin.c:508
+msgid "log: received non-numeric argument"
+msgstr "log: diterima argumen bukan numerik"
+
+#: builtin.c:511
+#, c-format
+msgid "log: received negative argument %g"
+msgstr "log: diterima argumen negatif %g"
+
+#: builtin.c:719 builtin.c:722
+msgid "must use `count$' on all formats or none"
+msgstr "harus menggunakan `count$' di semua format atau tidak sama sekali"
+
+#: builtin.c:783
+#, c-format
+msgid "field width is ignored for `%%%%' specifier"
+msgstr "lebar daerah diabaikan untuk penspesifikasi `%%%%'"
+
+#: builtin.c:785
+#, c-format
+msgid "precision is ignored for `%%%%' specifier"
+msgstr "ketepatan diabaikan untuk penspesifikasi `%%%%'"
+
+#: builtin.c:787
+#, c-format
+msgid "field width and precision are ignored for `%%%%' specifier"
+msgstr "lebar daerah dan presisi diabaikan untuk penspesifikasi `%%%%'"
+
+#: builtin.c:838
+msgid "`$' is not permitted in awk formats"
+msgstr "`$' tidak diijinkan dalam format awk"
+
+#: builtin.c:844
+msgid "arg count with `$' must be > 0"
+msgstr "arg count dengan `$' harus > 0"
+
+#: builtin.c:846
+#, c-format
+msgid "arg count %ld greater than total number of supplied arguments"
+msgstr ""
+"arg count %ld lebih besar dari jumlah total dari argumen yang diberikan"
+
+#: builtin.c:848
+msgid "`$' not permitted after period in format"
+msgstr "`$' tidak diijinkan setelah periode dalam format"
+
+#: builtin.c:861
+msgid "no `$' supplied for positional field width or precision"
+msgstr "tidak ada `$' yang diberikan untuk posisional field width atau presisi"
+
+#: builtin.c:927
+msgid "`l' is meaningless in awk formats; ignored"
+msgstr "`l' tidak berarti dalam format awk; diabaikan"
+
+#: builtin.c:931
+msgid "`l' is not permitted in POSIX awk formats"
+msgstr "`l' tidak diijinkan dalam format POSIX awk"
+
+#: builtin.c:942
+msgid "`L' is meaningless in awk formats; ignored"
+msgstr "`L' tidak berarti dalam format awk; diabaikan"
+
+#: builtin.c:946
+msgid "`L' is not permitted in POSIX awk formats"
+msgstr "`L' tidak diijinkan dalam format awk POSIX"
+
+#: builtin.c:957
+msgid "`h' is meaningless in awk formats; ignored"
+msgstr "`h' tidak berarti dalam format awk; diabaikan"
+
+#: builtin.c:961
+msgid "`h' is not permitted in POSIX awk formats"
+msgstr "`h' tidak diijinkan dalam format awk POSIX"
+
+#: builtin.c:1236
+#, c-format
+msgid "[s]printf: value %g is out of range for `%%%c' format"
+msgstr "[s]printf: nilai %g diluar dari jangkauan untuk format `%%%c'"
+
+#: builtin.c:1316
+#, c-format
+msgid "ignoring unknown format specifier character `%c': no argument converted"
+msgstr ""
+"mengabaikan format tidak dikenal karakter penspesifikasi `%c': tidak ada "
+"argumen yang diubah"
+
+#: builtin.c:1322
+msgid "not enough arguments to satisfy format string"
+msgstr "tidak cukup argumen untuk memuaskan format string"
+
+#: builtin.c:1324
+msgid "^ ran out for this one"
+msgstr "^ kehabisan untuk yang ini"
+
+#: builtin.c:1330
+msgid "[s]printf: format specifier does not have control letter"
+msgstr "[s]printf: penspesifikasi format tidak memiliki pengontrol huruf"
+
+#: builtin.c:1333
+msgid "too many arguments supplied for format string"
+msgstr "terlalu banyak argumen diberikan untuk format string"
+
+#: builtin.c:1408 builtin.c:1411
+msgid "printf: no arguments"
+msgstr "printf: tidak ada argumen"
+
+#: builtin.c:1435
+msgid "sqrt: received non-numeric argument"
+msgstr "sqrt: diterima argumen bukan numerik"
+
+#: builtin.c:1439
+#, c-format
+msgid "sqrt: called with negative argument %g"
+msgstr "sqrt: dipanggil dengan argumen %g negatif"
+
+#: builtin.c:1463
+#, c-format
+msgid "substr: start index %g is invalid, using 1"
+msgstr "substr: awal indeks %g tidak valid, menggunakan 1"
+
+#: builtin.c:1468
+#, c-format
+msgid "substr: non-integer start index %g will be truncated"
+msgstr "substr: awal indeks %g bukan integer akan dipotong"
+
+#: builtin.c:1494
+#, c-format
+msgid "substr: length %g is not >= 1"
+msgstr "substr: panjang %g tidak >= 1"
+
+#: builtin.c:1496
+#, c-format
+msgid "substr: length %g is not >= 0"
+msgstr "substr: panjang %g tidak >= 0"
+
+#: builtin.c:1503
+#, c-format
+msgid "substr: non-integer length %g will be truncated"
+msgstr "substr: panjang bukan integer %g akan dipotong"
+
+#: builtin.c:1508
+#, c-format
+msgid "substr: length %g too big for string indexing, truncating to %g"
+msgstr ""
+"substr: panjang %g terlalu besar untuk pengindeksan string, dipotong ke %g"
+
+#: builtin.c:1520
+msgid "substr: source string is zero length"
+msgstr "substr: sumber string memiliki panjang nol"
+
+#: builtin.c:1536
+#, c-format
+msgid "substr: start index %g is past end of string"
+msgstr "substr: awal indeks %g melewati akhir dari string"
+
+#: builtin.c:1544
+#, c-format
+msgid ""
+"substr: length %g at start index %g exceeds length of first argument (%lu)"
+msgstr ""
+"substr: panjang %g di awal indeks %g melewati panjang dari argumen pertama (%"
+"lu)"
+
+#: builtin.c:1621
+msgid "strftime: received non-string first argument"
+msgstr "strftime: diterima argumen pertama bukan string"
+
+#: builtin.c:1627
+msgid "strftime: received empty format string"
+msgstr "strftime: diterima format string kosong"
+
+#: builtin.c:1636
+msgid "strftime: received non-numeric second argument"
+msgstr "strftime: diterima argumen kedua bukan numerik"
+
+#: builtin.c:1713
+msgid "mktime: received non-string argument"
+msgstr "mktime: diterima argumen bukan string"
+
+#: builtin.c:1758
+msgid "system: received non-string argument"
+msgstr "system: diterima argumen bukan string"
+
+#: builtin.c:1879 eval.c:2145
+#, c-format
+msgid "reference to uninitialized field `$%d'"
+msgstr "referensi ke field tidak terinisialisasi `$%d'"
+
+#: builtin.c:1984
+msgid "tolower: received non-string argument"
+msgstr "tolower: diterima argumen bukan string"
+
+#: builtin.c:2014
+msgid "toupper: received non-string argument"
+msgstr "toupper: diterima argumen bukan string"
+
+#: builtin.c:2047
+msgid "atan2: received non-numeric first argument"
+msgstr "atan2: diterima argumen pertama bukan numerik"
+
+#: builtin.c:2049
+msgid "atan2: received non-numeric second argument"
+msgstr "atan2: diterima argumen kedua bukan numerik"
+
+#: builtin.c:2068
+msgid "sin: received non-numeric argument"
+msgstr "sin: diterima argumen bukan numerik"
+
+#: builtin.c:2084
+msgid "cos: received non-numeric argument"
+msgstr "cos: diterima argumen bukan numerik"
+
+#: builtin.c:2137
+msgid "srand: received non-numeric argument"
+msgstr "srand: diterima argumen bukan numerik"
+
+#: builtin.c:2172
+msgid "match: third argument is not an array"
+msgstr "match: argumen ketiga bukan sebuah array"
+
+#: builtin.c:2719
+msgid "gensub: third argument of 0 treated as 1"
+msgstr "gensub: argumen ketiga dari 0 diperlakukan sebagai 1"
+
+#: builtin.c:2835
+msgid "lshift: received non-numeric first argument"
+msgstr "lshift: diterima argumen pertama bukan numerik"
+
+#: builtin.c:2837
+msgid "lshift: received non-numeric second argument"
+msgstr "lshift: diterima argumen kedua bukan numerik"
+
+#: builtin.c:2843
+#, c-format
+msgid "lshift(%lf, %lf): negative values will give strange results"
+msgstr "lshift(%lf, %lf): nilai negatif akan memberikan hasil aneh"
+
+#: builtin.c:2845
+#, c-format
+msgid "lshift(%lf, %lf): fractional values will be truncated"
+msgstr "lshift(%lf, %lf): nilai pecahan akan dipotong"
+
+#: builtin.c:2847
+#, c-format
+msgid "lshift(%lf, %lf): too large shift value will give strange results"
+msgstr "lshift(%lf, %lf): nilai shift terlalu besar akan memberikan hasil aneh"
+
+#: builtin.c:2873
+msgid "rshift: received non-numeric first argument"
+msgstr "rshift: diterima argumen pertama bukan numerik"
+
+#: builtin.c:2875
+msgid "rshift: received non-numeric second argument"
+msgstr "rshift: diterima argumen kedua bukan-numerik"
+
+#: builtin.c:2881
+#, c-format
+msgid "rshift(%lf, %lf): negative values will give strange results"
+msgstr "rshift(%lf. %lf): nilai negatif akan memberikan hasil aneh"
+
+#: builtin.c:2883
+#, c-format
+msgid "rshift(%lf, %lf): fractional values will be truncated"
+msgstr "rshift(%lf, %lf): nilai pecahan akan dipotong"
+
+#: builtin.c:2885
+#, c-format
+msgid "rshift(%lf, %lf): too large shift value will give strange results"
+msgstr "rshift(%lf, %lf): nilai shift terlalu besar akan memberikan hasil aneh"
+
+#: builtin.c:2911
+msgid "and: received non-numeric first argument"
+msgstr "and: diterima argumen pertama tidak numerik"
+
+#: builtin.c:2913
+msgid "and: received non-numeric second argument"
+msgstr "and: diterima argumen kedua bukan numerik"
+
+#: builtin.c:2919
+#, c-format
+msgid "and(%lf, %lf): negative values will give strange results"
+msgstr "and(%lf, %lf): nilai negatif akan memberikan hasil aneh"
+
+#: builtin.c:2921
+#, c-format
+msgid "and(%lf, %lf): fractional values will be truncated"
+msgstr "and(%lf, %lf): nilai pecahan akan dipotong"
+
+#: builtin.c:2947
+msgid "or: received non-numeric first argument"
+msgstr "or: diterima argumen pertama bukan numerik"
+
+#: builtin.c:2949
+msgid "or: received non-numeric second argument"
+msgstr "or: diterima argumen kedua bukan numerik"
+
+#: builtin.c:2955
+#, c-format
+msgid "or(%lf, %lf): negative values will give strange results"
+msgstr "or(%lf, %lf): nilai negatif akan memberikan hasil aneh"
+
+#: builtin.c:2957
+#, c-format
+msgid "or(%lf, %lf): fractional values will be truncated"
+msgstr "or(%lf, %lf): nilai pecahan akan dipotong"
+
+#: builtin.c:2983
+msgid "xor: received non-numeric first argument"
+msgstr "xor: diterima argumen pertama bukan numerik"
+
+#: builtin.c:2985
+msgid "xor: received non-numeric second argument"
+msgstr "xor: diterima argumen kedua bukan numerik"
+
+#: builtin.c:2991
+#, c-format
+msgid "xor(%lf, %lf): negative values will give strange results"
+msgstr "xor(%lf, %lf): nilai negatif akan memberikan hasil aneh"
+
+#: builtin.c:2993
+#, c-format
+msgid "xor(%lf, %lf): fractional values will be truncated"
+msgstr "xor(%lf, %lf): nilai pecahan akan dipotong"
+
+#: builtin.c:3017
+msgid "compl: received non-numeric argument"
+msgstr "compl: diterima argumen bukan numerik"
+
+#: builtin.c:3023
+#, c-format
+msgid "compl(%lf): negative value will give strange results"
+msgstr "compl(%lf): nilai negatif akan memberikan hasil aneh"
+
+#: builtin.c:3025
+#, c-format
+msgid "compl(%lf): fractional value will be truncated"
+msgstr "compl(%lf): nilai pecahan akan dipotong"
+
+#: builtin.c:3198
+#, c-format
+msgid "dcgettext: `%s' is not a valid locale category"
+msgstr "dcgettext: `%s' bukan sebuah kategori lokal yang valid"
+
+#: eval.c:372
+#, c-format
+msgid "unknown nodetype %d"
+msgstr "tipe titik %d tidak diketahui"
+
+#: eval.c:422
+msgid "buffer overflow in genflags2str"
+msgstr "buffer overflow dalam genflags2str"
+
+#: eval.c:454 eval.c:460 profile.c:781
+#, c-format
+msgid "attempt to use array `%s' in a scalar context"
+msgstr "mencoba menggunakan array `%s' dalam sebuah konteks skalar"
+
+#: eval.c:802
+#, c-format
+msgid "for loop: array `%s' changed size from %ld to %ld during loop execution"
+msgstr ""
+"for loop: array `%s' berubah ukuran dari %ld ke %ld selama eksekusi loop"
+
+#: eval.c:823
+msgid "`break' outside a loop is not portable"
+msgstr "`break' diluar sebuah loop adalah tidak portabel"
+
+#: eval.c:827
+msgid "`break' outside a loop is not allowed"
+msgstr "`break' diluar sebuah loop tidak diijinkan"
+
+#: eval.c:844
+msgid "`continue' outside a loop is not portable"
+msgstr "`continue' diluar sebuah loop tidak portabel"
+
+#: eval.c:848
+msgid "`continue' outside a loop is not allowed"
+msgstr "`continue' diluar sebuah loop tidak diijinkan"
+
+#: eval.c:882
+msgid "`next' cannot be called from a BEGIN rule"
+msgstr "`next' tidak dapat dipanggil dari sebuah aturan BEGIN"
+
+#: eval.c:884
+msgid "`next' cannot be called from an END rule"
+msgstr "`next' tidak dapat dipanggil dari sebuah aturan END"
+
+#: eval.c:893
+msgid "`nextfile' cannot be called from a BEGIN rule"
+msgstr "`nextfile' tidak dapat dipanggil dari sebuah aturan BEGIN"
+
+#: eval.c:895
+msgid "`nextfile' cannot be called from an END rule"
+msgstr "`nextfile' tidak dapat dipanggil dari sebuah aturan END"
+
+#: eval.c:952
+msgid "statement has no effect"
+msgstr "pernyataan tidak memiliki efek"
+
+#: eval.c:1029 eval.c:1999
+#, c-format
+msgid "can't use function name `%s' as variable or array"
+msgstr ""
+"tidak dapat menggunakan nama fungsi `%s' sebagai sebuah variabel atau array"
+
+#: eval.c:1036 eval.c:1042
+#, c-format
+msgid "reference to uninitialized argument `%s'"
+msgstr "referensi ke argumen `%s' tidak terinisialisasi"
+
+#: eval.c:1051 eval.c:2008
+#, c-format
+msgid "reference to uninitialized variable `%s'"
+msgstr "referensi ke variabel `%s' tidak terinisialisasi"
+
+#: eval.c:1197
+msgid ""
+"concatenation: side effects in one expression have changed the length of "
+"another!"
+msgstr ""
+"concatenation: efek samping dalam satu ekspresi telah mengubah panjang dari "
+"yang lain!"
+
+#: eval.c:1301
+msgid "assignment used in conditional context"
+msgstr "assignment digunakan dalam konteks kondisional"
+
+#: eval.c:1379
+msgid "division by zero attempted"
+msgstr "pembagian dengan nol telah dicoba"
+
+#: eval.c:1409 profile.c:657
+#, c-format
+msgid "illegal type (%s) in tree_eval"
+msgstr "tipe (%s) tidak legal dalam tree_eval"
+
+#: eval.c:1572
+msgid "division by zero attempted in `/='"
+msgstr "pembagian dengan nol dicoba dalam `/='"
+
+#: eval.c:1594
+#, c-format
+msgid "division by zero attempted in `%%='"
+msgstr "pembagian dengan nol dicoba dalam `%%='"
+
+#: eval.c:1859
+#, c-format
+msgid "function `%s' called with more arguments than declared"
+msgstr "fungsi `%s' dipanggil argumen lebih dari yang dideklarasikan"
+
+#: eval.c:1904
+#, c-format
+msgid "function `%s' not defined"
+msgstr "fungsi `%s' tidak didefinisikan"
+
+#: eval.c:1971
+#, c-format
+msgid ""
+"\n"
+"\t# Function Call Stack:\n"
+"\n"
+msgstr ""
+"\n"
+"\t# Fungsi Call Stack:\n"
+"\n"
+
+#: eval.c:1974
+#, c-format
+msgid "\t# -- main --\n"
+msgstr "\t# -- main --\n"
+
+#: eval.c:2129
+msgid "attempt to field reference from non-numeric value"
+msgstr "mencoba untuk mereferensi field dari nilai bukan numerik"
+
+#: eval.c:2131
+msgid "attempt to reference from null string"
+msgstr "mencoba untuk mereferensi dari null string"
+
+#: eval.c:2137
+#, c-format
+msgid "attempt to access field %d"
+msgstr "mencoba untuk mengakses field %d"
+
+#: eval.c:2158 eval.c:2165 profile.c:836
+msgid "assignment is not allowed to result of builtin function"
+msgstr "assignmen tidak diijinkan untuk menghasilkan fungsi bawaan"
+
+#: eval.c:2229
+msgid "`IGNORECASE' is a gawk extension"
+msgstr "`IGNORECASE' adalah ekstensi gawk"
+
+#: eval.c:2258
+msgid "`BINMODE' is a gawk extension"
+msgstr "`BINMODE' adalah ekstensi gawk"
+
+#: eval.c:2316
+#, c-format
+msgid "BINMODE value `%s' is invalid, treated as 3"
+msgstr "BINMODE nilai `%s' tidak valid, diperlakukan sebagai 3"
+
+#: eval.c:2406
+#, c-format
+msgid "bad `%sFMT' specification `%s'"
+msgstr "buruk `%sFMT' spesifikasi `%s'"
+
+#: eval.c:2484
+msgid "turning off `--lint' due to assignment to `LINT'"
+msgstr "menonaktifkan `--lint' karena assignmen ke `LINT'"
+
+#: ext.c:62 ext.c:67
+msgid "`extension' is a gawk extension"
+msgstr "`extension' adalah sebuah ekstensi gawk"
+
+#: ext.c:77
+#, c-format
+msgid "extension: cannot open `%s' (%s)\n"
+msgstr "extension: tidak dapat membuka `%s' (%s)\n"
+
+#: ext.c:85
+#, c-format
+msgid "extension: library `%s': cannot call function `%s' (%s)\n"
+msgstr "extension: perpustakaan `%s': tidak dapat memanggil fungsi `%s' (%s)\n"
+
+#: ext.c:105
+msgid "extension: missing function name"
+msgstr "extension: hilang nama fungsi"
+
+#: ext.c:110
+#, c-format
+msgid "extension: illegal character `%c' in function name `%s'"
+msgstr "extension: karakter `%c' tidak legal dalam nama fungsi `%s'"
+
+#: ext.c:116
+#, c-format
+msgid "extension: can't redefine function `%s'"
+msgstr "extension: tidak dapat meredefinisi fungsi `%s'"
+
+#: ext.c:120
+#, c-format
+msgid "extension: function `%s' already defined"
+msgstr "extension: fungsi `%s' telah didefinisikan"
+
+#: ext.c:125
+#, c-format
+msgid "extension: can't use gawk built-in `%s' as function name"
+msgstr ""
+"extension: tidak dapat menggunakan gawk bawaan `%s' sebagai nama fungsi"
+
+#: ext.c:127
+#, c-format
+msgid "extension: function name `%s' previously defined"
+msgstr "extension: nama fungsi `%s' telah didefinisikan sebelumnya"
+
+#: ext.c:204
+#, c-format
+msgid "function `%s' defined to take no more than %d argument(s)"
+msgstr "fungsi `%s' didefinisikan untuk mengambil lebih dari %d argumen"
+
+#: ext.c:207
+#, c-format
+msgid "function `%s': missing argument #%d"
+msgstr "fungsi `%s': hilang argumen #%d"
+
+#: ext.c:217
+#, c-format
+msgid "function `%s': argument #%d: attempt to use scalar as an array"
+msgstr ""
+"fungsi `%s': argumen #%d: mencoba menggunaka skalar sebagai sebuah array"
+
+#: ext.c:221
+#, c-format
+msgid "function `%s': argument #%d: attempt to use array as a scalar"
+msgstr ""
+"fungsi `%s': argumen #%d: mencoba untuk menggunakan array sebagai sebuah "
+"skalar"
+
+#: ext.c:246
+msgid "Operation Not Supported"
+msgstr "Operasi Tidak Didukung"
+
+#: field.c:330
+msgid "NF set to negative value"
+msgstr "NF set ke nilai negatif"
+
+#: field.c:875
+msgid "split: second argument is not an array"
+msgstr "split: argumen kedua bukan sebuah array"
+
+#: field.c:909
+msgid "split: null string for third arg is a gawk extension"
+msgstr "split: null string untuk arg ketika adalah sebuah ekstensi gawk"
+
+#: field.c:961
+msgid "`FIELDWIDTHS' is a gawk extension"
+msgstr "`FIELDWIDTHS' adalah sebuah ekstensi gawk"
+
+#: field.c:991 field.c:1005
+#, c-format
+msgid "invalid FIELDWIDTHS value, near `%s'"
+msgstr "nilai FIELDWIDTHS tidak valid, didekat `%s'"
+
+#: field.c:1088
+msgid "null string for `FS' is a gawk extension"
+msgstr "null string untuk `FS' adalah sebuah ekstensi gawk"
+
+#: field.c:1092
+msgid "old awk does not support regexps as value of `FS'"
+msgstr "awk lama tidak mendukung regexps sebagai nilai dari `FS'"
+
+#: getopt.c:570 getopt.c:586
+#, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: pilihan '%s' adalah ambigu\n"
+
+#: getopt.c:619 getopt.c:623
+#, c-format
+msgid "%s: option '--%s' doesn't allow an argument\n"
+msgstr "%s: pilihan '--%s' tidak mengijinkan sebuah argumen\n"
+
+#: getopt.c:632 getopt.c:637
+#, c-format
+msgid "%s: option '%c%s' doesn't allow an argument\n"
+msgstr "%s: pilihan '%c%s' tidak mengijinkan sebuah argumen\n"
+
+#: getopt.c:680 getopt.c:699 getopt.c:1002 getopt.c:1021
+#, c-format
+msgid "%s: option '%s' requires an argument\n"
+msgstr "%s: pilihan '%s' membutuhkan sebuah argumen\n"
+
+#: getopt.c:737 getopt.c:740
+#, c-format
+msgid "%s: unrecognized option '--%s'\n"
+msgstr "%s: pilihan tidak dikenal '--%s'\n"
+
+#: getopt.c:748 getopt.c:751
+#, c-format
+msgid "%s: unrecognized option '%c%s'\n"
+msgstr "%s: pilihan tidak dikenal '%c%s'\n"
+
+#: getopt.c:800 getopt.c:803
+#, c-format
+msgid "%s: invalid option -- '%c'\n"
+msgstr "%s: pilihan tidak valid -- '%c'\n"
+
+#: getopt.c:853 getopt.c:870 getopt.c:1073 getopt.c:1091
+#, c-format
+msgid "%s: option requires an argument -- '%c'\n"
+msgstr "%s: pilihan membutuhkan sebuah argumen -- '%c'\n"
+
+#: getopt.c:923 getopt.c:939
+#, c-format
+msgid "%s: option '-W %s' is ambiguous\n"
+msgstr "%s: pilihan '-W %s' adalah ambigu\n"
+
+#: getopt.c:963 getopt.c:981
+#, c-format
+msgid "%s: option '-W %s' doesn't allow an argument\n"
+msgstr "%s: pilihan '-W %s' tidak mengijinkan sebuah argumen\n"
+
+#: io.c:322 io.c:352
+#, c-format
+msgid "cannot open file `%s' for reading (%s)"
+msgstr "tidak dapat membuka berkas `%s' untuk membaca (%s)"
+
+#: io.c:443
+#, c-format
+msgid "close of fd %d (`%s') failed (%s)"
+msgstr "penutupan dari fd %d (`%s') gagal (%s)"
+
+#: io.c:583
+#, c-format
+msgid "invalid tree type %s in redirect()"
+msgstr "tipe tree %s tidak valid dalam redirect()"
+
+#: io.c:589
+#, c-format
+msgid "expression in `%s' redirection only has numeric value"
+msgstr "ekspresi dalam `%s' redireksi hanya memiliki nilai numerik"
+
+#: io.c:595
+#, c-format
+msgid "expression for `%s' redirection has null string value"
+msgstr "ekspresi untuk `%s' redireksi hanya memiliki nilai string null"
+
+#: io.c:600
+#, c-format
+msgid "filename `%s' for `%s' redirection may be result of logical expression"
+msgstr ""
+"nama berkas `%s' untuk `%s' redireksi hanya menghasilkan ekspresi logikal"
+
+#: io.c:638
+#, c-format
+msgid "unnecessary mixing of `>' and `>>' for file `%.*s'"
+msgstr "pencampuran tidak perlu dari `>' dan `>>' untuk berkas `%.*s'"
+
+#: io.c:685
+#, c-format
+msgid "can't open pipe `%s' for output (%s)"
+msgstr "tidak dapat membuka pipe `%s' untuk keluaran (%s)"
+
+#: io.c:694
+#, c-format
+msgid "can't open pipe `%s' for input (%s)"
+msgstr "tidak dapat membuka pipe `%s' untuk masukan (%s)"
+
+#: io.c:712
+#, c-format
+msgid "can't open two way socket `%s' for input/output (%s)"
+msgstr "tidak dapat membuka socket dua arah `%s' untuk input/output (%s)"
+
+#: io.c:716
+#, c-format
+msgid "can't open two way pipe `%s' for input/output (%s)"
+msgstr "tidak dapat membuka pipe dua arah `%s' untuk input/output (%s)"
+
+#: io.c:793
+#, c-format
+msgid "can't redirect from `%s' (%s)"
+msgstr "tidak dapat redirek dari `%s' (%s)"
+
+#: io.c:796
+#, c-format
+msgid "can't redirect to `%s' (%s)"
+msgstr "tidak dapat redirek ke `%s' (%s)"
+
+#: io.c:849
+msgid ""
+"reached system limit for open files: starting to multiplex file descriptors"
+msgstr ""
+"batas sistem tercapi untuk berkas terbuka: mulai untuk multiplex berkas "
+"deskripsi"
+
+#: io.c:865
+#, c-format
+msgid "close of `%s' failed (%s)."
+msgstr "penutupan dari `%s' gagal (%s)."
+
+#: io.c:873
+msgid "too many pipes or input files open"
+msgstr "terlalu banyak pipes atau berkas masukan terbuka"
+
+#: io.c:896
+msgid "close: second argument must be `to' or `from'"
+msgstr "close: argumen kedua harus berupa `to' atau `from'"
+
+#: io.c:910
+#, c-format
+msgid "close: `%.*s' is not an open file, pipe or co-process"
+msgstr "close: `%.*s' bukan sebuah berkas terbuka, pipe atau co-proses"
+
+#: io.c:915
+msgid "close of redirection that was never opened"
+msgstr "penutupan dari redireksi yang tidak pernah terbuka"
+
+#: io.c:1012
+#, c-format
+msgid "close: redirection `%s' not opened with `|&', second argument ignored"
+msgstr ""
+"close: redireksi `%s' tidak dibuka dengan `|&', argumen kedua diabaikan"
+
+#: io.c:1028
+#, c-format
+msgid "failure status (%d) on pipe close of `%s' (%s)"
+msgstr "status gagal (%d) di tutup pipe  dari `%s' (%s)"
+
+#: io.c:1031
+#, c-format
+msgid "failure status (%d) on file close of `%s' (%s)"
+msgstr "status gagal (%d) di tutup berkas dari `%s' (%s)"
+
+#: io.c:1051
+#, c-format
+msgid "no explicit close of socket `%s' provided"
+msgstr "tidak ada eksplisit tutup dari socket `%s' yang disediakan"
+
+#: io.c:1054
+#, c-format
+msgid "no explicit close of co-process `%s' provided"
+msgstr "tidak ada eksplisit tutup dari co-proses `%s' yang disediakan"
+
+#: io.c:1057
+#, c-format
+msgid "no explicit close of pipe `%s' provided"
+msgstr "tidak ada eksplisit tutup dari pipe `%s' disediakan"
+
+#: io.c:1060
+#, c-format
+msgid "no explicit close of file `%s' provided"
+msgstr "tidak ada eksplisit close dari berkas `%s' disediakan"
+
+#: io.c:1088 io.c:1143 main.c:776 main.c:818
+#, c-format
+msgid "error writing standard output (%s)"
+msgstr "error menulis standar keluaran (%s)"
+
+#: io.c:1092 io.c:1148
+#, c-format
+msgid "error writing standard error (%s)"
+msgstr "error menulis standar error (%s)"
+
+#: io.c:1100
+#, c-format
+msgid "pipe flush of `%s' failed (%s)."
+msgstr "pipe flush dari `%s' gagal (%s)."
+
+#: io.c:1103
+#, c-format
+msgid "co-process flush of pipe to `%s' failed (%s)."
+msgstr "co-proses flush dari pipe ke `%s' gagal (%s)."
+
+#: io.c:1106
+#, c-format
+msgid "file flush of `%s' failed (%s)."
+msgstr "file flush dari `%s' gagal (%s)."
+
+#: io.c:1220
+#, c-format
+msgid "local port %s invalid in `/inet'"
+msgstr "lokal port %s tidak valid dalam `/inet'"
+
+#: io.c:1237
+#, c-format
+msgid "remote host and port information (%s, %s) invalid"
+msgstr "remote host dan informasi port (%s, %s) tidak valid"
+
+#: io.c:1272
+msgid "/inet/raw client not ready yet, sorry"
+msgstr "/inet/raw client belum siap, maaf"
+
+#: io.c:1275 io.c:1311
+msgid "only root may use `/inet/raw'."
+msgstr "hanya root yang boleh menggunakan `/inet/raw'."
+
+#: io.c:1309
+msgid "/inet/raw server not ready yet, sorry"
+msgstr "/inet/raw server belum siap, maaf"
+
+#: io.c:1407
+#, c-format
+msgid "no (known) protocol supplied in special filename `%s'"
+msgstr ""
+"tidak (diketahui) protokol yang diberikan dalam nama berkas spesial `%s'"
+
+#: io.c:1421
+#, c-format
+msgid "special file name `%s' is incomplete"
+msgstr "nama berkas spesial `%s' tidak lengkap"
+
+#: io.c:1436
+msgid "must supply a remote hostname to `/inet'"
+msgstr "harus memberikan sebuah remote hostname ke `/inet'"
+
+#: io.c:1454
+msgid "must supply a remote port to `/inet'"
+msgstr "harus memberikan sebuah remote port ke `/inet'"
+
+#: io.c:1485
+msgid "TCP/IP communications are not supported"
+msgstr "komunikasi TCP/IP tidak didukung"
+
+#: io.c:1494
+#, c-format
+msgid "file `%s' is a directory"
+msgstr "berkas `%s' adalah sebuah direktori"
+
+#: io.c:1555
+#, c-format
+msgid "use `PROCINFO[\"%s\"]' instead of `%s'"
+msgstr "lebih baik gunakan `PROCINFO[\"%s\"]' daripada `%s'"
+
+#: io.c:1593
+msgid "use `PROCINFO[...]' instead of `/dev/user'"
+msgstr "lebih baik gunakan `PROCINFO[...]' daripada `/dev/user'"
+
+#: io.c:1658 io.c:1853
+#, c-format
+msgid "could not open `%s', mode `%s'"
+msgstr "tidak dapat membuka `%s', mode `%s'"
+
+#: io.c:1904
+#, c-format
+msgid "close of master pty failed (%s)"
+msgstr "penutupan dari master pty gagal (%s)"
+
+#: io.c:1906 io.c:2058 io.c:2209
+#, c-format
+msgid "close of stdout in child failed (%s)"
+msgstr "penutupan dari stdout dalam child gagal (%s)"
+
+#: io.c:1909
+#, c-format
+msgid "moving slave pty to stdout in child failed (dup: %s)"
+msgstr "memindahkan slave pty ke stdout dalam child gagal (dup: %s)"
+
+#: io.c:1911 io.c:2063
+#, c-format
+msgid "close of stdin in child failed (%s)"
+msgstr "penutupan dari stdin dalam anak gagal (%s)"
+
+#: io.c:1914
+#, c-format
+msgid "moving slave pty to stdin in child failed (dup: %s)"
+msgstr "memindahkan slave pty ke stdin dalam anak gagal (dup: %s)"
+
+#: io.c:1916 io.c:1935
+#, c-format
+msgid "close of slave pty failed (%s)"
+msgstr "penutupan dari pty budak gagal (%s)"
+
+#: io.c:2009 io.c:2061 io.c:2190 io.c:2212
+#, c-format
+msgid "moving pipe to stdout in child failed (dup: %s)"
+msgstr "memindahkan pipe ke stdout dalam anak gaal (dup: %s)"
+
+#: io.c:2013 io.c:2066
+#, c-format
+msgid "moving pipe to stdin in child failed (dup: %s)"
+msgstr "memindahkan pipe ke stdin dalam anak gagal (dup: %s)"
+
+#: io.c:2030 io.c:2203
+msgid "restoring stdout in parent process failed\n"
+msgstr "mengembalikan stdout dalam proses orang tua gagal\n"
+
+#: io.c:2035
+msgid "restoring stdin in parent process failed\n"
+msgstr "mengembalikan stdin dalam proses orang tua gagal\n"
+
+#: io.c:2069 io.c:2214 io.c:2225
+#, c-format
+msgid "close of pipe failed (%s)"
+msgstr "penutupan dari pipe gagal (%s)"
+
+#: io.c:2114
+msgid "`|&' not supported"
+msgstr "`|&' tidak didukung"
+
+#: io.c:2180
+#, c-format
+msgid "cannot open pipe `%s' (%s)"
+msgstr "tidak dapat membuka pipe `%s' (%s)"
+
+#: io.c:2221
+#, c-format
+msgid "cannot create child process for `%s' (fork: %s)"
+msgstr "tidak dapat membuat proses anak untuk `%s' (fork: %s)"
+
+#: io.c:2603
+#, c-format
+msgid "data file `%s' is empty"
+msgstr "berkas data `%s' kosong"
+
+#: io.c:2644 io.c:2652
+msgid "could not allocate more input memory"
+msgstr "tidak dapat mengalokasikan lebih dari masukan memori"
+
+#: io.c:3020 io.c:3093
+#, c-format
+msgid "error reading input file `%s': %s"
+msgstr "error membaca berkas masukan `%s': %s"
+
+#: io.c:3218
+msgid "multicharacter value of `RS' is a gawk extension"
+msgstr "nilai multi karakter dari `RS' adalah sebuah ekstensi gawk"
+
+#: main.c:304
+msgid "out of memory"
+msgstr "kehabisan memori"
+
+#: main.c:373
+msgid "`-m[fr]' option irrelevant in gawk"
+msgstr "pilihan `-m[fr]' tidak relevan dalam gawk"
+
+#: main.c:375
+msgid "-m option usage: `-m[fr] nnn'"
+msgstr "penggunaan pilihan -m: `-m[fr] nnn'"
+
+#: main.c:392
+#, c-format
+msgid "%s: option `-W %s' unrecognized, ignored\n"
+msgstr "%s: pilihan `-W %s' tidak dikenal, diabaikan\n"
+
+#: main.c:433
+msgid "empty argument to `--source' ignored"
+msgstr "argumen kosong ke `--source' diabaikan"
+
+#: main.c:487
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: pilihan membutuhkan sebuah argumen -- %c\n"
+
+#: main.c:506
+msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'"
+msgstr "variabel lingkungan `POSIXLY_CORRECT' set: mengaktifkan `--posix'"
+
+#: main.c:512
+msgid "`--posix' overrides `--traditional'"
+msgstr "`--posix' overrides `--traditional'"
+
+#: main.c:523
+msgid "`--posix'/`--traditional' overrides `--non-decimal-data'"
+msgstr "`--posix'/`--traditional' overrides `--non-decimal-data'"
+
+#: main.c:527
+#, c-format
+msgid "running %s setuid root may be a security problem"
+msgstr "menjalankan %s setuid root mungkin sebuah masalah keamanan"
+
+#: main.c:568
+#, c-format
+msgid "can't set binary mode on stdin (%s)"
+msgstr "tidak dapat menset mode binari di stdin (%s)"
+
+#: main.c:571
+#, c-format
+msgid "can't set binary mode on stdout (%s)"
+msgstr "tidak dapat menset mode binari di stdout (%s)"
+
+#: main.c:573
+#, c-format
+msgid "can't set binary mode on stderr (%s)"
+msgstr "tidak dapat menset mode binari di stderr (%s)"
+
+#: main.c:612
+msgid "no program text at all!"
+msgstr "tidak ada teks aplikasi apapun!"
+
+#: main.c:716
+#, c-format
+msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n"
+msgstr ""
+"Penggunaan: %s [pilihan POSIX atau gaya GNU] -f progfile [--] berkas ...\n"
+
+#: main.c:718
+#, c-format
+msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n"
+msgstr ""
+"Penggunaan: %s[ pilihan POSIX atau gaya GNU] [--] %cprogram%c berkas ...\n"
+
+#: main.c:723
+msgid "POSIX options:\t\tGNU long options:\n"
+msgstr "pilihan POSIX:\t\tpilihan panjang GNU:\n"
+
+#: main.c:724
+msgid "\t-f progfile\t\t--file=progfile\n"
+msgstr "\t-f progfile\t\t--file=progfile\n"
+
+#: main.c:725
+msgid "\t-F fs\t\t\t--field-separator=fs\n"
+msgstr "\t-F fs\t\t\t--field-separator=fs\n"
+
+#: main.c:726
+msgid "\t-v var=val\t\t--assign=var=val\n"
+msgstr "\t-v var=val\t\t--assign=var=val\n"
+
+#: main.c:727
+msgid "\t-m[fr] val\n"
+msgstr "\t-m[fr] val\n"
+
+#: main.c:728
+msgid "\t-O\t\t\t--optimize\n"
+msgstr "\t-0\t\t\t--optimize\n"
+
+#: main.c:729
+msgid "\t-W compat\t\t--compat\n"
+msgstr "\t-W compabilitas\t\t--compat\n"
+
+#: main.c:730
+msgid "\t-W copyleft\t\t--copyleft\n"
+msgstr "\t-W copyleft\t\t--copyleft\n"
+
+#: main.c:731
+msgid "\t-W copyright\t\t--copyright\n"
+msgstr "\t-W hak cipta\t\t--copyright\n"
+
+#: main.c:732
+msgid "\t-W dump-variables[=file]\t--dump-variables[=file]\n"
+msgstr "\t-W tampilkan variabel[=berkas]\t--dump-variables[=berkas]\n"
+
+#: main.c:733
+msgid "\t-W exec=file\t\t--exec=file\n"
+msgstr "\t-W exec=berkas\t\t--exec=berkas\n"
+
+#: main.c:734
+msgid "\t-W gen-po\t\t--gen-po\n"
+msgstr "\t-W gen-po\t\t--gen-po\n"
+
+#: main.c:735
+msgid "\t-W help\t\t\t--help\n"
+msgstr "\t-W bantuan\t\t\t--help\n"
+
+#: main.c:736
+msgid "\t-W lint[=fatal]\t\t--lint[=fatal]\n"
+msgstr "\t-W lint[=fatal]\t\t--lint[=fatal]\n"
+
+#: main.c:737
+msgid "\t-W lint-old\t\t--lint-old\n"
+msgstr "\t-W lint-old\t\t--lint-old\n"
+
+#: main.c:738
+msgid "\t-W non-decimal-data\t--non-decimal-data\n"
+msgstr "\t-W non-decimal-data\t--non-decimal-data\n"
+
+#: main.c:740
+msgid "\t-W nostalgia\t\t--nostalgia\n"
+msgstr "\t-W nostalgia\t\t--nostalgia\n"
+
+#: main.c:743
+msgid "\t-W parsedebug\t\t--parsedebug\n"
+msgstr "\t-W parsedebug\t\t--parsedebug\n"
+
+#: main.c:745
+msgid "\t-W profile[=file]\t--profile[=file]\n"
+msgstr "\t-W profile[=file]\t--profile[=file]\n"
+
+#: main.c:746
+msgid "\t-W posix\t\t--posix\n"
+msgstr "\t-W posix\t\t--posix\n"
+
+#: main.c:747
+msgid "\t-W re-interval\t\t--re-interval\n"
+msgstr "\t-W re-interval\t\t--re-interval\n"
+
+#: main.c:748
+msgid "\t-W source=program-text\t--source=program-text\n"
+msgstr "\t-W sumber=teks-program\t--source=teks-program\n"
+
+#: main.c:749
+msgid "\t-W traditional\t\t--traditional\n"
+msgstr "\t-W tradisional\t\t--traditional\n"
+
+#: main.c:750
+msgid "\t-W usage\t\t--usage\n"
+msgstr "\t-W penggunaan\t\t--usage\n"
+
+#: main.c:751
+msgid "\t-W use-lc-numeric\t--use-lc-numeric\n"
+msgstr "\t-W use-lc-numeric\t--use-lc-numeric\n"
+
+#: main.c:752
+msgid "\t-W version\t\t--version\n"
+msgstr "\t-W versi\t\t--version\n"
+
+#. TRANSLATORS: --help output 5 (end)
+#. TRANSLATORS: the placeholder indicates the bug-reporting address
+#. for this application.  Please add _another line_ with the
+#. address for translation bugs.
+#. no-wrap
+#: main.c:761
+msgid ""
+"\n"
+"To report bugs, see node `Bugs' in `gawk.info', which is\n"
+"section `Reporting Problems and Bugs' in the printed version.\n"
+"\n"
+msgstr ""
+"\n"
+"Untuk melaporkan bugs, lihat titik `Bugs' dalam `gawk.info', dalam\n"
+"daerah `Reporting Problems and Bugs' dalam versi tercetak.\n"
+"\n"
+
+#: main.c:765
+msgid ""
+"gawk is a pattern scanning and processing language.\n"
+"By default it reads standard input and writes standard output.\n"
+"\n"
+msgstr ""
+"gawk adalah sebuah pencarian pola dan bahasa pemrosesan.\n"
+"Secara baku ini membaca standar masukan dan menulis standa keluaran.\n"
+"\n"
+
+#: main.c:769
+msgid ""
+"Examples:\n"
+"\tgawk '{ sum += $1 }; END { print sum }' file\n"
+"\tgawk -F: '{ print $1 }' /etc/passwd\n"
+msgstr ""
+"Contoh:\n"
+"\tgawk '{ sum += $1 }; END { print sum }' berkas\n"
+"\tgawk -F: '{ print $1 }' /etc/passwd\n"
+
+#: main.c:789
+#, c-format
+msgid ""
+"Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
+"\n"
+"This program is free software; you can redistribute it and/or modify\n"
+"it under the terms of the GNU General Public License as published by\n"
+"the Free Software Foundation; either version 3 of the License, or\n"
+"(at your option) any later version.\n"
+"\n"
+msgstr ""
+"Hak Cipta (C) 1989, 1991-%d Free Software Foundationn.\n"
+"\n"
+"Aplikasi ini adalah aplikasi bebas; anda dapat meredistribusikannya dan/atau "
+"memodifikasinya\n"
+"dibawah ketentuan dari GNU General Public License seperti dipublikasikan "
+"oleh\n"
+"Free Software Foundation; baik versi 3 dari Lisensi, atau\n"
+"(di pilihan anda) untuk versi selanjutnya.\n"
+"\n"
+
+#: main.c:797
+msgid ""
+"This program is distributed in the hope that it will be useful,\n"
+"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
+"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"
+"GNU General Public License for more details.\n"
+"\n"
+msgstr ""
+"Aplikasi ini didistribusikan dengan harapan ini akan berguna,\n"
+"tetapi TANPA GARANSI APAPUN; bahkan tanpa garansi yang diimplisikasikan "
+"dari\n"
+"PERDAGANGAN atau KESESUAIAN UNTUK SEBUAH TUJUAN TERTENTU. Lihat\n"
+"GNU General Public License untuk lebih lengkapnya.\n"
+"\n"
+
+#: main.c:808
+msgid ""
+"You should have received a copy of the GNU General Public License\n"
+"along with this program. If not, see http://www.gnu.org/licenses/.\n"
+msgstr ""
+"Anda seharusnya menerima salinan dari GNU General Public License\n"
+"bersama dengan aplikasi ini. Jika tidak, lihat http://www.gnu.org/"
+"licenses/.\n"
+
+#: main.c:843
+msgid "-Ft does not set FS to tab in POSIX awk"
+msgstr "-Ft tidak menset FS ke tab dalam POSIX awk"
+
+#: main.c:1117
+#, c-format
+msgid ""
+"%s: `%s' argument to `-v' not in `var=value' form\n"
+"\n"
+msgstr ""
+"%s: `%s' argumen ke `-v' tidak dalam bentuk `var=value'\n"
+"\n"
+
+#: main.c:1137
+#, c-format
+msgid "`%s' is not a legal variable name"
+msgstr "`%s' bukan sebuah nama variabel legal"
+
+#: main.c:1140
+#, c-format
+msgid "`%s' is not a variable name, looking for file `%s=%s'"
+msgstr "`%s' bukan sebuah nama variabel, pencarian untuk berkas `%s=%s'"
+
+#: main.c:1179
+msgid "floating point exception"
+msgstr "eksepsi titik pecahan"
+
+#: main.c:1186
+msgid "fatal error: internal error"
+msgstr "fatal error: internal error"
+
+#: main.c:1200
+msgid "fatal error: internal error: segfault"
+msgstr "fatal error: internal error: segfault"
+
+#: main.c:1212
+msgid "fatal error: internal error: stack overflow"
+msgstr "fatal error: internal error: stack overflow"
+
+#: main.c:1261
+#, c-format
+msgid "no pre-opened fd %d"
+msgstr "tidak ada pre-opened fd %d"
+
+#: main.c:1268
+#, c-format
+msgid "could not pre-open /dev/null for fd %d"
+msgstr "tidak dapat pre-open /dev/null untuk fd %d"
+
+#: main.c:1291 main.c:1300
+#, c-format
+msgid "could not find groups: %s"
+msgstr "tidak dapat menemukan grup: %s"
+
+#: msg.c:54
+#, c-format
+msgid "cmd. line:"
+msgstr "cmd. baris:"
+
+#: msg.c:120
+msgid "warning: "
+msgstr "peringatan: "
+
+#: msg.c:142
+msgid "error: "
+msgstr "error: "
+
+#: msg.c:178
+msgid "fatal: "
+msgstr "fatal: "
+
+#: node.c:63 node.c:78 node.c:105 node.c:121 node.c:151
+msgid "can't convert string to float"
+msgstr "tidak dapat mengubah string ke float"
+
+#: node.c:462
+msgid "backslash at end of string"
+msgstr "backslash di akhir dari string"
+
+#: node.c:606
+#, c-format
+msgid "old awk does not support the `\\%c' escape sequence"
+msgstr "awk lama tidak mendukung escape sequence `\\%c'"
+
+#: node.c:657
+msgid "POSIX does not allow `\\x' escapes"
+msgstr "POSIX tidak mengijinkan escapes `\\x'"
+
+#: node.c:663
+msgid "no hex digits in `\\x' escape sequence"
+msgstr "tidak ada digit heksa dalam escape sequence `\\x'"
+
+#: node.c:685
+#, c-format
+msgid ""
+"hex escape \\x%.*s of %d characters probably not interpreted the way you "
+"expect"
+msgstr ""
+"hex escape \\x%.*s dari karakter %d mungkin tidak dapat diinterpretrasikan "
+"seperti yang anda kira"
+
+#: node.c:700
+#, c-format
+msgid "escape sequence `\\%c' treated as plain `%c'"
+msgstr "escape sequence `\\%c' diperlakukan sebagai plain `%c'"
+
+#: posix/gawkmisc.c:172
+#, c-format
+msgid "%s %s `%s': could not set close-on-exec: (fcntl: %s)"
+msgstr "%s %s `%s': tidak dapat menset close-on-exec: (fcntl: %s)"
+
+#: profile.c:93
+#, c-format
+msgid "could not open `%s' for writing: %s"
+msgstr "tidak dapat membuka `%s' untuk penulisan: %s"
+
+#: profile.c:453
+#, c-format
+msgid "internal error: %s with null vname"
+msgstr "internal error: %s dengan null vname"
+
+#: profile.c:517
+#, fuzzy
+msgid "# treated internally as `delete'"
+msgstr "# diperlakukan secara internal sebagai 'delete'"
+
+#: profile.c:1069
+#, c-format
+msgid "# this is a dynamically loaded extension function"
+msgstr "# ini adalah sebuah fungsi yang secara dinamis diload ekstensi"
+
+#: profile.c:1100
+#, c-format
+msgid "\t# gawk profile, created %s\n"
+msgstr "\t# gawk profile, dibuat %s\n"
+
+#: profile.c:1103
+#, c-format
+msgid ""
+"\t# BEGIN block(s)\n"
+"\n"
+msgstr ""
+"\t # BEGIN blok\n"
+"\n"
+
+#: profile.c:1113
+#, c-format
+msgid ""
+"\t# Rule(s)\n"
+"\n"
+msgstr ""
+"\t# Aturan\n"
+"\n"
+
+#: profile.c:1119
+#, c-format
+msgid ""
+"\t# END block(s)\n"
+"\n"
+msgstr ""
+"\t# END blok\n"
+"\n"
+
+#: profile.c:1139
+#, c-format
+msgid ""
+"\n"
+"\t# Functions, listed alphabetically\n"
+msgstr ""
+"\n"
+"\t# Fungsi, terdaftar secara alphabet\n"
+
+#: profile.c:1400
+#, c-format
+msgid "unexpected type %s in prec_level"
+msgstr "tipe %s tidak terduga dalam prec_level"
+
+#: profile.c:1500
+#, c-format
+msgid "Unknown node type %s in pp_var"
+msgstr "tipe titik %s dalam pp_var tidak diketahui"
+
+#: regcomp.c:133
+msgid "Success"
+msgstr "Sukses"
+
+#: regcomp.c:136
+msgid "No match"
+msgstr "Tidak cocok"
+
+#: regcomp.c:139
+msgid "Invalid regular expression"
+msgstr "Ekspresi regular tidak valid"
+
+#: regcomp.c:142
+msgid "Invalid collation character"
+msgstr "Karakter kolasi tidak valid"
+
+#: regcomp.c:145
+msgid "Invalid character class name"
+msgstr "nama kelas karakter tidak valid"
+
+#: regcomp.c:148
+msgid "Trailing backslash"
+msgstr "Akhiran backslash"
+
+#: regcomp.c:151
+msgid "Invalid back reference"
+msgstr "Referensi balik tidak valid"
+
+#: regcomp.c:154
+msgid "Unmatched [ or [^"
+msgstr "Tidak cocok [ atau [^"
+
+#: regcomp.c:157
+msgid "Unmatched ( or \\("
+msgstr "Tidak cocok ( atau \\("
+
+#: regcomp.c:160
+msgid "Unmatched \\{"
+msgstr "Tidak cocok \\{"
+
+#: regcomp.c:163
+msgid "Invalid content of \\{\\}"
+msgstr "Isi dari \\{\\} tidak valid"
+
+#: regcomp.c:166
+msgid "Invalid range end"
+msgstr "Akhir jangkauan tidak valid"
+
+#: regcomp.c:169
+msgid "Memory exhausted"
+msgstr "Kehabisan memori"
+
+#: regcomp.c:172
+msgid "Invalid preceding regular expression"
+msgstr "Ekspresi regular yang mengawali tidak valid"
+
+#: regcomp.c:175
+msgid "Premature end of regular expression"
+msgstr "Akhir dari ekspresi regular prematur"
+
+#: regcomp.c:178
+msgid "Regular expression too big"
+msgstr "Ekspresi regular terlalu besar"
+
+#: regcomp.c:181
+msgid "Unmatched ) or \\)"
+msgstr "Tidak cocok ) atau \\)"
+
+#: regcomp.c:700
+msgid "No previous regular expression"
+msgstr "Tidak ada ekspresi regular sebelumnya"
+
+#~ msgid "%s: illegal option -- %c\n"
+#~ msgstr "%s: pilihan tidak legal -- %c\n"
diff -urN gawk-3.1.6/po/it.po gawk-3.1.7/po/it.po
--- gawk-3.1.6/po/it.po	2007-10-02 22:14:52.000000000 +0200
+++ gawk-3.1.7/po/it.po	2009-07-21 23:23:44.000000000 +0300
@@ -6,8 +6,8 @@
 msgstr ""
 "Project-Id-Version: gawk 3.1.5h\n"
 "Report-Msgid-Bugs-To: arnold@skeeve.com\n"
-"POT-Creation-Date: 2007-09-30 22:33+0200\n"
-"PO-Revision-Date: 2007-09-30 23:20+0100\n"
+"POT-Creation-Date: 2009-07-21 23:23+0300\n"
+"PO-Revision-Date: 2009-06-19 18:20+0100\n"
 "Last-Translator: Antonio Colombo <azc100@gmail.com>\n"
 "Language-Team: Italian <it@li.org>\n"
 "MIME-Version: 1.0\n"
@@ -74,324 +74,331 @@
 msgid "%s: array_ref to %s\n"
 msgstr "%s: referenza_vettoriale a %s\n"
 
-#: awkgram.y:215
+#: awkgram.y:218
 #, c-format
 msgid "%s blocks must have an action part"
 msgstr "blocchi %s richiedono una 'azione'"
 
-#: awkgram.y:218
+#: awkgram.y:221
 msgid "each rule must have a pattern or an action part"
 msgstr "ogni regola deve avere una parte 'espressione' o una parte 'azione'"
 
-#: awkgram.y:254 awkgram.y:263
+#: awkgram.y:257 awkgram.y:266
 msgid "old awk does not support multiple `BEGIN' or `END' rules"
 msgstr "il vecchio awk non supporta pi� di una regola `BEGIN' o `END'"
 
-#: awkgram.y:282
+#: awkgram.y:285
 #, c-format
 msgid "`%s' is a built-in function, it cannot be redefined"
 msgstr "`%s' � una funzione interna, non si pu� ridefinire"
 
-#: awkgram.y:328
+#: awkgram.y:331
 msgid "regexp constant `//' looks like a C++ comment, but is not"
 msgstr "espressione regolare costante `//' sembra un commento C, ma non lo �"
 
-#: awkgram.y:331
+#: awkgram.y:334
 #, c-format
 msgid "regexp constant `/%s/' looks like a C comment, but is not"
 msgstr "espressione regolare costante `/%s/' sembra un commento C, ma non lo �"
 
-#: awkgram.y:358 awkgram.y:653
+#: awkgram.y:361 awkgram.y:656
 msgid "statement may have no effect"
 msgstr "istruzione che pu� non aver alcun effetto"
 
-#: awkgram.y:455 awkgram.y:479
+#: awkgram.y:458 awkgram.y:482
 #, c-format
 msgid "`%s' used in %s action"
 msgstr "`%s' usato in 'azione' %s"
 
-#: awkgram.y:470 awkgram.y:474
+#: awkgram.y:473 awkgram.y:477
 msgid "`nextfile' is a gawk extension"
 msgstr "`nextfile' � un'estensione gawk"
 
-#: awkgram.y:489
+#: awkgram.y:492
 msgid "`return' used outside function context"
 msgstr "`return' usato fuori da una funzione"
 
-#: awkgram.y:531
+#: awkgram.y:534
 msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'"
 msgstr "`print' da solo in BEGIN o END dovrebbe forse essere `print \"\"'"
 
-#: awkgram.y:547 awkgram.y:555
+#: awkgram.y:550 awkgram.y:558
 msgid "`delete array' is a gawk extension"
 msgstr "`delete array' � un'estensione gawk"
 
-#: awkgram.y:569 awkgram.y:577
+#: awkgram.y:572 awkgram.y:580
 msgid "`delete(array)' is a non-portable tawk extension"
 msgstr "`delete(array)' � un'estensione tawk non-portabile"
 
-#: awkgram.y:621
+#: awkgram.y:624
 #, c-format
 msgid "duplicate case values in switch body: %s"
 msgstr "valori di 'case' doppi all'interno di uno 'switch': %s"
 
-#: awkgram.y:631
+#: awkgram.y:634
 msgid "Duplicate `default' detected in switch body"
 msgstr "Valori per difetto doppi all'interno di uno 'switch'"
 
-#: awkgram.y:720
+#: awkgram.y:723
 msgid "multistage two-way pipelines don't work"
 msgstr "'pipelines' multistadio bidirezionali non funzionano"
 
-#: awkgram.y:811
+#: awkgram.y:814
 msgid "regular expression on right of assignment"
 msgstr "espressione regolare usata per assegnare un valore"
 
-#: awkgram.y:834
+#: awkgram.y:824
 msgid "regular expression on left of `~' or `!~' operator"
 msgstr "espressione regolare prima di operatore `~' o `!~'"
 
-#: awkgram.y:840 awkgram.y:913
+#: awkgram.y:830 awkgram.y:903
 msgid "old awk does not support the keyword `in' except after `for'"
 msgstr "il vecchio awk non supporta la parola-chiave `in' se non dopo `for'"
 
-#: awkgram.y:846
+#: awkgram.y:836
 msgid "regular expression on right of comparison"
 msgstr "espressione regolare a destra in un confronto"
 
-#: awkgram.y:903
+#: awkgram.y:893
 msgid "non-redirected `getline' undefined inside END action"
 msgstr "`getline' non re-diretta indefinita dentro 'azione' END"
 
-#: awkgram.y:914
+#: awkgram.y:904
 msgid "old awk does not support multidimensional arrays"
 msgstr "il vecchio awk non supporta vettori multidimensionali"
 
-#: awkgram.y:960
+#: awkgram.y:950
 msgid "call of `length' without parentheses is not portable"
 msgstr "chiamata a `length' senza parentesi non portabile"
 
-#: awkgram.y:965
+#: awkgram.y:955
 msgid "call of `length' without parentheses is deprecated by POSIX"
 msgstr "chiamata a `length' senza parentesi sconsigliata da POSIX"
 
-#: awkgram.y:1019
+#: awkgram.y:1009
 msgid "use of non-array as array"
 msgstr "uso di non-vettore come vettore"
 
-#: awkgram.y:1022
+#: awkgram.y:1012
 msgid "invalid subscript expression"
 msgstr "espressione indice invalida"
 
-#: awkgram.y:1249
+#: awkgram.y:1257
 msgid "unexpected newline or end of string"
 msgstr "carattere 'a capo' o fine stringa inaspettati"
 
-#: awkgram.y:1366
+#: awkgram.y:1374
 msgid "empty program text on command line"
 msgstr "programma nullo sulla linea comandi"
 
-#: awkgram.y:1422
+#: awkgram.y:1430
 #, c-format
 msgid "can't open source file `%s' for reading (%s)"
 msgstr "non riesco ad aprire file sorgente `%s' in lettura (%s)"
 
-#: awkgram.y:1520
+#: awkgram.y:1528
 #, c-format
 msgid "can't read sourcefile `%s' (%s)"
 msgstr "non riesco a leggere file sorgente `%s' (%s)"
 
-#: awkgram.y:1528
+#: awkgram.y:1536
 #, c-format
 msgid "source file `%s' is empty"
 msgstr "file sorgente `%s' vuoto"
 
-#: awkgram.y:1720 awkgram.y:1842 awkgram.y:1860 awkgram.y:2235 awkgram.y:2322
+#: awkgram.y:1728 awkgram.y:1850 awkgram.y:1868 awkgram.y:2243 awkgram.y:2330
 msgid "source file does not end in newline"
 msgstr "file sorgente non termina con carattere 'a capo'"
 
-#: awkgram.y:1782
+#: awkgram.y:1790
 msgid "unterminated regexp ends with `\\' at end of file"
 msgstr "espressione regolare non completata termina con `\\' a fine file"
 
-#: awkgram.y:1806
+#: awkgram.y:1814
 #, c-format
 msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk"
 msgstr ""
 "%s: %d: modificatore di espressione regolare tawk `/.../%c' non valido in "
 "gawk"
 
-#: awkgram.y:1810
+#: awkgram.y:1818
 #, c-format
 msgid "tawk regex modifier `/.../%c' doesn't work in gawk"
 msgstr "modificatore di espressione regolare tawk `/.../%c' non valido in gawk"
 
-#: awkgram.y:1817
+#: awkgram.y:1825
 msgid "unterminated regexp"
 msgstr "espressione regolare non completata"
 
-#: awkgram.y:1820
+#: awkgram.y:1828
 msgid "unterminated regexp at end of file"
 msgstr "espressione regolare non completata a fine file"
 
-#: awkgram.y:1889
+#: awkgram.y:1897
 msgid "use of `\\ #...' line continuation is not portable"
 msgstr "uso di `\\ #...' continuazione linea non portabile"
 
-#: awkgram.y:1902
+#: awkgram.y:1910
 msgid "backslash not last character on line"
 msgstr "'\\' non � l'ultimo carattere della linea"
 
-#: awkgram.y:1947
+#: awkgram.y:1955
 msgid "POSIX does not allow operator `**='"
 msgstr "POSIX non permette l'operatore `**='"
 
-#: awkgram.y:1949
+#: awkgram.y:1957
 msgid "old awk does not support operator `**='"
 msgstr "il vecchio awk non supporta l'operatore `**='"
 
-#: awkgram.y:1958
+#: awkgram.y:1966
 msgid "POSIX does not allow operator `**'"
 msgstr "POSIX non permette l'operatore `**'"
 
-#: awkgram.y:1960
+#: awkgram.y:1968
 msgid "old awk does not support operator `**'"
 msgstr "il vecchio awk non supporta l'operatore `**'"
 
-#: awkgram.y:1991
+#: awkgram.y:1999
 msgid "operator `^=' is not supported in old awk"
 msgstr "l'operatore `^=' non � supportato nel vecchio awk"
 
-#: awkgram.y:1999
+#: awkgram.y:2007
 msgid "operator `^' is not supported in old awk"
 msgstr "l'operatore `^' non � supportato nel vecchio awk"
 
-#: awkgram.y:2083 awkgram.y:2098
+#: awkgram.y:2091 awkgram.y:2106
 msgid "unterminated string"
 msgstr "stringa non terminata"
 
-#: awkgram.y:2283
+#: awkgram.y:2291
 #, c-format
 msgid "invalid char '%c' in expression"
-msgstr "carattere '%c' invalido in un'espressione"
+msgstr "carattere '%c' non valido in un'espressione"
 
-#: awkgram.y:2331
+#: awkgram.y:2339
 #, c-format
 msgid "`%s' is a gawk extension"
 msgstr "`%s' � un'estensione gawk"
 
-#: awkgram.y:2334
+#: awkgram.y:2342
 #, c-format
 msgid "`%s' is a Bell Labs extension"
 msgstr "`%s' � un'estensione Bell Labs"
 
-#: awkgram.y:2337
+#: awkgram.y:2345
 #, c-format
 msgid "POSIX does not allow `%s'"
 msgstr "POSIX non permette `%s'"
 
-#: awkgram.y:2341
+#: awkgram.y:2349
 #, c-format
 msgid "`%s' is not supported in old awk"
 msgstr "`%s' non � supportato nel vecchio awk"
 
-#: awkgram.y:2367
+#: awkgram.y:2375
 msgid "`goto' considered harmful!\n"
 msgstr "`goto' considerato pericoloso!\n"
 
-#: awkgram.y:2429
+#: awkgram.y:2437
 #, c-format
 msgid "%d is invalid as number of arguments for %s"
-msgstr "%d invalido come numero di argomenti per %s"
+msgstr "%d non valido come numero di argomenti per %s"
 
-#: awkgram.y:2448 awkgram.y:2451
+#: awkgram.y:2456 awkgram.y:2459
 msgid "match: third argument is a gawk extension"
 msgstr "match: il terzo argomento � un'estensione gawk"
 
-#: awkgram.y:2464
+#: awkgram.y:2472
 #, c-format
 msgid "%s: string literal as last arg of substitute has no effect"
 msgstr "%s: una stringa come ultimo argomento di 'substitute' non ha effetto"
 
-#: awkgram.y:2467
+#: awkgram.y:2475
 #, c-format
 msgid "%s third parameter is not a changeable object"
 msgstr "il terzo parametro di '%s'  non � un oggetto modificabile"
 
-#: awkgram.y:2494 awkgram.y:2497
+#: awkgram.y:2502 awkgram.y:2505
 msgid "close: second argument is a gawk extension"
 msgstr "close: il secondo argomento � un'estensione gawk"
 
-#: awkgram.y:2507
+#: awkgram.y:2515
 msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore"
 msgstr ""
 "uso scorretto di dcgettext(_\"...\"): togliere il carattere '_' iniziale"
 
-#: awkgram.y:2522
+#: awkgram.y:2530
 msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore"
 msgstr ""
 "uso scorretto di dcngettext(_\"...\"): togliere il carattere '_' iniziale"
 
-#: awkgram.y:2594
+#: awkgram.y:2602
 #, c-format
 msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d"
 msgstr "funzione `%s': parametro #%d, `%s', duplica parametro #%d"
 
-#: awkgram.y:2627
+#: awkgram.y:2635
 #, c-format
 msgid "function `%s': parameter `%s' shadows global variable"
 msgstr "funzione `%s': parametro `%s' nasconde variabile globale"
 
-#: awkgram.y:2739
+#: awkgram.y:2747
 #, c-format
 msgid "could not open `%s' for writing (%s)"
 msgstr "non riesco ad aprire `%s' in scrittura (%s)"
 
-#: awkgram.y:2740 profile.c:94
+#: awkgram.y:2748 profile.c:95
 msgid "sending profile to standard error"
 msgstr "mando profilo a 'standard error'"
 
-#: awkgram.y:2772
+#: awkgram.y:2780
 #, c-format
 msgid "%s: close failed (%s)"
 msgstr "%s: 'close' fallita (%s)"
 
-#: awkgram.y:2893
+#: awkgram.y:2901
 msgid "shadow_funcs() called twice!"
 msgstr "shadow_funcs() chiamata due volte!"
 
-#: awkgram.y:2920
+#: awkgram.y:2928
 msgid "there were shadowed variables."
 msgstr "c'erano variabili nascoste."
 
-#: awkgram.y:2993
+#: awkgram.y:3001
 #, c-format
 msgid "function `%s': can't use function name as parameter name"
 msgstr "funzione `%s': non posso usare nome della funzione come nome parametro"
 
-#: awkgram.y:3003
+#: awkgram.y:3004
+#, c-format
+msgid "function `%s': can't use special variable `%s' as a function parameter"
+msgstr ""
+"funzione `%s': non posso usare la variabile speciale `%s' come parametro di "
+"funzione"
+
+#: awkgram.y:3014
 #, c-format
 msgid "function name `%s' previously defined"
 msgstr "funzione di nome `%s' definita in precedenza"
 
-#: awkgram.y:3154 awkgram.y:3160
+#: awkgram.y:3165 awkgram.y:3171
 #, c-format
 msgid "function `%s' called but never defined"
 msgstr "funzione `%s' chiamata ma mai definita"
 
-#: awkgram.y:3163
+#: awkgram.y:3174
 #, c-format
 msgid "function `%s' defined but never called"
 msgstr "funzione `%s' definita ma mai chiamata"
 
-#: awkgram.y:3190
+#: awkgram.y:3201
 #, c-format
 msgid "regexp constant for parameter #%d yields boolean value"
 msgstr ""
 "espressione regolare di valore costante per parametro #%d genera valore "
 "booleano"
 
-#: awkgram.y:3234
+#: awkgram.y:3245
 #, c-format
 msgid ""
 "function `%s' called with space between name and `(',\n"
@@ -400,199 +407,230 @@
 "funzione `%s' chiamata con spazio tra il nome e `(',\n"
 "o usata come variabile o vettore"
 
-#: builtin.c:119
+#: awkgram.y:3667 eval.c:1394
+#, c-format
+msgid "division by zero attempted in `%%'"
+msgstr "divisione per zero tentata in `%%'"
+
+#: builtin.c:122
 #, c-format
 msgid "%s to \"%s\" failed (%s)"
 msgstr "%s a \"%s\" fallita (%s)"
 
-#: builtin.c:120
+#: builtin.c:123
 msgid "standard output"
 msgstr "standard output"
 
-#: builtin.c:121
+#: builtin.c:124
 msgid "reason unknown"
 msgstr "ragione indeterminata"
 
-#: builtin.c:134
+#: builtin.c:137
 msgid "exp: received non-numeric argument"
 msgstr "exp: argomento non numerico"
 
-#: builtin.c:140
+#: builtin.c:143
 #, c-format
 msgid "exp: argument %g is out of range"
 msgstr "exp: argomento %g non accettabile"
 
-#: builtin.c:198
+#: builtin.c:201
 #, c-format
 msgid "fflush: cannot flush: pipe `%s' opened for reading, not writing"
 msgstr ""
 "fflush: non posso scaricare: 'pipe' `%s' aperta in lettura, non in scrittura"
 
-#: builtin.c:201
+#: builtin.c:204
 #, c-format
 msgid "fflush: cannot flush: file `%s' opened for reading, not writing"
 msgstr ""
 "fflush: non posso scaricare: file `%s' aperto in lettura, non in scrittura"
 
-#: builtin.c:213
+#: builtin.c:216
 #, c-format
 msgid "fflush: `%s' is not an open file, pipe or co-process"
 msgstr "fflush: `%s' non � un file aperto, una 'pipe' o un co-processo"
 
-#: builtin.c:306
+#: builtin.c:310
 msgid "index: received non-string first argument"
 msgstr "index: il primo argomento non � una stringa"
 
-#: builtin.c:308
+#: builtin.c:312
 msgid "index: received non-string second argument"
 msgstr "index: il secondo argomento non � una stringa"
 
-#: builtin.c:423
+#: builtin.c:434
 msgid "int: received non-numeric argument"
 msgstr "int: argomento non numerico"
 
-#: builtin.c:448
+#: builtin.c:464
 msgid "`length(array)' is a gawk extension"
 msgstr "`length(array)' � un'estensione gawk"
 
-#: builtin.c:458
+#: builtin.c:473
+msgid "length: untyped argument will be forced to scalar"
+msgstr "length: l'argomento omesso sar� ritenuto scalare"
+
+#: builtin.c:477
 msgid "length: received non-string argument"
 msgstr "length: l'argomento non � una stringa"
 
-#: builtin.c:483
+#: builtin.c:508
 msgid "log: received non-numeric argument"
 msgstr "log: argomento non numerico"
 
-#: builtin.c:486
+#: builtin.c:511
 #, c-format
 msgid "log: received negative argument %g"
 msgstr "log: argomento negativo %g"
 
-#: builtin.c:693 builtin.c:696
+#: builtin.c:719 builtin.c:722
 msgid "must use `count$' on all formats or none"
 msgstr "'count$' va usato per tutti i formati o per nessuno"
 
-#: builtin.c:799
+#: builtin.c:783
+#, c-format
+msgid "field width is ignored for `%%%%' specifier"
+msgstr "larghezza campo ignorata per lo specificatore `%%%%'"
+
+#: builtin.c:785
+#, c-format
+msgid "precision is ignored for `%%%%' specifier"
+msgstr "precisione ignorata per lo specificatore `%%%%'"
+
+#: builtin.c:787
+#, c-format
+msgid "field width and precision are ignored for `%%%%' specifier"
+msgstr "larghezza e precisione ignorate per lo specificatore `%%%%'"
+
+#: builtin.c:838
 msgid "`$' is not permitted in awk formats"
 msgstr "`$' non permesso nei 'format' awk"
 
-#: builtin.c:805
+#: builtin.c:844
 msgid "arg count with `$' must be > 0"
 msgstr "il numero di argomento con `$' deve essere > 0"
 
-#: builtin.c:807
+#: builtin.c:846
 #, c-format
 msgid "arg count %ld greater than total number of supplied arguments"
 msgstr ""
 "numero di argomenti (%ld) maggiore del numero totale di argomenti specificati"
 
-#: builtin.c:809
+#: builtin.c:848
 msgid "`$' not permitted after period in format"
 msgstr "`$' non permesso dopo un punto nel 'format'"
 
-#: builtin.c:822
+#: builtin.c:861
 msgid "no `$' supplied for positional field width or precision"
 msgstr ""
 "nessun `$' specificato per larghezza o precisione di un campo posizionale"
 
-#: builtin.c:888
+#: builtin.c:927
 msgid "`l' is meaningless in awk formats; ignored"
 msgstr "`l' non ha senso nei 'format' awk; ignorata"
 
-#: builtin.c:892
+#: builtin.c:931
 msgid "`l' is not permitted in POSIX awk formats"
 msgstr "`l' non permessa nei 'format' awk POSIX"
 
-#: builtin.c:903
+#: builtin.c:942
 msgid "`L' is meaningless in awk formats; ignored"
 msgstr "`L' non ha senso nei 'format' awk; ignorata"
 
-#: builtin.c:907
+#: builtin.c:946
 msgid "`L' is not permitted in POSIX awk formats"
 msgstr "`L' non permessa nei 'format' awk POSIX"
 
-#: builtin.c:918
+#: builtin.c:957
 msgid "`h' is meaningless in awk formats; ignored"
 msgstr "`h' non ha senso nei 'format' awk; ignorata"
 
-#: builtin.c:922
+#: builtin.c:961
 msgid "`h' is not permitted in POSIX awk formats"
 msgstr "`h' non permessa nei 'format' awk POSIX"
 
-#: builtin.c:1182
+#: builtin.c:1236
 #, c-format
 msgid "[s]printf: value %g is out of range for `%%%c' format"
 msgstr "[s]printf: valore %g non accettabile per il 'format' `%%%c'"
 
-#: builtin.c:1266
+#: builtin.c:1316
+#, c-format
+msgid "ignoring unknown format specifier character `%c': no argument converted"
+msgstr ""
+"lettera ignota di specifica 'format' `%c' ignorato: nessun argomento "
+"convertito"
+
+#: builtin.c:1322
 msgid "not enough arguments to satisfy format string"
 msgstr "mancano argomenti per completare il 'format'"
 
-#: builtin.c:1268
+#: builtin.c:1324
 msgid "^ ran out for this one"
 msgstr "^ uscito per questo"
 
-#: builtin.c:1274
+#: builtin.c:1330
 msgid "[s]printf: format specifier does not have control letter"
 msgstr "[s]printf: il designatore di 'format' non ha una lettera di controllo"
 
-#: builtin.c:1277
+#: builtin.c:1333
 msgid "too many arguments supplied for format string"
 msgstr "troppi argomenti specificati per il 'format'"
 
-#: builtin.c:1352 builtin.c:1355
+#: builtin.c:1408 builtin.c:1411
 msgid "printf: no arguments"
 msgstr "printf: manca argomento"
 
-#: builtin.c:1379
+#: builtin.c:1435
 msgid "sqrt: received non-numeric argument"
 msgstr "sqrt: argomento non numerico"
 
-#: builtin.c:1383
+#: builtin.c:1439
 #, c-format
 msgid "sqrt: called with negative argument %g"
 msgstr "sqrt: chiamata con argomento negativo %g"
 
-#: builtin.c:1407
+#: builtin.c:1463
 #, c-format
 msgid "substr: start index %g is invalid, using 1"
-msgstr "substr: indice di partenza %g invalido, uso 1"
+msgstr "substr: indice di partenza %g non valido, uso 1"
 
-#: builtin.c:1412
+#: builtin.c:1468
 #, c-format
 msgid "substr: non-integer start index %g will be truncated"
 msgstr "substr: indice di partenza non intero %g: sar� troncato"
 
-#: builtin.c:1431
+#: builtin.c:1494
 #, c-format
 msgid "substr: length %g is not >= 1"
 msgstr "substr: lunghezza %g non >= 1"
 
-#: builtin.c:1433
+#: builtin.c:1496
 #, c-format
 msgid "substr: length %g is not >= 0"
 msgstr "substr: lunghezza %g non >= 0"
 
-#: builtin.c:1440
+#: builtin.c:1503
 #, c-format
 msgid "substr: non-integer length %g will be truncated"
 msgstr "substr: lunghezza non intera %g: sar� truncata"
 
-#: builtin.c:1445
+#: builtin.c:1508
 #, c-format
 msgid "substr: length %g too big for string indexing, truncating to %g"
 msgstr "substr: lunghezza %g troppo elevata per indice stringa, tronco a %g"
 
-#: builtin.c:1457
+#: builtin.c:1520
 msgid "substr: source string is zero length"
 msgstr "substr: stringa di partenza lunga zero"
 
-#: builtin.c:1473
+#: builtin.c:1536
 #, c-format
 msgid "substr: start index %g is past end of string"
 msgstr "substr: indice di partenza %g oltre la fine della stringa"
 
-#: builtin.c:1481
+#: builtin.c:1544
 #, c-format
 msgid ""
 "substr: length %g at start index %g exceeds length of first argument (%lu)"
@@ -600,259 +638,259 @@
 "substr: lunghezza %g all'indice di partenza %g supera la lunghezza del primo "
 "argomento (%lu)"
 
-#: builtin.c:1558
+#: builtin.c:1621
 msgid "strftime: received non-string first argument"
 msgstr "strftime: il primo argomento non � una stringa"
 
-#: builtin.c:1564
+#: builtin.c:1627
 msgid "strftime: received empty format string"
 msgstr "strftime: 'format' � una stringa nulla"
 
-#: builtin.c:1573
+#: builtin.c:1636
 msgid "strftime: received non-numeric second argument"
 msgstr "strftime: il secondo argomento non � numerico"
 
-#: builtin.c:1650
+#: builtin.c:1713
 msgid "mktime: received non-string argument"
 msgstr "mktime: l'argomento non � una stringa"
 
-#: builtin.c:1695
+#: builtin.c:1758
 msgid "system: received non-string argument"
 msgstr "system: l'argomento non � una stringa"
 
-#: builtin.c:1816 eval.c:2041
+#: builtin.c:1879 eval.c:2145
 #, c-format
 msgid "reference to uninitialized field `$%d'"
 msgstr "referenza a variabile non inizializzata `$%d'"
 
-#: builtin.c:1921
+#: builtin.c:1984
 msgid "tolower: received non-string argument"
 msgstr "tolower: l'argomento non � una stringa"
 
-#: builtin.c:1951
+#: builtin.c:2014
 msgid "toupper: received non-string argument"
 msgstr "toupper: l'argomento non � una stringa"
 
-#: builtin.c:1984
+#: builtin.c:2047
 msgid "atan2: received non-numeric first argument"
 msgstr "atan2: il primo argomento non � numerico"
 
-#: builtin.c:1986
+#: builtin.c:2049
 msgid "atan2: received non-numeric second argument"
 msgstr "atan2: il secondo argomento non � numerico"
 
-#: builtin.c:2005
+#: builtin.c:2068
 msgid "sin: received non-numeric argument"
 msgstr "sin: l'argomento non � numerico"
 
-#: builtin.c:2021
+#: builtin.c:2084
 msgid "cos: received non-numeric argument"
 msgstr "cos: l'argomento non � numerico"
 
-#: builtin.c:2071
+#: builtin.c:2137
 msgid "srand: received non-numeric argument"
 msgstr "srand: l'argomento non � numerico"
 
-#: builtin.c:2106
+#: builtin.c:2172
 msgid "match: third argument is not an array"
 msgstr "match: il terzo argomento non � un vettore"
 
-#: builtin.c:2650
+#: builtin.c:2719
 msgid "gensub: third argument of 0 treated as 1"
 msgstr "gensub: il terzo argomento � 0, trattato come 1"
 
-#: builtin.c:2766
+#: builtin.c:2835
 msgid "lshift: received non-numeric first argument"
 msgstr "lshift: il primo argomento non � numerico"
 
-#: builtin.c:2768
+#: builtin.c:2837
 msgid "lshift: received non-numeric second argument"
 msgstr "lshift: il secondo argomento non � numerico"
 
-#: builtin.c:2774
+#: builtin.c:2843
 #, c-format
 msgid "lshift(%lf, %lf): negative values will give strange results"
 msgstr "lshift(%lf, %lf): valori negativi daranno risultati strani"
 
-#: builtin.c:2776
+#: builtin.c:2845
 #, c-format
 msgid "lshift(%lf, %lf): fractional values will be truncated"
 msgstr "lshift(%lf, %lf): valori con decimali verranno troncati"
 
-#: builtin.c:2778
+#: builtin.c:2847
 #, c-format
 msgid "lshift(%lf, %lf): too large shift value will give strange results"
 msgstr "lshift(%lf, %lf): valori troppo alti daranno risultati strani"
 
-#: builtin.c:2804
+#: builtin.c:2873
 msgid "rshift: received non-numeric first argument"
 msgstr "rshift: il primo argomento non � numerico"
 
-#: builtin.c:2806
+#: builtin.c:2875
 msgid "rshift: received non-numeric second argument"
 msgstr "rshift: il secondo argomento non � numerico"
 
-#: builtin.c:2812
+#: builtin.c:2881
 #, c-format
 msgid "rshift(%lf, %lf): negative values will give strange results"
 msgstr "rshift(%lf, %lf): valori negativi daranno risultati strani"
 
-#: builtin.c:2814
+#: builtin.c:2883
 #, c-format
 msgid "rshift(%lf, %lf): fractional values will be truncated"
 msgstr "rshift(%lf, %lf): valori con decimali verranno troncati"
 
-#: builtin.c:2816
+#: builtin.c:2885
 #, c-format
 msgid "rshift(%lf, %lf): too large shift value will give strange results"
 msgstr "rshift(%lf, %lf): valori troppo alti daranno risultati strani"
 
-#: builtin.c:2842
+#: builtin.c:2911
 msgid "and: received non-numeric first argument"
 msgstr "and: il primo argomento non � numerico"
 
-#: builtin.c:2844
+#: builtin.c:2913
 msgid "and: received non-numeric second argument"
 msgstr "and: il secondo argomento non � numerico"
 
-#: builtin.c:2850
+#: builtin.c:2919
 #, c-format
 msgid "and(%lf, %lf): negative values will give strange results"
 msgstr "and(%lf, %lf): valori negativi daranno risultati strani"
 
-#: builtin.c:2852
+#: builtin.c:2921
 #, c-format
 msgid "and(%lf, %lf): fractional values will be truncated"
 msgstr "and(%lf, %lf): valori con decimali verranno troncati"
 
-#: builtin.c:2878
+#: builtin.c:2947
 msgid "or: received non-numeric first argument"
 msgstr "or: il primo argomento non � numerico"
 
-#: builtin.c:2880
+#: builtin.c:2949
 msgid "or: received non-numeric second argument"
 msgstr "or: il secondo argomento non � numerico"
 
-#: builtin.c:2886
+#: builtin.c:2955
 #, c-format
 msgid "or(%lf, %lf): negative values will give strange results"
 msgstr "or(%lf, %lf): valori negativi daranno risultati strani"
 
-#: builtin.c:2888
+#: builtin.c:2957
 #, c-format
 msgid "or(%lf, %lf): fractional values will be truncated"
 msgstr "or(%lf, %lf): valori con decimali verranno troncati"
 
-#: builtin.c:2914
+#: builtin.c:2983
 msgid "xor: received non-numeric first argument"
 msgstr "xor: il primo argomento non � numerico"
 
-#: builtin.c:2916
+#: builtin.c:2985
 msgid "xor: received non-numeric second argument"
 msgstr "xor: il secondo argomento non � numerico"
 
-#: builtin.c:2922
+#: builtin.c:2991
 #, c-format
 msgid "xor(%lf, %lf): negative values will give strange results"
 msgstr "xor(%lf, %lf): valori negativi daranno risultati strani"
 
-#: builtin.c:2924
+#: builtin.c:2993
 #, c-format
 msgid "xor(%lf, %lf): fractional values will be truncated"
 msgstr "xor(%lf, %lf): valori con decimali verranno troncati"
 
-#: builtin.c:2948
+#: builtin.c:3017
 msgid "compl: received non-numeric argument"
 msgstr "compl: l'argomento non � numerico"
 
-#: builtin.c:2954
+#: builtin.c:3023
 #, c-format
 msgid "compl(%lf): negative value will give strange results"
 msgstr "compl(%lf): valore negativo dar� risultati strani"
 
-#: builtin.c:2956
+#: builtin.c:3025
 #, c-format
 msgid "compl(%lf): fractional value will be truncated"
 msgstr "compl(%lf): valore con decimali verr� troncato"
 
-#: builtin.c:3129
+#: builtin.c:3198
 #, c-format
 msgid "dcgettext: `%s' is not a valid locale category"
 msgstr "dcgettext: `%s' non � una categoria 'locale' valida"
 
-#: eval.c:303
+#: eval.c:372
 #, c-format
 msgid "unknown nodetype %d"
 msgstr "tipo nodo sconosciuto %d"
 
-#: eval.c:353
+#: eval.c:422
 msgid "buffer overflow in genflags2str"
 msgstr "superament limiti buffer in 'genflags2str'"
 
-#: eval.c:385 eval.c:391 profile.c:817
+#: eval.c:454 eval.c:460 profile.c:781
 #, c-format
 msgid "attempt to use array `%s' in a scalar context"
 msgstr "tentativo di usare vettore `%s' in un contesto scalare"
 
-#: eval.c:733
+#: eval.c:802
 #, c-format
 msgid "for loop: array `%s' changed size from %ld to %ld during loop execution"
 msgstr ""
 "ciclo for: vettore `%s' ha cambiato dimensione da %ld a %ld durante "
 "l'esecuzione del ciclo"
 
-#: eval.c:754
+#: eval.c:823
 msgid "`break' outside a loop is not portable"
 msgstr "`break' all'esterno di un ciclo non � portabile"
 
-#: eval.c:758
+#: eval.c:827
 msgid "`break' outside a loop is not allowed"
 msgstr "`break' all'esterno di un ciclo non � consentito"
 
-#: eval.c:775
+#: eval.c:844
 msgid "`continue' outside a loop is not portable"
 msgstr "`continue' all'esterno di un ciclo non � portabile"
 
-#: eval.c:779
+#: eval.c:848
 msgid "`continue' outside a loop is not allowed"
 msgstr "`continue' all'esterno di un ciclo non � consentito"
 
-#: eval.c:813
+#: eval.c:882
 msgid "`next' cannot be called from a BEGIN rule"
 msgstr "`next' non pu� essere chiamato da una regola BEGIN"
 
-#: eval.c:815
+#: eval.c:884
 msgid "`next' cannot be called from an END rule"
 msgstr "`next' non pu� essere chiamato da una regola END"
 
-#: eval.c:824
+#: eval.c:893
 msgid "`nextfile' cannot be called from a BEGIN rule"
 msgstr "`nextfile' non pu� essere chiamato da una regola BEGIN"
 
-#: eval.c:826
+#: eval.c:895
 msgid "`nextfile' cannot be called from an END rule"
 msgstr "`nextfile' non pu� essere chiamato da una regola END"
 
-#: eval.c:875
+#: eval.c:952
 msgid "statement has no effect"
 msgstr "istruzione che non fa nulla"
 
-#: eval.c:952 eval.c:1895
+#: eval.c:1029 eval.c:1999
 #, c-format
 msgid "can't use function name `%s' as variable or array"
 msgstr "non posso usare nome di funzione `%s' come variabile o vettore"
 
-#: eval.c:959 eval.c:965
+#: eval.c:1036 eval.c:1042
 #, c-format
 msgid "reference to uninitialized argument `%s'"
 msgstr "referenza ad argomento non inizializzato `%s'"
 
-#: eval.c:974 eval.c:1904
+#: eval.c:1051 eval.c:2008
 #, c-format
 msgid "reference to uninitialized variable `%s'"
 msgstr "referenza a variabile non inizializzata `%s'"
 
-#: eval.c:1120
+#: eval.c:1197
 msgid ""
 "concatenation: side effects in one expression have changed the length of "
 "another!"
@@ -860,44 +898,39 @@
 "concatenatione: effetti secondari in una espressione hanno modificato la "
 "lunghezza di un'altra espressione!"
 
-#: eval.c:1202
+#: eval.c:1301
 msgid "assignment used in conditional context"
 msgstr "assegnamento usato nel contesto di un test condizionale"
 
-#: eval.c:1280
+#: eval.c:1379
 msgid "division by zero attempted"
 msgstr "tentativo di dividere per zero"
 
-#: eval.c:1295
-#, c-format
-msgid "division by zero attempted in `%%'"
-msgstr "divisione per zero tentata in `%%'"
-
-#: eval.c:1310 profile.c:693
+#: eval.c:1409 profile.c:657
 #, c-format
 msgid "illegal type (%s) in tree_eval"
 msgstr "tipo non ammesso (%s) in 'tree_eval'"
 
-#: eval.c:1473
+#: eval.c:1572
 msgid "division by zero attempted in `/='"
 msgstr "divisione per zero tentata in `/='"
 
-#: eval.c:1495
+#: eval.c:1594
 #, c-format
 msgid "division by zero attempted in `%%='"
 msgstr "divisione per zero tentata in `%%='"
 
-#: eval.c:1760
+#: eval.c:1859
 #, c-format
 msgid "function `%s' called with more arguments than declared"
 msgstr "funzione `%s' chiamata con pi� argomenti di quelli previsti"
 
-#: eval.c:1804
+#: eval.c:1904
 #, c-format
 msgid "function `%s' not defined"
 msgstr "funzione `%s' non definita"
 
-#: eval.c:1867
+#: eval.c:1971
 #, c-format
 msgid ""
 "\n"
@@ -908,42 +941,47 @@
 "\t# 'Stack' (Pila) Chiamate Funzione:\n"
 "\n"
 
-#: eval.c:1870
+#: eval.c:1974
 #, c-format
 msgid "\t# -- main --\n"
 msgstr "\t# -- principale --\n"
 
-#: eval.c:2025
+#: eval.c:2129
 msgid "attempt to field reference from non-numeric value"
 msgstr "tentativo di referenziare campo da valore non numerico"
 
-#: eval.c:2027
+#: eval.c:2131
 msgid "attempt to reference from null string"
 msgstr "tentativo to referenziare da stringa nulla"
 
-#: eval.c:2033
+#: eval.c:2137
 #, c-format
 msgid "attempt to access field %d"
 msgstr "tentativo di accedere al campo %d"
 
-#: eval.c:2054 eval.c:2061 profile.c:914
+#: eval.c:2158 eval.c:2165 profile.c:836
 msgid "assignment is not allowed to result of builtin function"
 msgstr "assegnamento non permesso al risultato di una funzione interna"
 
-#: eval.c:2125
+#: eval.c:2229
 msgid "`IGNORECASE' is a gawk extension"
 msgstr "`IGNORECASE' � un'estensione gawk"
 
-#: eval.c:2155
+#: eval.c:2258
 msgid "`BINMODE' is a gawk extension"
 msgstr "`BINMODE' � un'estensione gawk"
 
-#: eval.c:2277
+#: eval.c:2316
+#, c-format
+msgid "BINMODE value `%s' is invalid, treated as 3"
+msgstr "valore di BINMODE `%s' non valido, considerato come 3"
+
+#: eval.c:2406
 #, c-format
 msgid "bad `%sFMT' specification `%s'"
 msgstr "specificazione invalida `%sFMT' `%s'"
 
-#: eval.c:2355
+#: eval.c:2484
 msgid "turning off `--lint' due to assignment to `LINT'"
 msgstr "disabilito `--lint' a causa di assegnamento a `LINT'"
 
@@ -1020,555 +1058,563 @@
 msgid "NF set to negative value"
 msgstr "NF impostato a un valore negativo"
 
-#: field.c:823
+#: field.c:875
 msgid "split: second argument is not an array"
 msgstr "split: il secondo argomento non � un vettore"
 
-#: field.c:857
+#: field.c:909
 msgid "split: null string for third arg is a gawk extension"
 msgstr "split: la stringa nulla come terzo arg. � un'estensione gawk"
 
-#: field.c:909
+#: field.c:961
 msgid "`FIELDWIDTHS' is a gawk extension"
 msgstr "`FIELDWIDTHS' � un'estensione gawk"
 
-#: field.c:939 field.c:953
+#: field.c:991 field.c:1005
 #, c-format
 msgid "invalid FIELDWIDTHS value, near `%s'"
-msgstr "valore di FIELDWIDTHS invalido, vicino a `%s'"
+msgstr "valore di FIELDWIDTHS non valido, vicino a `%s'"
 
-#: field.c:1036
+#: field.c:1088
 msgid "null string for `FS' is a gawk extension"
 msgstr "la stringa nulla usata come `FS' � un'estensione gawk"
 
-#: field.c:1040
+#: field.c:1092
 msgid "old awk does not support regexps as value of `FS'"
 msgstr "il vecchio awk non supporta espressioni come valori di `FS'"
 
-#: getopt.c:571 getopt.c:587
+#: getopt.c:570 getopt.c:586
 #, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: opzione `%s' ambigua\n"
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: opzione '%s' ambigua\n"
 
-#: getopt.c:620 getopt.c:624
+#: getopt.c:619 getopt.c:623
 #, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: opzione `--%s' non prevede un argomento\n"
+msgid "%s: option '--%s' doesn't allow an argument\n"
+msgstr "%s: l'opzione '--%s' non ammette un argomento\n"
 
-#: getopt.c:633 getopt.c:638
+#: getopt.c:632 getopt.c:637
 #, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: opzione `%c%s' non prevede un argomento\n"
+msgid "%s: option '%c%s' doesn't allow an argument\n"
+msgstr "%s: l'opzione '%c%s' non ammette un argomento\n"
 
-#: getopt.c:681 getopt.c:700 getopt.c:1016 getopt.c:1035
+#: getopt.c:680 getopt.c:699 getopt.c:1002 getopt.c:1021
 #, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: opzione `%s' richiede un argomento\n"
+msgid "%s: option '%s' requires an argument\n"
+msgstr "%s: l'opzione '%s' richiede un argomento\n"
 
-#: getopt.c:738 getopt.c:741
+#: getopt.c:737 getopt.c:740
 #, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: opzione sconosciuta `--%s'\n"
+msgid "%s: unrecognized option '--%s'\n"
+msgstr "%s: opzione sconosciuta '--%s'\n"
 
-#: getopt.c:749 getopt.c:752
+#: getopt.c:748 getopt.c:751
 #, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: opzione sconosciuta `%c%s'\n"
+msgid "%s: unrecognized option '%c%s'\n"
+msgstr "%s: opzione sconosciuta '%c%s'\n"
 
-#: getopt.c:804 getopt.c:807
+#: getopt.c:800 getopt.c:803
 #, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: opzione non permessa -- %c\n"
+msgid "%s: invalid option -- '%c'\n"
+msgstr "%s: opzione non valida -- '%c'\n"
 
-#: getopt.c:813 getopt.c:816
+#: getopt.c:853 getopt.c:870 getopt.c:1073 getopt.c:1091
 #, c-format
-msgid "%s: invalid option -- %c\n"
-msgstr "%s: opzione non valida -- %c\n"
-
-#: getopt.c:868 getopt.c:884 getopt.c:1088 getopt.c:1106 main.c:461
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: l'opzione richiede un argomento -- %c\n"
+msgid "%s: option requires an argument -- '%c'\n"
+msgstr "%s: l'opzione richiede un argomento -- '%c'\n"
 
-#: getopt.c:937 getopt.c:953
+#: getopt.c:923 getopt.c:939
 #, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: opzione `-W %s' ambigua\n"
+msgid "%s: option '-W %s' is ambiguous\n"
+msgstr "%s: l'opzione '-W %s' � ambigua\n"
 
-#: getopt.c:977 getopt.c:995
+#: getopt.c:963 getopt.c:981
 #, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: opzione `-W %s' non prevede un argomento\n"
+msgid "%s: option '-W %s' doesn't allow an argument\n"
+msgstr "%s: l'opzione '-W %s' non ammette un argomento\n"
 
-#: io.c:345
+#: io.c:322 io.c:352
 #, c-format
 msgid "cannot open file `%s' for reading (%s)"
 msgstr "non riesco ad aprire file `%s' in lettura (%s)"
 
-#: io.c:436
+#: io.c:443
 #, c-format
 msgid "close of fd %d (`%s') failed (%s)"
 msgstr "chiusura di fd %d (`%s') fallita (%s)"
 
-#: io.c:575
+#: io.c:583
 #, c-format
 msgid "invalid tree type %s in redirect()"
-msgstr "tipo di albero invalido %s in redirect()"
+msgstr "tipo di albero non valido %s in redirect()"
 
-#: io.c:581
+#: io.c:589
 #, c-format
 msgid "expression in `%s' redirection only has numeric value"
 msgstr "espressione nella re-direzione `%s' ha solo un valore numerico"
 
-#: io.c:587
+#: io.c:595
 #, c-format
 msgid "expression for `%s' redirection has null string value"
 msgstr "espressione nella re-direzione `%s' ha per valore la stringa nulla"
 
-#: io.c:592
+#: io.c:600
 #, c-format
 msgid "filename `%s' for `%s' redirection may be result of logical expression"
 msgstr ""
 "nome file `%s' per la re-direzione `%s' pu� essere il risultato di una "
 "espressione logica"
 
-#: io.c:630
+#: io.c:638
 #, c-format
 msgid "unnecessary mixing of `>' and `>>' for file `%.*s'"
 msgstr "mistura non necessaria di `>' e `>>' per il file `%.*s'"
 
-#: io.c:682
+#: io.c:685
 #, c-format
 msgid "can't open pipe `%s' for output (%s)"
 msgstr "non posso aprire 'pipe' `%s' in scrittura (%s)"
 
-#: io.c:691
+#: io.c:694
 #, c-format
 msgid "can't open pipe `%s' for input (%s)"
 msgstr "non posso aprire 'pipe' `%s' in lettura (%s)"
 
-#: io.c:698 io.c:1448
-#, c-format
-msgid "file `%s' is a directory"
-msgstr "file `%s' � una 'directory'"
-
-#: io.c:706
+#: io.c:712
 #, c-format
 msgid "can't open two way socket `%s' for input/output (%s)"
 msgstr ""
 "non posso aprire 'socket' bidirezionale `%s' per lettura/scrittura (%s)"
 
-#: io.c:710
+#: io.c:716
 #, c-format
 msgid "can't open two way pipe `%s' for input/output (%s)"
 msgstr "non posso aprire 'pipe' bidirezionale `%s' per lettura/scrittura (%s)"
 
-#: io.c:786
+#: io.c:793
 #, c-format
 msgid "can't redirect from `%s' (%s)"
 msgstr "non posso re-dirigere da `%s' (%s)"
 
-#: io.c:789
+#: io.c:796
 #, c-format
 msgid "can't redirect to `%s' (%s)"
 msgstr "non posso re-dirigere a `%s' (%s)"
 
-#: io.c:828
+#: io.c:849
 msgid ""
 "reached system limit for open files: starting to multiplex file descriptors"
 msgstr ""
 "numero massimo consentito di file aperti raggiunto: comincio a riutilizzare "
 "i descrittori di file"
 
-#: io.c:844
+#: io.c:865
 #, c-format
 msgid "close of `%s' failed (%s)."
 msgstr "chiusura di `%s' fallita (%s)."
 
-#: io.c:852
+#: io.c:873
 msgid "too many pipes or input files open"
 msgstr "troppe 'pipe' o file di input aperti"
 
-#: io.c:875
+#: io.c:896
 msgid "close: second argument must be `to' or `from'"
 msgstr "close: il secondo argomento deve essere `a' o `da'"
 
-#: io.c:889
+#: io.c:910
 #, c-format
 msgid "close: `%.*s' is not an open file, pipe or co-process"
 msgstr "close: `%.*s' non � un file aperto, una 'pipe' o un co-processo"
 
-#: io.c:893
+#: io.c:915
 msgid "close of redirection that was never opened"
 msgstr "chiusura di una re-direzione mai aperta"
 
-#: io.c:989
+#: io.c:1012
 #, c-format
 msgid "close: redirection `%s' not opened with `|&', second argument ignored"
 msgstr "close: re-direzione `%s' non aperta con `|&', ignoro secondo argomento"
 
-#: io.c:1005
+#: io.c:1028
 #, c-format
 msgid "failure status (%d) on pipe close of `%s' (%s)"
 msgstr "errore ritornato (%d) dalla chiusura della 'pipe' `%s' (%s)"
 
-#: io.c:1008
+#: io.c:1031
 #, c-format
 msgid "failure status (%d) on file close of `%s' (%s)"
 msgstr "errore ritornato (%d) dalla chiusura del file `%s' (%s)"
 
-#: io.c:1028
+#: io.c:1051
 #, c-format
 msgid "no explicit close of socket `%s' provided"
 msgstr "nessuna chiusura esplicita richiesta per 'socket' `%s'"
 
-#: io.c:1031
+#: io.c:1054
 #, c-format
 msgid "no explicit close of co-process `%s' provided"
 msgstr "nessuna chiusura esplicita richiesta per co-processo `%s'"
 
-#: io.c:1034
+#: io.c:1057
 #, c-format
 msgid "no explicit close of pipe `%s' provided"
 msgstr "nessuna chiusura esplicita richiesta per 'pipe' `%s'"
 
-#: io.c:1037
+#: io.c:1060
 #, c-format
 msgid "no explicit close of file `%s' provided"
 msgstr "nessuna chiusura esplicita richiesta per file `%s'"
 
-#: io.c:1066 io.c:1121 main.c:749 main.c:791
+#: io.c:1088 io.c:1143 main.c:776 main.c:818
 #, c-format
 msgid "error writing standard output (%s)"
 msgstr "errore scrivendo 'standard output' (%s)"
 
-#: io.c:1070 io.c:1126
+#: io.c:1092 io.c:1148
 #, c-format
 msgid "error writing standard error (%s)"
 msgstr "errore scrivendo 'standard error' (%s)"
 
-#: io.c:1078
+#: io.c:1100
 #, c-format
 msgid "pipe flush of `%s' failed (%s)."
 msgstr "scaricamento di 'pipe' `%s' fallita (%s)."
 
-#: io.c:1081
+#: io.c:1103
 #, c-format
 msgid "co-process flush of pipe to `%s' failed (%s)."
 msgstr "scaricamento da co-processo di 'pipe' a `%s' fallita (%s)."
 
-#: io.c:1084
+#: io.c:1106
 #, c-format
 msgid "file flush of `%s' failed (%s)."
 msgstr "scaricamento di file `%s' fallita (%s)."
 
-#: io.c:1198
+#: io.c:1220
 #, c-format
 msgid "local port %s invalid in `/inet'"
 msgstr "porta locale %s invalida in `/inet'"
 
-#: io.c:1215
+#: io.c:1237
 #, c-format
 msgid "remote host and port information (%s, %s) invalid"
 msgstr "host remoto e informazione di porta (%s, %s) invalidi"
 
-#: io.c:1250
+#: io.c:1272
 msgid "/inet/raw client not ready yet, sorry"
 msgstr "spiacente, 'client' /inet/raw non ancora pronto"
 
-#: io.c:1253 io.c:1289
+#: io.c:1275 io.c:1311
 msgid "only root may use `/inet/raw'."
 msgstr "solo root pu� usare `/inet/raw'."
 
-#: io.c:1287
+#: io.c:1309
 msgid "/inet/raw server not ready yet, sorry"
 msgstr "spiacente, 'server' /inet/raw non ancora pronto"
 
-#: io.c:1385
+#: io.c:1407
 #, c-format
 msgid "no (known) protocol supplied in special filename `%s'"
 msgstr "nessuno protocollo (conosciuto) specificato nel filename speciale `%s'"
 
-#: io.c:1399
+#: io.c:1421
 #, c-format
 msgid "special file name `%s' is incomplete"
 msgstr "nome file speciale `%s' incompleto"
 
-#: io.c:1414
+#: io.c:1436
 msgid "must supply a remote hostname to `/inet'"
 msgstr "va fornito nome di 'host' remoto a `/inet'"
 
-#: io.c:1432
+#: io.c:1454
 msgid "must supply a remote port to `/inet'"
 msgstr "va fornita porta remota a `/inet'"
 
-#: io.c:1439
+#: io.c:1485
 msgid "TCP/IP communications are not supported"
 msgstr "comunicazioni TCP/IP non supportate"
 
-#: io.c:1509
+#: io.c:1494
+#, c-format
+msgid "file `%s' is a directory"
+msgstr "file `%s' � una 'directory'"
+
+#: io.c:1555
 #, c-format
 msgid "use `PROCINFO[\"%s\"]' instead of `%s'"
 msgstr "usa `PROCINFO[\"%s\"]' invece che `%s'"
 
-#: io.c:1547
+#: io.c:1593
 msgid "use `PROCINFO[...]' instead of `/dev/user'"
 msgstr "usa `PROCINFO[...]' invece che `/dev/user'"
 
-#: io.c:1612 io.c:1798
+#: io.c:1658 io.c:1853
 #, c-format
 msgid "could not open `%s', mode `%s'"
 msgstr "non riesco ad aprire `%s', modo `%s'"
 
-#: io.c:1849
+#: io.c:1904
 #, c-format
 msgid "close of master pty failed (%s)"
 msgstr "fallita chiusura di 'pty' principale (%s)"
 
-#: io.c:1851 io.c:2003 io.c:2154
+#: io.c:1906 io.c:2058 io.c:2209
 #, c-format
 msgid "close of stdout in child failed (%s)"
 msgstr "fallita chiusura di 'stdout' nel processo-figlio (%s)"
 
-#: io.c:1854
+#: io.c:1909
 #, c-format
 msgid "moving slave pty to stdout in child failed (dup: %s)"
 msgstr ""
 "fallito trasferimento di 'pty' secondaria a 'stdout' nel processo-figlio "
 "(dup: %s)"
 
-#: io.c:1856 io.c:2008
+#: io.c:1911 io.c:2063
 #, c-format
 msgid "close of stdin in child failed (%s)"
 msgstr "fallita chiusura di 'stdin' nel processo-figlio (%s)"
 
-#: io.c:1859
+#: io.c:1914
 #, c-format
 msgid "moving slave pty to stdin in child failed (dup: %s)"
 msgstr ""
 "fallito trasferimento di 'pty' secondaria a 'stdin' nel processo-figlio "
 "(dup: %s)"
 
-#: io.c:1861 io.c:1880
+#: io.c:1916 io.c:1935
 #, c-format
 msgid "close of slave pty failed (%s)"
 msgstr "fallita chiusura di 'pty' secondaria (%s)"
 
-#: io.c:1954 io.c:2006 io.c:2135 io.c:2157
+#: io.c:2009 io.c:2061 io.c:2190 io.c:2212
 #, c-format
 msgid "moving pipe to stdout in child failed (dup: %s)"
 msgstr "fallito passaggio di 'pipe' a 'stdout' nel processo-figlio (dup: %s)"
 
-#: io.c:1958 io.c:2011
+#: io.c:2013 io.c:2066
 #, c-format
 msgid "moving pipe to stdin in child failed (dup: %s)"
 msgstr "fallito passaggio di pipe a 'stdin' nel processo-figlio (dup: %s)"
 
-#: io.c:1975 io.c:2148
+#: io.c:2030 io.c:2203
 msgid "restoring stdout in parent process failed\n"
 msgstr "fallito ripristino di 'stdout' nel processo-padre\n"
 
-#: io.c:1980
+#: io.c:2035
 msgid "restoring stdin in parent process failed\n"
 msgstr "fallito ripristino di 'stdin' nel processo-padre\n"
 
-#: io.c:2014 io.c:2159 io.c:2170
+#: io.c:2069 io.c:2214 io.c:2225
 #, c-format
 msgid "close of pipe failed (%s)"
 msgstr "fallita chiusura di 'pipe' (%s)"
 
-#: io.c:2059
+#: io.c:2114
 msgid "`|&' not supported"
 msgstr "`|&' non supportato"
 
-#: io.c:2125
+#: io.c:2180
 #, c-format
 msgid "cannot open pipe `%s' (%s)"
 msgstr "non riesco ad aprire 'pipe' `%s' (%s)"
 
-#: io.c:2166
+#: io.c:2221
 #, c-format
 msgid "cannot create child process for `%s' (fork: %s)"
 msgstr "non riesco a creare processo-figlio per `%s' (fork: %s)"
 
-#: io.c:2548
+#: io.c:2603
 #, c-format
 msgid "data file `%s' is empty"
 msgstr "file dati `%s' vuoto"
 
-#: io.c:2589 io.c:2597
+#: io.c:2644 io.c:2652
 msgid "could not allocate more input memory"
 msgstr "non riesco ad allocare ulteriore memoria per l'input"
 
-#: io.c:2965 io.c:3038
+#: io.c:3020 io.c:3093
 #, c-format
 msgid "error reading input file `%s': %s"
 msgstr "errore leggendo file di input `%s': %s"
 
-#: io.c:3163
+#: io.c:3218
 msgid "multicharacter value of `RS' is a gawk extension"
 msgstr "valore multicarattere per `RS' � un'estensione gawk"
 
-#: main.c:351
+#: main.c:304
+msgid "out of memory"
+msgstr "memoria esaurita"
+
+#: main.c:373
 msgid "`-m[fr]' option irrelevant in gawk"
 msgstr "`-m[fr]' opzione irrilevante per gawk"
 
-#: main.c:353
+#: main.c:375
 msgid "-m option usage: `-m[fr] nnn'"
 msgstr "-m uso opzione: `-m[fr] nnn'"
 
-#: main.c:370
+#: main.c:392
 #, c-format
 msgid "%s: option `-W %s' unrecognized, ignored\n"
 msgstr "%s: opzione `-W %s' non riconosciuta, ignorata\n"
 
-#: main.c:407
+#: main.c:433
 msgid "empty argument to `--source' ignored"
 msgstr "argomento di `--source' mancante, comando ignorato"
 
-#: main.c:480
+#: main.c:487
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: l'opzione richiede un argomento -- %c\n"
+
+#: main.c:506
 msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'"
 msgstr "variable d'ambiente `POSIXLY_CORRECT' impostata: attivo `--posix'"
 
-#: main.c:486
+#: main.c:512
 msgid "`--posix' overrides `--traditional'"
 msgstr "`--posix' annulla `--traditional'"
 
-#: main.c:497
+#: main.c:523
 msgid "`--posix'/`--traditional' overrides `--non-decimal-data'"
 msgstr "`--posix'/`--traditional' annulla `--non-decimal-data'"
 
-#: main.c:501
+#: main.c:527
 #, c-format
 msgid "running %s setuid root may be a security problem"
 msgstr "eseguire %s con 'setuid' root pu� essere un rischio per la sicurezza"
 
-#: main.c:542
+#: main.c:568
 #, c-format
 msgid "can't set binary mode on stdin (%s)"
 msgstr "non posso impostare modalit� binaria su 'stdin'(%s)"
 
-#: main.c:545
+#: main.c:571
 #, c-format
 msgid "can't set binary mode on stdout (%s)"
 msgstr "non posso impostare modalit� binaria su 'stdout'(%s)"
 
-#: main.c:547
+#: main.c:573
 #, c-format
 msgid "can't set binary mode on stderr (%s)"
 msgstr "non posso impostare modalit� binaria su 'stderr'(%s)"
 
-#: main.c:586
+#: main.c:612
 msgid "no program text at all!"
 msgstr "manca del tutto il testo del programma!"
 
-#: main.c:690
+#: main.c:716
 #, c-format
 msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n"
 msgstr "Uso: %s [opzioni in stile POSIX o GNU] -f fileprog [--] file ...\n"
 
-#: main.c:692
+#: main.c:718
 #, c-format
 msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n"
 msgstr "Usage: %s [opzioni in stile POSIX o GNU] [--] %cprogramma%c file ...\n"
 
-#: main.c:697
+#: main.c:723
 msgid "POSIX options:\t\tGNU long options:\n"
 msgstr "Opzioni POSIX:\t\topzioni lunghe GNU:\n"
 
-#: main.c:698
+#: main.c:724
 msgid "\t-f progfile\t\t--file=progfile\n"
 msgstr "\t-f fileprog\t\t--file=fileprog\n"
 
-#: main.c:699
+#: main.c:725
 msgid "\t-F fs\t\t\t--field-separator=fs\n"
 msgstr "\t-F fs\t\t\t--field-separator=fs\n"
 
-#: main.c:700
+#: main.c:726
 msgid "\t-v var=val\t\t--assign=var=val\n"
 msgstr "\t-v var=valore\t\t--assign=var=valore\n"
 
-#: main.c:701
+#: main.c:727
 msgid "\t-m[fr] val\n"
 msgstr "\t-m[fr] valore\n"
 
-#: main.c:702
+#: main.c:728
+msgid "\t-O\t\t\t--optimize\n"
+msgstr "\t-O\t\t\t--optimize\n"
+
+#: main.c:729
 msgid "\t-W compat\t\t--compat\n"
 msgstr "\t-W compat\t\t--compat\n"
 
-#: main.c:703
+#: main.c:730
 msgid "\t-W copyleft\t\t--copyleft\n"
 msgstr "\t-W copyleft\t\t--copyleft\n"
 
-#: main.c:704
+#: main.c:731
 msgid "\t-W copyright\t\t--copyright\n"
 msgstr "\t-W copyright\t\t--copyright\n"
 
-#: main.c:705
+#: main.c:732
 msgid "\t-W dump-variables[=file]\t--dump-variables[=file]\n"
 msgstr "\t-W dump-variables[=file]\t--dump-variables[=file]\n"
 
-#: main.c:706
+#: main.c:733
 msgid "\t-W exec=file\t\t--exec=file\n"
 msgstr "\t-W exec[=file]\t--exec[=file]\n"
 
-#: main.c:707
+#: main.c:734
 msgid "\t-W gen-po\t\t--gen-po\n"
 msgstr "\t-W gen-po\t\t--gen-po\n"
 
-#: main.c:708
+#: main.c:735
 msgid "\t-W help\t\t\t--help\n"
 msgstr "\t-W help\t\t\t--help\n"
 
-#: main.c:709
+#: main.c:736
 msgid "\t-W lint[=fatal]\t\t--lint[=fatal]\n"
 msgstr "\t-W lint[=fatal]\t\t--lint[=fatal]\n"
 
-#: main.c:710
+#: main.c:737
 msgid "\t-W lint-old\t\t--lint-old\n"
 msgstr "\t-W lint-old\t\t--lint-old\n"
 
-#: main.c:711
+#: main.c:738
 msgid "\t-W non-decimal-data\t--non-decimal-data\n"
 msgstr "\t-W non-decimal-data\t--non-decimal-data\n"
 
-#: main.c:713
+#: main.c:740
 msgid "\t-W nostalgia\t\t--nostalgia\n"
 msgstr "\t-W nostalgia\t\t--nostalgia\n"
 
-#: main.c:716
+#: main.c:743
 msgid "\t-W parsedebug\t\t--parsedebug\n"
 msgstr "\t-W parsedebug\t\t--parsedebug\n"
 
-#: main.c:718
+#: main.c:745
 msgid "\t-W profile[=file]\t--profile[=file]\n"
 msgstr "\t-W profile[=file]\t--profile[=file]\n"
 
-#: main.c:719
+#: main.c:746
 msgid "\t-W posix\t\t--posix\n"
 msgstr "\t-W posix\t\t--posix\n"
 
-#: main.c:720
+#: main.c:747
 msgid "\t-W re-interval\t\t--re-interval\n"
 msgstr "\t-W re-interval\t\t--re-interval\n"
 
-#: main.c:721
+#: main.c:748
 msgid "\t-W source=program-text\t--source=program-text\n"
 msgstr "\t-W source=testo-programma\t--source=testo-programma\n"
 
-#: main.c:722
+#: main.c:749
 msgid "\t-W traditional\t\t--traditional\n"
 msgstr "\t-W traditional\t\t--traditional\n"
 
-#: main.c:723
+#: main.c:750
 msgid "\t-W usage\t\t--usage\n"
 msgstr "\t-W usage\t\t--usage\n"
 
-#: main.c:724
+#: main.c:751
 msgid "\t-W use-lc-numeric\t--use-lc-numeric\n"
 msgstr "\t-W use-lc-numeric\t--use-lc-numeric\n"
 
-#: main.c:725
+#: main.c:752
 msgid "\t-W version\t\t--version\n"
 msgstr "\t-W version\t\t--version\n"
 
@@ -1577,7 +1623,7 @@
 #. for this application.  Please add _another line_ with the
 #. address for translation bugs.
 #. no-wrap
-#: main.c:734
+#: main.c:761
 msgid ""
 "\n"
 "To report bugs, see node `Bugs' in `gawk.info', which is\n"
@@ -1589,7 +1635,7 @@
 "sezione `Reporting Problems and Bugs' nella versione a stampa.\n"
 "\n"
 
-#: main.c:738
+#: main.c:765
 msgid ""
 "gawk is a pattern scanning and processing language.\n"
 "By default it reads standard input and writes standard output.\n"
@@ -1599,7 +1645,7 @@
 "Senza parametri, legge da 'standard input' e scrive su 'standard output'.\n"
 "\n"
 
-#: main.c:742
+#: main.c:769
 msgid ""
 "Examples:\n"
 "\tgawk '{ sum += $1 }; END { print sum }' file\n"
@@ -1609,7 +1655,7 @@
 "\tgawk '{ sum += $1 }; END { print sum }' file\n"
 "\tgawk -F: '{ print $1 }' /etc/passwd\n"
 
-#: main.c:762
+#: main.c:789
 #, c-format
 msgid ""
 "Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
@@ -1628,7 +1674,7 @@
 "Licenza, o (a tua scelta) a una qualsiasi versione successiva.\n"
 "\n"
 
-#: main.c:770
+#: main.c:797
 msgid ""
 "This program is distributed in the hope that it will be useful,\n"
 "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
@@ -1642,7 +1688,7 @@
 "Vedi la 'GNU General Public License' per ulteriori dettagli.\n"
 "\n"
 
-#: main.c:781
+#: main.c:808
 msgid ""
 "You should have received a copy of the GNU General Public License\n"
 "along with this program. If not, see http://www.gnu.org/licenses/.\n"
@@ -1651,11 +1697,11 @@
 "assieme a questo programma; se non � cos�, vedi http://www.gnu.org/"
 "licenses/.\n"
 
-#: main.c:816
+#: main.c:843
 msgid "-Ft does not set FS to tab in POSIX awk"
 msgstr "-Ft non imposta FS a 'tab' nell'awk POSIX"
 
-#: main.c:1060
+#: main.c:1117
 #, c-format
 msgid ""
 "%s: `%s' argument to `-v' not in `var=value' form\n"
@@ -1664,35 +1710,43 @@
 "%s: `%s' argomento di `-v' non in forma `var=valore'\n"
 "\n"
 
-#: main.c:1080
+#: main.c:1137
 #, c-format
 msgid "`%s' is not a legal variable name"
 msgstr "`%s' non � un nome di variabile ammesso"
 
-#: main.c:1083
+#: main.c:1140
 #, c-format
 msgid "`%s' is not a variable name, looking for file `%s=%s'"
 msgstr "`%s' non � un nome di variabile, cerco il file `%s=%s'"
 
-#: main.c:1122
+#: main.c:1179
 msgid "floating point exception"
 msgstr "eccezione floating point"
 
-#: main.c:1129
+#: main.c:1186
 msgid "fatal error: internal error"
 msgstr "errore fatale: errore interno"
 
-#: main.c:1180
+#: main.c:1200
+msgid "fatal error: internal error: segfault"
+msgstr "errore fatale: errore interno: segfault"
+
+#: main.c:1212
+msgid "fatal error: internal error: stack overflow"
+msgstr "errore fatale: errore interno: stack overflow"
+
+#: main.c:1261
 #, c-format
 msgid "no pre-opened fd %d"
 msgstr "manca 'fd' predefinita %d"
 
-#: main.c:1187
+#: main.c:1268
 #, c-format
 msgid "could not pre-open /dev/null for fd %d"
 msgstr "non riesco a predefinire /dev/null per 'fd' %d"
 
-#: main.c:1210 main.c:1219
+#: main.c:1291 main.c:1300
 #, c-format
 msgid "could not find groups: %s"
 msgstr "non riesco a trovare gruppi: %s"
@@ -1718,24 +1772,33 @@
 msgid "can't convert string to float"
 msgstr "non riesco a convertire stringa a valore in virgola mobile"
 
-#: node.c:406
+#: node.c:462
 msgid "backslash at end of string"
 msgstr "'\\' a fine stringa"
 
-#: node.c:548
+#: node.c:606
 #, c-format
 msgid "old awk does not support the `\\%c' escape sequence"
 msgstr "il vecchio awk non supporta la sequenza di escape '\\%c'"
 
-#: node.c:599
+#: node.c:657
 msgid "POSIX does not allow `\\x' escapes"
 msgstr "POSIX non permette escape `\\x'"
 
-#: node.c:605
+#: node.c:663
 msgid "no hex digits in `\\x' escape sequence"
 msgstr "niente cifre esadecimanli nella sequenza di escape `\\x'"
 
-#: node.c:639
+#: node.c:685
+#, c-format
+msgid ""
+"hex escape \\x%.*s of %d characters probably not interpreted the way you "
+"expect"
+msgstr ""
+"sequenza di escape esadec.\\x%.*s di %d caratteri probabilmente non "
+"interpretata nel modo previsto"
+
+#: node.c:700
 #, c-format
 msgid "escape sequence `\\%c' treated as plain `%c'"
 msgstr "sequenza di escape `\\%c' considerata come semplice `%c'"
@@ -1745,31 +1808,32 @@
 msgid "%s %s `%s': could not set close-on-exec: (fcntl: %s)"
 msgstr "%s %s `%s': non riesco a impostare 'close-on-exec': (fcntl: %s)"
 
-#: profile.c:92
+#: profile.c:93
 #, c-format
 msgid "could not open `%s' for writing: %s"
 msgstr "non riesco ad aprire `%s' in scrittura: %s"
 
-#: profile.c:450
+#: profile.c:453
 #, c-format
 msgid "internal error: %s with null vname"
 msgstr "errore interno: %s con 'vname' nullo"
 
-#: profile.c:514
+#: profile.c:517
+#, fuzzy
 msgid "# treated internally as `delete'"
-msgstr "# gestito internamente come 'delete' (cancellazione)"
+msgstr "# gestito internamente come `delete' (cancellazione)"
 
-#: profile.c:1147
+#: profile.c:1069
 #, c-format
 msgid "# this is a dynamically loaded extension function"
 msgstr "# questa � una funzione di estensione caricata dinamicamente"
 
-#: profile.c:1178
+#: profile.c:1100
 #, c-format
 msgid "\t# gawk profile, created %s\n"
 msgstr "\t# profilo gawk, creato %s\n"
 
-#: profile.c:1181
+#: profile.c:1103
 #, c-format
 msgid ""
 "\t# BEGIN block(s)\n"
@@ -1778,7 +1842,7 @@
 "\t# blocco(hi) BEGIN\n"
 "\n"
 
-#: profile.c:1191
+#: profile.c:1113
 #, c-format
 msgid ""
 "\t# Rule(s)\n"
@@ -1787,7 +1851,7 @@
 "\t# Regola(e)\n"
 "\n"
 
-#: profile.c:1197
+#: profile.c:1119
 #, c-format
 msgid ""
 "\t# END block(s)\n"
@@ -1796,7 +1860,7 @@
 "\t# blocco(hi) END\n"
 "\n"
 
-#: profile.c:1217
+#: profile.c:1139
 #, c-format
 msgid ""
 "\n"
@@ -1805,79 +1869,84 @@
 "\n"
 "\t# Funzioni, listate in ordine alfabetico\n"
 
-#: profile.c:1470
+#: profile.c:1400
 #, c-format
 msgid "unexpected type %s in prec_level"
 msgstr "tipo non previsto %s in 'prec_level'"
 
-#: regcomp.c:132
+#: profile.c:1500
+#, c-format
+msgid "Unknown node type %s in pp_var"
+msgstr "Tipo nodo sconosciuto %s in pp_var"
+
+#: regcomp.c:133
 msgid "Success"
 msgstr "Successo"
 
-#: regcomp.c:135
+#: regcomp.c:136
 msgid "No match"
 msgstr "Nessuna corrispondenza"
 
-#: regcomp.c:138
+#: regcomp.c:139
 msgid "Invalid regular expression"
 msgstr "Espressione regolare invalida"
 
-#: regcomp.c:141
+#: regcomp.c:142
 msgid "Invalid collation character"
 msgstr "Carattere di ordinamento non valido"
 
-#: regcomp.c:144
+#: regcomp.c:145
 msgid "Invalid character class name"
-msgstr "Nome di 'classe di caratteri' invalido"
+msgstr "Nome di 'classe di caratteri' non valido"
 
-#: regcomp.c:147
+#: regcomp.c:148
 msgid "Trailing backslash"
 msgstr "'\\' finale"
 
-#: regcomp.c:150
+#: regcomp.c:151
 msgid "Invalid back reference"
-msgstr "Riferimento indietro invalido"
+msgstr "Riferimento indietro non valido"
 
-#: regcomp.c:153
+#: regcomp.c:154
 msgid "Unmatched [ or [^"
 msgstr "[ or [^ non chiusa"
 
-#: regcomp.c:156
+#: regcomp.c:157
 msgid "Unmatched ( or \\("
 msgstr "( or \\( non chiusa"
 
-#: regcomp.c:159
+#: regcomp.c:160
 msgid "Unmatched \\{"
 msgstr "\\{ non chiusa"
 
-#: regcomp.c:162
+#: regcomp.c:163
 msgid "Invalid content of \\{\\}"
-msgstr "Contenuto di \\{\\} invalido"
+msgstr "Contenuto di \\{\\} non valido"
 
-#: regcomp.c:165
+#: regcomp.c:166
 msgid "Invalid range end"
-msgstr "Fine di intervallo invalido"
+msgstr "Fine di intervallo non valido"
 
-#: regcomp.c:168
+#: regcomp.c:169
 msgid "Memory exhausted"
 msgstr "Memoria esaurita"
 
-#: regcomp.c:171
+#: regcomp.c:172
 msgid "Invalid preceding regular expression"
 msgstr "Espressione regolare precedente invalida"
 
-#: regcomp.c:174
+#: regcomp.c:175
 msgid "Premature end of regular expression"
 msgstr "Fine di expressione regolare inaspettata"
 
-#: regcomp.c:177
+#: regcomp.c:178
 msgid "Regular expression too big"
 msgstr "Espressione regolare troppo complessa"
 
-#: regcomp.c:180
+#: regcomp.c:181
 msgid "Unmatched ) or \\)"
 msgstr ") or \\) non aperta"
 
-#: regcomp.c:664
+#: regcomp.c:700
 msgid "No previous regular expression"
 msgstr "Nessuna espressione regolare precedente"
diff -urN gawk-3.1.6/po/ja.po gawk-3.1.7/po/ja.po
--- gawk-3.1.6/po/ja.po	2007-09-30 22:33:28.000000000 +0200
+++ gawk-3.1.7/po/ja.po	2009-07-21 23:23:45.000000000 +0300
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gawk 3.1.4l\n"
 "Report-Msgid-Bugs-To: arnold@skeeve.com\n"
-"POT-Creation-Date: 2007-09-30 22:33+0200\n"
+"POT-Creation-Date: 2009-07-21 23:23+0300\n"
 "PO-Revision-Date: 2005-06-27 02:37+1000\n"
 "Last-Translator: Makoto Hosoya <mhosoya@ozemail.com.au>\n"
 "Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
@@ -75,327 +75,332 @@
 msgid "%s: array_ref to %s\n"
 msgstr "%s: %s ������������ (array_ref)\n"
 
-#: awkgram.y:215
+#: awkgram.y:218
 #, c-format
 msgid "%s blocks must have an action part"
 msgstr "%s ������������������������������������"
 
-#: awkgram.y:218
+#: awkgram.y:221
 msgid "each rule must have a pattern or an action part"
 msgstr "��������������������������������������������������"
 
-#: awkgram.y:254 awkgram.y:263
+#: awkgram.y:257 awkgram.y:266
 #, fuzzy
 msgid "old awk does not support multiple `BEGIN' or `END' rules"
 msgstr "������ `**' ������ awk ��������������"
 
-#: awkgram.y:282
+#: awkgram.y:285
 #, c-format
 msgid "`%s' is a built-in function, it cannot be redefined"
 msgstr "`%s' ������������������������������������"
 
-#: awkgram.y:328
+#: awkgram.y:331
 msgid "regexp constant `//' looks like a C++ comment, but is not"
 msgstr "������������ `//' �� C++����������������������������������"
 
-#: awkgram.y:331
+#: awkgram.y:334
 #, c-format
 msgid "regexp constant `/%s/' looks like a C comment, but is not"
 msgstr "������������ `/%s/' �� C����������������������������������"
 
-#: awkgram.y:358 awkgram.y:653
+#: awkgram.y:361 awkgram.y:656
 msgid "statement may have no effect"
 msgstr "������������������������������������"
 
-#: awkgram.y:455 awkgram.y:479
+#: awkgram.y:458 awkgram.y:482
 #, c-format
 msgid "`%s' used in %s action"
 msgstr "`%s' �� %s ����������������������������"
 
-#: awkgram.y:470 awkgram.y:474
+#: awkgram.y:473 awkgram.y:477
 msgid "`nextfile' is a gawk extension"
 msgstr "`nextfile' �� gawk ����������������"
 
-#: awkgram.y:489
+#: awkgram.y:492
 msgid "`return' used outside function context"
 msgstr "`return' ��������������������������������"
 
-#: awkgram.y:531
+#: awkgram.y:534
 msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'"
 msgstr ""
 "BEGIN ������ END �������������������� `print' �� `print \"\"' ������������"
 "����"
 
-#: awkgram.y:547 awkgram.y:555
+#: awkgram.y:550 awkgram.y:558
 msgid "`delete array' is a gawk extension"
 msgstr "`delete array' �� gawk ����������������"
 
-#: awkgram.y:569 awkgram.y:577
+#: awkgram.y:572 awkgram.y:580
 msgid "`delete(array)' is a non-portable tawk extension"
 msgstr "`delete(array)' �� tawk �������������������� awk ��������������������"
 
-#: awkgram.y:621
+#: awkgram.y:624
 #, c-format
 msgid "duplicate case values in switch body: %s"
 msgstr "switch ���������������� case ��������������������: %s"
 
-#: awkgram.y:631
+#: awkgram.y:634
 msgid "Duplicate `default' detected in switch body"
 msgstr "switch �������� `default' ������������������"
 
-#: awkgram.y:720
+#: awkgram.y:723
 msgid "multistage two-way pipelines don't work"
 msgstr "��������������������������������������������������"
 
-#: awkgram.y:811
+#: awkgram.y:814
 msgid "regular expression on right of assignment"
 msgstr "������������������������������������������"
 
-#: awkgram.y:834
+#: awkgram.y:824
 msgid "regular expression on left of `~' or `!~' operator"
 msgstr "`~' �� `!~' ������������������������������������������"
 
-#: awkgram.y:840 awkgram.y:913
+#: awkgram.y:830 awkgram.y:903
 #, fuzzy
 msgid "old awk does not support the keyword `in' except after `for'"
 msgstr "������ `**' ������ awk ��������������"
 
-#: awkgram.y:846
+#: awkgram.y:836
 msgid "regular expression on right of comparison"
 msgstr "������������������������������������������"
 
-#: awkgram.y:903
+#: awkgram.y:893
 msgid "non-redirected `getline' undefined inside END action"
 msgstr "������������������������ `getline' �� END ��������������������������"
 
-#: awkgram.y:914
+#: awkgram.y:904
 #, fuzzy
 msgid "old awk does not support multidimensional arrays"
 msgstr "������ `**' ������ awk ��������������"
 
-#: awkgram.y:960
+#: awkgram.y:950
 msgid "call of `length' without parentheses is not portable"
 msgstr "���������� `length' ������ awk ������������������"
 
-#: awkgram.y:965
+#: awkgram.y:955
 msgid "call of `length' without parentheses is deprecated by POSIX"
 msgstr "POSIX �������������� `length' ����������������������"
 
-#: awkgram.y:1019
+#: awkgram.y:1009
 msgid "use of non-array as array"
 msgstr "������������������������������������������"
 
-#: awkgram.y:1022
+#: awkgram.y:1012
 msgid "invalid subscript expression"
 msgstr "������������������"
 
-#: awkgram.y:1249
+#: awkgram.y:1257
 msgid "unexpected newline or end of string"
 msgstr "������������������������������������������"
 
-#: awkgram.y:1366
+#: awkgram.y:1374
 msgid "empty program text on command line"
 msgstr "������������������������������������"
 
-#: awkgram.y:1422
+#: awkgram.y:1430
 #, c-format
 msgid "can't open source file `%s' for reading (%s)"
 msgstr "�������������� `%s' �������������������������� (%s)��"
 
-#: awkgram.y:1520
+#: awkgram.y:1528
 #, c-format
 msgid "can't read sourcefile `%s' (%s)"
 msgstr "�������������� `%s' ���������������� (%s)��"
 
-#: awkgram.y:1528
+#: awkgram.y:1536
 #, c-format
 msgid "source file `%s' is empty"
 msgstr "�������������� `%s' ����������"
 
-#: awkgram.y:1720 awkgram.y:1842 awkgram.y:1860 awkgram.y:2235 awkgram.y:2322
+#: awkgram.y:1728 awkgram.y:1850 awkgram.y:1868 awkgram.y:2243 awkgram.y:2330
 msgid "source file does not end in newline"
 msgstr "��������������������������������������"
 
-#: awkgram.y:1782
+#: awkgram.y:1790
 msgid "unterminated regexp ends with `\\' at end of file"
 msgstr "���������������������������������������� `\\' ����������������"
 
-#: awkgram.y:1806
+#: awkgram.y:1814
 #, c-format
 msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk"
 msgstr "%s: %d: tawk ���������������� `/.../%c' �� gawk ������������������"
 
-#: awkgram.y:1810
+#: awkgram.y:1818
 #, c-format
 msgid "tawk regex modifier `/.../%c' doesn't work in gawk"
 msgstr "tawk ���������������� `/.../%c' �� gawk ������������������"
 
-#: awkgram.y:1817
+#: awkgram.y:1825
 msgid "unterminated regexp"
 msgstr "������������������������������"
 
-#: awkgram.y:1820
+#: awkgram.y:1828
 msgid "unterminated regexp at end of file"
 msgstr "��������������������������������������������"
 
-#: awkgram.y:1889
+#: awkgram.y:1897
 msgid "use of `\\ #...' line continuation is not portable"
 msgstr "`\\ #...' ������������������ awk ��������������"
 
-#: awkgram.y:1902
+#: awkgram.y:1910
 msgid "backslash not last character on line"
 msgstr "������������������������������������������������"
 
-#: awkgram.y:1947
+#: awkgram.y:1955
 msgid "POSIX does not allow operator `**='"
 msgstr "POSIX �������� `**=' ����������������"
 
-#: awkgram.y:1949
+#: awkgram.y:1957
 msgid "old awk does not support operator `**='"
 msgstr "������ `**=' ������ awk ��������������"
 
-#: awkgram.y:1958
+#: awkgram.y:1966
 msgid "POSIX does not allow operator `**'"
 msgstr "POSIX ���������� `**' ��������������������"
 
-#: awkgram.y:1960
+#: awkgram.y:1968
 msgid "old awk does not support operator `**'"
 msgstr "������ `**' ������ awk ��������������"
 
-#: awkgram.y:1991
+#: awkgram.y:1999
 msgid "operator `^=' is not supported in old awk"
 msgstr "������ `^=' ������ awk ��������������"
 
-#: awkgram.y:1999
+#: awkgram.y:2007
 msgid "operator `^' is not supported in old awk"
 msgstr "������ `^' ������ awk ��������������"
 
-#: awkgram.y:2083 awkgram.y:2098
+#: awkgram.y:2091 awkgram.y:2106
 msgid "unterminated string"
 msgstr "����������������������������"
 
-#: awkgram.y:2283
+#: awkgram.y:2291
 #, c-format
 msgid "invalid char '%c' in expression"
 msgstr "������ char '%c' ������������"
 
-#: awkgram.y:2331
+#: awkgram.y:2339
 #, c-format
 msgid "`%s' is a gawk extension"
 msgstr "`%s' �� gawk ����������������"
 
-#: awkgram.y:2334
+#: awkgram.y:2342
 #, c-format
 msgid "`%s' is a Bell Labs extension"
 msgstr "`%s' ����������������������������"
 
-#: awkgram.y:2337
+#: awkgram.y:2345
 #, c-format
 msgid "POSIX does not allow `%s'"
 msgstr "POSIX �� `%s' ����������������"
 
-#: awkgram.y:2341
+#: awkgram.y:2349
 #, c-format
 msgid "`%s' is not supported in old awk"
 msgstr "`%s' ������ awk ������������������"
 
-#: awkgram.y:2367
+#: awkgram.y:2375
 msgid "`goto' considered harmful!\n"
 msgstr "`goto' ����������!\n"
 
-#: awkgram.y:2429
+#: awkgram.y:2437
 #, c-format
 msgid "%d is invalid as number of arguments for %s"
 msgstr "%d �� %s ����������������������������������"
 
-#: awkgram.y:2448 awkgram.y:2451
+#: awkgram.y:2456 awkgram.y:2459
 msgid "match: third argument is a gawk extension"
 msgstr "match: ���������� gawk ����������������"
 
-#: awkgram.y:2464
+#: awkgram.y:2472
 #, c-format
 msgid "%s: string literal as last arg of substitute has no effect"
 msgstr "%s: ����������������������������������������������������������������"
 
-#: awkgram.y:2467
+#: awkgram.y:2475
 #, c-format
 msgid "%s third parameter is not a changeable object"
 msgstr "%s ������������������������������������������������"
 
-#: awkgram.y:2494 awkgram.y:2497
+#: awkgram.y:2502 awkgram.y:2505
 msgid "close: second argument is a gawk extension"
 msgstr "close: ���������� gawk ����������������"
 
-#: awkgram.y:2507
+#: awkgram.y:2515
 msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore"
 msgstr ""
 "dcgettext(_\"...\")������������������������: ��������������������������������"
 "��������"
 
-#: awkgram.y:2522
+#: awkgram.y:2530
 msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore"
 msgstr ""
 "dcngettext(_\"...\")������������������������: ������������������������������"
 "����������"
 
-#: awkgram.y:2594
+#: awkgram.y:2602
 #, c-format
 msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d"
 msgstr "���� `%s': ���������� #%d, `%s' ������������ #%d ������������������"
 
-#: awkgram.y:2627
+#: awkgram.y:2635
 #, c-format
 msgid "function `%s': parameter `%s' shadows global variable"
 msgstr "���� `%s': ���������� `%s' ������������������������������"
 
-#: awkgram.y:2739
+#: awkgram.y:2747
 #, c-format
 msgid "could not open `%s' for writing (%s)"
 msgstr "`%s' ���������������������������� (%s)��"
 
-#: awkgram.y:2740 profile.c:94
+#: awkgram.y:2748 profile.c:95
 msgid "sending profile to standard error"
 msgstr "����������������������������������������"
 
-#: awkgram.y:2772
+#: awkgram.y:2780
 #, c-format
 msgid "%s: close failed (%s)"
 msgstr "%s: ���������������������� (%s)��"
 
-#: awkgram.y:2893
+#: awkgram.y:2901
 msgid "shadow_funcs() called twice!"
 msgstr "shadow_funcs() ����������������������!"
 
-#: awkgram.y:2920
+#: awkgram.y:2928
 msgid "there were shadowed variables."
 msgstr "������������������������������"
 
-#: awkgram.y:2993
+#: awkgram.y:3001
 #, c-format
 msgid "function `%s': can't use function name as parameter name"
 msgstr "���� `%s': ��������������������������������������"
 
-#: awkgram.y:3003
+#: awkgram.y:3004
+#, fuzzy, c-format
+msgid "function `%s': can't use special variable `%s' as a function parameter"
+msgstr "���� `%s': ��������������������������������������"
+
+#: awkgram.y:3014
 #, c-format
 msgid "function name `%s' previously defined"
 msgstr "������ `%s' ����������������"
 
-#: awkgram.y:3154 awkgram.y:3160
+#: awkgram.y:3165 awkgram.y:3171
 #, c-format
 msgid "function `%s' called but never defined"
 msgstr "������������ `%s' ������������������"
 
-#: awkgram.y:3163
+#: awkgram.y:3174
 #, c-format
 msgid "function `%s' defined but never called"
 msgstr "�������������� `%s' ��������������������������������"
 
-#: awkgram.y:3190
+#: awkgram.y:3201
 #, c-format
 msgid "regexp constant for parameter #%d yields boolean value"
 msgstr "���������� #%d ��������������������������������������"
 
-#: awkgram.y:3234
+#: awkgram.y:3245
 #, c-format
 msgid ""
 "function `%s' called with space between name and `(',\n"
@@ -404,457 +409,486 @@
 "�������� `(' �������������������������� `%s' ��������������������\n"
 "����������������������������������������"
 
-#: builtin.c:119
+#: awkgram.y:3667 eval.c:1394
+#, c-format
+msgid "division by zero attempted in `%%'"
+msgstr "`%%' ����������������������������"
+
+#: builtin.c:122
 #, c-format
 msgid "%s to \"%s\" failed (%s)"
 msgstr "%s ���� \"%s\" ���������������� (%s)��"
 
-#: builtin.c:120
+#: builtin.c:123
 msgid "standard output"
 msgstr "��������"
 
-#: builtin.c:121
+#: builtin.c:124
 msgid "reason unknown"
 msgstr "��������"
 
-#: builtin.c:134
+#: builtin.c:137
 msgid "exp: received non-numeric argument"
 msgstr "exp: ��������������������������"
 
-#: builtin.c:140
+#: builtin.c:143
 #, c-format
 msgid "exp: argument %g is out of range"
 msgstr "exp: ���� %g ��������������������������"
 
-#: builtin.c:198
+#: builtin.c:201
 #, c-format
 msgid "fflush: cannot flush: pipe `%s' opened for reading, not writing"
 msgstr "fflush: ��������������: ������ `%s' ��������������������"
 
-#: builtin.c:201
+#: builtin.c:204
 #, c-format
 msgid "fflush: cannot flush: file `%s' opened for reading, not writing"
 msgstr "fflush: ��������������: �������� `%s' ��������������������"
 
-#: builtin.c:213
+#: builtin.c:216
 #, c-format
 msgid "fflush: `%s' is not an open file, pipe or co-process"
 msgstr ""
 "fflush: `%s' ����������������������������������������������������������"
 
-#: builtin.c:306
+#: builtin.c:310
 msgid "index: received non-string first argument"
 msgstr "index: ��������������������������������"
 
-#: builtin.c:308
+#: builtin.c:312
 msgid "index: received non-string second argument"
 msgstr "index: ��������������������������������"
 
-#: builtin.c:423
+#: builtin.c:434
 msgid "int: received non-numeric argument"
 msgstr "int: ��������������������������"
 
-#: builtin.c:448
+#: builtin.c:464
 #, fuzzy
 msgid "`length(array)' is a gawk extension"
 msgstr "`delete array' �� gawk ����������������"
 
-#: builtin.c:458
+#: builtin.c:473
+msgid "length: untyped argument will be forced to scalar"
+msgstr ""
+
+#: builtin.c:477
 msgid "length: received non-string argument"
 msgstr "length: ����������������������������"
 
-#: builtin.c:483
+#: builtin.c:508
 msgid "log: received non-numeric argument"
 msgstr "log: ��������������������������"
 
-#: builtin.c:486
+#: builtin.c:511
 #, c-format
 msgid "log: received negative argument %g"
 msgstr "log: ���� %g ��������������"
 
-#: builtin.c:693 builtin.c:696
+#: builtin.c:719 builtin.c:722
 msgid "must use `count$' on all formats or none"
 msgstr ""
 "`count$����������������������������������������������������������������������"
 "����������"
 
-#: builtin.c:799
+#: builtin.c:783
+#, c-format
+msgid "field width is ignored for `%%%%' specifier"
+msgstr ""
+
+#: builtin.c:785
+#, c-format
+msgid "precision is ignored for `%%%%' specifier"
+msgstr ""
+
+#: builtin.c:787
+#, c-format
+msgid "field width and precision are ignored for `%%%%' specifier"
+msgstr ""
+
+#: builtin.c:838
 msgid "`$' is not permitted in awk formats"
 msgstr "`$' �� awk ����������������"
 
-#: builtin.c:805
+#: builtin.c:844
 msgid "arg count with `$' must be > 0"
 msgstr "���������� `$' ��������������������������"
 
-#: builtin.c:807
+#: builtin.c:846
 #, c-format
 msgid "arg count %ld greater than total number of supplied arguments"
 msgstr "�������� %ld ����������������������������������������"
 
-#: builtin.c:809
+#: builtin.c:848
 msgid "`$' not permitted after period in format"
 msgstr "`$' �������������������� `.' ����������������������"
 
-#: builtin.c:822
+#: builtin.c:861
 msgid "no `$' supplied for positional field width or precision"
 msgstr "���������������������������������� `$' ����������������������"
 
-#: builtin.c:888
+#: builtin.c:927
 msgid "`l' is meaningless in awk formats; ignored"
 msgstr "awk �������������� `l' ��������������������������"
 
-#: builtin.c:892
+#: builtin.c:931
 msgid "`l' is not permitted in POSIX awk formats"
 msgstr "POSIX ������ awk ���� `l' ������������������"
 
-#: builtin.c:903
+#: builtin.c:942
 msgid "`L' is meaningless in awk formats; ignored"
 msgstr "awk �������������� `L' ��������������������������"
 
-#: builtin.c:907
+#: builtin.c:946
 msgid "`L' is not permitted in POSIX awk formats"
 msgstr "POSIX ������ awk ���� `L' ������������������"
 
-#: builtin.c:918
+#: builtin.c:957
 msgid "`h' is meaningless in awk formats; ignored"
 msgstr "awk �������������� `h' ��������������������������"
 
-#: builtin.c:922
+#: builtin.c:961
 msgid "`h' is not permitted in POSIX awk formats"
 msgstr "POSIX ������ awk ���� `h' ������������������"
 
-#: builtin.c:1182
+#: builtin.c:1236
 #, c-format
 msgid "[s]printf: value %g is out of range for `%%%c' format"
 msgstr "[s]printf: %g ���������� `%%%c' ��������������������������"
 
-#: builtin.c:1266
+#: builtin.c:1316
+#, c-format
+msgid "ignoring unknown format specifier character `%c': no argument converted"
+msgstr ""
+
+#: builtin.c:1322
 msgid "not enough arguments to satisfy format string"
 msgstr "������������������������������������"
 
-#: builtin.c:1268
+#: builtin.c:1324
 msgid "^ ran out for this one"
 msgstr "^ ������������������"
 
-#: builtin.c:1274
+#: builtin.c:1330
 msgid "[s]printf: format specifier does not have control letter"
 msgstr "[s]printf: ����������������������������������"
 
-#: builtin.c:1277
+#: builtin.c:1333
 msgid "too many arguments supplied for format string"
 msgstr "����������������������������������"
 
-#: builtin.c:1352 builtin.c:1355
+#: builtin.c:1408 builtin.c:1411
 msgid "printf: no arguments"
 msgstr "printf: ������������������"
 
-#: builtin.c:1379
+#: builtin.c:1435
 msgid "sqrt: received non-numeric argument"
 msgstr "sqrt: ��������������������������"
 
-#: builtin.c:1383
+#: builtin.c:1439
 #, c-format
 msgid "sqrt: called with negative argument %g"
 msgstr "sqrt: ������������ %g ������������������"
 
-#: builtin.c:1407
+#: builtin.c:1463
 #, c-format
 msgid "substr: start index %g is invalid, using 1"
 msgstr "substr: �������� %g ������������1 ������������"
 
-#: builtin.c:1412
+#: builtin.c:1468
 #, c-format
 msgid "substr: non-integer start index %g will be truncated"
 msgstr "substr: �������� %g ����������������������������"
 
-#: builtin.c:1431
+#: builtin.c:1494
 #, c-format
 msgid "substr: length %g is not >= 1"
 msgstr "substr: ������ %g �� 1 ��������������������"
 
-#: builtin.c:1433
+#: builtin.c:1496
 #, c-format
 msgid "substr: length %g is not >= 0"
 msgstr "substr: ������ %g �� 0 ��������������������"
 
-#: builtin.c:1440
+#: builtin.c:1503
 #, c-format
 msgid "substr: non-integer length %g will be truncated"
 msgstr "substr: ������ %g ����������������������������"
 
-#: builtin.c:1445
+#: builtin.c:1508
 #, c-format
 msgid "substr: length %g too big for string indexing, truncating to %g"
 msgstr "substr: ������ %g ������������������������%g ������������"
 
-#: builtin.c:1457
+#: builtin.c:1520
 msgid "substr: source string is zero length"
 msgstr "substr: ������������������������"
 
-#: builtin.c:1473
+#: builtin.c:1536
 #, c-format
 msgid "substr: start index %g is past end of string"
 msgstr "substr: �������� %g ������������������������������"
 
-#: builtin.c:1481
+#: builtin.c:1544
 #, c-format
 msgid ""
 "substr: length %g at start index %g exceeds length of first argument (%lu)"
 msgstr ""
 "substr: �������� %2$g ������������ %1$g �������������� %3$lu ����������������"
 
-#: builtin.c:1558
+#: builtin.c:1621
 msgid "strftime: received non-string first argument"
 msgstr "strftime: ��������������������������������"
 
-#: builtin.c:1564
+#: builtin.c:1627
 msgid "strftime: received empty format string"
 msgstr "strftime: ������������������������"
 
-#: builtin.c:1573
+#: builtin.c:1636
 msgid "strftime: received non-numeric second argument"
 msgstr "strftime: ������������������������������"
 
-#: builtin.c:1650
+#: builtin.c:1713
 msgid "mktime: received non-string argument"
 msgstr "mktime: ����������������������������"
 
-#: builtin.c:1695
+#: builtin.c:1758
 msgid "system: received non-string argument"
 msgstr "system: ����������������������������"
 
-#: builtin.c:1816 eval.c:2041
+#: builtin.c:1879 eval.c:2145
 #, c-format
 msgid "reference to uninitialized field `$%d'"
 msgstr "���������������������������� `$%d' ������������������"
 
-#: builtin.c:1921
+#: builtin.c:1984
 msgid "tolower: received non-string argument"
 msgstr "tolower: ����������������������������"
 
-#: builtin.c:1951
+#: builtin.c:2014
 msgid "toupper: received non-string argument"
 msgstr "toupper: ����������������������������"
 
-#: builtin.c:1984
+#: builtin.c:2047
 msgid "atan2: received non-numeric first argument"
 msgstr "atan2: ������������������������������"
 
-#: builtin.c:1986
+#: builtin.c:2049
 msgid "atan2: received non-numeric second argument"
 msgstr "atan2: ������������������������������"
 
-#: builtin.c:2005
+#: builtin.c:2068
 msgid "sin: received non-numeric argument"
 msgstr "sin: ��������������������������"
 
-#: builtin.c:2021
+#: builtin.c:2084
 msgid "cos: received non-numeric argument"
 msgstr "cos: ��������������������������"
 
-#: builtin.c:2071
+#: builtin.c:2137
 msgid "srand: received non-numeric argument"
 msgstr "srand: ��������������������������"
 
-#: builtin.c:2106
+#: builtin.c:2172
 msgid "match: third argument is not an array"
 msgstr "match: ��������������������������������"
 
-#: builtin.c:2650
+#: builtin.c:2719
 msgid "gensub: third argument of 0 treated as 1"
 msgstr "gensub: ���������� 0 ������1 ����������������������"
 
-#: builtin.c:2766
+#: builtin.c:2835
 msgid "lshift: received non-numeric first argument"
 msgstr "lshift: ������������������������������"
 
-#: builtin.c:2768
+#: builtin.c:2837
 msgid "lshift: received non-numeric second argument"
 msgstr "lshift: ������������������������������"
 
-#: builtin.c:2774
+#: builtin.c:2843
 #, c-format
 msgid "lshift(%lf, %lf): negative values will give strange results"
 msgstr "lshift(%lf, %lf): ������������������������������������������"
 
-#: builtin.c:2776
+#: builtin.c:2845
 #, c-format
 msgid "lshift(%lf, %lf): fractional values will be truncated"
 msgstr "lshift(%lf, %lf): ��������������������������������"
 
-#: builtin.c:2778
+#: builtin.c:2847
 #, c-format
 msgid "lshift(%lf, %lf): too large shift value will give strange results"
 msgstr "lshift(%lf, %lf): ��������������������������������������������"
 
-#: builtin.c:2804
+#: builtin.c:2873
 msgid "rshift: received non-numeric first argument"
 msgstr "rshift: ������������������������������"
 
-#: builtin.c:2806
+#: builtin.c:2875
 msgid "rshift: received non-numeric second argument"
 msgstr "rshift: ������������������������������"
 
-#: builtin.c:2812
+#: builtin.c:2881
 #, c-format
 msgid "rshift(%lf, %lf): negative values will give strange results"
 msgstr "rshift(%lf, %lf): ������������������������������������������"
 
-#: builtin.c:2814
+#: builtin.c:2883
 #, c-format
 msgid "rshift(%lf, %lf): fractional values will be truncated"
 msgstr "rshift(%lf, %lf): ��������������������������������"
 
-#: builtin.c:2816
+#: builtin.c:2885
 #, c-format
 msgid "rshift(%lf, %lf): too large shift value will give strange results"
 msgstr "rshift(%lf, %lf): ��������������������������������������������"
 
-#: builtin.c:2842
+#: builtin.c:2911
 msgid "and: received non-numeric first argument"
 msgstr "and: ������������������������������"
 
-#: builtin.c:2844
+#: builtin.c:2913
 msgid "and: received non-numeric second argument"
 msgstr "and: ������������������������������"
 
-#: builtin.c:2850
+#: builtin.c:2919
 #, c-format
 msgid "and(%lf, %lf): negative values will give strange results"
 msgstr "and(%lf, %lf): ������������������������������������������"
 
-#: builtin.c:2852
+#: builtin.c:2921
 #, c-format
 msgid "and(%lf, %lf): fractional values will be truncated"
 msgstr "and(%lf, %lf): ��������������������������������"
 
-#: builtin.c:2878
+#: builtin.c:2947
 msgid "or: received non-numeric first argument"
 msgstr "or: ������������������������������"
 
-#: builtin.c:2880
+#: builtin.c:2949
 msgid "or: received non-numeric second argument"
 msgstr "or: ������������������������������"
 
-#: builtin.c:2886
+#: builtin.c:2955
 #, c-format
 msgid "or(%lf, %lf): negative values will give strange results"
 msgstr "or(%lf, %lf): ������������������������������������������"
 
-#: builtin.c:2888
+#: builtin.c:2957
 #, c-format
 msgid "or(%lf, %lf): fractional values will be truncated"
 msgstr "or(%lf, %lf): ��������������������������������"
 
-#: builtin.c:2914
+#: builtin.c:2983
 msgid "xor: received non-numeric first argument"
 msgstr "xor: ������������������������������"
 
-#: builtin.c:2916
+#: builtin.c:2985
 msgid "xor: received non-numeric second argument"
 msgstr "xor: ������������������������������"
 
-#: builtin.c:2922
+#: builtin.c:2991
 #, c-format
 msgid "xor(%lf, %lf): negative values will give strange results"
 msgstr "xor(%lf, %lf): ������������������������������������������"
 
-#: builtin.c:2924
+#: builtin.c:2993
 #, c-format
 msgid "xor(%lf, %lf): fractional values will be truncated"
 msgstr "xor(%lf, %lf): ��������������������������������"
 
-#: builtin.c:2948
+#: builtin.c:3017
 msgid "compl: received non-numeric argument"
 msgstr "compl: ��������������������������"
 
-#: builtin.c:2954
+#: builtin.c:3023
 #, c-format
 msgid "compl(%lf): negative value will give strange results"
 msgstr "compl(%lf): ������������������������������������������"
 
-#: builtin.c:2956
+#: builtin.c:3025
 #, c-format
 msgid "compl(%lf): fractional value will be truncated"
 msgstr "compl(%lf): ��������������������������������"
 
-#: builtin.c:3129
+#: builtin.c:3198
 #, c-format
 msgid "dcgettext: `%s' is not a valid locale category"
 msgstr "dcgettext: `%s' ����������������������������������"
 
-#: eval.c:303
+#: eval.c:372
 #, c-format
 msgid "unknown nodetype %d"
 msgstr "������ %d ������������������"
 
-#: eval.c:353
+#: eval.c:422
 msgid "buffer overflow in genflags2str"
 msgstr "genflags2str ������������������������������"
 
-#: eval.c:385 eval.c:391 profile.c:817
+#: eval.c:454 eval.c:460 profile.c:781
 #, c-format
 msgid "attempt to use array `%s' in a scalar context"
 msgstr "������������������ `%s' ������������������"
 
-#: eval.c:733
+#: eval.c:802
 #, c-format
 msgid "for loop: array `%s' changed size from %ld to %ld during loop execution"
 msgstr ""
 "for ������: �������������� `%s' ���������� %ld ���� %ld ����������������"
 
-#: eval.c:754
+#: eval.c:823
 msgid "`break' outside a loop is not portable"
 msgstr "�������������������� `break' ������ awk ������������������"
 
-#: eval.c:758
+#: eval.c:827
 msgid "`break' outside a loop is not allowed"
 msgstr "�������������� `break' ������������������"
 
-#: eval.c:775
+#: eval.c:844
 msgid "`continue' outside a loop is not portable"
 msgstr "�������������������� `continue' ������ awk ������������������"
 
-#: eval.c:779
+#: eval.c:848
 msgid "`continue' outside a loop is not allowed"
 msgstr "�������������� `continue' ������������������"
 
-#: eval.c:813
+#: eval.c:882
 msgid "`next' cannot be called from a BEGIN rule"
 msgstr "BEGIN ������������ `next' ������������������"
 
-#: eval.c:815
+#: eval.c:884
 msgid "`next' cannot be called from an END rule"
 msgstr "END ������������ `next' ������������������"
 
-#: eval.c:824
+#: eval.c:893
 msgid "`nextfile' cannot be called from a BEGIN rule"
 msgstr "BEGIN ������������ `nextfile' ������������������"
 
-#: eval.c:826
+#: eval.c:895
 msgid "`nextfile' cannot be called from an END rule"
 msgstr "END ������������ `nextfile' ������������������"
 
-#: eval.c:875
+#: eval.c:952
 msgid "statement has no effect"
 msgstr "��������������������������"
 
-#: eval.c:952 eval.c:1895
+#: eval.c:1029 eval.c:1999
 #, c-format
 msgid "can't use function name `%s' as variable or array"
 msgstr "������ `%s' ����������������������������"
 
-#: eval.c:959 eval.c:965
+#: eval.c:1036 eval.c:1042
 #, c-format
 msgid "reference to uninitialized argument `%s'"
 msgstr "���������������������� `%s' ������������������"
 
-#: eval.c:974 eval.c:1904
+#: eval.c:1051 eval.c:2008
 #, c-format
 msgid "reference to uninitialized variable `%s'"
 msgstr "���������������������� `%s' ������������������"
 
-#: eval.c:1120
+#: eval.c:1197
 msgid ""
 "concatenation: side effects in one expression have changed the length of "
 "another!"
@@ -862,44 +896,39 @@
 "concatenation��������������: ����������������������������������������������"
 "��!"
 
-#: eval.c:1202
+#: eval.c:1301
 msgid "assignment used in conditional context"
 msgstr "����������������"
 
-#: eval.c:1280
+#: eval.c:1379
 msgid "division by zero attempted"
 msgstr "��������������������������"
 
-#: eval.c:1295
-#, c-format
-msgid "division by zero attempted in `%%'"
-msgstr "`%%' ����������������������������"
-
-#: eval.c:1310 profile.c:693
+#: eval.c:1409 profile.c:657
 #, c-format
 msgid "illegal type (%s) in tree_eval"
 msgstr "tree_eval ������������������ (%s) ��������������������"
 
-#: eval.c:1473
+#: eval.c:1572
 msgid "division by zero attempted in `/='"
 msgstr "`/=' ����������������������������"
 
-#: eval.c:1495
+#: eval.c:1594
 #, c-format
 msgid "division by zero attempted in `%%='"
 msgstr "`%%=' ����������������������������"
 
-#: eval.c:1760
+#: eval.c:1859
 #, c-format
 msgid "function `%s' called with more arguments than declared"
 msgstr "���������������������������������������� `%s' ������������������"
 
-#: eval.c:1804
+#: eval.c:1904
 #, c-format
 msgid "function `%s' not defined"
 msgstr "���� `%s' ����������������������"
 
-#: eval.c:1867
+#: eval.c:1971
 #, c-format
 msgid ""
 "\n"
@@ -910,42 +939,47 @@
 "\t# ����������������:\n"
 "\n"
 
-#: eval.c:1870
+#: eval.c:1974
 #, c-format
 msgid "\t# -- main --\n"
 msgstr "\t# -- ������ --\n"
 
-#: eval.c:2025
+#: eval.c:2129
 msgid "attempt to field reference from non-numeric value"
 msgstr "������������������������������������������������"
 
-#: eval.c:2027
+#: eval.c:2131
 msgid "attempt to reference from null string"
 msgstr "����������������������������"
 
-#: eval.c:2033
+#: eval.c:2137
 #, c-format
 msgid "attempt to access field %d"
 msgstr "���������� %d ������������������"
 
-#: eval.c:2054 eval.c:2061 profile.c:914
+#: eval.c:2158 eval.c:2165 profile.c:836
 msgid "assignment is not allowed to result of builtin function"
 msgstr "������������������������������������"
 
-#: eval.c:2125
+#: eval.c:2229
 msgid "`IGNORECASE' is a gawk extension"
 msgstr "`IGNORECASE' �� gawk ����������������"
 
-#: eval.c:2155
+#: eval.c:2258
 msgid "`BINMODE' is a gawk extension"
 msgstr "`BINMODE' �� gawk ����������������"
 
-#: eval.c:2277
+#: eval.c:2316
+#, c-format
+msgid "BINMODE value `%s' is invalid, treated as 3"
+msgstr ""
+
+#: eval.c:2406
 #, c-format
 msgid "bad `%sFMT' specification `%s'"
 msgstr "`%sFMT' ������ `%s' ������������������"
 
-#: eval.c:2355
+#: eval.c:2484
 msgid "turning off `--lint' due to assignment to `LINT'"
 msgstr "`LINT' �������������� `--lint' ����������������"
 
@@ -1020,564 +1054,572 @@
 msgid "NF set to negative value"
 msgstr "NF ��������������"
 
-#: field.c:823
+#: field.c:875
 msgid "split: second argument is not an array"
 msgstr "split: ������������������������������"
 
-#: field.c:857
+#: field.c:909
 msgid "split: null string for third arg is a gawk extension"
 msgstr "split: ���������������������������� gawk ����������������"
 
-#: field.c:909
+#: field.c:961
 msgid "`FIELDWIDTHS' is a gawk extension"
 msgstr "`FIELDWIDTHS' �� gawk ����������������"
 
-#: field.c:939 field.c:953
+#: field.c:991 field.c:1005
 #, c-format
 msgid "invalid FIELDWIDTHS value, near `%s'"
 msgstr "`%s' ������ FIELDWIDTHS ��������������"
 
-#: field.c:1036
+#: field.c:1088
 msgid "null string for `FS' is a gawk extension"
 msgstr "`FS' �������������������� gawk ����������������"
 
-#: field.c:1040
+#: field.c:1092
 #, fuzzy
 msgid "old awk does not support regexps as value of `FS'"
 msgstr "������ `**' ������ awk ��������������"
 
-#: getopt.c:571 getopt.c:587
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
+#: getopt.c:570 getopt.c:586
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
 msgstr "%s: ���������� `%s' ������������\n"
 
-#: getopt.c:620 getopt.c:624
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
+#: getopt.c:619 getopt.c:623
+#, fuzzy, c-format
+msgid "%s: option '--%s' doesn't allow an argument\n"
 msgstr "%s: ���������� `--%s' ��������������������\n"
 
-#: getopt.c:633 getopt.c:638
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
+#: getopt.c:632 getopt.c:637
+#, fuzzy, c-format
+msgid "%s: option '%c%s' doesn't allow an argument\n"
 msgstr "%s: ���������� `%c%s' ��������������������\n"
 
-#: getopt.c:681 getopt.c:700 getopt.c:1016 getopt.c:1035
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
+#: getopt.c:680 getopt.c:699 getopt.c:1002 getopt.c:1021
+#, fuzzy, c-format
+msgid "%s: option '%s' requires an argument\n"
 msgstr "%s: ���������� `%s' ��������������������\n"
 
-#: getopt.c:738 getopt.c:741
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
+#: getopt.c:737 getopt.c:740
+#, fuzzy, c-format
+msgid "%s: unrecognized option '--%s'\n"
 msgstr "%s: ���������������������� `--%s'\n"
 
-#: getopt.c:749 getopt.c:752
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
+#: getopt.c:748 getopt.c:751
+#, fuzzy, c-format
+msgid "%s: unrecognized option '%c%s'\n"
 msgstr "%s: ���������������������� `%c%s'\n"
 
-#: getopt.c:804 getopt.c:807
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: ���������������� -- %c\n"
-
-#: getopt.c:813 getopt.c:816
-#, c-format
-msgid "%s: invalid option -- %c\n"
+#: getopt.c:800 getopt.c:803
+#, fuzzy, c-format
+msgid "%s: invalid option -- '%c'\n"
 msgstr "%s: ���������������� -- %c\n"
 
-#: getopt.c:868 getopt.c:884 getopt.c:1088 getopt.c:1106 main.c:461
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
+#: getopt.c:853 getopt.c:870 getopt.c:1073 getopt.c:1091
+#, fuzzy, c-format
+msgid "%s: option requires an argument -- '%c'\n"
 msgstr "%s: ���������������������� -- %c\n"
 
-#: getopt.c:937 getopt.c:953
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
+#: getopt.c:923 getopt.c:939
+#, fuzzy, c-format
+msgid "%s: option '-W %s' is ambiguous\n"
 msgstr "%s: ���������� `-W %s' ������������\n"
 
-#: getopt.c:977 getopt.c:995
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
+#: getopt.c:963 getopt.c:981
+#, fuzzy, c-format
+msgid "%s: option '-W %s' doesn't allow an argument\n"
 msgstr "%s: ���������� `-W %s' ��������������������\n"
 
-#: io.c:345
+#: io.c:322 io.c:352
 #, c-format
 msgid "cannot open file `%s' for reading (%s)"
 msgstr "�������� `%s' �������������������������� (%s)��"
 
-#: io.c:436
+#: io.c:443
 #, c-format
 msgid "close of fd %d (`%s') failed (%s)"
 msgstr "fd %d (`%s') ������������������������ (%s)��"
 
-#: io.c:575
+#: io.c:583
 #, c-format
 msgid "invalid tree type %s in redirect()"
 msgstr "redirect() ������������������������ %s ������������������"
 
-#: io.c:581
+#: io.c:589
 #, c-format
 msgid "expression in `%s' redirection only has numeric value"
 msgstr "`%s' ��������������������������������������������������"
 
-#: io.c:587
+#: io.c:595
 #, c-format
 msgid "expression for `%s' redirection has null string value"
 msgstr "`%s' ��������������������������������"
 
-#: io.c:592
+#: io.c:600
 #, c-format
 msgid "filename `%s' for `%s' redirection may be result of logical expression"
 msgstr ""
 "`%2$s' ������������������������������������������������ `%1$s' ��������������"
 "����"
 
-#: io.c:630
+#: io.c:638
 #, c-format
 msgid "unnecessary mixing of `>' and `>>' for file `%.*s'"
 msgstr "�������� `%.*s' ������������ `>' �� `>>' ������������������"
 
-#: io.c:682
+#: io.c:685
 #, c-format
 msgid "can't open pipe `%s' for output (%s)"
 msgstr "�������������� `%s' ������������ (%s)��"
 
-#: io.c:691
+#: io.c:694
 #, c-format
 msgid "can't open pipe `%s' for input (%s)"
 msgstr "�������������� `%s' ������������ (%s)��"
 
-#: io.c:698 io.c:1448
-#, c-format
-msgid "file `%s' is a directory"
-msgstr "�������� `%s' ��������������������"
-
-#: io.c:706
+#: io.c:712
 #, c-format
 msgid "can't open two way socket `%s' for input/output (%s)"
 msgstr "������������������������ `%s' ������������ (%s)��"
 
-#: io.c:710
+#: io.c:716
 #, c-format
 msgid "can't open two way pipe `%s' for input/output (%s)"
 msgstr "���������������������� `%s' ������������ (%s)��"
 
-#: io.c:786
+#: io.c:793
 #, c-format
 msgid "can't redirect from `%s' (%s)"
 msgstr "`%s' �������������������������� (%s)��"
 
-#: io.c:789
+#: io.c:796
 #, c-format
 msgid "can't redirect to `%s' (%s)"
 msgstr "`%s' ������������������������ (%s)��"
 
-#: io.c:828
+#: io.c:849
 msgid ""
 "reached system limit for open files: starting to multiplex file descriptors"
 msgstr ""
 "����������������������������������������������������������������������������"
 "����"
 
-#: io.c:844
+#: io.c:865
 #, c-format
 msgid "close of `%s' failed (%s)."
 msgstr "`%s' ���������������� (%s)��"
 
-#: io.c:852
+#: io.c:873
 msgid "too many pipes or input files open"
 msgstr "����������������������������������������������������"
 
-#: io.c:875
+#: io.c:896
 msgid "close: second argument must be `to' or `from'"
 msgstr "close: ������������������������ `to' ������ `from' ������"
 
-#: io.c:889
+#: io.c:910
 #, c-format
 msgid "close: `%.*s' is not an open file, pipe or co-process"
 msgstr ""
 "close:  `%.*s' ��������������������������������������������������������"
 
-#: io.c:893
+#: io.c:915
 msgid "close of redirection that was never opened"
 msgstr "����������������������������������������������"
 
-#: io.c:989
+#: io.c:1012
 #, c-format
 msgid "close: redirection `%s' not opened with `|&', second argument ignored"
 msgstr ""
 "close: ������������ `%s' �� `|&' ����������������������������������������"
 
-#: io.c:1005
+#: io.c:1028
 #, c-format
 msgid "failure status (%d) on pipe close of `%s' (%s)"
 msgstr "������ `%2$s' ������������������������������ (%1$d) ������ (%3$s)��"
 
-#: io.c:1008
+#: io.c:1031
 #, c-format
 msgid "failure status (%d) on file close of `%s' (%s)"
 msgstr "�������� `%2$s' ������������������������������ (%1$d) ������ (%3$s)��"
 
-#: io.c:1028
+#: io.c:1051
 #, c-format
 msgid "no explicit close of socket `%s' provided"
 msgstr "�������� `%s' ��������������������������"
 
-#: io.c:1031
+#: io.c:1054
 #, c-format
 msgid "no explicit close of co-process `%s' provided"
 msgstr "������������ `%s' ��������������������������"
 
-#: io.c:1034
+#: io.c:1057
 #, c-format
 msgid "no explicit close of pipe `%s' provided"
 msgstr "������ `%s' ��������������������������"
 
-#: io.c:1037
+#: io.c:1060
 #, c-format
 msgid "no explicit close of file `%s' provided"
 msgstr "�������� `%s' ��������������������������"
 
-#: io.c:1066 io.c:1121 main.c:749 main.c:791
+#: io.c:1088 io.c:1143 main.c:776 main.c:818
 #, c-format
 msgid "error writing standard output (%s)"
 msgstr "������������������������ (%s)"
 
-#: io.c:1070 io.c:1126
+#: io.c:1092 io.c:1148
 #, c-format
 msgid "error writing standard error (%s)"
 msgstr "�������������������������� (%s)"
 
-#: io.c:1078
+#: io.c:1100
 #, c-format
 msgid "pipe flush of `%s' failed (%s)."
 msgstr "������ `%s' ���������������������� (%s)��"
 
-#: io.c:1081
+#: io.c:1103
 #, c-format
 msgid "co-process flush of pipe to `%s' failed (%s)."
 msgstr "`%s' ������������������������������������������������������ (%s)��"
 
-#: io.c:1084
+#: io.c:1106
 #, c-format
 msgid "file flush of `%s' failed (%s)."
 msgstr "�������� `%s' ���������������������� (%s)��"
 
-#: io.c:1198
+#: io.c:1220
 #, fuzzy, c-format
 msgid "local port %s invalid in `/inet'"
 msgstr "`%s' ����������������������������"
 
-#: io.c:1215
+#: io.c:1237
 #, c-format
 msgid "remote host and port information (%s, %s) invalid"
 msgstr ""
 
-#: io.c:1250
+#: io.c:1272
 msgid "/inet/raw client not ready yet, sorry"
 msgstr "������������/inet/raw ������������������������������������"
 
-#: io.c:1253 io.c:1289
+#: io.c:1275 io.c:1311
 msgid "only root may use `/inet/raw'."
 msgstr "`/inet/raw' �� root ��������������������������"
 
-#: io.c:1287
+#: io.c:1309
 msgid "/inet/raw server not ready yet, sorry"
 msgstr "������������/inet/raw ��������������������������������"
 
-#: io.c:1385
+#: io.c:1407
 #, c-format
 msgid "no (known) protocol supplied in special filename `%s'"
 msgstr ""
 "�������������������� `%s' ������������������������������������������������"
 
-#: io.c:1399
+#: io.c:1421
 #, c-format
 msgid "special file name `%s' is incomplete"
 msgstr "�������������������� `%s' ��������������"
 
-#: io.c:1414
+#: io.c:1436
 msgid "must supply a remote hostname to `/inet'"
 msgstr "`/inet' ��������������������������������"
 
-#: io.c:1432
+#: io.c:1454
 msgid "must supply a remote port to `/inet'"
 msgstr "`/inet' ����������������������������������"
 
-#: io.c:1439
+#: io.c:1485
 msgid "TCP/IP communications are not supported"
 msgstr "TCP/IP ����������������������"
 
-#: io.c:1509
+#: io.c:1494
+#, c-format
+msgid "file `%s' is a directory"
+msgstr "�������� `%s' ��������������������"
+
+#: io.c:1555
 #, c-format
 msgid "use `PROCINFO[\"%s\"]' instead of `%s'"
 msgstr "`%2$s' ���������� `PROCINFO[\"%1$s\"]' ��������������������"
 
-#: io.c:1547
+#: io.c:1593
 msgid "use `PROCINFO[...]' instead of `/dev/user'"
 msgstr "`/dev/user' ���������� `PROCINFO[...]' ��������������������"
 
-#: io.c:1612 io.c:1798
+#: io.c:1658 io.c:1853
 #, c-format
 msgid "could not open `%s', mode `%s'"
 msgstr "`%s' (������ `%s') ��������������"
 
-#: io.c:1849
+#: io.c:1904
 #, c-format
 msgid "close of master pty failed (%s)"
 msgstr "�������� pty ���������������� (%s)��"
 
-#: io.c:1851 io.c:2003 io.c:2154
+#: io.c:1906 io.c:2058 io.c:2209
 #, c-format
 msgid "close of stdout in child failed (%s)"
 msgstr "������������������������������������ (%s)��"
 
-#: io.c:1854
+#: io.c:1909
 #, c-format
 msgid "moving slave pty to stdout in child failed (dup: %s)"
 msgstr "�������������������� pty �������������������������� (dup: %s)��"
 
-#: io.c:1856 io.c:2008
+#: io.c:1911 io.c:2063
 #, c-format
 msgid "close of stdin in child failed (%s)"
 msgstr "������������������������������������ (%s)��"
 
-#: io.c:1859
+#: io.c:1914
 #, c-format
 msgid "moving slave pty to stdin in child failed (dup: %s)"
 msgstr "�������������������� pty �������������������������� (dup: %s)��"
 
-#: io.c:1861 io.c:1880
+#: io.c:1916 io.c:1935
 #, c-format
 msgid "close of slave pty failed (%s)"
 msgstr "�������� pty ���������������� (%s)��"
 
-#: io.c:1954 io.c:2006 io.c:2135 io.c:2157
+#: io.c:2009 io.c:2061 io.c:2190 io.c:2212
 #, c-format
 msgid "moving pipe to stdout in child failed (dup: %s)"
 msgstr "�������������������������������������������� (dup: %s)��"
 
-#: io.c:1958 io.c:2011
+#: io.c:2013 io.c:2066
 #, c-format
 msgid "moving pipe to stdin in child failed (dup: %s)"
 msgstr "�������������������������������������������� (dup: %s)��"
 
-#: io.c:1975 io.c:2148
+#: io.c:2030 io.c:2203
 msgid "restoring stdout in parent process failed\n"
 msgstr "��������������������������������������\n"
 
-#: io.c:1980
+#: io.c:2035
 msgid "restoring stdin in parent process failed\n"
 msgstr "��������������������������������������\n"
 
-#: io.c:2014 io.c:2159 io.c:2170
+#: io.c:2069 io.c:2214 io.c:2225
 #, c-format
 msgid "close of pipe failed (%s)"
 msgstr "���������������������� (%s)��"
 
-#: io.c:2059
+#: io.c:2114
 msgid "`|&' not supported"
 msgstr "`|&' ������������������"
 
-#: io.c:2125
+#: io.c:2180
 #, c-format
 msgid "cannot open pipe `%s' (%s)"
 msgstr "������ `%s' ������������ (%s)��"
 
-#: io.c:2166
+#: io.c:2221
 #, c-format
 msgid "cannot create child process for `%s' (fork: %s)"
 msgstr "`%s' ������������������������������ (fork: %s)��"
 
-#: io.c:2548
+#: io.c:2603
 #, c-format
 msgid "data file `%s' is empty"
 msgstr "�������������� `%s' ����������"
 
-#: io.c:2589 io.c:2597
+#: io.c:2644 io.c:2652
 msgid "could not allocate more input memory"
 msgstr "����������������������������������������"
 
-#: io.c:2965 io.c:3038
+#: io.c:3020 io.c:3093
 #, c-format
 msgid "error reading input file `%s': %s"
 msgstr "������������ `%s' ����������������������������������: %s��"
 
-#: io.c:3163
+#: io.c:3218
 msgid "multicharacter value of `RS' is a gawk extension"
 msgstr "������������ `RS' �������������� gawk ����������������"
 
-#: main.c:351
+#: main.c:304
+msgid "out of memory"
+msgstr ""
+
+#: main.c:373
 msgid "`-m[fr]' option irrelevant in gawk"
 msgstr "gawk �������������� `-m[fr]' ��������������������"
 
-#: main.c:353
+#: main.c:375
 msgid "-m option usage: `-m[fr] nnn'"
 msgstr "-m ������������������: `-m[fr] ����'"
 
-#: main.c:370
+#: main.c:392
 #, c-format
 msgid "%s: option `-W %s' unrecognized, ignored\n"
 msgstr "%s: ���������� `-W %s' ������������������������������\n"
 
-#: main.c:407
+#: main.c:433
 msgid "empty argument to `--source' ignored"
 msgstr "�������� `--source' ����������������"
 
-#: main.c:480
+#: main.c:487
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: ���������������������� -- %c\n"
+
+#: main.c:506
 msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'"
 msgstr ""
 "�������� `POSIXLY_CORRECT' ������������������������������ `--posix' ��������"
 "��������"
 
-#: main.c:486
+#: main.c:512
 msgid "`--posix' overrides `--traditional'"
 msgstr "���������� `--posix' �� `--traditional' ����������������"
 
-#: main.c:497
+#: main.c:523
 msgid "`--posix'/`--traditional' overrides `--non-decimal-data'"
 msgstr ""
 "���������� `--posix'/`--traditional' �� `--non-decimal-data' ����������������"
 
-#: main.c:501
+#: main.c:527
 #, c-format
 msgid "running %s setuid root may be a security problem"
 msgstr ""
 "setuid root �� %s ��������������������������������������������������������"
 "����"
 
-#: main.c:542
+#: main.c:568
 #, c-format
 msgid "can't set binary mode on stdin (%s)"
 msgstr "���������������������������������������� (%s)��"
 
-#: main.c:545
+#: main.c:571
 #, c-format
 msgid "can't set binary mode on stdout (%s)"
 msgstr "���������������������������������������� (%s)��"
 
-#: main.c:547
+#: main.c:573
 #, c-format
 msgid "can't set binary mode on stderr (%s)"
 msgstr "������������������������������������������ (%s)��"
 
-#: main.c:586
+#: main.c:612
 msgid "no program text at all!"
 msgstr "����������������������������!"
 
-#: main.c:690
+#: main.c:716
 #, c-format
 msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n"
 msgstr ""
 "������: %s [POSIX ������ GNU ��������������] -f ������������������ [--] ����"
 "�������� ��\n"
 
-#: main.c:692
+#: main.c:718
 #, c-format
 msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n"
 msgstr ""
 "������: %s [POSIX ������ GNU ��������������] [--] %c����������%c ����������"
 "�� ��\n"
 
-#: main.c:697
+#: main.c:723
 msgid "POSIX options:\t\tGNU long options:\n"
 msgstr "POSIX ����������:\t\tGNU ����������������\n"
 
-#: main.c:698
+#: main.c:724
 msgid "\t-f progfile\t\t--file=progfile\n"
 msgstr "\t-f ������������������\t\t--file=������������������\n"
 
-#: main.c:699
+#: main.c:725
 msgid "\t-F fs\t\t\t--field-separator=fs\n"
 msgstr ""
 "\t-F ��������������������\t\t\t--field-separator=��������������������\n"
 
-#: main.c:700
+#: main.c:726
 msgid "\t-v var=val\t\t--assign=var=val\n"
 msgstr "\t-v ����=������\t\t--assign=����=������\n"
 
-#: main.c:701
+#: main.c:727
 msgid "\t-m[fr] val\n"
 msgstr "\t-m[fr] ����\n"
 
-#: main.c:702
+#: main.c:728
+msgid "\t-O\t\t\t--optimize\n"
+msgstr ""
+
+#: main.c:729
 msgid "\t-W compat\t\t--compat\n"
 msgstr "\t-W compat\t\t--compat\n"
 
-#: main.c:703
+#: main.c:730
 msgid "\t-W copyleft\t\t--copyleft\n"
 msgstr "\t-W copyleft\t\t--copyleft\n"
 
-#: main.c:704
+#: main.c:731
 msgid "\t-W copyright\t\t--copyright\n"
 msgstr "\t-W copyright\t\t--copyright\n"
 
-#: main.c:705
+#: main.c:732
 msgid "\t-W dump-variables[=file]\t--dump-variables[=file]\n"
 msgstr "\t-W dump-variables[=��������]\t--dump-variables[=��������]\n"
 
-#: main.c:706
+#: main.c:733
 msgid "\t-W exec=file\t\t--exec=file\n"
 msgstr "\t-W exec=��������\t\t--exec=��������\n"
 
-#: main.c:707
+#: main.c:734
 msgid "\t-W gen-po\t\t--gen-po\n"
 msgstr "\t-W gen-po\t\t--gen-po\n"
 
-#: main.c:708
+#: main.c:735
 msgid "\t-W help\t\t\t--help\n"
 msgstr "\t-W help\t\t\t--help\n"
 
-#: main.c:709
+#: main.c:736
 msgid "\t-W lint[=fatal]\t\t--lint[=fatal]\n"
 msgstr "\t-W lint[=fatal]\t\t--lint[=fatal]\n"
 
-#: main.c:710
+#: main.c:737
 msgid "\t-W lint-old\t\t--lint-old\n"
 msgstr "\t-W lint-old\t\t--lint-old\n"
 
-#: main.c:711
+#: main.c:738
 msgid "\t-W non-decimal-data\t--non-decimal-data\n"
 msgstr "\t-W non-decimal-data\t--non-decimal-data\n"
 
-#: main.c:713
+#: main.c:740
 msgid "\t-W nostalgia\t\t--nostalgia\n"
 msgstr "\t-W nostalgia\t\t--nostalgia\n"
 
-#: main.c:716
+#: main.c:743
 msgid "\t-W parsedebug\t\t--parsedebug\n"
 msgstr "\t-W parsedebug\t\t--parsedebug\n"
 
-#: main.c:718
+#: main.c:745
 msgid "\t-W profile[=file]\t--profile[=file]\n"
 msgstr "\t-W profile[=��������]\t--profile[=��������]\n"
 
-#: main.c:719
+#: main.c:746
 msgid "\t-W posix\t\t--posix\n"
 msgstr "\t-W posix\t\t--posix\n"
 
-#: main.c:720
+#: main.c:747
 msgid "\t-W re-interval\t\t--re-interval\n"
 msgstr "\t-W re-interval\t\t--re-interval\n"
 
-#: main.c:721
+#: main.c:748
 msgid "\t-W source=program-text\t--source=program-text\n"
 msgstr "\t-W source=������������\t--source=������������\n"
 
-#: main.c:722
+#: main.c:749
 msgid "\t-W traditional\t\t--traditional\n"
 msgstr "\t-W traditional\t\t--traditional\n"
 
-#: main.c:723
+#: main.c:750
 msgid "\t-W usage\t\t--usage\n"
 msgstr "\t-W usage\t\t--usage\n"
 
-#: main.c:724
+#: main.c:751
 msgid "\t-W use-lc-numeric\t--use-lc-numeric\n"
 msgstr ""
 
-#: main.c:725
+#: main.c:752
 msgid "\t-W version\t\t--version\n"
 msgstr "\t-W version\t\t--version\n"
 
@@ -1586,7 +1628,7 @@
 #. for this application.  Please add _another line_ with the
 #. address for translation bugs.
 #. no-wrap
-#: main.c:734
+#: main.c:761
 msgid ""
 "\n"
 "To report bugs, see node `Bugs' in `gawk.info', which is\n"
@@ -1599,7 +1641,7 @@
 "����`Reporting Problems and Bugs' ������\n"
 "\n"
 
-#: main.c:738
+#: main.c:765
 msgid ""
 "gawk is a pattern scanning and processing language.\n"
 "By default it reads standard input and writes standard output.\n"
@@ -1609,7 +1651,7 @@
 "����������������������������������������������������������������\n"
 "\n"
 
-#: main.c:742
+#: main.c:769
 msgid ""
 "Examples:\n"
 "\tgawk '{ sum += $1 }; END { print sum }' file\n"
@@ -1619,8 +1661,8 @@
 "\tgawk '{ sum += $1 }; END { print sum }' ������������\n"
 "\tgawk -F: '{ print $1 }' /etc/passwd\n"
 
-#: main.c:762
-#, c-format
+#: main.c:789
+#, fuzzy, c-format
 msgid ""
 "Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
 "\n"
@@ -1637,7 +1679,7 @@
 "������������������/������������������������������������\n"
 "\n"
 
-#: main.c:770
+#: main.c:797
 msgid ""
 "This program is distributed in the hope that it will be useful,\n"
 "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
@@ -1651,7 +1693,7 @@
 "����������GNU General Public License ��������������������\n"
 "\n"
 
-#: main.c:781
+#: main.c:808
 #, fuzzy
 msgid ""
 "You should have received a copy of the GNU General Public License\n"
@@ -1664,11 +1706,11 @@
 "\t59 Temple Place - Suite 330, Boston, MA 02111-1307, USA\n"
 "��������������������������\n"
 
-#: main.c:816
+#: main.c:843
 msgid "-Ft does not set FS to tab in POSIX awk"
 msgstr "POSIX ������ awk ���� -Ft �� FS ������������������������"
 
-#: main.c:1060
+#: main.c:1117
 #, c-format
 msgid ""
 "%s: `%s' argument to `-v' not in `var=value' form\n"
@@ -1677,35 +1719,45 @@
 "%s: ���������� `-v' ������ `%s' �� `����=������' ������������������������\n"
 "\n"
 
-#: main.c:1080
+#: main.c:1137
 #, c-format
 msgid "`%s' is not a legal variable name"
 msgstr "`%s' ��������������������"
 
-#: main.c:1083
+#: main.c:1140
 #, c-format
 msgid "`%s' is not a variable name, looking for file `%s=%s'"
 msgstr "`%s' ������������������������`%s=%s' ����������������������"
 
-#: main.c:1122
+#: main.c:1179
 msgid "floating point exception"
 msgstr "��������������"
 
-#: main.c:1129
+#: main.c:1186
 msgid "fatal error: internal error"
 msgstr "������������: ����������"
 
-#: main.c:1180
+#: main.c:1200
+#, fuzzy
+msgid "fatal error: internal error: segfault"
+msgstr "������������: ����������"
+
+#: main.c:1212
+#, fuzzy
+msgid "fatal error: internal error: stack overflow"
+msgstr "������������: ����������"
+
+#: main.c:1261
 #, c-format
 msgid "no pre-opened fd %d"
 msgstr "fd %d ������������������������"
 
-#: main.c:1187
+#: main.c:1268
 #, c-format
 msgid "could not pre-open /dev/null for fd %d"
 msgstr "������ fd %d ���� /dev/null ��������������"
 
-#: main.c:1210 main.c:1219
+#: main.c:1291 main.c:1300
 #, c-format
 msgid "could not find groups: %s"
 msgstr "������������������������: %s"
@@ -1731,24 +1783,31 @@
 msgid "can't convert string to float"
 msgstr "������������������������������������"
 
-#: node.c:406
+#: node.c:462
 msgid "backslash at end of string"
 msgstr "������������������������������������������������"
 
-#: node.c:548
+#: node.c:606
 #, fuzzy, c-format
 msgid "old awk does not support the `\\%c' escape sequence"
 msgstr "������ `**' ������ awk ��������������"
 
-#: node.c:599
+#: node.c:657
 msgid "POSIX does not allow `\\x' escapes"
 msgstr "POSIX �� `\\x' ��������������������������"
 
-#: node.c:605
+#: node.c:663
 msgid "no hex digits in `\\x' escape sequence"
 msgstr "`\\x' ���������������������� 16 ������������������"
 
-#: node.c:639
+#: node.c:685
+#, c-format
+msgid ""
+"hex escape \\x%.*s of %d characters probably not interpreted the way you "
+"expect"
+msgstr ""
+
+#: node.c:700
 #, c-format
 msgid "escape sequence `\\%c' treated as plain `%c'"
 msgstr "�������������������� `\\%c' �� `%c' ��������������������"
@@ -1758,31 +1817,32 @@
 msgid "%s %s `%s': could not set close-on-exec: (fcntl: %s)"
 msgstr "%s %s `%s': close-on-exec ����������������: (fcntl: %s)"
 
-#: profile.c:92
+#: profile.c:93
 #, c-format
 msgid "could not open `%s' for writing: %s"
 msgstr "`%s' ����������������������������: %s"
 
-#: profile.c:450
+#: profile.c:453
 #, c-format
 msgid "internal error: %s with null vname"
 msgstr "����������: %s �� vname ������������"
 
-#: profile.c:514
+#: profile.c:517
+#, fuzzy
 msgid "# treated internally as `delete'"
 msgstr "# �������� `delete' ��������������������"
 
-#: profile.c:1147
+#: profile.c:1069
 #, c-format
 msgid "# this is a dynamically loaded extension function"
 msgstr "# ��������������������������������������"
 
-#: profile.c:1178
+#: profile.c:1100
 #, c-format
 msgid "\t# gawk profile, created %s\n"
 msgstr "\t# gawk ���������������������� %s\n"
 
-#: profile.c:1181
+#: profile.c:1103
 #, c-format
 msgid ""
 "\t# BEGIN block(s)\n"
@@ -1791,7 +1851,7 @@
 "\t# BEGIN ��������\n"
 "\n"
 
-#: profile.c:1191
+#: profile.c:1113
 #, c-format
 msgid ""
 "\t# Rule(s)\n"
@@ -1800,7 +1860,7 @@
 "\t# ������\n"
 "\n"
 
-#: profile.c:1197
+#: profile.c:1119
 #, c-format
 msgid ""
 "\t# END block(s)\n"
@@ -1809,7 +1869,7 @@
 "\t# END ��������\n"
 "\n"
 
-#: profile.c:1217
+#: profile.c:1139
 #, c-format
 msgid ""
 "\n"
@@ -1818,82 +1878,90 @@
 "\n"
 "\t# ����������������������������\n"
 
-#: profile.c:1470
+#: profile.c:1400
 #, c-format
 msgid "unexpected type %s in prec_level"
 msgstr "prec_level ���� %s ����������������������"
 
-#: regcomp.c:132
+#: profile.c:1500
+#, fuzzy, c-format
+msgid "Unknown node type %s in pp_var"
+msgstr "������ %d ������������������"
+
+#: regcomp.c:133
 msgid "Success"
 msgstr "����"
 
-#: regcomp.c:135
+#: regcomp.c:136
 msgid "No match"
 msgstr "��������"
 
-#: regcomp.c:138
+#: regcomp.c:139
 msgid "Invalid regular expression"
 msgstr "��������������"
 
-#: regcomp.c:141
+#: regcomp.c:142
 msgid "Invalid collation character"
 msgstr "��������������"
 
-#: regcomp.c:144
+#: regcomp.c:145
 msgid "Invalid character class name"
 msgstr "������������������"
 
-#: regcomp.c:147
+#: regcomp.c:148
 msgid "Trailing backslash"
 msgstr "��������������������������������������"
 
-#: regcomp.c:150
+#: regcomp.c:151
 msgid "Invalid back reference"
 msgstr "������������������������"
 
-#: regcomp.c:153
+#: regcomp.c:154
 msgid "Unmatched [ or [^"
 msgstr "[ ������ [^ ����������������"
 
-#: regcomp.c:156
+#: regcomp.c:157
 msgid "Unmatched ( or \\("
 msgstr "( ������ \\( ����������������"
 
-#: regcomp.c:159
+#: regcomp.c:160
 msgid "Unmatched \\{"
 msgstr "\\{ ����������������"
 
-#: regcomp.c:162
+#: regcomp.c:163
 msgid "Invalid content of \\{\\}"
 msgstr "\\{\\} ������������������"
 
-#: regcomp.c:165
+#: regcomp.c:166
 msgid "Invalid range end"
 msgstr "��������������������������"
 
-#: regcomp.c:168
+#: regcomp.c:169
 msgid "Memory exhausted"
 msgstr "����������������������"
 
-#: regcomp.c:171
+#: regcomp.c:172
 msgid "Invalid preceding regular expression"
 msgstr "��������������������������"
 
-#: regcomp.c:174
+#: regcomp.c:175
 msgid "Premature end of regular expression"
 msgstr "������������������������������"
 
-#: regcomp.c:177
+#: regcomp.c:178
 msgid "Regular expression too big"
 msgstr "����������������������"
 
-#: regcomp.c:180
+#: regcomp.c:181
 msgid "Unmatched ) or \\)"
 msgstr ") ������ \\) ����������������"
 
-#: regcomp.c:664
+#: regcomp.c:700
 msgid "No previous regular expression"
 msgstr "������������������������������������������"
 
+#~ msgid "%s: illegal option -- %c\n"
+#~ msgstr "%s: ���������������� -- %c\n"
+
 #~ msgid "remote port invalid in `%s'"
 #~ msgstr "`%s' ����������������������������"
diff -urN gawk-3.1.6/po/nl.po gawk-3.1.7/po/nl.po
--- gawk-3.1.6/po/nl.po	2007-10-20 22:49:11.000000000 +0200
+++ gawk-3.1.7/po/nl.po	2009-07-21 23:23:45.000000000 +0300
@@ -1,14 +1,16 @@
-# Translation of gawk-3.1.5h to Dutch.
-# Copyright (C) 2005, 2007 Free Software Foundation, Inc.
+# Translation of gawk-3.1.6 to Dutch.
+# Copyright (C) 2009 Free Software Foundation, Inc.
+#
+# This file is distributed under the same license as the gawk package.
 #
 # Benno Schulenberg <benno@vertaalt.nl>, 2005, 2007.
 msgid ""
 msgstr ""
-"Project-Id-Version: gawk 3.1.5h\n"
+"Project-Id-Version: gawk 3.1.6e\n"
 "Report-Msgid-Bugs-To: arnold@skeeve.com\n"
-"POT-Creation-Date: 2007-09-30 22:33+0200\n"
-"PO-Revision-Date: 2007-10-02 12:43+0200\n"
-"Last-Translator: Benno Schulenberg <benno@vertaalt.nl>\n"
+"POT-Creation-Date: 2009-07-21 23:23+0300\n"
+"PO-Revision-Date: 2009-07-05 21:29+0100\n"
+"Last-Translator: Erwin Poeze <erwin.poeze@gmail.com>\n"
 "Language-Team: Dutch <vertaling@vrijschrift.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -18,17 +20,17 @@
 #: array.c:112
 #, c-format
 msgid "attempt to use function `%s' as an array"
-msgstr "functie '%s' wordt gebruikt als array"
+msgstr "functie `%s' wordt gebruikt als array"
 
 #: array.c:115
 #, c-format
 msgid "attempt to use scalar parameter `%s' as an array"
-msgstr "scalaire parameter '%s' wordt gebruikt als array"
+msgstr "scalaire parameter `%s' wordt gebruikt als array"
 
 #: array.c:118
 #, c-format
 msgid "attempt to use scalar `%s' as array"
-msgstr "scalair '%s' wordt gebruikt als array"
+msgstr "scalair `%s' wordt gebruikt als array"
 
 #: array.c:156
 #, c-format
@@ -43,12 +45,12 @@
 #: array.c:520
 #, c-format
 msgid "subscript of array `%s' is null string"
-msgstr "index van array '%s' is lege string"
+msgstr "index van array `%s' is lege string"
 
 #: array.c:624
 #, c-format
 msgid "delete: index `%s' not in array `%s'"
-msgstr "delete: index '%s' niet in array '%s' "
+msgstr "delete: index `%s' niet in array '%s'"
 
 #: array.c:793
 #, c-format
@@ -75,521 +77,558 @@
 msgid "%s: array_ref to %s\n"
 msgstr "%s: array-verwijzing naar %s\n"
 
-#: awkgram.y:215
+#: awkgram.y:218
 #, c-format
 msgid "%s blocks must have an action part"
 msgstr "%s-blokken horen een actiedeel te hebben"
 
-#: awkgram.y:218
+#: awkgram.y:221
 msgid "each rule must have a pattern or an action part"
 msgstr "elke regel hoort een patroon of een actiedeel te hebben"
 
-#: awkgram.y:254 awkgram.y:263
+#: awkgram.y:257 awkgram.y:266
 msgid "old awk does not support multiple `BEGIN' or `END' rules"
-msgstr "oude 'awk' staat meerdere 'BEGIN'- en 'END'-regels niet toe"
+msgstr "oude 'awk' staat geen meerdere 'BEGIN'- en 'END'-regels toe"
 
-#: awkgram.y:282
+#: awkgram.y:285
 #, c-format
 msgid "`%s' is a built-in function, it cannot be redefined"
-msgstr "'%s' is een ingebouwde functie en is niet te herdefini��ren"
+msgstr "`%s' is een ingebouwde functie en is niet te herdefini��ren"
 
-#: awkgram.y:328
+#: awkgram.y:331
 msgid "regexp constant `//' looks like a C++ comment, but is not"
-msgstr "regexp-constante '//' lijkt op C-commentaar, maar is het niet"
+msgstr "regexp-constante `//' lijkt op C++-commentaar, maar is het niet"
 
-#: awkgram.y:331
+#: awkgram.y:334
 #, c-format
 msgid "regexp constant `/%s/' looks like a C comment, but is not"
-msgstr "regexp-constante '/%s/' lijkt op C-commentaar, maar is het niet"
+msgstr "regexp-constante `/%s/' lijkt op C-commentaar, maar is het niet"
 
-#: awkgram.y:358 awkgram.y:653
+#: awkgram.y:361 awkgram.y:656
 msgid "statement may have no effect"
 msgstr "opdracht heeft mogelijk geen effect"
 
-#: awkgram.y:455 awkgram.y:479
+#: awkgram.y:458 awkgram.y:482
 #, c-format
 msgid "`%s' used in %s action"
-msgstr "'%s' wordt gebruikt in %s-actie"
+msgstr "`%s' wordt gebruikt in %s-actie"
 
-#: awkgram.y:470 awkgram.y:474
+#: awkgram.y:473 awkgram.y:477
 msgid "`nextfile' is a gawk extension"
-msgstr "'nextfile' is een gawk-uitbreiding"
+msgstr "`nextfile' is een gawk-uitbreiding"
 
-#: awkgram.y:489
+#: awkgram.y:492
 msgid "`return' used outside function context"
-msgstr "'return' wordt gebruikt buiten functiecontext"
+msgstr "`return' wordt gebruikt buiten functiecontext"
 
-#: awkgram.y:531
+#: awkgram.y:534
 msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'"
 msgstr ""
-"kale 'print' in BEGIN- of END-regel moet vermoedelijk 'print \"\"' zijn"
+"kale `print' in BEGIN- of END-regel moet vermoedelijk `print \"\"' zijn"
 
-#: awkgram.y:547 awkgram.y:555
+#: awkgram.y:550 awkgram.y:558
 msgid "`delete array' is a gawk extension"
-msgstr "'delete array' is een gawk-uitbreiding"
+msgstr "`delete array' is een gawk-uitbreiding"
 
-#: awkgram.y:569 awkgram.y:577
+#: awkgram.y:572 awkgram.y:580
 msgid "`delete(array)' is a non-portable tawk extension"
-msgstr "'delete(array)' is een niet-overdraagbare tawk-uitbreiding"
+msgstr "`delete(array)' is een niet-overdraagbare 'tawk'-uitbreiding"
 
-#: awkgram.y:621
+#: awkgram.y:624
 #, c-format
 msgid "duplicate case values in switch body: %s"
-msgstr "dubbele 'case'-waarde in 'switch'-opdracht: %s"
+msgstr "dubbele `case'-waarde in `switch'-opdracht: %s"
 
-#: awkgram.y:631
+#: awkgram.y:634
 msgid "Duplicate `default' detected in switch body"
-msgstr "dubbele 'default' in 'switch'-opdracht"
+msgstr "dubbele `default' in `switch'-opdracht"
 
-#: awkgram.y:720
+#: awkgram.y:723
 msgid "multistage two-way pipelines don't work"
 msgstr "meerfase-tweerichtings-pijplijnen werken niet"
 
-#: awkgram.y:811
+#: awkgram.y:814
 msgid "regular expression on right of assignment"
 msgstr "reguliere expressie rechts van toewijzing"
 
-#: awkgram.y:834
+#: awkgram.y:824
 msgid "regular expression on left of `~' or `!~' operator"
-msgstr "reguliere expressie links van operator '~' of '!~'"
+msgstr "reguliere expressie links van operator `~' of `!~'"
 
-#: awkgram.y:840 awkgram.y:913
+#: awkgram.y:830 awkgram.y:903
 msgid "old awk does not support the keyword `in' except after `for'"
-msgstr "oude 'awk' kent het sleutelwoord 'in' niet, behalve na 'for'"
+msgstr "oude `awk' kent het sleutelwoord `in' niet, behalve na `for'"
 
-#: awkgram.y:846
+#: awkgram.y:836
 msgid "regular expression on right of comparison"
 msgstr "reguliere expressie rechts van vergelijking"
 
-#: awkgram.y:903
+#: awkgram.y:893
 msgid "non-redirected `getline' undefined inside END action"
-msgstr "onherverwezen 'getline' is ongedefinieerd binnen END-actie"
+msgstr "onherverwezen `getline' is ongedefinieerd binnen END-actie"
 
-#: awkgram.y:914
+#: awkgram.y:904
 msgid "old awk does not support multidimensional arrays"
-msgstr "oude 'awk' kent geen meerdimensionale arrays"
+msgstr "oude `awk' kent geen meerdimensionale arrays"
 
-#: awkgram.y:960
+#: awkgram.y:950
 msgid "call of `length' without parentheses is not portable"
-msgstr "aanroep van 'length' zonder haakjes is niet overdraagbaar"
+msgstr "aanroep van `length' zonder haakjes is niet overdraagbaar"
 
-#: awkgram.y:965
+#: awkgram.y:955
 msgid "call of `length' without parentheses is deprecated by POSIX"
-msgstr "aanroep van 'length' zonder haakjes wordt door POSIX afgeraden"
+msgstr "aanroep van `length' zonder haakjes wordt door POSIX afgeraden"
 
-#: awkgram.y:1019
+#: awkgram.y:1009
 msgid "use of non-array as array"
 msgstr "non-array wordt gebruikt als array"
 
-#: awkgram.y:1022
+#: awkgram.y:1012
 msgid "invalid subscript expression"
 msgstr "ongeldige index-expressie"
 
-#: awkgram.y:1249
+#: awkgram.y:1257
 msgid "unexpected newline or end of string"
 msgstr "onverwacht regeleinde of einde van string"
 
-#: awkgram.y:1366
+#: awkgram.y:1374
 msgid "empty program text on command line"
 msgstr "lege programmatekst op commandoregel"
 
-#: awkgram.y:1422
+#: awkgram.y:1430
 #, c-format
 msgid "can't open source file `%s' for reading (%s)"
-msgstr "kan bronbestand '%s' niet openen om te lezen (%s)"
+msgstr "kan bronbestand `%s' niet openen om te lezen (%s)"
 
-#: awkgram.y:1520
+#: awkgram.y:1528
 #, c-format
 msgid "can't read sourcefile `%s' (%s)"
-msgstr "kan bronbestand '%s' niet lezen (%s)"
+msgstr "kan bronbestand `%s' niet lezen (%s)"
 
-#: awkgram.y:1528
+#: awkgram.y:1536
 #, c-format
 msgid "source file `%s' is empty"
-msgstr "bronbestand '%s' is leeg"
+msgstr "bronbestand `%s' is leeg"
 
-#: awkgram.y:1720 awkgram.y:1842 awkgram.y:1860 awkgram.y:2235 awkgram.y:2322
+#: awkgram.y:1728 awkgram.y:1850 awkgram.y:1868 awkgram.y:2243 awkgram.y:2330
 msgid "source file does not end in newline"
 msgstr "bronbestand eindigt niet met een regeleindeteken (LF)"
 
-#: awkgram.y:1782
+#: awkgram.y:1790
 msgid "unterminated regexp ends with `\\' at end of file"
 msgstr "onafgesloten reguliere expressie eindigt met '\\' aan bestandseinde"
 
-#: awkgram.y:1806
+#: awkgram.y:1814
 #, c-format
 msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk"
-msgstr "%s: %d: regexp-optie '/.../%c' van tawk werkt niet in gawk"
+msgstr "%s: %d: regexp-optie `/.../%c' van `tawk' werkt niet in gawk"
 
-#: awkgram.y:1810
+#: awkgram.y:1818
 #, c-format
 msgid "tawk regex modifier `/.../%c' doesn't work in gawk"
-msgstr "regexp-optie '/.../%c' van tawk werkt niet in gawk"
+msgstr "regexp-optie `/.../%c' van `tawk' werkt niet in gawk"
 
-#: awkgram.y:1817
+#: awkgram.y:1825
 msgid "unterminated regexp"
 msgstr "onafgesloten reguliere expressie"
 
-#: awkgram.y:1820
+#: awkgram.y:1828
 msgid "unterminated regexp at end of file"
 msgstr "onafgesloten reguliere expressie aan bestandseinde"
 
-#: awkgram.y:1889
+#: awkgram.y:1897
 msgid "use of `\\ #...' line continuation is not portable"
-msgstr "gebruik van regelvoortzetting '\\ #...' is niet overdraagbaar"
+msgstr "gebruik van regelvoortzetting `\\ #...' is niet overdraagbaar"
 
-#: awkgram.y:1902
+#: awkgram.y:1910
 msgid "backslash not last character on line"
 msgstr "backslash is niet het laatste teken op de regel"
 
-#: awkgram.y:1947
+#: awkgram.y:1955
 msgid "POSIX does not allow operator `**='"
-msgstr "POSIX staat operator '**=' niet toe"
+msgstr "POSIX staat operator `**=' niet toe"
 
-#: awkgram.y:1949
+#: awkgram.y:1957
 msgid "old awk does not support operator `**='"
-msgstr "oude 'awk' kent de operator '**=' niet"
+msgstr "oude `awk' kent de operator `**=' niet"
 
-#: awkgram.y:1958
+#: awkgram.y:1966
 msgid "POSIX does not allow operator `**'"
-msgstr "POSIX staat operator '**' niet toe"
+msgstr "POSIX staat operator `**' niet toe"
 
-#: awkgram.y:1960
+#: awkgram.y:1968
 msgid "old awk does not support operator `**'"
-msgstr "oude 'awk' kent de operator '**' niet"
+msgstr "oude `awk' kent de operator `**' niet"
 
-#: awkgram.y:1991
+#: awkgram.y:1999
 msgid "operator `^=' is not supported in old awk"
-msgstr "oude 'awk' kent de operator '^=' niet"
+msgstr "oude `awk' kent de operator `^=' niet"
 
-#: awkgram.y:1999
+#: awkgram.y:2007
 msgid "operator `^' is not supported in old awk"
-msgstr "oude 'awk' kent de operator '^' niet"
+msgstr "oude `awk' kent de operator `^' niet"
 
-#: awkgram.y:2083 awkgram.y:2098
+#: awkgram.y:2091 awkgram.y:2106
 msgid "unterminated string"
 msgstr "onafgesloten string"
 
-#: awkgram.y:2283
-#, c-format
+#: awkgram.y:2291
+#, fuzzy, c-format
 msgid "invalid char '%c' in expression"
-msgstr "ongeldig teken '%c' in expressie"
+msgstr "ongeldig teken `%c' in expressie"
 
-#: awkgram.y:2331
+#: awkgram.y:2339
 #, c-format
 msgid "`%s' is a gawk extension"
-msgstr "'%s' is een gawk-uitbreiding"
+msgstr "`%s' is een gawk-uitbreiding"
 
-#: awkgram.y:2334
+#: awkgram.y:2342
 #, c-format
 msgid "`%s' is a Bell Labs extension"
-msgstr "'%s' is een uitbreiding door Bell Labs"
+msgstr "`%s' is een uitbreiding door Bell Labs"
 
-#: awkgram.y:2337
+#: awkgram.y:2345
 #, c-format
 msgid "POSIX does not allow `%s'"
-msgstr "POSIX staat '%s' niet toe"
+msgstr "POSIX staat `%s' niet toe"
 
-#: awkgram.y:2341
+#: awkgram.y:2349
 #, c-format
 msgid "`%s' is not supported in old awk"
-msgstr "oude 'awk' kent '%s' niet"
+msgstr "oude `awk' kent `%s' niet"
 
-#: awkgram.y:2367
+#: awkgram.y:2375
 msgid "`goto' considered harmful!\n"
-msgstr "'goto' wordt als schadelijk beschouwd!\n"
+msgstr "`goto' wordt als schadelijk beschouwd!\n"
 
-#: awkgram.y:2429
+#: awkgram.y:2437
 #, c-format
 msgid "%d is invalid as number of arguments for %s"
 msgstr "%d is een ongeldig aantal argumenten voor %s"
 
-#: awkgram.y:2448 awkgram.y:2451
+#: awkgram.y:2456 awkgram.y:2459
 msgid "match: third argument is a gawk extension"
 msgstr "match: derde argument is een gawk-uitbreiding"
 
-#: awkgram.y:2464
+#: awkgram.y:2472
 #, c-format
 msgid "%s: string literal as last arg of substitute has no effect"
 msgstr "%s: een stringwaarde als laatste vervangingsargument heeft geen effect"
 
-#: awkgram.y:2467
+#: awkgram.y:2475
 #, c-format
 msgid "%s third parameter is not a changeable object"
 msgstr "%s: derde parameter is geen veranderbaar object"
 
-#: awkgram.y:2494 awkgram.y:2497
+#: awkgram.y:2502 awkgram.y:2505
 msgid "close: second argument is a gawk extension"
 msgstr "close: tweede argument is een gawk-uitbreiding"
 
-#: awkgram.y:2507
+#: awkgram.y:2515
 msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore"
 msgstr "dcgettext(_\"...\") is onjuist: verwijder het liggende streepje"
 
-#: awkgram.y:2522
+#: awkgram.y:2530
 msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore"
 msgstr "dcngettext(_\"...\") is onjuist: verwijder het liggende streepje"
 
-#: awkgram.y:2594
+#: awkgram.y:2602
 #, c-format
 msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d"
-msgstr "functie '%s': parameter #%d, '%s', dupliceert parameter #%d"
+msgstr "functie `%s': parameter #%d, `%s', dupliceert parameter #%d"
 
-#: awkgram.y:2627
+#: awkgram.y:2635
 #, c-format
 msgid "function `%s': parameter `%s' shadows global variable"
-msgstr "functie '%s': parameter '%s' schaduwt een globale variabele"
+msgstr "functie `%s': parameter `%s' schaduwt een globale variabele"
 
-#: awkgram.y:2739
+#: awkgram.y:2747
 #, c-format
 msgid "could not open `%s' for writing (%s)"
-msgstr "kan '%s' niet openen om te schrijven (%s)"
+msgstr "kan `%s' niet openen om te schrijven (%s)"
 
-#: awkgram.y:2740 profile.c:94
+#: awkgram.y:2748 profile.c:95
 msgid "sending profile to standard error"
 msgstr "profiel gaat naar standaardfoutuitvoer"
 
-#: awkgram.y:2772
+#: awkgram.y:2780
 #, c-format
 msgid "%s: close failed (%s)"
 msgstr "%s: sluiten is mislukt (%s)"
 
-#: awkgram.y:2893
+#: awkgram.y:2901
 msgid "shadow_funcs() called twice!"
 msgstr "shadow_funcs() twee keer aangeroepen!"
 
-#: awkgram.y:2920
+#: awkgram.y:2928
 msgid "there were shadowed variables."
 msgstr "er waren geschaduwde variabelen."
 
-#: awkgram.y:2993
+#: awkgram.y:3001
 #, c-format
 msgid "function `%s': can't use function name as parameter name"
-msgstr "functie '%s': kan functienaam niet als parameternaam gebruiken"
+msgstr "functie `%s': kan functienaam niet als parameternaam gebruiken"
+
+#: awkgram.y:3004
+#, c-format
+msgid "function `%s': can't use special variable `%s' as a function parameter"
+msgstr ""
+"functie `%s': kan speciale variabele `%s' niet als functieparameter gebruiken"
 
-#: awkgram.y:3003
+#: awkgram.y:3014
 #, c-format
 msgid "function name `%s' previously defined"
-msgstr "functienaam '%s' is al eerder gedefinieerd"
+msgstr "functienaam `%s' is al eerder gedefinieerd"
 
-#: awkgram.y:3154 awkgram.y:3160
+#: awkgram.y:3165 awkgram.y:3171
 #, c-format
 msgid "function `%s' called but never defined"
-msgstr "functie '%s' aangeroepen maar nergens gedefinieerd"
+msgstr "functie `%s' aangeroepen maar nergens gedefinieerd"
 
-#: awkgram.y:3163
+#: awkgram.y:3174
 #, c-format
 msgid "function `%s' defined but never called"
-msgstr "functie '%s' gedefinieerd maar nergens aangeroepen"
+msgstr "functie `%s' gedefinieerd maar nergens aangeroepen"
 
-#: awkgram.y:3190
+#: awkgram.y:3201
 #, c-format
 msgid "regexp constant for parameter #%d yields boolean value"
 msgstr "regexp-constante als parameter #%d levert booleanwaarde op"
 
-#: awkgram.y:3234
+#: awkgram.y:3245
 #, c-format
 msgid ""
 "function `%s' called with space between name and `(',\n"
 "or used as a variable or an array"
 msgstr ""
-"functie '%s' aangeroepen met spatie tussen naam en '(',\n"
+"functie `%s' aangeroepen met spatie tussen naam en `(',\n"
 "of gebruikt als variabele of array"
 
-#: builtin.c:119
+#: awkgram.y:3667 eval.c:1394
+#, c-format
+msgid "division by zero attempted in `%%'"
+msgstr "deling door nul in `%%'"
+
+#: builtin.c:122
 #, c-format
 msgid "%s to \"%s\" failed (%s)"
 msgstr "%s naar \"%s\" is mislukt (%s)"
 
-#: builtin.c:120
+#: builtin.c:123
 msgid "standard output"
 msgstr "standaarduitvoer"
 
-#: builtin.c:121
+#: builtin.c:124
 msgid "reason unknown"
 msgstr "reden onbekend"
 
-#: builtin.c:134
+#: builtin.c:137
 msgid "exp: received non-numeric argument"
 msgstr "exp: argument is geen getal"
 
-#: builtin.c:140
+#: builtin.c:143
 #, c-format
 msgid "exp: argument %g is out of range"
 msgstr "exp: argument %g ligt buiten toegestane bereik"
 
-#: builtin.c:198
+#: builtin.c:201
 #, c-format
 msgid "fflush: cannot flush: pipe `%s' opened for reading, not writing"
 msgstr ""
-"fflush: kan pijp niet leegmaken: '%s' is geopend om te lezen, niet om te "
+"fflush: kan pijp niet leegmaken: `%s' is geopend om te lezen, niet om te "
 "schrijven"
 
-#: builtin.c:201
+#: builtin.c:204
 #, c-format
 msgid "fflush: cannot flush: file `%s' opened for reading, not writing"
 msgstr ""
-"fflush: kan bestand niet leegmaken: '%s' is geopend om te lezen, niet om te "
+"fflush: kan bestand niet leegmaken: `%s' is geopend om te lezen, niet om te "
 "schrijven"
 
-#: builtin.c:213
+#: builtin.c:216
 #, c-format
 msgid "fflush: `%s' is not an open file, pipe or co-process"
-msgstr "fflush: '%s' is geen open bestand, pijp, of co-proces"
+msgstr "fflush: `%s' is geen open bestand, pijp, of co-proces"
 
-#: builtin.c:306
+#: builtin.c:310
 msgid "index: received non-string first argument"
 msgstr "index: eerste argument is geen string"
 
-#: builtin.c:308
+#: builtin.c:312
 msgid "index: received non-string second argument"
 msgstr "index: tweede argument is geen string"
 
-#: builtin.c:423
+#: builtin.c:434
 msgid "int: received non-numeric argument"
 msgstr "int: argument is geen getal"
 
-#: builtin.c:448
+#: builtin.c:464
 msgid "`length(array)' is a gawk extension"
 msgstr "'length(array)' is een gawk-uitbreiding"
 
-#: builtin.c:458
+#: builtin.c:473
+msgid "length: untyped argument will be forced to scalar"
+msgstr "lengte: typeloos argument wordt omgezet naar scalair"
+
+#: builtin.c:477
 msgid "length: received non-string argument"
 msgstr "length: argument is geen string"
 
-#: builtin.c:483
+#: builtin.c:508
 msgid "log: received non-numeric argument"
 msgstr "log: argument is geen getal"
 
-#: builtin.c:486
+#: builtin.c:511
 #, c-format
 msgid "log: received negative argument %g"
 msgstr "log: argument %g is negatief"
 
-#: builtin.c:693 builtin.c:696
+#: builtin.c:719 builtin.c:722
 msgid "must use `count$' on all formats or none"
-msgstr "'count$' hoort in alle opmaken gebruikt te worden, of in geen"
+msgstr "`count$' hoort in alle opmaken gebruikt te worden, of in geen"
+
+#: builtin.c:783
+#, c-format
+msgid "field width is ignored for `%%%%' specifier"
+msgstr "veldbreedte wordt genegeerd voor aanduiding `%%%%'"
+
+#: builtin.c:785
+#, c-format
+msgid "precision is ignored for `%%%%' specifier"
+msgstr "veldprecisie wordt genegeerd voor aanduiding `%%%%'"
+
+#: builtin.c:787
+#, c-format
+msgid "field width and precision are ignored for `%%%%' specifier"
+msgstr "veldbreedte en -precisie worden genegeerd voor aanduiding `%%%%'"
 
-#: builtin.c:799
+#: builtin.c:838
 msgid "`$' is not permitted in awk formats"
-msgstr "'$' is niet toegestaan in awk-opmaak"
+msgstr "`$' is niet toegestaan in awk-opmaak"
 
-#: builtin.c:805
+#: builtin.c:844
 msgid "arg count with `$' must be > 0"
-msgstr "het aantal argumenten met '$' moet > 0 zijn"
+msgstr "het aantal argumenten met `$' moet > 0 zijn"
 
-#: builtin.c:807
+#: builtin.c:846
 #, c-format
 msgid "arg count %ld greater than total number of supplied arguments"
 msgstr "argumentental %ld is groter dan het gegeven aantal argumenten"
 
-#: builtin.c:809
+#: builtin.c:848
 msgid "`$' not permitted after period in format"
-msgstr "'$' is niet toegestaan na een punt in de opmaak"
+msgstr "`$' is niet toegestaan na een punt in de opmaak"
 
-#: builtin.c:822
+#: builtin.c:861
 msgid "no `$' supplied for positional field width or precision"
-msgstr "geen '$' opgegeven bij positionele veldbreedte of -precisie"
+msgstr "geen `$' opgegeven bij positionele veldbreedte of -precisie"
 
-#: builtin.c:888
+#: builtin.c:927
 msgid "`l' is meaningless in awk formats; ignored"
-msgstr "'l' is betekenisloos in awk-opmaak; genegeerd"
+msgstr "`l' is betekenisloos in awk-opmaak; genegeerd"
 
-#: builtin.c:892
+#: builtin.c:931
 msgid "`l' is not permitted in POSIX awk formats"
-msgstr "'l' is niet toegestaan in POSIX awk-opmaak"
+msgstr "`l' is niet toegestaan in POSIX awk-opmaak"
 
-#: builtin.c:903
+#: builtin.c:942
 msgid "`L' is meaningless in awk formats; ignored"
-msgstr "'L' is betekenisloos in awk-opmaak; genegeerd"
+msgstr "`L' is betekenisloos in awk-opmaak; genegeerd"
 
-#: builtin.c:907
+#: builtin.c:946
 msgid "`L' is not permitted in POSIX awk formats"
-msgstr "'L' is niet toegestaan in POSIX awk-opmaak"
+msgstr "`L' is niet toegestaan in POSIX awk-opmaak"
 
-#: builtin.c:918
+#: builtin.c:957
 msgid "`h' is meaningless in awk formats; ignored"
-msgstr "'h' is betekenisloos in awk-opmaak; genegeerd"
+msgstr "`h' is betekenisloos in awk-opmaak; genegeerd"
 
-#: builtin.c:922
+#: builtin.c:961
 msgid "`h' is not permitted in POSIX awk formats"
-msgstr "'h' is niet toegestaan in POSIX awk-opmaak"
+msgstr "`h' is niet toegestaan in POSIX awk-opmaak"
 
-#: builtin.c:1182
+#: builtin.c:1236
 #, c-format
 msgid "[s]printf: value %g is out of range for `%%%c' format"
-msgstr "[s]printf: waarde %g ligt buiten toegestaan bereik voor opmaak '%%%c'"
+msgstr "[s]printf: waarde %g ligt buiten toegestaan bereik voor opmaak `%%%c'"
 
-#: builtin.c:1266
+#: builtin.c:1316
+#, c-format
+msgid "ignoring unknown format specifier character `%c': no argument converted"
+msgstr ""
+"onbekend aanduidingskarakter `%c' wordt genegeerd: geen argument wordt "
+"geconverteerd"
+
+#: builtin.c:1322
 msgid "not enough arguments to satisfy format string"
 msgstr "niet genoeg argumenten voor opmaakstring"
 
-#: builtin.c:1268
+#: builtin.c:1324
 msgid "^ ran out for this one"
 msgstr "niet genoeg ^ voor deze"
 
-#: builtin.c:1274
+#: builtin.c:1330
 msgid "[s]printf: format specifier does not have control letter"
 msgstr "[s]printf: opmaakaanduiding mist een stuurletter"
 
-#: builtin.c:1277
+#: builtin.c:1333
 msgid "too many arguments supplied for format string"
 msgstr "te veel argumenten voor opmaakstring"
 
-#: builtin.c:1352 builtin.c:1355
+#: builtin.c:1408 builtin.c:1411
 msgid "printf: no arguments"
 msgstr "printf: geen argumenten"
 
-#: builtin.c:1379
+#: builtin.c:1435
 msgid "sqrt: received non-numeric argument"
 msgstr "sqrt: argument is geen getal"
 
-#: builtin.c:1383
+#: builtin.c:1439
 #, c-format
 msgid "sqrt: called with negative argument %g"
 msgstr "sqrt: argument %g is negatief"
 
-#: builtin.c:1407
+#: builtin.c:1463
 #, c-format
 msgid "substr: start index %g is invalid, using 1"
 msgstr "substr: startindex %g is ongeldig; 1 wordt gebruikt"
 
-#: builtin.c:1412
+#: builtin.c:1468
 #, c-format
 msgid "substr: non-integer start index %g will be truncated"
 msgstr "substr: startindex %g is geen integer; wordt afgekapt"
 
-#: builtin.c:1431
+#: builtin.c:1494
 #, c-format
 msgid "substr: length %g is not >= 1"
 msgstr "substr: lengte %g is niet >= 1"
 
-#: builtin.c:1433
+#: builtin.c:1496
 #, c-format
 msgid "substr: length %g is not >= 0"
 msgstr "substr: lengte %g is niet >= 0"
 
-#: builtin.c:1440
+#: builtin.c:1503
 #, c-format
 msgid "substr: non-integer length %g will be truncated"
 msgstr "substr: lengte %g is geen integer; wordt afgekapt"
 
-#: builtin.c:1445
+#: builtin.c:1508
 #, c-format
 msgid "substr: length %g too big for string indexing, truncating to %g"
 msgstr ""
 "substr: lengte %g is te groot voor stringindexering; wordt verkort tot %g"
 
-#: builtin.c:1457
+#: builtin.c:1520
 msgid "substr: source string is zero length"
 msgstr "substr: bronstring heeft lengte nul"
 
-#: builtin.c:1473
+#: builtin.c:1536
 #, c-format
 msgid "substr: start index %g is past end of string"
 msgstr "substr: startindex %g ligt voorbij het einde van de string"
 
-#: builtin.c:1481
+#: builtin.c:1544
 #, c-format
 msgid ""
 "substr: length %g at start index %g exceeds length of first argument (%lu)"
@@ -597,259 +636,259 @@
 "substr: lengte %g bij startindex %g is groter dan de lengte van het eerste "
 "argument (%lu)"
 
-#: builtin.c:1558
+#: builtin.c:1621
 msgid "strftime: received non-string first argument"
 msgstr "strftime: eerste argument is geen string"
 
-#: builtin.c:1564
+#: builtin.c:1627
 msgid "strftime: received empty format string"
 msgstr "strftime: opmaakstring is leeg"
 
-#: builtin.c:1573
+#: builtin.c:1636
 msgid "strftime: received non-numeric second argument"
 msgstr "strftime: tweede argument is geen getal"
 
-#: builtin.c:1650
+#: builtin.c:1713
 msgid "mktime: received non-string argument"
 msgstr "mktime: argument is geen string"
 
-#: builtin.c:1695
+#: builtin.c:1758
 msgid "system: received non-string argument"
 msgstr "system: argument is geen string"
 
-#: builtin.c:1816 eval.c:2041
+#: builtin.c:1879 eval.c:2145
 #, c-format
 msgid "reference to uninitialized field `$%d'"
-msgstr "verwijzing naar onge��nitialiseerd veld '$%d'"
+msgstr "verwijzing naar onge��nitialiseerd veld `$%d'"
 
-#: builtin.c:1921
+#: builtin.c:1984
 msgid "tolower: received non-string argument"
 msgstr "tolower: argument is geen string"
 
-#: builtin.c:1951
+#: builtin.c:2014
 msgid "toupper: received non-string argument"
 msgstr "toupper: argument is geen string"
 
-#: builtin.c:1984
+#: builtin.c:2047
 msgid "atan2: received non-numeric first argument"
 msgstr "atan2: eerste argument is geen getal"
 
-#: builtin.c:1986
+#: builtin.c:2049
 msgid "atan2: received non-numeric second argument"
 msgstr "atan2: tweede argument is geen getal"
 
-#: builtin.c:2005
+#: builtin.c:2068
 msgid "sin: received non-numeric argument"
 msgstr "sin: argument is geen getal"
 
-#: builtin.c:2021
+#: builtin.c:2084
 msgid "cos: received non-numeric argument"
 msgstr "cos: argument is geen getal"
 
-#: builtin.c:2071
+#: builtin.c:2137
 msgid "srand: received non-numeric argument"
 msgstr "srand: argument is geen getal"
 
-#: builtin.c:2106
+#: builtin.c:2172
 msgid "match: third argument is not an array"
 msgstr "match: derde argument is geen array"
 
-#: builtin.c:2650
+#: builtin.c:2719
 msgid "gensub: third argument of 0 treated as 1"
 msgstr "gensub: derde argument is 0; wordt beschouwd als 1"
 
-#: builtin.c:2766
+#: builtin.c:2835
 msgid "lshift: received non-numeric first argument"
 msgstr "lshift: eerste argument is geen getal"
 
-#: builtin.c:2768
+#: builtin.c:2837
 msgid "lshift: received non-numeric second argument"
 msgstr "lshift: tweede argument is geen getal"
 
-#: builtin.c:2774
+#: builtin.c:2843
 #, c-format
 msgid "lshift(%lf, %lf): negative values will give strange results"
 msgstr "lshift(%lf, %lf): negatieve waarden geven rare resultaten"
 
-#: builtin.c:2776
+#: builtin.c:2845
 #, c-format
 msgid "lshift(%lf, %lf): fractional values will be truncated"
 msgstr "lshift(%lf, %lf): cijfers na de komma worden afgekapt"
 
-#: builtin.c:2778
+#: builtin.c:2847
 #, c-format
 msgid "lshift(%lf, %lf): too large shift value will give strange results"
 msgstr "lshift(%lf, %lf): te grote opschuifwaarden geven rare resultaten"
 
-#: builtin.c:2804
+#: builtin.c:2873
 msgid "rshift: received non-numeric first argument"
 msgstr "rshift: eerste argument is geen getal"
 
-#: builtin.c:2806
+#: builtin.c:2875
 msgid "rshift: received non-numeric second argument"
 msgstr "rshift: tweede argument is geen getal"
 
-#: builtin.c:2812
+#: builtin.c:2881
 #, c-format
 msgid "rshift(%lf, %lf): negative values will give strange results"
 msgstr "rshift(%lf, %lf): negatieve waarden geven rare resultaten"
 
-#: builtin.c:2814
+#: builtin.c:2883
 #, c-format
 msgid "rshift(%lf, %lf): fractional values will be truncated"
 msgstr "rshift(%lf, %lf): cijfers na de komma worden afgekapt"
 
-#: builtin.c:2816
+#: builtin.c:2885
 #, c-format
 msgid "rshift(%lf, %lf): too large shift value will give strange results"
 msgstr "rshift(%lf, %lf): te grote opschuifwaarden geven rare resultaten"
 
-#: builtin.c:2842
+#: builtin.c:2911
 msgid "and: received non-numeric first argument"
 msgstr "and: eerste argument is geen getal"
 
-#: builtin.c:2844
+#: builtin.c:2913
 msgid "and: received non-numeric second argument"
 msgstr "and: tweede argument is geen getal"
 
-#: builtin.c:2850
+#: builtin.c:2919
 #, c-format
 msgid "and(%lf, %lf): negative values will give strange results"
 msgstr "and(%lf, %lf): negatieve waarden geven rare resultaten"
 
-#: builtin.c:2852
+#: builtin.c:2921
 #, c-format
 msgid "and(%lf, %lf): fractional values will be truncated"
 msgstr "and(%lf, %lf): cijfers na de komma worden afgekapt"
 
-#: builtin.c:2878
+#: builtin.c:2947
 msgid "or: received non-numeric first argument"
 msgstr "or: eerste argument is geen getal"
 
-#: builtin.c:2880
+#: builtin.c:2949
 msgid "or: received non-numeric second argument"
 msgstr "or: tweede argument is geen getal"
 
-#: builtin.c:2886
+#: builtin.c:2955
 #, c-format
 msgid "or(%lf, %lf): negative values will give strange results"
 msgstr "or(%lf, %lf): negatieve waarden geven rare resultaten"
 
-#: builtin.c:2888
+#: builtin.c:2957
 #, c-format
 msgid "or(%lf, %lf): fractional values will be truncated"
 msgstr "or(%lf, %lf): cijfers na de komma worden afgekapt"
 
-#: builtin.c:2914
+#: builtin.c:2983
 msgid "xor: received non-numeric first argument"
 msgstr "xor: eerste argument is geen getal"
 
-#: builtin.c:2916
+#: builtin.c:2985
 msgid "xor: received non-numeric second argument"
 msgstr "xor: tweede argument is geen getal"
 
-#: builtin.c:2922
+#: builtin.c:2991
 #, c-format
 msgid "xor(%lf, %lf): negative values will give strange results"
 msgstr "xor(%lf, %lf): negatieve waarden geven rare resultaten"
 
-#: builtin.c:2924
+#: builtin.c:2993
 #, c-format
 msgid "xor(%lf, %lf): fractional values will be truncated"
 msgstr "xor(%lf, %lf): cijfers na de komma worden afgekapt"
 
-#: builtin.c:2948
+#: builtin.c:3017
 msgid "compl: received non-numeric argument"
 msgstr "compl: argument is geen getal"
 
-#: builtin.c:2954
+#: builtin.c:3023
 #, c-format
 msgid "compl(%lf): negative value will give strange results"
 msgstr "compl(%lf): negatieve waarden geven rare resultaten"
 
-#: builtin.c:2956
+#: builtin.c:3025
 #, c-format
 msgid "compl(%lf): fractional value will be truncated"
 msgstr "compl(%lf): cijfers na de komma worden afgekapt"
 
-#: builtin.c:3129
+#: builtin.c:3198
 #, c-format
 msgid "dcgettext: `%s' is not a valid locale category"
-msgstr "dcgettext: '%s' is geen geldige lokale categorie"
+msgstr "dcgettext: `%s' is geen geldige taalregio-deelcategorie"
 
-#: eval.c:303
+#: eval.c:372
 #, c-format
 msgid "unknown nodetype %d"
 msgstr "onbekend nodetype %d"
 
-#: eval.c:353
+#: eval.c:422
 msgid "buffer overflow in genflags2str"
 msgstr "bufferoverloop in genflags2str()"
 
-#: eval.c:385 eval.c:391 profile.c:817
+#: eval.c:454 eval.c:460 profile.c:781
 #, c-format
 msgid "attempt to use array `%s' in a scalar context"
-msgstr "array '%s' wordt gebruikt in een scalaire context"
+msgstr "array `%s' wordt gebruikt in een scalaire context"
 
-#: eval.c:733
+#: eval.c:802
 #, c-format
 msgid "for loop: array `%s' changed size from %ld to %ld during loop execution"
 msgstr ""
-"for: array '%s' veranderde van grootte %ld naar %ld tijdens uitvoer van de "
+"for: array `%s' veranderde van grootte %ld naar %ld tijdens uitvoer van de "
 "lus"
 
-#: eval.c:754
+#: eval.c:823
 msgid "`break' outside a loop is not portable"
-msgstr "'break' buiten een lus is niet overdraagbaar"
+msgstr "`break' buiten een lus is niet overdraagbaar"
 
-#: eval.c:758
+#: eval.c:827
 msgid "`break' outside a loop is not allowed"
-msgstr "'break' buiten een lus is niet toegestaan"
+msgstr "`break' buiten een lus is niet toegestaan"
 
-#: eval.c:775
+#: eval.c:844
 msgid "`continue' outside a loop is not portable"
-msgstr "'continue' buiten een lus is niet overdraagbaar"
+msgstr "`continue' buiten een lus is niet overdraagbaar"
 
-#: eval.c:779
+#: eval.c:848
 msgid "`continue' outside a loop is not allowed"
-msgstr "'continue' buiten een lus is niet toegestaan"
+msgstr "`continue' buiten een lus is niet toegestaan"
 
-#: eval.c:813
+#: eval.c:882
 msgid "`next' cannot be called from a BEGIN rule"
-msgstr "'next' kan niet aangeroepen worden in een BEGIN-regel"
+msgstr "`next' kan niet aangeroepen worden in een BEGIN-regel"
 
-#: eval.c:815
+#: eval.c:884
 msgid "`next' cannot be called from an END rule"
-msgstr "'next' kan niet aangeroepen worden in een END-regel"
+msgstr "`next' kan niet aangeroepen worden in een END-regel"
 
-#: eval.c:824
+#: eval.c:893
 msgid "`nextfile' cannot be called from a BEGIN rule"
-msgstr "'nextfile' kan niet aangeroepen worden in een BEGIN-regel"
+msgstr "`nextfile' kan niet aangeroepen worden in een BEGIN-regel"
 
-#: eval.c:826
+#: eval.c:895
 msgid "`nextfile' cannot be called from an END rule"
-msgstr "'nextfile' kan niet aangeroepen worden in een END-regel"
+msgstr "`nextfile' kan niet aangeroepen worden in een END-regel"
 
-#: eval.c:875
+#: eval.c:952
 msgid "statement has no effect"
 msgstr "opdracht heeft geen effect"
 
-#: eval.c:952 eval.c:1895
+#: eval.c:1029 eval.c:1999
 #, c-format
 msgid "can't use function name `%s' as variable or array"
-msgstr "kan functienaam '%s' niet als variabele of array gebruiken"
+msgstr "kan functienaam `%s' niet als variabele of array gebruiken"
 
-#: eval.c:959 eval.c:965
+#: eval.c:1036 eval.c:1042
 #, c-format
 msgid "reference to uninitialized argument `%s'"
-msgstr "verwijzing naar onge��nitialiseerd argument '%s'"
+msgstr "verwijzing naar onge��nitialiseerd argument `%s'"
 
-#: eval.c:974 eval.c:1904
+#: eval.c:1051 eval.c:2008
 #, c-format
 msgid "reference to uninitialized variable `%s'"
-msgstr "verwijzing naar onge��nitialiseerde variabele '%s'"
+msgstr "verwijzing naar onge��nitialiseerde variabele `%s'"
 
-#: eval.c:1120
+#: eval.c:1197
 msgid ""
 "concatenation: side effects in one expression have changed the length of "
 "another!"
@@ -857,44 +896,39 @@
 "concatenation: neveneffecten in de ene expressie hebben de lengte van een "
 "andere veranderd!"
 
-#: eval.c:1202
+#: eval.c:1301
 msgid "assignment used in conditional context"
 msgstr "toewijzing wordt gebruikt in een conditionele context"
 
-#: eval.c:1280
+#: eval.c:1379
 msgid "division by zero attempted"
 msgstr "deling door nul"
 
-#: eval.c:1295
-#, c-format
-msgid "division by zero attempted in `%%'"
-msgstr "deling door nul in '%%'"
-
-#: eval.c:1310 profile.c:693
+#: eval.c:1409 profile.c:657
 #, c-format
 msgid "illegal type (%s) in tree_eval"
 msgstr "ongeldig type (%s) in tree_eval()"
 
-#: eval.c:1473
+#: eval.c:1572
 msgid "division by zero attempted in `/='"
-msgstr "deling door nul in '/='"
+msgstr "deling door nul in `/='"
 
-#: eval.c:1495
+#: eval.c:1594
 #, c-format
 msgid "division by zero attempted in `%%='"
-msgstr "deling door nul in '%%='"
+msgstr "deling door nul in `%%='"
 
-#: eval.c:1760
+#: eval.c:1859
 #, c-format
 msgid "function `%s' called with more arguments than declared"
-msgstr "functie '%s' aangeroepen met meer argumenten dan gedeclareerd"
+msgstr "functie `%s' aangeroepen met meer argumenten dan gedeclareerd"
 
-#: eval.c:1804
+#: eval.c:1904
 #, c-format
 msgid "function `%s' not defined"
-msgstr "functie '%s' is niet gedefinieerd"
+msgstr "functie `%s' is niet gedefinieerd"
 
-#: eval.c:1867
+#: eval.c:1971
 #, c-format
 msgid ""
 "\n"
@@ -905,59 +939,64 @@
 "\t# Functieaanroepen-stack:\n"
 "\n"
 
-#: eval.c:1870
+#: eval.c:1974
 #, c-format
 msgid "\t# -- main --\n"
 msgstr "\t# -- hoofd --\n"
 
-#: eval.c:2025
+#: eval.c:2129
 msgid "attempt to field reference from non-numeric value"
 msgstr "veldverwijzingspoging via een waarde die geen getal is"
 
-#: eval.c:2027
+#: eval.c:2131
 msgid "attempt to reference from null string"
 msgstr "verwijzingspoging via een lege string"
 
-#: eval.c:2033
+#: eval.c:2137
 #, c-format
 msgid "attempt to access field %d"
 msgstr "toegangspoging tot veld %d"
 
-#: eval.c:2054 eval.c:2061 profile.c:914
+#: eval.c:2158 eval.c:2165 profile.c:836
 msgid "assignment is not allowed to result of builtin function"
 msgstr ""
 "toewijzing aan het resultaat van een ingebouwde functie is niet toegestaan"
 
-#: eval.c:2125
+#: eval.c:2229
 msgid "`IGNORECASE' is a gawk extension"
-msgstr "'IGNORECASE' is een gawk-uitbreiding"
+msgstr "`IGNORECASE' is een gawk-uitbreiding"
 
-#: eval.c:2155
+#: eval.c:2258
 msgid "`BINMODE' is a gawk extension"
-msgstr "'BINMODE' is een gawk-uitbreiding"
+msgstr "`BINMODE' is een gawk-uitbreiding"
+
+#: eval.c:2316
+#, c-format
+msgid "BINMODE value `%s' is invalid, treated as 3"
+msgstr "BINMODE-waarde `%s' is onjuist, wordt behandeld als 3"
 
-#: eval.c:2277
+#: eval.c:2406
 #, c-format
 msgid "bad `%sFMT' specification `%s'"
-msgstr "onjuiste opgave van '%sFMT': '%s'"
+msgstr "onjuiste opgave van `%sFMT': `%s'"
 
-#: eval.c:2355
+#: eval.c:2484
 msgid "turning off `--lint' due to assignment to `LINT'"
-msgstr "'--lint' wordt uitgeschakeld wegens toewijzing aan 'LINT'"
+msgstr "`--lint' wordt uitgeschakeld wegens toewijzing aan `LINT'"
 
 #: ext.c:62 ext.c:67
 msgid "`extension' is a gawk extension"
-msgstr "'extension' is een gawk-uitbreiding"
+msgstr "`extension' is een gawk-uitbreiding"
 
 #: ext.c:77
 #, c-format
 msgid "extension: cannot open `%s' (%s)\n"
-msgstr "extension: kan '%s' niet openen (%s)\n"
+msgstr "extension: kan `%s' niet openen (%s)\n"
 
 #: ext.c:85
 #, c-format
 msgid "extension: library `%s': cannot call function `%s' (%s)\n"
-msgstr "extension: bibliotheek '%s': kan functie '%s' niet aanroepen (%s)\n"
+msgstr "extension: bibliotheek `%s': kan functie `%s' niet aanroepen (%s)\n"
 
 #: ext.c:105
 msgid "extension: missing function name"
@@ -966,48 +1005,48 @@
 #: ext.c:110
 #, c-format
 msgid "extension: illegal character `%c' in function name `%s'"
-msgstr "extension: ongeldig teken '%c' in functienaam '%s'"
+msgstr "extension: ongeldig teken `%c' in functienaam `%s'"
 
 #: ext.c:116
 #, c-format
 msgid "extension: can't redefine function `%s'"
-msgstr "extension: kan functie '%s' niet herdefini��ren"
+msgstr "extension: kan functie `%s' niet herdefini��ren"
 
 #: ext.c:120
 #, c-format
 msgid "extension: function `%s' already defined"
-msgstr "extension: functie '%s' is al gedefinieerd"
+msgstr "extension: functie `%s' is al gedefinieerd"
 
 #: ext.c:125
 #, c-format
 msgid "extension: can't use gawk built-in `%s' as function name"
-msgstr "extension: kan in gawk ingebouwde '%s' niet als functienaam gebruiken"
+msgstr "extension: kan in gawk ingebouwde `%s' niet als functienaam gebruiken"
 
 #: ext.c:127
 #, c-format
 msgid "extension: function name `%s' previously defined"
-msgstr "extension: functienaam '%s' is al eerder gedefinieerd"
+msgstr "extension: functienaam `%s' is al eerder gedefinieerd"
 
 #: ext.c:204
 #, c-format
 msgid "function `%s' defined to take no more than %d argument(s)"
 msgstr ""
-"functie '%s' is gedefinieerd om niet meer dan %d argument(en) te accepteren"
+"functie `%s' is gedefinieerd om niet meer dan %d argument(en) te accepteren"
 
 #: ext.c:207
 #, c-format
 msgid "function `%s': missing argument #%d"
-msgstr "functie '%s': ontbrekend argument #%d"
+msgstr "functie `%s': ontbrekend argument #%d"
 
 #: ext.c:217
 #, c-format
 msgid "function `%s': argument #%d: attempt to use scalar as an array"
-msgstr "functie '%s': argument #%d: een scalair wordt gebruikt als array"
+msgstr "functie `%s': argument #%d: een scalair wordt gebruikt als array"
 
 #: ext.c:221
 #, c-format
 msgid "function `%s': argument #%d: attempt to use array as a scalar"
-msgstr "functie '%s': argument #%d: een array wordt gebruikt als scalair"
+msgstr "functie `%s': argument #%d: een array wordt gebruikt als scalair"
 
 #: ext.c:246
 msgid "Operation Not Supported"
@@ -1017,559 +1056,567 @@
 msgid "NF set to negative value"
 msgstr "NF is op een negatieve waarde gezet"
 
-#: field.c:823
+#: field.c:875
 msgid "split: second argument is not an array"
 msgstr "split: tweede argument is geen array"
 
-#: field.c:857
+#: field.c:909
 msgid "split: null string for third arg is a gawk extension"
 msgstr "split: lege string als derde argument is een gawk-uitbreiding"
 
-#: field.c:909
+#: field.c:961
 msgid "`FIELDWIDTHS' is a gawk extension"
-msgstr "'FIELDWIDTHS' is een gawk-uitbreiding"
+msgstr "`FIELDWIDTHS' is een gawk-uitbreiding"
 
-#: field.c:939 field.c:953
+#: field.c:991 field.c:1005
 #, c-format
 msgid "invalid FIELDWIDTHS value, near `%s'"
-msgstr "ongeldige waarde voor FIELDWIDTHS, nabij '%s'"
+msgstr "ongeldige waarde voor FIELDWIDTHS, nabij `%s'"
 
-#: field.c:1036
+#: field.c:1088
 msgid "null string for `FS' is a gawk extension"
-msgstr "een lege string als 'FS' is een gawk-uitbreiding"
+msgstr "een lege string als `FS' is een gawk-uitbreiding"
 
-#: field.c:1040
+#: field.c:1092
 msgid "old awk does not support regexps as value of `FS'"
-msgstr "oude 'awk' staat geen reguliere expressies toe als waarde van 'FS'"
+msgstr "oude `awk' staat geen reguliere expressies toe als waarde van `FS'"
 
-#: getopt.c:571 getopt.c:587
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: optie '%s' is niet eenduidig\n"
-
-#: getopt.c:620 getopt.c:624
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: optie '--%s' staat geen argument toe\n"
-
-#: getopt.c:633 getopt.c:638
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: optie '%c%s' staat geen argument toe\n"
-
-#: getopt.c:681 getopt.c:700 getopt.c:1016 getopt.c:1035
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: optie '%s' vereist een argument\n"
-
-#: getopt.c:738 getopt.c:741
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: onbekende optie '--%s'\n"
-
-#: getopt.c:749 getopt.c:752
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: onbekende optie '%c%s'\n"
-
-#: getopt.c:804 getopt.c:807
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: ongeldige optie -- %c\n"
+#: getopt.c:570 getopt.c:586
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: optie `%s' is niet eenduidig\n"
+
+#: getopt.c:619 getopt.c:623
+#, fuzzy, c-format
+msgid "%s: option '--%s' doesn't allow an argument\n"
+msgstr "%s: optie `--%s' staat geen argument toe\n"
+
+#: getopt.c:632 getopt.c:637
+#, fuzzy, c-format
+msgid "%s: option '%c%s' doesn't allow an argument\n"
+msgstr "%s: optie `%c%s' staat geen argument toe\n"
+
+#: getopt.c:680 getopt.c:699 getopt.c:1002 getopt.c:1021
+#, fuzzy, c-format
+msgid "%s: option '%s' requires an argument\n"
+msgstr "%s: optie `%s' vereist een argument\n"
+
+#: getopt.c:737 getopt.c:740
+#, fuzzy, c-format
+msgid "%s: unrecognized option '--%s'\n"
+msgstr "%s: onbekende optie `--%s'\n"
+
+#: getopt.c:748 getopt.c:751
+#, fuzzy, c-format
+msgid "%s: unrecognized option '%c%s'\n"
+msgstr "%s: onbekende optie `%c%s'\n"
+
+#: getopt.c:800 getopt.c:803
+#, fuzzy, c-format
+msgid "%s: invalid option -- '%c'\n"
+msgstr "%s: ongeldige optie -- `%c'\n"
+
+#: getopt.c:853 getopt.c:870 getopt.c:1073 getopt.c:1091
+#, fuzzy, c-format
+msgid "%s: option requires an argument -- '%c'\n"
+msgstr "%s: optie vereist een argument -- `%c'\n"
+
+#: getopt.c:923 getopt.c:939
+#, fuzzy, c-format
+msgid "%s: option '-W %s' is ambiguous\n"
+msgstr "%s: optie `-W %s' is niet eenduidig\n"
+
+#: getopt.c:963 getopt.c:981
+#, fuzzy, c-format
+msgid "%s: option '-W %s' doesn't allow an argument\n"
+msgstr "%s: optie `-W %s' staat geen argument toe\n"
 
-#: getopt.c:813 getopt.c:816
-#, c-format
-msgid "%s: invalid option -- %c\n"
-msgstr "%s: ongeldige optie -- %c\n"
-
-#: getopt.c:868 getopt.c:884 getopt.c:1088 getopt.c:1106 main.c:461
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: optie vereist een argument -- %c\n"
-
-#: getopt.c:937 getopt.c:953
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: optie '-W %s' is niet eenduidig\n"
-
-#: getopt.c:977 getopt.c:995
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: optie '-W %s' staat geen argument toe\n"
-
-#: io.c:345
+#: io.c:322 io.c:352
 #, c-format
 msgid "cannot open file `%s' for reading (%s)"
-msgstr "kan bestand '%s' niet openen om te lezen (%s)"
+msgstr "kan bestand `%s' niet openen om te lezen (%s)"
 
-#: io.c:436
+#: io.c:443
 #, c-format
 msgid "close of fd %d (`%s') failed (%s)"
 msgstr "sluiten van bestandsdescriptor %d ('%s') is mislukt (%s)"
 
-#: io.c:575
+#: io.c:583
 #, c-format
 msgid "invalid tree type %s in redirect()"
 msgstr "ongeldig boomtype %s in redirect()"
 
-#: io.c:581
+#: io.c:589
 #, c-format
 msgid "expression in `%s' redirection only has numeric value"
-msgstr "expressie in omleiding '%s' heeft alleen een getal als waarde"
+msgstr "expressie in omleiding `%s' heeft alleen een getal als waarde"
 
-#: io.c:587
+#: io.c:595
 #, c-format
 msgid "expression for `%s' redirection has null string value"
-msgstr "expressie voor omleiding '%s' heeft een lege string als waarde"
+msgstr "expressie voor omleiding `%s' heeft een lege string als waarde"
 
-#: io.c:592
+#: io.c:600
 #, c-format
 msgid "filename `%s' for `%s' redirection may be result of logical expression"
 msgstr ""
-"bestandsnaam '%s' voor omleiding '%s' kan het resultaat zijn van een "
+"bestandsnaam `%s' voor omleiding `%s' kan het resultaat zijn van een "
 "logische expressie"
 
-#: io.c:630
+#: io.c:638
 #, c-format
 msgid "unnecessary mixing of `>' and `>>' for file `%.*s'"
-msgstr "onnodige mix van '>' en '>>' voor bestand '%.*s'"
+msgstr "onnodige mix van `>' en `>>' voor bestand `%.*s'"
 
-#: io.c:682
+#: io.c:685
 #, c-format
 msgid "can't open pipe `%s' for output (%s)"
-msgstr "kan pijp '%s' niet openen voor uitvoer (%s)"
+msgstr "kan pijp `%s' niet openen voor uitvoer (%s)"
 
-#: io.c:691
+#: io.c:694
 #, c-format
 msgid "can't open pipe `%s' for input (%s)"
-msgstr "kan pijp '%s' niet openen voor invoer (%s)"
-
-#: io.c:698 io.c:1448
-#, c-format
-msgid "file `%s' is a directory"
-msgstr "'%s' is een map"
+msgstr "kan pijp `%s' niet openen voor invoer (%s)"
 
-#: io.c:706
+#: io.c:712
 #, c-format
 msgid "can't open two way socket `%s' for input/output (%s)"
-msgstr "kan tweerichtings-socket '%s' niet openen voor in- en uitvoer (%s)"
+msgstr "kan tweerichtings-socket `%s' niet openen voor in- en uitvoer (%s)"
 
-#: io.c:710
+#: io.c:716
 #, c-format
 msgid "can't open two way pipe `%s' for input/output (%s)"
-msgstr "kan tweerichtings-pijp '%s' niet openen voor in- en uitvoer (%s)"
+msgstr "kan tweerichtings-pijp `%s' niet openen voor in- en uitvoer (%s)"
 
-#: io.c:786
+#: io.c:793
 #, c-format
 msgid "can't redirect from `%s' (%s)"
-msgstr "kan niet omleiden van '%s' (%s)"
+msgstr "kan niet omleiden van `%s' (%s)"
 
-#: io.c:789
+#: io.c:796
 #, c-format
 msgid "can't redirect to `%s' (%s)"
-msgstr "kan niet omleiden naar '%s' (%s)"
+msgstr "kan niet omleiden naar `%s' (%s)"
 
-#: io.c:828
+#: io.c:849
 msgid ""
 "reached system limit for open files: starting to multiplex file descriptors"
 msgstr ""
 "systeemgrens voor aantal open bestanden is bereikt: begonnen met multiplexen"
 
-#: io.c:844
+#: io.c:865
 #, c-format
 msgid "close of `%s' failed (%s)."
-msgstr "sluiten van '%s' is mislukt (%s)"
+msgstr "sluiten van `%s' is mislukt (%s)"
 
-#: io.c:852
+#: io.c:873
 msgid "too many pipes or input files open"
 msgstr "te veel pijpen of invoerbestanden geopend"
 
-#: io.c:875
+#: io.c:896
 msgid "close: second argument must be `to' or `from'"
-msgstr "close: tweede argument moet 'to' of 'from' zijn"
+msgstr "close: tweede argument moet `to' of `from' zijn"
 
-#: io.c:889
+#: io.c:910
 #, c-format
 msgid "close: `%.*s' is not an open file, pipe or co-process"
-msgstr "close: '%.*s' is geen open bestand, pijp, of co-proces"
+msgstr "close: `%.*s' is geen open bestand, pijp, of co-proces"
 
-#: io.c:893
+#: io.c:915
 msgid "close of redirection that was never opened"
 msgstr "sluiten van een nooit-geopende omleiding"
 
-#: io.c:989
+#: io.c:1012
 #, c-format
 msgid "close: redirection `%s' not opened with `|&', second argument ignored"
 msgstr ""
-"close: omleiding '%s' is niet geopend met '|&'; tweede argument wordt "
+"close: omleiding `%s' is niet geopend met `|&'; tweede argument wordt "
 "genegeerd"
 
-#: io.c:1005
+#: io.c:1028
 #, c-format
 msgid "failure status (%d) on pipe close of `%s' (%s)"
-msgstr "afsluitwaarde %d bij mislukte sluiting van pijp '%s' (%s)"
+msgstr "afsluitwaarde %d bij mislukte sluiting van pijp `%s' (%s)"
 
-#: io.c:1008
+#: io.c:1031
 #, c-format
 msgid "failure status (%d) on file close of `%s' (%s)"
-msgstr "afsluitwaarde %d bij mislukte sluiting van bestand '%s' (%s)"
+msgstr "afsluitwaarde %d bij mislukte sluiting van bestand `%s' (%s)"
 
-#: io.c:1028
+#: io.c:1051
 #, c-format
 msgid "no explicit close of socket `%s' provided"
-msgstr "geen expliciete sluiting van socket '%s' aangegeven"
+msgstr "geen expliciete sluiting van socket `%s' aangegeven"
 
-#: io.c:1031
+#: io.c:1054
 #, c-format
 msgid "no explicit close of co-process `%s' provided"
-msgstr "geen expliciete sluiting van co-proces '%s' aangegeven"
+msgstr "geen expliciete sluiting van co-proces `%s' aangegeven"
 
-#: io.c:1034
+#: io.c:1057
 #, c-format
 msgid "no explicit close of pipe `%s' provided"
-msgstr "geen expliciete sluiting van pijp '%s' aangegeven"
+msgstr "geen expliciete sluiting van pijp `%s' aangegeven"
 
-#: io.c:1037
+#: io.c:1060
 #, c-format
 msgid "no explicit close of file `%s' provided"
-msgstr "geen expliciete sluiting van bestand '%s' aangegeven"
+msgstr "geen expliciete sluiting van bestand `%s' aangegeven"
 
-#: io.c:1066 io.c:1121 main.c:749 main.c:791
+#: io.c:1088 io.c:1143 main.c:776 main.c:818
 #, c-format
 msgid "error writing standard output (%s)"
 msgstr "fout tijdens schrijven van standaarduitvoer (%s)"
 
-#: io.c:1070 io.c:1126
+#: io.c:1092 io.c:1148
 #, c-format
 msgid "error writing standard error (%s)"
 msgstr "fout tijdens schrijven van standaardfoutuitvoer (%s)"
 
-#: io.c:1078
+#: io.c:1100
 #, c-format
 msgid "pipe flush of `%s' failed (%s)."
-msgstr "leegmaken van pijp '%s' is mislukt (%s)"
+msgstr "leegmaken van pijp `%s' is mislukt (%s)"
 
-#: io.c:1081
+#: io.c:1103
 #, c-format
 msgid "co-process flush of pipe to `%s' failed (%s)."
-msgstr "leegmaken door co-proces van pijp naar '%s' is mislukt (%s)"
+msgstr "leegmaken door co-proces van pijp naar `%s' is mislukt (%s)"
 
-#: io.c:1084
+#: io.c:1106
 #, c-format
 msgid "file flush of `%s' failed (%s)."
-msgstr "leegmaken van bestand '%s' is mislukt (%s)"
+msgstr "leegmaken van bestand `%s' is mislukt (%s)"
 
-#: io.c:1198
+#: io.c:1220
 #, c-format
 msgid "local port %s invalid in `/inet'"
-msgstr "lokale poort %s is ongeldig in '/inet'"
+msgstr "lokale poort %s is ongeldig in `/inet'"
 
-#: io.c:1215
+#: io.c:1237
 #, c-format
 msgid "remote host and port information (%s, %s) invalid"
 msgstr "host- en poortinformatie (%s, %s) zijn ongeldig"
 
-#: io.c:1250
+#: io.c:1272
 msgid "/inet/raw client not ready yet, sorry"
-msgstr "cli��nt van '/inet/raw' is nog niet klaar, sorry"
+msgstr "cli��nt van `/inet/raw' is nog niet klaar, sorry"
 
-#: io.c:1253 io.c:1289
+#: io.c:1275 io.c:1311
 msgid "only root may use `/inet/raw'."
-msgstr "Alleen root mag '/inet/raw' gebruiken."
+msgstr "Alleen root mag `/inet/raw' gebruiken."
 
-#: io.c:1287
+#: io.c:1309
 msgid "/inet/raw server not ready yet, sorry"
-msgstr "server van '/inet/raw' is nog niet klaar, sorry"
+msgstr "server van `/inet/raw' is nog niet klaar, sorry"
 
-#: io.c:1385
+#: io.c:1407
 #, c-format
 msgid "no (known) protocol supplied in special filename `%s'"
-msgstr "geen (bekend) protocol aangegeven in speciale bestandsnaam '%s'"
+msgstr "geen (bekend) protocol aangegeven in speciale bestandsnaam `%s'"
 
-#: io.c:1399
+#: io.c:1421
 #, c-format
 msgid "special file name `%s' is incomplete"
-msgstr "speciale bestandsnaam '%s' is onvolledig"
+msgstr "speciale bestandsnaam `%s' is onvolledig"
 
-#: io.c:1414
+#: io.c:1436
 msgid "must supply a remote hostname to `/inet'"
-msgstr "'/inet' heeft een gindse hostnaam nodig"
+msgstr "`/inet' heeft een gindse hostnaam nodig"
 
-#: io.c:1432
+#: io.c:1454
 msgid "must supply a remote port to `/inet'"
-msgstr "'/inet' heeft een gindse poort nodig"
+msgstr "`/inet' heeft een gindse poort nodig"
 
-#: io.c:1439
+#: io.c:1485
 msgid "TCP/IP communications are not supported"
 msgstr "TCP/IP-communicatie wordt niet ondersteund"
 
-#: io.c:1509
+#: io.c:1494
+#, c-format
+msgid "file `%s' is a directory"
+msgstr "`%s' is een map"
+
+#: io.c:1555
 #, c-format
 msgid "use `PROCINFO[\"%s\"]' instead of `%s'"
-msgstr "gebruik 'PROCINFO[\"%s\"]' in plaats van '%s'"
+msgstr "gebruik `PROCINFO[\"%s\"]' in plaats van `%s'"
 
-#: io.c:1547
+#: io.c:1593
 msgid "use `PROCINFO[...]' instead of `/dev/user'"
-msgstr "gebruik 'PROCINFO[...]' in plaats van '/dev/user'"
+msgstr "gebruik `PROCINFO[...]' in plaats van `/dev/user'"
 
-#: io.c:1612 io.c:1798
+#: io.c:1658 io.c:1853
 #, c-format
 msgid "could not open `%s', mode `%s'"
-msgstr "kan '%s' niet openen -- modus '%s'"
+msgstr "kan `%s' niet openen -- modus `%s'"
 
-#: io.c:1849
+#: io.c:1904
 #, c-format
 msgid "close of master pty failed (%s)"
 msgstr "kan meester-pty van dochterproces niet sluiten (%s)"
 
-#: io.c:1851 io.c:2003 io.c:2154
+#: io.c:1906 io.c:2058 io.c:2209
 #, c-format
 msgid "close of stdout in child failed (%s)"
 msgstr "kan standaarduitvoer van dochterproces niet sluiten (%s)"
 
-#: io.c:1854
+#: io.c:1909
 #, c-format
 msgid "moving slave pty to stdout in child failed (dup: %s)"
 msgstr ""
 "kan slaaf-pty niet overzetten naar standaarduitvoer van dochterproces (dup: %"
 "s)"
 
-#: io.c:1856 io.c:2008
+#: io.c:1911 io.c:2063
 #, c-format
 msgid "close of stdin in child failed (%s)"
 msgstr "kan standaardinvoer van dochterproces niet sluiten (%s)"
 
-#: io.c:1859
+#: io.c:1914
 #, c-format
 msgid "moving slave pty to stdin in child failed (dup: %s)"
 msgstr ""
 "kan slaaf-pty niet overzetten naar standaardinvoer van dochterproces (dup: %"
 "s)"
 
-#: io.c:1861 io.c:1880
+#: io.c:1916 io.c:1935
 #, c-format
 msgid "close of slave pty failed (%s)"
 msgstr "kan slaaf-pty niet sluiten (%s)"
 
-#: io.c:1954 io.c:2006 io.c:2135 io.c:2157
+#: io.c:2009 io.c:2061 io.c:2190 io.c:2212
 #, c-format
 msgid "moving pipe to stdout in child failed (dup: %s)"
 msgstr ""
 "kan pijp niet overzetten naar standaarduitvoer van dochterproces (dup: %s)"
 
-#: io.c:1958 io.c:2011
+#: io.c:2013 io.c:2066
 #, c-format
 msgid "moving pipe to stdin in child failed (dup: %s)"
 msgstr ""
 "kan pijp niet overzetten naar standaardinvoer van dochterproces (dup: %s)"
 
-#: io.c:1975 io.c:2148
+#: io.c:2030 io.c:2203
 msgid "restoring stdout in parent process failed\n"
 msgstr "kan standaarduitvoer van ouderproces niet herstellen\n"
 
-#: io.c:1980
+#: io.c:2035
 msgid "restoring stdin in parent process failed\n"
 msgstr "kan standaardinvoer van ouderproces niet herstellen\n"
 
-#: io.c:2014 io.c:2159 io.c:2170
+#: io.c:2069 io.c:2214 io.c:2225
 #, c-format
 msgid "close of pipe failed (%s)"
 msgstr "kan pijp niet sluiten (%s)"
 
-#: io.c:2059
+#: io.c:2114
 msgid "`|&' not supported"
-msgstr "'|&' wordt niet ondersteund"
+msgstr "`|&' wordt niet ondersteund"
 
-#: io.c:2125
+#: io.c:2180
 #, c-format
 msgid "cannot open pipe `%s' (%s)"
-msgstr "kan pijp '%s' niet openen (%s)"
+msgstr "kan pijp `%s' niet openen (%s)"
 
-#: io.c:2166
+#: io.c:2221
 #, c-format
 msgid "cannot create child process for `%s' (fork: %s)"
-msgstr "kan voor '%s' geen dochterproces starten (fork: %s)"
+msgstr "kan voor `%s' geen dochterproces starten (fork: %s)"
 
-#: io.c:2548
+#: io.c:2603
 #, c-format
 msgid "data file `%s' is empty"
-msgstr "databestand '%s' is leeg"
+msgstr "databestand `%s' is leeg"
 
-#: io.c:2589 io.c:2597
+#: io.c:2644 io.c:2652
 msgid "could not allocate more input memory"
 msgstr "kan geen extra invoergeheugen meer toewijzen"
 
-#: io.c:2965 io.c:3038
+#: io.c:3020 io.c:3093
 #, c-format
 msgid "error reading input file `%s': %s"
-msgstr "fout tijdens lezen van invoerbestand '%s': %s"
+msgstr "fout tijdens lezen van invoerbestand `%s': %s"
 
-#: io.c:3163
+#: io.c:3218
 msgid "multicharacter value of `RS' is a gawk extension"
-msgstr "een 'RS' van meerdere tekens is een gawk-uitbreiding"
+msgstr "een `RS' van meerdere tekens is een gawk-uitbreiding"
+
+#: main.c:304
+msgid "out of memory"
+msgstr "geen vrij geheugen"
 
-#: main.c:351
+#: main.c:373
 msgid "`-m[fr]' option irrelevant in gawk"
-msgstr "optie '-m[fr]' is irrelevant in gawk"
+msgstr "optie `-m[fr]' is irrelevant in gawk"
 
-#: main.c:353
+#: main.c:375
 msgid "-m option usage: `-m[fr] nnn'"
-msgstr "gebruikswijze van optie -m: '-m[fr] nnn'"
+msgstr "gebruikswijze van optie -m: `-m[fr] nnn'"
 
-#: main.c:370
+#: main.c:392
 #, c-format
 msgid "%s: option `-W %s' unrecognized, ignored\n"
-msgstr "%s: optie '-W %s' is onbekend; genegeerd\n"
+msgstr "%s: optie `-W %s' is onbekend; genegeerd\n"
 
-#: main.c:407
+#: main.c:433
 msgid "empty argument to `--source' ignored"
-msgstr "argument van '--source' is leeg; genegeerd"
+msgstr "argument van `--source' is leeg; genegeerd"
+
+#: main.c:487
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: optie vereist een argument -- %c\n"
 
-#: main.c:480
+#: main.c:506
 msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'"
-msgstr "omgevingsvariabele 'POSIXLY_CORRECT' is gezet: '--posix' ingeschakeld"
+msgstr "omgevingsvariabele `POSIXLY_CORRECT' is gezet: `--posix' ingeschakeld"
 
-#: main.c:486
+#: main.c:512
 msgid "`--posix' overrides `--traditional'"
-msgstr "'--posix' overstijgt '--traditional'"
+msgstr "`--posix' overstijgt `--traditional'"
 
-#: main.c:497
+#: main.c:523
 msgid "`--posix'/`--traditional' overrides `--non-decimal-data'"
-msgstr "'--posix'/'--traditional' overstijgen '--non-decimal-data'"
+msgstr "`--posix'/`--traditional' overstijgen `--non-decimal-data'"
 
-#: main.c:501
+#: main.c:527
 #, c-format
 msgid "running %s setuid root may be a security problem"
-msgstr "het uitvoeren van %s als 'setuid root' kan een veiligheidsrisico zijn"
+msgstr "het uitvoeren van %s als `setuid root' kan een veiligheidsrisico zijn"
 
-#: main.c:542
+#: main.c:568
 #, c-format
 msgid "can't set binary mode on stdin (%s)"
 msgstr "kan standaardinvoer niet in binaire modus plaatsen (%s)"
 
-#: main.c:545
+#: main.c:571
 #, c-format
 msgid "can't set binary mode on stdout (%s)"
 msgstr "kan standaarduitvoer niet in binaire modus plaatsen (%s)"
 
-#: main.c:547
+#: main.c:573
 #, c-format
 msgid "can't set binary mode on stderr (%s)"
 msgstr "kan standaardfoutuitvoer niet in binaire modus plaatsen (%s)"
 
-#: main.c:586
+#: main.c:612
 msgid "no program text at all!"
 msgstr "helemaal geen programmatekst!"
 
-#: main.c:690
+#: main.c:716
 #, c-format
 msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n"
 msgstr "Gebruik:  %s [opties] -f programmabestand [--]  bestand...\n"
 
-#: main.c:692
+#: main.c:718
 #, c-format
 msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n"
 msgstr ""
 "     of:  %s [opties] [--] %cprogrammatekst%c  bestand...\n"
 "\n"
 
-#: main.c:697
+#: main.c:723
 msgid "POSIX options:\t\tGNU long options:\n"
 msgstr "\tPOSIX-opties:\t\t\tequivalente GNU-opties:\n"
 
-#: main.c:698
+#: main.c:724
 msgid "\t-f progfile\t\t--file=progfile\n"
 msgstr "\t-f programmabestand\t\t--file=programmabestand\n"
 
-#: main.c:699
+#: main.c:725
 msgid "\t-F fs\t\t\t--field-separator=fs\n"
 msgstr "\t-F veldscheidingsteken\t\t--field-separator=veldscheidingsteken\n"
 
-#: main.c:700
+#: main.c:726
 msgid "\t-v var=val\t\t--assign=var=val\n"
 msgstr "\t-v var=waarde\t\t\t--assign=var=waarde\n"
 
-#: main.c:701
+#: main.c:727
 msgid "\t-m[fr] val\n"
 msgstr "\t-m[fr] waarde\n"
 
-#: main.c:702
+#: main.c:728
+msgid "\t-O\t\t\t--optimize\n"
+msgstr "\t-O\t\t\t--optimize\n"
+
+#: main.c:729
 msgid "\t-W compat\t\t--compat\n"
 msgstr "\t-W compat\t\t\t--compat\n"
 
-#: main.c:703
+#: main.c:730
 msgid "\t-W copyleft\t\t--copyleft\n"
 msgstr "\t-W copyleft\t\t\t--copyleft\n"
 
-#: main.c:704
+#: main.c:731
 msgid "\t-W copyright\t\t--copyright\n"
 msgstr "\t-W copyright\t\t\t--copyright\n"
 
-#: main.c:705
+#: main.c:732
 msgid "\t-W dump-variables[=file]\t--dump-variables[=file]\n"
 msgstr "\t-W dump-variables[=bestand]\t--dump-variables[=bestand]\n"
 
-#: main.c:706
+#: main.c:733
 msgid "\t-W exec=file\t\t--exec=file\n"
 msgstr "\t-W exec=bestand\t\t\t--exec=bestand\n"
 
-#: main.c:707
+#: main.c:734
 msgid "\t-W gen-po\t\t--gen-po\n"
 msgstr "\t-W gen-po\t\t\t--gen-po\n"
 
-#: main.c:708
+#: main.c:735
 msgid "\t-W help\t\t\t--help\n"
 msgstr "\t-W help\t\t\t\t--help\n"
 
-#: main.c:709
+#: main.c:736
 msgid "\t-W lint[=fatal]\t\t--lint[=fatal]\n"
 msgstr "\t-W lint[=fatal]\t\t\t--lint[=fatal]\n"
 
-#: main.c:710
+#: main.c:737
 msgid "\t-W lint-old\t\t--lint-old\n"
 msgstr "\t-W lint-old\t\t\t--lint-old\n"
 
-#: main.c:711
+#: main.c:738
 msgid "\t-W non-decimal-data\t--non-decimal-data\n"
 msgstr "\t-W non-decimal-data\t\t--non-decimal-data\n"
 
-#: main.c:713
+#: main.c:740
 msgid "\t-W nostalgia\t\t--nostalgia\n"
 msgstr "\t-W nostalgia\t\t\t--nostalgia\n"
 
-#: main.c:716
+#: main.c:743
 msgid "\t-W parsedebug\t\t--parsedebug\n"
 msgstr "\t-W parsedebug\t\t\t--parsedebug\n"
 
-#: main.c:718
+#: main.c:745
 msgid "\t-W profile[=file]\t--profile[=file]\n"
 msgstr "\t-W profile[=bestand]\t\t--profile[=bestand]\n"
 
-#: main.c:719
+#: main.c:746
 msgid "\t-W posix\t\t--posix\n"
 msgstr "\t-W posix\t\t\t--posix\n"
 
-#: main.c:720
+#: main.c:747
 msgid "\t-W re-interval\t\t--re-interval\n"
 msgstr "\t-W re-interval\t\t\t--re-interval\n"
 
-#: main.c:721
+#: main.c:748
 msgid "\t-W source=program-text\t--source=program-text\n"
 msgstr "\t-W source=programmatekst\t--source=programmatekst\n"
 
-#: main.c:722
+#: main.c:749
 msgid "\t-W traditional\t\t--traditional\n"
 msgstr "\t-W traditional\t\t\t--traditional\n"
 
-#: main.c:723
+#: main.c:750
 msgid "\t-W usage\t\t--usage\n"
 msgstr "\t-W usage\t\t\t--usage\n"
 
-#: main.c:724
+#: main.c:751
 msgid "\t-W use-lc-numeric\t--use-lc-numeric\n"
 msgstr "\t-W use-lc-numeric\t\t--use-lc-numeric\n"
 
-#: main.c:725
+#: main.c:752
 msgid "\t-W version\t\t--version\n"
 msgstr "\t-W version\t\t\t--version\n"
 
@@ -1578,7 +1625,7 @@
 #. for this application.  Please add _another line_ with the
 #. address for translation bugs.
 #. no-wrap
-#: main.c:734
+#: main.c:761
 msgid ""
 "\n"
 "To report bugs, see node `Bugs' in `gawk.info', which is\n"
@@ -1586,32 +1633,33 @@
 "\n"
 msgstr ""
 "\n"
-"Voor het rapporteren van programmagebreken, zie 'info gawk bugs'\n"
-"of de sectie 'Reporting Problems and Bugs' in de gedrukte versie.\n"
+"Voor het rapporteren van programmagebreken, zie `info gawk bugs'\n"
+"of de sectie `Reporting Problems and Bugs' in de gedrukte versie.\n"
 "Meld fouten in de vertaling aan <vertaling@vrijschrift.org>.\n"
 "\n"
 
-#: main.c:738
+#: main.c:765
 msgid ""
 "gawk is a pattern scanning and processing language.\n"
 "By default it reads standard input and writes standard output.\n"
 "\n"
 msgstr ""
-"'gawk' is een patroonherkennings- en bewerkingsprogramma.\n"
+"`gawk' is een patroonherkennings- en bewerkingsprogramma.\n"
 "Standaard leest het van standaardinvoer en schrijft naar standaarduitvoer.\n"
 "\n"
 
-#: main.c:742
+#: main.c:769
+#, fuzzy
 msgid ""
 "Examples:\n"
 "\tgawk '{ sum += $1 }; END { print sum }' file\n"
 "\tgawk -F: '{ print $1 }' /etc/passwd\n"
 msgstr ""
 "Voorbeelden:\n"
-"\tgawk '{ som += $1 }; END { print som }' bestand\n"
-"\tgawk -F: '{ print $1 }' /etc/passwd\n"
+"\tgawk `{ som += $1 }; END { print som }' bestand\n"
+"\tgawk -F: `{ print $1 }' /etc/passwd\n"
 
-#: main.c:762
+#: main.c:789
 #, c-format
 msgid ""
 "Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
@@ -1629,7 +1677,7 @@
 "uitgegeven door de Free Software Foundation, naar keuze ofwel onder\n"
 "versie 3 of onder een nieuwere versie van die licentie.\n"
 
-#: main.c:770
+#: main.c:797
 msgid ""
 "This program is distributed in the hope that it will be useful,\n"
 "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
@@ -1643,7 +1691,7 @@
 "Zie de GNU General Public License voor meer details.\n"
 "\n"
 
-#: main.c:781
+#: main.c:808
 msgid ""
 "You should have received a copy of the GNU General Public License\n"
 "along with this program. If not, see http://www.gnu.org/licenses/.\n"
@@ -1652,48 +1700,56 @@
 "ontvangen te hebben; is dit niet het geval, dan kunt u deze licentie\n"
 "ook vinden op http://www.gnu.org/licenses/.\n"
 
-#: main.c:816
+#: main.c:843
 msgid "-Ft does not set FS to tab in POSIX awk"
 msgstr "-Ft maakt van FS geen tab in POSIX-awk"
 
-#: main.c:1060
+#: main.c:1117
 #, c-format
 msgid ""
 "%s: `%s' argument to `-v' not in `var=value' form\n"
 "\n"
 msgstr ""
-"%s: argument '%s' van '-v' is niet van de vorm 'var=waarde'\n"
+"%s: argument `%s' van `-v' is niet van de vorm `var=waarde'\n"
 "\n"
 
-#: main.c:1080
+#: main.c:1137
 #, c-format
 msgid "`%s' is not a legal variable name"
-msgstr "'%s' is geen geldige variabelenaam"
+msgstr "`%s' is geen geldige variabelenaam"
 
-#: main.c:1083
+#: main.c:1140
 #, c-format
 msgid "`%s' is not a variable name, looking for file `%s=%s'"
-msgstr "'%s' is geen variabelenaam, zoekend naar bestand '%s=%s'"
+msgstr "`%s' is geen variabelenaam, zoekend naar bestand `%s=%s'"
 
-#: main.c:1122
+#: main.c:1179
 msgid "floating point exception"
 msgstr "drijvende-komma-berekeningsfout"
 
-#: main.c:1129
+#: main.c:1186
 msgid "fatal error: internal error"
 msgstr "fatale fout: **interne fout**"
 
-#: main.c:1180
+#: main.c:1200
+msgid "fatal error: internal error: segfault"
+msgstr "fatale fout: **interne fout**: segmentatiefout"
+
+#: main.c:1212
+msgid "fatal error: internal error: stack overflow"
+msgstr "fatale fout: **interne fout**: stack is vol"
+
+#: main.c:1261
 #, c-format
 msgid "no pre-opened fd %d"
 msgstr "geen reeds-geopende bestandsdescriptor %d"
 
-#: main.c:1187
+#: main.c:1268
 #, c-format
 msgid "could not pre-open /dev/null for fd %d"
 msgstr "kan /dev/null niet openen voor bestandsdescriptor %d"
 
-#: main.c:1210 main.c:1219
+#: main.c:1291 main.c:1300
 #, c-format
 msgid "could not find groups: %s"
 msgstr "kan groepen niet vinden: %s"
@@ -1719,58 +1775,68 @@
 msgid "can't convert string to float"
 msgstr "kan string niet converteren naar drijvende-komma-getal"
 
-#: node.c:406
+#: node.c:462
 msgid "backslash at end of string"
 msgstr "backslash aan het einde van de string"
 
-#: node.c:548
+#: node.c:606
 #, c-format
 msgid "old awk does not support the `\\%c' escape sequence"
-msgstr "oude 'awk' kent de stuurcodereeks '\\%c' niet"
+msgstr "oude `awk' kent de stuurcodereeks `\\%c' niet"
 
-#: node.c:599
+#: node.c:657
 msgid "POSIX does not allow `\\x' escapes"
-msgstr "POSIX staat stuurcode '\\x' niet toe"
+msgstr "POSIX staat stuurcode `\\x' niet toe"
 
-#: node.c:605
+#: node.c:663
 msgid "no hex digits in `\\x' escape sequence"
-msgstr "geen hex cijfers in stuurcodereeks '\\x'"
+msgstr "geen hex cijfers in stuurcodereeks `\\x'"
+
+#: node.c:685
+#, c-format
+msgid ""
+"hex escape \\x%.*s of %d characters probably not interpreted the way you "
+"expect"
+msgstr ""
+"hexadecimale stuurcode \\x%.*s van %d tekens wordt waarschijnlijk niet "
+"afgehandeld zoals verwacht"
 
-#: node.c:639
+#: node.c:700
 #, c-format
 msgid "escape sequence `\\%c' treated as plain `%c'"
-msgstr "stuurcodereeks '\\%c' behandeld als normale '%c'"
+msgstr "stuurcodereeks `\\%c' behandeld als normale `%c'"
 
 #: posix/gawkmisc.c:172
 #, c-format
 msgid "%s %s `%s': could not set close-on-exec: (fcntl: %s)"
-msgstr "%s %s '%s': kan close-on-exec niet activeren: (fcntl: %s)"
+msgstr "%s %s `%s': kan close-on-exec niet activeren: (fcntl: %s)"
 
-#: profile.c:92
+#: profile.c:93
 #, c-format
 msgid "could not open `%s' for writing: %s"
-msgstr "kan '%s' niet openen om te schrijven: %s"
+msgstr "kan `%s' niet openen om te schrijven: %s"
 
-#: profile.c:450
+#: profile.c:453
 #, c-format
 msgid "internal error: %s with null vname"
-msgstr "**interne fout**: %s heeft een lege vname"
+msgstr "**interne fout**: %s heeft een lege `vname'"
 
-#: profile.c:514
+#: profile.c:517
+#, fuzzy
 msgid "# treated internally as `delete'"
-msgstr "# wordt intern behandeld als 'delete'"
+msgstr "# wordt intern behandeld als `delete"
 
-#: profile.c:1147
+#: profile.c:1069
 #, c-format
 msgid "# this is a dynamically loaded extension function"
 msgstr "# dit is een dynamisch geladen uitbreidingsfunctie"
 
-#: profile.c:1178
+#: profile.c:1100
 #, c-format
 msgid "\t# gawk profile, created %s\n"
 msgstr "\t# gawk-profiel, gemaakt %s\n"
 
-#: profile.c:1181
+#: profile.c:1103
 #, c-format
 msgid ""
 "\t# BEGIN block(s)\n"
@@ -1779,7 +1845,7 @@
 "\t# BEGIN-blok(ken)\n"
 "\n"
 
-#: profile.c:1191
+#: profile.c:1113
 #, c-format
 msgid ""
 "\t# Rule(s)\n"
@@ -1788,7 +1854,7 @@
 "\t# Regel(s)\n"
 "\n"
 
-#: profile.c:1197
+#: profile.c:1119
 #, c-format
 msgid ""
 "\t# END block(s)\n"
@@ -1797,7 +1863,7 @@
 "\t# END-blok(ken)\n"
 "\n"
 
-#: profile.c:1217
+#: profile.c:1139
 #, c-format
 msgid ""
 "\n"
@@ -1806,79 +1872,87 @@
 "\n"
 "\t# Functies, alfabetisch geordend\n"
 
-#: profile.c:1470
+#: profile.c:1400
 #, c-format
 msgid "unexpected type %s in prec_level"
 msgstr "onverwacht type %s in prec_level"
 
-#: regcomp.c:132
+#: profile.c:1500
+#, c-format
+msgid "Unknown node type %s in pp_var"
+msgstr "onbekend knooptype %s in pp_var"
+
+#: regcomp.c:133
 msgid "Success"
 msgstr "Gelukt"
 
-#: regcomp.c:135
+#: regcomp.c:136
 msgid "No match"
 msgstr "Geen overeenkomsten"
 
-#: regcomp.c:138
+#: regcomp.c:139
 msgid "Invalid regular expression"
 msgstr "Ongeldige reguliere expressie"
 
-#: regcomp.c:141
+#: regcomp.c:142
 msgid "Invalid collation character"
 msgstr "Ongeldig samengesteld teken"
 
-#: regcomp.c:144
+#: regcomp.c:145
 msgid "Invalid character class name"
 msgstr "Ongeldige tekenklassenaam"
 
-#: regcomp.c:147
+#: regcomp.c:148
 msgid "Trailing backslash"
 msgstr "Backslash aan het eind"
 
-#: regcomp.c:150
+#: regcomp.c:151
 msgid "Invalid back reference"
 msgstr "Ongeldige terugverwijzing"
 
-#: regcomp.c:153
+#: regcomp.c:154
 msgid "Unmatched [ or [^"
 msgstr "Ongepaarde [ of [^"
 
-#: regcomp.c:156
+#: regcomp.c:157
 msgid "Unmatched ( or \\("
 msgstr "Ongepaarde ( of \\("
 
-#: regcomp.c:159
+#: regcomp.c:160
 msgid "Unmatched \\{"
 msgstr "Ongepaarde \\{"
 
-#: regcomp.c:162
+#: regcomp.c:163
 msgid "Invalid content of \\{\\}"
 msgstr "Ongeldige inhoud van \\{\\}"
 
-#: regcomp.c:165
+#: regcomp.c:166
 msgid "Invalid range end"
 msgstr "Ongeldig bereikeinde"
 
-#: regcomp.c:168
+#: regcomp.c:169
 msgid "Memory exhausted"
 msgstr "Onvoldoende geheugen beschikbaar"
 
-#: regcomp.c:171
+#: regcomp.c:172
 msgid "Invalid preceding regular expression"
 msgstr "Ongeldige voorafgaande reguliere expressie"
 
-#: regcomp.c:174
+#: regcomp.c:175
 msgid "Premature end of regular expression"
 msgstr "Voortijdig einde van reguliere expressie"
 
-#: regcomp.c:177
+#: regcomp.c:178
 msgid "Regular expression too big"
 msgstr "Reguliere expressie is te groot"
 
-#: regcomp.c:180
+#: regcomp.c:181
 msgid "Unmatched ) or \\)"
 msgstr "Ongepaarde ) of \\)"
 
-#: regcomp.c:664
+#: regcomp.c:700
 msgid "No previous regular expression"
 msgstr "Geen eerdere reguliere expressie"
+
+#~ msgid "%s: illegal option -- %c\n"
+#~ msgstr "%s: ongeldige optie -- %c\n"
diff -urN gawk-3.1.6/po/pl.po gawk-3.1.7/po/pl.po
--- gawk-3.1.6/po/pl.po	2007-09-30 22:33:27.000000000 +0200
+++ gawk-3.1.7/po/pl.po	2009-07-21 23:23:45.000000000 +0300
@@ -1,18 +1,20 @@
 # Polish translations for GNU AWK package.
-# Copyright (C) 2003, 2004, 2005, 2007 Free Software Foundation, Inc.
-# Wojciech Polak <polak@gnu.org>, 2003, 2004, 2005, 2007.
+# Copyright (C) 2003, 2004, 2005, 2007, 2008, 2009 Free Software Foundation, Inc.
+# This file is distributed under the same license as the gawk package.
+#
+# Wojciech Polak <polak@gnu.org>, 2003, 2004, 2005, 2007, 2008, 2009.
 # additional help by Sergey Poznyakoff <gray@gnu.org>, 2003.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gawk 3.1.5f\n"
+"Project-Id-Version: gawk 3.1.6d\n"
 "Report-Msgid-Bugs-To: arnold@skeeve.com\n"
-"POT-Creation-Date: 2007-09-30 22:33+0200\n"
-"PO-Revision-Date: 2007-08-17 20:05+0200\n"
+"POT-Creation-Date: 2009-07-21 23:23+0300\n"
+"PO-Revision-Date: 2009-06-20 13:32+0200\n"
 "Last-Translator: Wojciech Polak <polak@gnu.org>\n"
 "Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
 "|| n%100>=20) ? 1 : 2);\n"
@@ -20,17 +22,17 @@
 #: array.c:112
 #, c-format
 msgid "attempt to use function `%s' as an array"
-msgstr "pr�ba u�ycia funkcji `%s' jako tablicy"
+msgstr "pr��ba u��ycia funkcji `%s' jako tablicy"
 
 #: array.c:115
 #, c-format
 msgid "attempt to use scalar parameter `%s' as an array"
-msgstr "pr�ba u�ycia parametru `%s' skalaru jako tablicy"
+msgstr "pr��ba u��ycia parametru `%s' skalaru jako tablicy"
 
 #: array.c:118
 #, c-format
 msgid "attempt to use scalar `%s' as array"
-msgstr "pr�ba u�ycia skalaru `%s' jako tablicy"
+msgstr "pr��ba u��ycia skalaru `%s' jako tablicy"
 
 #: array.c:156
 #, c-format
@@ -40,12 +42,12 @@
 #: array.c:514
 #, c-format
 msgid "reference to uninitialized element `%s[\"%s\"]'"
-msgstr "odwo�anie do niezainicjowanego elementu `%s[\"%s\"]'"
+msgstr "odwo��anie do niezainicjowanego elementu `%s[\"%s\"]'"
 
 #: array.c:520
 #, c-format
 msgid "subscript of array `%s' is null string"
-msgstr "indeks tablicy `%s' jest zerowym �a�cuchem"
+msgstr "indeks tablicy `%s' jest zerowym ��a��cuchem"
 
 #: array.c:624
 #, c-format
@@ -77,842 +79,874 @@
 msgid "%s: array_ref to %s\n"
 msgstr "%s: array_ref do %s\n"
 
-#: awkgram.y:215
+#: awkgram.y:218
 #, c-format
 msgid "%s blocks must have an action part"
-msgstr "%s blok�w musi posiada� cz��� dotycz�c� akcji"
+msgstr "%s blok��w musi posiada�� cz������ dotycz��c�� akcji"
 
-#: awkgram.y:218
+#: awkgram.y:221
 msgid "each rule must have a pattern or an action part"
-msgstr "ka�da regu�a musi posiada� wzorzec lub cz��� dotycz�c� akcji"
+msgstr "ka��da regu��a musi posiada�� wzorzec lub cz������ dotycz��c�� akcji"
 
-#: awkgram.y:254 awkgram.y:263
+#: awkgram.y:257 awkgram.y:266
 msgid "old awk does not support multiple `BEGIN' or `END' rules"
-msgstr "stary awk nie wspiera wielokrotnych regu� `BEGIN' lub `END'"
+msgstr "stary awk nie wspiera wielokrotnych regu�� `BEGIN' lub `END'"
 
-#: awkgram.y:282
+#: awkgram.y:285
 #, c-format
 msgid "`%s' is a built-in function, it cannot be redefined"
 msgstr ""
-"`%s' jest funkcj� wbudowan�, wi�c nie mo�e zosta� ponownie zdefiniowana"
+"`%s' jest funkcj�� wbudowan��, wi��c nie mo��e zosta�� ponownie zdefiniowana"
 
-#: awkgram.y:328
+#: awkgram.y:331
 msgid "regexp constant `//' looks like a C++ comment, but is not"
 msgstr ""
-"sta�e wyra�enie regularne `//' wygl�da jak komentarz C++, ale nim nie jest"
+"sta��e wyra��enie regularne `//' wygl��da jak komentarz C++, ale nim nie jest"
 
-#: awkgram.y:331
+#: awkgram.y:334
 #, c-format
 msgid "regexp constant `/%s/' looks like a C comment, but is not"
 msgstr ""
-"sta�e wyra�enie regularne `/%s/' wygl�da jak komentarz C, ale nim nie jest"
+"sta��e wyra��enie regularne `/%s/' wygl��da jak komentarz C, ale nim nie jest"
 
-#: awkgram.y:358 awkgram.y:653
+#: awkgram.y:361 awkgram.y:656
 msgid "statement may have no effect"
-msgstr "instrukcja mo�e nie mie� �adnego efektu"
+msgstr "instrukcja mo��e nie mie�� ��adnego efektu"
 
-#: awkgram.y:455 awkgram.y:479
+#: awkgram.y:458 awkgram.y:482
 #, c-format
 msgid "`%s' used in %s action"
-msgstr "`%s' u�yty w akcji %s"
+msgstr "`%s' u��yty w akcji %s"
 
-#: awkgram.y:470 awkgram.y:474
+#: awkgram.y:473 awkgram.y:477
 msgid "`nextfile' is a gawk extension"
 msgstr "`nextfile' jest rozszerzeniem gawk"
 
-#: awkgram.y:489
+#: awkgram.y:492
 msgid "`return' used outside function context"
-msgstr "`return' u�yty poza kontekstem funkcji"
+msgstr "`return' u��yty poza kontekstem funkcji"
 
-#: awkgram.y:531
+#: awkgram.y:534
 msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'"
 msgstr ""
-"zwyk�y `print' w regu�ach BEGIN lub END powinien prawdopodobnie by� jako "
+"zwyk��y `print' w regu��ach BEGIN lub END powinien prawdopodobnie by�� jako "
 "`print \"\"'"
 
-#: awkgram.y:547 awkgram.y:555
+#: awkgram.y:550 awkgram.y:558
 msgid "`delete array' is a gawk extension"
 msgstr "`delete tablica' jest rozszerzeniem gawk"
 
-#: awkgram.y:569 awkgram.y:577
+#: awkgram.y:572 awkgram.y:580
 msgid "`delete(array)' is a non-portable tawk extension"
-msgstr "`delete(tablica)' jest nieprzeno�nym rozszerzeniem tawk"
+msgstr "`delete(tablica)' jest nieprzeno��nym rozszerzeniem tawk"
 
-#: awkgram.y:621
+#: awkgram.y:624
 #, c-format
 msgid "duplicate case values in switch body: %s"
-msgstr "powielone warto�ci case w ciele switch: %s"
+msgstr "powielone warto��ci case w ciele switch: %s"
 
-#: awkgram.y:631
+#: awkgram.y:634
 msgid "Duplicate `default' detected in switch body"
 msgstr "wykryto powielony `default' w ciele switch"
 
-#: awkgram.y:720
+#: awkgram.y:723
 msgid "multistage two-way pipelines don't work"
-msgstr "wieloetapowe dwukierunkowe linie potokowe nie dzia�aj�"
+msgstr "wieloetapowe dwukierunkowe linie potokowe nie dzia��aj��"
 
-#: awkgram.y:811
+#: awkgram.y:814
 msgid "regular expression on right of assignment"
-msgstr "wyra�anie regularne po prawej stronie przypisania"
+msgstr "wyra��anie regularne po prawej stronie przypisania"
 
-#: awkgram.y:834
+#: awkgram.y:824
 msgid "regular expression on left of `~' or `!~' operator"
-msgstr "wyra�enie regularne po lewej stronie operatora `~' lub `!~'"
+msgstr "wyra��enie regularne po lewej stronie operatora `~' lub `!~'"
 
-#: awkgram.y:840 awkgram.y:913
+#: awkgram.y:830 awkgram.y:903
 msgid "old awk does not support the keyword `in' except after `for'"
 msgstr ""
-"stary awk nie wspiera s�owa kluczowego `in', z wyj�tkiem po s�owie `for'"
+"stary awk nie wspiera s��owa kluczowego `in', z wyj��tkiem po s��owie `for'"
 
-#: awkgram.y:846
+#: awkgram.y:836
 msgid "regular expression on right of comparison"
-msgstr "wyra�enie regularne po prawej stronie por�wnania"
+msgstr "wyra��enie regularne po prawej stronie por��wnania"
 
-#: awkgram.y:903
+#: awkgram.y:893
 msgid "non-redirected `getline' undefined inside END action"
 msgstr ""
-"komenda `getline' bez przekierowania nie jest zdefiniowana wewn�trz akcji END"
+"komenda `getline' bez przekierowania nie jest zdefiniowana wewn��trz akcji END"
 
-#: awkgram.y:914
+#: awkgram.y:904
 msgid "old awk does not support multidimensional arrays"
 msgstr "stary awk nie wspiera wielowymiarowych tablic"
 
-#: awkgram.y:960
+#: awkgram.y:950
 msgid "call of `length' without parentheses is not portable"
-msgstr "wywo�anie `length' bez nawias�w jest nieprzeno�ne"
+msgstr "wywo��anie `length' bez nawias��w jest nieprzeno��ne"
 
-#: awkgram.y:965
+#: awkgram.y:955
 msgid "call of `length' without parentheses is deprecated by POSIX"
-msgstr "wywo�anie `length' bez podania nawias�w jest niezalecane przez POSIX"
+msgstr "wywo��anie `length' bez podania nawias��w jest niezalecane przez POSIX"
 
-#: awkgram.y:1019
+#: awkgram.y:1009
 msgid "use of non-array as array"
-msgstr "u�ycie nie-tablicy jako tablicy"
+msgstr "u��ycie nie-tablicy jako tablicy"
 
-#: awkgram.y:1022
+#: awkgram.y:1012
 msgid "invalid subscript expression"
-msgstr "nieprawid�owe wyra�enie indeksowe"
+msgstr "nieprawid��owe wyra��enie indeksowe"
 
-#: awkgram.y:1249
+#: awkgram.y:1257
 msgid "unexpected newline or end of string"
-msgstr "niespodziewany znak nowego wiersza lub ko�ca �a�cucha"
+msgstr "niespodziewany znak nowego wiersza lub ko��ca ��a��cucha"
 
-#: awkgram.y:1366
+#: awkgram.y:1374
 msgid "empty program text on command line"
-msgstr "pusty tekst programu w linii polece�"
+msgstr "pusty tekst programu w linii polece��"
 
-#: awkgram.y:1422
+#: awkgram.y:1430
 #, c-format
 msgid "can't open source file `%s' for reading (%s)"
-msgstr "nie mo�na otworzy� pliku �r�d�owego `%s' do czytania (%s)"
+msgstr "nie mo��na otworzy�� pliku ��r��d��owego `%s' do czytania (%s)"
 
-#: awkgram.y:1520
+#: awkgram.y:1528
 #, c-format
 msgid "can't read sourcefile `%s' (%s)"
-msgstr "nie mo�na otworzy� pliku �r�d�owego `%s' (%s)"
+msgstr "nie mo��na otworzy�� pliku ��r��d��owego `%s' (%s)"
 
-#: awkgram.y:1528
+#: awkgram.y:1536
 #, c-format
 msgid "source file `%s' is empty"
-msgstr "plik �r�d�owy `%s' jest pusty"
+msgstr "plik ��r��d��owy `%s' jest pusty"
 
-#: awkgram.y:1720 awkgram.y:1842 awkgram.y:1860 awkgram.y:2235 awkgram.y:2322
+#: awkgram.y:1728 awkgram.y:1850 awkgram.y:1868 awkgram.y:2243 awkgram.y:2330
 msgid "source file does not end in newline"
-msgstr "plik �r�d�owy nie posiada na ko�cu znaku nowego wiersza"
+msgstr "plik ��r��d��owy nie posiada na ko��cu znaku nowego wiersza"
 
-#: awkgram.y:1782
+#: awkgram.y:1790
 msgid "unterminated regexp ends with `\\' at end of file"
 msgstr ""
-"niezako�czone prawid�owo wyra�enie regularne ko�czy si� znakiem `\\' na "
-"ko�cu pliku"
+"niezako��czone prawid��owo wyra��enie regularne ko��czy si�� znakiem `\\' na "
+"ko��cu pliku"
 
-#: awkgram.y:1806
+#: awkgram.y:1814
 #, c-format
 msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk"
 msgstr ""
-"%s: %d: modyfikator wyra�enia regularnego `/.../%c' tawk nie dzia�a w gawk"
+"%s: %d: modyfikator wyra��enia regularnego `/.../%c' tawk nie dzia��a w gawk"
 
-#: awkgram.y:1810
+#: awkgram.y:1818
 #, c-format
 msgid "tawk regex modifier `/.../%c' doesn't work in gawk"
-msgstr "modyfikator wyra�enia regularnego `/.../%c' tawk nie dzia�a w gawk"
+msgstr "modyfikator wyra��enia regularnego `/.../%c' tawk nie dzia��a w gawk"
 
-#: awkgram.y:1817
+#: awkgram.y:1825
 msgid "unterminated regexp"
-msgstr "niezako�czone wyra�enie regularne"
+msgstr "niezako��czone wyra��enie regularne"
 
-#: awkgram.y:1820
+#: awkgram.y:1828
 msgid "unterminated regexp at end of file"
-msgstr "niezako�czone wyra�enie regularne na ko�cu pliku"
+msgstr "niezako��czone wyra��enie regularne na ko��cu pliku"
 
-#: awkgram.y:1889
+#: awkgram.y:1897
 msgid "use of `\\ #...' line continuation is not portable"
-msgstr "u�ycie `\\ #...' kontynuacji linii nie jest przeno�ne"
+msgstr "u��ycie `\\ #...' kontynuacji linii nie jest przeno��ne"
 
-#: awkgram.y:1902
+#: awkgram.y:1910
 msgid "backslash not last character on line"
 msgstr "backslash nie jest ostatnim znakiem w wierszu"
 
-#: awkgram.y:1947
+#: awkgram.y:1955
 msgid "POSIX does not allow operator `**='"
 msgstr "POSIX nie zezwala na operator `**='"
 
-#: awkgram.y:1949
+#: awkgram.y:1957
 msgid "old awk does not support operator `**='"
 msgstr "stary awk nie wspiera operatora `**='"
 
-#: awkgram.y:1958
+#: awkgram.y:1966
 msgid "POSIX does not allow operator `**'"
 msgstr "POSIX nie zezwala na operator `**'"
 
-#: awkgram.y:1960
+#: awkgram.y:1968
 msgid "old awk does not support operator `**'"
 msgstr "stary awk nie wspiera operatora `**'"
 
-#: awkgram.y:1991
+#: awkgram.y:1999
 msgid "operator `^=' is not supported in old awk"
 msgstr "operator `^=' nie jest wspierany w starym awk"
 
-#: awkgram.y:1999
+#: awkgram.y:2007
 msgid "operator `^' is not supported in old awk"
 msgstr "operator `^' nie jest wspierany w starym awk"
 
-#: awkgram.y:2083 awkgram.y:2098
+#: awkgram.y:2091 awkgram.y:2106
 msgid "unterminated string"
-msgstr "niezako�czony �a�cuch"
+msgstr "niezako��czony ��a��cuch"
 
-#: awkgram.y:2283
+#: awkgram.y:2291
 #, c-format
 msgid "invalid char '%c' in expression"
-msgstr "nieprawid�owy znak '%c' w wyra�eniu"
+msgstr "nieprawid��owy znak '%c' w wyra��eniu"
 
-#: awkgram.y:2331
+#: awkgram.y:2339
 #, c-format
 msgid "`%s' is a gawk extension"
 msgstr "`%s' jest rozszerzeniem gawk"
 
-#: awkgram.y:2334
+#: awkgram.y:2342
 #, c-format
 msgid "`%s' is a Bell Labs extension"
 msgstr "`%s' jest rozszerzeniem Bell Labs"
 
-#: awkgram.y:2337
+#: awkgram.y:2345
 #, c-format
 msgid "POSIX does not allow `%s'"
 msgstr "POSIX nie zezwala na `%s'"
 
-#: awkgram.y:2341
+#: awkgram.y:2349
 #, c-format
 msgid "`%s' is not supported in old awk"
 msgstr "`%s' nie jest wspierany w starym awk"
 
-#: awkgram.y:2367
+#: awkgram.y:2375
 msgid "`goto' considered harmful!\n"
-msgstr "`goto' uwa�ane za szkodliwe!\n"
+msgstr "`goto' uwa��ane za szkodliwe!\n"
 
-#: awkgram.y:2429
+#: awkgram.y:2437
 #, c-format
 msgid "%d is invalid as number of arguments for %s"
-msgstr "%d jest nieprawid�owe jako liczba argument�w dla %s"
+msgstr "%d jest nieprawid��owe jako liczba argument��w dla %s"
 
-#: awkgram.y:2448 awkgram.y:2451
+#: awkgram.y:2456 awkgram.y:2459
 msgid "match: third argument is a gawk extension"
 msgstr "match: trzeci argument jest rozszerzeniem gawk"
 
-#: awkgram.y:2464
+#: awkgram.y:2472
 #, c-format
 msgid "%s: string literal as last arg of substitute has no effect"
 msgstr ""
-"%s: litera� �a�cuchowy jako ostatni argument podstawienia nie ma �adnego "
+"%s: litera�� ��a��cuchowy jako ostatni argument podstawienia nie ma ��adnego "
 "efektu"
 
-#: awkgram.y:2467
+#: awkgram.y:2475
 #, c-format
 msgid "%s third parameter is not a changeable object"
 msgstr "%s trzeci parametr nie jest zmiennym obiektem"
 
-#: awkgram.y:2494 awkgram.y:2497
+#: awkgram.y:2502 awkgram.y:2505
 msgid "close: second argument is a gawk extension"
 msgstr "close: drugi argument jest rozszerzeniem gawk"
 
-#: awkgram.y:2507
+#: awkgram.y:2515
 msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore"
-msgstr "nieprawid�owe u�ycie dcgettext(_\"...\"): usu� znak podkre�lenia"
+msgstr "nieprawid��owe u��ycie dcgettext(_\"...\"): usu�� znak podkre��lenia"
 
-#: awkgram.y:2522
+#: awkgram.y:2530
 msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore"
-msgstr "nieprawid�owe u�ycie dcngettext(_\"...\"): usu� znak podkre�lenia"
+msgstr "nieprawid��owe u��ycie dcngettext(_\"...\"): usu�� znak podkre��lenia"
 
-#: awkgram.y:2594
+#: awkgram.y:2602
 #, c-format
 msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d"
 msgstr "funkcja `%s': parametr #%d, `%s', powiela parametr #%d"
 
-#: awkgram.y:2627
+#: awkgram.y:2635
 #, c-format
 msgid "function `%s': parameter `%s' shadows global variable"
-msgstr "funkcja `%s': parametr `%s' zas�ania globaln� zmienn�"
+msgstr "funkcja `%s': parametr `%s' zas��ania globaln�� zmienn��"
 
-#: awkgram.y:2739
+#: awkgram.y:2747
 #, c-format
 msgid "could not open `%s' for writing (%s)"
-msgstr "nie mo�na otworzy� `%s' do zapisu (%s)"
+msgstr "nie mo��na otworzy�� `%s' do zapisu (%s)"
 
-#: awkgram.y:2740 profile.c:94
+#: awkgram.y:2748 profile.c:95
 msgid "sending profile to standard error"
-msgstr "wysy�anie profilu na standardowe wyj�cie diagnostyczne"
+msgstr "wysy��anie profilu na standardowe wyj��cie diagnostyczne"
 
-#: awkgram.y:2772
+#: awkgram.y:2780
 #, c-format
 msgid "%s: close failed (%s)"
-msgstr "%s: zamkni�cie nie powiod�o si� (%s)"
+msgstr "%s: zamkni��cie nie powiod��o si�� (%s)"
 
-#: awkgram.y:2893
+#: awkgram.y:2901
 msgid "shadow_funcs() called twice!"
-msgstr "shadow_funcs() wywo�ana podw�jnie!"
+msgstr "shadow_funcs() wywo��ana podw��jnie!"
 
-#: awkgram.y:2920
+#: awkgram.y:2928
 msgid "there were shadowed variables."
-msgstr "wyst�pi�y przykryte zmienne."
+msgstr "wyst��pi��y przykryte zmienne."
 
-#: awkgram.y:2993
+#: awkgram.y:3001
 #, c-format
 msgid "function `%s': can't use function name as parameter name"
-msgstr "funkcja `%s': nie mo�na u�y� nazwy funkcji jako nazwy parametru"
+msgstr "funkcja `%s': nie mo��na u��y�� nazwy funkcji jako nazwy parametru"
 
-#: awkgram.y:3003
+#: awkgram.y:3004
+#, c-format
+msgid "function `%s': can't use special variable `%s' as a function parameter"
+msgstr ""
+"funkcja `%s': nie mo��na u��y�� specjalnej zmiennej `%s' jako parametru funkcji"
+
+#: awkgram.y:3014
 #, c-format
 msgid "function name `%s' previously defined"
-msgstr "nazwa funkcji `%s' zosta�a zdefiniowana poprzednio"
+msgstr "nazwa funkcji `%s' zosta��a zdefiniowana poprzednio"
 
-#: awkgram.y:3154 awkgram.y:3160
+#: awkgram.y:3165 awkgram.y:3171
 #, c-format
 msgid "function `%s' called but never defined"
-msgstr "funkcja `%s' zosta�a wywo�ana, ale nigdy nie zosta�a zdefiniowana"
+msgstr "funkcja `%s' zosta��a wywo��ana, ale nigdy nie zosta��a zdefiniowana"
 
-#: awkgram.y:3163
+#: awkgram.y:3174
 #, c-format
 msgid "function `%s' defined but never called"
-msgstr "funkcja `%s' zosta�a zdefiniowana, ale nigdy nie zosta�a wywo�ana"
+msgstr "funkcja `%s' zosta��a zdefiniowana, ale nigdy nie zosta��a wywo��ana"
 
-#: awkgram.y:3190
+#: awkgram.y:3201
 #, c-format
 msgid "regexp constant for parameter #%d yields boolean value"
-msgstr "sta�e wyra�enie regularne dla parametru #%d daje warto�� logiczn�"
+msgstr "sta��e wyra��enie regularne dla parametru #%d daje warto���� logiczn��"
 
-#: awkgram.y:3234
+#: awkgram.y:3245
 #, c-format
 msgid ""
 "function `%s' called with space between name and `(',\n"
 "or used as a variable or an array"
 msgstr ""
-"funkcja `%s' zosta�a wywo�ana z bia�ymi znakami pomi�dzy jej nazw� a znakiem "
+"funkcja `%s' zosta��a wywo��ana z bia��ymi znakami pomi��dzy jej nazw�� a znakiem "
 "`(',\n"
-"lub u�yta jako zmienna lub jako tablica"
+"lub u��yta jako zmienna lub jako tablica"
 
-#: builtin.c:119
+#: awkgram.y:3667 eval.c:1394
+#, c-format
+msgid "division by zero attempted in `%%'"
+msgstr "pr��ba dzielenia przez zero w `%%'"
+
+#: builtin.c:122
 #, c-format
 msgid "%s to \"%s\" failed (%s)"
-msgstr "%s do \"%s\" nie powi�d� si� (%s)"
+msgstr "%s do \"%s\" nie powi��d�� si�� (%s)"
 
-#: builtin.c:120
+#: builtin.c:123
 msgid "standard output"
-msgstr "standardowe wyj�cie"
+msgstr "standardowe wyj��cie"
 
-#: builtin.c:121
+#: builtin.c:124
 msgid "reason unknown"
-msgstr "nieznany pow�d"
+msgstr "nieznany pow��d"
 
-#: builtin.c:134
+#: builtin.c:137
 msgid "exp: received non-numeric argument"
-msgstr "exp: otrzymano argument nie b�d�cy liczb�"
+msgstr "exp: otrzymano argument nie b��d��cy liczb��"
 
-#: builtin.c:140
+#: builtin.c:143
 #, c-format
 msgid "exp: argument %g is out of range"
-msgstr "exp: argument %g jest poza zasi�giem"
+msgstr "exp: argument %g jest poza zasi��giem"
 
-#: builtin.c:198
+#: builtin.c:201
 #, c-format
 msgid "fflush: cannot flush: pipe `%s' opened for reading, not writing"
 msgstr ""
-"fflush: nie mo�na opr��ni�: potok `%s' otwarty do czytania, a nie do zapisu"
+"fflush: nie mo��na opr����ni��: potok `%s' otwarty do czytania, a nie do zapisu"
 
-#: builtin.c:201
+#: builtin.c:204
 #, c-format
 msgid "fflush: cannot flush: file `%s' opened for reading, not writing"
 msgstr ""
-"fflush: nie mo�na opr��ni�: plik `%s' otwarty do czytania, a nie do zapisu"
+"fflush: nie mo��na opr����ni��: plik `%s' otwarty do czytania, a nie do zapisu"
 
-#: builtin.c:213
+#: builtin.c:216
 #, c-format
 msgid "fflush: `%s' is not an open file, pipe or co-process"
 msgstr "fflush: `%s' nie jest ani otwartym plikiem, ani potokiem, ani procesem"
 
-#: builtin.c:306
+#: builtin.c:310
 msgid "index: received non-string first argument"
-msgstr "index: otrzymano pierwszy argument, kt�ry nie jest �a�cuchem"
+msgstr "index: otrzymano pierwszy argument, kt��ry nie jest ��a��cuchem"
 
-#: builtin.c:308
+#: builtin.c:312
 msgid "index: received non-string second argument"
-msgstr "index: otrzymano drugi argument, kt�ry nie jest �a�cuchem"
+msgstr "index: otrzymano drugi argument, kt��ry nie jest ��a��cuchem"
 
-#: builtin.c:423
+#: builtin.c:434
 msgid "int: received non-numeric argument"
-msgstr "int: otrzymano argument, kt�ry nie jest liczb�"
+msgstr "int: otrzymano argument, kt��ry nie jest liczb��"
 
-#: builtin.c:448
+#: builtin.c:464
 msgid "`length(array)' is a gawk extension"
 msgstr "`length(tablica)' jest rozszerzeniem gawk"
 
-#: builtin.c:458
+#: builtin.c:473
+msgid "length: untyped argument will be forced to scalar"
+msgstr "length: argument bez okre��lonego typu zostanie uznany za skalar"
+
+#: builtin.c:477
 msgid "length: received non-string argument"
-msgstr "length: otrzymano argument, kt�ry nie jest �a�cuchem"
+msgstr "length: otrzymano argument, kt��ry nie jest ��a��cuchem"
 
-#: builtin.c:483
+#: builtin.c:508
 msgid "log: received non-numeric argument"
-msgstr "log: otrzymano argument, kt�ry nie jest liczb�"
+msgstr "log: otrzymano argument, kt��ry nie jest liczb��"
 
-#: builtin.c:486
+#: builtin.c:511
 #, c-format
 msgid "log: received negative argument %g"
 msgstr "log: otrzymano ujemny argument %g"
 
-#: builtin.c:693 builtin.c:696
+#: builtin.c:719 builtin.c:722
 msgid "must use `count$' on all formats or none"
-msgstr "nale�y u�y� `count$' we wszystkich formatach lub nic"
+msgstr "nale��y u��y�� `count$' we wszystkich formatach lub nic"
+
+#: builtin.c:783
+#, c-format
+msgid "field width is ignored for `%%%%' specifier"
+msgstr "szeroko���� pola jest ignorowana dla specyfikatora `%%%%'"
+
+#: builtin.c:785
+#, c-format
+msgid "precision is ignored for `%%%%' specifier"
+msgstr "precyzja jest ignorowana dla specyfikatora `%%%%'"
+
+#: builtin.c:787
+#, c-format
+msgid "field width and precision are ignored for `%%%%' specifier"
+msgstr "szeroko���� pola i precyzja s�� ignorowane dla specyfikatora `%%%%'"
 
-#: builtin.c:799
+#: builtin.c:838
 msgid "`$' is not permitted in awk formats"
 msgstr "`$' jest niedozwolony w formatach awk"
 
-#: builtin.c:805
+#: builtin.c:844
 msgid "arg count with `$' must be > 0"
-msgstr "argument count z `$' musi by� > 0"
+msgstr "argument count z `$' musi by�� > 0"
 
-#: builtin.c:807
+#: builtin.c:846
 #, c-format
 msgid "arg count %ld greater than total number of supplied arguments"
-msgstr "argument count %ld wi�kszy ni� ca�kowita suma argument�w dostarczonych"
+msgstr "argument count %ld wi��kszy ni�� ca��kowita suma argument��w dostarczonych"
 
-#: builtin.c:809
+#: builtin.c:848
 msgid "`$' not permitted after period in format"
 msgstr "`$' jest niedozwolony po kropce w formacie"
 
-#: builtin.c:822
+#: builtin.c:861
 msgid "no `$' supplied for positional field width or precision"
-msgstr "brak `$' dla pozycyjnej szeroko�ci pola lub precyzji"
+msgstr "brak `$' dla pozycyjnej szeroko��ci pola lub precyzji"
 
-#: builtin.c:888
+#: builtin.c:927
 msgid "`l' is meaningless in awk formats; ignored"
 msgstr "`l' jest bezsensowny w formatach awk; zignorowany"
 
-#: builtin.c:892
+#: builtin.c:931
 msgid "`l' is not permitted in POSIX awk formats"
 msgstr "`l' jest niedozwolony w formatach POSIX awk"
 
-#: builtin.c:903
+#: builtin.c:942
 msgid "`L' is meaningless in awk formats; ignored"
 msgstr "`L' jest bezsensowny w formatach awk; zignorowany"
 
-#: builtin.c:907
+#: builtin.c:946
 msgid "`L' is not permitted in POSIX awk formats"
 msgstr "`L' jest niedozwolony w formatach POSIX awk"
 
-#: builtin.c:918
+#: builtin.c:957
 msgid "`h' is meaningless in awk formats; ignored"
 msgstr "`h' jest bezsensowny w formatach awk; zignorowany"
 
-#: builtin.c:922
+#: builtin.c:961
 msgid "`h' is not permitted in POSIX awk formats"
 msgstr "`h' jest niedozwolony w formatach POSIX awk"
 
-#: builtin.c:1182
+#: builtin.c:1236
 #, c-format
 msgid "[s]printf: value %g is out of range for `%%%c' format"
-msgstr "[s]printf: warto�� %g jest poza zasi�giem dla formatu `%%%c'"
+msgstr "[s]printf: warto���� %g jest poza zasi��giem dla formatu `%%%c'"
+
+#: builtin.c:1316
+#, c-format
+msgid "ignoring unknown format specifier character `%c': no argument converted"
+msgstr ""
+"pomini��cie nieznanego formatu specyfikatora znaku `%c': nie skonwertowano "
+"argumentu"
 
-#: builtin.c:1266
+#: builtin.c:1322
 msgid "not enough arguments to satisfy format string"
 msgstr ""
-"brak wystarczaj�cej liczby argument�w, aby zaspokoi� �a�cuch formatuj�cy"
+"brak wystarczaj��cej liczby argument��w, aby zaspokoi�� ��a��cuch formatuj��cy"
 
-#: builtin.c:1268
+#: builtin.c:1324
 msgid "^ ran out for this one"
-msgstr "zabrak�o ^"
+msgstr "zabrak��o ^"
 
-#: builtin.c:1274
+#: builtin.c:1330
 msgid "[s]printf: format specifier does not have control letter"
 msgstr "[s]printf: specyfikator formatu nie posiada kontrolnej litery"
 
-#: builtin.c:1277
+#: builtin.c:1333
 msgid "too many arguments supplied for format string"
-msgstr "zbyt du�o podanych argument�w w �a�cuchu formatuj�cym"
+msgstr "zbyt du��o podanych argument��w w ��a��cuchu formatuj��cym"
 
-#: builtin.c:1352 builtin.c:1355
+#: builtin.c:1408 builtin.c:1411
 msgid "printf: no arguments"
-msgstr "printf: brak argument�w"
+msgstr "printf: brak argument��w"
 
-#: builtin.c:1379
+#: builtin.c:1435
 msgid "sqrt: received non-numeric argument"
-msgstr "sqrt: otrzymano argument, kt�ry nie jest liczb�"
+msgstr "sqrt: otrzymano argument, kt��ry nie jest liczb��"
 
-#: builtin.c:1383
+#: builtin.c:1439
 #, c-format
 msgid "sqrt: called with negative argument %g"
-msgstr "sqrt: wywo�ana z ujemnym argumentem %g"
+msgstr "sqrt: wywo��ana z ujemnym argumentem %g"
 
-#: builtin.c:1407
+#: builtin.c:1463
 #, c-format
 msgid "substr: start index %g is invalid, using 1"
-msgstr "substr: pocz�tkowy indeks %g jest nieprawid�owy, nast�pi u�ycie 1"
+msgstr "substr: pocz��tkowy indeks %g jest nieprawid��owy, nast��pi u��ycie 1"
 
-#: builtin.c:1412
+#: builtin.c:1468
 #, c-format
 msgid "substr: non-integer start index %g will be truncated"
 msgstr ""
-"substr: pocz�tkowy indeks %g, kt�ry nie jest liczb� ca�kowit�, zostanie "
-"obci�ty"
+"substr: pocz��tkowy indeks %g, kt��ry nie jest liczb�� ca��kowit��, zostanie "
+"obci��ty"
 
-#: builtin.c:1431
+#: builtin.c:1494
 #, c-format
 msgid "substr: length %g is not >= 1"
-msgstr "substr: d�ugo�� %g nie jest >= 1"
+msgstr "substr: d��ugo���� %g nie jest >= 1"
 
-#: builtin.c:1433
+#: builtin.c:1496
 #, c-format
 msgid "substr: length %g is not >= 0"
-msgstr "substr: d�ugo�� %g nie jest >= 0"
+msgstr "substr: d��ugo���� %g nie jest >= 0"
 
-#: builtin.c:1440
+#: builtin.c:1503
 #, c-format
 msgid "substr: non-integer length %g will be truncated"
-msgstr "substr: d�ugo�� %g, kt�ra nie jest liczb� ca�kowit�, zostanie obci�ta"
+msgstr "substr: d��ugo���� %g, kt��ra nie jest liczb�� ca��kowit��, zostanie obci��ta"
 
-#: builtin.c:1445
+#: builtin.c:1508
 #, c-format
 msgid "substr: length %g too big for string indexing, truncating to %g"
-msgstr "substr: d�ugo�� %g zbyt du�a dla indeksu �a�cucha, obcinanie do %g"
+msgstr "substr: d��ugo���� %g zbyt du��a dla indeksu ��a��cucha, obcinanie do %g"
 
-#: builtin.c:1457
+#: builtin.c:1520
 msgid "substr: source string is zero length"
-msgstr "substr: �a�cuch �r�d�owy ma zerow� d�ugo��"
+msgstr "substr: ��a��cuch ��r��d��owy ma zerow�� d��ugo����"
 
-#: builtin.c:1473
+#: builtin.c:1536
 #, c-format
 msgid "substr: start index %g is past end of string"
-msgstr "substr: pocz�tkowy indeks %g le�y poza ko�cem �a�cucha"
+msgstr "substr: pocz��tkowy indeks %g le��y poza ko��cem ��a��cucha"
 
-#: builtin.c:1481
+#: builtin.c:1544
 #, c-format
 msgid ""
 "substr: length %g at start index %g exceeds length of first argument (%lu)"
 msgstr ""
-"substr: d�ugo�� %g zaczynaj�c od %g przekracza d�ugo�� pierwszego argumentu "
+"substr: d��ugo���� %g zaczynaj��c od %g przekracza d��ugo���� pierwszego argumentu "
 "(%lu)"
 
-#: builtin.c:1558
+#: builtin.c:1621
 msgid "strftime: received non-string first argument"
-msgstr "strftime: otrzymano pierwszy argument, kt�ry nie jest �a�cuchem"
+msgstr "strftime: otrzymano pierwszy argument, kt��ry nie jest ��a��cuchem"
 
-#: builtin.c:1564
+#: builtin.c:1627
 msgid "strftime: received empty format string"
-msgstr "strftime: otrzymano pusty �a�cuch formatuj�cy"
+msgstr "strftime: otrzymano pusty ��a��cuch formatuj��cy"
 
-#: builtin.c:1573
+#: builtin.c:1636
 msgid "strftime: received non-numeric second argument"
-msgstr "strftime: otrzymano drugi argument, kt�ry nie jest liczb�"
+msgstr "strftime: otrzymano drugi argument, kt��ry nie jest liczb��"
 
-#: builtin.c:1650
+#: builtin.c:1713
 msgid "mktime: received non-string argument"
-msgstr "mktime: otrzymano argument, kt�ry nie jest �a�cuchem"
+msgstr "mktime: otrzymano argument, kt��ry nie jest ��a��cuchem"
 
-#: builtin.c:1695
+#: builtin.c:1758
 msgid "system: received non-string argument"
-msgstr "system: otrzymano argument, kt�ry nie jest �a�cuchem"
+msgstr "system: otrzymano argument, kt��ry nie jest ��a��cuchem"
 
-#: builtin.c:1816 eval.c:2041
+#: builtin.c:1879 eval.c:2145
 #, c-format
 msgid "reference to uninitialized field `$%d'"
-msgstr "odwo�anie do niezainicjowanego pola `$%d'"
+msgstr "odwo��anie do niezainicjowanego pola `$%d'"
 
-#: builtin.c:1921
+#: builtin.c:1984
 msgid "tolower: received non-string argument"
-msgstr "tolower: otrzymano argument, kt�ry nie jest �a�cuchem"
+msgstr "tolower: otrzymano argument, kt��ry nie jest ��a��cuchem"
 
-#: builtin.c:1951
+#: builtin.c:2014
 msgid "toupper: received non-string argument"
-msgstr "toupper: otrzymano argument, kt�ry nie jest �a�cuchem"
+msgstr "toupper: otrzymano argument, kt��ry nie jest ��a��cuchem"
 
-#: builtin.c:1984
+#: builtin.c:2047
 msgid "atan2: received non-numeric first argument"
-msgstr "atan2: otrzymano pierwszy argument, kt�ry nie jest liczb�"
+msgstr "atan2: otrzymano pierwszy argument, kt��ry nie jest liczb��"
 
-#: builtin.c:1986
+#: builtin.c:2049
 msgid "atan2: received non-numeric second argument"
-msgstr "atan2: otrzymano drugi argument, kt�ry nie jest liczb�"
+msgstr "atan2: otrzymano drugi argument, kt��ry nie jest liczb��"
 
-#: builtin.c:2005
+#: builtin.c:2068
 msgid "sin: received non-numeric argument"
-msgstr "sin: otrzymano argument, kt�ry nie jest liczb�"
+msgstr "sin: otrzymano argument, kt��ry nie jest liczb��"
 
-#: builtin.c:2021
+#: builtin.c:2084
 msgid "cos: received non-numeric argument"
-msgstr "cos: otrzymano argument, kt�ry nie jest liczb�"
+msgstr "cos: otrzymano argument, kt��ry nie jest liczb��"
 
-#: builtin.c:2071
+#: builtin.c:2137
 msgid "srand: received non-numeric argument"
-msgstr "srand: otrzymano argument, kt�ry nie jest liczb�"
+msgstr "srand: otrzymano argument, kt��ry nie jest liczb��"
 
-#: builtin.c:2106
+#: builtin.c:2172
 msgid "match: third argument is not an array"
-msgstr "match: otrzymano trzeci argument, kt�ry nie jest tablic�"
+msgstr "match: otrzymano trzeci argument, kt��ry nie jest tablic��"
 
-#: builtin.c:2650
+#: builtin.c:2719
 msgid "gensub: third argument of 0 treated as 1"
 msgstr "gensub: trzeci argument 0 potraktowany jako 1"
 
-#: builtin.c:2766
+#: builtin.c:2835
 msgid "lshift: received non-numeric first argument"
-msgstr "lshift: otrzymano pierwszy argument, kt�ry nie jest liczb�"
+msgstr "lshift: otrzymano pierwszy argument, kt��ry nie jest liczb��"
 
-#: builtin.c:2768
+#: builtin.c:2837
 msgid "lshift: received non-numeric second argument"
-msgstr "lshift: otrzymano drugi argument, kt�ry nie jest liczb�"
+msgstr "lshift: otrzymano drugi argument, kt��ry nie jest liczb��"
 
-#: builtin.c:2774
+#: builtin.c:2843
 #, c-format
 msgid "lshift(%lf, %lf): negative values will give strange results"
-msgstr "lshift(%lf, %lf): ujemne warto�ci spowoduj� dziwne wyniki"
+msgstr "lshift(%lf, %lf): ujemne warto��ci spowoduj�� dziwne wyniki"
 
-#: builtin.c:2776
+#: builtin.c:2845
 #, c-format
 msgid "lshift(%lf, %lf): fractional values will be truncated"
-msgstr "lshift(%lf, %lf): u�amkowe warto�ci zostan� obci�te"
+msgstr "lshift(%lf, %lf): u��amkowe warto��ci zostan�� obci��te"
 
-#: builtin.c:2778
+#: builtin.c:2847
 #, c-format
 msgid "lshift(%lf, %lf): too large shift value will give strange results"
 msgstr ""
-"lshift(%lf, %lf): zbyt du�a warto�� przesuni�cia spowoduje dziwne wyniki"
+"lshift(%lf, %lf): zbyt du��a warto���� przesuni��cia spowoduje dziwne wyniki"
 
-#: builtin.c:2804
+#: builtin.c:2873
 msgid "rshift: received non-numeric first argument"
-msgstr "rshift: otrzymano pierwszy argument, kt�ry nie jest liczb�"
+msgstr "rshift: otrzymano pierwszy argument, kt��ry nie jest liczb��"
 
-#: builtin.c:2806
+#: builtin.c:2875
 msgid "rshift: received non-numeric second argument"
-msgstr "rshift: otrzymano drugi argument, kt�ry nie jest liczb�"
+msgstr "rshift: otrzymano drugi argument, kt��ry nie jest liczb��"
 
-#: builtin.c:2812
+#: builtin.c:2881
 #, c-format
 msgid "rshift(%lf, %lf): negative values will give strange results"
-msgstr "rshift(%lf, %lf): ujemne warto�ci spowoduj� dziwne wyniki"
+msgstr "rshift(%lf, %lf): ujemne warto��ci spowoduj�� dziwne wyniki"
 
-#: builtin.c:2814
+#: builtin.c:2883
 #, c-format
 msgid "rshift(%lf, %lf): fractional values will be truncated"
-msgstr "rshift(%lf, %lf): u�amkowe warto�ci zostan� obci�te"
+msgstr "rshift(%lf, %lf): u��amkowe warto��ci zostan�� obci��te"
 
-#: builtin.c:2816
+#: builtin.c:2885
 #, c-format
 msgid "rshift(%lf, %lf): too large shift value will give strange results"
 msgstr ""
-"rshift(%lf, %lf): zbyt du�a warto�� przesuni�cia spowoduje dziwne wyniki"
+"rshift(%lf, %lf): zbyt du��a warto���� przesuni��cia spowoduje dziwne wyniki"
 
-#: builtin.c:2842
+#: builtin.c:2911
 msgid "and: received non-numeric first argument"
-msgstr "and: otrzymano pierwszy argument, kt�ry nie jest liczb�"
+msgstr "and: otrzymano pierwszy argument, kt��ry nie jest liczb��"
 
-#: builtin.c:2844
+#: builtin.c:2913
 msgid "and: received non-numeric second argument"
-msgstr "and: otrzymano drugi argument, kt�ry nie jest liczb�"
+msgstr "and: otrzymano drugi argument, kt��ry nie jest liczb��"
 
-#: builtin.c:2850
+#: builtin.c:2919
 #, c-format
 msgid "and(%lf, %lf): negative values will give strange results"
-msgstr "and(%lf, %lf): ujemne warto�ci spowoduj� dziwne wyniki"
+msgstr "and(%lf, %lf): ujemne warto��ci spowoduj�� dziwne wyniki"
 
-#: builtin.c:2852
+#: builtin.c:2921
 #, c-format
 msgid "and(%lf, %lf): fractional values will be truncated"
-msgstr "and(%lf, %lf): u�amkowe warto�ci zostan� obci�te"
+msgstr "and(%lf, %lf): u��amkowe warto��ci zostan�� obci��te"
 
-#: builtin.c:2878
+#: builtin.c:2947
 msgid "or: received non-numeric first argument"
-msgstr "or: otrzymano pierwszy argument, kt�ry nie jest liczb�"
+msgstr "or: otrzymano pierwszy argument, kt��ry nie jest liczb��"
 
-#: builtin.c:2880
+#: builtin.c:2949
 msgid "or: received non-numeric second argument"
-msgstr "or: otrzymano drugi argument, kt�ry nie jest liczb�"
+msgstr "or: otrzymano drugi argument, kt��ry nie jest liczb��"
 
-#: builtin.c:2886
+#: builtin.c:2955
 #, c-format
 msgid "or(%lf, %lf): negative values will give strange results"
-msgstr "or(%lf, %lf): ujemne warto�ci spowoduj� dziwne wyniki"
+msgstr "or(%lf, %lf): ujemne warto��ci spowoduj�� dziwne wyniki"
 
-#: builtin.c:2888
+#: builtin.c:2957
 #, c-format
 msgid "or(%lf, %lf): fractional values will be truncated"
-msgstr "or(%lf, %lf): u�amkowe warto�ci zostan� obci�te"
+msgstr "or(%lf, %lf): u��amkowe warto��ci zostan�� obci��te"
 
-#: builtin.c:2914
+#: builtin.c:2983
 msgid "xor: received non-numeric first argument"
-msgstr "xor: otrzymano pierwszy argument, kt�ry nie jest liczb�"
+msgstr "xor: otrzymano pierwszy argument, kt��ry nie jest liczb��"
 
-#: builtin.c:2916
+#: builtin.c:2985
 msgid "xor: received non-numeric second argument"
-msgstr "xor: otrzymano drugi argument, kt�ry nie jest liczb�"
+msgstr "xor: otrzymano drugi argument, kt��ry nie jest liczb��"
 
-#: builtin.c:2922
+#: builtin.c:2991
 #, c-format
 msgid "xor(%lf, %lf): negative values will give strange results"
-msgstr "xor(%lf, %lf): ujemne warto�ci spowoduj� dziwne wyniki"
+msgstr "xor(%lf, %lf): ujemne warto��ci spowoduj�� dziwne wyniki"
 
-#: builtin.c:2924
+#: builtin.c:2993
 #, c-format
 msgid "xor(%lf, %lf): fractional values will be truncated"
-msgstr "xor(%lf, %lf): u�amkowe warto�ci zostan� obci�te"
+msgstr "xor(%lf, %lf): u��amkowe warto��ci zostan�� obci��te"
 
-#: builtin.c:2948
+#: builtin.c:3017
 msgid "compl: received non-numeric argument"
-msgstr "compl: otrzymano argument, kt�ry nie jest liczb�"
+msgstr "compl: otrzymano argument, kt��ry nie jest liczb��"
 
-#: builtin.c:2954
+#: builtin.c:3023
 #, c-format
 msgid "compl(%lf): negative value will give strange results"
-msgstr "compl(%lf): ujemne warto�ci spowoduj� dziwne wyniki"
+msgstr "compl(%lf): ujemne warto��ci spowoduj�� dziwne wyniki"
 
-#: builtin.c:2956
+#: builtin.c:3025
 #, c-format
 msgid "compl(%lf): fractional value will be truncated"
-msgstr "compl(%lf): u�amkowe warto�ci zostan� obci�te"
+msgstr "compl(%lf): u��amkowe warto��ci zostan�� obci��te"
 
-#: builtin.c:3129
+#: builtin.c:3198
 #, c-format
 msgid "dcgettext: `%s' is not a valid locale category"
-msgstr "dcgettext: `%s' nie jest prawid�ow� kategori� lokalizacji"
+msgstr "dcgettext: `%s' nie jest prawid��ow�� kategori�� lokalizacji"
 
-#: eval.c:303
+#: eval.c:372
 #, c-format
 msgid "unknown nodetype %d"
-msgstr "nieznany typ w�z�a %d"
+msgstr "nieznany typ w��z��a %d"
 
-#: eval.c:353
+#: eval.c:422
 msgid "buffer overflow in genflags2str"
-msgstr "przepe�nienie bufora w genflags2str"
+msgstr "przepe��nienie bufora w genflags2str"
 
-#: eval.c:385 eval.c:391 profile.c:817
+#: eval.c:454 eval.c:460 profile.c:781
 #, c-format
 msgid "attempt to use array `%s' in a scalar context"
-msgstr "pr�ba u�ycia tablicy `%s' w kontek�cie skalaru"
+msgstr "pr��ba u��ycia tablicy `%s' w kontek��cie skalaru"
 
-#: eval.c:733
+#: eval.c:802
 #, c-format
 msgid "for loop: array `%s' changed size from %ld to %ld during loop execution"
 msgstr ""
-"p�tla for: tablica `%s' zmieni�a rozmiar z %ld do %ld podczas wykonywania "
-"p�tli"
+"p��tla for: tablica `%s' zmieni��a rozmiar z %ld do %ld podczas wykonywania "
+"p��tli"
 
-#: eval.c:754
+#: eval.c:823
 msgid "`break' outside a loop is not portable"
-msgstr "instrukcja `break' poza p�tl� jest nieprzeno�na"
+msgstr "instrukcja `break' poza p��tl�� jest nieprzeno��na"
 
-#: eval.c:758
+#: eval.c:827
 msgid "`break' outside a loop is not allowed"
-msgstr "instrukcja `break' poza p�tl� jest niedozwolona"
+msgstr "instrukcja `break' poza p��tl�� jest niedozwolona"
 
-#: eval.c:775
+#: eval.c:844
 msgid "`continue' outside a loop is not portable"
-msgstr "instrukcja `continue' poza p�tl� jest nieprzeno�na"
+msgstr "instrukcja `continue' poza p��tl�� jest nieprzeno��na"
 
-#: eval.c:779
+#: eval.c:848
 msgid "`continue' outside a loop is not allowed"
-msgstr "instrukcja `continue' poza p�tl� jest niedozwolona"
+msgstr "instrukcja `continue' poza p��tl�� jest niedozwolona"
 
-#: eval.c:813
+#: eval.c:882
 msgid "`next' cannot be called from a BEGIN rule"
-msgstr "instrukcja `next' nie mo�e by� wywo�ana z wn�trza regu�y BEGIN"
+msgstr "instrukcja `next' nie mo��e by�� wywo��ana z wn��trza regu��y BEGIN"
 
-#: eval.c:815
+#: eval.c:884
 msgid "`next' cannot be called from an END rule"
-msgstr "instrukcja `next' nie mo�e by� wywo�ana z wn�trza regu�y END"
+msgstr "instrukcja `next' nie mo��e by�� wywo��ana z wn��trza regu��y END"
 
-#: eval.c:824
+#: eval.c:893
 msgid "`nextfile' cannot be called from a BEGIN rule"
-msgstr "instrukcja `nextfile' nie mo�e by� wywo�ana z wn�trza regu�y BEGIN"
+msgstr "instrukcja `nextfile' nie mo��e by�� wywo��ana z wn��trza regu��y BEGIN"
 
-#: eval.c:826
+#: eval.c:895
 msgid "`nextfile' cannot be called from an END rule"
-msgstr "instrukcja `nextfile' nie mo�e by� wywo�ana z wn�trza regu�y END"
+msgstr "instrukcja `nextfile' nie mo��e by�� wywo��ana z wn��trza regu��y END"
 
-#: eval.c:875
+#: eval.c:952
 msgid "statement has no effect"
-msgstr "instrukcja nie ma �adnego efektu"
+msgstr "instrukcja nie ma ��adnego efektu"
 
-#: eval.c:952 eval.c:1895
+#: eval.c:1029 eval.c:1999
 #, c-format
 msgid "can't use function name `%s' as variable or array"
-msgstr "nie mo�na u�y� nazwy funkcji `%s' jako zmiennej lub tablicy"
+msgstr "nie mo��na u��y�� nazwy funkcji `%s' jako zmiennej lub tablicy"
 
-#: eval.c:959 eval.c:965
+#: eval.c:1036 eval.c:1042
 #, c-format
 msgid "reference to uninitialized argument `%s'"
-msgstr "odwo�anie do niezainicjowanego argumentu `%s'"
+msgstr "odwo��anie do niezainicjowanego argumentu `%s'"
 
-#: eval.c:974 eval.c:1904
+#: eval.c:1051 eval.c:2008
 #, c-format
 msgid "reference to uninitialized variable `%s'"
-msgstr "odwo�anie do niezainicjowanej zmiennej `%s'"
+msgstr "odwo��anie do niezainicjowanej zmiennej `%s'"
 
-#: eval.c:1120
+#: eval.c:1197
 msgid ""
 "concatenation: side effects in one expression have changed the length of "
 "another!"
 msgstr ""
-"konkatenacja: skutki uboczne w jednym wyra�eniu spowodowa�y zmian� d�ugo�ci "
-"innego wyra�enia!"
+"konkatenacja: skutki uboczne w jednym wyra��eniu spowodowa��y zmian�� d��ugo��ci "
+"innego wyra��enia!"
 
-#: eval.c:1202
+#: eval.c:1301
 msgid "assignment used in conditional context"
-msgstr "przypisanie u�yte w kontek�cie warunkowym"
+msgstr "przypisanie u��yte w kontek��cie warunkowym"
 
-#: eval.c:1280
+#: eval.c:1379
 msgid "division by zero attempted"
-msgstr "pr�ba dzielenia przez zero"
-
-#: eval.c:1295
-#, c-format
-msgid "division by zero attempted in `%%'"
-msgstr "pr�ba dzielenia przez zero w `%%'"
+msgstr "pr��ba dzielenia przez zero"
 
-#: eval.c:1310 profile.c:693
+#: eval.c:1409 profile.c:657
 #, c-format
 msgid "illegal type (%s) in tree_eval"
-msgstr "nieprawid�owy typ (%s) w tree_eval"
+msgstr "nieprawid��owy typ (%s) w tree_eval"
 
-#: eval.c:1473
+#: eval.c:1572
 msgid "division by zero attempted in `/='"
-msgstr "pr�ba dzielenia przez zero w `/='"
+msgstr "pr��ba dzielenia przez zero w `/='"
 
-#: eval.c:1495
+#: eval.c:1594
 #, c-format
 msgid "division by zero attempted in `%%='"
-msgstr "pr�ba dzielenia przez zero w `%%='"
+msgstr "pr��ba dzielenia przez zero w `%%='"
 
-#: eval.c:1760
+#: eval.c:1859
 #, c-format
 msgid "function `%s' called with more arguments than declared"
 msgstr ""
-"funkcja `%s' zosta�a wywo�ana z wi�ksz� ilo�ci� argument�w ni� zosta�o to "
+"funkcja `%s' zosta��a wywo��ana z wi��ksz�� ilo��ci�� argument��w ni�� zosta��o to "
 "zadeklarowane"
 
-#: eval.c:1804
+#: eval.c:1904
 #, c-format
 msgid "function `%s' not defined"
-msgstr "funkcja `%s' nie zosta�a zdefiniowana"
+msgstr "funkcja `%s' nie zosta��a zdefiniowana"
 
-#: eval.c:1867
+#: eval.c:1971
 #, c-format
 msgid ""
 "\n"
@@ -920,47 +954,52 @@
 "\n"
 msgstr ""
 "\n"
-"\t# Stos Wywo�awczy Funkcji:\n"
+"\t# Stos Wywo��awczy Funkcji:\n"
 "\n"
 
-#: eval.c:1870
+#: eval.c:1974
 #, c-format
 msgid "\t# -- main --\n"
-msgstr "\t# -- g��wne --\n"
+msgstr "\t# -- g����wne --\n"
 
-#: eval.c:2025
+#: eval.c:2129
 msgid "attempt to field reference from non-numeric value"
-msgstr "pr�ba odwo�ania do pola poprzez nienumeryczn� warto��"
+msgstr "pr��ba odwo��ania do pola poprzez nienumeryczn�� warto����"
 
-#: eval.c:2027
+#: eval.c:2131
 msgid "attempt to reference from null string"
-msgstr "pr�ba odwo�ania z zerowego �a�cucha"
+msgstr "pr��ba odwo��ania z zerowego ��a��cucha"
 
-#: eval.c:2033
+#: eval.c:2137
 #, c-format
 msgid "attempt to access field %d"
-msgstr "pr�ba dost�pu do pola %d"
+msgstr "pr��ba dost��pu do pola %d"
 
-#: eval.c:2054 eval.c:2061 profile.c:914
+#: eval.c:2158 eval.c:2165 profile.c:836
 msgid "assignment is not allowed to result of builtin function"
 msgstr "przypisanie do wyniku wbudowanej funkcji nie jest dozwolone"
 
-#: eval.c:2125
+#: eval.c:2229
 msgid "`IGNORECASE' is a gawk extension"
 msgstr "`IGNORECASE' jest rozszerzeniem gawk"
 
-#: eval.c:2155
+#: eval.c:2258
 msgid "`BINMODE' is a gawk extension"
 msgstr "`BINMODE' jest rozszerzeniem gawk"
 
-#: eval.c:2277
+#: eval.c:2316
+#, c-format
+msgid "BINMODE value `%s' is invalid, treated as 3"
+msgstr "warto���� BINMODE `%s' jest nieprawid��owa, przyj��to j�� jako 3"
+
+#: eval.c:2406
 #, c-format
 msgid "bad `%sFMT' specification `%s'"
-msgstr "z�a specyfikacja `%sFMT' `%s'"
+msgstr "z��a specyfikacja `%sFMT' `%s'"
 
-#: eval.c:2355
+#: eval.c:2484
 msgid "turning off `--lint' due to assignment to `LINT'"
-msgstr "wy��czenie `--lint' z powodu przypisania do `LINT'"
+msgstr "wy����czenie `--lint' z powodu przypisania do `LINT'"
 
 #: ext.c:62 ext.c:67
 msgid "`extension' is a gawk extension"
@@ -969,46 +1008,46 @@
 #: ext.c:77
 #, c-format
 msgid "extension: cannot open `%s' (%s)\n"
-msgstr "rozszerzenie: nie mo�na otworzy� `%s' (%s)\n"
+msgstr "rozszerzenie: nie mo��na otworzy�� `%s' (%s)\n"
 
 #: ext.c:85
 #, c-format
 msgid "extension: library `%s': cannot call function `%s' (%s)\n"
-msgstr "rozszerzenie: biblioteka `%s': nie mo�na wywo�a� funkcji `%s' (%s)\n"
+msgstr "rozszerzenie: biblioteka `%s': nie mo��na wywo��a�� funkcji `%s' (%s)\n"
 
 #: ext.c:105
 msgid "extension: missing function name"
-msgstr "rozszerzenie: brakuj�ca nazwa funkcji"
+msgstr "rozszerzenie: brakuj��ca nazwa funkcji"
 
 #: ext.c:110
 #, c-format
 msgid "extension: illegal character `%c' in function name `%s'"
-msgstr "rozszerzenie: nieprawid�owy znak `%c' w nazwie funkcji `%s'"
+msgstr "rozszerzenie: nieprawid��owy znak `%c' w nazwie funkcji `%s'"
 
 #: ext.c:116
 #, c-format
 msgid "extension: can't redefine function `%s'"
-msgstr "rozszerzenie: nie mo�na zredefiniowa� funkcji `%s'"
+msgstr "rozszerzenie: nie mo��na zredefiniowa�� funkcji `%s'"
 
 #: ext.c:120
 #, c-format
 msgid "extension: function `%s' already defined"
-msgstr "rozserzenie: funkcja `%s' zosta�a ju� zdefiniowana"
+msgstr "rozserzenie: funkcja `%s' zosta��a ju�� zdefiniowana"
 
 #: ext.c:125
 #, c-format
 msgid "extension: can't use gawk built-in `%s' as function name"
-msgstr "rozszerzenie: nie mo�na u�y� wbudowanej w gawk `%s' jako nazwy funkcji"
+msgstr "rozszerzenie: nie mo��na u��y�� wbudowanej w gawk `%s' jako nazwy funkcji"
 
 #: ext.c:127
 #, c-format
 msgid "extension: function name `%s' previously defined"
-msgstr "rozserzenie: nazwa funkcji `%s' zosta�a zdefiniowana wcze�niej"
+msgstr "rozserzenie: nazwa funkcji `%s' zosta��a zdefiniowana wcze��niej"
 
 #: ext.c:204
 #, c-format
 msgid "function `%s' defined to take no more than %d argument(s)"
-msgstr "funkcja `%s' zdefiniowana aby pobra� nie wi�cej ni� %d argument(�w)"
+msgstr "funkcja `%s' zdefiniowana aby pobra�� nie wi��cej ni�� %d argument(��w)"
 
 #: ext.c:207
 #, c-format
@@ -1018,12 +1057,12 @@
 #: ext.c:217
 #, c-format
 msgid "function `%s': argument #%d: attempt to use scalar as an array"
-msgstr "funkcja `%s': argument #%d: pr�ba u�ycia skalaru jako tablicy"
+msgstr "funkcja `%s': argument #%d: pr��ba u��ycia skalaru jako tablicy"
 
 #: ext.c:221
 #, c-format
 msgid "function `%s': argument #%d: attempt to use array as a scalar"
-msgstr "funkcja `%s': argument #%d: pr�ba u�ycia tablicy jako skalaru"
+msgstr "funkcja `%s': argument #%d: pr��ba u��ycia tablicy jako skalaru"
 
 #: ext.c:246
 msgid "Operation Not Supported"
@@ -1031,573 +1070,581 @@
 
 #: field.c:330
 msgid "NF set to negative value"
-msgstr "NF ustawiony na warto�� ujemn�"
+msgstr "NF ustawiony na warto���� ujemn��"
 
-#: field.c:823
+#: field.c:875
 msgid "split: second argument is not an array"
-msgstr "split: drugi argument nie jest tablic�"
+msgstr "split: drugi argument nie jest tablic��"
 
-#: field.c:857
+#: field.c:909
 msgid "split: null string for third arg is a gawk extension"
-msgstr "split: zerowy �a�cuch dla trzeciego argumentu jest rozszerzeniem gawk"
+msgstr "split: zerowy ��a��cuch dla trzeciego argumentu jest rozszerzeniem gawk"
 
-#: field.c:909
+#: field.c:961
 msgid "`FIELDWIDTHS' is a gawk extension"
 msgstr "`FIELDWIDTHS' jest rozszerzeniem gawk"
 
-#: field.c:939 field.c:953
+#: field.c:991 field.c:1005
 #, c-format
 msgid "invalid FIELDWIDTHS value, near `%s'"
-msgstr "nieprawid�owa warto�� FIELDWIDTHS, w pobli�u `%s'"
+msgstr "nieprawid��owa warto���� FIELDWIDTHS, w pobli��u `%s'"
 
-#: field.c:1036
+#: field.c:1088
 msgid "null string for `FS' is a gawk extension"
-msgstr "zerowy �a�cuch dla `FS' jest rozszerzeniem gawk"
+msgstr "zerowy ��a��cuch dla `FS' jest rozszerzeniem gawk"
 
-#: field.c:1040
+#: field.c:1092
 msgid "old awk does not support regexps as value of `FS'"
-msgstr "stary awk nie wspiera wyra�e� regularnych jako warto�ci `FS'"
-
-#: getopt.c:571 getopt.c:587
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
-msgstr "%s: opcja `%s' jest niejednoznaczna\n"
+msgstr "stary awk nie wspiera wyra��e�� regularnych jako warto��ci `FS'"
 
-#: getopt.c:620 getopt.c:624
+#: getopt.c:570 getopt.c:586
 #, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
-msgstr "%s: opcja `--%s' nie mo�e mie� argument�w\n"
+msgid "%s: option '%s' is ambiguous\n"
+msgstr "%s: opcja '%s' jest niejednoznaczna\n"
 
-#: getopt.c:633 getopt.c:638
+#: getopt.c:619 getopt.c:623
 #, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
-msgstr "%s: opcja `%c%s' nie mo�e mie� argument�w\n"
+msgid "%s: option '--%s' doesn't allow an argument\n"
+msgstr "%s: opcja '--%s' nie mo��e mie�� argument��w\n"
 
-#: getopt.c:681 getopt.c:700 getopt.c:1016 getopt.c:1035
+#: getopt.c:632 getopt.c:637
 #, c-format
-msgid "%s: option `%s' requires an argument\n"
-msgstr "%s: opcja `%s' musi mie� argument\n"
+msgid "%s: option '%c%s' doesn't allow an argument\n"
+msgstr "%s: opcja '%c%s' nie mo��e mie�� argument��w\n"
 
-#: getopt.c:738 getopt.c:741
+#: getopt.c:680 getopt.c:699 getopt.c:1002 getopt.c:1021
 #, c-format
-msgid "%s: unrecognized option `--%s'\n"
-msgstr "%s: nieznana opcja `--%s'\n"
+msgid "%s: option '%s' requires an argument\n"
+msgstr "%s: opcja '%s' wymaga argumentu\n"
 
-#: getopt.c:749 getopt.c:752
+#: getopt.c:737 getopt.c:740
 #, c-format
-msgid "%s: unrecognized option `%c%s'\n"
-msgstr "%s: nieznana opcja `%c%s'\n"
+msgid "%s: unrecognized option '--%s'\n"
+msgstr "%s: nieznana opcja '--%s'\n"
 
-#: getopt.c:804 getopt.c:807
+#: getopt.c:748 getopt.c:751
 #, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: niew�a�ciwa opcja -- %c\n"
+msgid "%s: unrecognized option '%c%s'\n"
+msgstr "%s: nieznana opcja '%c%s'\n"
 
-#: getopt.c:813 getopt.c:816
+#: getopt.c:800 getopt.c:803
 #, c-format
-msgid "%s: invalid option -- %c\n"
-msgstr "%s: b��dna opcja -- %c\n"
+msgid "%s: invalid option -- '%c'\n"
+msgstr "%s: b����dna opcja -- '%c'\n"
 
-#: getopt.c:868 getopt.c:884 getopt.c:1088 getopt.c:1106 main.c:461
+#: getopt.c:853 getopt.c:870 getopt.c:1073 getopt.c:1091
 #, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: opcja musi mie� argument -- %c\n"
+msgid "%s: option requires an argument -- '%c'\n"
+msgstr "%s: opcja wymaga argumentu -- '%c'\n"
 
-#: getopt.c:937 getopt.c:953
+#: getopt.c:923 getopt.c:939
 #, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
-msgstr "%s: opcja `-W %s' jest niejednoznaczna\n"
+msgid "%s: option '-W %s' is ambiguous\n"
+msgstr "%s: opcja '-W %s' jest niejednoznaczna\n"
 
-#: getopt.c:977 getopt.c:995
+#: getopt.c:963 getopt.c:981
 #, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
-msgstr "%s: opcja `-W %s' nie mo�e mie� argument�w\n"
+msgid "%s: option '-W %s' doesn't allow an argument\n"
+msgstr "%s: opcja '-W %s' nie mo��e mie�� argument��w\n"
 
-#: io.c:345
+#: io.c:322 io.c:352
 #, c-format
 msgid "cannot open file `%s' for reading (%s)"
-msgstr "nie mo�na otworzy� pliku `%s' do czytania (%s)"
+msgstr "nie mo��na otworzy�� pliku `%s' do czytania (%s)"
 
-#: io.c:436
+#: io.c:443
 #, c-format
 msgid "close of fd %d (`%s') failed (%s)"
-msgstr "zamkni�cie fd %d (`%s') nie powiod�o si� (%s)"
+msgstr "zamkni��cie fd %d (`%s') nie powiod��o si�� (%s)"
 
-#: io.c:575
+#: io.c:583
 #, c-format
 msgid "invalid tree type %s in redirect()"
-msgstr "nieprawid�owy typ drzewa %s w funkcji redirect()"
+msgstr "nieprawid��owy typ drzewa %s w funkcji redirect()"
 
-#: io.c:581
+#: io.c:589
 #, c-format
 msgid "expression in `%s' redirection only has numeric value"
-msgstr "wyra�enie w przekierowaniu `%s' ma tylko warto�� numeryczn�"
+msgstr "wyra��enie w przekierowaniu `%s' ma tylko warto���� numeryczn��"
 
-#: io.c:587
+#: io.c:595
 #, c-format
 msgid "expression for `%s' redirection has null string value"
-msgstr "wyra�enie dla przekierowania `%s' ma zerow� warto�� �a�cucha"
+msgstr "wyra��enie dla przekierowania `%s' ma zerow�� warto���� ��a��cucha"
 
-#: io.c:592
+#: io.c:600
 #, c-format
 msgid "filename `%s' for `%s' redirection may be result of logical expression"
 msgstr ""
-"nazwa pliku `%s' dla przekierowania `%s' mo�e by� rezultatem logicznego "
-"wyra�enia"
+"nazwa pliku `%s' dla przekierowania `%s' mo��e by�� rezultatem logicznego "
+"wyra��enia"
 
-#: io.c:630
+#: io.c:638
 #, c-format
 msgid "unnecessary mixing of `>' and `>>' for file `%.*s'"
 msgstr "niepotrzebne mieszanie `>' i `>>' dla pliku `%.*s'"
 
-#: io.c:682
+#: io.c:685
 #, c-format
 msgid "can't open pipe `%s' for output (%s)"
-msgstr "nie mo�na otworzy� potoku `%s' jako wyj�cia (%s)"
+msgstr "nie mo��na otworzy�� potoku `%s' jako wyj��cia (%s)"
 
-#: io.c:691
+#: io.c:694
 #, c-format
 msgid "can't open pipe `%s' for input (%s)"
-msgstr "nie mo�na otworzy� potoku `%s' jako wej�cia (%s)"
+msgstr "nie mo��na otworzy�� potoku `%s' jako wej��cia (%s)"
 
-#: io.c:698 io.c:1448
-#, c-format
-msgid "file `%s' is a directory"
-msgstr "plik `%s' jest katalogiem"
-
-#: io.c:706
+#: io.c:712
 #, c-format
 msgid "can't open two way socket `%s' for input/output (%s)"
 msgstr ""
-"nie mo�na otworzy� dwukierunkowego gniazda `%s' jako wej�cia/wyj�cia (%s)"
+"nie mo��na otworzy�� dwukierunkowego gniazda `%s' jako wej��cia/wyj��cia (%s)"
 
-#: io.c:710
+#: io.c:716
 #, c-format
 msgid "can't open two way pipe `%s' for input/output (%s)"
 msgstr ""
-"nie mo�na otworzy� dwukierunkowego potoku `%s' jako wej�cia/wyj�cia (%s)"
+"nie mo��na otworzy�� dwukierunkowego potoku `%s' jako wej��cia/wyj��cia (%s)"
 
-#: io.c:786
+#: io.c:793
 #, c-format
 msgid "can't redirect from `%s' (%s)"
-msgstr "nie mo�na przekierowa� z `%s' (%s)"
+msgstr "nie mo��na przekierowa�� z `%s' (%s)"
 
-#: io.c:789
+#: io.c:796
 #, c-format
 msgid "can't redirect to `%s' (%s)"
-msgstr "nie mo�na przekierowa� do `%s' (%s)"
+msgstr "nie mo��na przekierowa�� do `%s' (%s)"
 
-#: io.c:828
+#: io.c:849
 msgid ""
 "reached system limit for open files: starting to multiplex file descriptors"
 msgstr ""
-"osi�gni�to systemowy limit otwartych plik�w: rozpocz�cie multipleksowania "
-"deskryptor�w plik�w"
+"osi��gni��to systemowy limit otwartych plik��w: rozpocz��cie multipleksowania "
+"deskryptor��w plik��w"
 
-#: io.c:844
+#: io.c:865
 #, c-format
 msgid "close of `%s' failed (%s)."
-msgstr "zamkni�cie `%s' nie powiod�o si� (%s)."
+msgstr "zamkni��cie `%s' nie powiod��o si�� (%s)."
 
-#: io.c:852
+#: io.c:873
 msgid "too many pipes or input files open"
-msgstr "zbyt du�o otwartych potok�w lub plik�w wej�ciowych"
+msgstr "zbyt du��o otwartych potok��w lub plik��w wej��ciowych"
 
-#: io.c:875
+#: io.c:896
 msgid "close: second argument must be `to' or `from'"
-msgstr "close: drugim argumentem musi by� `to' lub `from'"
+msgstr "close: drugim argumentem musi by�� `to' lub `from'"
 
-#: io.c:889
+#: io.c:910
 #, c-format
 msgid "close: `%.*s' is not an open file, pipe or co-process"
 msgstr ""
 "close: `%.*s' nie jest ani otwartym plikiem, ani potokiem, ani procesem"
 
-#: io.c:893
+#: io.c:915
 msgid "close of redirection that was never opened"
-msgstr "zamkni�cie przekierowania, kt�re nigdy nie zosta�o otwarte"
+msgstr "zamkni��cie przekierowania, kt��re nigdy nie zosta��o otwarte"
 
-#: io.c:989
+#: io.c:1012
 #, c-format
 msgid "close: redirection `%s' not opened with `|&', second argument ignored"
 msgstr ""
-"close: przekierowanie `%s' nie zosta�o otwarte z `|&', drugi argument "
+"close: przekierowanie `%s' nie zosta��o otwarte z `|&', drugi argument "
 "zignorowany"
 
-#: io.c:1005
+#: io.c:1028
 #, c-format
 msgid "failure status (%d) on pipe close of `%s' (%s)"
 msgstr "status awarii (%d) podczas zamykania potoku `%s' (%s)"
 
-#: io.c:1008
+#: io.c:1031
 #, c-format
 msgid "failure status (%d) on file close of `%s' (%s)"
 msgstr "status awarii (%d) podczas zamykania pliku `%s' (%s)"
 
-#: io.c:1028
+#: io.c:1051
 #, c-format
 msgid "no explicit close of socket `%s' provided"
-msgstr "brak jawnego zamkni�cia gniazdka `%s'"
+msgstr "brak jawnego zamkni��cia gniazdka `%s'"
 
-#: io.c:1031
+#: io.c:1054
 #, c-format
 msgid "no explicit close of co-process `%s' provided"
-msgstr "brak jawnego zamkni�cia procesu pomocniczego `%s'"
+msgstr "brak jawnego zamkni��cia procesu pomocniczego `%s'"
 
-#: io.c:1034
+#: io.c:1057
 #, c-format
 msgid "no explicit close of pipe `%s' provided"
-msgstr "brak jawnego zamkni�cia potoku `%s'"
+msgstr "brak jawnego zamkni��cia potoku `%s'"
 
-#: io.c:1037
+#: io.c:1060
 #, c-format
 msgid "no explicit close of file `%s' provided"
-msgstr "brak jawnego zamkni�cia pliku `%s'"
+msgstr "brak jawnego zamkni��cia pliku `%s'"
 
-#: io.c:1066 io.c:1121 main.c:749 main.c:791
+#: io.c:1088 io.c:1143 main.c:776 main.c:818
 #, c-format
 msgid "error writing standard output (%s)"
-msgstr "b��d podczas zapisu na standardowe wyj�cie (%s)"
+msgstr "b����d podczas zapisu na standardowe wyj��cie (%s)"
 
-#: io.c:1070 io.c:1126
+#: io.c:1092 io.c:1148
 #, c-format
 msgid "error writing standard error (%s)"
-msgstr "b��d podczas zapisu na standardowe wyj�cie diagnostyczne (%s)"
+msgstr "b����d podczas zapisu na standardowe wyj��cie diagnostyczne (%s)"
 
-#: io.c:1078
+#: io.c:1100
 #, c-format
 msgid "pipe flush of `%s' failed (%s)."
-msgstr "opr��nienie potoku `%s' nie powiod�o si� (%s)."
+msgstr "opr����nienie potoku `%s' nie powiod��o si�� (%s)."
 
-#: io.c:1081
+#: io.c:1103
 #, c-format
 msgid "co-process flush of pipe to `%s' failed (%s)."
 msgstr ""
-"opr��nienie potoku do `%s' przez proces pomocniczy nie powiod�o si� (%s)."
+"opr����nienie potoku do `%s' przez proces pomocniczy nie powiod��o si�� (%s)."
 
-#: io.c:1084
+#: io.c:1106
 #, c-format
 msgid "file flush of `%s' failed (%s)."
-msgstr "opr��nienie pliku `%s' nie powiod�o si� (%s)."
+msgstr "opr����nienie pliku `%s' nie powiod��o si�� (%s)."
 
-#: io.c:1198
+#: io.c:1220
 #, c-format
 msgid "local port %s invalid in `/inet'"
-msgstr "nieprawid�owy lokalny port %s w `/inet'"
+msgstr "nieprawid��owy lokalny port %s w `/inet'"
 
-#: io.c:1215
+#: io.c:1237
 #, c-format
 msgid "remote host and port information (%s, %s) invalid"
-msgstr "informacje o zdalnym ho�cie i porcie s� nieprawid�owe (%s, %s)"
+msgstr "informacje o zdalnym ho��cie i porcie s�� nieprawid��owe (%s, %s)"
 
-#: io.c:1250
+#: io.c:1272
 msgid "/inet/raw client not ready yet, sorry"
 msgstr "klient /inet/raw nie jest jeszcze gotowy, przykro mi"
 
-#: io.c:1253 io.c:1289
+#: io.c:1275 io.c:1311
 msgid "only root may use `/inet/raw'."
-msgstr "tylko superu�ytkownik (root) mo�e u�y� `/inet/raw'."
+msgstr "tylko superu��ytkownik (root) mo��e u��y�� `/inet/raw'."
 
-#: io.c:1287
+#: io.c:1309
 msgid "/inet/raw server not ready yet, sorry"
 msgstr "serwer /inet/raw nie jest jeszcze gotowy, przykro mi"
 
-#: io.c:1385
+#: io.c:1407
 #, c-format
 msgid "no (known) protocol supplied in special filename `%s'"
-msgstr "nie dostarczono (znanego) protoko�u w specjalnym pliku `%s'"
+msgstr "nie dostarczono (znanego) protoko��u w specjalnym pliku `%s'"
 
-#: io.c:1399
+#: io.c:1421
 #, c-format
 msgid "special file name `%s' is incomplete"
 msgstr "specjalna nazwa pliku `%s' jest niekompletna"
 
-#: io.c:1414
+#: io.c:1436
 msgid "must supply a remote hostname to `/inet'"
-msgstr "nale�y dostarczy� nazw� zdalnego hosta do `/inet'"
+msgstr "nale��y dostarczy�� nazw�� zdalnego hosta do `/inet'"
 
-#: io.c:1432
+#: io.c:1454
 msgid "must supply a remote port to `/inet'"
-msgstr "nale�y dostarczy� numer zdalnego portu do `/inet'"
+msgstr "nale��y dostarczy�� numer zdalnego portu do `/inet'"
 
-#: io.c:1439
+#: io.c:1485
 msgid "TCP/IP communications are not supported"
 msgstr "Komunikacja TCP/IP nie jest wspierana"
 
-#: io.c:1509
+#: io.c:1494
+#, c-format
+msgid "file `%s' is a directory"
+msgstr "plik `%s' jest katalogiem"
+
+#: io.c:1555
 #, c-format
 msgid "use `PROCINFO[\"%s\"]' instead of `%s'"
-msgstr "u�yj `PROCINFO[\"%s\"]' zamiast `%s'"
+msgstr "u��yj `PROCINFO[\"%s\"]' zamiast `%s'"
 
-#: io.c:1547
+#: io.c:1593
 msgid "use `PROCINFO[...]' instead of `/dev/user'"
-msgstr "u�yj `PROCINFO[...]' zamiast `/dev/user'"
+msgstr "u��yj `PROCINFO[...]' zamiast `/dev/user'"
 
-#: io.c:1612 io.c:1798
+#: io.c:1658 io.c:1853
 #, c-format
 msgid "could not open `%s', mode `%s'"
-msgstr "nie mo�na otworzy� `%s', tryb `%s'"
+msgstr "nie mo��na otworzy�� `%s', tryb `%s'"
 
-#: io.c:1849
+#: io.c:1904
 #, c-format
 msgid "close of master pty failed (%s)"
-msgstr "zamkni�cie nadrz�dnego pty nie powiod�o si� (%s)"
+msgstr "zamkni��cie nadrz��dnego pty nie powiod��o si�� (%s)"
 
-#: io.c:1851 io.c:2003 io.c:2154
+#: io.c:1906 io.c:2058 io.c:2209
 #, c-format
 msgid "close of stdout in child failed (%s)"
 msgstr ""
-"zamkni�cie standardowego wyj�cia w procesie potomnym nie powiod�o si� (%s)"
+"zamkni��cie standardowego wyj��cia w procesie potomnym nie powiod��o si�� (%s)"
 
-#: io.c:1854
+#: io.c:1909
 #, c-format
 msgid "moving slave pty to stdout in child failed (dup: %s)"
 msgstr ""
-"przesuni�cie podleg�ego pty na standardowe wyj�cie w procesie potomnym nie "
-"powiod�o si� (dup: %s)"
+"przesuni��cie podleg��ego pty na standardowe wyj��cie w procesie potomnym nie "
+"powiod��o si�� (dup: %s)"
 
-#: io.c:1856 io.c:2008
+#: io.c:1911 io.c:2063
 #, c-format
 msgid "close of stdin in child failed (%s)"
 msgstr ""
-"zamkni�cie standardowego wej�cia w procesie potomnym nie powiod�o si� (%s)"
+"zamkni��cie standardowego wej��cia w procesie potomnym nie powiod��o si�� (%s)"
 
-#: io.c:1859
+#: io.c:1914
 #, c-format
 msgid "moving slave pty to stdin in child failed (dup: %s)"
 msgstr ""
-"przesuni�cie podleg�ego pty na standardowe wej�cie w procesie potomnym nie "
-"powiod�o si� (dup: %s)"
+"przesuni��cie podleg��ego pty na standardowe wej��cie w procesie potomnym nie "
+"powiod��o si�� (dup: %s)"
 
-#: io.c:1861 io.c:1880
+#: io.c:1916 io.c:1935
 #, c-format
 msgid "close of slave pty failed (%s)"
-msgstr "zamkni�cie podleg�ego pty nie powiod�o si� (%s)"
+msgstr "zamkni��cie podleg��ego pty nie powiod��o si�� (%s)"
 
-#: io.c:1954 io.c:2006 io.c:2135 io.c:2157
+#: io.c:2009 io.c:2061 io.c:2190 io.c:2212
 #, c-format
 msgid "moving pipe to stdout in child failed (dup: %s)"
 msgstr ""
-"przesuni�cie potoku na standardowe wyj�cie w procesie potomnym nie powiod�o "
-"si� (dup: %s)"
+"przesuni��cie potoku na standardowe wyj��cie w procesie potomnym nie powiod��o "
+"si�� (dup: %s)"
 
-#: io.c:1958 io.c:2011
+#: io.c:2013 io.c:2066
 #, c-format
 msgid "moving pipe to stdin in child failed (dup: %s)"
 msgstr ""
-"przesuni�cie potoku na standardowe wej�cie w procesie potomnym nie powiod�o "
-"si� (dup: %s)"
+"przesuni��cie potoku na standardowe wej��cie w procesie potomnym nie powiod��o "
+"si�� (dup: %s)"
 
-#: io.c:1975 io.c:2148
+#: io.c:2030 io.c:2203
 msgid "restoring stdout in parent process failed\n"
 msgstr ""
-"odzyskanie standardowego wyj�cia w procesie potomnym nie powiod�o si�\n"
+"odzyskanie standardowego wyj��cia w procesie potomnym nie powiod��o si��\n"
 
-#: io.c:1980
+#: io.c:2035
 msgid "restoring stdin in parent process failed\n"
 msgstr ""
-"odzyskanie standardowego wej�cia w procesie potomnym nie powiod�o si�\n"
+"odzyskanie standardowego wej��cia w procesie potomnym nie powiod��o si��\n"
 
-#: io.c:2014 io.c:2159 io.c:2170
+#: io.c:2069 io.c:2214 io.c:2225
 #, c-format
 msgid "close of pipe failed (%s)"
-msgstr "zamkni�cie potoku nie powiod�o si� (%s)"
+msgstr "zamkni��cie potoku nie powiod��o si�� (%s)"
 
-#: io.c:2059
+#: io.c:2114
 msgid "`|&' not supported"
 msgstr "`|&' nie jest wspierany"
 
-#: io.c:2125
+#: io.c:2180
 #, c-format
 msgid "cannot open pipe `%s' (%s)"
-msgstr "nie mo�na otworzy� potoku `%s' (%s)"
+msgstr "nie mo��na otworzy�� potoku `%s' (%s)"
 
-#: io.c:2166
+#: io.c:2221
 #, c-format
 msgid "cannot create child process for `%s' (fork: %s)"
-msgstr "nie mo�na utworzy� procesu potomnego dla `%s' (fork: %s)"
+msgstr "nie mo��na utworzy�� procesu potomnego dla `%s' (fork: %s)"
 
-#: io.c:2548
+#: io.c:2603
 #, c-format
 msgid "data file `%s' is empty"
 msgstr "plik danych `%s' jest pusty"
 
-#: io.c:2589 io.c:2597
+#: io.c:2644 io.c:2652
 msgid "could not allocate more input memory"
-msgstr "nie mo�na zarezerwowa� wi�cej pami�ci wej�ciowej"
+msgstr "nie mo��na zarezerwowa�� wi��cej pami��ci wej��ciowej"
 
-#: io.c:2965 io.c:3038
+#: io.c:3020 io.c:3093
 #, c-format
 msgid "error reading input file `%s': %s"
-msgstr "b��d podczas czytania z pliku `%s': %s"
+msgstr "b����d podczas czytania z pliku `%s': %s"
 
-#: io.c:3163
+#: io.c:3218
 msgid "multicharacter value of `RS' is a gawk extension"
-msgstr "wieloznakowa warto�� `RS' jest rozszerzeniem gawk"
+msgstr "wieloznakowa warto���� `RS' jest rozszerzeniem gawk"
 
-#: main.c:351
+#: main.c:304
+msgid "out of memory"
+msgstr "brak pami��ci"
+
+#: main.c:373
 msgid "`-m[fr]' option irrelevant in gawk"
 msgstr "nieistotna opcja `-m[fr]' w gawk"
 
-#: main.c:353
+#: main.c:375
 msgid "-m option usage: `-m[fr] nnn'"
-msgstr "u�ycie opcji -m: `-m[fr] nnn'"
+msgstr "u��ycie opcji -m: `-m[fr] nnn'"
 
-#: main.c:370
+#: main.c:392
 #, c-format
 msgid "%s: option `-W %s' unrecognized, ignored\n"
 msgstr "%s: opcja `-W %s' nierozpoznana i zignorowana\n"
 
-#: main.c:407
+#: main.c:433
 msgid "empty argument to `--source' ignored"
-msgstr "pusty argument dla opcji `--source' zosta� zignorowany"
+msgstr "pusty argument dla opcji `--source' zosta�� zignorowany"
 
-#: main.c:480
+#: main.c:487
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: opcja musi mie�� argument -- %c\n"
+
+#: main.c:506
 msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'"
 msgstr ""
-"zmienna �rodowiskowa `POSIXLY_CORRECT' ustawiona: `--posix' zosta� w��czony"
+"zmienna ��rodowiskowa `POSIXLY_CORRECT' ustawiona: `--posix' zosta�� w����czony"
 
-#: main.c:486
+#: main.c:512
 msgid "`--posix' overrides `--traditional'"
-msgstr "opcja `--posix' zostanie u�yta nad `--traditional'"
+msgstr "opcja `--posix' zostanie u��yta nad `--traditional'"
 
-#: main.c:497
+#: main.c:523
 msgid "`--posix'/`--traditional' overrides `--non-decimal-data'"
-msgstr "`--posix'/`--traditional' u�yte nad opcj� `--non-decimal-data'"
+msgstr "`--posix'/`--traditional' u��yte nad opcj�� `--non-decimal-data'"
 
-#: main.c:501
+#: main.c:527
 #, c-format
 msgid "running %s setuid root may be a security problem"
 msgstr ""
-"uruchamianie %s setuid root mo�e by� problemem pod wzgl�dem bezpiecze�stwa"
+"uruchamianie %s setuid root mo��e by�� problemem pod wzgl��dem bezpiecze��stwa"
 
-#: main.c:542
+#: main.c:568
 #, c-format
 msgid "can't set binary mode on stdin (%s)"
-msgstr "nie mo�na ustawi� trybu binarnego na standardowym wej�ciu (%s)"
+msgstr "nie mo��na ustawi�� trybu binarnego na standardowym wej��ciu (%s)"
 
-#: main.c:545
+#: main.c:571
 #, c-format
 msgid "can't set binary mode on stdout (%s)"
-msgstr "nie mo�na ustawi� trybu binarnego na standardowym wyj�ciu (%s)"
+msgstr "nie mo��na ustawi�� trybu binarnego na standardowym wyj��ciu (%s)"
 
-#: main.c:547
+#: main.c:573
 #, c-format
 msgid "can't set binary mode on stderr (%s)"
-msgstr "nie mo�na ustawi� trybu binarnego na wyj�ciu diagnostycznym (%s)"
+msgstr "nie mo��na ustawi�� trybu binarnego na wyj��ciu diagnostycznym (%s)"
 
-#: main.c:586
+#: main.c:612
 msgid "no program text at all!"
 msgstr "brak tekstu programu!"
 
-#: main.c:690
+#: main.c:716
 #, c-format
 msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n"
 msgstr ""
-"U�ycie: %s [styl opcji POSIX lub GNU] -f plik_z_programem [--] plik ...\n"
+"U��ycie: %s [styl opcji POSIX lub GNU] -f plik_z_programem [--] plik ...\n"
 
-#: main.c:692
+#: main.c:718
 #, c-format
 msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n"
-msgstr "U�ycie: %s [styl opcji POSIX lub GNU] [--] %cprogram%c plik ...\n"
+msgstr "U��ycie: %s [styl opcji POSIX lub GNU] [--] %cprogram%c plik ...\n"
 
-#: main.c:697
+#: main.c:723
 msgid "POSIX options:\t\tGNU long options:\n"
-msgstr "Opcje POSIX:\t\tD�ugie opcje GNU:\n"
+msgstr "Opcje POSIX:\t\tD��ugie opcje GNU:\n"
 
-#: main.c:698
+#: main.c:724
 msgid "\t-f progfile\t\t--file=progfile\n"
 msgstr "\t-f program\t\t--file=program\n"
 
-#: main.c:699
+#: main.c:725
 msgid "\t-F fs\t\t\t--field-separator=fs\n"
 msgstr "\t-F fs\t\t\t--field-separator=fs\n"
 
-#: main.c:700
+#: main.c:726
 msgid "\t-v var=val\t\t--assign=var=val\n"
-msgstr "\t-v zmienna=warto��\t--assign=zmienna=warto��\n"
+msgstr "\t-v zmienna=warto����\t--assign=zmienna=warto����\n"
 
-#: main.c:701
+#: main.c:727
 msgid "\t-m[fr] val\n"
-msgstr "\t-m[fr] warto��\n"
+msgstr "\t-m[fr] warto����\n"
+
+#: main.c:728
+msgid "\t-O\t\t\t--optimize\n"
+msgstr "\t-O\t\t\t--optimize\n"
 
-#: main.c:702
+#: main.c:729
 msgid "\t-W compat\t\t--compat\n"
 msgstr "\t-W compat\t\t--compat\n"
 
-#: main.c:703
+#: main.c:730
 msgid "\t-W copyleft\t\t--copyleft\n"
 msgstr "\t-W copyleft\t\t--copyleft\n"
 
-#: main.c:704
+#: main.c:731
 msgid "\t-W copyright\t\t--copyright\n"
 msgstr "\t-W copyright\t\t--copyright\n"
 
-#: main.c:705
+#: main.c:732
 msgid "\t-W dump-variables[=file]\t--dump-variables[=file]\n"
 msgstr "\t-W dump-variables[=plik]\t--dump-variables[=plik]\n"
 
-#: main.c:706
+#: main.c:733
 msgid "\t-W exec=file\t\t--exec=file\n"
 msgstr "\t-W exec=plik\t\t--exec=plik\n"
 
-#: main.c:707
+#: main.c:734
 msgid "\t-W gen-po\t\t--gen-po\n"
 msgstr "\t-W gen-po\t\t--gen-po\n"
 
-#: main.c:708
+#: main.c:735
 msgid "\t-W help\t\t\t--help\n"
 msgstr "\t-W help\t\t\t--help\n"
 
-#: main.c:709
+#: main.c:736
 msgid "\t-W lint[=fatal]\t\t--lint[=fatal]\n"
 msgstr "\t-W lint[=fatal]\t\t--lint[=fatal]\n"
 
-#: main.c:710
+#: main.c:737
 msgid "\t-W lint-old\t\t--lint-old\n"
 msgstr "\t-W lint-old\t\t--lint-old\n"
 
-#: main.c:711
+#: main.c:738
 msgid "\t-W non-decimal-data\t--non-decimal-data\n"
 msgstr "\t-W non-decimal-data\t--non-decimal-data\n"
 
-#: main.c:713
+#: main.c:740
 msgid "\t-W nostalgia\t\t--nostalgia\n"
 msgstr "\t-W nostalgia\t\t--nostalgia\n"
 
-#: main.c:716
+#: main.c:743
 msgid "\t-W parsedebug\t\t--parsedebug\n"
 msgstr "\t-W parsedebug\t\t--parsedebug\n"
 
-#: main.c:718
+#: main.c:745
 msgid "\t-W profile[=file]\t--profile[=file]\n"
 msgstr "\t-W profile[=plik]\t--profile[=plik]\n"
 
-#: main.c:719
+#: main.c:746
 msgid "\t-W posix\t\t--posix\n"
 msgstr "\t-W posix\t\t--posix\n"
 
-#: main.c:720
+#: main.c:747
 msgid "\t-W re-interval\t\t--re-interval\n"
 msgstr "\t-W re-interval\t\t--re-interval\n"
 
-#: main.c:721
+#: main.c:748
 msgid "\t-W source=program-text\t--source=program-text\n"
 msgstr "\t-W source=tekst-programu\t--source=tekst-programu\n"
 
-#: main.c:722
+#: main.c:749
 msgid "\t-W traditional\t\t--traditional\n"
 msgstr "\t-W traditional\t\t--traditional\n"
 
-#: main.c:723
+#: main.c:750
 msgid "\t-W usage\t\t--usage\n"
 msgstr "\t-W usage\t\t--usage\n"
 
-#: main.c:724
+#: main.c:751
 msgid "\t-W use-lc-numeric\t--use-lc-numeric\n"
-msgstr ""
+msgstr "\t-W use-lc-numeric\t--use-lc-numeric\n"
 
-#: main.c:725
+#: main.c:752
 msgid "\t-W version\t\t--version\n"
 msgstr "\t-W version\t\t--version\n"
 
@@ -1606,7 +1653,7 @@
 #. for this application.  Please add _another line_ with the
 #. address for translation bugs.
 #. no-wrap
-#: main.c:734
+#: main.c:761
 msgid ""
 "\n"
 "To report bugs, see node `Bugs' in `gawk.info', which is\n"
@@ -1614,32 +1661,32 @@
 "\n"
 msgstr ""
 "\n"
-"Aby zg�osi� b��d, prosimy zobaczy� w�ze� `Bugs' w `gawk.info'\n"
-"lub rozdzia� p.t. `Reporting Problems and Bugs' w wydrukowanej\n"
+"Aby zg��osi�� b����d, prosimy zobaczy�� w��ze�� `Bugs' w `gawk.info'\n"
+"lub rozdzia�� p.t. `Reporting Problems and Bugs' w wydrukowanej\n"
 "dokumentacji.\n"
 "\n"
 
-#: main.c:738
+#: main.c:765
 msgid ""
 "gawk is a pattern scanning and processing language.\n"
 "By default it reads standard input and writes standard output.\n"
 "\n"
 msgstr ""
-"gawk jest j�zykiem skanowania i przetwarzania wzorc�w.\n"
-"Program domy�lnie czyta standardowe wej�cie i zapisuje standardowe wyj�cie.\n"
+"gawk jest j��zykiem skanowania i przetwarzania wzorc��w.\n"
+"Program domy��lnie czyta standardowe wej��cie i zapisuje standardowe wyj��cie.\n"
 "\n"
 
-#: main.c:742
+#: main.c:769
 msgid ""
 "Examples:\n"
 "\tgawk '{ sum += $1 }; END { print sum }' file\n"
 "\tgawk -F: '{ print $1 }' /etc/passwd\n"
 msgstr ""
-"Przyk�ady:\n"
+"Przyk��ady:\n"
 "\tgawk '{ suma += $1 }; END { print suma }' plik\n"
 "\tgawk -F: '{ print $1 }' /etc/passwd\n"
 
-#: main.c:762
+#: main.c:789
 #, c-format
 msgid ""
 "Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
@@ -1652,13 +1699,13 @@
 msgstr ""
 "Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
 "\n"
-"Ten program jest wolnym oprogramowaniem; mo�esz go rozprowadza� dalej\n"
-"i/lub modyfikowa� na warunkach Powszechnej Licencji Publicznej GNU,\n"
-"wydanej przez Fundacj� Wolnego Oprogramowania - wed�ug wersji 3-giej\n"
-"tej Licencji lub kt�rej� z p��niejszych wersji.\n"
+"Ten program jest wolnym oprogramowaniem; mo��esz go rozprowadza�� dalej\n"
+"i/lub modyfikowa�� na warunkach Powszechnej Licencji Publicznej GNU,\n"
+"wydanej przez Fundacj�� Wolnego Oprogramowania - wed��ug wersji 3-ciej\n"
+"tej Licencji lub kt��rej�� z p����niejszych wersji.\n"
 "\n"
 
-#: main.c:770
+#: main.c:797
 msgid ""
 "This program is distributed in the hope that it will be useful,\n"
 "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
@@ -1666,143 +1713,159 @@
 "GNU General Public License for more details.\n"
 "\n"
 msgstr ""
-"Ten program rozpowszechniany jest z nadziej�, i� b�dzie on\n"
-"u�yteczny - jednak BEZ JAKIEJKOLWIEK GWARANCJI, nawet domy�lnej\n"
-"gwarancji PRZYDATNO�CI HANDLOWEJ albo PRZYDATNO�CI DO OKRE�LONYCH\n"
-"ZASTOSOWA�. W celu uzyskania bli�szych informacji przeczytaj\n"
-"Powszechn� Licencj� Publiczn� GNU.\n"
+"Ten program rozpowszechniany jest z nadziej��, i�� b��dzie on\n"
+"u��yteczny - jednak BEZ JAKIEJKOLWIEK GWARANCJI, nawet domy��lnej\n"
+"gwarancji PRZYDATNO��CI HANDLOWEJ albo PRZYDATNO��CI DO OKRE��LONYCH\n"
+"ZASTOSOWA��. W celu uzyskania bli��szych informacji przeczytaj\n"
+"Powszechn�� Licencj�� Publiczn�� GNU.\n"
 "\n"
 
-#: main.c:781
-#, fuzzy
+#: main.c:808
 msgid ""
 "You should have received a copy of the GNU General Public License\n"
 "along with this program. If not, see http://www.gnu.org/licenses/.\n"
 msgstr ""
-"Z pewno�ci� wraz z niniejszym programem otrzyma�e� te� egzemplarz\n"
+"Z pewno��ci�� wraz z niniejszym programem otrzyma��e�� te�� egzemplarz\n"
 "Powszechnej Licencji Publicznej GNU (GNU General Public License);\n"
-"je�li za� nie - napisz do Free Software Foundation, Inc.,\n"
-"51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA.\n"
+"je��li za�� nie - odwied�� stron�� http://www.gnu.org/licenses/.\n"
 
-#: main.c:816
+#: main.c:843
 msgid "-Ft does not set FS to tab in POSIX awk"
 msgstr "-Ft nie ustawia FS na znak tabulatora w POSIX awk"
 
-#: main.c:1060
+#: main.c:1117
 #, c-format
 msgid ""
 "%s: `%s' argument to `-v' not in `var=value' form\n"
 "\n"
 msgstr ""
-"%s: argument `%s' dla `-v' nie jest zgodny ze sk�adni� `zmienna=warto��'\n"
+"%s: argument `%s' dla `-v' nie jest zgodny ze sk��adni�� `zmienna=warto����'\n"
 "\n"
 
-#: main.c:1080
+#: main.c:1137
 #, c-format
 msgid "`%s' is not a legal variable name"
-msgstr "`%s' nie jest dozwolon� nazw� zmiennej"
+msgstr "`%s' nie jest dozwolon�� nazw�� zmiennej"
 
-#: main.c:1083
+#: main.c:1140
 #, c-format
 msgid "`%s' is not a variable name, looking for file `%s=%s'"
-msgstr "`%s' nie jest nazw� zmiennej, szukanie pliku `%s=%s'"
+msgstr "`%s' nie jest nazw�� zmiennej, szukanie pliku `%s=%s'"
 
-#: main.c:1122
+#: main.c:1179
 msgid "floating point exception"
-msgstr "wyj�tek zmiennopozycyjny"
+msgstr "wyj��tek zmiennopozycyjny"
 
-#: main.c:1129
+#: main.c:1186
 msgid "fatal error: internal error"
-msgstr "fatalny b��d: wewn�trzny b��d"
+msgstr "fatalny b����d: wewn��trzny b����d"
+
+#: main.c:1200
+msgid "fatal error: internal error: segfault"
+msgstr "fatalny b����d: wewn��trzny b����d: b����d segmentacji"
 
-#: main.c:1180
+#: main.c:1212
+msgid "fatal error: internal error: stack overflow"
+msgstr "fatalny b����d: wewn��trzny b����d: przepe��nienie stosu"
+
+#: main.c:1261
 #, c-format
 msgid "no pre-opened fd %d"
-msgstr "brak ju� otwartego fd %d"
+msgstr "brak ju�� otwartego fd %d"
 
-#: main.c:1187
+#: main.c:1268
 #, c-format
 msgid "could not pre-open /dev/null for fd %d"
-msgstr "nie mo�na otworzy� zawczasu /dev/null dla fd %d"
+msgstr "nie mo��na otworzy�� zawczasu /dev/null dla fd %d"
 
-#: main.c:1210 main.c:1219
+#: main.c:1291 main.c:1300
 #, c-format
 msgid "could not find groups: %s"
-msgstr "nie mo�na znale�� grup: %s"
+msgstr "nie mo��na znale���� grup: %s"
 
 #: msg.c:54
 #, c-format
 msgid "cmd. line:"
-msgstr "linia polece�:"
+msgstr "linia polece��:"
 
 #: msg.c:120
 msgid "warning: "
-msgstr "ostrze�enie: "
+msgstr "ostrze��enie: "
 
 #: msg.c:142
 msgid "error: "
-msgstr "b��d: "
+msgstr "b����d: "
 
 #: msg.c:178
 msgid "fatal: "
-msgstr "fatalny b��d: "
+msgstr "fatalny b����d: "
 
 #: node.c:63 node.c:78 node.c:105 node.c:121 node.c:151
 msgid "can't convert string to float"
-msgstr "nie mo�na zamieni� �a�cucha do liczby zmiennopozycyjnej"
+msgstr "nie mo��na zamieni�� ��a��cucha do liczby zmiennopozycyjnej"
 
-#: node.c:406
+#: node.c:462
 msgid "backslash at end of string"
-msgstr "backslash na ko�cu �a�cucha"
+msgstr "backslash na ko��cu ��a��cucha"
 
-#: node.c:548
+#: node.c:606
 #, c-format
 msgid "old awk does not support the `\\%c' escape sequence"
 msgstr "stary awk nie wspiera sekwencji ucieczki `\\%c'"
 
-#: node.c:599
+#: node.c:657
 msgid "POSIX does not allow `\\x' escapes"
-msgstr "POSIX nie zezwala na sekwencj� ucieczki `\\x'"
+msgstr "POSIX nie zezwala na sekwencj�� ucieczki `\\x'"
 
-#: node.c:605
+#: node.c:663
 msgid "no hex digits in `\\x' escape sequence"
 msgstr "brak liczb szesnastkowych w sekwencji ucieczki `\\x'"
 
-#: node.c:639
+#: node.c:685
+#, c-format
+msgid ""
+"hex escape \\x%.*s of %d characters probably not interpreted the way you "
+"expect"
+msgstr ""
+"szesnastkowa sekwencja ucieczki \\x%.*s %d znak��w prawdopodobnie nie zosta��a "
+"zinterpretowana jak tego oczekujesz"
+
+#: node.c:700
 #, c-format
 msgid "escape sequence `\\%c' treated as plain `%c'"
-msgstr "sekwencja ucieczki `\\%c' potraktowana jako zwyk�e `%c'"
+msgstr "sekwencja ucieczki `\\%c' potraktowana jako zwyk��e `%c'"
 
 #: posix/gawkmisc.c:172
 #, c-format
 msgid "%s %s `%s': could not set close-on-exec: (fcntl: %s)"
-msgstr "%s %s `%s': nie mo�na ustawi� close-on-exec: (fcntl: %s)"
+msgstr "%s %s `%s': nie mo��na ustawi�� close-on-exec: (fcntl: %s)"
 
-#: profile.c:92
+#: profile.c:93
 #, c-format
 msgid "could not open `%s' for writing: %s"
-msgstr "nie mo�na otworzy� `%s' do zapisu: %s"
+msgstr "nie mo��na otworzy�� `%s' do zapisu: %s"
 
-#: profile.c:450
+#: profile.c:453
 #, c-format
 msgid "internal error: %s with null vname"
-msgstr "wewn�trzny b��d: %s z zerowym vname"
+msgstr "wewn��trzny b����d: %s z zerowym vname"
 
-#: profile.c:514
+#: profile.c:517
+#, fuzzy
 msgid "# treated internally as `delete'"
-msgstr "# potraktowany wewn�trznie jako `delete'"
+msgstr "# potraktowany wewn��trznie jako `delete"
 
-#: profile.c:1147
+#: profile.c:1069
 #, c-format
 msgid "# this is a dynamically loaded extension function"
-msgstr "# to jest dynamicznie �adowana funkcja rozszerzenie"
+msgstr "# to jest dynamicznie ��adowana funkcja rozszerzenie"
 
-#: profile.c:1178
+#: profile.c:1100
 #, c-format
 msgid "\t# gawk profile, created %s\n"
 msgstr "\t# profil programu gawk, utworzony %s\n"
 
-#: profile.c:1181
+#: profile.c:1103
 #, c-format
 msgid ""
 "\t# BEGIN block(s)\n"
@@ -1811,16 +1874,16 @@
 "\t# blok(i) BEGIN\n"
 "\n"
 
-#: profile.c:1191
+#: profile.c:1113
 #, c-format
 msgid ""
 "\t# Rule(s)\n"
 "\n"
 msgstr ""
-"\t# Regu�y\n"
+"\t# Regu��y\n"
 "\n"
 
-#: profile.c:1197
+#: profile.c:1119
 #, c-format
 msgid ""
 "\t# END block(s)\n"
@@ -1829,7 +1892,7 @@
 "\t# blok(i) END\n"
 "\n"
 
-#: profile.c:1217
+#: profile.c:1139
 #, c-format
 msgid ""
 "\n"
@@ -1838,130 +1901,138 @@
 "\n"
 "\t# Funkcje, spis alfabetyczny\n"
 
-#: profile.c:1470
+#: profile.c:1400
 #, c-format
 msgid "unexpected type %s in prec_level"
 msgstr "niespodziewany typ %s w prec_level"
 
-#: regcomp.c:132
+#: profile.c:1500
+#, c-format
+msgid "Unknown node type %s in pp_var"
+msgstr "Nieznany typ w��z��a %s w pp_var"
+
+#: regcomp.c:133
 msgid "Success"
 msgstr "Sukces"
 
-#: regcomp.c:135
+#: regcomp.c:136
 msgid "No match"
 msgstr "Brak dopasowania"
 
-#: regcomp.c:138
+#: regcomp.c:139
 msgid "Invalid regular expression"
-msgstr "Nieprawid�owe wyra�enie regularne"
+msgstr "Nieprawid��owe wyra��enie regularne"
 
-#: regcomp.c:141
+#: regcomp.c:142
 msgid "Invalid collation character"
-msgstr "Nieprawid�owy znak por�wnania"
+msgstr "Nieprawid��owy znak por��wnania"
 
-#: regcomp.c:144
+#: regcomp.c:145
 msgid "Invalid character class name"
-msgstr "Nieprawid�owa nazwa klasy znaku"
+msgstr "Nieprawid��owa nazwa klasy znaku"
 
-#: regcomp.c:147
+#: regcomp.c:148
 msgid "Trailing backslash"
-msgstr "Ko�cowy znak backslash"
+msgstr "Ko��cowy znak backslash"
 
-#: regcomp.c:150
+#: regcomp.c:151
 msgid "Invalid back reference"
-msgstr "Nieprawid�owe odwo�anie wsteczne"
+msgstr "Nieprawid��owe odwo��anie wsteczne"
 
-#: regcomp.c:153
+#: regcomp.c:154
 msgid "Unmatched [ or [^"
 msgstr "Niedopasowany znak [ lub [^"
 
-#: regcomp.c:156
+#: regcomp.c:157
 msgid "Unmatched ( or \\("
 msgstr "Niedopasowany znak ( lub \\("
 
-#: regcomp.c:159
+#: regcomp.c:160
 msgid "Unmatched \\{"
 msgstr "Niedopasowany znak \\{"
 
-#: regcomp.c:162
+#: regcomp.c:163
 msgid "Invalid content of \\{\\}"
-msgstr "Nieprawid�owa zawarto�� \\{\\}"
+msgstr "Nieprawid��owa zawarto���� \\{\\}"
 
-#: regcomp.c:165
+#: regcomp.c:166
 msgid "Invalid range end"
-msgstr "Nieprawid�owy koniec zakresu"
+msgstr "Nieprawid��owy koniec zakresu"
 
-#: regcomp.c:168
+#: regcomp.c:169
 msgid "Memory exhausted"
-msgstr "Pami�� wyczerpana"
+msgstr "Pami���� wyczerpana"
 
-#: regcomp.c:171
+#: regcomp.c:172
 msgid "Invalid preceding regular expression"
-msgstr "Nieprawid�owe poprzedzaj�ce wyra�enie regularne"
+msgstr "Nieprawid��owe poprzedzaj��ce wyra��enie regularne"
 
-#: regcomp.c:174
+#: regcomp.c:175
 msgid "Premature end of regular expression"
-msgstr "Przedwczesny koniec wyra�enia regularnego"
+msgstr "Przedwczesny koniec wyra��enia regularnego"
 
-#: regcomp.c:177
+#: regcomp.c:178
 msgid "Regular expression too big"
-msgstr "Wyra�enie regularne jest zbyt du�e"
+msgstr "Wyra��enie regularne jest zbyt du��e"
 
-#: regcomp.c:180
+#: regcomp.c:181
 msgid "Unmatched ) or \\)"
 msgstr "Niedopasowany znak ) lub \\)"
 
-#: regcomp.c:664
+#: regcomp.c:700
 msgid "No previous regular expression"
-msgstr "Brak poprzedniego wyra�enia regularnego"
+msgstr "Brak poprzedniego wyra��enia regularnego"
+
+#~ msgid "%s: illegal option -- %c\n"
+#~ msgstr "%s: niew��a��ciwa opcja -- %c\n"
 
 #~ msgid "remote port invalid in `%s'"
-#~ msgstr "nieprawid�owy zdalny port w `%s'"
+#~ msgstr "nieprawid��owy zdalny port w `%s'"
 
 #~ msgid "function %s called\n"
-#~ msgstr "wywo�ano funkcj� %s\n"
+#~ msgstr "wywo��ano funkcj�� %s\n"
 
 #~ msgid "field %d in FIELDWIDTHS, must be > 0"
-#~ msgstr "pole nr %d w FIELDWIDTHS musi by� wi�ksze od zera"
+#~ msgstr "pole nr %d w FIELDWIDTHS musi by�� wi��ksze od zera"
 
 #~ msgid "delete: illegal use of variable `%s' as array"
-#~ msgstr "delete: nieprawid�owe u�ycie zmiennej `%s' jako tablicy"
+#~ msgstr "delete: nieprawid��owe u��ycie zmiennej `%s' jako tablicy"
 
 #~ msgid "asort: first argument is not an array"
-#~ msgstr "asort: pierwszy argument nie jest tablic�"
+#~ msgstr "asort: pierwszy argument nie jest tablic��"
 
 #~ msgid "asort: second argument is not an array"
-#~ msgstr "asort: drugi argument nie jest tablic�"
+#~ msgstr "asort: drugi argument nie jest tablic��"
 
 #~ msgid ""
 #~ "\n"
 #~ "To report bugs, see node `Bugs' in `gawk.info', which is\n"
 #~ msgstr ""
 #~ "\n"
-#~ "Aby zg�osi� b��dy, prosimy zobaczy� w�ze� `Bugs' w `gawk.info', kt�ry "
+#~ "Aby zg��osi�� b����dy, prosimy zobaczy�� w��ze�� `Bugs' w `gawk.info', kt��ry "
 #~ "jest\n"
 
 #~ msgid "invalid syntax in name `%s' for variable assignment"
-#~ msgstr "b��d sk�adni w nazwie `%s' dla przypisania zmiennej"
+#~ msgstr "b����d sk��adni w nazwie `%s' dla przypisania zmiennej"
 
 #~ msgid "internal error: Node_var_array with null vname"
-#~ msgstr "wewn�trzny b��d: Node_var_array z zerowym vname"
+#~ msgstr "wewn��trzny b����d: Node_var_array z zerowym vname"
 
 #~ msgid "or used in other expression context"
-#~ msgstr "lub u�yty w innym kontek�cie wyra�enia"
+#~ msgstr "lub u��yty w innym kontek��cie wyra��enia"
 
 #~ msgid "`%s' is a function, assignment is not allowed"
-#~ msgstr "`%s' jest funkcj�, zatem przypisanie nie jest dozwolone"
+#~ msgstr "`%s' jest funkcj��, zatem przypisanie nie jest dozwolone"
 
 #~ msgid "BEGIN blocks must have an action part"
-#~ msgstr "Blok BEGIN musi posiada� cz��� dotycz�c� akcji"
+#~ msgstr "Blok BEGIN musi posiada�� cz������ dotycz��c�� akcji"
 
 #~ msgid "`nextfile' used in BEGIN or END action"
-#~ msgstr "`nextfile' u�yty w akcji BEGIN lub END"
+#~ msgstr "`nextfile' u��yty w akcji BEGIN lub END"
 
 #~ msgid "non-redirected `getline' undefined inside BEGIN or END action"
 #~ msgstr ""
-#~ "komenda `getline' bez przekierowania nie jest zdefiniowana wewn�trz akcji "
+#~ "komenda `getline' bez przekierowania nie jest zdefiniowana wewn��trz akcji "
 #~ "BEGIN lub END"
 
 #~ msgid "fptr %x not in tokentab\n"
@@ -1971,13 +2042,13 @@
 #~ msgstr "trzeci parametr gsub nie jest zmiennym obiektem"
 
 #~ msgid "Unfinished \\ escape"
-#~ msgstr "Niedoko�czona sekwencja ucieczki \\"
+#~ msgstr "Niedoko��czona sekwencja ucieczki \\"
 
 #~ msgid "unfinished repeat count"
-#~ msgstr "niedoko�czona liczba powt�rze�"
+#~ msgstr "niedoko��czona liczba powt��rze��"
 
 #~ msgid "malformed repeat count"
-#~ msgstr "�le sformatowana liczba powt�rze�"
+#~ msgstr "��le sformatowana liczba powt��rze��"
 
 #~ msgid "Unbalanced ["
 #~ msgstr "[ nie do pary"
@@ -1986,13 +2057,10 @@
 #~ msgstr "( nie do pary"
 
 #~ msgid "No regexp syntax bits specified"
-#~ msgstr "Nie zosta�y podane bity sk�adni wyra�enia regularnego"
+#~ msgstr "Nie zosta��y podane bity sk��adni wyra��enia regularnego"
 
 #~ msgid "Unbalanced )"
 #~ msgstr ") nie do pary"
 
-#~ msgid "out of memory"
-#~ msgstr "brak pami�ci"
-
 #~ msgid "internal error: file `%s', line %d\n"
-#~ msgstr "wewn�trzny b��d: plik `%s', linia %d\n"
+#~ msgstr "wewn��trzny b����d: plik `%s', linia %d\n"
diff -urN gawk-3.1.6/po/pt_BR.po gawk-3.1.7/po/pt_BR.po
--- gawk-3.1.6/po/pt_BR.po	2007-09-30 22:33:27.000000000 +0200
+++ gawk-3.1.7/po/pt_BR.po	2009-07-21 23:23:45.000000000 +0300
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gawk 3.1.2g\n"
 "Report-Msgid-Bugs-To: arnold@skeeve.com\n"
-"POT-Creation-Date: 2007-09-30 22:33+0200\n"
+"POT-Creation-Date: 2009-07-21 23:23+0300\n"
 "PO-Revision-Date: 2003-06-26 16:18+0300\n"
 "Last-Translator: Juan Carlos Castro y Castro <jcastro@vialink.com.br>\n"
 "Language-Team: Brazilian Portuguese <ldp-br@bazar.conectiva.com.br>\n"
@@ -75,325 +75,330 @@
 msgid "%s: array_ref to %s\n"
 msgstr "%s: array_ref para %s\n"
 
-#: awkgram.y:215
+#: awkgram.y:218
 #, c-format
 msgid "%s blocks must have an action part"
 msgstr "blocos %s devem ter uma parte de a��o"
 
-#: awkgram.y:218
+#: awkgram.y:221
 msgid "each rule must have a pattern or an action part"
 msgstr "cada regra deve ter um padr�o ou uma parte de a��o"
 
-#: awkgram.y:254 awkgram.y:263
+#: awkgram.y:257 awkgram.y:266
 #, fuzzy
 msgid "old awk does not support multiple `BEGIN' or `END' rules"
 msgstr "o velho awk n�o suporta o operador `**'"
 
-#: awkgram.y:282
+#: awkgram.y:285
 #, c-format
 msgid "`%s' is a built-in function, it cannot be redefined"
 msgstr "`%s' � uma fun��o intr�nseca, n�o pode ser redefinida"
 
-#: awkgram.y:328
+#: awkgram.y:331
 #, fuzzy
 msgid "regexp constant `//' looks like a C++ comment, but is not"
 msgstr "constante de expr. reg. `/%s/' parece um coment�rio C, mas n�o �"
 
-#: awkgram.y:331
+#: awkgram.y:334
 #, c-format
 msgid "regexp constant `/%s/' looks like a C comment, but is not"
 msgstr "constante de expr. reg. `/%s/' parece um coment�rio C, mas n�o �"
 
-#: awkgram.y:358 awkgram.y:653
+#: awkgram.y:361 awkgram.y:656
 msgid "statement may have no effect"
 msgstr "declara��o pode n�o ter efeito"
 
-#: awkgram.y:455 awkgram.y:479
+#: awkgram.y:458 awkgram.y:482
 #, c-format
 msgid "`%s' used in %s action"
 msgstr "`%s' usado em a��o %s"
 
-#: awkgram.y:470 awkgram.y:474
+#: awkgram.y:473 awkgram.y:477
 msgid "`nextfile' is a gawk extension"
 msgstr "`nextfile' � uma extens�o do gawk"
 
-#: awkgram.y:489
+#: awkgram.y:492
 msgid "`return' used outside function context"
 msgstr "`return' usado fora do contexto de fun��o"
 
-#: awkgram.y:531
+#: awkgram.y:534
 msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'"
 msgstr ""
 "`print' sozinho em regra BEGIN ou END provavelmente deveria ser `print \"\"'"
 
-#: awkgram.y:547 awkgram.y:555
+#: awkgram.y:550 awkgram.y:558
 msgid "`delete array' is a gawk extension"
 msgstr "`delete array' � uma extens�o do gawk"
 
-#: awkgram.y:569 awkgram.y:577
+#: awkgram.y:572 awkgram.y:580
 msgid "`delete(array)' is a non-portable tawk extension"
 msgstr "`delete(array)' � uma extens�o n�o-port�vel do tawk"
 
-#: awkgram.y:621
+#: awkgram.y:624
 #, c-format
 msgid "duplicate case values in switch body: %s"
 msgstr "valores de case duplicados no corpo do switch: %s"
 
-#: awkgram.y:631
+#: awkgram.y:634
 msgid "Duplicate `default' detected in switch body"
 msgstr "Detectado `default' duplicado no corpo do switch"
 
-#: awkgram.y:720
+#: awkgram.y:723
 msgid "multistage two-way pipelines don't work"
 msgstr "pipelines bidirecionais de m�ltiplos est�gios n�o funcionam"
 
-#: awkgram.y:811
+#: awkgram.y:814
 msgid "regular expression on right of assignment"
 msgstr "express�o regular � direita de atribui��o"
 
-#: awkgram.y:834
+#: awkgram.y:824
 msgid "regular expression on left of `~' or `!~' operator"
 msgstr "express�o regular � esquerda de operador `~' ou `!~'"
 
-#: awkgram.y:840 awkgram.y:913
+#: awkgram.y:830 awkgram.y:903
 #, fuzzy
 msgid "old awk does not support the keyword `in' except after `for'"
 msgstr "o velho awk n�o suporta o operador `**'"
 
-#: awkgram.y:846
+#: awkgram.y:836
 msgid "regular expression on right of comparison"
 msgstr "express�o regular � direita de compara��o"
 
-#: awkgram.y:903
+#: awkgram.y:893
 msgid "non-redirected `getline' undefined inside END action"
 msgstr "`getline' n�o-redirecionado n�o � definido dentro da a��o END"
 
-#: awkgram.y:914
+#: awkgram.y:904
 #, fuzzy
 msgid "old awk does not support multidimensional arrays"
 msgstr "o velho awk n�o suporta o operador `**'"
 
-#: awkgram.y:960
+#: awkgram.y:950
 msgid "call of `length' without parentheses is not portable"
 msgstr "chamada a `length' sem par�nteses n�o � port�vel"
 
-#: awkgram.y:965
+#: awkgram.y:955
 msgid "call of `length' without parentheses is deprecated by POSIX"
 msgstr "chamada a `length' sem par�nteses � obsoleta de acordo com POSIX"
 
-#: awkgram.y:1019
+#: awkgram.y:1009
 msgid "use of non-array as array"
 msgstr "uso de n�o-vetor como vetor"
 
-#: awkgram.y:1022
+#: awkgram.y:1012
 msgid "invalid subscript expression"
 msgstr "express�o de �ndice inv�lida"
 
-#: awkgram.y:1249
+#: awkgram.y:1257
 msgid "unexpected newline or end of string"
 msgstr "fim de linha ou de string inesperado"
 
-#: awkgram.y:1366
+#: awkgram.y:1374
 msgid "empty program text on command line"
 msgstr "texto de programa vazio na linha de comando"
 
-#: awkgram.y:1422
+#: awkgram.y:1430
 #, c-format
 msgid "can't open source file `%s' for reading (%s)"
 msgstr "imposs�vel abrir arquivo-fonte `%s' para leitura (%s)"
 
-#: awkgram.y:1520
+#: awkgram.y:1528
 #, c-format
 msgid "can't read sourcefile `%s' (%s)"
 msgstr "imposs�vel ler arquivo-fonte `%s' (%s)"
 
-#: awkgram.y:1528
+#: awkgram.y:1536
 #, c-format
 msgid "source file `%s' is empty"
 msgstr "arquivo-fonte `%s' est� vazio"
 
-#: awkgram.y:1720 awkgram.y:1842 awkgram.y:1860 awkgram.y:2235 awkgram.y:2322
+#: awkgram.y:1728 awkgram.y:1850 awkgram.y:1868 awkgram.y:2243 awkgram.y:2330
 msgid "source file does not end in newline"
 msgstr "arquivo-fonte n�o termina em fim-de-linha"
 
-#: awkgram.y:1782
+#: awkgram.y:1790
 msgid "unterminated regexp ends with `\\' at end of file"
 msgstr "express�o regular inacabada termina com `\\' ao fim do arquivo"
 
-#: awkgram.y:1806
+#: awkgram.y:1814
 #, c-format
 msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk"
 msgstr ""
 
-#: awkgram.y:1810
+#: awkgram.y:1818
 #, c-format
 msgid "tawk regex modifier `/.../%c' doesn't work in gawk"
 msgstr ""
 
-#: awkgram.y:1817
+#: awkgram.y:1825
 msgid "unterminated regexp"
 msgstr "express�o regular inacabada"
 
-#: awkgram.y:1820
+#: awkgram.y:1828
 msgid "unterminated regexp at end of file"
 msgstr "express�o regular inacabada no fim do arquivo"
 
-#: awkgram.y:1889
+#: awkgram.y:1897
 msgid "use of `\\ #...' line continuation is not portable"
 msgstr "uso da continua��o de linha `\\ #...' n�o � port�vel"
 
-#: awkgram.y:1902
+#: awkgram.y:1910
 msgid "backslash not last character on line"
 msgstr "`\\' n�o � o �ltimo caracter da linha"
 
-#: awkgram.y:1947
+#: awkgram.y:1955
 msgid "POSIX does not allow operator `**='"
 msgstr "POSIX n�o permite o operador `**='"
 
-#: awkgram.y:1949
+#: awkgram.y:1957
 msgid "old awk does not support operator `**='"
 msgstr "o velho awk n�o suporta o operador `**='"
 
-#: awkgram.y:1958
+#: awkgram.y:1966
 msgid "POSIX does not allow operator `**'"
 msgstr "POSIX n�o permite o operador `**'"
 
-#: awkgram.y:1960
+#: awkgram.y:1968
 msgid "old awk does not support operator `**'"
 msgstr "o velho awk n�o suporta o operador `**'"
 
-#: awkgram.y:1991
+#: awkgram.y:1999
 msgid "operator `^=' is not supported in old awk"
 msgstr "o velho awk n�o suporta o operador `^='"
 
-#: awkgram.y:1999
+#: awkgram.y:2007
 msgid "operator `^' is not supported in old awk"
 msgstr "o velho awk n�o suporta o operador `^'"
 
-#: awkgram.y:2083 awkgram.y:2098
+#: awkgram.y:2091 awkgram.y:2106
 msgid "unterminated string"
 msgstr "string inacabada"
 
-#: awkgram.y:2283
+#: awkgram.y:2291
 #, c-format
 msgid "invalid char '%c' in expression"
 msgstr "caracter inv�lido '%c' em express�o"
 
-#: awkgram.y:2331
+#: awkgram.y:2339
 #, c-format
 msgid "`%s' is a gawk extension"
 msgstr "`%s' � uma extens�o do gawk"
 
-#: awkgram.y:2334
+#: awkgram.y:2342
 #, c-format
 msgid "`%s' is a Bell Labs extension"
 msgstr "`%s' � uma extens�o da Bell Labs"
 
-#: awkgram.y:2337
+#: awkgram.y:2345
 #, c-format
 msgid "POSIX does not allow `%s'"
 msgstr "POSIX n�o permite `%s'"
 
-#: awkgram.y:2341
+#: awkgram.y:2349
 #, c-format
 msgid "`%s' is not supported in old awk"
 msgstr "`%s' n�o � suportado no velho awk"
 
-#: awkgram.y:2367
+#: awkgram.y:2375
 msgid "`goto' considered harmful!\n"
 msgstr "`goto' � considerado danoso!\n"
 
-#: awkgram.y:2429
+#: awkgram.y:2437
 #, c-format
 msgid "%d is invalid as number of arguments for %s"
 msgstr "%d � inv�lido como n�mero de argumentos para %s"
 
-#: awkgram.y:2448 awkgram.y:2451
+#: awkgram.y:2456 awkgram.y:2459
 msgid "match: third argument is a gawk extension"
 msgstr "match: terceiro argumento � uma extens�o do gawk"
 
-#: awkgram.y:2464
+#: awkgram.y:2472
 #, c-format
 msgid "%s: string literal as last arg of substitute has no effect"
 msgstr ""
 "%s: string literal como �ltimo argumento de substitui��o n�o tem efeito"
 
-#: awkgram.y:2467
+#: awkgram.y:2475
 #, c-format
 msgid "%s third parameter is not a changeable object"
 msgstr "terceiro par�metro %s n�o � um objeto modific�vel"
 
-#: awkgram.y:2494 awkgram.y:2497
+#: awkgram.y:2502 awkgram.y:2505
 msgid "close: second argument is a gawk extension"
 msgstr "close: segundo argumento � uma extens�o do gawk"
 
-#: awkgram.y:2507
+#: awkgram.y:2515
 msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore"
 msgstr "uso de dcgettext(_\"...\") � incorreto: remova o `_' precedente"
 
-#: awkgram.y:2522
+#: awkgram.y:2530
 msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore"
 msgstr "uso de dcngettext(_\"...\") � incorreto: remova o `_' precedente"
 
-#: awkgram.y:2594
+#: awkgram.y:2602
 #, c-format
 msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d"
 msgstr "fun��o `%s': par�metro #%d, `%s', duplica par�metro #%d"
 
-#: awkgram.y:2627
+#: awkgram.y:2635
 #, c-format
 msgid "function `%s': parameter `%s' shadows global variable"
 msgstr "fun��o `%s': par�metro `%s' encobre vari�vel global"
 
-#: awkgram.y:2739
+#: awkgram.y:2747
 #, c-format
 msgid "could not open `%s' for writing (%s)"
 msgstr "imposs�vel abrir `%s' para escrita (%s)"
 
-#: awkgram.y:2740 profile.c:94
+#: awkgram.y:2748 profile.c:95
 msgid "sending profile to standard error"
 msgstr "enviando perfil para sa�da de erros"
 
-#: awkgram.y:2772
+#: awkgram.y:2780
 #, c-format
 msgid "%s: close failed (%s)"
 msgstr "%s: `close' falhou (%s)"
 
-#: awkgram.y:2893
+#: awkgram.y:2901
 msgid "shadow_funcs() called twice!"
 msgstr "shadow_funcs() chamada duas vezes!"
 
-#: awkgram.y:2920
+#: awkgram.y:2928
 msgid "there were shadowed variables."
 msgstr "houve vari�veis encobertas."
 
-#: awkgram.y:2993
+#: awkgram.y:3001
 #, c-format
 msgid "function `%s': can't use function name as parameter name"
 msgstr "fun��o `%s': n�o se pode usar o nome da fun��o como nome de par�metro"
 
-#: awkgram.y:3003
+#: awkgram.y:3004
+#, fuzzy, c-format
+msgid "function `%s': can't use special variable `%s' as a function parameter"
+msgstr "fun��o `%s': n�o se pode usar o nome da fun��o como nome de par�metro"
+
+#: awkgram.y:3014
 #, c-format
 msgid "function name `%s' previously defined"
 msgstr "nome de fun��o `%s' definido anteriormente"
 
-#: awkgram.y:3154 awkgram.y:3160
+#: awkgram.y:3165 awkgram.y:3171
 #, c-format
 msgid "function `%s' called but never defined"
 msgstr "fun��o `%s' chamada mas nunca definida"
 
-#: awkgram.y:3163
+#: awkgram.y:3174
 #, c-format
 msgid "function `%s' defined but never called"
 msgstr "fun��o `%s' definida mas nunca chamada"
 
-#: awkgram.y:3190
+#: awkgram.y:3201
 #, c-format
 msgid "regexp constant for parameter #%d yields boolean value"
 msgstr ""
 "constante com expr. regular para par�metro n� %d retorna valor booleano"
 
-#: awkgram.y:3234
+#: awkgram.y:3245
 #, fuzzy, c-format
 msgid ""
 "function `%s' called with space between name and `(',\n"
@@ -402,198 +407,227 @@
 "fun��o `%s' chamada com espa�o entre o nome e o `(',\n"
 "%s"
 
-#: builtin.c:119
+#: awkgram.y:3667 eval.c:1394
+#, c-format
+msgid "division by zero attempted in `%%'"
+msgstr "tentativa de divis�o por zero em `%%'"
+
+#: builtin.c:122
 #, c-format
 msgid "%s to \"%s\" failed (%s)"
 msgstr "%s para \"%s\" falhou (%s)"
 
-#: builtin.c:120
+#: builtin.c:123
 msgid "standard output"
 msgstr "sa�da padr�o"
 
-#: builtin.c:121
+#: builtin.c:124
 msgid "reason unknown"
 msgstr "motivo desconhecido"
 
-#: builtin.c:134
+#: builtin.c:137
 msgid "exp: received non-numeric argument"
 msgstr "exp: recebeu argumento n�o-num�rico"
 
-#: builtin.c:140
+#: builtin.c:143
 #, c-format
 msgid "exp: argument %g is out of range"
 msgstr "exp: argumento %g est� fora da faixa"
 
-#: builtin.c:198
+#: builtin.c:201
 #, c-format
 msgid "fflush: cannot flush: pipe `%s' opened for reading, not writing"
 msgstr ""
 "fflush: erro ao descarregar: pipe `%s' aberto para leitura, n�o grava��o"
 
-#: builtin.c:201
+#: builtin.c:204
 #, c-format
 msgid "fflush: cannot flush: file `%s' opened for reading, not writing"
 msgstr ""
 "fflush: erro ao descarregar: arquivo `%s' aberto para leitura, n�o grava��o"
 
-#: builtin.c:213
+#: builtin.c:216
 #, c-format
 msgid "fflush: `%s' is not an open file, pipe or co-process"
 msgstr "fflush: `%s' n�o � um arquivo aberto, pipe ou co-processo"
 
-#: builtin.c:306
+#: builtin.c:310
 msgid "index: received non-string first argument"
 msgstr "index: recebeu primeiro argumento n�o-string"
 
-#: builtin.c:308
+#: builtin.c:312
 msgid "index: received non-string second argument"
 msgstr "index: recebeu segundo argumento n�o-string"
 
-#: builtin.c:423
+#: builtin.c:434
 msgid "int: received non-numeric argument"
 msgstr "int: recebeu argumento n�o-num�rico"
 
-#: builtin.c:448
+#: builtin.c:464
 #, fuzzy
 msgid "`length(array)' is a gawk extension"
 msgstr "`delete array' � uma extens�o do gawk"
 
-#: builtin.c:458
+#: builtin.c:473
+msgid "length: untyped argument will be forced to scalar"
+msgstr ""
+
+#: builtin.c:477
 msgid "length: received non-string argument"
 msgstr "length: recebeu argumento n�o-string"
 
-#: builtin.c:483
+#: builtin.c:508
 msgid "log: received non-numeric argument"
 msgstr "log: recebeu argumento n�o-num�rico"
 
-#: builtin.c:486
+#: builtin.c:511
 #, c-format
 msgid "log: received negative argument %g"
 msgstr "log: recebeu argumento negativo %g"
 
-#: builtin.c:693 builtin.c:696
+#: builtin.c:719 builtin.c:722
 msgid "must use `count$' on all formats or none"
 msgstr "deve usar `count$' em todos os formatos ou nenhum"
 
-#: builtin.c:799
+#: builtin.c:783
+#, c-format
+msgid "field width is ignored for `%%%%' specifier"
+msgstr ""
+
+#: builtin.c:785
+#, c-format
+msgid "precision is ignored for `%%%%' specifier"
+msgstr ""
+
+#: builtin.c:787
+#, c-format
+msgid "field width and precision are ignored for `%%%%' specifier"
+msgstr ""
+
+#: builtin.c:838
 msgid "`$' is not permitted in awk formats"
 msgstr "`$' n�o � permitido em formatos awk"
 
-#: builtin.c:805
+#: builtin.c:844
 msgid "arg count with `$' must be > 0"
 msgstr "n� de argumentos com `$' deve ser > 0"
 
-#: builtin.c:807
+#: builtin.c:846
 #, c-format
 msgid "arg count %ld greater than total number of supplied arguments"
 msgstr "n� de argumentos %ld maior que n� total de argumentos fornecidos"
 
-#: builtin.c:809
+#: builtin.c:848
 msgid "`$' not permitted after period in format"
 msgstr "`$' n�o � permitido depois de ponto no formato"
 
-#: builtin.c:822
+#: builtin.c:861
 msgid "no `$' supplied for positional field width or precision"
 msgstr "nenhum `$' fornecido para tamanho ou precis�o de campo posicional"
 
-#: builtin.c:888
+#: builtin.c:927
 msgid "`l' is meaningless in awk formats; ignored"
 msgstr "`l' n�o faz sentido em formatos awk; ignorado"
 
-#: builtin.c:892
+#: builtin.c:931
 msgid "`l' is not permitted in POSIX awk formats"
 msgstr "`l' n�o � permitido em formatos POSIX awk"
 
-#: builtin.c:903
+#: builtin.c:942
 msgid "`L' is meaningless in awk formats; ignored"
 msgstr "`L' n�o faz sentido em formatos awk; ignorado"
 
-#: builtin.c:907
+#: builtin.c:946
 msgid "`L' is not permitted in POSIX awk formats"
 msgstr "`L' n�o � permitido em formatos POSIX awk"
 
-#: builtin.c:918
+#: builtin.c:957
 msgid "`h' is meaningless in awk formats; ignored"
 msgstr "`h' n�o faz sentido em formatos awk; ignorado"
 
-#: builtin.c:922
+#: builtin.c:961
 msgid "`h' is not permitted in POSIX awk formats"
 msgstr "`h' n�o � permitido em formatos POSIX awk"
 
-#: builtin.c:1182
+#: builtin.c:1236
 #, c-format
 msgid "[s]printf: value %g is out of range for `%%%c' format"
 msgstr "[s]printf: valor %g fora da faixa para formato `%%%c'"
 
-#: builtin.c:1266
+#: builtin.c:1316
+#, c-format
+msgid "ignoring unknown format specifier character `%c': no argument converted"
+msgstr ""
+
+#: builtin.c:1322
 msgid "not enough arguments to satisfy format string"
 msgstr "argumentos insuficientes para a string de formato"
 
-#: builtin.c:1268
+#: builtin.c:1324
 msgid "^ ran out for this one"
 msgstr "^ acabou para este aqui"
 
-#: builtin.c:1274
+#: builtin.c:1330
 msgid "[s]printf: format specifier does not have control letter"
 msgstr "[s]printf: declara��o de formato n�o tem letra de controle"
 
-#: builtin.c:1277
+#: builtin.c:1333
 msgid "too many arguments supplied for format string"
 msgstr "excesso de argumentos para a string de formato"
 
-#: builtin.c:1352 builtin.c:1355
+#: builtin.c:1408 builtin.c:1411
 msgid "printf: no arguments"
 msgstr "printf: nenhum argumento"
 
-#: builtin.c:1379
+#: builtin.c:1435
 msgid "sqrt: received non-numeric argument"
 msgstr "sqrt: recebeu argumento n�o-num�rico"
 
-#: builtin.c:1383
+#: builtin.c:1439
 #, c-format
 msgid "sqrt: called with negative argument %g"
 msgstr "sqrt: chamada com argumento negativo %g"
 
-#: builtin.c:1407
+#: builtin.c:1463
 #, c-format
 msgid "substr: start index %g is invalid, using 1"
 msgstr "substr: posi��o inicial %g � inv�lida, usando 1"
 
-#: builtin.c:1412
+#: builtin.c:1468
 #, c-format
 msgid "substr: non-integer start index %g will be truncated"
 msgstr "substr: posi��o inicial %g n�o-inteira ser� truncada"
 
-#: builtin.c:1431
+#: builtin.c:1494
 #, fuzzy, c-format
 msgid "substr: length %g is not >= 1"
 msgstr "substr: comprimento %g � <= 0"
 
-#: builtin.c:1433
+#: builtin.c:1496
 #, fuzzy, c-format
 msgid "substr: length %g is not >= 0"
 msgstr "substr: comprimento %g � <= 0"
 
-#: builtin.c:1440
+#: builtin.c:1503
 #, c-format
 msgid "substr: non-integer length %g will be truncated"
 msgstr "substr: comprimento %g n�o-inteiro ser� truncado"
 
-#: builtin.c:1445
+#: builtin.c:1508
 #, c-format
 msgid "substr: length %g too big for string indexing, truncating to %g"
 msgstr "substr: comprimento %g excessivo para indexa��o, truncando para %g"
 
-#: builtin.c:1457
+#: builtin.c:1520
 msgid "substr: source string is zero length"
 msgstr "substr: string origem tem comprimento zero"
 
-#: builtin.c:1473
+#: builtin.c:1536
 #, c-format
 msgid "substr: start index %g is past end of string"
 msgstr "substr: posi��o inicial %g al�m do fim da string"
 
-#: builtin.c:1481
+#: builtin.c:1544
 #, c-format
 msgid ""
 "substr: length %g at start index %g exceeds length of first argument (%lu)"
@@ -601,263 +635,264 @@
 "substr: comprimento %g a partir da posi��o %g excede tamanho do 1� argumento "
 "(%lu)"
 
-#: builtin.c:1558
+#: builtin.c:1621
 msgid "strftime: received non-string first argument"
 msgstr "strftime: recebeu primeiro argumento n�o-string"
 
-#: builtin.c:1564
+#: builtin.c:1627
 msgid "strftime: received empty format string"
 msgstr "strftime: recebeu string de formato vazia"
 
-#: builtin.c:1573
+#: builtin.c:1636
 msgid "strftime: received non-numeric second argument"
 msgstr "strftime: recebeu segundo argumento n�o-num�rico"
 
-#: builtin.c:1650
+#: builtin.c:1713
 msgid "mktime: received non-string argument"
 msgstr "mktime: recebeu argumento n�o-string"
 
-#: builtin.c:1695
+#: builtin.c:1758
 msgid "system: received non-string argument"
 msgstr "system: recebeu argumento n�o-string"
 
-#: builtin.c:1816 eval.c:2041
+#: builtin.c:1879 eval.c:2145
 #, c-format
 msgid "reference to uninitialized field `$%d'"
 msgstr "refer�ncia a campo n�o inicializado `$%d'"
 
-#: builtin.c:1921
+#: builtin.c:1984
 msgid "tolower: received non-string argument"
 msgstr "tolower: recebeu argumento n�o-string"
 
-#: builtin.c:1951
+#: builtin.c:2014
 msgid "toupper: received non-string argument"
 msgstr "toupper: recebeu argumento n�o-string"
 
-#: builtin.c:1984
+#: builtin.c:2047
 msgid "atan2: received non-numeric first argument"
 msgstr "atan2: recebeu primeiro argumento n�o-num�rico"
 
-#: builtin.c:1986
+#: builtin.c:2049
 msgid "atan2: received non-numeric second argument"
 msgstr "atan2: recebeu segundo argumento n�o-num�rico"
 
-#: builtin.c:2005
+#: builtin.c:2068
 msgid "sin: received non-numeric argument"
 msgstr "sin: recebeu argumento n�o-num�rico"
 
-#: builtin.c:2021
+#: builtin.c:2084
 msgid "cos: received non-numeric argument"
 msgstr "cos: recebeu argumento n�o-num�rico"
 
-#: builtin.c:2071
+#: builtin.c:2137
 msgid "srand: received non-numeric argument"
 msgstr "srand: recebeu argumento n�o-num�rico"
 
-#: builtin.c:2106
+#: builtin.c:2172
 msgid "match: third argument is not an array"
 msgstr "match: terceiro argumento n�o � um vetor"
 
-#: builtin.c:2650
+#: builtin.c:2719
+#, fuzzy
 msgid "gensub: third argument of 0 treated as 1"
 msgstr "gensub: 3� argumento 0 tratado como 1"
 
-#: builtin.c:2766
+#: builtin.c:2835
 msgid "lshift: received non-numeric first argument"
 msgstr "lshift: recebeu primeiro argumento n�o-num�rico"
 
-#: builtin.c:2768
+#: builtin.c:2837
 #, fuzzy
 msgid "lshift: received non-numeric second argument"
 msgstr "strftime: recebeu segundo argumento n�o-num�rico"
 
-#: builtin.c:2774
+#: builtin.c:2843
 #, c-format
 msgid "lshift(%lf, %lf): negative values will give strange results"
 msgstr "lshift(%lf, %lf): valores negativos dar�o resultados estranhos"
 
-#: builtin.c:2776
+#: builtin.c:2845
 #, c-format
 msgid "lshift(%lf, %lf): fractional values will be truncated"
 msgstr "lshift(%lf, %lf): valores fracion�rios ser�o truncados"
 
-#: builtin.c:2778
+#: builtin.c:2847
 #, c-format
 msgid "lshift(%lf, %lf): too large shift value will give strange results"
 msgstr "lshift(%lf, %lf): deslocamento excessivo dar� resultados estranhos"
 
-#: builtin.c:2804
+#: builtin.c:2873
 msgid "rshift: received non-numeric first argument"
 msgstr "rshift: recebeu primeiro argumento n�o-num�rico"
 
-#: builtin.c:2806
+#: builtin.c:2875
 #, fuzzy
 msgid "rshift: received non-numeric second argument"
 msgstr "strftime: recebeu segundo argumento n�o-num�rico"
 
-#: builtin.c:2812
+#: builtin.c:2881
 #, c-format
 msgid "rshift(%lf, %lf): negative values will give strange results"
 msgstr "rshift(%lf, %lf): valores negativos dar�o resultados estranhos"
 
-#: builtin.c:2814
+#: builtin.c:2883
 #, c-format
 msgid "rshift(%lf, %lf): fractional values will be truncated"
 msgstr "rshift(%lf, %lf): valores fracion�rios ser�o truncados"
 
-#: builtin.c:2816
+#: builtin.c:2885
 #, c-format
 msgid "rshift(%lf, %lf): too large shift value will give strange results"
 msgstr "rshift(%lf, %lf): deslocamento excessivo dar� resultados estranhos"
 
-#: builtin.c:2842
+#: builtin.c:2911
 msgid "and: received non-numeric first argument"
 msgstr "and: recebeu primeiro argumento n�o-num�rico"
 
-#: builtin.c:2844
+#: builtin.c:2913
 #, fuzzy
 msgid "and: received non-numeric second argument"
 msgstr "atan2: recebeu segundo argumento n�o-num�rico"
 
-#: builtin.c:2850
+#: builtin.c:2919
 #, c-format
 msgid "and(%lf, %lf): negative values will give strange results"
 msgstr "and(%lf, %lf): valores negativos dar�o resultados estranhos"
 
-#: builtin.c:2852
+#: builtin.c:2921
 #, c-format
 msgid "and(%lf, %lf): fractional values will be truncated"
 msgstr "and(%lf, %lf): valores fracion�rios ser�o truncados"
 
-#: builtin.c:2878
+#: builtin.c:2947
 msgid "or: received non-numeric first argument"
 msgstr "or: recebeu primeiro argumento n�o-num�rico"
 
-#: builtin.c:2880
+#: builtin.c:2949
 #, fuzzy
 msgid "or: received non-numeric second argument"
 msgstr "atan2: recebeu segundo argumento n�o-num�rico"
 
-#: builtin.c:2886
+#: builtin.c:2955
 #, c-format
 msgid "or(%lf, %lf): negative values will give strange results"
 msgstr "or(%lf, %lf): valores negativos dar�o resultados estranhos"
 
-#: builtin.c:2888
+#: builtin.c:2957
 #, c-format
 msgid "or(%lf, %lf): fractional values will be truncated"
 msgstr "or(%lf, %lf): valores fracion�rios ser�o truncados"
 
-#: builtin.c:2914
+#: builtin.c:2983
 msgid "xor: received non-numeric first argument"
 msgstr "xor: recebeu primeiro argumento n�o-num�rico"
 
-#: builtin.c:2916
+#: builtin.c:2985
 #, fuzzy
 msgid "xor: received non-numeric second argument"
 msgstr "atan2: recebeu segundo argumento n�o-num�rico"
 
-#: builtin.c:2922
+#: builtin.c:2991
 #, c-format
 msgid "xor(%lf, %lf): negative values will give strange results"
 msgstr "xor(%lf, %lf): valores negativos dar�o resultados estranhos"
 
-#: builtin.c:2924
+#: builtin.c:2993
 #, c-format
 msgid "xor(%lf, %lf): fractional values will be truncated"
 msgstr "xor(%lf, %lf): valores fracion�rios ser�o truncados"
 
-#: builtin.c:2948
+#: builtin.c:3017
 msgid "compl: received non-numeric argument"
 msgstr "compl: recebeu primeiro argumento n�o-num�rico"
 
-#: builtin.c:2954
+#: builtin.c:3023
 #, c-format
 msgid "compl(%lf): negative value will give strange results"
 msgstr "compl(%lf): valores negativos dar�o resultados estranhos"
 
-#: builtin.c:2956
+#: builtin.c:3025
 #, c-format
 msgid "compl(%lf): fractional value will be truncated"
 msgstr "compl(%lf): valores fracion�rios ser�o truncados"
 
-#: builtin.c:3129
+#: builtin.c:3198
 #, c-format
 msgid "dcgettext: `%s' is not a valid locale category"
 msgstr "dcgettext: `%s' n�o � uma categoria de \"locale\" v�lida"
 
-#: eval.c:303
+#: eval.c:372
 #, c-format
 msgid "unknown nodetype %d"
 msgstr "tipo de nodo desconhecido %d"
 
-#: eval.c:353
+#: eval.c:422
 msgid "buffer overflow in genflags2str"
 msgstr "estouro de buffer em genflags2str"
 
-#: eval.c:385 eval.c:391 profile.c:817
+#: eval.c:454 eval.c:460 profile.c:781
 #, c-format
 msgid "attempt to use array `%s' in a scalar context"
 msgstr "tentativa de usar vetor `%s' em um contexto escalar"
 
-#: eval.c:733
+#: eval.c:802
 #, c-format
 msgid "for loop: array `%s' changed size from %ld to %ld during loop execution"
 msgstr ""
 "loop for: vetor `%s' mudou de tamanho de %ld para %ld durante a execu��o"
 
-#: eval.c:754
+#: eval.c:823
 msgid "`break' outside a loop is not portable"
 msgstr "`break' fora de um loop n�o � port�vel"
 
-#: eval.c:758
+#: eval.c:827
 msgid "`break' outside a loop is not allowed"
 msgstr "`break' fora de um loop n�o � permitido"
 
-#: eval.c:775
+#: eval.c:844
 msgid "`continue' outside a loop is not portable"
 msgstr "`continue' fora de um loop n�o � port�vel"
 
-#: eval.c:779
+#: eval.c:848
 msgid "`continue' outside a loop is not allowed"
 msgstr "`continue' fora de um loop n�o � permitido"
 
-#: eval.c:813
+#: eval.c:882
 msgid "`next' cannot be called from a BEGIN rule"
 msgstr "`next' n�o pode ser chamado de uma regra BEGIN"
 
-#: eval.c:815
+#: eval.c:884
 msgid "`next' cannot be called from an END rule"
 msgstr "`next' n�o pode ser chamado de uma regra END"
 
-#: eval.c:824
+#: eval.c:893
 msgid "`nextfile' cannot be called from a BEGIN rule"
 msgstr "`nextfile' n�o pode ser chamado de uma regra BEGIN"
 
-#: eval.c:826
+#: eval.c:895
 msgid "`nextfile' cannot be called from an END rule"
 msgstr "`nextfile' n�o pode ser chamado de uma regra END"
 
-#: eval.c:875
+#: eval.c:952
 msgid "statement has no effect"
 msgstr "declara��o n�o tem efeito"
 
-#: eval.c:952 eval.c:1895
+#: eval.c:1029 eval.c:1999
 #, c-format
 msgid "can't use function name `%s' as variable or array"
 msgstr "n�o se pode usar o nome de fun��o `%s' como vari�vel ou vetor"
 
-#: eval.c:959 eval.c:965
+#: eval.c:1036 eval.c:1042
 #, c-format
 msgid "reference to uninitialized argument `%s'"
 msgstr "refer�ncia a argumento n�o inicializado `%s'"
 
-#: eval.c:974 eval.c:1904
+#: eval.c:1051 eval.c:2008
 #, c-format
 msgid "reference to uninitialized variable `%s'"
 msgstr "refer�ncia a vari�vel n�o inicializada `%s'"
 
-#: eval.c:1120
+#: eval.c:1197
 msgid ""
 "concatenation: side effects in one expression have changed the length of "
 "another!"
@@ -865,44 +900,39 @@
 "concatena��o: efeitos colaterais em um contexto mudaram o comprimento de "
 "outro!"
 
-#: eval.c:1202
+#: eval.c:1301
 msgid "assignment used in conditional context"
 msgstr "atribui��o usada em contexto condicional"
 
-#: eval.c:1280
+#: eval.c:1379
 msgid "division by zero attempted"
 msgstr "tentativa de divis�o por zero"
 
-#: eval.c:1295
-#, c-format
-msgid "division by zero attempted in `%%'"
-msgstr "tentativa de divis�o por zero em `%%'"
-
-#: eval.c:1310 profile.c:693
+#: eval.c:1409 profile.c:657
 #, c-format
 msgid "illegal type (%s) in tree_eval"
 msgstr "tipo ilegal (%s) em tree_eval"
 
-#: eval.c:1473
+#: eval.c:1572
 msgid "division by zero attempted in `/='"
 msgstr "tentativa de divis�o por zero em `/='"
 
-#: eval.c:1495
+#: eval.c:1594
 #, c-format
 msgid "division by zero attempted in `%%='"
 msgstr "tentativa de divis�o por zero em `%%='"
 
-#: eval.c:1760
+#: eval.c:1859
 #, c-format
 msgid "function `%s' called with more arguments than declared"
 msgstr "fun��o `%s' chamada com mais argumentos que os declarados"
 
-#: eval.c:1804
+#: eval.c:1904
 #, c-format
 msgid "function `%s' not defined"
 msgstr "fun��o `%s' n�o definida"
 
-#: eval.c:1867
+#: eval.c:1971
 #, c-format
 msgid ""
 "\n"
@@ -913,42 +943,47 @@
 "\t# Pilha de Chamadas de Fun��o:\n"
 "\n"
 
-#: eval.c:1870
+#: eval.c:1974
 #, c-format
 msgid "\t# -- main --\n"
 msgstr "\t# -- main --\n"
 
-#: eval.c:2025
+#: eval.c:2129
 msgid "attempt to field reference from non-numeric value"
 msgstr "tentativa de refer�ncia a campo a partir de valor n�o-num�rico"
 
-#: eval.c:2027
+#: eval.c:2131
 msgid "attempt to reference from null string"
 msgstr "tentativa de refer�ncia a partir de string nula"
 
-#: eval.c:2033
+#: eval.c:2137
 #, c-format
 msgid "attempt to access field %d"
 msgstr "tentativa de acessar campo %d"
 
-#: eval.c:2054 eval.c:2061 profile.c:914
+#: eval.c:2158 eval.c:2165 profile.c:836
 msgid "assignment is not allowed to result of builtin function"
 msgstr "atribui��o n�o pode resultar de fun��es intr�nsecas"
 
-#: eval.c:2125
+#: eval.c:2229
 msgid "`IGNORECASE' is a gawk extension"
 msgstr "`IGNORECASE' � uma extens�o do gawk"
 
-#: eval.c:2155
+#: eval.c:2258
 msgid "`BINMODE' is a gawk extension"
 msgstr "`BINMODE' � uma extens�o do gawk"
 
-#: eval.c:2277
+#: eval.c:2316
+#, c-format
+msgid "BINMODE value `%s' is invalid, treated as 3"
+msgstr ""
+
+#: eval.c:2406
 #, c-format
 msgid "bad `%sFMT' specification `%s'"
 msgstr "especifica��o `%sFMT' inv�lida `%s'"
 
-#: eval.c:2355
+#: eval.c:2484
 msgid "turning off `--lint' due to assignment to `LINT'"
 msgstr "desativando `--lint' devido a atribui��o a `LINT'"
 
@@ -1023,555 +1058,563 @@
 msgid "NF set to negative value"
 msgstr "valor negativo atribu�do a NF"
 
-#: field.c:823
+#: field.c:875
 msgid "split: second argument is not an array"
 msgstr "split: segundo argumento n�o � um vetor"
 
-#: field.c:857
+#: field.c:909
 msgid "split: null string for third arg is a gawk extension"
 msgstr "split: string nula para segundo argumento � uma extens�o do gawk"
 
-#: field.c:909
+#: field.c:961
 msgid "`FIELDWIDTHS' is a gawk extension"
 msgstr "`FIELDWIDTHS' � uma extens�o do gawk"
 
-#: field.c:939 field.c:953
+#: field.c:991 field.c:1005
 #, c-format
 msgid "invalid FIELDWIDTHS value, near `%s'"
 msgstr ""
 
-#: field.c:1036
+#: field.c:1088
 msgid "null string for `FS' is a gawk extension"
 msgstr "string nula para `FS' � uma extens�o do gawk"
 
-#: field.c:1040
+#: field.c:1092
 #, fuzzy
 msgid "old awk does not support regexps as value of `FS'"
 msgstr "o velho awk n�o suporta o operador `**'"
 
-#: getopt.c:571 getopt.c:587
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
+#: getopt.c:570 getopt.c:586
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
 msgstr "%s: op��o `%s' � amb�gua\n"
 
-#: getopt.c:620 getopt.c:624
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
+#: getopt.c:619 getopt.c:623
+#, fuzzy, c-format
+msgid "%s: option '--%s' doesn't allow an argument\n"
 msgstr "%s: op��o `--%s' n�o aceita argumento\n"
 
-#: getopt.c:633 getopt.c:638
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
+#: getopt.c:632 getopt.c:637
+#, fuzzy, c-format
+msgid "%s: option '%c%s' doesn't allow an argument\n"
 msgstr "%s: op��o `%c%s' n�o aceita argumento\n"
 
-#: getopt.c:681 getopt.c:700 getopt.c:1016 getopt.c:1035
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
+#: getopt.c:680 getopt.c:699 getopt.c:1002 getopt.c:1021
+#, fuzzy, c-format
+msgid "%s: option '%s' requires an argument\n"
 msgstr "%s: op��o `%s' requer argumento\n"
 
-#: getopt.c:738 getopt.c:741
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
+#: getopt.c:737 getopt.c:740
+#, fuzzy, c-format
+msgid "%s: unrecognized option '--%s'\n"
 msgstr "%s: op��o n�o reconhecida `--%s'\n"
 
-#: getopt.c:749 getopt.c:752
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
+#: getopt.c:748 getopt.c:751
+#, fuzzy, c-format
+msgid "%s: unrecognized option '%c%s'\n"
 msgstr "%s: op��o n�o reconhecida `%c%s'\n"
 
-#: getopt.c:804 getopt.c:807
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: op��o ilegal -- %c\n"
-
-#: getopt.c:813 getopt.c:816
-#, c-format
-msgid "%s: invalid option -- %c\n"
+#: getopt.c:800 getopt.c:803
+#, fuzzy, c-format
+msgid "%s: invalid option -- '%c'\n"
 msgstr "%s: op��o inv�lida -- %c\n"
 
-#: getopt.c:868 getopt.c:884 getopt.c:1088 getopt.c:1106 main.c:461
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
+#: getopt.c:853 getopt.c:870 getopt.c:1073 getopt.c:1091
+#, fuzzy, c-format
+msgid "%s: option requires an argument -- '%c'\n"
 msgstr "%s: op��o requer argumento -- %c\n"
 
-#: getopt.c:937 getopt.c:953
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
+#: getopt.c:923 getopt.c:939
+#, fuzzy, c-format
+msgid "%s: option '-W %s' is ambiguous\n"
 msgstr "%s: op��o `-W %s' � amb�gua\n"
 
-#: getopt.c:977 getopt.c:995
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
+#: getopt.c:963 getopt.c:981
+#, fuzzy, c-format
+msgid "%s: option '-W %s' doesn't allow an argument\n"
 msgstr "%s: op��o `-W %s' n�o aceita argumento\n"
 
-#: io.c:345
+#: io.c:322 io.c:352
 #, c-format
 msgid "cannot open file `%s' for reading (%s)"
 msgstr "imposs�vel abrir arquivo `%s' para leitura (%s)"
 
-#: io.c:436
+#: io.c:443
 #, c-format
 msgid "close of fd %d (`%s') failed (%s)"
 msgstr "fechamento do descritor %d (`%s') falhou (%s)"
 
-#: io.c:575
+#: io.c:583
 #, c-format
 msgid "invalid tree type %s in redirect()"
 msgstr "tipo de �rvore %s inv�lido em redirect()"
 
-#: io.c:581
+#: io.c:589
 #, c-format
 msgid "expression in `%s' redirection only has numeric value"
 msgstr "express�o no redirecionamento `%s' s� tem valor num�rico"
 
-#: io.c:587
+#: io.c:595
 #, c-format
 msgid "expression for `%s' redirection has null string value"
 msgstr "express�o para o redirecionamento `%s' tem valor string nulo"
 
-#: io.c:592
+#: io.c:600
 #, c-format
 msgid "filename `%s' for `%s' redirection may be result of logical expression"
 msgstr ""
 "nome de arquivo `%s' para redirecionamento `%s' pode ser resultado de "
 "express�o l�gica"
 
-#: io.c:630
+#: io.c:638
 #, c-format
 msgid "unnecessary mixing of `>' and `>>' for file `%.*s'"
 msgstr "mistura desnecess�ria de `>' e `>>' para arquivo `%.*s'"
 
-#: io.c:682
+#: io.c:685
 #, c-format
 msgid "can't open pipe `%s' for output (%s)"
 msgstr "imposs�vel abrir pipe `%s' para sa�da (%s)"
 
-#: io.c:691
+#: io.c:694
 #, c-format
 msgid "can't open pipe `%s' for input (%s)"
 msgstr "imposs�vel abrir pipe `%s' para entrada (%s)"
 
-#: io.c:698 io.c:1448
-#, c-format
-msgid "file `%s' is a directory"
-msgstr "arquivo `%s' � um diret�rio"
-
-#: io.c:706
+#: io.c:712
 #, c-format
 msgid "can't open two way socket `%s' for input/output (%s)"
 msgstr "imposs�vel abrir socket bidirecional `%s' para entrada/sa�da (%s)"
 
-#: io.c:710
+#: io.c:716
 #, c-format
 msgid "can't open two way pipe `%s' for input/output (%s)"
 msgstr "imposs�vel abrir pipe bidirecional `%s' para entrada/sa�da (%s)"
 
-#: io.c:786
+#: io.c:793
 #, c-format
 msgid "can't redirect from `%s' (%s)"
 msgstr "imposs�vel redirecionar de `%s' (%s)"
 
-#: io.c:789
+#: io.c:796
 #, c-format
 msgid "can't redirect to `%s' (%s)"
 msgstr "imposs�vel redirecionar para `%s' (%s)"
 
-#: io.c:828
+#: io.c:849
 msgid ""
 "reached system limit for open files: starting to multiplex file descriptors"
 msgstr ""
 "alcan�ado limite do sistema para arquivos abertos; come�ando a multiplexar "
 "descritores de arquivos"
 
-#: io.c:844
+#: io.c:865
 #, c-format
 msgid "close of `%s' failed (%s)."
 msgstr "fechamento de `%s' falhou (%s)"
 
-#: io.c:852
+#: io.c:873
 msgid "too many pipes or input files open"
 msgstr "excesso de pipes ou arquivos de entrada abertos"
 
-#: io.c:875
+#: io.c:896
 msgid "close: second argument must be `to' or `from'"
 msgstr "close: segundo argumento deve ser `to' ou `from'"
 
-#: io.c:889
+#: io.c:910
 #, c-format
 msgid "close: `%.*s' is not an open file, pipe or co-process"
 msgstr "close: `%.*s' n�o � um arquivo aberto, pipe ou co-processo"
 
-#: io.c:893
+#: io.c:915
 msgid "close of redirection that was never opened"
 msgstr "fechamento de redirecionamento que nunca foi aberto"
 
-#: io.c:989
+#: io.c:1012
 #, c-format
 msgid "close: redirection `%s' not opened with `|&', second argument ignored"
 msgstr ""
 "close: redirecionamento `%s' n�o foi aberto com `|&', segundo argumento "
 "ignorado"
 
-#: io.c:1005
+#: io.c:1028
 #, c-format
 msgid "failure status (%d) on pipe close of `%s' (%s)"
 msgstr "status de falha (%d) ao fechar pipe de `%s' (%s)"
 
-#: io.c:1008
+#: io.c:1031
 #, c-format
 msgid "failure status (%d) on file close of `%s' (%s)"
 msgstr "status de falha (%d) ao fechar arquivo de `%s' (%s)"
 
-#: io.c:1028
+#: io.c:1051
 #, c-format
 msgid "no explicit close of socket `%s' provided"
 msgstr "fechamento expl�cito do socket `%s' n�o fornecido"
 
-#: io.c:1031
+#: io.c:1054
 #, c-format
 msgid "no explicit close of co-process `%s' provided"
 msgstr "fechamento expl�cito do co-processo `%s' n�o fornecido"
 
-#: io.c:1034
+#: io.c:1057
 #, c-format
 msgid "no explicit close of pipe `%s' provided"
 msgstr "fechamento expl�cito do pipe `%s' n�o fornecido"
 
-#: io.c:1037
+#: io.c:1060
 #, c-format
 msgid "no explicit close of file `%s' provided"
 msgstr "fechamento expl�cito do arquivo `%s' n�o fornecido"
 
-#: io.c:1066 io.c:1121 main.c:749 main.c:791
+#: io.c:1088 io.c:1143 main.c:776 main.c:818
 #, c-format
 msgid "error writing standard output (%s)"
 msgstr "erro ao escrever na sa�da padr�o (%s)"
 
-#: io.c:1070 io.c:1126
+#: io.c:1092 io.c:1148
 #, c-format
 msgid "error writing standard error (%s)"
 msgstr "erro ao escrever na sa�da padr�o de erros (%s)"
 
-#: io.c:1078
+#: io.c:1100
 #, c-format
 msgid "pipe flush of `%s' failed (%s)."
 msgstr "descarga de pipe de `%s' falhou (%s)."
 
-#: io.c:1081
+#: io.c:1103
 #, c-format
 msgid "co-process flush of pipe to `%s' failed (%s)."
 msgstr "descarga de co-processo de pipe para `%s' falhou (%s)."
 
-#: io.c:1084
+#: io.c:1106
 #, c-format
 msgid "file flush of `%s' failed (%s)."
 msgstr "descarga de arquivo de `%s' falhou (%s)."
 
-#: io.c:1198
+#: io.c:1220
 #, fuzzy, c-format
 msgid "local port %s invalid in `/inet'"
 msgstr "porta local inv�lida em `%s'"
 
-#: io.c:1215
+#: io.c:1237
 #, c-format
 msgid "remote host and port information (%s, %s) invalid"
 msgstr ""
 
-#: io.c:1250
+#: io.c:1272
 msgid "/inet/raw client not ready yet, sorry"
 msgstr "infelizmente, o cliente de /inet/raw n�o est� conclu�do"
 
-#: io.c:1253 io.c:1289
+#: io.c:1275 io.c:1311
 msgid "only root may use `/inet/raw'."
 msgstr "apenas root pode usar `/inet/raw'."
 
-#: io.c:1287
+#: io.c:1309
 msgid "/inet/raw server not ready yet, sorry"
 msgstr "infelizmente, o servidor de /inet/raw n�o est� conclu�do"
 
-#: io.c:1385
+#: io.c:1407
 #, c-format
 msgid "no (known) protocol supplied in special filename `%s'"
 msgstr ""
 "nenhum protocolo (conhecido) fornecido em nome de arquivo especial `%s'"
 
-#: io.c:1399
+#: io.c:1421
 #, c-format
 msgid "special file name `%s' is incomplete"
 msgstr "nome de arquivo especial `%s' est� incompleto"
 
-#: io.c:1414
+#: io.c:1436
 msgid "must supply a remote hostname to `/inet'"
 msgstr "deve ser fornecido um nome de host remoto para `/inet'"
 
-#: io.c:1432
+#: io.c:1454
 msgid "must supply a remote port to `/inet'"
 msgstr "deve ser fornecida uma porta remota para `/inet'"
 
-#: io.c:1439
+#: io.c:1485
 msgid "TCP/IP communications are not supported"
 msgstr "comunica��o TCP/IP n�o � suportada"
 
-#: io.c:1509
+#: io.c:1494
+#, c-format
+msgid "file `%s' is a directory"
+msgstr "arquivo `%s' � um diret�rio"
+
+#: io.c:1555
 #, c-format
 msgid "use `PROCINFO[\"%s\"]' instead of `%s'"
 msgstr "use `PROCINFO[\"%s\"]' em vez de `%s'"
 
-#: io.c:1547
+#: io.c:1593
 msgid "use `PROCINFO[...]' instead of `/dev/user'"
 msgstr "use `PROCINFO[...]' em vez de `/dev/user'"
 
-#: io.c:1612 io.c:1798
+#: io.c:1658 io.c:1853
 #, c-format
 msgid "could not open `%s', mode `%s'"
 msgstr "imposs�vel abrir `%s', modo `%s'"
 
-#: io.c:1849
+#: io.c:1904
 #, c-format
 msgid "close of master pty failed (%s)"
 msgstr "falha ao fechar pty mestre (%s)"
 
-#: io.c:1851 io.c:2003 io.c:2154
+#: io.c:1906 io.c:2058 io.c:2209
 #, c-format
 msgid "close of stdout in child failed (%s)"
 msgstr "falha ao fechar stdout em filho (%s)"
 
-#: io.c:1854
+#: io.c:1909
 #, c-format
 msgid "moving slave pty to stdout in child failed (dup: %s)"
 msgstr "falha ao mover pty escrava para stdout em filho (dup: %s)"
 
-#: io.c:1856 io.c:2008
+#: io.c:1911 io.c:2063
 #, c-format
 msgid "close of stdin in child failed (%s)"
 msgstr "falha ao fechar stdin em filho (%s)"
 
-#: io.c:1859
+#: io.c:1914
 #, c-format
 msgid "moving slave pty to stdin in child failed (dup: %s)"
 msgstr "falha ao mover pty escrava para stdin em filho (dup: %s)"
 
-#: io.c:1861 io.c:1880
+#: io.c:1916 io.c:1935
 #, c-format
 msgid "close of slave pty failed (%s)"
 msgstr "falha ao fechar pty escrava (%s)"
 
-#: io.c:1954 io.c:2006 io.c:2135 io.c:2157
+#: io.c:2009 io.c:2061 io.c:2190 io.c:2212
 #, c-format
 msgid "moving pipe to stdout in child failed (dup: %s)"
 msgstr "falha ao mover pipe para stdout em processo pai (dup: %s)"
 
-#: io.c:1958 io.c:2011
+#: io.c:2013 io.c:2066
 #, c-format
 msgid "moving pipe to stdin in child failed (dup: %s)"
 msgstr "falha ao mover pipe para stdin em processo pai (dup: %s)"
 
-#: io.c:1975 io.c:2148
+#: io.c:2030 io.c:2203
 msgid "restoring stdout in parent process failed\n"
 msgstr "falha ao restaurar stdout em processo pai\n"
 
-#: io.c:1980
+#: io.c:2035
 msgid "restoring stdin in parent process failed\n"
 msgstr "falha ao restaurar stdin em processo pai\n"
 
-#: io.c:2014 io.c:2159 io.c:2170
+#: io.c:2069 io.c:2214 io.c:2225
 #, c-format
 msgid "close of pipe failed (%s)"
 msgstr "falha ao fechar pipe (%s)"
 
-#: io.c:2059
+#: io.c:2114
 msgid "`|&' not supported"
 msgstr "`|&' n�o suportado"
 
-#: io.c:2125
+#: io.c:2180
 #, c-format
 msgid "cannot open pipe `%s' (%s)"
 msgstr "imposs�vel abrir pipe `%s' (%s)"
 
-#: io.c:2166
+#: io.c:2221
 #, c-format
 msgid "cannot create child process for `%s' (fork: %s)"
 msgstr "imposs�vel criar processo filho para `%s' (fork: %s)"
 
-#: io.c:2548
+#: io.c:2603
 #, c-format
 msgid "data file `%s' is empty"
 msgstr "arquivo de dados `%s' vazio"
 
-#: io.c:2589 io.c:2597
+#: io.c:2644 io.c:2652
 msgid "could not allocate more input memory"
 msgstr "imposs�vel alocar mais mem�ria de entrada"
 
-#: io.c:2965 io.c:3038
+#: io.c:3020 io.c:3093
 #, c-format
 msgid "error reading input file `%s': %s"
 msgstr "erro ao ler arquivo de entrada `%s': %s"
 
-#: io.c:3163
+#: io.c:3218
 msgid "multicharacter value of `RS' is a gawk extension"
 msgstr "valor de m�ltiplos caracteres para `RS' � uma extens�o do gawk"
 
-#: main.c:351
+#: main.c:304
+msgid "out of memory"
+msgstr ""
+
+#: main.c:373
 msgid "`-m[fr]' option irrelevant in gawk"
 msgstr "op��o `-m[fr] � irrelevante no gawk"
 
-#: main.c:353
+#: main.c:375
 msgid "-m option usage: `-m[fr] nnn'"
 msgstr "uso da op��o -m: `-m[fr] nnn'"
 
-#: main.c:370
+#: main.c:392
 #, c-format
 msgid "%s: option `-W %s' unrecognized, ignored\n"
 msgstr "%s: op��o `-W %s' n�o reconhecida, ignorada\n"
 
-#: main.c:407
+#: main.c:433
 msgid "empty argument to `--source' ignored"
 msgstr "argumento vazio para --source ignorado"
 
-#: main.c:480
+#: main.c:487
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: op��o requer argumento -- %c\n"
+
+#: main.c:506
 msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'"
 msgstr "vari�vel de ambiente `POSIXLY_CORRECT' ativada: ligando `--posix'"
 
-#: main.c:486
+#: main.c:512
 msgid "`--posix' overrides `--traditional'"
 msgstr "`--posix' sobrep�e `--traditional'"
 
-#: main.c:497
+#: main.c:523
 msgid "`--posix'/`--traditional' overrides `--non-decimal-data'"
 msgstr "`--posix'/`--traditional' sobrep�e `--non-decimal-data'"
 
-#: main.c:501
+#: main.c:527
 #, c-format
 msgid "running %s setuid root may be a security problem"
 msgstr "rodar %s com setuid root pode ser um problema de seguran�a"
 
-#: main.c:542
+#: main.c:568
 #, c-format
 msgid "can't set binary mode on stdin (%s)"
 msgstr "imposs�vel ativar modo bin�rio em stdin (%s)"
 
-#: main.c:545
+#: main.c:571
 #, c-format
 msgid "can't set binary mode on stdout (%s)"
 msgstr "imposs�vel ativar modo bin�rio em stdout (%s)"
 
-#: main.c:547
+#: main.c:573
 #, c-format
 msgid "can't set binary mode on stderr (%s)"
 msgstr "imposs�vel ativar modo bin�rio em stderr (%s)"
 
-#: main.c:586
+#: main.c:612
 msgid "no program text at all!"
 msgstr "nenhum texto de programa"
 
-#: main.c:690
+#: main.c:716
 #, c-format
 msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n"
 msgstr "Uso: %s [op��es estilo POSIX ou GNU] -f arqprog [--] arquivo ...\n"
 
-#: main.c:692
+#: main.c:718
 #, c-format
 msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n"
 msgstr "Uso: %s [op��es estilo POSIX ou GNU] [--]  %cprograma%c arquivo ...\n"
 
-#: main.c:697
+#: main.c:723
 msgid "POSIX options:\t\tGNU long options:\n"
 msgstr "Op��es POSIX: \t\tOp��es longas GNU:\n"
 
-#: main.c:698
+#: main.c:724
 msgid "\t-f progfile\t\t--file=progfile\n"
 msgstr "\t-f arqprog \t\t--file=arqprog\n"
 
-#: main.c:699
+#: main.c:725
 msgid "\t-F fs\t\t\t--field-separator=fs\n"
 msgstr "\t-F fs\t\t\t--field-separator=fs\n"
 
-#: main.c:700
+#: main.c:726
 msgid "\t-v var=val\t\t--assign=var=val\n"
 msgstr "\t-v var=val\t\t--assign=var=val\n"
 
-#: main.c:701
+#: main.c:727
 msgid "\t-m[fr] val\n"
 msgstr "\t-m[fr] val\n"
 
-#: main.c:702
+#: main.c:728
+msgid "\t-O\t\t\t--optimize\n"
+msgstr ""
+
+#: main.c:729
 msgid "\t-W compat\t\t--compat\n"
 msgstr "\t-W compat\t\t--compat\n"
 
-#: main.c:703
+#: main.c:730
 msgid "\t-W copyleft\t\t--copyleft\n"
 msgstr "\t-W copyleft\t\t--copyleft\n"
 
-#: main.c:704
+#: main.c:731
 msgid "\t-W copyright\t\t--copyright\n"
 msgstr "\t-W copyright\t\t--copyright\n"
 
-#: main.c:705
+#: main.c:732
 msgid "\t-W dump-variables[=file]\t--dump-variables[=file]\n"
 msgstr "\t-W dump-variables[=arq] \t--dump-variables[=arq]\n"
 
-#: main.c:706
+#: main.c:733
 #, fuzzy
 msgid "\t-W exec=file\t\t--exec=file\n"
 msgstr "\t-W profile[=arq] \t--profile[=arq]\n"
 
-#: main.c:707
+#: main.c:734
 msgid "\t-W gen-po\t\t--gen-po\n"
 msgstr "\t-W gen-po\t\t--gen-po\n"
 
-#: main.c:708
+#: main.c:735
 msgid "\t-W help\t\t\t--help\n"
 msgstr "\t-W help\t\t\t--help\n"
 
-#: main.c:709
+#: main.c:736
 msgid "\t-W lint[=fatal]\t\t--lint[=fatal]\n"
 msgstr "\t-W lint[=fatal]\t\t--lint[=fatal]\n"
 
-#: main.c:710
+#: main.c:737
 msgid "\t-W lint-old\t\t--lint-old\n"
 msgstr "\t-W lint-old\t\t--lint-old\n"
 
-#: main.c:711
+#: main.c:738
 msgid "\t-W non-decimal-data\t--non-decimal-data\n"
 msgstr "\t-W non-decimal-data\t--non-decimal-data\n"
 
-#: main.c:713
+#: main.c:740
 msgid "\t-W nostalgia\t\t--nostalgia\n"
 msgstr "\t-W nostalgia\t\t--nostalgia\n"
 
-#: main.c:716
+#: main.c:743
 msgid "\t-W parsedebug\t\t--parsedebug\n"
 msgstr "\t-W parsedebug\t\t--parsedebug\n"
 
-#: main.c:718
+#: main.c:745
 msgid "\t-W profile[=file]\t--profile[=file]\n"
 msgstr "\t-W profile[=arq] \t--profile[=arq]\n"
 
-#: main.c:719
+#: main.c:746
 msgid "\t-W posix\t\t--posix\n"
 msgstr "\t-W posix\t\t--posix\n"
 
-#: main.c:720
+#: main.c:747
 msgid "\t-W re-interval\t\t--re-interval\n"
 msgstr "\t-W re-interval\t\t--re-interval\n"
 
-#: main.c:721
+#: main.c:748
 msgid "\t-W source=program-text\t--source=program-text\n"
 msgstr "\t-W source=program-text\t--source=program-text\n"
 
-#: main.c:722
+#: main.c:749
 msgid "\t-W traditional\t\t--traditional\n"
 msgstr "\t-W traditional\t\t--traditional\n"
 
-#: main.c:723
+#: main.c:750
 msgid "\t-W usage\t\t--usage\n"
 msgstr "\t-W usage\t\t--usage\n"
 
-#: main.c:724
+#: main.c:751
 msgid "\t-W use-lc-numeric\t--use-lc-numeric\n"
 msgstr ""
 
-#: main.c:725
+#: main.c:752
 msgid "\t-W version\t\t--version\n"
 msgstr "\t-W version\t\t--version\n"
 
@@ -1580,7 +1623,7 @@
 #. for this application.  Please add _another line_ with the
 #. address for translation bugs.
 #. no-wrap
-#: main.c:734
+#: main.c:761
 msgid ""
 "\n"
 "To report bugs, see node `Bugs' in `gawk.info', which is\n"
@@ -1592,7 +1635,7 @@
 "se��o `Reportando Problemas e Bugs' na vers�o impressa.\n"
 "\n"
 
-#: main.c:738
+#: main.c:765
 msgid ""
 "gawk is a pattern scanning and processing language.\n"
 "By default it reads standard input and writes standard output.\n"
@@ -1602,7 +1645,7 @@
 "Por padr�o, o gawk l� a entrada padr�o e escreve na sa�da padr�o.\n"
 "\n"
 
-#: main.c:742
+#: main.c:769
 msgid ""
 "Examples:\n"
 "\tgawk '{ sum += $1 }; END { print sum }' file\n"
@@ -1612,8 +1655,8 @@
 "\tgawk '{ soma += $1 }; END { print soma }' arquivo\n"
 "\tgawk -F: '{ print $1 }' /etc/passwd\n"
 
-#: main.c:762
-#, c-format
+#: main.c:789
+#, fuzzy, c-format
 msgid ""
 "Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
 "\n"
@@ -1627,11 +1670,11 @@
 "\n"
 "Este programa � Software Livre; voc� pode redistribu�-lo e/ou modific�-lo\n"
 "de acordo com os termos da Licen�a P�blica Geral GNU (GNU GPL) na "
-"formapublicada pela Free Software Foundation; ou a vers�o 3 da licen�a ou "
+"formapublicada pela Free Software Foundation; ou a vers�o 2 da licen�a ou "
 "(aoseu crit�rio) qualquer vers�o posterior.\n"
 "\n"
 
-#: main.c:770
+#: main.c:797
 msgid ""
 "This program is distributed in the hope that it will be useful,\n"
 "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
@@ -1643,7 +1686,7 @@
 "QUALQUER GARANTIA. Veja a Licen�a P�blica Geral GNU (GNU GPL)\n"
 "para mais detalhes.\n"
 
-#: main.c:781
+#: main.c:808
 #, fuzzy
 msgid ""
 "You should have received a copy of the GNU General Public License\n"
@@ -1651,14 +1694,13 @@
 msgstr ""
 "Voc� deve ter recebido uma c�pia da Licen�a P�blica Geral GNU (GNU GPL)\n"
 "junto com este programa; caso contr�rio, escreva � Free Software\n"
-"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, "
-"USA.\n"
+"Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.\n"
 
-#: main.c:816
+#: main.c:843
 msgid "-Ft does not set FS to tab in POSIX awk"
 msgstr "-Ft n�o faz FS ser tab no awk POSIX"
 
-#: main.c:1060
+#: main.c:1117
 #, c-format
 msgid ""
 "%s: `%s' argument to `-v' not in `var=value' form\n"
@@ -1667,35 +1709,45 @@
 "%s: argumento `%s' para `-v' n�o est� na forma `var=valor'\n"
 "\n"
 
-#: main.c:1080
+#: main.c:1137
 #, c-format
 msgid "`%s' is not a legal variable name"
 msgstr "`%s' n�o � um nome legal de vari�vel"
 
-#: main.c:1083
+#: main.c:1140
 #, c-format
 msgid "`%s' is not a variable name, looking for file `%s=%s'"
 msgstr "`%s' n�o � um nome de vari�vel, procurando arquivo `%s=%s'"
 
-#: main.c:1122
+#: main.c:1179
 msgid "floating point exception"
 msgstr "exce��o de ponto flutuante"
 
-#: main.c:1129
+#: main.c:1186
 msgid "fatal error: internal error"
 msgstr "erro fatal: erro interno"
 
-#: main.c:1180
+#: main.c:1200
+#, fuzzy
+msgid "fatal error: internal error: segfault"
+msgstr "erro fatal: erro interno"
+
+#: main.c:1212
+#, fuzzy
+msgid "fatal error: internal error: stack overflow"
+msgstr "erro fatal: erro interno"
+
+#: main.c:1261
 #, c-format
 msgid "no pre-opened fd %d"
 msgstr "nenhum descritor pr�-aberto %d"
 
-#: main.c:1187
+#: main.c:1268
 #, c-format
 msgid "could not pre-open /dev/null for fd %d"
 msgstr "imposs�vel pr�-abrir /dev/null para descritor %d"
 
-#: main.c:1210 main.c:1219
+#: main.c:1291 main.c:1300
 #, c-format
 msgid "could not find groups: %s"
 msgstr "imposs�vel achar grupos: %s"
@@ -1721,24 +1773,31 @@
 msgid "can't convert string to float"
 msgstr "imposs�vel converter string para float"
 
-#: node.c:406
+#: node.c:462
 msgid "backslash at end of string"
 msgstr "barra invertida (\\) no fim da string"
 
-#: node.c:548
+#: node.c:606
 #, fuzzy, c-format
 msgid "old awk does not support the `\\%c' escape sequence"
 msgstr "o velho awk n�o suporta o operador `**'"
 
-#: node.c:599
+#: node.c:657
 msgid "POSIX does not allow `\\x' escapes"
 msgstr "POSIX n�o permite escapes do tipo `\\x'"
 
-#: node.c:605
+#: node.c:663
 msgid "no hex digits in `\\x' escape sequence"
 msgstr "nenhum d�gito hexa em seq��ncia de escape `\\x'"
 
-#: node.c:639
+#: node.c:685
+#, c-format
+msgid ""
+"hex escape \\x%.*s of %d characters probably not interpreted the way you "
+"expect"
+msgstr ""
+
+#: node.c:700
 #, c-format
 msgid "escape sequence `\\%c' treated as plain `%c'"
 msgstr "seq��ncia de escape `\\%c' tratada como `%c' normal"
@@ -1748,31 +1807,32 @@
 msgid "%s %s `%s': could not set close-on-exec: (fcntl: %s)"
 msgstr "%s %s `%s': imposs�vel ativar fechar-ao-executar: (fcntl: %s)"
 
-#: profile.c:92
+#: profile.c:93
 #, c-format
 msgid "could not open `%s' for writing: %s"
 msgstr "imposs�vel abrir `%s' para escrita: %s"
 
-#: profile.c:450
+#: profile.c:453
 #, c-format
 msgid "internal error: %s with null vname"
 msgstr "erro interno: %s com vname nulo"
 
-#: profile.c:514
+#: profile.c:517
+#, fuzzy
 msgid "# treated internally as `delete'"
 msgstr "# tratado internamente como `delete'"
 
-#: profile.c:1147
+#: profile.c:1069
 #, c-format
 msgid "# this is a dynamically loaded extension function"
 msgstr ""
 
-#: profile.c:1178
+#: profile.c:1100
 #, c-format
 msgid "\t# gawk profile, created %s\n"
 msgstr "\t# perfil gawk, criado %s\n"
 
-#: profile.c:1181
+#: profile.c:1103
 #, c-format
 msgid ""
 "\t# BEGIN block(s)\n"
@@ -1781,7 +1841,7 @@
 "\t# bloco(s) BEGIN\n"
 "\n"
 
-#: profile.c:1191
+#: profile.c:1113
 #, c-format
 msgid ""
 "\t# Rule(s)\n"
@@ -1790,7 +1850,7 @@
 "\t# Regra(s)\n"
 "\n"
 
-#: profile.c:1197
+#: profile.c:1119
 #, c-format
 msgid ""
 "\t# END block(s)\n"
@@ -1799,7 +1859,7 @@
 "\t# bloco(s) END\n"
 "\n"
 
-#: profile.c:1217
+#: profile.c:1139
 #, c-format
 msgid ""
 "\n"
@@ -1808,85 +1868,96 @@
 "\n"
 "\t# Fun��es, listadas alfabeticamente\n"
 
-#: profile.c:1470
+#: profile.c:1400
 #, c-format
 msgid "unexpected type %s in prec_level"
 msgstr "tipo inesperado %s em prec_level"
 
-#: regcomp.c:132
+#: profile.c:1500
+#, fuzzy, c-format
+msgid "Unknown node type %s in pp_var"
+msgstr "tipo de nodo desconhecido %d"
+
+#: regcomp.c:133
 msgid "Success"
 msgstr "Sucesso"
 
-#: regcomp.c:135
+#: regcomp.c:136
 msgid "No match"
 msgstr "Sem combina��o"
 
-#: regcomp.c:138
+#: regcomp.c:139
 msgid "Invalid regular expression"
 msgstr "Express�o regular inv�lida"
 
-#: regcomp.c:141
+#: regcomp.c:142
 msgid "Invalid collation character"
 msgstr "Caracter de combina��o inv�lido"
 
-#: regcomp.c:144
+#: regcomp.c:145
 msgid "Invalid character class name"
 msgstr "Nome de classe de caracter inv�lido"
 
-#: regcomp.c:147
+#: regcomp.c:148
 msgid "Trailing backslash"
 msgstr "contra-barra (\\) finalizando"
 
-#: regcomp.c:150
+#: regcomp.c:151
 msgid "Invalid back reference"
 msgstr "Refer�ncia anterior inv�lida"
 
-#: regcomp.c:153
+#: regcomp.c:154
 msgid "Unmatched [ or [^"
 msgstr "[ ou [^ n�o emparelhado"
 
-#: regcomp.c:156
+#: regcomp.c:157
 msgid "Unmatched ( or \\("
 msgstr "( ou \\( n�o emparelhado"
 
-#: regcomp.c:159
+#: regcomp.c:160
 msgid "Unmatched \\{"
 msgstr "\\{ n�o emparelhado"
 
-#: regcomp.c:162
+#: regcomp.c:163
 msgid "Invalid content of \\{\\}"
 msgstr "Conte�do inv�lido de \\{\\}"
 
-#: regcomp.c:165
+#: regcomp.c:166
 msgid "Invalid range end"
 msgstr "Fim de faixa inv�lido"
 
-#: regcomp.c:168
+#: regcomp.c:169
 msgid "Memory exhausted"
 msgstr "Mem�ria esgotada"
 
-#: regcomp.c:171
+#: regcomp.c:172
 msgid "Invalid preceding regular expression"
 msgstr "Express�o regular anterior inv�lida"
 
-#: regcomp.c:174
+#: regcomp.c:175
 msgid "Premature end of regular expression"
 msgstr "Fim prematuro da express�o regular"
 
-#: regcomp.c:177
+#: regcomp.c:178
 msgid "Regular expression too big"
 msgstr "Express�o regular grande demais"
 
-#: regcomp.c:180
+#: regcomp.c:181
 msgid "Unmatched ) or \\)"
 msgstr ") ou \\) desemparelhado"
 
-#: regcomp.c:664
+#: regcomp.c:700
 msgid "No previous regular expression"
 msgstr "Nenhuma express�o regular anterior"
 
-#~ msgid "remote port invalid in `%s'"
-#~ msgstr "porta remota inv�lida em `%s'"
+#~ msgid "%s: illegal option -- %c\n"
+#~ msgstr "%s: op��o ilegal -- %c\n"
+
+#~ msgid "or used as a variable or an array"
+#~ msgstr "ou usado como uma vari�vel ou vetor"
+
+#~ msgid "substr: length %g is < 0"
+#~ msgstr "substr: comprimento %g � < 0"
 
 #~ msgid "function %s called\n"
 #~ msgstr "fun��o %s chamada\n"
@@ -1894,17 +1965,14 @@
 #~ msgid "field %d in FIELDWIDTHS, must be > 0"
 #~ msgstr "campo %d em FIELDWIDTHS deve ser > 0"
 
-#~ msgid "or used as a variable or an array"
-#~ msgstr "ou usado como uma vari�vel ou vetor"
+#~ msgid "remote port invalid in `%s'"
+#~ msgstr "porta remota inv�lida em `%s'"
 
 #~ msgid "regex match failed, not enough memory to match string \"%.*s%s\""
 #~ msgstr ""
 #~ "busca por exp. reg. falhou, mem�ria insuficiente para testar string \"%.*s"
 #~ "%s\""
 
-#~ msgid "substr: length %g is < 0"
-#~ msgstr "substr: comprimento %g � < 0"
-
 #~ msgid "delete: illegal use of variable `%s' as array"
 #~ msgstr "delete: uso ilegal da vari�vel `%s' como vetor"
 
diff -urN gawk-3.1.6/po/ro.po gawk-3.1.7/po/ro.po
--- gawk-3.1.6/po/ro.po	2007-09-30 22:33:28.000000000 +0200
+++ gawk-3.1.7/po/ro.po	2009-07-21 23:23:45.000000000 +0300
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gawk 3.1.31\n"
 "Report-Msgid-Bugs-To: arnold@skeeve.com\n"
-"POT-Creation-Date: 2007-09-30 22:33+0200\n"
+"POT-Creation-Date: 2009-07-21 23:23+0300\n"
 "PO-Revision-Date: 2003-09-15 17:48+0300\n"
 "Last-Translator: Eugen Hoanca <eugenh@urban-grafx.ro>\n"
 "Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
@@ -74,336 +74,341 @@
 msgid "%s: array_ref to %s\n"
 msgstr "%s: array_ref c�tre %s\n"
 
-#: awkgram.y:215
+#: awkgram.y:218
 #, fuzzy, c-format
 msgid "%s blocks must have an action part"
 msgstr "Blocurile de END trebuie s� aib� un fragment de ac�iune"
 
-#: awkgram.y:218
+#: awkgram.y:221
 #, fuzzy
 msgid "each rule must have a pattern or an action part"
 msgstr "Blocurile de END trebuie s� aib� un fragment de ac�iune"
 
-#: awkgram.y:254 awkgram.y:263
+#: awkgram.y:257 awkgram.y:266
 #, fuzzy
 msgid "old awk does not support multiple `BEGIN' or `END' rules"
 msgstr "vechiul awk nu supoort� operatorul `**'"
 
-#: awkgram.y:282
+#: awkgram.y:285
 #, c-format
 msgid "`%s' is a built-in function, it cannot be redefined"
 msgstr "`%s' este func�ie intern�, nu poate fi redefinit�"
 
-#: awkgram.y:328
+#: awkgram.y:331
 #, fuzzy
 msgid "regexp constant `//' looks like a C++ comment, but is not"
 msgstr "constanta regexp `/%s/' arat� ca un comentariu C, dar nu este"
 
-#: awkgram.y:331
+#: awkgram.y:334
 #, c-format
 msgid "regexp constant `/%s/' looks like a C comment, but is not"
 msgstr "constanta regexp `/%s/' arat� ca un comentariu C, dar nu este"
 
-#: awkgram.y:358 awkgram.y:653
+#: awkgram.y:361 awkgram.y:656
 msgid "statement may have no effect"
 msgstr "declara�ia poate s� nu aib� nici un efect"
 
-#: awkgram.y:455 awkgram.y:479
+#: awkgram.y:458 awkgram.y:482
 #, fuzzy, c-format
 msgid "`%s' used in %s action"
 msgstr "`next' folosit �n ac�iune BEGIN sau END"
 
-#: awkgram.y:470 awkgram.y:474
+#: awkgram.y:473 awkgram.y:477
 msgid "`nextfile' is a gawk extension"
 msgstr "`nextfile' este extensie gawk"
 
-#: awkgram.y:489
+#: awkgram.y:492
 msgid "`return' used outside function context"
 msgstr "`return' folosit �n afara contextului func�iei"
 
-#: awkgram.y:531
+#: awkgram.y:534
 msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'"
 msgstr ""
 "`print' simplu din regulile BEGIN sau END ar trebui s� fie probabil `print "
 "\"\"'"
 
-#: awkgram.y:547 awkgram.y:555
+#: awkgram.y:550 awkgram.y:558
 msgid "`delete array' is a gawk extension"
 msgstr "`delete array' este extensie gawk"
 
-#: awkgram.y:569 awkgram.y:577
+#: awkgram.y:572 awkgram.y:580
 #, fuzzy
 msgid "`delete(array)' is a non-portable tawk extension"
 msgstr "`delete array' este extensie gawk"
 
-#: awkgram.y:621
+#: awkgram.y:624
 #, c-format
 msgid "duplicate case values in switch body: %s"
 msgstr ""
 
-#: awkgram.y:631
+#: awkgram.y:634
 msgid "Duplicate `default' detected in switch body"
 msgstr ""
 
-#: awkgram.y:720
+#: awkgram.y:723
 msgid "multistage two-way pipelines don't work"
 msgstr "leg�turile(pipelines) bidirec�ionale multistage nu vor func�iona"
 
-#: awkgram.y:811
+#: awkgram.y:814
 msgid "regular expression on right of assignment"
 msgstr "expresie regular� �n dreapta atribuirii"
 
-#: awkgram.y:834
+#: awkgram.y:824
 msgid "regular expression on left of `~' or `!~' operator"
 msgstr "expresie regular� �n st�nga operatorului `~' sau `!~'"
 
-#: awkgram.y:840 awkgram.y:913
+#: awkgram.y:830 awkgram.y:903
 #, fuzzy
 msgid "old awk does not support the keyword `in' except after `for'"
 msgstr "vechiul awk nu supoort� operatorul `**'"
 
-#: awkgram.y:846
+#: awkgram.y:836
 msgid "regular expression on right of comparison"
 msgstr "expresie regular� �n dreapta compara�iei"
 
-#: awkgram.y:903
+#: awkgram.y:893
 msgid "non-redirected `getline' undefined inside END action"
 msgstr "`getline' nedefinit� �i neredirectat� �n�untrul unei ac�iuni END"
 
-#: awkgram.y:914
+#: awkgram.y:904
 #, fuzzy
 msgid "old awk does not support multidimensional arrays"
 msgstr "vechiul awk nu supoort� operatorul `**'"
 
-#: awkgram.y:960
+#: awkgram.y:950
 msgid "call of `length' without parentheses is not portable"
 msgstr "apelarea lui `legth' f�r� paranteze nu este portabil�"
 
-#: awkgram.y:965
+#: awkgram.y:955
 msgid "call of `length' without parentheses is deprecated by POSIX"
 msgstr "apelarea lui `length' f�r� paranteze nu mai este folosit� �n POSIX"
 
-#: awkgram.y:1019
+#: awkgram.y:1009
 msgid "use of non-array as array"
 msgstr ""
 
-#: awkgram.y:1022
+#: awkgram.y:1012
 msgid "invalid subscript expression"
 msgstr "expresie subscript invalid�"
 
-#: awkgram.y:1249
+#: awkgram.y:1257
 #, fuzzy
 msgid "unexpected newline or end of string"
 msgstr "linie nou� nea�teptat�"
 
-#: awkgram.y:1366
+#: awkgram.y:1374
 msgid "empty program text on command line"
 msgstr "text program vid �n linia de comand�"
 
-#: awkgram.y:1422
+#: awkgram.y:1430
 #, c-format
 msgid "can't open source file `%s' for reading (%s)"
 msgstr "nu se poate deschide fi�ierul surs� `%s' pentru citire (%s)"
 
-#: awkgram.y:1520
+#: awkgram.y:1528
 #, c-format
 msgid "can't read sourcefile `%s' (%s)"
 msgstr "nu se poate citi fi�ierul surs� `%s' (%s)"
 
-#: awkgram.y:1528
+#: awkgram.y:1536
 #, c-format
 msgid "source file `%s' is empty"
 msgstr "fi�ierul surs� `%s' este vid"
 
-#: awkgram.y:1720 awkgram.y:1842 awkgram.y:1860 awkgram.y:2235 awkgram.y:2322
+#: awkgram.y:1728 awkgram.y:1850 awkgram.y:1868 awkgram.y:2243 awkgram.y:2330
 msgid "source file does not end in newline"
 msgstr "fi�ierul surs� nu se termin� �n linie nou�"
 
-#: awkgram.y:1782
+#: awkgram.y:1790
 msgid "unterminated regexp ends with `\\' at end of file"
 msgstr "regexp-ul neterminat se termin� cu `\\'` la sf�r�itul fi�ierului"
 
-#: awkgram.y:1806
+#: awkgram.y:1814
 #, c-format
 msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk"
 msgstr ""
 
-#: awkgram.y:1810
+#: awkgram.y:1818
 #, c-format
 msgid "tawk regex modifier `/.../%c' doesn't work in gawk"
 msgstr ""
 
-#: awkgram.y:1817
+#: awkgram.y:1825
 msgid "unterminated regexp"
 msgstr "regexp neterminat"
 
-#: awkgram.y:1820
+#: awkgram.y:1828
 msgid "unterminated regexp at end of file"
 msgstr "regexp neterminat la sf�r�itul fi�ierului"
 
-#: awkgram.y:1889
+#: awkgram.y:1897
 msgid "use of `\\ #...' line continuation is not portable"
 msgstr "folosirea continu�rii liniei `\\ #...' nu este portabil�"
 
-#: awkgram.y:1902
+#: awkgram.y:1910
 msgid "backslash not last character on line"
 msgstr "backslash nu este ultimul caracter din linie"
 
-#: awkgram.y:1947
+#: awkgram.y:1955
 msgid "POSIX does not allow operator `**='"
 msgstr "POSIX nu permite operatorul `**='"
 
-#: awkgram.y:1949
+#: awkgram.y:1957
 msgid "old awk does not support operator `**='"
 msgstr "vechiul awk nu suport� operatorul `**='"
 
-#: awkgram.y:1958
+#: awkgram.y:1966
 msgid "POSIX does not allow operator `**'"
 msgstr "POSIX nu permite operatorul `**'"
 
-#: awkgram.y:1960
+#: awkgram.y:1968
 msgid "old awk does not support operator `**'"
 msgstr "vechiul awk nu supoort� operatorul `**'"
 
-#: awkgram.y:1991
+#: awkgram.y:1999
 msgid "operator `^=' is not supported in old awk"
 msgstr "operatorul `^=' nu este suportat �n vechiul awk"
 
-#: awkgram.y:1999
+#: awkgram.y:2007
 msgid "operator `^' is not supported in old awk"
 msgstr "operator `^' nu este suportat �n vechiul awk"
 
-#: awkgram.y:2083 awkgram.y:2098
+#: awkgram.y:2091 awkgram.y:2106
 msgid "unterminated string"
 msgstr "�ir de caractere neterminat"
 
-#: awkgram.y:2283
+#: awkgram.y:2291
 #, c-format
 msgid "invalid char '%c' in expression"
 msgstr "caracter invalid `%c' �n expresie"
 
-#: awkgram.y:2331
+#: awkgram.y:2339
 #, c-format
 msgid "`%s' is a gawk extension"
 msgstr "`%s' este extensie gawk"
 
-#: awkgram.y:2334
+#: awkgram.y:2342
 #, c-format
 msgid "`%s' is a Bell Labs extension"
 msgstr "`%s' este extensie Bell Labs"
 
-#: awkgram.y:2337
+#: awkgram.y:2345
 #, c-format
 msgid "POSIX does not allow `%s'"
 msgstr "POSIX nu permite `%s'"
 
-#: awkgram.y:2341
+#: awkgram.y:2349
 #, c-format
 msgid "`%s' is not supported in old awk"
 msgstr "`%s' nu este suportat �n vechiul awk"
 
-#: awkgram.y:2367
+#: awkgram.y:2375
 msgid "`goto' considered harmful!\n"
 msgstr "`goto' este considerat periculos!\n"
 
-#: awkgram.y:2429
+#: awkgram.y:2437
 #, c-format
 msgid "%d is invalid as number of arguments for %s"
 msgstr "%d este invalid ca num�r de argumente pentru %s"
 
-#: awkgram.y:2448 awkgram.y:2451
+#: awkgram.y:2456 awkgram.y:2459
 msgid "match: third argument is a gawk extension"
 msgstr "match: al treilea argument este extensie gawk"
 
-#: awkgram.y:2464
+#: awkgram.y:2472
 #, c-format
 msgid "%s: string literal as last arg of substitute has no effect"
 msgstr ""
 "%s: �irul de caractere literal ca ultim argument al �nlocuitorului nu are "
 "nici un efect"
 
-#: awkgram.y:2467
+#: awkgram.y:2475
 #, fuzzy, c-format
 msgid "%s third parameter is not a changeable object"
 msgstr "al treilea parametru al sub nu este un obiect modificabil"
 
-#: awkgram.y:2494 awkgram.y:2497
+#: awkgram.y:2502 awkgram.y:2505
 msgid "close: second argument is a gawk extension"
 msgstr "close: al doilea argument este extensie gawk"
 
-#: awkgram.y:2507
+#: awkgram.y:2515
 msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore"
 msgstr ""
 "folosirea lui dcgettext(_\"...\") este incorect�: elimina�i liniu�a_jos de "
 "la �nceput"
 
-#: awkgram.y:2522
+#: awkgram.y:2530
 #, fuzzy
 msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore"
 msgstr ""
 "folosirea lui dcgettext(_\"...\") este incorect�: elimina�i liniu�a_jos de "
 "la �nceput"
 
-#: awkgram.y:2594
+#: awkgram.y:2602
 #, c-format
 msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d"
 msgstr "func�ia `%s': parametrul #%d, `%s', parametrul duplicat #%d"
 
-#: awkgram.y:2627
+#: awkgram.y:2635
 #, c-format
 msgid "function `%s': parameter `%s' shadows global variable"
 msgstr ""
 "func�ia `%s': parametrul `%s' nu mai �ine cont de(shadows) variabila global�"
 
-#: awkgram.y:2739
+#: awkgram.y:2747
 #, c-format
 msgid "could not open `%s' for writing (%s)"
 msgstr "nu s-a putut deschide `%s' pentru scriere (%s)"
 
-#: awkgram.y:2740 profile.c:94
+#: awkgram.y:2748 profile.c:95
 msgid "sending profile to standard error"
 msgstr "se trimite profilul la dipsozitivul de eroare standard"
 
-#: awkgram.y:2772
+#: awkgram.y:2780
 #, c-format
 msgid "%s: close failed (%s)"
 msgstr "%s: �nchidere e�uat� (%s)"
 
-#: awkgram.y:2893
+#: awkgram.y:2901
 msgid "shadow_funcs() called twice!"
 msgstr "shadow_funcs() apelat� de dou� ori!"
 
-#: awkgram.y:2920
+#: awkgram.y:2928
 msgid "there were shadowed variables."
 msgstr ""
 
-#: awkgram.y:2993
+#: awkgram.y:3001
 #, c-format
 msgid "function `%s': can't use function name as parameter name"
 msgstr "func�ia `%s': nu se poate folosi numele func�iei ca nume de parametru"
 
-#: awkgram.y:3003
+#: awkgram.y:3004
+#, fuzzy, c-format
+msgid "function `%s': can't use special variable `%s' as a function parameter"
+msgstr "func�ia `%s': nu se poate folosi numele func�iei ca nume de parametru"
+
+#: awkgram.y:3014
 #, c-format
 msgid "function name `%s' previously defined"
 msgstr "numele func�iei `%s' a mai fost definit �nainte"
 
-#: awkgram.y:3154 awkgram.y:3160
+#: awkgram.y:3165 awkgram.y:3171
 #, c-format
 msgid "function `%s' called but never defined"
 msgstr "func�ia `%s' este apelat� dar niciodat� definit�"
 
-#: awkgram.y:3163
+#: awkgram.y:3174
 #, c-format
 msgid "function `%s' defined but never called"
 msgstr "func�ia `%s' este definit� dar niciodat� apelat�"
 
-#: awkgram.y:3190
+#: awkgram.y:3201
 #, c-format
 msgid "regexp constant for parameter #%d yields boolean value"
 msgstr ""
 "regexp constant pentru parametrul #%d solicit�(yields) valoare boolean�"
 
-#: awkgram.y:3234
+#: awkgram.y:3245
 #, fuzzy, c-format
 msgid ""
 "function `%s' called with space between name and `(',\n"
@@ -412,204 +417,233 @@
 "func�ia `%s' apelat� cu un spa�iu �ntre nume �i `(',\n"
 "%s"
 
-#: builtin.c:119
+#: awkgram.y:3667 eval.c:1394
+#, c-format
+msgid "division by zero attempted in `%%'"
+msgstr "s-a �ncercat �mp�r�ire la zero �n `%%'"
+
+#: builtin.c:122
 #, c-format
 msgid "%s to \"%s\" failed (%s)"
 msgstr "%s c�tre \"%s\" e�uat� (%s)"
 
-#: builtin.c:120
+#: builtin.c:123
 msgid "standard output"
 msgstr "ie�ire(output) standard"
 
-#: builtin.c:121
+#: builtin.c:124
 msgid "reason unknown"
 msgstr "motiv necunoscut"
 
-#: builtin.c:134
+#: builtin.c:137
 msgid "exp: received non-numeric argument"
 msgstr "exp: s-a primit argument nenumeric"
 
-#: builtin.c:140
+#: builtin.c:143
 #, c-format
 msgid "exp: argument %g is out of range"
 msgstr "exp: argumentul %g este �n afara domeniului"
 
-#: builtin.c:198
+#: builtin.c:201
 #, c-format
 msgid "fflush: cannot flush: pipe `%s' opened for reading, not writing"
 msgstr ""
 "fflush: nu s-a putut face flush: leg�tura(pipe) `%s' a fost deschis� pentru "
 "citire, nu scriere"
 
-#: builtin.c:201
+#: builtin.c:204
 #, c-format
 msgid "fflush: cannot flush: file `%s' opened for reading, not writing"
 msgstr ""
 "fflush: nu s-a putut face flush: fi�ierul `%s' a fost deschis pentru citire, "
 "nu scriere"
 
-#: builtin.c:213
+#: builtin.c:216
 #, c-format
 msgid "fflush: `%s' is not an open file, pipe or co-process"
 msgstr "fflush: `%s' nu este fi�ier deschis, leg�tur�(pipe) sau co-proces"
 
-#: builtin.c:306
+#: builtin.c:310
 msgid "index: received non-string first argument"
 msgstr "index: s-a primit un prim argument non-�ir de caractere"
 
-#: builtin.c:308
+#: builtin.c:312
 msgid "index: received non-string second argument"
 msgstr "index: s-a primit un al doilea argument non-�ir de caractere"
 
-#: builtin.c:423
+#: builtin.c:434
 msgid "int: received non-numeric argument"
 msgstr "int: s-a primit argument nenumeric"
 
-#: builtin.c:448
+#: builtin.c:464
 #, fuzzy
 msgid "`length(array)' is a gawk extension"
 msgstr "`delete array' este extensie gawk"
 
-#: builtin.c:458
+#: builtin.c:473
+msgid "length: untyped argument will be forced to scalar"
+msgstr ""
+
+#: builtin.c:477
 msgid "length: received non-string argument"
 msgstr "legth: s-a primit argument non-string"
 
-#: builtin.c:483
+#: builtin.c:508
 msgid "log: received non-numeric argument"
 msgstr "log: s-a primit argument nenumeric"
 
-#: builtin.c:486
+#: builtin.c:511
 #, c-format
 msgid "log: received negative argument %g"
 msgstr "log: s-a primit argument %g negativ"
 
-#: builtin.c:693 builtin.c:696
+#: builtin.c:719 builtin.c:722
 msgid "must use `count$' on all formats or none"
 msgstr ""
 
-#: builtin.c:799
+#: builtin.c:783
+#, c-format
+msgid "field width is ignored for `%%%%' specifier"
+msgstr ""
+
+#: builtin.c:785
+#, c-format
+msgid "precision is ignored for `%%%%' specifier"
+msgstr ""
+
+#: builtin.c:787
+#, c-format
+msgid "field width and precision are ignored for `%%%%' specifier"
+msgstr ""
+
+#: builtin.c:838
 msgid "`$' is not permitted in awk formats"
 msgstr "`$' nu este permis �n formatele awk"
 
-#: builtin.c:805
+#: builtin.c:844
 msgid "arg count with `$' must be > 0"
 msgstr "num�rul de arg cu `%' trebuie s� fie > 0"
 
-#: builtin.c:807
+#: builtin.c:846
 #, fuzzy, c-format
 msgid "arg count %ld greater than total number of supplied arguments"
 msgstr ""
 "num�rul de arg %d este mai mare dec�t num�rul total de argumente furnizate"
 
-#: builtin.c:809
+#: builtin.c:848
 msgid "`$' not permitted after period in format"
 msgstr "`$' nu este permis �n format dup� punct"
 
-#: builtin.c:822
+#: builtin.c:861
 msgid "no `$' supplied for positional field width or precision"
 msgstr ""
 "nu s-a furnizat nici un `$' pentru c�mpul pozi�ional lungime sau precisie"
 
-#: builtin.c:888
+#: builtin.c:927
 msgid "`l' is meaningless in awk formats; ignored"
 msgstr "`l' nu are sens �n formatele awk; ignorat"
 
-#: builtin.c:892
+#: builtin.c:931
 msgid "`l' is not permitted in POSIX awk formats"
 msgstr "`l' nu este permis �n formatele awk POSIX"
 
-#: builtin.c:903
+#: builtin.c:942
 msgid "`L' is meaningless in awk formats; ignored"
 msgstr "`L' nu are sens �n formatele awk; ignorat"
 
-#: builtin.c:907
+#: builtin.c:946
 msgid "`L' is not permitted in POSIX awk formats"
 msgstr "`L' nu este permis �n formatele POSIX awk"
 
-#: builtin.c:918
+#: builtin.c:957
 msgid "`h' is meaningless in awk formats; ignored"
 msgstr "`h' nu are sens �n formatele awl; ignorat"
 
-#: builtin.c:922
+#: builtin.c:961
 msgid "`h' is not permitted in POSIX awk formats"
 msgstr "`h' nu este permis �n formatele POSIX awk"
 
-#: builtin.c:1182
+#: builtin.c:1236
 #, c-format
 msgid "[s]printf: value %g is out of range for `%%%c' format"
 msgstr ""
 
-#: builtin.c:1266
+#: builtin.c:1316
+#, c-format
+msgid "ignoring unknown format specifier character `%c': no argument converted"
+msgstr ""
+
+#: builtin.c:1322
 msgid "not enough arguments to satisfy format string"
 msgstr ""
 "nu exist� destule argumente pentru satisfacerea formatului �irului de "
 "caractere"
 
-#: builtin.c:1268
+#: builtin.c:1324
 msgid "^ ran out for this one"
 msgstr "^ insuficient pentru aceasta"
 
-#: builtin.c:1274
+#: builtin.c:1330
 msgid "[s]printf: format specifier does not have control letter"
 msgstr "[s]printf: specificatorul de format nu are liter� de control"
 
-#: builtin.c:1277
+#: builtin.c:1333
 msgid "too many arguments supplied for format string"
 msgstr "prea multe argumente furnizate pentru formatul �irului de caractere"
 
-#: builtin.c:1352 builtin.c:1355
+#: builtin.c:1408 builtin.c:1411
 msgid "printf: no arguments"
 msgstr "printf: nici un argument"
 
-#: builtin.c:1379
+#: builtin.c:1435
 msgid "sqrt: received non-numeric argument"
 msgstr "sqrt: s-a primit argument nenumeric"
 
-#: builtin.c:1383
+#: builtin.c:1439
 #, c-format
 msgid "sqrt: called with negative argument %g"
 msgstr "sqrt: apelat cu argumentul negativ %g"
 
-#: builtin.c:1407
+#: builtin.c:1463
 #, c-format
 msgid "substr: start index %g is invalid, using 1"
 msgstr "substr: indexul de start %g este invalid, se folose�te -1"
 
-#: builtin.c:1412
+#: builtin.c:1468
 #, c-format
 msgid "substr: non-integer start index %g will be truncated"
 msgstr "substr: indexul de start ne-�ntreg(integer) %g va fi trunchiat"
 
-#: builtin.c:1431
+#: builtin.c:1494
 #, fuzzy, c-format
 msgid "substr: length %g is not >= 1"
 msgstr "substr: lungimea %g este <= 0"
 
-#: builtin.c:1433
+#: builtin.c:1496
 #, fuzzy, c-format
 msgid "substr: length %g is not >= 0"
 msgstr "substr: lungimea %g este <= 0"
 
-#: builtin.c:1440
+#: builtin.c:1503
 #, c-format
 msgid "substr: non-integer length %g will be truncated"
 msgstr "substr lungimea ne-�ntregului(integer) %g va fi trunchiat�"
 
-#: builtin.c:1445
+#: builtin.c:1508
 #, c-format
 msgid "substr: length %g too big for string indexing, truncating to %g"
 msgstr ""
 
-#: builtin.c:1457
+#: builtin.c:1520
 msgid "substr: source string is zero length"
 msgstr "substr: �irul de caractere surs� are lungime zero"
 
-#: builtin.c:1473
+#: builtin.c:1536
 #, fuzzy, c-format
 msgid "substr: start index %g is past end of string"
 msgstr "substr: indexul de start %d este fostul sf�r�it de �ir de caractere"
 
-#: builtin.c:1481
+#: builtin.c:1544
 #, fuzzy, c-format
 msgid ""
 "substr: length %g at start index %g exceeds length of first argument (%lu)"
@@ -617,272 +651,272 @@
 "substr: lungimea %d la indexul de start %d dep��e�te lungimea primului "
 "argument (%d)"
 
-#: builtin.c:1558
+#: builtin.c:1621
 #, fuzzy
 msgid "strftime: received non-string first argument"
 msgstr "strftime: s-a primit primul argument non �ir de caractere"
 
-#: builtin.c:1564
+#: builtin.c:1627
 msgid "strftime: received empty format string"
 msgstr "strftime: s-a primit �ir de caractere �n format vid"
 
-#: builtin.c:1573
+#: builtin.c:1636
 #, fuzzy
 msgid "strftime: received non-numeric second argument"
 msgstr "strftime: s-a primit un al doilea argument nenumeric"
 
-#: builtin.c:1650
+#: builtin.c:1713
 msgid "mktime: received non-string argument"
 msgstr "mktime: s-a primit argument non �ir de caractere"
 
-#: builtin.c:1695
+#: builtin.c:1758
 #, fuzzy
 msgid "system: received non-string argument"
 msgstr "system: s-a primit argument non �ir de caractere"
 
-#: builtin.c:1816 eval.c:2041
+#: builtin.c:1879 eval.c:2145
 #, fuzzy, c-format
 msgid "reference to uninitialized field `$%d'"
 msgstr "referin�� la variabila neini�ializat� `%s'"
 
-#: builtin.c:1921
+#: builtin.c:1984
 #, fuzzy
 msgid "tolower: received non-string argument"
 msgstr "tolower: s-a primit argument non-�ir de caractere"
 
-#: builtin.c:1951
+#: builtin.c:2014
 #, fuzzy
 msgid "toupper: received non-string argument"
 msgstr "toupper: s-a primit argument non-�ir de caractere"
 
-#: builtin.c:1984
+#: builtin.c:2047
 msgid "atan2: received non-numeric first argument"
 msgstr "atan2: s-a primit un prim argument nenumeric"
 
-#: builtin.c:1986
+#: builtin.c:2049
 msgid "atan2: received non-numeric second argument"
 msgstr "atan2: s-a primit un al doilea argument nenumeric"
 
-#: builtin.c:2005
+#: builtin.c:2068
 msgid "sin: received non-numeric argument"
 msgstr "sin: s-a primit un argument nenumeric"
 
-#: builtin.c:2021
+#: builtin.c:2084
 msgid "cos: received non-numeric argument"
 msgstr "cos: s-a primit un argument nenumeric"
 
-#: builtin.c:2071
+#: builtin.c:2137
 msgid "srand: received non-numeric argument"
 msgstr "srand: s-a primit un argument nenumeric"
 
-#: builtin.c:2106
+#: builtin.c:2172
 msgid "match: third argument is not an array"
 msgstr "match: al treilea argument nu este un array"
 
-#: builtin.c:2650
+#: builtin.c:2719
 #, fuzzy
 msgid "gensub: third argument of 0 treated as 1"
 msgstr "gensub: al 3-lea argument care este 0 va fi considerat 1"
 
-#: builtin.c:2766
+#: builtin.c:2835
 msgid "lshift: received non-numeric first argument"
 msgstr "lshift: s-a primit un prim argument nenumeric"
 
-#: builtin.c:2768
+#: builtin.c:2837
 #, fuzzy
 msgid "lshift: received non-numeric second argument"
-msgstr "strftime: s-a primit un al doilea argument nenumeric"
+msgstr "atan2: s-a primit un al doilea argument nenumeric"
 
-#: builtin.c:2774
+#: builtin.c:2843
 #, c-format
 msgid "lshift(%lf, %lf): negative values will give strange results"
 msgstr "lshift(%lf, %lf): valorile negative vor furniza rezultate ciudate"
 
-#: builtin.c:2776
+#: builtin.c:2845
 #, c-format
 msgid "lshift(%lf, %lf): fractional values will be truncated"
 msgstr "lshift(%lf, %lf): valorile frac�ionale vor fi trunchiate"
 
-#: builtin.c:2778
+#: builtin.c:2847
 #, c-format
 msgid "lshift(%lf, %lf): too large shift value will give strange results"
 msgstr ""
 "lshift(%lf, %lf): valorile schimbate prea mult vor da rezultate ciudate"
 
-#: builtin.c:2804
+#: builtin.c:2873
 msgid "rshift: received non-numeric first argument"
 msgstr "rshift: s-a primit un prim argument nenumeric"
 
-#: builtin.c:2806
+#: builtin.c:2875
 #, fuzzy
 msgid "rshift: received non-numeric second argument"
-msgstr "strftime: s-a primit un al doilea argument nenumeric"
+msgstr "atan2: s-a primit un al doilea argument nenumeric"
 
-#: builtin.c:2812
+#: builtin.c:2881
 #, c-format
 msgid "rshift(%lf, %lf): negative values will give strange results"
 msgstr "rshift(%lf, %lf): valorile negative vor da rezultate ciudate"
 
-#: builtin.c:2814
+#: builtin.c:2883
 #, c-format
 msgid "rshift(%lf, %lf): fractional values will be truncated"
 msgstr "rshift(%lf, %lf): valorile frac�ionale vor fi trunchiate"
 
-#: builtin.c:2816
+#: builtin.c:2885
 #, c-format
 msgid "rshift(%lf, %lf): too large shift value will give strange results"
 msgstr ""
 "rshift(%lf, %lf): valorile schimbate prea mult vor da rezultate ciudate"
 
-#: builtin.c:2842
+#: builtin.c:2911
 msgid "and: received non-numeric first argument"
 msgstr "and: s-a primit un prim argument nenumeric"
 
-#: builtin.c:2844
+#: builtin.c:2913
 #, fuzzy
 msgid "and: received non-numeric second argument"
 msgstr "atan2: s-a primit un al doilea argument nenumeric"
 
-#: builtin.c:2850
+#: builtin.c:2919
 #, c-format
 msgid "and(%lf, %lf): negative values will give strange results"
 msgstr "and(%lf, %lf): valorile negative vor da rezultate ciudate"
 
-#: builtin.c:2852
+#: builtin.c:2921
 #, c-format
 msgid "and(%lf, %lf): fractional values will be truncated"
 msgstr "and(%lf, %lf): valorile frac�ionale vor fi trunchiate"
 
-#: builtin.c:2878
+#: builtin.c:2947
 msgid "or: received non-numeric first argument"
 msgstr "or: s-a primit un prim argument nenumeric"
 
-#: builtin.c:2880
+#: builtin.c:2949
 #, fuzzy
 msgid "or: received non-numeric second argument"
 msgstr "atan2: s-a primit un al doilea argument nenumeric"
 
-#: builtin.c:2886
+#: builtin.c:2955
 #, c-format
 msgid "or(%lf, %lf): negative values will give strange results"
 msgstr "or(%lf, %lf): valorile negative for da rezultate ciudate"
 
-#: builtin.c:2888
+#: builtin.c:2957
 #, c-format
 msgid "or(%lf, %lf): fractional values will be truncated"
 msgstr "or(%lf, %lf): valorile frac�ionale vor fi trunchiate"
 
-#: builtin.c:2914
+#: builtin.c:2983
 msgid "xor: received non-numeric first argument"
 msgstr "xor: s-a primit un prim argument nenumeric"
 
-#: builtin.c:2916
+#: builtin.c:2985
 #, fuzzy
 msgid "xor: received non-numeric second argument"
 msgstr "atan2: s-a primit un al doilea argument nenumeric"
 
-#: builtin.c:2922
+#: builtin.c:2991
 #, c-format
 msgid "xor(%lf, %lf): negative values will give strange results"
 msgstr "xor(%lf, %lf): valorile negative vor da rezultate ciudate"
 
-#: builtin.c:2924
+#: builtin.c:2993
 #, c-format
 msgid "xor(%lf, %lf): fractional values will be truncated"
 msgstr "xor(%lf, %lf): valorile frac�ionale vor fi trunchiate"
 
-#: builtin.c:2948
+#: builtin.c:3017
 msgid "compl: received non-numeric argument"
 msgstr "compl: s-a primit argument nenumeric"
 
-#: builtin.c:2954
+#: builtin.c:3023
 #, c-format
 msgid "compl(%lf): negative value will give strange results"
 msgstr "compl(%lf): valorile negative vor da rezultate ciudate"
 
-#: builtin.c:2956
+#: builtin.c:3025
 #, c-format
 msgid "compl(%lf): fractional value will be truncated"
 msgstr "compl(%lf): valorile frac�ionale vor fi trunchiate"
 
-#: builtin.c:3129
+#: builtin.c:3198
 #, c-format
 msgid "dcgettext: `%s' is not a valid locale category"
 msgstr "dcgettext: `%s' nu este o categorie local� valid�"
 
-#: eval.c:303
+#: eval.c:372
 #, c-format
 msgid "unknown nodetype %d"
 msgstr "tip nod %d necunoscut"
 
-#: eval.c:353
+#: eval.c:422
 msgid "buffer overflow in genflags2str"
 msgstr "dep��ire(overflow) de buffer �n genflags2str"
 
-#: eval.c:385 eval.c:391 profile.c:817
+#: eval.c:454 eval.c:460 profile.c:781
 #, c-format
 msgid "attempt to use array `%s' in a scalar context"
 msgstr "�ncercare de a utiliza array-ul `%s' �ntr-un context scalar"
 
-#: eval.c:733
+#: eval.c:802
 #, fuzzy, c-format
 msgid "for loop: array `%s' changed size from %ld to %ld during loop execution"
 msgstr ""
 "for loop: array-ul `%s' �i-a schimbat m�rimea din %d �n %d �n timpul "
 "execu�iei buclei"
 
-#: eval.c:754
+#: eval.c:823
 msgid "`break' outside a loop is not portable"
 msgstr "`break' �n afara buclei nu este portabil"
 
-#: eval.c:758
+#: eval.c:827
 msgid "`break' outside a loop is not allowed"
 msgstr "`break' �n afara buclei nu este permis"
 
-#: eval.c:775
+#: eval.c:844
 msgid "`continue' outside a loop is not portable"
 msgstr "`continue' �n afara buclei nu este portabil"
 
-#: eval.c:779
+#: eval.c:848
 msgid "`continue' outside a loop is not allowed"
 msgstr "`continue' �n afara buclei nu este permis"
 
-#: eval.c:813
+#: eval.c:882
 msgid "`next' cannot be called from a BEGIN rule"
 msgstr "`next' nu poate fi apelat dintr-o regul� BEGIN"
 
-#: eval.c:815
+#: eval.c:884
 msgid "`next' cannot be called from an END rule"
 msgstr "`next' nu poate fi apelat dintr-o regul� END"
 
-#: eval.c:824
+#: eval.c:893
 msgid "`nextfile' cannot be called from a BEGIN rule"
 msgstr "`nextfile' nu poate fi apelat dintr-o regul� BEGIN"
 
-#: eval.c:826
+#: eval.c:895
 msgid "`nextfile' cannot be called from an END rule"
 msgstr "`nextfile' nu poate fi apelat dintr-o regul� END"
 
-#: eval.c:875
+#: eval.c:952
 msgid "statement has no effect"
 msgstr "declara�ia nu are nici un efect"
 
-#: eval.c:952 eval.c:1895
+#: eval.c:1029 eval.c:1999
 #, c-format
 msgid "can't use function name `%s' as variable or array"
 msgstr "nu se poate folosi numele func�iei `%s' ca variabil� sau array"
 
-#: eval.c:959 eval.c:965
+#: eval.c:1036 eval.c:1042
 #, c-format
 msgid "reference to uninitialized argument `%s'"
 msgstr "referin�� la argumentul neini�ializat `%s'"
 
-#: eval.c:974 eval.c:1904
+#: eval.c:1051 eval.c:2008
 #, c-format
 msgid "reference to uninitialized variable `%s'"
 msgstr "referin�� la variabila neini�ializat� `%s'"
 
-#: eval.c:1120
+#: eval.c:1197
 msgid ""
 "concatenation: side effects in one expression have changed the length of "
 "another!"
@@ -890,45 +924,40 @@
 "concatenation: efectele secundare dintr-o expresie au schimbat lungimea "
 "alteia!"
 
-#: eval.c:1202
+#: eval.c:1301
 msgid "assignment used in conditional context"
 msgstr "atribuire folosit� �n context condi�ional"
 
-#: eval.c:1280
+#: eval.c:1379
 msgid "division by zero attempted"
 msgstr "s-a �ncercat �mp�r�ire la zero"
 
-#: eval.c:1295
-#, c-format
-msgid "division by zero attempted in `%%'"
-msgstr "s-a �ncercat �mp�r�ire la zero �n `%%'"
-
-#: eval.c:1310 profile.c:693
+#: eval.c:1409 profile.c:657
 #, c-format
 msgid "illegal type (%s) in tree_eval"
 msgstr "tip ilegal (%s) �n tree_eval"
 
-#: eval.c:1473
+#: eval.c:1572
 msgid "division by zero attempted in `/='"
 msgstr "s-a �ncercat �mp�r�ire la zero �n `/='"
 
-#: eval.c:1495
+#: eval.c:1594
 #, c-format
 msgid "division by zero attempted in `%%='"
 msgstr "s-a �ncercat �mp�r�ire la zero �n `%%='"
 
-#: eval.c:1760
+#: eval.c:1859
 #, c-format
 msgid "function `%s' called with more arguments than declared"
 msgstr ""
 "func�ia `%s' a fost apelat� cu mai multe argumente dec�t cele declarate"
 
-#: eval.c:1804
+#: eval.c:1904
 #, c-format
 msgid "function `%s' not defined"
 msgstr "func�ia `%s' nu este definit�"
 
-#: eval.c:1867
+#: eval.c:1971
 #, c-format
 msgid ""
 "\n"
@@ -939,42 +968,47 @@
 "\t# Stiva de Apelare a Func�iei:\n"
 "\n"
 
-#: eval.c:1870
+#: eval.c:1974
 #, c-format
 msgid "\t# -- main --\n"
 msgstr "\t# -- principal(main) --\n"
 
-#: eval.c:2025
+#: eval.c:2129
 msgid "attempt to field reference from non-numeric value"
 msgstr "�ncercare de referin�� la c�mp din valoare nenumeric�"
 
-#: eval.c:2027
+#: eval.c:2131
 msgid "attempt to reference from null string"
 msgstr "�ncercare de referin�� din �ir de caractere vid(null)"
 
-#: eval.c:2033
+#: eval.c:2137
 #, c-format
 msgid "attempt to access field %d"
 msgstr "�ncercare de accesare a c�mpului %d"
 
-#: eval.c:2054 eval.c:2061 profile.c:914
+#: eval.c:2158 eval.c:2165 profile.c:836
 msgid "assignment is not allowed to result of builtin function"
 msgstr "atribuirea nu este permis� rezultatului func�iei interne"
 
-#: eval.c:2125
+#: eval.c:2229
 msgid "`IGNORECASE' is a gawk extension"
 msgstr "`IGNORECASE' este extensie gawk"
 
-#: eval.c:2155
+#: eval.c:2258
 msgid "`BINMODE' is a gawk extension"
 msgstr "`BINMODE' este extensie gawk"
 
-#: eval.c:2277
+#: eval.c:2316
+#, c-format
+msgid "BINMODE value `%s' is invalid, treated as 3"
+msgstr ""
+
+#: eval.c:2406
 #, c-format
 msgid "bad `%sFMT' specification `%s'"
 msgstr "`%sFMT' specifica�ie `%s' invalid�"
 
-#: eval.c:2355
+#: eval.c:2484
 msgid "turning off `--lint' due to assignment to `LINT'"
 msgstr "se dezactiveaz� `--lint' din cauza atribuirii lui `LINT'"
 
@@ -1049,561 +1083,569 @@
 msgid "NF set to negative value"
 msgstr "NF setat la valoare negativ�"
 
-#: field.c:823
+#: field.c:875
 msgid "split: second argument is not an array"
 msgstr "split: al doilea argument nu este un array"
 
-#: field.c:857
+#: field.c:909
 msgid "split: null string for third arg is a gawk extension"
 msgstr "split: �irul nul pentru al treilea arg este o extensie gawk"
 
-#: field.c:909
+#: field.c:961
 msgid "`FIELDWIDTHS' is a gawk extension"
 msgstr "`FIELDWIDTHS' este extensie gawk"
 
-#: field.c:939 field.c:953
+#: field.c:991 field.c:1005
 #, c-format
 msgid "invalid FIELDWIDTHS value, near `%s'"
 msgstr ""
 
-#: field.c:1036
+#: field.c:1088
 msgid "null string for `FS' is a gawk extension"
 msgstr "�irul de caractere null pentru `FS' este extensie gawk"
 
-#: field.c:1040
+#: field.c:1092
 #, fuzzy
 msgid "old awk does not support regexps as value of `FS'"
 msgstr "vechiul awk nu supoort� operatorul `**'"
 
-#: getopt.c:571 getopt.c:587
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
+#: getopt.c:570 getopt.c:586
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
 msgstr "%s: op�iunea `%s' este ambigu�\n"
 
-#: getopt.c:620 getopt.c:624
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
+#: getopt.c:619 getopt.c:623
+#, fuzzy, c-format
+msgid "%s: option '--%s' doesn't allow an argument\n"
 msgstr "%s: op�iunea `--%s' nu permite parametri\n"
 
-#: getopt.c:633 getopt.c:638
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
+#: getopt.c:632 getopt.c:637
+#, fuzzy, c-format
+msgid "%s: option '%c%s' doesn't allow an argument\n"
 msgstr "%s: op�iunea `%c%s' nu permite parametri\n"
 
-#: getopt.c:681 getopt.c:700 getopt.c:1016 getopt.c:1035
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
+#: getopt.c:680 getopt.c:699 getopt.c:1002 getopt.c:1021
+#, fuzzy, c-format
+msgid "%s: option '%s' requires an argument\n"
 msgstr "%s: op�iunea `%s' necesit� un parametru\n"
 
-#: getopt.c:738 getopt.c:741
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
+#: getopt.c:737 getopt.c:740
+#, fuzzy, c-format
+msgid "%s: unrecognized option '--%s'\n"
 msgstr "%s: op�iune necunoscut� `--%s'\n"
 
-#: getopt.c:749 getopt.c:752
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
+#: getopt.c:748 getopt.c:751
+#, fuzzy, c-format
+msgid "%s: unrecognized option '%c%s'\n"
 msgstr "%s: op�iune necunoscut� `%c%s'\n"
 
-#: getopt.c:804 getopt.c:807
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: op�iune ilegal� -- %c\n"
-
-#: getopt.c:813 getopt.c:816
-#, c-format
-msgid "%s: invalid option -- %c\n"
+#: getopt.c:800 getopt.c:803
+#, fuzzy, c-format
+msgid "%s: invalid option -- '%c'\n"
 msgstr "%s: op�iune invalid� -- %c\n"
 
-#: getopt.c:868 getopt.c:884 getopt.c:1088 getopt.c:1106 main.c:461
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
+#: getopt.c:853 getopt.c:870 getopt.c:1073 getopt.c:1091
+#, fuzzy, c-format
+msgid "%s: option requires an argument -- '%c'\n"
 msgstr "%s: op�iunea necesit� un parametru -- %c\n"
 
-#: getopt.c:937 getopt.c:953
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
+#: getopt.c:923 getopt.c:939
+#, fuzzy, c-format
+msgid "%s: option '-W %s' is ambiguous\n"
 msgstr "%s: op�iunea `-W %s' este ambigu�\n"
 
-#: getopt.c:977 getopt.c:995
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
+#: getopt.c:963 getopt.c:981
+#, fuzzy, c-format
+msgid "%s: option '-W %s' doesn't allow an argument\n"
 msgstr "%s: op�iunea `-W %s' nu permite parametri\n"
 
-#: io.c:345
+#: io.c:322 io.c:352
 #, c-format
 msgid "cannot open file `%s' for reading (%s)"
 msgstr "nu s-a putu deschide `%s' pentru citire (%s)"
 
-#: io.c:436
+#: io.c:443
 #, c-format
 msgid "close of fd %d (`%s') failed (%s)"
 msgstr "�nchiderea lui fd %d (`%s') e�uat� (%s)"
 
-#: io.c:575
+#: io.c:583
 #, c-format
 msgid "invalid tree type %s in redirect()"
 msgstr "tip arbore(tree) invalid %s �n redirect()"
 
-#: io.c:581
+#: io.c:589
 #, c-format
 msgid "expression in `%s' redirection only has numeric value"
 msgstr "expresia din redirectarea `%s' are doar valoare numeric�"
 
-#: io.c:587
+#: io.c:595
 #, c-format
 msgid "expression for `%s' redirection has null string value"
 msgstr "expresia din redirectarea `%s' are valoar de �ir null"
 
-#: io.c:592
+#: io.c:600
 #, c-format
 msgid "filename `%s' for `%s' redirection may be result of logical expression"
 msgstr ""
 "numele de fi�ier `%s' pentru redirectarea `%s' poate fi rezultatul unei "
 "expresii logice"
 
-#: io.c:630
+#: io.c:638
 #, c-format
 msgid "unnecessary mixing of `>' and `>>' for file `%.*s'"
 msgstr "amestecare nenecesar� a `>' �i `>>' pentru fi�ierul `%.*s'"
 
-#: io.c:682
+#: io.c:685
 #, c-format
 msgid "can't open pipe `%s' for output (%s)"
 msgstr "nu se poate deschide leg�tura(pipe) `%s' pentru output (%s)"
 
-#: io.c:691
+#: io.c:694
 #, c-format
 msgid "can't open pipe `%s' for input (%s)"
 msgstr "nu se poate deschide leg�tura(pipe) `%s' pentru input (%s)"
 
-#: io.c:698 io.c:1448
-#, c-format
-msgid "file `%s' is a directory"
-msgstr "fi�ierul `%s' este director"
-
-#: io.c:706
+#: io.c:712
 #, c-format
 msgid "can't open two way socket `%s' for input/output (%s)"
 msgstr ""
 "nu se poate deschide socketul bidirec�ional `%s' pentru input/output (%s)"
 
-#: io.c:710
+#: io.c:716
 #, c-format
 msgid "can't open two way pipe `%s' for input/output (%s)"
 msgstr ""
 "nu se poate deschide leg�tura(pipe) bidirec�ional� `%s' pentru input/output "
 "(%s)"
 
-#: io.c:786
+#: io.c:793
 #, c-format
 msgid "can't redirect from `%s' (%s)"
 msgstr "nu se poate redirecta din `%s' (%s)"
 
-#: io.c:789
+#: io.c:796
 #, c-format
 msgid "can't redirect to `%s' (%s)"
 msgstr "nu se poate redirecta c�tre `%s' (%s)"
 
-#: io.c:828
+#: io.c:849
 msgid ""
 "reached system limit for open files: starting to multiplex file descriptors"
 msgstr ""
 "s-a atins limita sistemului pentru fi�iere deschise: se �ncepe muliplexarea "
 "desciptorilor de fi�ier"
 
-#: io.c:844
+#: io.c:865
 #, c-format
 msgid "close of `%s' failed (%s)."
 msgstr "�nchiderea `%s' e�uat� (%s)."
 
-#: io.c:852
+#: io.c:873
 msgid "too many pipes or input files open"
 msgstr "prea multe leg�turi(pipe) sau fi�iere de intrare(input) deschise"
 
-#: io.c:875
+#: io.c:896
 msgid "close: second argument must be `to' or `from'"
 msgstr "close: al doilea argument trebuie s� fie `to' sau `from'"
 
-#: io.c:889
+#: io.c:910
 #, c-format
 msgid "close: `%.*s' is not an open file, pipe or co-process"
 msgstr ""
 "close: `%.*s' nu este un fi�ier deschis, o leg�tur�(pipe) sau un coproces"
 
-#: io.c:893
+#: io.c:915
 msgid "close of redirection that was never opened"
 msgstr "�nchiderea unei redirect�ri care n-a fost deschis� niciodat�"
 
-#: io.c:989
+#: io.c:1012
 #, c-format
 msgid "close: redirection `%s' not opened with `|&', second argument ignored"
 msgstr ""
 "close: redirectarea `%s' nu a fost deschis� cu `|&', al doilea argument "
 "ignorat"
 
-#: io.c:1005
+#: io.c:1028
 #, c-format
 msgid "failure status (%d) on pipe close of `%s' (%s)"
 msgstr "stare de avarie (%d) �n leg�tura(pipe) �nchis� �n `%s' (%s)"
 
-#: io.c:1008
+#: io.c:1031
 #, c-format
 msgid "failure status (%d) on file close of `%s' (%s)"
 msgstr "stare de avarie (%d) �n fi�ierul �nchis �n `%s' (%s)"
 
-#: io.c:1028
+#: io.c:1051
 #, c-format
 msgid "no explicit close of socket `%s' provided"
 msgstr "nu s-a furnizat �nchiderea explicit� a socketului `%s'"
 
-#: io.c:1031
+#: io.c:1054
 #, c-format
 msgid "no explicit close of co-process `%s' provided"
 msgstr "nu s-a furnizat �nchiderea explicit� a coprocesului `%s' "
 
-#: io.c:1034
+#: io.c:1057
 #, c-format
 msgid "no explicit close of pipe `%s' provided"
 msgstr "nu s-a furnizat �nchiderea explicit� a leg�turii(pipe) `%s'"
 
-#: io.c:1037
+#: io.c:1060
 #, c-format
 msgid "no explicit close of file `%s' provided"
 msgstr "nu s-a furnizat �nchiderea explicit� a fi�ierului `%s'"
 
-#: io.c:1066 io.c:1121 main.c:749 main.c:791
+#: io.c:1088 io.c:1143 main.c:776 main.c:818
 #, c-format
 msgid "error writing standard output (%s)"
 msgstr "eroare �n scrierea la ie�irea(output) standard (%s)"
 
-#: io.c:1070 io.c:1126
+#: io.c:1092 io.c:1148
 #, c-format
 msgid "error writing standard error (%s)"
 msgstr "eroare �n scrierea la dispozitivul standard de eroare (%s)"
 
-#: io.c:1078
+#: io.c:1100
 #, c-format
 msgid "pipe flush of `%s' failed (%s)."
 msgstr "flush-ul leg�turii(pipe) `%s' e�uat (%s)."
 
-#: io.c:1081
+#: io.c:1103
 #, c-format
 msgid "co-process flush of pipe to `%s' failed (%s)."
 msgstr "flush-ul leg�turii(pipe) coprocesului la `%s' e�uat (%s)."
 
-#: io.c:1084
+#: io.c:1106
 #, c-format
 msgid "file flush of `%s' failed (%s)."
 msgstr "flush-ul de fi�ier al `%s' e�uat (%s)."
 
-#: io.c:1198
+#: io.c:1220
 #, fuzzy, c-format
 msgid "local port %s invalid in `/inet'"
 msgstr "port local invalid �n `%s'"
 
-#: io.c:1215
+#: io.c:1237
 #, c-format
 msgid "remote host and port information (%s, %s) invalid"
 msgstr ""
 
-#: io.c:1250
+#: io.c:1272
 msgid "/inet/raw client not ready yet, sorry"
 msgstr "clientul /inet/raw nu este preg�tit �nc�, scuze"
 
-#: io.c:1253 io.c:1289
+#: io.c:1275 io.c:1311
 msgid "only root may use `/inet/raw'."
 msgstr "doar root-ul poate folosi `/inet/raw'."
 
-#: io.c:1287
+#: io.c:1309
 msgid "/inet/raw server not ready yet, sorry"
 msgstr "serverul /inet/raw nu este preg�tit �nc�, scuze"
 
-#: io.c:1385
+#: io.c:1407
 #, c-format
 msgid "no (known) protocol supplied in special filename `%s'"
 msgstr "nici un protocol (cunoscut) furnizat �n numele de fi�ier special `%s'"
 
-#: io.c:1399
+#: io.c:1421
 #, c-format
 msgid "special file name `%s' is incomplete"
 msgstr "numele special de fi�ier `%s' nu este complet"
 
-#: io.c:1414
+#: io.c:1436
 msgid "must supply a remote hostname to `/inet'"
 msgstr "trebuie furnizat un nume de host remote pentru `/inet'"
 
-#: io.c:1432
+#: io.c:1454
 msgid "must supply a remote port to `/inet'"
 msgstr "trebuie furnizat un port remote pentru `/inet'"
 
-#: io.c:1439
+#: io.c:1485
 msgid "TCP/IP communications are not supported"
 msgstr "Comunica�iile TCP/IP nu sunt suportate"
 
-#: io.c:1509
+#: io.c:1494
+#, c-format
+msgid "file `%s' is a directory"
+msgstr "fi�ierul `%s' este director"
+
+#: io.c:1555
 #, c-format
 msgid "use `PROCINFO[\"%s\"]' instead of `%s'"
 msgstr "folosi�i `PROCINFO[\"%s\"]' �n loc de `%s'"
 
-#: io.c:1547
+#: io.c:1593
 msgid "use `PROCINFO[...]' instead of `/dev/user'"
 msgstr "folosi�i `PROCINFO[...]' �n loc de `/dev/user'"
 
-#: io.c:1612 io.c:1798
+#: io.c:1658 io.c:1853
 #, c-format
 msgid "could not open `%s', mode `%s'"
 msgstr "nu s-a putut deschide `%s', modul `%s'"
 
-#: io.c:1849
+#: io.c:1904
 #, fuzzy, c-format
 msgid "close of master pty failed (%s)"
 msgstr "�nchiderea leg�turii(pipe) a e�uat (%s)"
 
-#: io.c:1851 io.c:2003 io.c:2154
+#: io.c:1906 io.c:2058 io.c:2209
 #, c-format
 msgid "close of stdout in child failed (%s)"
 msgstr "�nchiderea stdout �n copil(child) a e�uat (%s)"
 
-#: io.c:1854
+#: io.c:1909
 #, fuzzy, c-format
 msgid "moving slave pty to stdout in child failed (dup: %s)"
 msgstr "mutarea leg�turii(pipe) la stdout �n copil(child) a e�uat (dup: %s)"
 
-#: io.c:1856 io.c:2008
+#: io.c:1911 io.c:2063
 #, c-format
 msgid "close of stdin in child failed (%s)"
 msgstr "�nchiderea stdin �n copil(child) a e�uat (%s)"
 
-#: io.c:1859
+#: io.c:1914
 #, fuzzy, c-format
 msgid "moving slave pty to stdin in child failed (dup: %s)"
 msgstr "mutarea leg�turii(pipe) la stdin �n copil(child) a e�uat (dup: %s)"
 
-#: io.c:1861 io.c:1880
+#: io.c:1916 io.c:1935
 #, fuzzy, c-format
 msgid "close of slave pty failed (%s)"
 msgstr "�nchiderea leg�turii(pipe) a e�uat (%s)"
 
-#: io.c:1954 io.c:2006 io.c:2135 io.c:2157
+#: io.c:2009 io.c:2061 io.c:2190 io.c:2212
 #, c-format
 msgid "moving pipe to stdout in child failed (dup: %s)"
 msgstr "mutarea leg�turii(pipe) la stdout �n copil(child) a e�uat (dup: %s)"
 
-#: io.c:1958 io.c:2011
+#: io.c:2013 io.c:2066
 #, c-format
 msgid "moving pipe to stdin in child failed (dup: %s)"
 msgstr "mutarea leg�turii(pipe) la stdin �n copil(child) a e�uat (dup: %s)"
 
-#: io.c:1975 io.c:2148
+#: io.c:2030 io.c:2203
 msgid "restoring stdout in parent process failed\n"
 msgstr "refacerea stdout �n procesul p�rinte a e�uat\n"
 
-#: io.c:1980
+#: io.c:2035
 msgid "restoring stdin in parent process failed\n"
 msgstr "refacerea stdin �n procesul p�rinte a e�uat\n"
 
-#: io.c:2014 io.c:2159 io.c:2170
+#: io.c:2069 io.c:2214 io.c:2225
 #, c-format
 msgid "close of pipe failed (%s)"
 msgstr "�nchiderea leg�turii(pipe) a e�uat (%s)"
 
-#: io.c:2059
+#: io.c:2114
 msgid "`|&' not supported"
 msgstr "`|&' nesuportat"
 
-#: io.c:2125
+#: io.c:2180
 #, c-format
 msgid "cannot open pipe `%s' (%s)"
 msgstr "nu s-a putut deschide leg�tura(pipe) `%s' (%s)"
 
-#: io.c:2166
+#: io.c:2221
 #, c-format
 msgid "cannot create child process for `%s' (fork: %s)"
 msgstr "nu s-a putu crea proces copil(child) pentru `%s' (fork: %s)"
 
-#: io.c:2548
+#: io.c:2603
 #, c-format
 msgid "data file `%s' is empty"
 msgstr "fi�ierul de date `%s' este vid"
 
-#: io.c:2589 io.c:2597
+#: io.c:2644 io.c:2652
 msgid "could not allocate more input memory"
 msgstr ""
 
-#: io.c:2965 io.c:3038
+#: io.c:3020 io.c:3093
 #, c-format
 msgid "error reading input file `%s': %s"
 msgstr "eroare �n citirea fi�ierului de intrare(input) `%s': %s"
 
-#: io.c:3163
+#: io.c:3218
 msgid "multicharacter value of `RS' is a gawk extension"
 msgstr "valoarea multicaracter a `RS' este extensie gawk"
 
-#: main.c:351
+#: main.c:304
+msgid "out of memory"
+msgstr "memorie plin�"
+
+#: main.c:373
 msgid "`-m[fr]' option irrelevant in gawk"
 msgstr "`-m[fr]' op�iune irelevant� �n gawk"
 
-#: main.c:353
+#: main.c:375
 msgid "-m option usage: `-m[fr] nnn'"
 msgstr "folosirea op�iunii -m : `-m[fr] nnn'"
 
-#: main.c:370
+#: main.c:392
 #, c-format
 msgid "%s: option `-W %s' unrecognized, ignored\n"
 msgstr "%s: op�iunea `-W %s' nu e recunoscut�, ignorat�\n"
 
-#: main.c:407
+#: main.c:433
 msgid "empty argument to `--source' ignored"
 msgstr "argument vid pentru `--source' ignorat"
 
-#: main.c:480
+#: main.c:487
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: op�iunea necesit� un parametru -- %c\n"
+
+#: main.c:506
 msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'"
 msgstr ""
 "este setat� variabila de mediu `POSIXLY_CORRECT': se activeaz� `--posix'"
 
-#: main.c:486
+#: main.c:512
 msgid "`--posix' overrides `--traditional'"
 msgstr "`--posix' suprascrie `--traditional'"
 
-#: main.c:497
+#: main.c:523
 msgid "`--posix'/`--traditional' overrides `--non-decimal-data'"
 msgstr "`--posix'/`--traditional' suprascrie `--non-decimal-data'"
 
-#: main.c:501
+#: main.c:527
 #, fuzzy, c-format
 msgid "running %s setuid root may be a security problem"
 msgstr "dac� se ruleaz� %s setuid root poate ap�rea o problem� de securitate"
 
-#: main.c:542
+#: main.c:568
 #, fuzzy, c-format
 msgid "can't set binary mode on stdin (%s)"
 msgstr "nu se poate seta modul pe stdin (%s)"
 
-#: main.c:545
+#: main.c:571
 #, fuzzy, c-format
 msgid "can't set binary mode on stdout (%s)"
 msgstr "nu se poate seta modul pe stdout (%s)"
 
-#: main.c:547
+#: main.c:573
 #, fuzzy, c-format
 msgid "can't set binary mode on stderr (%s)"
 msgstr "nu se poate seta modul pe stderr (%s)"
 
-#: main.c:586
+#: main.c:612
 msgid "no program text at all!"
 msgstr "nu exist� nici un text de program!"
 
-#: main.c:690
+#: main.c:716
 #, c-format
 msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n"
 msgstr ""
 "Folosire: %s [op�iuni stil POSIX sau GNU] -f fi�ierprogram [--] fi�ier ...\n"
 
-#: main.c:692
+#: main.c:718
 #, c-format
 msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n"
 msgstr ""
 "Folosire: %s [op�iuni stil POSIX sau GNU] [--] %cprogram%c fi�ier ...\n"
 
-#: main.c:697
+#: main.c:723
 msgid "POSIX options:\t\tGNU long options:\n"
 msgstr "op�iuni POSIX:\t\top�iuni lungi GNU:\n"
 
-#: main.c:698
+#: main.c:724
 msgid "\t-f progfile\t\t--file=progfile\n"
 msgstr "\t-f fi�ierprogram\t\t--file=fi�ierprogram\n"
 
-#: main.c:699
+#: main.c:725
 msgid "\t-F fs\t\t\t--field-separator=fs\n"
 msgstr "\t-F fs\t\t\t--field-separator=fs\n"
 
-#: main.c:700
+#: main.c:726
 msgid "\t-v var=val\t\t--assign=var=val\n"
 msgstr "\t-v var=val\t\t--assign=var=val\n"
 
-#: main.c:701
+#: main.c:727
 msgid "\t-m[fr] val\n"
 msgstr "\t-m[fr] val\n"
 
-#: main.c:702
+#: main.c:728
+msgid "\t-O\t\t\t--optimize\n"
+msgstr ""
+
+#: main.c:729
 msgid "\t-W compat\t\t--compat\n"
 msgstr "\t-W compat\t\t--compat\n"
 
-#: main.c:703
+#: main.c:730
 msgid "\t-W copyleft\t\t--copyleft\n"
 msgstr "\t-W copyleft\t\t--copyleft\n"
 
-#: main.c:704
+#: main.c:731
 msgid "\t-W copyright\t\t--copyright\n"
 msgstr "\t-W copyright\t\t--copyright\n"
 
-#: main.c:705
+#: main.c:732
 msgid "\t-W dump-variables[=file]\t--dump-variables[=file]\n"
 msgstr "\t-W dump-variables[=fi�ier]\t--dump-variables[=fi�ier]\n"
 
-#: main.c:706
+#: main.c:733
 #, fuzzy
 msgid "\t-W exec=file\t\t--exec=file\n"
 msgstr "\t-W profile[=fi�ier]\t--profile[=fi�ier]\n"
 
-#: main.c:707
+#: main.c:734
 msgid "\t-W gen-po\t\t--gen-po\n"
 msgstr "\t-W gen-po\t\t--gen-po\n"
 
-#: main.c:708
+#: main.c:735
 msgid "\t-W help\t\t\t--help\n"
 msgstr "\t-W help\t\t\t--help\n"
 
-#: main.c:709
+#: main.c:736
 msgid "\t-W lint[=fatal]\t\t--lint[=fatal]\n"
 msgstr "\t-W lint[=fatal]\t\t--lint[=fatal]\n"
 
-#: main.c:710
+#: main.c:737
 msgid "\t-W lint-old\t\t--lint-old\n"
 msgstr "\t-W lint-old\t\t--lint-old\n"
 
-#: main.c:711
+#: main.c:738
 msgid "\t-W non-decimal-data\t--non-decimal-data\n"
 msgstr "\t-W non-decimal-data\t--non-decimal-data\n"
 
-#: main.c:713
+#: main.c:740
 msgid "\t-W nostalgia\t\t--nostalgia\n"
 msgstr "\t-W nostalgia\t\t--nostalgia\n"
 
-#: main.c:716
+#: main.c:743
 msgid "\t-W parsedebug\t\t--parsedebug\n"
 msgstr "\t-W parsedebug\t\t--parsedebug\n"
 
-#: main.c:718
+#: main.c:745
 msgid "\t-W profile[=file]\t--profile[=file]\n"
 msgstr "\t-W profile[=fi�ier]\t--profile[=fi�ier]\n"
 
-#: main.c:719
+#: main.c:746
 msgid "\t-W posix\t\t--posix\n"
 msgstr "\t-W posix\t\t--posix\n"
 
-#: main.c:720
+#: main.c:747
 msgid "\t-W re-interval\t\t--re-interval\n"
 msgstr "\t-W re-interval\t\t--re-interval\n"
 
-#: main.c:721
+#: main.c:748
 msgid "\t-W source=program-text\t--source=program-text\n"
 msgstr "\t-W source=program-text\t--source=program-text\n"
 
-#: main.c:722
+#: main.c:749
 msgid "\t-W traditional\t\t--traditional\n"
 msgstr "\t-W traditional\t\t--traditional\n"
 
-#: main.c:723
+#: main.c:750
 msgid "\t-W usage\t\t--usage\n"
 msgstr "\t-W usage\t\t--usage\n"
 
-#: main.c:724
+#: main.c:751
 msgid "\t-W use-lc-numeric\t--use-lc-numeric\n"
 msgstr ""
 
-#: main.c:725
+#: main.c:752
 msgid "\t-W version\t\t--version\n"
 msgstr "\t-W version\t\t--version\n"
 
@@ -1612,7 +1654,7 @@
 #. for this application.  Please add _another line_ with the
 #. address for translation bugs.
 #. no-wrap
-#: main.c:734
+#: main.c:761
 #, fuzzy
 msgid ""
 "\n"
@@ -1621,22 +1663,22 @@
 "\n"
 msgstr "sec�iunea `Reporting Problems and Bugs' �n versiunea tip�rit�.\n"
 
-#: main.c:738
+#: main.c:765
 msgid ""
 "gawk is a pattern scanning and processing language.\n"
 "By default it reads standard input and writes standard output.\n"
 "\n"
 msgstr ""
 
-#: main.c:742
+#: main.c:769
 msgid ""
 "Examples:\n"
 "\tgawk '{ sum += $1 }; END { print sum }' file\n"
 "\tgawk -F: '{ print $1 }' /etc/passwd\n"
 msgstr ""
 
-#: main.c:762
-#, c-format
+#: main.c:789
+#, fuzzy, c-format
 msgid ""
 "Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
 "\n"
@@ -1650,11 +1692,11 @@
 "\n"
 "Acest program este software liber; poate fi redistribuit �i/sau modificat\n"
 "sub termenii Licen�ei Publice Generale GNU publicat� de \n"
-"Free Software Foundation; fie versiunea 3 a Licen�ei, fie\n"
+"Free Software Foundation; fie versiunea 2 a Licen�ei, fie\n"
 "(la latitudinea dumneavoastr�) orice versiune ulterioar�.\n"
 "\n"
 
-#: main.c:770
+#: main.c:797
 msgid ""
 "This program is distributed in the hope that it will be useful,\n"
 "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
@@ -1669,7 +1711,7 @@
 "\n"
 "\n"
 
-#: main.c:781
+#: main.c:808
 #, fuzzy
 msgid ""
 "You should have received a copy of the GNU General Public License\n"
@@ -1677,49 +1719,58 @@
 msgstr ""
 "Ar fi trebuit s� primi�i o copie a Licen�ei Publice Generale GNU\n"
 "�mpreun� cu acest program; dac� nu, scrie�i la Free Software\n"
-"Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, "
-"USA.\n"
+"Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.\n"
 
-#: main.c:816
+#: main.c:843
 msgid "-Ft does not set FS to tab in POSIX awk"
 msgstr "-Ft nu seteaz� FS �n tab �n POSIX awk"
 
-#: main.c:1060
+#: main.c:1117
 #, c-format
 msgid ""
 "%s: `%s' argument to `-v' not in `var=value' form\n"
 "\n"
 msgstr ""
 
-#: main.c:1080
+#: main.c:1137
 #, c-format
 msgid "`%s' is not a legal variable name"
 msgstr ""
 
-#: main.c:1083
+#: main.c:1140
 #, c-format
 msgid "`%s' is not a variable name, looking for file `%s=%s'"
 msgstr ""
 
-#: main.c:1122
+#: main.c:1179
 msgid "floating point exception"
 msgstr "excep�ie virgul� mobil�"
 
-#: main.c:1129
+#: main.c:1186
 msgid "fatal error: internal error"
 msgstr "eroare fatal�: eroare intern�"
 
-#: main.c:1180
+#: main.c:1200
+#, fuzzy
+msgid "fatal error: internal error: segfault"
+msgstr "eroare fatal�: eroare intern�"
+
+#: main.c:1212
+#, fuzzy
+msgid "fatal error: internal error: stack overflow"
+msgstr "eroare fatal�: eroare intern�"
+
+#: main.c:1261
 #, c-format
 msgid "no pre-opened fd %d"
 msgstr "nici un fd predeschis %d"
 
-#: main.c:1187
+#: main.c:1268
 #, c-format
 msgid "could not pre-open /dev/null for fd %d"
 msgstr "nu s-a putut predeschide /dev/null pentru fd %d"
 
-#: main.c:1210 main.c:1219
+#: main.c:1291 main.c:1300
 #, c-format
 msgid "could not find groups: %s"
 msgstr "nu am putut g�si grupurile: %s"
@@ -1745,24 +1796,31 @@
 msgid "can't convert string to float"
 msgstr "nu se poate converti �ir de caractere �n float"
 
-#: node.c:406
+#: node.c:462
 msgid "backslash at end of string"
 msgstr "backslash la sf�r�itul �irului de caractere"
 
-#: node.c:548
+#: node.c:606
 #, fuzzy, c-format
 msgid "old awk does not support the `\\%c' escape sequence"
 msgstr "vechiul awk nu supoort� operatorul `**'"
 
-#: node.c:599
+#: node.c:657
 msgid "POSIX does not allow `\\x' escapes"
 msgstr "POSIX nu permite escape-uri `\\x'"
 
-#: node.c:605
+#: node.c:663
 msgid "no hex digits in `\\x' escape sequence"
 msgstr "nu exist� digi�i hexa �n secven�a de escape `\\x'"
 
-#: node.c:639
+#: node.c:685
+#, c-format
+msgid ""
+"hex escape \\x%.*s of %d characters probably not interpreted the way you "
+"expect"
+msgstr ""
+
+#: node.c:700
 #, c-format
 msgid "escape sequence `\\%c' treated as plain `%c'"
 msgstr "secven�a de escape `\\%c' tratat� ca `%c' simplu"
@@ -1772,31 +1830,31 @@
 msgid "%s %s `%s': could not set close-on-exec: (fcntl: %s)"
 msgstr "%s %s `%s': nu s-a putut seta close-on-exec: (fcntl: %s)"
 
-#: profile.c:92
+#: profile.c:93
 #, c-format
 msgid "could not open `%s' for writing: %s"
 msgstr "nu am putut deschide `%s' pentru scriere: %s"
 
-#: profile.c:450
+#: profile.c:453
 #, fuzzy, c-format
 msgid "internal error: %s with null vname"
 msgstr "eroare intern�: Node_var cu vname null"
 
-#: profile.c:514
+#: profile.c:517
 msgid "# treated internally as `delete'"
 msgstr ""
 
-#: profile.c:1147
+#: profile.c:1069
 #, c-format
 msgid "# this is a dynamically loaded extension function"
 msgstr ""
 
-#: profile.c:1178
+#: profile.c:1100
 #, c-format
 msgid "\t# gawk profile, created %s\n"
 msgstr "\t# profil gawk, creat %s\n"
 
-#: profile.c:1181
+#: profile.c:1103
 #, c-format
 msgid ""
 "\t# BEGIN block(s)\n"
@@ -1805,7 +1863,7 @@
 "\t# bloc(uri) BEGIN\n"
 "\n"
 
-#: profile.c:1191
+#: profile.c:1113
 #, c-format
 msgid ""
 "\t# Rule(s)\n"
@@ -1814,7 +1872,7 @@
 "\t# Regul�(i)\n"
 "\n"
 
-#: profile.c:1197
+#: profile.c:1119
 #, c-format
 msgid ""
 "\t# END block(s)\n"
@@ -1823,7 +1881,7 @@
 "\t# bloc(uri) END\n"
 "\n"
 
-#: profile.c:1217
+#: profile.c:1139
 #, c-format
 msgid ""
 "\n"
@@ -1832,95 +1890,90 @@
 "\n"
 "\t# Func�ii, listate alfabetic\n"
 
-#: profile.c:1470
+#: profile.c:1400
 #, c-format
 msgid "unexpected type %s in prec_level"
 msgstr "tip %s nea�teptat �n prec_level"
 
-#: regcomp.c:132
+#: profile.c:1500
+#, fuzzy, c-format
+msgid "Unknown node type %s in pp_var"
+msgstr "tip nod %d necunoscut"
+
+#: regcomp.c:133
 msgid "Success"
 msgstr "Succes"
 
-#: regcomp.c:135
+#: regcomp.c:136
 msgid "No match"
 msgstr "Nici o potrivire"
 
-#: regcomp.c:138
+#: regcomp.c:139
 msgid "Invalid regular expression"
 msgstr "Expresie regular� invalid�"
 
-#: regcomp.c:141
+#: regcomp.c:142
 msgid "Invalid collation character"
 msgstr "Caracter de comparare invalid"
 
-#: regcomp.c:144
+#: regcomp.c:145
 msgid "Invalid character class name"
 msgstr "nume clas� caracter invalid"
 
-#: regcomp.c:147
+#: regcomp.c:148
 msgid "Trailing backslash"
 msgstr "Backslash final"
 
-#: regcomp.c:150
+#: regcomp.c:151
 msgid "Invalid back reference"
 msgstr "referin�� anterioar�(back) invalid�"
 
-#: regcomp.c:153
+#: regcomp.c:154
 msgid "Unmatched [ or [^"
 msgstr "[ sau [^ f�r� reciproc�"
 
-#: regcomp.c:156
+#: regcomp.c:157
 msgid "Unmatched ( or \\("
 msgstr "( sau \\( f�r� reciproc�"
 
-#: regcomp.c:159
+#: regcomp.c:160
 msgid "Unmatched \\{"
 msgstr "{ f�r� reciproc�"
 
-#: regcomp.c:162
+#: regcomp.c:163
 msgid "Invalid content of \\{\\}"
 msgstr "Con�inut invalid al \\{\\}"
 
-#: regcomp.c:165
+#: regcomp.c:166
 msgid "Invalid range end"
 msgstr "Sf�r�it de domeniu invalid"
 
-#: regcomp.c:168
+#: regcomp.c:169
 msgid "Memory exhausted"
 msgstr "Memorie plin�"
 
-#: regcomp.c:171
+#: regcomp.c:172
 msgid "Invalid preceding regular expression"
 msgstr "Expresie regular� anterioar� invalid�"
 
-#: regcomp.c:174
+#: regcomp.c:175
 msgid "Premature end of regular expression"
 msgstr "Sf�r�it prematur de expresie regular�"
 
-#: regcomp.c:177
+#: regcomp.c:178
 msgid "Regular expression too big"
 msgstr "Expresie regular� prea mare"
 
-#: regcomp.c:180
+#: regcomp.c:181
 msgid "Unmatched ) or \\)"
 msgstr ") or \\) f�r� reciproc�"
 
-#: regcomp.c:664
+#: regcomp.c:700
 msgid "No previous regular expression"
 msgstr "Nu exist� expresii regulare anterioare"
 
-#~ msgid "remote port invalid in `%s'"
-#~ msgstr "port remote invalid �n `%s'"
-
-#~ msgid "function %s called\n"
-#~ msgstr "func�ia %s a fost apelat�\n"
-
-#~ msgid "field %d in FIELDWIDTHS, must be > 0"
-#~ msgstr "c�mpul %d din FIELDWIDTHS trebuie s� fie > 0"
-
-#, fuzzy
-#~ msgid "or used as a variable or an array"
-#~ msgstr "nu se poate folosi numele func�iei `%s' ca variabil� sau array"
+#~ msgid "%s: illegal option -- %c\n"
+#~ msgstr "%s: op�iune ilegal� -- %c\n"
 
 #~ msgid "delete: illegal use of variable `%s' as array"
 #~ msgstr "delete: folosire ilegal� a variabilei `%s' ca array"
@@ -1988,8 +2041,14 @@
 #~ msgid "Unbalanced )"
 #~ msgstr ") f�r� reciproc"
 
-#~ msgid "out of memory"
-#~ msgstr "memorie plin�"
+#~ msgid "field %d in FIELDWIDTHS, must be > 0"
+#~ msgstr "c�mpul %d din FIELDWIDTHS trebuie s� fie > 0"
+
+#~ msgid "function %s called\n"
+#~ msgstr "func�ia %s a fost apelat�\n"
+
+#~ msgid "remote port invalid in `%s'"
+#~ msgstr "port remote invalid �n `%s'"
 
 #~ msgid "internal error: file `%s', line %d\n"
 #~ msgstr "eroare intern�: fi�ierul `%s', linia %d\n"
diff -urN gawk-3.1.6/po/rw.po gawk-3.1.7/po/rw.po
--- gawk-3.1.6/po/rw.po	2007-09-30 22:33:29.000000000 +0200
+++ gawk-3.1.7/po/rw.po	2009-07-21 23:23:45.000000000 +0300
@@ -16,7 +16,7 @@
 msgstr ""
 "Project-Id-Version: gawk 3.1.4\n"
 "Report-Msgid-Bugs-To: arnold@skeeve.com\n"
-"POT-Creation-Date: 2007-09-30 22:33+0200\n"
+"POT-Creation-Date: 2009-07-21 23:23+0300\n"
 "PO-Revision-Date: 2005-04-04 10:55-0700\n"
 "Last-Translator: Steven Michael Murphy <murf@e-tools.com>\n"
 "Language-Team: Kinyarwanda <translation-team-rw@lists.sourceforge.net>\n"
@@ -84,359 +84,364 @@
 msgid "%s: array_ref to %s\n"
 msgstr "%s:Kuri"
 
-#: awkgram.y:215
+#: awkgram.y:218
 #, fuzzy, c-format
 msgid "%s blocks must have an action part"
 msgstr "%sIgikorwa"
 
-#: awkgram.y:218
+#: awkgram.y:221
 #, fuzzy
 msgid "each rule must have a pattern or an action part"
 msgstr "a Ishusho Cyangwa Igikorwa"
 
-#: awkgram.y:254 awkgram.y:263
+#: awkgram.y:257 awkgram.y:266
 #, fuzzy
 msgid "old awk does not support multiple `BEGIN' or `END' rules"
 msgstr "ki/ bishaje OYA Gushigikira Mukoresha"
 
-#: awkgram.y:282
+#: awkgram.y:285
 #, fuzzy, c-format
 msgid "`%s' is a built-in function, it cannot be redefined"
 msgstr "`%s'ni a in Umumaro"
 
-#: awkgram.y:328
+#: awkgram.y:331
 #, fuzzy
 msgid "regexp constant `//' looks like a C++ comment, but is not"
 msgstr "nka a C Icyo wongeraho ni OYA"
 
-#: awkgram.y:331
+#: awkgram.y:334
 #, fuzzy, c-format
 msgid "regexp constant `/%s/' looks like a C comment, but is not"
 msgstr "nka a C Icyo wongeraho ni OYA"
 
-#: awkgram.y:358 awkgram.y:653
+#: awkgram.y:361 awkgram.y:656
 #, fuzzy
 msgid "statement may have no effect"
 msgstr "Inyandiko Gicurasi Oya INGARUKA"
 
-#: awkgram.y:455 awkgram.y:479
+#: awkgram.y:458 awkgram.y:482
 #, fuzzy, c-format
 msgid "`%s' used in %s action"
 msgstr "`%s'in Igikorwa"
 
-#: awkgram.y:470 awkgram.y:474
+#: awkgram.y:473 awkgram.y:477
 #, fuzzy
 msgid "`nextfile' is a gawk extension"
 msgstr "`ni a Umugereka"
 
-#: awkgram.y:489
+#: awkgram.y:492
 #, fuzzy
 msgid "`return' used outside function context"
 msgstr "`Hanze Umumaro Imvugiro"
 
-#: awkgram.y:531
+#: awkgram.y:534
 #, fuzzy
 msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'"
 msgstr "Byuzuye in Cyangwa Gucapa"
 
-#: awkgram.y:547 awkgram.y:555
+#: awkgram.y:550 awkgram.y:558
 #, fuzzy
 msgid "`delete array' is a gawk extension"
 msgstr "`Gusiba ni a Umugereka"
 
-#: awkgram.y:569 awkgram.y:577
+#: awkgram.y:572 awkgram.y:580
 #, fuzzy
 msgid "`delete(array)' is a non-portable tawk extension"
 msgstr "`Gusiba Imbonerahamwe ni a Umugereka"
 
-#: awkgram.y:621
+#: awkgram.y:624
 #, fuzzy, c-format
 msgid "duplicate case values in switch body: %s"
 msgstr "Gusubiramo Uduciro in Hindura Umubiri"
 
-#: awkgram.y:631
+#: awkgram.y:634
 #, fuzzy
 msgid "Duplicate `default' detected in switch body"
 msgstr "in Hindura Umubiri"
 
-#: awkgram.y:720
+#: awkgram.y:723
 #, fuzzy
 msgid "multistage two-way pipelines don't work"
 msgstr "Akazi"
 
-#: awkgram.y:811
+#: awkgram.y:814
 #, fuzzy
 msgid "regular expression on right of assignment"
 msgstr "Ibisanzwe imvugo ku Iburyo: Bya Igenera"
 
-#: awkgram.y:834
+#: awkgram.y:824
 #, fuzzy
 msgid "regular expression on left of `~' or `!~' operator"
 msgstr "Ibisanzwe imvugo ku Ibumoso: Bya Cyangwa Mukoresha"
 
-#: awkgram.y:840 awkgram.y:913
+#: awkgram.y:830 awkgram.y:903
 #, fuzzy
 msgid "old awk does not support the keyword `in' except after `for'"
 msgstr "ki/ bishaje OYA Gushigikira Mukoresha"
 
-#: awkgram.y:846
+#: awkgram.y:836
 #, fuzzy
 msgid "regular expression on right of comparison"
 msgstr "Ibisanzwe imvugo ku Iburyo: Bya"
 
-#: awkgram.y:903
+#: awkgram.y:893
 #, fuzzy
 msgid "non-redirected `getline' undefined inside END action"
 msgstr "kidasobanuye Mo Imbere Igikorwa"
 
-#: awkgram.y:914
+#: awkgram.y:904
 #, fuzzy
 msgid "old awk does not support multidimensional arrays"
 msgstr "ki/ bishaje OYA Gushigikira Mukoresha"
 
-#: awkgram.y:960
+#: awkgram.y:950
 #, fuzzy
 msgid "call of `length' without parentheses is not portable"
 msgstr "Bya ni OYA"
 
-#: awkgram.y:965
+#: awkgram.y:955
 #, fuzzy
 msgid "call of `length' without parentheses is deprecated by POSIX"
 msgstr "Bya ni Bitemewe. ku"
 
-#: awkgram.y:1019
+#: awkgram.y:1009
 #, fuzzy
 msgid "use of non-array as array"
 msgstr "Gukoresha Bya Imbonerahamwe Nka Imbonerahamwe"
 
-#: awkgram.y:1022
+#: awkgram.y:1012
 #, fuzzy
 msgid "invalid subscript expression"
 msgstr "Sibyo Inyandiko nyesi imvugo"
 
-#: awkgram.y:1249
+#: awkgram.y:1257
 #, fuzzy
 msgid "unexpected newline or end of string"
 msgstr "Cyangwa Impera Bya Ikurikiranyanyuguti"
 
-#: awkgram.y:1366
+#: awkgram.y:1374
 #, fuzzy
 msgid "empty program text on command line"
 msgstr "ubusa Porogaramu Umwandiko ku Komandi: Umurongo"
 
-#: awkgram.y:1422
+#: awkgram.y:1430
 #, fuzzy, c-format
 msgid "can't open source file `%s' for reading (%s)"
 msgstr "Gufungura Inkomoko IDOSIYE kugirango"
 
-#: awkgram.y:1520
+#: awkgram.y:1528
 #, fuzzy, c-format
 msgid "can't read sourcefile `%s' (%s)"
 msgstr "Gusoma"
 
-#: awkgram.y:1528
+#: awkgram.y:1536
 #, fuzzy, c-format
 msgid "source file `%s' is empty"
 msgstr "Inkomoko IDOSIYE ni ubusa"
 
-#: awkgram.y:1720 awkgram.y:1842 awkgram.y:1860 awkgram.y:2235 awkgram.y:2322
+#: awkgram.y:1728 awkgram.y:1850 awkgram.y:1868 awkgram.y:2243 awkgram.y:2330
 #, fuzzy
 msgid "source file does not end in newline"
 msgstr "Inkomoko IDOSIYE OYA Impera in"
 
-#: awkgram.y:1782
+#: awkgram.y:1790
 #, fuzzy
 msgid "unterminated regexp ends with `\\' at end of file"
 msgstr "Na: ku Impera Bya IDOSIYE"
 
-#: awkgram.y:1806
+#: awkgram.y:1814
 #, c-format
 msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk"
 msgstr ""
 
-#: awkgram.y:1810
+#: awkgram.y:1818
 #, c-format
 msgid "tawk regex modifier `/.../%c' doesn't work in gawk"
 msgstr ""
 
-#: awkgram.y:1817
+#: awkgram.y:1825
 msgid "unterminated regexp"
 msgstr ""
 
-#: awkgram.y:1820
+#: awkgram.y:1828
 #, fuzzy
 msgid "unterminated regexp at end of file"
 msgstr "ku Impera Bya IDOSIYE"
 
-#: awkgram.y:1889
+#: awkgram.y:1897
 #, fuzzy
 msgid "use of `\\ #...' line continuation is not portable"
 msgstr "Gukoresha Bya Umurongo ni OYA"
 
-#: awkgram.y:1902
+#: awkgram.y:1910
 #, fuzzy
 msgid "backslash not last character on line"
 msgstr "OYA Iheruka Inyuguti ku Umurongo"
 
-#: awkgram.y:1947
+#: awkgram.y:1955
 #, fuzzy
 msgid "POSIX does not allow operator `**='"
 msgstr "OYA Kwemerera Mukoresha"
 
-#: awkgram.y:1949
+#: awkgram.y:1957
 #, fuzzy
 msgid "old awk does not support operator `**='"
 msgstr "ki/ bishaje OYA Gushigikira Mukoresha"
 
-#: awkgram.y:1958
+#: awkgram.y:1966
 #, fuzzy
 msgid "POSIX does not allow operator `**'"
 msgstr "OYA Kwemerera Mukoresha"
 
-#: awkgram.y:1960
+#: awkgram.y:1968
 #, fuzzy
 msgid "old awk does not support operator `**'"
 msgstr "ki/ bishaje OYA Gushigikira Mukoresha"
 
-#: awkgram.y:1991
+#: awkgram.y:1999
 #, fuzzy
 msgid "operator `^=' is not supported in old awk"
 msgstr "Mukoresha ni OYA in ki/ bishaje"
 
-#: awkgram.y:1999
+#: awkgram.y:2007
 #, fuzzy
 msgid "operator `^' is not supported in old awk"
 msgstr "Mukoresha ni OYA in ki/ bishaje"
 
-#: awkgram.y:2083 awkgram.y:2098
+#: awkgram.y:2091 awkgram.y:2106
 #, fuzzy
 msgid "unterminated string"
 msgstr "Ikurikiranyanyuguti"
 
-#: awkgram.y:2283
+#: awkgram.y:2291
 #, fuzzy, c-format
 msgid "invalid char '%c' in expression"
 msgstr "Sibyo INYUGUTI in imvugo"
 
-#: awkgram.y:2331
+#: awkgram.y:2339
 #, fuzzy, c-format
 msgid "`%s' is a gawk extension"
 msgstr "`%s'ni a Umugereka"
 
-#: awkgram.y:2334
+#: awkgram.y:2342
 #, fuzzy, c-format
 msgid "`%s' is a Bell Labs extension"
 msgstr "`%s'ni a Umugereka"
 
-#: awkgram.y:2337
+#: awkgram.y:2345
 #, fuzzy, c-format
 msgid "POSIX does not allow `%s'"
 msgstr "OYA Kwemerera"
 
-#: awkgram.y:2341
+#: awkgram.y:2349
 #, fuzzy, c-format
 msgid "`%s' is not supported in old awk"
 msgstr "`%s'ni OYA in ki/ bishaje"
 
-#: awkgram.y:2367
+#: awkgram.y:2375
 msgid "`goto' considered harmful!\n"
 msgstr ""
 
-#: awkgram.y:2429
+#: awkgram.y:2437
 #, fuzzy, c-format
 msgid "%d is invalid as number of arguments for %s"
 msgstr "%dni Sibyo Nka Umubare Bya ingingo kugirango"
 
-#: awkgram.y:2448 awkgram.y:2451
+#: awkgram.y:2456 awkgram.y:2459
 #, fuzzy
 msgid "match: third argument is a gawk extension"
 msgstr "BIHUYE ni a Umugereka"
 
-#: awkgram.y:2464
+#: awkgram.y:2472
 #, fuzzy, c-format
 msgid "%s: string literal as last arg of substitute has no effect"
 msgstr "%s:Ikurikiranyanyuguti Nka Iheruka Bya GUSIMBURANYA Oya INGARUKA"
 
-#: awkgram.y:2467
+#: awkgram.y:2475
 #, fuzzy, c-format
 msgid "%s third parameter is not a changeable object"
 msgstr "%sni OYA a Igikoresho"
 
-#: awkgram.y:2494 awkgram.y:2497
+#: awkgram.y:2502 awkgram.y:2505
 #, fuzzy
 msgid "close: second argument is a gawk extension"
 msgstr "Gufunga ISEGONDA ni a Umugereka"
 
-#: awkgram.y:2507
+#: awkgram.y:2515
 #, fuzzy
 msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore"
 msgstr "Gukoresha Bya ni Gukuraho... Nyobora"
 
-#: awkgram.y:2522
+#: awkgram.y:2530
 #, fuzzy
 msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore"
 msgstr "Gukoresha Bya ni Gukuraho... Nyobora"
 
-#: awkgram.y:2594
+#: awkgram.y:2602
 #, fuzzy, c-format
 msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d"
 msgstr "Umumaro"
 
-#: awkgram.y:2627
+#: awkgram.y:2635
 #, fuzzy, c-format
 msgid "function `%s': parameter `%s' shadows global variable"
 msgstr "Umumaro IMPINDURAGACIRO"
 
-#: awkgram.y:2739
+#: awkgram.y:2747
 #, fuzzy, c-format
 msgid "could not open `%s' for writing (%s)"
 msgstr "OYA Gufungura kugirango"
 
-#: awkgram.y:2740 profile.c:94
+#: awkgram.y:2748 profile.c:95
 #, fuzzy
 msgid "sending profile to standard error"
 msgstr "Ibijyana Kuri Bisanzwe Ikosa"
 
-#: awkgram.y:2772
+#: awkgram.y:2780
 #, fuzzy, c-format
 msgid "%s: close failed (%s)"
 msgstr "%s:Gufunga Byanze"
 
-#: awkgram.y:2893
+#: awkgram.y:2901
 msgid "shadow_funcs() called twice!"
 msgstr ""
 
-#: awkgram.y:2920
+#: awkgram.y:2928
 #, fuzzy
 msgid "there were shadowed variables."
 msgstr "Bihawe igicucu Ibihinduka"
 
-#: awkgram.y:2993
+#: awkgram.y:3001
 #, fuzzy, c-format
 msgid "function `%s': can't use function name as parameter name"
 msgstr "Umumaro Gukoresha Umumaro Izina: Nka Izina:"
 
-#: awkgram.y:3003
+#: awkgram.y:3004
+#, fuzzy, c-format
+msgid "function `%s': can't use special variable `%s' as a function parameter"
+msgstr "Umumaro Gukoresha Umumaro Izina: Nka Izina:"
+
+#: awkgram.y:3014
 #, fuzzy, c-format
 msgid "function name `%s' previously defined"
 msgstr "Umumaro Izina:"
 
-#: awkgram.y:3154 awkgram.y:3160
+#: awkgram.y:3165 awkgram.y:3171
 #, fuzzy, c-format
 msgid "function `%s' called but never defined"
 msgstr "Umumaro Nta narimwe"
 
-#: awkgram.y:3163
+#: awkgram.y:3174
 #, fuzzy, c-format
 msgid "function `%s' defined but never called"
 msgstr "Umumaro Nta narimwe"
 
-#: awkgram.y:3190
+#: awkgram.y:3201
 #, fuzzy, c-format
 msgid "regexp constant for parameter #%d yields boolean value"
 msgstr "kugirango Icyungo Agaciro"
 
-#: awkgram.y:3234
+#: awkgram.y:3245
 #, fuzzy, c-format
 msgid ""
 "function `%s' called with space between name and `(',\n"
@@ -445,560 +450,584 @@
 "Umumaro Na: Umwanya hagati Izina: Na Cyangwa Nka a IMPINDURAGACIRO Cyangwa "
 "Imbonerahamwe"
 
-#: builtin.c:119
+#: awkgram.y:3667 eval.c:1394
+#, fuzzy, c-format
+msgid "division by zero attempted in `%%'"
+msgstr "ku Zeru in"
+
+#: builtin.c:122
 #, fuzzy, c-format
 msgid "%s to \"%s\" failed (%s)"
 msgstr "%sKuri Byanze"
 
-#: builtin.c:120
+#: builtin.c:123
 #, fuzzy
 msgid "standard output"
 msgstr "Bisanzwe Ibisohoka"
 
-#: builtin.c:121
+#: builtin.c:124
 #, fuzzy
 msgid "reason unknown"
 msgstr "Kitazwi"
 
-#: builtin.c:134
+#: builtin.c:137
 #, fuzzy
 msgid "exp: received non-numeric argument"
 msgstr "EXP BYAKIRIWE Bikurikije umubare"
 
-#: builtin.c:140
+#: builtin.c:143
 #, fuzzy, c-format
 msgid "exp: argument %g is out of range"
 msgstr "EXP ni Inyuma Bya Urutonde"
 
-#: builtin.c:198
+#: builtin.c:201
 #, fuzzy, c-format
 msgid "fflush: cannot flush: pipe `%s' opened for reading, not writing"
 msgstr "kugirango OYA"
 
-#: builtin.c:201
+#: builtin.c:204
 #, fuzzy, c-format
 msgid "fflush: cannot flush: file `%s' opened for reading, not writing"
 msgstr "IDOSIYE kugirango OYA"
 
-#: builtin.c:213
+#: builtin.c:216
 #, fuzzy, c-format
 msgid "fflush: `%s' is not an open file, pipe or co-process"
 msgstr "ni OYA Gufungura IDOSIYE Cyangwa"
 
-#: builtin.c:306
+#: builtin.c:310
 #, fuzzy
 msgid "index: received non-string first argument"
 msgstr "Umubarendanga BYAKIRIWE Ikurikiranyanyuguti Itangira"
 
-#: builtin.c:308
+#: builtin.c:312
 #, fuzzy
 msgid "index: received non-string second argument"
 msgstr "Umubarendanga BYAKIRIWE Ikurikiranyanyuguti ISEGONDA"
 
-#: builtin.c:423
+#: builtin.c:434
 #, fuzzy
 msgid "int: received non-numeric argument"
 msgstr "INT BYAKIRIWE Bikurikije umubare"
 
-#: builtin.c:448
+#: builtin.c:464
 #, fuzzy
 msgid "`length(array)' is a gawk extension"
 msgstr "`Gusiba ni a Umugereka"
 
-#: builtin.c:458
+#: builtin.c:473
+msgid "length: untyped argument will be forced to scalar"
+msgstr ""
+
+#: builtin.c:477
 #, fuzzy
 msgid "length: received non-string argument"
 msgstr "Uburebure BYAKIRIWE Ikurikiranyanyuguti"
 
-#: builtin.c:483
+#: builtin.c:508
 #, fuzzy
 msgid "log: received non-numeric argument"
 msgstr "LOG BYAKIRIWE Bikurikije umubare"
 
-#: builtin.c:486
+#: builtin.c:511
 #, fuzzy, c-format
 msgid "log: received negative argument %g"
 msgstr "LOG BYAKIRIWE"
 
-#: builtin.c:693 builtin.c:696
+#: builtin.c:719 builtin.c:722
 #, fuzzy
 msgid "must use `count$' on all formats or none"
 msgstr "Gukoresha IBARA ku Byose Imiterere Cyangwa Ntacyo"
 
-#: builtin.c:799
+#: builtin.c:783
+#, c-format
+msgid "field width is ignored for `%%%%' specifier"
+msgstr ""
+
+#: builtin.c:785
+#, c-format
+msgid "precision is ignored for `%%%%' specifier"
+msgstr ""
+
+#: builtin.c:787
+#, c-format
+msgid "field width and precision are ignored for `%%%%' specifier"
+msgstr ""
+
+#: builtin.c:838
 #, fuzzy
 msgid "`$' is not permitted in awk formats"
 msgstr "`$'ni OYA in Imiterere"
 
-#: builtin.c:805
+#: builtin.c:844
 #, fuzzy
 msgid "arg count with `$' must be > 0"
 msgstr "IBARA Na: 0"
 
-#: builtin.c:807
+#: builtin.c:846
 #, fuzzy, c-format
 msgid "arg count %ld greater than total number of supplied arguments"
 msgstr "IBARA Biruta Igiteranyo Umubare Bya ingingo"
 
-#: builtin.c:809
+#: builtin.c:848
 #, fuzzy
 msgid "`$' not permitted after period in format"
 msgstr "`$'OYA Nyuma Igihe in Imiterere"
 
-#: builtin.c:822
+#: builtin.c:861
 #, fuzzy
 msgid "no `$' supplied for positional field width or precision"
 msgstr "Oya kugirango Umwanya Ubugari Cyangwa"
 
-#: builtin.c:888
+#: builtin.c:927
 #, fuzzy
 msgid "`l' is meaningless in awk formats; ignored"
 msgstr "`ni in Imiterere"
 
-#: builtin.c:892
+#: builtin.c:931
 #, fuzzy
 msgid "`l' is not permitted in POSIX awk formats"
 msgstr "`ni OYA in Imiterere"
 
-#: builtin.c:903
+#: builtin.c:942
 #, fuzzy
 msgid "`L' is meaningless in awk formats; ignored"
 msgstr "`ni in Imiterere"
 
-#: builtin.c:907
+#: builtin.c:946
 #, fuzzy
 msgid "`L' is not permitted in POSIX awk formats"
 msgstr "`ni OYA in Imiterere"
 
-#: builtin.c:918
+#: builtin.c:957
 #, fuzzy
 msgid "`h' is meaningless in awk formats; ignored"
 msgstr "`ni in Imiterere"
 
-#: builtin.c:922
+#: builtin.c:961
 #, fuzzy
 msgid "`h' is not permitted in POSIX awk formats"
 msgstr "`ni OYA in Imiterere"
 
-#: builtin.c:1182
+#: builtin.c:1236
 #, fuzzy, c-format
 msgid "[s]printf: value %g is out of range for `%%%c' format"
 msgstr "[S Agaciro ni Inyuma Bya Urutonde kugirango Imiterere"
 
-#: builtin.c:1266
+#: builtin.c:1316
+#, c-format
+msgid "ignoring unknown format specifier character `%c': no argument converted"
+msgstr ""
+
+#: builtin.c:1322
 #, fuzzy
 msgid "not enough arguments to satisfy format string"
 msgstr "OYA ingingo Kuri Imiterere Ikurikiranyanyuguti"
 
-#: builtin.c:1268
+#: builtin.c:1324
 #, fuzzy
 msgid "^ ran out for this one"
 msgstr "^Inyuma kugirango iyi"
 
-#: builtin.c:1274
+#: builtin.c:1330
 #, fuzzy
 msgid "[s]printf: format specifier does not have control letter"
 msgstr "[S Imiterere OYA Igenzura Ibaruwa..."
 
-#: builtin.c:1277
+#: builtin.c:1333
 #, fuzzy
 msgid "too many arguments supplied for format string"
 msgstr "ingingo kugirango Imiterere Ikurikiranyanyuguti"
 
-#: builtin.c:1352 builtin.c:1355
+#: builtin.c:1408 builtin.c:1411
 #, fuzzy
 msgid "printf: no arguments"
 msgstr "Oya ingingo"
 
-#: builtin.c:1379
+#: builtin.c:1435
 #, fuzzy
 msgid "sqrt: received non-numeric argument"
 msgstr "SQRT BYAKIRIWE Bikurikije umubare"
 
-#: builtin.c:1383
+#: builtin.c:1439
 #, fuzzy, c-format
 msgid "sqrt: called with negative argument %g"
 msgstr "SQRT Na:"
 
-#: builtin.c:1407
+#: builtin.c:1463
 #, fuzzy, c-format
 msgid "substr: start index %g is invalid, using 1"
 msgstr "Gutangira Umubarendanga ni Sibyo ikoresha 1."
 
-#: builtin.c:1412
+#: builtin.c:1468
 #, fuzzy, c-format
 msgid "substr: non-integer start index %g will be truncated"
 msgstr "Umubare wuzuye Gutangira Umubarendanga"
 
-#: builtin.c:1431
+#: builtin.c:1494
 #, fuzzy, c-format
 msgid "substr: length %g is not >= 1"
 msgstr "Uburebure ni OYA 1."
 
-#: builtin.c:1433
+#: builtin.c:1496
 #, fuzzy, c-format
 msgid "substr: length %g is not >= 0"
 msgstr "Uburebure ni OYA 0"
 
-#: builtin.c:1440
+#: builtin.c:1503
 #, fuzzy, c-format
 msgid "substr: non-integer length %g will be truncated"
 msgstr "Umubare wuzuye Uburebure"
 
-#: builtin.c:1445
+#: builtin.c:1508
 #, fuzzy, c-format
 msgid "substr: length %g too big for string indexing, truncating to %g"
 msgstr "Uburebure kugirango Ikurikiranyanyuguti gushyiraho umugereka Kuri"
 
-#: builtin.c:1457
+#: builtin.c:1520
 #, fuzzy
 msgid "substr: source string is zero length"
 msgstr "Inkomoko Ikurikiranyanyuguti ni Zeru Uburebure"
 
-#: builtin.c:1473
+#: builtin.c:1536
 #, fuzzy, c-format
 msgid "substr: start index %g is past end of string"
 msgstr "Gutangira Umubarendanga ni Impera Bya Ikurikiranyanyuguti"
 
-#: builtin.c:1481
+#: builtin.c:1544
 #, fuzzy, c-format
 msgid ""
 "substr: length %g at start index %g exceeds length of first argument (%lu)"
 msgstr "Uburebure ku Gutangira Umubarendanga Uburebure Bya Itangira"
 
-#: builtin.c:1558
+#: builtin.c:1621
 #, fuzzy
 msgid "strftime: received non-string first argument"
 msgstr "BYAKIRIWE Ikurikiranyanyuguti Itangira"
 
-#: builtin.c:1564
+#: builtin.c:1627
 #, fuzzy
 msgid "strftime: received empty format string"
 msgstr "BYAKIRIWE ubusa Imiterere Ikurikiranyanyuguti"
 
-#: builtin.c:1573
+#: builtin.c:1636
 #, fuzzy
 msgid "strftime: received non-numeric second argument"
 msgstr "BYAKIRIWE Bikurikije umubare ISEGONDA"
 
-#: builtin.c:1650
+#: builtin.c:1713
 #, fuzzy
 msgid "mktime: received non-string argument"
 msgstr "BYAKIRIWE Ikurikiranyanyuguti"
 
-#: builtin.c:1695
+#: builtin.c:1758
 #, fuzzy
 msgid "system: received non-string argument"
 msgstr "Sisitemu BYAKIRIWE Ikurikiranyanyuguti"
 
-#: builtin.c:1816 eval.c:2041
+#: builtin.c:1879 eval.c:2145
 #, fuzzy, c-format
 msgid "reference to uninitialized field `$%d'"
 msgstr "Indango Kuri Itatangijwe Umwanya"
 
-#: builtin.c:1921
+#: builtin.c:1984
 #, fuzzy
 msgid "tolower: received non-string argument"
 msgstr "BYAKIRIWE Ikurikiranyanyuguti"
 
-#: builtin.c:1951
+#: builtin.c:2014
 #, fuzzy
 msgid "toupper: received non-string argument"
 msgstr "BYAKIRIWE Ikurikiranyanyuguti"
 
-#: builtin.c:1984
+#: builtin.c:2047
 #, fuzzy
 msgid "atan2: received non-numeric first argument"
 msgstr "ATAN2 BYAKIRIWE Bikurikije umubare Itangira"
 
-#: builtin.c:1986
+#: builtin.c:2049
 #, fuzzy
 msgid "atan2: received non-numeric second argument"
 msgstr "ATAN2 BYAKIRIWE Bikurikije umubare ISEGONDA"
 
-#: builtin.c:2005
+#: builtin.c:2068
 #, fuzzy
 msgid "sin: received non-numeric argument"
 msgstr "SIN BYAKIRIWE Bikurikije umubare"
 
-#: builtin.c:2021
+#: builtin.c:2084
 #, fuzzy
 msgid "cos: received non-numeric argument"
 msgstr "COS BYAKIRIWE Bikurikije umubare"
 
-#: builtin.c:2071
+#: builtin.c:2137
 #, fuzzy
 msgid "srand: received non-numeric argument"
 msgstr "BYAKIRIWE Bikurikije umubare"
 
-#: builtin.c:2106
+#: builtin.c:2172
 #, fuzzy
 msgid "match: third argument is not an array"
 msgstr "BIHUYE ni OYA Imbonerahamwe"
 
-#: builtin.c:2650
+#: builtin.c:2719
 #, fuzzy
 msgid "gensub: third argument of 0 treated as 1"
 msgstr "Bya 0 Nka 1."
 
-#: builtin.c:2766
+#: builtin.c:2835
 #, fuzzy
 msgid "lshift: received non-numeric first argument"
 msgstr "BYAKIRIWE Bikurikije umubare Itangira"
 
-#: builtin.c:2768
+#: builtin.c:2837
 #, fuzzy
 msgid "lshift: received non-numeric second argument"
 msgstr "BYAKIRIWE Bikurikije umubare ISEGONDA"
 
-#: builtin.c:2774
+#: builtin.c:2843
 #, fuzzy, c-format
 msgid "lshift(%lf, %lf): negative values will give strange results"
 msgstr "Uduciro Ibisubizo ku"
 
-#: builtin.c:2776
+#: builtin.c:2845
 #, fuzzy, c-format
 msgid "lshift(%lf, %lf): fractional values will be truncated"
 msgstr "Uduciro"
 
-#: builtin.c:2778
+#: builtin.c:2847
 #, fuzzy, c-format
 msgid "lshift(%lf, %lf): too large shift value will give strange results"
 msgstr "Binini Gusunika Agaciro Ibisubizo ku"
 
-#: builtin.c:2804
+#: builtin.c:2873
 #, fuzzy
 msgid "rshift: received non-numeric first argument"
 msgstr "BYAKIRIWE Bikurikije umubare Itangira"
 
-#: builtin.c:2806
+#: builtin.c:2875
 #, fuzzy
 msgid "rshift: received non-numeric second argument"
 msgstr "BYAKIRIWE Bikurikije umubare ISEGONDA"
 
-#: builtin.c:2812
+#: builtin.c:2881
 #, fuzzy, c-format
 msgid "rshift(%lf, %lf): negative values will give strange results"
 msgstr "Uduciro Ibisubizo ku"
 
-#: builtin.c:2814
+#: builtin.c:2883
 #, fuzzy, c-format
 msgid "rshift(%lf, %lf): fractional values will be truncated"
 msgstr "Uduciro"
 
-#: builtin.c:2816
+#: builtin.c:2885
 #, fuzzy, c-format
 msgid "rshift(%lf, %lf): too large shift value will give strange results"
 msgstr "Binini Gusunika Agaciro Ibisubizo ku"
 
-#: builtin.c:2842
+#: builtin.c:2911
 #, fuzzy
 msgid "and: received non-numeric first argument"
 msgstr "Na BYAKIRIWE Bikurikije umubare Itangira"
 
-#: builtin.c:2844
+#: builtin.c:2913
 #, fuzzy
 msgid "and: received non-numeric second argument"
 msgstr "Na BYAKIRIWE Bikurikije umubare ISEGONDA"
 
-#: builtin.c:2850
+#: builtin.c:2919
 #, fuzzy, c-format
 msgid "and(%lf, %lf): negative values will give strange results"
 msgstr "Na Uduciro Ibisubizo ku"
 
-#: builtin.c:2852
+#: builtin.c:2921
 #, fuzzy, c-format
 msgid "and(%lf, %lf): fractional values will be truncated"
 msgstr "Na Uduciro"
 
-#: builtin.c:2878
+#: builtin.c:2947
 #, fuzzy
 msgid "or: received non-numeric first argument"
 msgstr "Cyangwa BYAKIRIWE Bikurikije umubare Itangira"
 
-#: builtin.c:2880
+#: builtin.c:2949
 #, fuzzy
 msgid "or: received non-numeric second argument"
 msgstr "Cyangwa BYAKIRIWE Bikurikije umubare ISEGONDA"
 
-#: builtin.c:2886
+#: builtin.c:2955
 #, fuzzy, c-format
 msgid "or(%lf, %lf): negative values will give strange results"
 msgstr "Cyangwa Uduciro Ibisubizo ku"
 
-#: builtin.c:2888
+#: builtin.c:2957
 #, fuzzy, c-format
 msgid "or(%lf, %lf): fractional values will be truncated"
 msgstr "Cyangwa Uduciro"
 
-#: builtin.c:2914
+#: builtin.c:2983
 #, fuzzy
 msgid "xor: received non-numeric first argument"
 msgstr "BYAKIRIWE Bikurikije umubare Itangira"
 
-#: builtin.c:2916
+#: builtin.c:2985
 #, fuzzy
 msgid "xor: received non-numeric second argument"
 msgstr "BYAKIRIWE Bikurikije umubare ISEGONDA"
 
-#: builtin.c:2922
+#: builtin.c:2991
 #, fuzzy, c-format
 msgid "xor(%lf, %lf): negative values will give strange results"
 msgstr "Uduciro Ibisubizo ku"
 
-#: builtin.c:2924
+#: builtin.c:2993
 #, fuzzy, c-format
 msgid "xor(%lf, %lf): fractional values will be truncated"
 msgstr "Uduciro"
 
-#: builtin.c:2948
+#: builtin.c:3017
 #, fuzzy
 msgid "compl: received non-numeric argument"
 msgstr "BYAKIRIWE Bikurikije umubare"
 
-#: builtin.c:2954
+#: builtin.c:3023
 #, fuzzy, c-format
 msgid "compl(%lf): negative value will give strange results"
 msgstr "Agaciro Ibisubizo ku"
 
-#: builtin.c:2956
+#: builtin.c:3025
 #, fuzzy, c-format
 msgid "compl(%lf): fractional value will be truncated"
 msgstr "Agaciro"
 
-#: builtin.c:3129
+#: builtin.c:3198
 #, fuzzy, c-format
 msgid "dcgettext: `%s' is not a valid locale category"
 msgstr "ni OYA a Byemewe Umwanya Icyiciro"
 
-#: eval.c:303
+#: eval.c:372
 #, fuzzy, c-format
 msgid "unknown nodetype %d"
 msgstr "Kitazwi"
 
-#: eval.c:353
+#: eval.c:422
 #, fuzzy
 msgid "buffer overflow in genflags2str"
 msgstr "Byarenze urugero in"
 
-#: eval.c:385 eval.c:391 profile.c:817
+#: eval.c:454 eval.c:460 profile.c:781
 #, fuzzy, c-format
 msgid "attempt to use array `%s' in a scalar context"
 msgstr "Kuri Gukoresha Imbonerahamwe in a Imvugiro"
 
-#: eval.c:733
+#: eval.c:802
 #, fuzzy, c-format
 msgid "for loop: array `%s' changed size from %ld to %ld during loop execution"
 msgstr "kugirango Imbonerahamwe Byahinduwe Ingano Bivuye Kuri"
 
-#: eval.c:754
+#: eval.c:823
 #, fuzzy
 msgid "`break' outside a loop is not portable"
 msgstr "`Hanze a ni OYA"
 
-#: eval.c:758
+#: eval.c:827
 #, fuzzy
 msgid "`break' outside a loop is not allowed"
 msgstr "`Hanze a ni OYA"
 
-#: eval.c:775
+#: eval.c:844
 #, fuzzy
 msgid "`continue' outside a loop is not portable"
 msgstr "`Hanze a ni OYA"
 
-#: eval.c:779
+#: eval.c:848
 #, fuzzy
 msgid "`continue' outside a loop is not allowed"
 msgstr "`Hanze a ni OYA"
 
-#: eval.c:813
+#: eval.c:882
 #, fuzzy
 msgid "`next' cannot be called from a BEGIN rule"
 msgstr "`Bivuye a"
 
-#: eval.c:815
+#: eval.c:884
 #, fuzzy
 msgid "`next' cannot be called from an END rule"
 msgstr "`Bivuye"
 
-#: eval.c:824
+#: eval.c:893
 #, fuzzy
 msgid "`nextfile' cannot be called from a BEGIN rule"
 msgstr "`Bivuye a"
 
-#: eval.c:826
+#: eval.c:895
 #, fuzzy
 msgid "`nextfile' cannot be called from an END rule"
 msgstr "`Bivuye"
 
-#: eval.c:875
+#: eval.c:952
 #, fuzzy
 msgid "statement has no effect"
 msgstr "Inyandiko Oya INGARUKA"
 
-#: eval.c:952 eval.c:1895
+#: eval.c:1029 eval.c:1999
 #, fuzzy, c-format
 msgid "can't use function name `%s' as variable or array"
 msgstr "Gukoresha Umumaro Izina: Nka IMPINDURAGACIRO Cyangwa Imbonerahamwe"
 
-#: eval.c:959 eval.c:965
+#: eval.c:1036 eval.c:1042
 #, fuzzy, c-format
 msgid "reference to uninitialized argument `%s'"
 msgstr "Indango Kuri Itatangijwe"
 
-#: eval.c:974 eval.c:1904
+#: eval.c:1051 eval.c:2008
 #, fuzzy, c-format
 msgid "reference to uninitialized variable `%s'"
 msgstr "Indango Kuri Itatangijwe IMPINDURAGACIRO"
 
-#: eval.c:1120
+#: eval.c:1197
 #, fuzzy
 msgid ""
 "concatenation: side effects in one expression have changed the length of "
 "another!"
 msgstr "Ingaruka in imvugo Byahinduwe i Uburebure Bya"
 
-#: eval.c:1202
+#: eval.c:1301
 #, fuzzy
 msgid "assignment used in conditional context"
 msgstr "Igenera in Imvugiro"
 
-#: eval.c:1280
+#: eval.c:1379
 #, fuzzy
 msgid "division by zero attempted"
 msgstr "ku Zeru"
 
-#: eval.c:1295
-#, fuzzy, c-format
-msgid "division by zero attempted in `%%'"
-msgstr "ku Zeru in"
-
-#: eval.c:1310 profile.c:693
+#: eval.c:1409 profile.c:657
 #, fuzzy, c-format
 msgid "illegal type (%s) in tree_eval"
 msgstr "Ubwoko in"
 
-#: eval.c:1473
+#: eval.c:1572
 #, fuzzy
 msgid "division by zero attempted in `/='"
 msgstr "ku Zeru in"
 
-#: eval.c:1495
+#: eval.c:1594
 #, fuzzy, c-format
 msgid "division by zero attempted in `%%='"
 msgstr "ku Zeru in"
 
-#: eval.c:1760
+#: eval.c:1859
 #, fuzzy, c-format
 msgid "function `%s' called with more arguments than declared"
 msgstr "Umumaro Na: Birenzeho ingingo"
 
-#: eval.c:1804
+#: eval.c:1904
 #, fuzzy, c-format
 msgid "function `%s' not defined"
 msgstr "Umumaro OYA"
 
-#: eval.c:1867
+#: eval.c:1971
 #, c-format
 msgid ""
 "\n"
@@ -1006,47 +1035,52 @@
 "\n"
 msgstr ""
 
-#: eval.c:1870
+#: eval.c:1974
 #, c-format
 msgid "\t# -- main --\n"
 msgstr ""
 
-#: eval.c:2025
+#: eval.c:2129
 #, fuzzy
 msgid "attempt to field reference from non-numeric value"
 msgstr "Kuri Umwanya Indango Bivuye Bikurikije umubare Agaciro"
 
-#: eval.c:2027
+#: eval.c:2131
 #, fuzzy
 msgid "attempt to reference from null string"
 msgstr "Kuri Indango Bivuye NTAGIHARI Ikurikiranyanyuguti"
 
-#: eval.c:2033
+#: eval.c:2137
 #, fuzzy, c-format
 msgid "attempt to access field %d"
 msgstr "Kuri Umwanya"
 
-#: eval.c:2054 eval.c:2061 profile.c:914
+#: eval.c:2158 eval.c:2165 profile.c:836
 #, fuzzy
 msgid "assignment is not allowed to result of builtin function"
 msgstr "Igenera ni OYA Kuri Igisubizo Bya Umumaro"
 
-#: eval.c:2125
+#: eval.c:2229
 #, fuzzy
 msgid "`IGNORECASE' is a gawk extension"
 msgstr "`ni a Umugereka"
 
-#: eval.c:2155
+#: eval.c:2258
 #, fuzzy
 msgid "`BINMODE' is a gawk extension"
 msgstr "`ni a Umugereka"
 
-#: eval.c:2277
+#: eval.c:2316
+#, c-format
+msgid "BINMODE value `%s' is invalid, treated as 3"
+msgstr ""
+
+#: eval.c:2406
 #, c-format
 msgid "bad `%sFMT' specification `%s'"
 msgstr ""
 
-#: eval.c:2355
+#: eval.c:2484
 #, fuzzy
 msgid "turning off `--lint' due to assignment to `LINT'"
 msgstr "Bidakora Kuri Igenera Kuri"
@@ -1125,585 +1159,593 @@
 msgid "NF set to negative value"
 msgstr "Gushyiraho Kuri Agaciro"
 
-#: field.c:823
+#: field.c:875
 #, fuzzy
 msgid "split: second argument is not an array"
 msgstr "Gutandukanya ISEGONDA ni OYA Imbonerahamwe"
 
-#: field.c:857
+#: field.c:909
 #, fuzzy
 msgid "split: null string for third arg is a gawk extension"
 msgstr "Gutandukanya NTAGIHARI Ikurikiranyanyuguti kugirango ni a Umugereka"
 
-#: field.c:909
+#: field.c:961
 #, fuzzy
 msgid "`FIELDWIDTHS' is a gawk extension"
 msgstr "`ni a Umugereka"
 
-#: field.c:939 field.c:953
+#: field.c:991 field.c:1005
 #, c-format
 msgid "invalid FIELDWIDTHS value, near `%s'"
 msgstr ""
 
-#: field.c:1036
+#: field.c:1088
 #, fuzzy
 msgid "null string for `FS' is a gawk extension"
 msgstr "NTAGIHARI Ikurikiranyanyuguti kugirango ni a Umugereka"
 
-#: field.c:1040
+#: field.c:1092
 #, fuzzy
 msgid "old awk does not support regexps as value of `FS'"
 msgstr "ki/ bishaje OYA Gushigikira Mukoresha"
 
-#: getopt.c:571 getopt.c:587
+#: getopt.c:570 getopt.c:586
 #, fuzzy, c-format
-msgid "%s: option `%s' is ambiguous\n"
+msgid "%s: option '%s' is ambiguous\n"
 msgstr "%s:Ihitamo ni"
 
-#: getopt.c:620 getopt.c:624
+#: getopt.c:619 getopt.c:623
 #, fuzzy, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
+msgid "%s: option '--%s' doesn't allow an argument\n"
 msgstr "%s:Ihitamo Kwemerera"
 
-#: getopt.c:633 getopt.c:638
+#: getopt.c:632 getopt.c:637
 #, fuzzy, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgid "%s: option '%c%s' doesn't allow an argument\n"
 msgstr "%s:Ihitamo Kwemerera"
 
-#: getopt.c:681 getopt.c:700 getopt.c:1016 getopt.c:1035
+#: getopt.c:680 getopt.c:699 getopt.c:1002 getopt.c:1021
 #, fuzzy, c-format
-msgid "%s: option `%s' requires an argument\n"
+msgid "%s: option '%s' requires an argument\n"
 msgstr "%s:Ihitamo"
 
-#: getopt.c:738 getopt.c:741
+#: getopt.c:737 getopt.c:740
 #, fuzzy, c-format
-msgid "%s: unrecognized option `--%s'\n"
+msgid "%s: unrecognized option '--%s'\n"
 msgstr "%s:Ihitamo"
 
-#: getopt.c:749 getopt.c:752
+#: getopt.c:748 getopt.c:751
 #, fuzzy, c-format
-msgid "%s: unrecognized option `%c%s'\n"
+msgid "%s: unrecognized option '%c%s'\n"
 msgstr "%s:Ihitamo"
 
-#: getopt.c:804 getopt.c:807
+#: getopt.c:800 getopt.c:803
 #, fuzzy, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s:Ihitamo"
-
-#: getopt.c:813 getopt.c:816
-#, fuzzy, c-format
-msgid "%s: invalid option -- %c\n"
+msgid "%s: invalid option -- '%c'\n"
 msgstr "%s:Sibyo Ihitamo"
 
-#: getopt.c:868 getopt.c:884 getopt.c:1088 getopt.c:1106 main.c:461
+#: getopt.c:853 getopt.c:870 getopt.c:1073 getopt.c:1091
 #, fuzzy, c-format
-msgid "%s: option requires an argument -- %c\n"
+msgid "%s: option requires an argument -- '%c'\n"
 msgstr "%s:Ihitamo"
 
-#: getopt.c:937 getopt.c:953
+#: getopt.c:923 getopt.c:939
 #, fuzzy, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
+msgid "%s: option '-W %s' is ambiguous\n"
 msgstr "%s:Ihitamo ni"
 
-#: getopt.c:977 getopt.c:995
+#: getopt.c:963 getopt.c:981
 #, fuzzy, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgid "%s: option '-W %s' doesn't allow an argument\n"
 msgstr "%s:Ihitamo Kwemerera"
 
-#: io.c:345
+#: io.c:322 io.c:352
 #, fuzzy, c-format
 msgid "cannot open file `%s' for reading (%s)"
 msgstr "Gufungura IDOSIYE kugirango"
 
-#: io.c:436
+#: io.c:443
 #, fuzzy, c-format
 msgid "close of fd %d (`%s') failed (%s)"
 msgstr "Gufunga Bya Byanze"
 
-#: io.c:575
+#: io.c:583
 #, fuzzy, c-format
 msgid "invalid tree type %s in redirect()"
 msgstr "Sibyo Ubwoko in"
 
-#: io.c:581
+#: io.c:589
 #, fuzzy, c-format
 msgid "expression in `%s' redirection only has numeric value"
 msgstr "imvugo in Bikurikije umubare Agaciro"
 
-#: io.c:587
+#: io.c:595
 #, fuzzy, c-format
 msgid "expression for `%s' redirection has null string value"
 msgstr "imvugo kugirango NTAGIHARI Ikurikiranyanyuguti Agaciro"
 
-#: io.c:592
+#: io.c:600
 #, fuzzy, c-format
 msgid "filename `%s' for `%s' redirection may be result of logical expression"
 msgstr ""
 "Izina ry'idosiye: kugirango Gicurasi Igisubizo Bya Bijyanye n'inyurabwenge "
 "imvugo"
 
-#: io.c:630
+#: io.c:638
 #, fuzzy, c-format
 msgid "unnecessary mixing of `>' and `>>' for file `%.*s'"
 msgstr "Bya Na kugirango IDOSIYE"
 
-#: io.c:682
+#: io.c:685
 #, fuzzy, c-format
 msgid "can't open pipe `%s' for output (%s)"
 msgstr "Gufungura kugirango Ibisohoka"
 
-#: io.c:691
+#: io.c:694
 #, fuzzy, c-format
 msgid "can't open pipe `%s' for input (%s)"
 msgstr "Gufungura kugirango Iyinjiza"
 
-#: io.c:698 io.c:1448
-#, fuzzy, c-format
-msgid "file `%s' is a directory"
-msgstr "IDOSIYE ni a bushyinguro"
-
-#: io.c:706
+#: io.c:712
 #, fuzzy, c-format
 msgid "can't open two way socket `%s' for input/output (%s)"
 msgstr "Gufungura kugirango Iyinjiza Ibisohoka"
 
-#: io.c:710
+#: io.c:716
 #, fuzzy, c-format
 msgid "can't open two way pipe `%s' for input/output (%s)"
 msgstr "Gufungura kugirango Iyinjiza Ibisohoka"
 
-#: io.c:786
+#: io.c:793
 #, fuzzy, c-format
 msgid "can't redirect from `%s' (%s)"
 msgstr "Bivuye"
 
-#: io.c:789
+#: io.c:796
 #, fuzzy, c-format
 msgid "can't redirect to `%s' (%s)"
 msgstr "Kuri"
 
-#: io.c:828
+#: io.c:849
 #, fuzzy
 msgid ""
 "reached system limit for open files: starting to multiplex file descriptors"
 msgstr "Sisitemu kugirango Gufungura Idosiye Kuri IDOSIYE"
 
-#: io.c:844
+#: io.c:865
 #, fuzzy, c-format
 msgid "close of `%s' failed (%s)."
 msgstr "Gufunga Bya Byanze"
 
-#: io.c:852
+#: io.c:873
 #, fuzzy
 msgid "too many pipes or input files open"
 msgstr "Cyangwa Iyinjiza Idosiye Gufungura"
 
-#: io.c:875
+#: io.c:896
 #, fuzzy
 msgid "close: second argument must be `to' or `from'"
 msgstr "Gufunga ISEGONDA Cyangwa"
 
-#: io.c:889
+#: io.c:910
 #, fuzzy, c-format
 msgid "close: `%.*s' is not an open file, pipe or co-process"
 msgstr "Gufunga."
 
-#: io.c:893
+#: io.c:915
 #, fuzzy
 msgid "close of redirection that was never opened"
 msgstr "Gufunga Bya Nta narimwe"
 
-#: io.c:989
+#: io.c:1012
 #, fuzzy, c-format
 msgid "close: redirection `%s' not opened with `|&', second argument ignored"
 msgstr "Gufunga OYA Na: ISEGONDA"
 
-#: io.c:1005
+#: io.c:1028
 #, fuzzy, c-format
 msgid "failure status (%d) on pipe close of `%s' (%s)"
 msgstr "Imimerere ku Gufunga Bya"
 
-#: io.c:1008
+#: io.c:1031
 #, fuzzy, c-format
 msgid "failure status (%d) on file close of `%s' (%s)"
 msgstr "Imimerere ku IDOSIYE Gufunga Bya"
 
-#: io.c:1028
+#: io.c:1051
 #, fuzzy, c-format
 msgid "no explicit close of socket `%s' provided"
 msgstr "Oya Gufunga Bya"
 
-#: io.c:1031
+#: io.c:1054
 #, fuzzy, c-format
 msgid "no explicit close of co-process `%s' provided"
 msgstr "Oya Gufunga Bya"
 
-#: io.c:1034
+#: io.c:1057
 #, fuzzy, c-format
 msgid "no explicit close of pipe `%s' provided"
 msgstr "Oya Gufunga Bya"
 
-#: io.c:1037
+#: io.c:1060
 #, fuzzy, c-format
 msgid "no explicit close of file `%s' provided"
 msgstr "Oya Gufunga Bya IDOSIYE"
 
-#: io.c:1066 io.c:1121 main.c:749 main.c:791
+#: io.c:1088 io.c:1143 main.c:776 main.c:818
 #, fuzzy, c-format
 msgid "error writing standard output (%s)"
 msgstr "Ikosa Bisanzwe Ibisohoka"
 
-#: io.c:1070 io.c:1126
+#: io.c:1092 io.c:1148
 #, fuzzy, c-format
 msgid "error writing standard error (%s)"
 msgstr "Ikosa Bisanzwe Ikosa"
 
-#: io.c:1078
+#: io.c:1100
 #, fuzzy, c-format
 msgid "pipe flush of `%s' failed (%s)."
 msgstr "Bya Byanze"
 
-#: io.c:1081
+#: io.c:1103
 #, fuzzy, c-format
 msgid "co-process flush of pipe to `%s' failed (%s)."
 msgstr "Bya Kuri Byanze"
 
-#: io.c:1084
+#: io.c:1106
 #, fuzzy, c-format
 msgid "file flush of `%s' failed (%s)."
 msgstr "IDOSIYE Bya Byanze"
 
-#: io.c:1198
+#: io.c:1220
 #, fuzzy, c-format
 msgid "local port %s invalid in `/inet'"
 msgstr "Umuyoboro Sibyo in"
 
-#: io.c:1215
+#: io.c:1237
 #, c-format
 msgid "remote host and port information (%s, %s) invalid"
 msgstr ""
 
-#: io.c:1250
+#: io.c:1272
 #, fuzzy
 msgid "/inet/raw client not ready yet, sorry"
 msgstr "/Umukiriya OYA Cyiteguye"
 
-#: io.c:1253 io.c:1289
+#: io.c:1275 io.c:1311
 #, fuzzy
 msgid "only root may use `/inet/raw'."
 msgstr "Imizi Gicurasi Gukoresha"
 
-#: io.c:1287
+#: io.c:1309
 #, fuzzy
 msgid "/inet/raw server not ready yet, sorry"
 msgstr "/Seriveri OYA Cyiteguye"
 
-#: io.c:1385
+#: io.c:1407
 #, fuzzy, c-format
 msgid "no (known) protocol supplied in special filename `%s'"
 msgstr "Oya Porotokole in Bidasanzwe Izina ry'idosiye:"
 
-#: io.c:1399
+#: io.c:1421
 #, fuzzy, c-format
 msgid "special file name `%s' is incomplete"
 msgstr "Bidasanzwe IDOSIYE Izina: ni"
 
-#: io.c:1414
+#: io.c:1436
 #, fuzzy
 msgid "must supply a remote hostname to `/inet'"
 msgstr "a Izina ry'inturo: Kuri"
 
-#: io.c:1432
+#: io.c:1454
 #, fuzzy
 msgid "must supply a remote port to `/inet'"
 msgstr "a Umuyoboro Kuri"
 
-#: io.c:1439
+#: io.c:1485
 #, fuzzy
 msgid "TCP/IP communications are not supported"
 msgstr "OYA"
 
-#: io.c:1509
+#: io.c:1494
+#, fuzzy, c-format
+msgid "file `%s' is a directory"
+msgstr "IDOSIYE ni a bushyinguro"
+
+#: io.c:1555
 #, fuzzy, c-format
 msgid "use `PROCINFO[\"%s\"]' instead of `%s'"
 msgstr "Gukoresha Bya"
 
-#: io.c:1547
+#: io.c:1593
 #, fuzzy
 msgid "use `PROCINFO[...]' instead of `/dev/user'"
 msgstr "Gukoresha Bya"
 
-#: io.c:1612 io.c:1798
+#: io.c:1658 io.c:1853
 #, fuzzy, c-format
 msgid "could not open `%s', mode `%s'"
 msgstr "OYA Gufungura Ubwoko"
 
-#: io.c:1849
+#: io.c:1904
 #, fuzzy, c-format
 msgid "close of master pty failed (%s)"
 msgstr "Gufunga Bya Mugenga Byanze"
 
-#: io.c:1851 io.c:2003 io.c:2154
+#: io.c:1906 io.c:2058 io.c:2209
 #, fuzzy, c-format
 msgid "close of stdout in child failed (%s)"
 msgstr "Gufunga Bya in Byanze"
 
-#: io.c:1854
+#: io.c:1909
 #, fuzzy, c-format
 msgid "moving slave pty to stdout in child failed (dup: %s)"
 msgstr "Kuri in Byanze"
 
-#: io.c:1856 io.c:2008
+#: io.c:1911 io.c:2063
 #, fuzzy, c-format
 msgid "close of stdin in child failed (%s)"
 msgstr "Gufunga Bya in Byanze"
 
-#: io.c:1859
+#: io.c:1914
 #, fuzzy, c-format
 msgid "moving slave pty to stdin in child failed (dup: %s)"
 msgstr "Kuri in Byanze"
 
-#: io.c:1861 io.c:1880
+#: io.c:1916 io.c:1935
 #, fuzzy, c-format
 msgid "close of slave pty failed (%s)"
 msgstr "Gufunga Bya Byanze"
 
-#: io.c:1954 io.c:2006 io.c:2135 io.c:2157
+#: io.c:2009 io.c:2061 io.c:2190 io.c:2212
 #, fuzzy, c-format
 msgid "moving pipe to stdout in child failed (dup: %s)"
 msgstr "Kuri in Byanze"
 
-#: io.c:1958 io.c:2011
+#: io.c:2013 io.c:2066
 #, fuzzy, c-format
 msgid "moving pipe to stdin in child failed (dup: %s)"
 msgstr "Kuri in Byanze"
 
-#: io.c:1975 io.c:2148
+#: io.c:2030 io.c:2203
 #, fuzzy
 msgid "restoring stdout in parent process failed\n"
 msgstr "in"
 
-#: io.c:1980
+#: io.c:2035
 #, fuzzy
 msgid "restoring stdin in parent process failed\n"
 msgstr "in"
 
-#: io.c:2014 io.c:2159 io.c:2170
+#: io.c:2069 io.c:2214 io.c:2225
 #, fuzzy, c-format
 msgid "close of pipe failed (%s)"
 msgstr "Gufunga Bya Byanze"
 
-#: io.c:2059
+#: io.c:2114
 #, fuzzy
 msgid "`|&' not supported"
 msgstr "`|&'OYA"
 
-#: io.c:2125
+#: io.c:2180
 #, fuzzy, c-format
 msgid "cannot open pipe `%s' (%s)"
 msgstr "Gufungura"
 
-#: io.c:2166
+#: io.c:2221
 #, fuzzy, c-format
 msgid "cannot create child process for `%s' (fork: %s)"
 msgstr "Kurema kugirango"
 
-#: io.c:2548
+#: io.c:2603
 #, fuzzy, c-format
 msgid "data file `%s' is empty"
 msgstr "Ibyatanzwe IDOSIYE ni ubusa"
 
-#: io.c:2589 io.c:2597
+#: io.c:2644 io.c:2652
 #, fuzzy
 msgid "could not allocate more input memory"
 msgstr "OYA Birenzeho Iyinjiza Ububiko"
 
-#: io.c:2965 io.c:3038
+#: io.c:3020 io.c:3093
 #, fuzzy, c-format
 msgid "error reading input file `%s': %s"
 msgstr "Ikosa Iyinjiza IDOSIYE"
 
-#: io.c:3163
+#: io.c:3218
 #, fuzzy
 msgid "multicharacter value of `RS' is a gawk extension"
 msgstr "Agaciro Bya ni a Umugereka"
 
-#: main.c:351
+#: main.c:304
+msgid "out of memory"
+msgstr ""
+
+#: main.c:373
 #, fuzzy
 msgid "`-m[fr]' option irrelevant in gawk"
 msgstr "`-M Ihitamo in"
 
-#: main.c:353
+#: main.c:375
 #, fuzzy
 msgid "-m option usage: `-m[fr] nnn'"
 msgstr "-M Ihitamo Ikoresha: M"
 
-#: main.c:370
+#: main.c:392
 #, fuzzy, c-format
 msgid "%s: option `-W %s' unrecognized, ignored\n"
 msgstr "%s:Ihitamo"
 
-#: main.c:407
+#: main.c:433
 #, fuzzy
 msgid "empty argument to `--source' ignored"
 msgstr "ubusa Kuri"
 
-#: main.c:480
+#: main.c:487
+#, fuzzy, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s:Ihitamo"
+
+#: main.c:506
 #, fuzzy
 msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'"
 msgstr "IMPINDURAGACIRO Gushyiraho ku"
 
-#: main.c:486
+#: main.c:512
 msgid "`--posix' overrides `--traditional'"
 msgstr ""
 
-#: main.c:497
+#: main.c:523
 #, fuzzy
 msgid "`--posix'/`--traditional' overrides `--non-decimal-data'"
 msgstr "`--NYACUMI"
 
-#: main.c:501
+#: main.c:527
 #, fuzzy, c-format
 msgid "running %s setuid root may be a security problem"
 msgstr "Imizi Gicurasi a Umutekano"
 
-#: main.c:542
+#: main.c:568
 #, fuzzy, c-format
 msgid "can't set binary mode on stdin (%s)"
 msgstr "Gushyiraho Nyabibiri Ubwoko ku"
 
-#: main.c:545
+#: main.c:571
 #, fuzzy, c-format
 msgid "can't set binary mode on stdout (%s)"
 msgstr "Gushyiraho Nyabibiri Ubwoko ku"
 
-#: main.c:547
+#: main.c:573
 #, fuzzy, c-format
 msgid "can't set binary mode on stderr (%s)"
 msgstr "Gushyiraho Nyabibiri Ubwoko ku"
 
-#: main.c:586
+#: main.c:612
 #, fuzzy
 msgid "no program text at all!"
 msgstr "Oya Porogaramu Umwandiko ku Byose"
 
-#: main.c:690
+#: main.c:716
 #, fuzzy, c-format
 msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n"
 msgstr "Cyangwa IMISUSIRE Amahitamo F IDOSIYE"
 
-#: main.c:692
+#: main.c:718
 #, fuzzy, c-format
 msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n"
 msgstr "Cyangwa IMISUSIRE Amahitamo IDOSIYE"
 
-#: main.c:697
+#: main.c:723
 #, fuzzy
 msgid "POSIX options:\t\tGNU long options:\n"
 msgstr "Amahitamo Amahitamo"
 
-#: main.c:698
+#: main.c:724
 #, fuzzy
 msgid "\t-f progfile\t\t--file=progfile\n"
 msgstr "-F IDOSIYE"
 
-#: main.c:699
+#: main.c:725
 #, fuzzy
 msgid "\t-F fs\t\t\t--field-separator=fs\n"
 msgstr "-Umwanya Mutandukanya"
 
-#: main.c:700
+#: main.c:726
 #, fuzzy
 msgid "\t-v var=val\t\t--assign=var=val\n"
 msgstr "-v VAR Kugenera... VAR"
 
-#: main.c:701
+#: main.c:727
 #, fuzzy
 msgid "\t-m[fr] val\n"
 msgstr "-M"
 
-#: main.c:702
+#: main.c:728
+msgid "\t-O\t\t\t--optimize\n"
+msgstr ""
+
+#: main.c:729
 msgid "\t-W compat\t\t--compat\n"
 msgstr ""
 
-#: main.c:703
+#: main.c:730
 msgid "\t-W copyleft\t\t--copyleft\n"
 msgstr ""
 
-#: main.c:704
+#: main.c:731
 msgid "\t-W copyright\t\t--copyright\n"
 msgstr ""
 
-#: main.c:705
+#: main.c:732
 #, fuzzy
 msgid "\t-W dump-variables[=file]\t--dump-variables[=file]\n"
 msgstr "-Ibihinduka IDOSIYE Ibihinduka IDOSIYE"
 
-#: main.c:706
+#: main.c:733
 #, fuzzy
 msgid "\t-W exec=file\t\t--exec=file\n"
 msgstr "-Ibijyana IDOSIYE Ibijyana IDOSIYE"
 
-#: main.c:707
+#: main.c:734
 msgid "\t-W gen-po\t\t--gen-po\n"
 msgstr ""
 
-#: main.c:708
+#: main.c:735
 msgid "\t-W help\t\t\t--help\n"
 msgstr ""
 
-#: main.c:709
+#: main.c:736
 msgid "\t-W lint[=fatal]\t\t--lint[=fatal]\n"
 msgstr ""
 
-#: main.c:710
+#: main.c:737
 msgid "\t-W lint-old\t\t--lint-old\n"
 msgstr ""
 
-#: main.c:711
+#: main.c:738
 #, fuzzy
 msgid "\t-W non-decimal-data\t--non-decimal-data\n"
 msgstr "-NYACUMI NYACUMI"
 
-#: main.c:713
+#: main.c:740
 msgid "\t-W nostalgia\t\t--nostalgia\n"
 msgstr ""
 
-#: main.c:716
+#: main.c:743
 msgid "\t-W parsedebug\t\t--parsedebug\n"
 msgstr ""
 
-#: main.c:718
+#: main.c:745
 #, fuzzy
 msgid "\t-W profile[=file]\t--profile[=file]\n"
 msgstr "-Ibijyana IDOSIYE Ibijyana IDOSIYE"
 
-#: main.c:719
+#: main.c:746
 msgid "\t-W posix\t\t--posix\n"
 msgstr ""
 
-#: main.c:720
+#: main.c:747
 msgid "\t-W re-interval\t\t--re-interval\n"
 msgstr ""
 
-#: main.c:721
+#: main.c:748
 #, fuzzy
 msgid "\t-W source=program-text\t--source=program-text\n"
 msgstr "-Inkomoko Porogaramu Inkomoko Porogaramu"
 
-#: main.c:722
+#: main.c:749
 msgid "\t-W traditional\t\t--traditional\n"
 msgstr ""
 
-#: main.c:723
+#: main.c:750
 msgid "\t-W usage\t\t--usage\n"
 msgstr ""
 
-#: main.c:724
+#: main.c:751
 msgid "\t-W use-lc-numeric\t--use-lc-numeric\n"
 msgstr ""
 
-#: main.c:725
+#: main.c:752
 msgid "\t-W version\t\t--version\n"
 msgstr ""
 
@@ -1712,7 +1754,7 @@
 #. for this application.  Please add _another line_ with the
 #. address for translation bugs.
 #. no-wrap
-#: main.c:734
+#: main.c:761
 #, fuzzy
 msgid ""
 "\n"
@@ -1721,7 +1763,7 @@
 "\n"
 msgstr "Icyegeranyo in Na in i Byacapwe Verisiyo"
 
-#: main.c:738
+#: main.c:765
 #, fuzzy
 msgid ""
 "gawk is a pattern scanning and processing language.\n"
@@ -1731,7 +1773,7 @@
 "ni a Ishusho Na Inonosora Ururimi Mburabuzi Bisanzwe Iyinjiza Na Bisanzwe "
 "Ibisohoka"
 
-#: main.c:742
+#: main.c:769
 #, fuzzy
 msgid ""
 "Examples:\n"
@@ -1739,7 +1781,7 @@
 "\tgawk -F: '{ print $1 }' /etc/passwd\n"
 msgstr "Igiteranyo Gucapa Igiteranyo Gucapa"
 
-#: main.c:762
+#: main.c:789
 #, fuzzy, c-format
 msgid ""
 "Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
@@ -1753,7 +1795,7 @@
 "C Porogaramu ni Kigenga Na Cyangwa i Bya i Nka Verisiyo 3. Bya i ku Ihitamo "
 "Verisiyo"
 
-#: main.c:770
+#: main.c:797
 #, fuzzy
 msgid ""
 "This program is distributed in the hope that it will be useful,\n"
@@ -1764,7 +1806,7 @@
 msgstr ""
 "Porogaramu ni in i ATARIIGIHARWE i Cyangwa A kugirango Birenzeho Birambuye"
 
-#: main.c:781
+#: main.c:808
 #, fuzzy
 msgid ""
 "You should have received a copy of the GNU General Public License\n"
@@ -1772,49 +1814,59 @@
 msgstr ""
 "BYAKIRIWE a Gukoporora Bya i Na: iyi Porogaramu NIBA OYA Kwandika Kuri i"
 
-#: main.c:816
+#: main.c:843
 #, fuzzy
 msgid "-Ft does not set FS to tab in POSIX awk"
 msgstr "-OYA Gushyiraho Kuri Isunika in"
 
-#: main.c:1060
+#: main.c:1117
 #, fuzzy, c-format
 msgid ""
 "%s: `%s' argument to `-v' not in `var=value' form\n"
 "\n"
 msgstr "%s:`%s'Kuri OYA in VAR"
 
-#: main.c:1080
+#: main.c:1137
 #, fuzzy, c-format
 msgid "`%s' is not a legal variable name"
 msgstr "`%s'ni OYA a By'amategeko IMPINDURAGACIRO Izina:"
 
-#: main.c:1083
+#: main.c:1140
 #, fuzzy, c-format
 msgid "`%s' is not a variable name, looking for file `%s=%s'"
 msgstr "`%s'ni OYA a IMPINDURAGACIRO Izina: kugirango IDOSIYE"
 
-#: main.c:1122
+#: main.c:1179
 #, fuzzy
 msgid "floating point exception"
 msgstr "Bihindagurika Akadomo Irengayobora(-)"
 
-#: main.c:1129
+#: main.c:1186
 #, fuzzy
 msgid "fatal error: internal error"
 msgstr "Ikosa By'imbere Ikosa"
 
-#: main.c:1180
+#: main.c:1200
+#, fuzzy
+msgid "fatal error: internal error: segfault"
+msgstr "Ikosa By'imbere Ikosa"
+
+#: main.c:1212
+#, fuzzy
+msgid "fatal error: internal error: stack overflow"
+msgstr "Ikosa By'imbere Ikosa"
+
+#: main.c:1261
 #, fuzzy, c-format
 msgid "no pre-opened fd %d"
 msgstr "Oya Byahawe imiterere mbere"
 
-#: main.c:1187
+#: main.c:1268
 #, fuzzy, c-format
 msgid "could not pre-open /dev/null for fd %d"
 msgstr "OYA Byahawe imiterere mbere Gufungura NTAGIHARI kugirango"
 
-#: main.c:1210 main.c:1219
+#: main.c:1291 main.c:1300
 #, fuzzy, c-format
 msgid "could not find groups: %s"
 msgstr "OYA Gushaka Amatsinda"
@@ -1844,27 +1896,34 @@
 msgid "can't convert string to float"
 msgstr "GUHINDURA Ikurikiranyanyuguti Kuri Kureremba"
 
-#: node.c:406
+#: node.c:462
 #, fuzzy
 msgid "backslash at end of string"
 msgstr "ku Impera Bya Ikurikiranyanyuguti"
 
-#: node.c:548
+#: node.c:606
 #, fuzzy, c-format
 msgid "old awk does not support the `\\%c' escape sequence"
 msgstr "ki/ bishaje OYA Gushigikira Mukoresha"
 
-#: node.c:599
+#: node.c:657
 #, fuzzy
 msgid "POSIX does not allow `\\x' escapes"
 msgstr "OYA Kwemerera"
 
-#: node.c:605
+#: node.c:663
 #, fuzzy
 msgid "no hex digits in `\\x' escape sequence"
 msgstr "Oya in"
 
-#: node.c:639
+#: node.c:685
+#, c-format
+msgid ""
+"hex escape \\x%.*s of %d characters probably not interpreted the way you "
+"expect"
+msgstr ""
+
+#: node.c:700
 #, fuzzy, c-format
 msgid "escape sequence `\\%c' treated as plain `%c'"
 msgstr "Nka Byuzuye"
@@ -1874,151 +1933,160 @@
 msgid "%s %s `%s': could not set close-on-exec: (fcntl: %s)"
 msgstr "%s%s`%s':OYA Gushyiraho Gufunga ku"
 
-#: profile.c:92
+#: profile.c:93
 #, fuzzy, c-format
 msgid "could not open `%s' for writing: %s"
 msgstr "OYA Gufungura kugirango"
 
-#: profile.c:450
+#: profile.c:453
 #, fuzzy, c-format
 msgid "internal error: %s with null vname"
 msgstr "By'imbere Ikosa Na: NTAGIHARI"
 
-#: profile.c:514
+#: profile.c:517
 #, fuzzy
 msgid "# treated internally as `delete'"
 msgstr "#Nka"
 
-#: profile.c:1147
+#: profile.c:1069
 #, fuzzy, c-format
 msgid "# this is a dynamically loaded extension function"
 msgstr "#iyi ni a Umugereka Umumaro"
 
-#: profile.c:1178
+#: profile.c:1100
 #, fuzzy, c-format
 msgid "\t# gawk profile, created %s\n"
 msgstr "#Ibijyana Byaremwe"
 
-#: profile.c:1181
+#: profile.c:1103
 #, fuzzy, c-format
 msgid ""
 "\t# BEGIN block(s)\n"
 "\n"
 msgstr "#Funga S"
 
-#: profile.c:1191
+#: profile.c:1113
 #, fuzzy, c-format
 msgid ""
 "\t# Rule(s)\n"
 "\n"
 msgstr "#S"
 
-#: profile.c:1197
+#: profile.c:1119
 #, fuzzy, c-format
 msgid ""
 "\t# END block(s)\n"
 "\n"
 msgstr "#Funga S"
 
-#: profile.c:1217
+#: profile.c:1139
 #, c-format
 msgid ""
 "\n"
 "\t# Functions, listed alphabetically\n"
 msgstr ""
 
-#: profile.c:1470
+#: profile.c:1400
 #, fuzzy, c-format
 msgid "unexpected type %s in prec_level"
 msgstr "Ubwoko in"
 
-#: regcomp.c:132
+#: profile.c:1500
+#, fuzzy, c-format
+msgid "Unknown node type %s in pp_var"
+msgstr "Kitazwi"
+
+#: regcomp.c:133
 msgid "Success"
 msgstr "Ibyatunganye"
 
-#: regcomp.c:135
+#: regcomp.c:136
 #, fuzzy
 msgid "No match"
 msgstr "BIHUYE"
 
-#: regcomp.c:138
+#: regcomp.c:139
 #, fuzzy
 msgid "Invalid regular expression"
 msgstr "Ibisanzwe imvugo"
 
-#: regcomp.c:141
+#: regcomp.c:142
 #, fuzzy
 msgid "Invalid collation character"
 msgstr "Inyuguti"
 
-#: regcomp.c:144
+#: regcomp.c:145
 #, fuzzy
 msgid "Invalid character class name"
 msgstr "Inyuguti ishuri Izina:"
 
-#: regcomp.c:147
+#: regcomp.c:148
 msgid "Trailing backslash"
 msgstr ""
 
-#: regcomp.c:150
+#: regcomp.c:151
 #, fuzzy
 msgid "Invalid back reference"
 msgstr "Inyuma Indango"
 
-#: regcomp.c:153
+#: regcomp.c:154
 #, fuzzy
 msgid "Unmatched [ or [^"
 msgstr "Cyangwa"
 
-#: regcomp.c:156
+#: regcomp.c:157
 #, fuzzy
 msgid "Unmatched ( or \\("
 msgstr "Cyangwa"
 
-#: regcomp.c:159
+#: regcomp.c:160
 msgid "Unmatched \\{"
 msgstr ""
 
-#: regcomp.c:162
+#: regcomp.c:163
 #, fuzzy
 msgid "Invalid content of \\{\\}"
 msgstr "Ibikubiyemo Bya"
 
-#: regcomp.c:165
+#: regcomp.c:166
 #, fuzzy
 msgid "Invalid range end"
 msgstr "Urutonde Impera"
 
-#: regcomp.c:168
+#: regcomp.c:169
 msgid "Memory exhausted"
 msgstr ""
 
-#: regcomp.c:171
+#: regcomp.c:172
 #, fuzzy
 msgid "Invalid preceding regular expression"
 msgstr "Ibisanzwe imvugo"
 
-#: regcomp.c:174
+#: regcomp.c:175
 #, fuzzy
 msgid "Premature end of regular expression"
 msgstr "Impera Bya Ibisanzwe imvugo"
 
-#: regcomp.c:177
+#: regcomp.c:178
 #, fuzzy
 msgid "Regular expression too big"
 msgstr "imvugo"
 
-#: regcomp.c:180
+#: regcomp.c:181
 #, fuzzy
 msgid "Unmatched ) or \\)"
 msgstr "Cyangwa"
 
-#: regcomp.c:664
+#: regcomp.c:700
 #, fuzzy
 msgid "No previous regular expression"
 msgstr "Ibanjirije Ibisanzwe imvugo"
 
 #, fuzzy
+#~ msgid "%s: illegal option -- %c\n"
+#~ msgstr "%s:Ihitamo"
+
+#, fuzzy
 #~ msgid "remote port invalid in `%s'"
 #~ msgstr "Umuyoboro Sibyo in"
 
diff -urN gawk-3.1.6/po/sv.po gawk-3.1.7/po/sv.po
--- gawk-3.1.6/po/sv.po	2007-09-30 22:33:26.000000000 +0200
+++ gawk-3.1.7/po/sv.po	2009-07-21 23:23:44.000000000 +0300
@@ -1,23 +1,23 @@
 # Swedish translation of gawk
 # Copyright (C) 2003 Free Software Foundation, Inc.
+# This file is distributed under the same license as the gawk package.
 # Martin Sj�gren <md9ms@mdstud.chalmers.se>, 2001-2002.
-#
-# $Id: sv.po,v 1.23 2003/02/27 18:54:30 martin Exp $
+# Christer Andersson <klamm@comhem.se>, 2007.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gawk 3.1.1m\n"
+"Project-Id-Version: gawk 3.1.6\n"
 "Report-Msgid-Bugs-To: arnold@skeeve.com\n"
-"POT-Creation-Date: 2007-09-30 22:33+0200\n"
-"PO-Revision-Date: 2003-02-27 19:54+0100\n"
-"Last-Translator: Martin Sj�gren <md9ms@mdstud.chalmers.se>\n"
-"Language-Team: Swedish <sv@li.org>\n"
+"POT-Creation-Date: 2009-07-21 23:23+0300\n"
+"PO-Revision-Date: 2008-01-16 05:30+0100\n"
+"Last-Translator: Christer Andersson <klamm@comhem.se>\n"
+"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=iso-8859-1\n"
 "Content-Transfer-Encoding: 8bit\n"
 
 #: array.c:112
-#, fuzzy, c-format
+#, c-format
 msgid "attempt to use function `%s' as an array"
 msgstr "f�rs�k att anv�nda funktionen \"%s\" som vektor"
 
@@ -32,9 +32,9 @@
 msgstr "f�rs�k att anv�nda skal�ren \"%s\" som vektor"
 
 #: array.c:156
-#, fuzzy, c-format
+#, c-format
 msgid "from %s"
-msgstr "%s (fr�n %s)"
+msgstr "fr�n %s"
 
 #: array.c:514
 #, c-format
@@ -76,528 +76,560 @@
 msgid "%s: array_ref to %s\n"
 msgstr "%s: vektorreferens till %s\n"
 
-#: awkgram.y:215
+#: awkgram.y:218
 #, c-format
 msgid "%s blocks must have an action part"
 msgstr "%s-block m�ste ha en �tg�rdsdel"
 
-#: awkgram.y:218
+#: awkgram.y:221
 msgid "each rule must have a pattern or an action part"
 msgstr "varje regel m�ste ha ett m�nster eller en �tg�rdsdel"
 
-#: awkgram.y:254 awkgram.y:263
-#, fuzzy
+#: awkgram.y:257 awkgram.y:266
 msgid "old awk does not support multiple `BEGIN' or `END' rules"
-msgstr "gamla awk st�der inte operatorn \"**\""
+msgstr "gamla awk st�der inte flera \"BEGIN\"- eller \"END\"-regler"
 
-#: awkgram.y:282
+#: awkgram.y:285
 #, c-format
 msgid "`%s' is a built-in function, it cannot be redefined"
 msgstr "\"%s\" �r en inbyggd funktion, den kan inte definieras om"
 
-#: awkgram.y:328
-#, fuzzy
+#: awkgram.y:331
 msgid "regexp constant `//' looks like a C++ comment, but is not"
-msgstr "regexp-konstanten \"/%s/\" ser ut som en C-kommentar men �r inte det"
+msgstr "regexp-konstanten \"//\" ser ut som en C++-kommentar men �r inte det"
 
-#: awkgram.y:331
+#: awkgram.y:334
 #, c-format
 msgid "regexp constant `/%s/' looks like a C comment, but is not"
 msgstr "regexp-konstanten \"/%s/\" ser ut som en C-kommentar men �r inte det"
 
-#: awkgram.y:358 awkgram.y:653
+#: awkgram.y:361 awkgram.y:656
 msgid "statement may have no effect"
 msgstr "kommandot kanske inte har n�gon effekt"
 
-#: awkgram.y:455 awkgram.y:479
+#: awkgram.y:458 awkgram.y:482
 #, c-format
 msgid "`%s' used in %s action"
 msgstr "\"%s\" anv�nd i %s-�tg�rden"
 
-#: awkgram.y:470 awkgram.y:474
+#: awkgram.y:473 awkgram.y:477
 msgid "`nextfile' is a gawk extension"
 msgstr "\"nextfile\" �r en gawk-ut�kning"
 
-#: awkgram.y:489
+#: awkgram.y:492
 msgid "`return' used outside function context"
 msgstr "\"return\" anv�nd utanf�r funktion"
 
-#: awkgram.y:531
+#: awkgram.y:534
 msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'"
 msgstr ""
 "ensamt \"print\" i BEGIN eller END-regel b�r troligen vara 'print \"\"'"
 
-#: awkgram.y:547 awkgram.y:555
+#: awkgram.y:550 awkgram.y:558
 msgid "`delete array' is a gawk extension"
 msgstr "\"delete array\" �r en gawk-ut�kning"
 
-#: awkgram.y:569 awkgram.y:577
+#: awkgram.y:572 awkgram.y:580
 msgid "`delete(array)' is a non-portable tawk extension"
 msgstr "\"delete(array)\" �r en icke portabel tawk-ut�kning"
 
-#: awkgram.y:621
+#: awkgram.y:624
 #, c-format
 msgid "duplicate case values in switch body: %s"
-msgstr ""
+msgstr "upprepade case-v�rden i switch-sats: %s"
 
-#: awkgram.y:631
+#: awkgram.y:634
 msgid "Duplicate `default' detected in switch body"
-msgstr ""
+msgstr "Flera \"default\"-fall uppt�cktes i switch-sats"
 
-#: awkgram.y:720
+#: awkgram.y:723
 msgid "multistage two-way pipelines don't work"
 msgstr "flerstegs dubbelriktade r�r fungerar inte"
 
-#: awkgram.y:811
+#: awkgram.y:814
 msgid "regular expression on right of assignment"
 msgstr "regulj�rt uttryck i h�gerledet av en tilldelning"
 
-#: awkgram.y:834
+#: awkgram.y:824
 msgid "regular expression on left of `~' or `!~' operator"
 msgstr "regulj�rt uttryck p� v�nster sida om en \"~\"- eller \"!~\"-operator"
 
-#: awkgram.y:840 awkgram.y:913
-#, fuzzy
+#: awkgram.y:830 awkgram.y:903
 msgid "old awk does not support the keyword `in' except after `for'"
 msgstr "gamla awk st�der inte operatorn \"**\""
 
-#: awkgram.y:846
+#: awkgram.y:836
 msgid "regular expression on right of comparison"
 msgstr "regulj�rt uttryck i h�gerledet av en j�mf�relse"
 
-#: awkgram.y:903
+#: awkgram.y:893
 msgid "non-redirected `getline' undefined inside END action"
 msgstr "icke omdirigerad \"getline\" odefinierad inuti END-�tg�rd"
 
-#: awkgram.y:914
-#, fuzzy
+#: awkgram.y:904
 msgid "old awk does not support multidimensional arrays"
-msgstr "gamla awk st�der inte operatorn \"**\""
+msgstr "gamla awk st�der inte flerdimensionella vektorer"
 
-#: awkgram.y:960
+#: awkgram.y:950
 msgid "call of `length' without parentheses is not portable"
 msgstr "anrop av \"length\" utan parenteser �r inte portabelt"
 
-#: awkgram.y:965
+#: awkgram.y:955
 msgid "call of `length' without parentheses is deprecated by POSIX"
 msgstr "anrop av \"length\" utan parenteser �r f�r�ldrat enligt POSIX"
 
-#: awkgram.y:1019
+#: awkgram.y:1009
 msgid "use of non-array as array"
-msgstr ""
+msgstr "icke-vektor anv�nds som vektor"
 
-#: awkgram.y:1022
+#: awkgram.y:1012
 msgid "invalid subscript expression"
 msgstr "ogiltig indexuttryck"
 
-#: awkgram.y:1249
+#: awkgram.y:1257
 msgid "unexpected newline or end of string"
 msgstr "ov�ntat nyradstecken eller slut p� str�ngen"
 
-#: awkgram.y:1366
+#: awkgram.y:1374
 msgid "empty program text on command line"
 msgstr "tom programtext p� kommandoraden"
 
-#: awkgram.y:1422
+#: awkgram.y:1430
 #, c-format
 msgid "can't open source file `%s' for reading (%s)"
 msgstr "kan inte �ppna k�llfilen \"%s\" f�r l�sning (%s)"
 
-#: awkgram.y:1520
+#: awkgram.y:1528
 #, c-format
 msgid "can't read sourcefile `%s' (%s)"
 msgstr "kan inte l�sa k�llfilen \"%s\" (%s)"
 
-#: awkgram.y:1528
+#: awkgram.y:1536
 #, c-format
 msgid "source file `%s' is empty"
 msgstr "k�llfilen \"%s\" �r tom"
 
-#: awkgram.y:1720 awkgram.y:1842 awkgram.y:1860 awkgram.y:2235 awkgram.y:2322
+#: awkgram.y:1728 awkgram.y:1850 awkgram.y:1868 awkgram.y:2243 awkgram.y:2330
 msgid "source file does not end in newline"
 msgstr "k�llfilen slutar inte med en ny rad"
 
-#: awkgram.y:1782
+#: awkgram.y:1790
 msgid "unterminated regexp ends with `\\' at end of file"
 msgstr "oavslutat regulj�rt uttryck slutar med \"\\\" i slutet av filen"
 
-#: awkgram.y:1806
+#: awkgram.y:1814
 #, c-format
 msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk"
 msgstr ""
+"%s: %d: tawk-modifierare f�r regulj�ra uttryck \"/.../%c\" fungerar inte i "
+"gawk"
 
-#: awkgram.y:1810
+#: awkgram.y:1818
 #, c-format
 msgid "tawk regex modifier `/.../%c' doesn't work in gawk"
 msgstr ""
+"tawk-modifierare f�r regulj�ra uttryck \"/.../%c\" fungerar inte i gawk"
 
-#: awkgram.y:1817
+#: awkgram.y:1825
 msgid "unterminated regexp"
 msgstr "oavslutat regulj�rt uttryck"
 
-#: awkgram.y:1820
+#: awkgram.y:1828
 msgid "unterminated regexp at end of file"
 msgstr "oavslutat regulj�rt uttryck i slutet av filen"
 
-#: awkgram.y:1889
+#: awkgram.y:1897
 msgid "use of `\\ #...' line continuation is not portable"
 msgstr "Anv�ndning av \"\\ #...\" f�r radforts�ttning �r inte portabelt"
 
-#: awkgram.y:1902
+#: awkgram.y:1910
 msgid "backslash not last character on line"
 msgstr "sista tecknet p� raden �r inte ett omv�nt snedstreck"
 
-#: awkgram.y:1947
+#: awkgram.y:1955
 msgid "POSIX does not allow operator `**='"
 msgstr "POSIX till�ter inte operatorn \"**=\""
 
-#: awkgram.y:1949
+#: awkgram.y:1957
 msgid "old awk does not support operator `**='"
 msgstr "gamla awk st�der inte operatorn \"**=\""
 
-#: awkgram.y:1958
+#: awkgram.y:1966
 msgid "POSIX does not allow operator `**'"
 msgstr "POSIX till�ter inte operatorn \"**\""
 
-#: awkgram.y:1960
+#: awkgram.y:1968
 msgid "old awk does not support operator `**'"
 msgstr "gamla awk st�der inte operatorn \"**\""
 
-#: awkgram.y:1991
+#: awkgram.y:1999
 msgid "operator `^=' is not supported in old awk"
 msgstr "operatorn \"^=\" st�ds inte i gamla awk"
 
-#: awkgram.y:1999
+#: awkgram.y:2007
 msgid "operator `^' is not supported in old awk"
 msgstr "operatorn \"^\" st�ds inte i gamla awk"
 
-#: awkgram.y:2083 awkgram.y:2098
+#: awkgram.y:2091 awkgram.y:2106
 msgid "unterminated string"
 msgstr "oavslutad str�ng"
 
-#: awkgram.y:2283
+#: awkgram.y:2291
 #, c-format
 msgid "invalid char '%c' in expression"
 msgstr "ogiltigt tecken \"%c\" i uttryck"
 
-#: awkgram.y:2331
+#: awkgram.y:2339
 #, c-format
 msgid "`%s' is a gawk extension"
 msgstr "\"%s\" �r en gawk-ut�kning"
 
-#: awkgram.y:2334
+#: awkgram.y:2342
 #, c-format
 msgid "`%s' is a Bell Labs extension"
 msgstr "\"%s\" �r en Bell Labs-ut�kning"
 
-#: awkgram.y:2337
+#: awkgram.y:2345
 #, c-format
 msgid "POSIX does not allow `%s'"
 msgstr "POSIX till�ter inte \"%s\""
 
-#: awkgram.y:2341
+#: awkgram.y:2349
 #, c-format
 msgid "`%s' is not supported in old awk"
 msgstr "\"%s\" st�ds inte i gamla awk"
 
-#: awkgram.y:2367
+#: awkgram.y:2375
 msgid "`goto' considered harmful!\n"
 msgstr "\"goto\" anses skadlig!\n"
 
-#: awkgram.y:2429
+#: awkgram.y:2437
 #, c-format
 msgid "%d is invalid as number of arguments for %s"
 msgstr "%d �r ett ogiltigt antal argument f�r %s"
 
-#: awkgram.y:2448 awkgram.y:2451
+#: awkgram.y:2456 awkgram.y:2459
 msgid "match: third argument is a gawk extension"
 msgstr "match: tredje argumentet �r en gawk-ut�kning"
 
-#: awkgram.y:2464
+#: awkgram.y:2472
 #, c-format
 msgid "%s: string literal as last arg of substitute has no effect"
 msgstr ""
 "%s: bokstavlig str�ng som sista argument till ers�ttning har ingen effekt"
 
-#: awkgram.y:2467
+#: awkgram.y:2475
 #, c-format
 msgid "%s third parameter is not a changeable object"
 msgstr "%s: tredje argumentet �r inte ett �ndringsbart objekt"
 
-#: awkgram.y:2494 awkgram.y:2497
+#: awkgram.y:2502 awkgram.y:2505
 msgid "close: second argument is a gawk extension"
 msgstr "close: andra argumentet �r en gawk-ut�kning"
 
-#: awkgram.y:2507
+#: awkgram.y:2515
 msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore"
 msgstr ""
 "anv�ndandet av dcgettext(_\"...\") �r felaktigt: ta bort det inledande "
 "understrykningstecknet"
 
-#: awkgram.y:2522
+#: awkgram.y:2530
 msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore"
 msgstr ""
 "anv�ndandet av dcngettext(_\"...\") �r felaktigt: ta bort det inledande "
 "understrykningstecknet"
 
-#: awkgram.y:2594
+#: awkgram.y:2602
 #, c-format
 msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d"
 msgstr "funktionen \"%s\": parameter %d, \"%s\", �r samma som parameter %d"
 
-#: awkgram.y:2627
+#: awkgram.y:2635
 #, c-format
 msgid "function `%s': parameter `%s' shadows global variable"
 msgstr "funktionen \"%s\": parametern \"%s\" �verskuggar en global variabel"
 
-#: awkgram.y:2739
+#: awkgram.y:2747
 #, c-format
 msgid "could not open `%s' for writing (%s)"
-msgstr "kunde inte �pnna \"%s\" f�r skrivning (%s)"
+msgstr "kunde inte �ppna \"%s\" f�r skrivning (%s)"
 
-#: awkgram.y:2740 profile.c:94
+#: awkgram.y:2748 profile.c:95
 msgid "sending profile to standard error"
 msgstr "skickar profilen till standard fel"
 
-#: awkgram.y:2772
+#: awkgram.y:2780
 #, c-format
 msgid "%s: close failed (%s)"
 msgstr "%s: misslyckades att st�nga (%s)"
 
-#: awkgram.y:2893
+#: awkgram.y:2901
 msgid "shadow_funcs() called twice!"
 msgstr "shadow_funcs() anropad tv� g�nger!"
 
-#: awkgram.y:2920
+#: awkgram.y:2928
 msgid "there were shadowed variables."
 msgstr "det fanns �verskuggade variabler."
 
-#: awkgram.y:2993
+#: awkgram.y:3001
 #, c-format
 msgid "function `%s': can't use function name as parameter name"
 msgstr "funktionen \"%s\": kan inte anv�nda funktionsnamn som parameternamn"
 
-#: awkgram.y:3003
+#: awkgram.y:3004
+#, fuzzy, c-format
+msgid "function `%s': can't use special variable `%s' as a function parameter"
+msgstr "funktionen \"%s\": kan inte anv�nda funktionsnamn som parameternamn"
+
+#: awkgram.y:3014
 #, c-format
 msgid "function name `%s' previously defined"
 msgstr "funktionsnamnet \"%s\" �r definierat sedan tidigare"
 
-#: awkgram.y:3154 awkgram.y:3160
+#: awkgram.y:3165 awkgram.y:3171
 #, c-format
 msgid "function `%s' called but never defined"
 msgstr "funktionen \"%s\" anropad men aldrig definierad"
 
-#: awkgram.y:3163
+#: awkgram.y:3174
 #, c-format
 msgid "function `%s' defined but never called"
 msgstr "funktionen \"%s\" definierad men aldrig anropad"
 
-#: awkgram.y:3190
+#: awkgram.y:3201
 #, c-format
 msgid "regexp constant for parameter #%d yields boolean value"
 msgstr "konstant regulj�rt uttryck f�r parameter %d ger ett booleskt v�rde"
 
-#: awkgram.y:3234
-#, fuzzy, c-format
+#: awkgram.y:3245
+#, c-format
 msgid ""
 "function `%s' called with space between name and `(',\n"
 "or used as a variable or an array"
 msgstr ""
 "funktionen \"%s\" anropad med blanktecken mellan namnet och \"(\",\n"
-"%s"
+"eller anv�nd som variabel eller vektor"
 
-#: builtin.c:119
+#: awkgram.y:3667 eval.c:1394
+#, c-format
+msgid "division by zero attempted in `%%'"
+msgstr "f�rs�kte dividera med noll i \"%%\""
+
+#: builtin.c:122
 #, c-format
 msgid "%s to \"%s\" failed (%s)"
 msgstr "%s till \"%s\" misslyckades (%s)"
 
-#: builtin.c:120
+#: builtin.c:123
 msgid "standard output"
 msgstr "standard ut"
 
-#: builtin.c:121
+#: builtin.c:124
 msgid "reason unknown"
 msgstr "ok�nd anledning"
 
-#: builtin.c:134
+#: builtin.c:137
 msgid "exp: received non-numeric argument"
 msgstr "exp: fick ett ickenumeriskt argument"
 
-#: builtin.c:140
+#: builtin.c:143
 #, c-format
 msgid "exp: argument %g is out of range"
 msgstr "exp: argumentet %g �r inte inom till�ten gr�ns"
 
-#: builtin.c:198
+#: builtin.c:201
 #, c-format
 msgid "fflush: cannot flush: pipe `%s' opened for reading, not writing"
 msgstr ""
 "fflush: kan inte spola: r�ret \"%s\" �ppnat f�r l�sning, inte skrivning"
 
-#: builtin.c:201
+#: builtin.c:204
 #, c-format
 msgid "fflush: cannot flush: file `%s' opened for reading, not writing"
 msgstr ""
 "fflush: kan inte spola: filen \"%s\" �ppnad f�r l�sning, inte skrivning"
 
-#: builtin.c:213
+#: builtin.c:216
 #, c-format
 msgid "fflush: `%s' is not an open file, pipe or co-process"
 msgstr "fflush: \"%s\" �r inte en �ppen fil, r�r eller koprocess"
 
-#: builtin.c:306
+#: builtin.c:310
 msgid "index: received non-string first argument"
 msgstr "index: f�rsta argumentet �r inte en str�ng"
 
-#: builtin.c:308
+#: builtin.c:312
 msgid "index: received non-string second argument"
 msgstr "index: andra argumentet �r inte en str�ng"
 
-#: builtin.c:423
+#: builtin.c:434
 msgid "int: received non-numeric argument"
 msgstr "int: fick ett ickenumeriskt argument"
 
-#: builtin.c:448
-#, fuzzy
+#: builtin.c:464
 msgid "`length(array)' is a gawk extension"
-msgstr "\"delete array\" �r en gawk-ut�kning"
+msgstr "\"length(array)\" �r en gawk-ut�kning"
 
-#: builtin.c:458
+#: builtin.c:473
+msgid "length: untyped argument will be forced to scalar"
+msgstr ""
+
+#: builtin.c:477
 msgid "length: received non-string argument"
 msgstr "length: fick ett argument som inte �r en str�ng"
 
-#: builtin.c:483
+#: builtin.c:508
 msgid "log: received non-numeric argument"
 msgstr "log: fick ett ickenumeriskt argument"
 
-#: builtin.c:486
+#: builtin.c:511
 #, c-format
 msgid "log: received negative argument %g"
 msgstr "log: fick ett negativt argumentet %g"
 
-#: builtin.c:693 builtin.c:696
+#: builtin.c:719 builtin.c:722
 msgid "must use `count$' on all formats or none"
 msgstr "m�ste anv�nda \"count$\" p� alla eller inga format"
 
-#: builtin.c:799
+#: builtin.c:783
+#, c-format
+msgid "field width is ignored for `%%%%' specifier"
+msgstr ""
+
+#: builtin.c:785
+#, c-format
+msgid "precision is ignored for `%%%%' specifier"
+msgstr ""
+
+#: builtin.c:787
+#, c-format
+msgid "field width and precision are ignored for `%%%%' specifier"
+msgstr ""
+
+#: builtin.c:838
 msgid "`$' is not permitted in awk formats"
-msgstr "\"$\" till�ts inte i awkformat"
+msgstr "\"$\" till�ts inte i awk-format"
 
-#: builtin.c:805
+#: builtin.c:844
 msgid "arg count with `$' must be > 0"
 msgstr "argumentantalet med \"$\" m�ste vara > 0"
 
-#: builtin.c:807
+#: builtin.c:846
 #, c-format
 msgid "arg count %ld greater than total number of supplied arguments"
 msgstr "argumentantalet %ld �r st�rre �n antalet givna argument"
 
-#: builtin.c:809
+#: builtin.c:848
 msgid "`$' not permitted after period in format"
 msgstr "\"$\" till�ts inte efter en punkt i formatet"
 
-#: builtin.c:822
+#: builtin.c:861
 msgid "no `$' supplied for positional field width or precision"
 msgstr "inget \"$\" bifogat f�r positionsangiven f�ltbredd eller precision"
 
-#: builtin.c:888
+#: builtin.c:927
 msgid "`l' is meaningless in awk formats; ignored"
 msgstr "\"l\" �r meningsl�s i awk-format, ignorerad"
 
-#: builtin.c:892
+#: builtin.c:931
 msgid "`l' is not permitted in POSIX awk formats"
 msgstr "\"l\" till�ts inte i POSIX awk-format"
 
-#: builtin.c:903
+#: builtin.c:942
 msgid "`L' is meaningless in awk formats; ignored"
 msgstr "\"L\" �r meningsl�s i awk-format, ignorerad"
 
-#: builtin.c:907
+#: builtin.c:946
 msgid "`L' is not permitted in POSIX awk formats"
 msgstr "\"L\" till�ts inte i POSIX awk-format"
 
-#: builtin.c:918
+#: builtin.c:957
 msgid "`h' is meaningless in awk formats; ignored"
 msgstr "\"h\" �r meningsl�s i awk-format, ignorerad"
 
-#: builtin.c:922
+#: builtin.c:961
 msgid "`h' is not permitted in POSIX awk formats"
 msgstr "\"h\" till�ts inte i POSIX awk-format"
 
-#: builtin.c:1182
+#: builtin.c:1236
 #, c-format
 msgid "[s]printf: value %g is out of range for `%%%c' format"
+msgstr "[s]printf: v�rdet %g �r utanf�r \"%%%c\"-formatets giltiga intervall"
+
+#: builtin.c:1316
+#, c-format
+msgid "ignoring unknown format specifier character `%c': no argument converted"
 msgstr ""
 
-#: builtin.c:1266
+#: builtin.c:1322
 msgid "not enough arguments to satisfy format string"
 msgstr "f�r f� argument f�r formatstr�ngen"
 
-#: builtin.c:1268
+#: builtin.c:1324
 msgid "^ ran out for this one"
 msgstr "^ tog slut h�r"
 
-#: builtin.c:1274
+#: builtin.c:1330
 msgid "[s]printf: format specifier does not have control letter"
 msgstr "[s]printf: formatspecifieraren har ingen kommandobokstav"
 
-#: builtin.c:1277
+#: builtin.c:1333
 msgid "too many arguments supplied for format string"
 msgstr "f�r m�nga argument f�r formatstr�ngen"
 
-#: builtin.c:1352 builtin.c:1355
+#: builtin.c:1408 builtin.c:1411
 msgid "printf: no arguments"
 msgstr "printf: inga argument"
 
-#: builtin.c:1379
+#: builtin.c:1435
 msgid "sqrt: received non-numeric argument"
 msgstr "sqrt: fick ickenumeriskt argument"
 
-#: builtin.c:1383
+#: builtin.c:1439
 #, c-format
 msgid "sqrt: called with negative argument %g"
 msgstr "sqrt: anropad med negativt argument %g"
 
-#: builtin.c:1407
+#: builtin.c:1463
 #, c-format
 msgid "substr: start index %g is invalid, using 1"
 msgstr "substr: startindex %g �r ogiltigt, anv�nder 1"
 
-#: builtin.c:1412
+#: builtin.c:1468
 #, c-format
 msgid "substr: non-integer start index %g will be truncated"
 msgstr "substr: startindex %g som inte �r ett heltal kommer trunkeras"
 
-#: builtin.c:1431
-#, fuzzy, c-format
+#: builtin.c:1494
+#, c-format
 msgid "substr: length %g is not >= 1"
-msgstr "substr: l�ngden %g �r <= 0"
+msgstr "substr: l�ngden %g �r inte >= 1"
 
-#: builtin.c:1433
-#, fuzzy, c-format
+#: builtin.c:1496
+#, c-format
 msgid "substr: length %g is not >= 0"
-msgstr "substr: l�ngden %g �r <= 0"
+msgstr "substr: l�ngden %g �r inte >= 0"
 
-#: builtin.c:1440
+#: builtin.c:1503
 #, c-format
 msgid "substr: non-integer length %g will be truncated"
 msgstr "substr: l�ngden %g som inte �r ett heltal kommer trunkeras"
 
-#: builtin.c:1445
+#: builtin.c:1508
 #, c-format
 msgid "substr: length %g too big for string indexing, truncating to %g"
 msgstr "substr: l�ngden %g �r f�r stor f�r str�ngindexering, trunkeras till %g"
 
-#: builtin.c:1457
+#: builtin.c:1520
 msgid "substr: source string is zero length"
 msgstr "substr: k�llstr�ngen �r tom"
 
-#: builtin.c:1473
+#: builtin.c:1536
 #, c-format
 msgid "substr: start index %g is past end of string"
 msgstr "substr: startindex %g �r bortom str�ngens slut"
 
-#: builtin.c:1481
+#: builtin.c:1544
 #, c-format
 msgid ""
 "substr: length %g at start index %g exceeds length of first argument (%lu)"
@@ -605,308 +637,298 @@
 "substr: l�ngden %g vid startindex %g �verskrider det f�rsta argumentets "
 "l�ngd (%lu)"
 
-#: builtin.c:1558
+#: builtin.c:1621
 msgid "strftime: received non-string first argument"
 msgstr "strftime: fick ett f�rsta argument som inte �r en str�ng"
 
-#: builtin.c:1564
+#: builtin.c:1627
 msgid "strftime: received empty format string"
 msgstr "strftime: fick en tom formatstr�ng"
 
-#: builtin.c:1573
+#: builtin.c:1636
 msgid "strftime: received non-numeric second argument"
 msgstr "strftime: fick ett ickenumeriskt andra argument"
 
-#: builtin.c:1650
+#: builtin.c:1713
 msgid "mktime: received non-string argument"
 msgstr "mktime: fick ett argument som inte �r en str�ng"
 
-#: builtin.c:1695
+#: builtin.c:1758
 msgid "system: received non-string argument"
 msgstr "system: fick ett argument som inte �r en str�ng"
 
-#: builtin.c:1816 eval.c:2041
-#, fuzzy, c-format
+#: builtin.c:1879 eval.c:2145
+#, c-format
 msgid "reference to uninitialized field `$%d'"
-msgstr "referens till icke initierad variabel \"%s\""
+msgstr "referens till icke initierat f�lt \"$%d\""
 
-#: builtin.c:1921
+#: builtin.c:1984
 msgid "tolower: received non-string argument"
 msgstr "tolower: fick ett argument som inte �r en str�ng"
 
-#: builtin.c:1951
+#: builtin.c:2014
 msgid "toupper: received non-string argument"
 msgstr "toupper: fick ett argument som inte �r en str�ng"
 
-#: builtin.c:1984
+#: builtin.c:2047
 msgid "atan2: received non-numeric first argument"
 msgstr "atan2: fick ett ickenumeriskt f�rsta argument"
 
-#: builtin.c:1986
+#: builtin.c:2049
 msgid "atan2: received non-numeric second argument"
 msgstr "atan2: fick ett ickenumeriskt andra argument"
 
-#: builtin.c:2005
+#: builtin.c:2068
 msgid "sin: received non-numeric argument"
 msgstr "sin: fick ett ickenumeriskt argument"
 
-#: builtin.c:2021
+#: builtin.c:2084
 msgid "cos: received non-numeric argument"
 msgstr "cos: fick ett ickenumeriskt argument"
 
-#: builtin.c:2071
+#: builtin.c:2137
 msgid "srand: received non-numeric argument"
 msgstr "srand: fick ett ickenumeriskt argument"
 
-#: builtin.c:2106
+#: builtin.c:2172
 msgid "match: third argument is not an array"
 msgstr "match: tredje argumentet �r inte en vektor"
 
-#: builtin.c:2650
+#: builtin.c:2719
 msgid "gensub: third argument of 0 treated as 1"
-msgstr "gensub: Nollan i tredje argumentet behandlad som en etta"
+msgstr "gensub: nollan i tredje argumentet behandlad som en etta"
 
-#: builtin.c:2766
+#: builtin.c:2835
 msgid "lshift: received non-numeric first argument"
 msgstr "lshift: fick ett ickenumeriskt f�rsta argument"
 
-#: builtin.c:2768
-#, fuzzy
+#: builtin.c:2837
 msgid "lshift: received non-numeric second argument"
-msgstr "strftime: fick ett ickenumeriskt andra argument"
+msgstr "lshift: fick ett ickenumeriskt andra argument"
 
-#: builtin.c:2774
+#: builtin.c:2843
 #, c-format
 msgid "lshift(%lf, %lf): negative values will give strange results"
 msgstr "lshift(%lf, %lf): negativa v�rden kommer ge konstiga resultat"
 
-#: builtin.c:2776
+#: builtin.c:2845
 #, c-format
 msgid "lshift(%lf, %lf): fractional values will be truncated"
 msgstr "lshift(%lf, %lf): flyttalsv�rden kommer trunkeras"
 
-#: builtin.c:2778
+#: builtin.c:2847
 #, c-format
 msgid "lshift(%lf, %lf): too large shift value will give strange results"
 msgstr "lshift(%lf, %lf): f�r stora skiftv�rden kommer ge konstiga resultat"
 
-#: builtin.c:2804
+#: builtin.c:2873
 msgid "rshift: received non-numeric first argument"
 msgstr "rshift: fick ett ickenumeriskt f�rsta argument"
 
-#: builtin.c:2806
-#, fuzzy
+#: builtin.c:2875
 msgid "rshift: received non-numeric second argument"
-msgstr "strftime: fick ett ickenumeriskt andra argument"
+msgstr "rshift: fick ett ickenumeriskt andra argument"
 
-#: builtin.c:2812
+#: builtin.c:2881
 #, c-format
 msgid "rshift(%lf, %lf): negative values will give strange results"
 msgstr "rshift(%lf, %lf): negativa v�rden kommer ge konstiga resultat"
 
-#: builtin.c:2814
+#: builtin.c:2883
 #, c-format
 msgid "rshift(%lf, %lf): fractional values will be truncated"
 msgstr "rshift(%lf, %lf): flyttalsv�rden kommer trunkeras"
 
-#: builtin.c:2816
+#: builtin.c:2885
 #, c-format
 msgid "rshift(%lf, %lf): too large shift value will give strange results"
 msgstr "rshift(%lf, %lf): f�r stora skiftv�rden kommer ge konstiga resultat"
 
-#: builtin.c:2842
+#: builtin.c:2911
 msgid "and: received non-numeric first argument"
 msgstr "and: fick ett ickenumeriskt f�rsta argument"
 
-#: builtin.c:2844
-#, fuzzy
+#: builtin.c:2913
 msgid "and: received non-numeric second argument"
-msgstr "atan2: fick ett ickenumeriskt andra argument"
+msgstr "and: fick ett ickenumeriskt andra argument"
 
-#: builtin.c:2850
+#: builtin.c:2919
 #, c-format
 msgid "and(%lf, %lf): negative values will give strange results"
 msgstr "and(%lf, %lf): negativa v�rden kommer ge konstiga resultat"
 
-#: builtin.c:2852
+#: builtin.c:2921
 #, c-format
 msgid "and(%lf, %lf): fractional values will be truncated"
 msgstr "and(%lf, %lf): flyttalsv�rden kommer trunkeras"
 
-#: builtin.c:2878
+#: builtin.c:2947
 msgid "or: received non-numeric first argument"
 msgstr "or: fick ett ickenumeriskt f�rsta argument"
 
-#: builtin.c:2880
-#, fuzzy
+#: builtin.c:2949
 msgid "or: received non-numeric second argument"
-msgstr "atan2: fick ett ickenumeriskt andra argument"
+msgstr "or: fick ett ickenumeriskt andra argument"
 
-#: builtin.c:2886
+#: builtin.c:2955
 #, c-format
 msgid "or(%lf, %lf): negative values will give strange results"
 msgstr "or(%lf, %lf): negativa v�rden kommer ge konstiga resultat"
 
-#: builtin.c:2888
+#: builtin.c:2957
 #, c-format
 msgid "or(%lf, %lf): fractional values will be truncated"
 msgstr "or(%lf, %lf): flyttalsv�rden kommer trunkeras"
 
-#: builtin.c:2914
+#: builtin.c:2983
 msgid "xor: received non-numeric first argument"
 msgstr "xor: fick ett ickenumeriskt f�rsta argument"
 
-#: builtin.c:2916
-#, fuzzy
+#: builtin.c:2985
 msgid "xor: received non-numeric second argument"
-msgstr "atan2: fick ett ickenumeriskt andra argument"
+msgstr "xor: fick ett ickenumeriskt andra argument"
 
-#: builtin.c:2922
+#: builtin.c:2991
 #, c-format
 msgid "xor(%lf, %lf): negative values will give strange results"
 msgstr "xor(%lf, %lf): negativa v�rden kommer ge konstiga resultat"
 
-#: builtin.c:2924
+#: builtin.c:2993
 #, c-format
 msgid "xor(%lf, %lf): fractional values will be truncated"
 msgstr "xor(%lf, %lf): flyttalsv�rden kommer trunkeras"
 
-#: builtin.c:2948
+#: builtin.c:3017
 msgid "compl: received non-numeric argument"
 msgstr "compl: fick ett ickenumeriskt argument"
 
-#: builtin.c:2954
+#: builtin.c:3023
 #, c-format
 msgid "compl(%lf): negative value will give strange results"
 msgstr "compl(%lf): negativa v�rden kommer ge konstiga resultat"
 
-#: builtin.c:2956
+#: builtin.c:3025
 #, c-format
 msgid "compl(%lf): fractional value will be truncated"
 msgstr "compl(%lf): flyttalsv�rden kommer trunkeras"
 
-#: builtin.c:3129
+#: builtin.c:3198
 #, c-format
 msgid "dcgettext: `%s' is not a valid locale category"
 msgstr "dcgettext: \"%s\" �r inte en giltig lokalkategori"
 
-#: eval.c:303
+#: eval.c:372
 #, c-format
 msgid "unknown nodetype %d"
 msgstr "ok�nd nodtyp %d"
 
-#: eval.c:353
+#: eval.c:422
 msgid "buffer overflow in genflags2str"
 msgstr "buffert�verfl�d i genflags2str"
 
-#: eval.c:385 eval.c:391 profile.c:817
+#: eval.c:454 eval.c:460 profile.c:781
 #, c-format
 msgid "attempt to use array `%s' in a scalar context"
 msgstr "f�rs�k att anv�nda vektorn \"%s\" i skal�rsammanhang"
 
-#: eval.c:733
+#: eval.c:802
 #, c-format
 msgid "for loop: array `%s' changed size from %ld to %ld during loop execution"
 msgstr ""
 "forslinga: vektorn \"%s\" �ndrade storlek fr�n %ld till %ld under "
 "slingexekvering"
 
-#: eval.c:754
+#: eval.c:823
 msgid "`break' outside a loop is not portable"
 msgstr "\"break\" utanf�r en slinga �r inte portabelt"
 
-#: eval.c:758
+#: eval.c:827
 msgid "`break' outside a loop is not allowed"
 msgstr "\"break\" utanf�r en slinga �r inte till�tet"
 
-#: eval.c:775
+#: eval.c:844
 msgid "`continue' outside a loop is not portable"
 msgstr "\"continue\" utanf�r en slinga �r inte portabelt"
 
-#: eval.c:779
+#: eval.c:848
 msgid "`continue' outside a loop is not allowed"
 msgstr "\"continue\" utanf�r en slinga �r inte till�tet"
 
-#: eval.c:813
+#: eval.c:882
 msgid "`next' cannot be called from a BEGIN rule"
 msgstr "\"next\" kan inte anropas fr�n en BEGIN-regel"
 
-#: eval.c:815
+#: eval.c:884
 msgid "`next' cannot be called from an END rule"
 msgstr "\"next\" kan inte anropas fr�n en END-regel"
 
-#: eval.c:824
+#: eval.c:893
 msgid "`nextfile' cannot be called from a BEGIN rule"
 msgstr "\"nextfile\" kan inte anropas fr�n en BEGIN-regel"
 
-#: eval.c:826
+#: eval.c:895
 msgid "`nextfile' cannot be called from an END rule"
 msgstr "\"nextfile\" kan inte anropas fr�n en END-regel"
 
-#: eval.c:875
+#: eval.c:952
 msgid "statement has no effect"
 msgstr "kommandot har ingen effekt"
 
-#: eval.c:952 eval.c:1895
+#: eval.c:1029 eval.c:1999
 #, c-format
 msgid "can't use function name `%s' as variable or array"
 msgstr "kan inte anv�nda funktionsnamnet \"%s\" som variabel eller vektor"
 
-#: eval.c:959 eval.c:965
+#: eval.c:1036 eval.c:1042
 #, c-format
 msgid "reference to uninitialized argument `%s'"
 msgstr "referens till icke initierat argument \"%s\""
 
-#: eval.c:974 eval.c:1904
+#: eval.c:1051 eval.c:2008
 #, c-format
 msgid "reference to uninitialized variable `%s'"
 msgstr "referens till icke initierad variabel \"%s\""
 
-#: eval.c:1120
+#: eval.c:1197
 msgid ""
 "concatenation: side effects in one expression have changed the length of "
 "another!"
 msgstr ""
 "concatenation: sidoeffekter i ett uttryck har �ndrat l�ngden av ett annat!"
 
-#: eval.c:1202
+#: eval.c:1301
 msgid "assignment used in conditional context"
 msgstr "tilldelning anv�nt i j�mf�relsesammanhang"
 
-#: eval.c:1280
+#: eval.c:1379
 msgid "division by zero attempted"
 msgstr "f�rs�kte dividera med noll"
 
-#: eval.c:1295
-#, c-format
-msgid "division by zero attempted in `%%'"
-msgstr "f�rs�kte dividera med noll i \"%%\""
-
-#: eval.c:1310 profile.c:693
+#: eval.c:1409 profile.c:657
 #, c-format
 msgid "illegal type (%s) in tree_eval"
 msgstr "otill�ten typ (%s) i tree_eval"
 
-#: eval.c:1473
+#: eval.c:1572
 msgid "division by zero attempted in `/='"
 msgstr "f�rs�kte dividera med noll i \"/=\""
 
-#: eval.c:1495
+#: eval.c:1594
 #, c-format
 msgid "division by zero attempted in `%%='"
 msgstr "f�rs�kte dividera med noll i \"%%=\""
 
-#: eval.c:1760
+#: eval.c:1859
 #, c-format
 msgid "function `%s' called with more arguments than declared"
 msgstr "funktionen \"%s\" anropad med fler argument �n vad som deklarerats"
 
-#: eval.c:1804
+#: eval.c:1904
 #, c-format
 msgid "function `%s' not defined"
 msgstr "funktionen \"%s\" �r inte definierad"
 
-#: eval.c:1867
+#: eval.c:1971
 #, c-format
 msgid ""
 "\n"
@@ -917,42 +939,47 @@
 "\t# Funktionsanropsstack:\n"
 "\n"
 
-#: eval.c:1870
+#: eval.c:1974
 #, c-format
 msgid "\t# -- main --\n"
 msgstr "\t# -- main --\n"
 
-#: eval.c:2025
+#: eval.c:2129
 msgid "attempt to field reference from non-numeric value"
 msgstr "f�rs�k att f�ltreferera fr�n ickenumeriskt v�rde"
 
-#: eval.c:2027
+#: eval.c:2131
 msgid "attempt to reference from null string"
 msgstr "f�rs�k att referera fr�n tom str�ng"
 
-#: eval.c:2033
+#: eval.c:2137
 #, c-format
 msgid "attempt to access field %d"
 msgstr "f�rs�k att komma �t f�lt nummer %d"
 
-#: eval.c:2054 eval.c:2061 profile.c:914
+#: eval.c:2158 eval.c:2165 profile.c:836
 msgid "assignment is not allowed to result of builtin function"
 msgstr "det �r inte till�tet att tilldela resultatet fr�n en inbyggd funktion"
 
-#: eval.c:2125
+#: eval.c:2229
 msgid "`IGNORECASE' is a gawk extension"
 msgstr "\"IGNORECASE\" �r en gawk-ut�kning"
 
-#: eval.c:2155
+#: eval.c:2258
 msgid "`BINMODE' is a gawk extension"
 msgstr "\"BINMODE\" �r en gawk-ut�kning"
 
-#: eval.c:2277
+#: eval.c:2316
+#, c-format
+msgid "BINMODE value `%s' is invalid, treated as 3"
+msgstr ""
+
+#: eval.c:2406
 #, c-format
 msgid "bad `%sFMT' specification `%s'"
 msgstr "felaktig \"%sFMT\"-specifikation \"%s\""
 
-#: eval.c:2355
+#: eval.c:2484
 msgid "turning off `--lint' due to assignment to `LINT'"
 msgstr "sl�r av \"--lint\" p� grund av en tilldelning till \"LINT\""
 
@@ -972,52 +999,53 @@
 
 #: ext.c:105
 msgid "extension: missing function name"
-msgstr ""
+msgstr "extension: saknar funktionsnamn"
 
 #: ext.c:110
-#, fuzzy, c-format
+#, c-format
 msgid "extension: illegal character `%c' in function name `%s'"
-msgstr "extension: bibliotek \"%s\": kan inte anropa funktionen \"%s\" (%s)\n"
+msgstr "extension: ogiltigt tecken \"%c\" i funktionsnamnet \"%s\""
 
 #: ext.c:116
-#, fuzzy, c-format
+#, c-format
 msgid "extension: can't redefine function `%s'"
-msgstr "extension: kan inte �ppna \"%s\" (%s)\n"
+msgstr "extension: kan inte definiera om funktionen \"%s\""
 
 #: ext.c:120
-#, fuzzy, c-format
+#, c-format
 msgid "extension: function `%s' already defined"
-msgstr "funktionen \"%s\" �r inte definierad"
+msgstr "extension: funktionen \"%s\" �r redan definierad"
 
 #: ext.c:125
 #, c-format
 msgid "extension: can't use gawk built-in `%s' as function name"
 msgstr ""
+"extension: kan inte anv�nda gawks inbyggda \"%s\" som ett funktionsnamn"
 
 #: ext.c:127
-#, fuzzy, c-format
+#, c-format
 msgid "extension: function name `%s' previously defined"
-msgstr "funktionsnamnet \"%s\" �r definierat sedan tidigare"
+msgstr "extension: funktionsnamnet \"%s\" �r definierat sedan tidigare"
 
 #: ext.c:204
-#, fuzzy, c-format
+#, c-format
 msgid "function `%s' defined to take no more than %d argument(s)"
-msgstr "funktionen \"%s\" definierad men aldrig anropad"
+msgstr "funktionen \"%s\" definierades f�r att ta maximalt %d argument"
 
 #: ext.c:207
-#, fuzzy, c-format
+#, c-format
 msgid "function `%s': missing argument #%d"
-msgstr "funktionen \"%s\" �r inte definierad"
+msgstr "funktionen \"%s\": argument %d saknas"
 
 #: ext.c:217
-#, fuzzy, c-format
+#, c-format
 msgid "function `%s': argument #%d: attempt to use scalar as an array"
-msgstr "f�rs�k att anv�nda skal�ren \"%s\" som vektor"
+msgstr "funktionen \"%s\": argument %d: f�rs�k att anv�nda skal�r som vektor"
 
 #: ext.c:221
 #, c-format
 msgid "function `%s': argument #%d: attempt to use array as a scalar"
-msgstr ""
+msgstr "funktionen \"%s\": argument %d: f�rs�k att anv�nda vektor som skal�r"
 
 #: ext.c:246
 msgid "Operation Not Supported"
@@ -1027,555 +1055,561 @@
 msgid "NF set to negative value"
 msgstr "NF satt till ett negativt v�rde"
 
-#: field.c:823
+#: field.c:875
 msgid "split: second argument is not an array"
 msgstr "split: andra argumentet �r inte en vektor"
 
-#: field.c:857
+#: field.c:909
 msgid "split: null string for third arg is a gawk extension"
 msgstr "split: tom str�ng som tredje argument �r en gawk-ut�kning"
 
-#: field.c:909
+#: field.c:961
 msgid "`FIELDWIDTHS' is a gawk extension"
 msgstr "\"FIELDWIDTHS\" �r en gawk-ut�kning"
 
-#: field.c:939 field.c:953
+#: field.c:991 field.c:1005
 #, c-format
 msgid "invalid FIELDWIDTHS value, near `%s'"
-msgstr ""
+msgstr "ogiltigt FIELDWITHS-v�rde i n�rheten av \"%s\""
 
-#: field.c:1036
+#: field.c:1088
 msgid "null string for `FS' is a gawk extension"
 msgstr "tom str�ng som \"FS\" �r en gawk-ut�kning"
 
-#: field.c:1040
-#, fuzzy
+#: field.c:1092
 msgid "old awk does not support regexps as value of `FS'"
-msgstr "gamla awk st�der inte operatorn \"**\""
+msgstr "gamla awk st�der inte regulj�ra uttryck som v�rden p� \"FS\""
 
-#: getopt.c:571 getopt.c:587
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
+#: getopt.c:570 getopt.c:586
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
 msgstr "%s: flaggan \"%s\" �r tvetydig\n"
 
-#: getopt.c:620 getopt.c:624
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
+#: getopt.c:619 getopt.c:623
+#, fuzzy, c-format
+msgid "%s: option '--%s' doesn't allow an argument\n"
 msgstr "%s: flaggan \"--%s\" till�ter inte argument\n"
 
-#: getopt.c:633 getopt.c:638
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
+#: getopt.c:632 getopt.c:637
+#, fuzzy, c-format
+msgid "%s: option '%c%s' doesn't allow an argument\n"
 msgstr "%s: flaggan \"%c%s\" till�ter inte argument\n"
 
-#: getopt.c:681 getopt.c:700 getopt.c:1016 getopt.c:1035
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
+#: getopt.c:680 getopt.c:699 getopt.c:1002 getopt.c:1021
+#, fuzzy, c-format
+msgid "%s: option '%s' requires an argument\n"
 msgstr "%s: flaggan \"%s\" kr�ver ett argument\n"
 
-#: getopt.c:738 getopt.c:741
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
+#: getopt.c:737 getopt.c:740
+#, fuzzy, c-format
+msgid "%s: unrecognized option '--%s'\n"
 msgstr "%s: ok�nd flagga \"--%s\"\n"
 
-#: getopt.c:749 getopt.c:752
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
+#: getopt.c:748 getopt.c:751
+#, fuzzy, c-format
+msgid "%s: unrecognized option '%c%s'\n"
 msgstr "%s: ok�nd flagga \"%c%s\"\n"
 
-#: getopt.c:804 getopt.c:807
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: otill�ten flagga -- %c\n"
-
-#: getopt.c:813 getopt.c:816
-#, c-format
-msgid "%s: invalid option -- %c\n"
+#: getopt.c:800 getopt.c:803
+#, fuzzy, c-format
+msgid "%s: invalid option -- '%c'\n"
 msgstr "%s: ogiltig flagga -- %c\n"
 
-#: getopt.c:868 getopt.c:884 getopt.c:1088 getopt.c:1106 main.c:461
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
+#: getopt.c:853 getopt.c:870 getopt.c:1073 getopt.c:1091
+#, fuzzy, c-format
+msgid "%s: option requires an argument -- '%c'\n"
 msgstr "%s: flaggan kr�ver ett argument -- %c\n"
 
-#: getopt.c:937 getopt.c:953
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
+#: getopt.c:923 getopt.c:939
+#, fuzzy, c-format
+msgid "%s: option '-W %s' is ambiguous\n"
 msgstr "%s: flaggan \"-W %s\" �r tvetydig\n"
 
-#: getopt.c:977 getopt.c:995
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
+#: getopt.c:963 getopt.c:981
+#, fuzzy, c-format
+msgid "%s: option '-W %s' doesn't allow an argument\n"
 msgstr "%s: flaggan \"-W %s\" till�ter inte n�got argument\n"
 
-#: io.c:345
+#: io.c:322 io.c:352
 #, c-format
 msgid "cannot open file `%s' for reading (%s)"
 msgstr "kan inte �ppna filen \"%s\" f�r l�sning (%s)"
 
-#: io.c:436
+#: io.c:443
 #, c-format
 msgid "close of fd %d (`%s') failed (%s)"
 msgstr "st�ngning av fd %d (\"%s\") misslyckades (%s)"
 
-#: io.c:575
+#: io.c:583
 #, c-format
 msgid "invalid tree type %s in redirect()"
 msgstr "ogiltig tr�dtyp %s i redirect()"
 
-#: io.c:581
+#: io.c:589
 #, c-format
 msgid "expression in `%s' redirection only has numeric value"
 msgstr "uttrycket i \"%s\"-omdirigering har bara numeriskt v�rde"
 
-#: io.c:587
+#: io.c:595
 #, c-format
 msgid "expression for `%s' redirection has null string value"
 msgstr "uttrycket f�r \"%s\"-omdirigering har en tom str�ng som v�rde"
 
-#: io.c:592
+#: io.c:600
 #, c-format
 msgid "filename `%s' for `%s' redirection may be result of logical expression"
 msgstr ""
 "filnamnet \"%s\" f�r \"%s\"-omdirigering kan vara resultatet av ett logiskt "
 "uttryck"
 
-#: io.c:630
+#: io.c:638
 #, c-format
 msgid "unnecessary mixing of `>' and `>>' for file `%.*s'"
 msgstr "on�dig blandning av \">\" och \">>\" f�r filen \"%.*s\""
 
-#: io.c:682
+#: io.c:685
 #, c-format
 msgid "can't open pipe `%s' for output (%s)"
 msgstr "kan inte �ppna r�ret \"%s\" f�r utmatning (%s)"
 
-#: io.c:691
+#: io.c:694
 #, c-format
 msgid "can't open pipe `%s' for input (%s)"
 msgstr "kan inte �ppna r�ret \"%s\" f�r inmatning (%s)"
 
-#: io.c:698 io.c:1448
-#, c-format
-msgid "file `%s' is a directory"
-msgstr "filen \"%s\" �r en katalog"
-
-#: io.c:706
+#: io.c:712
 #, c-format
 msgid "can't open two way socket `%s' for input/output (%s)"
 msgstr "kan inte �ppna tv�v�gsuttaget \"%s\" f�r in-/utmatning (%s)"
 
-#: io.c:710
+#: io.c:716
 #, c-format
 msgid "can't open two way pipe `%s' for input/output (%s)"
 msgstr "kan inte �ppna tv�v�gsr�ret \"%s\" f�r in-/utmatning (%s)"
 
-#: io.c:786
+#: io.c:793
 #, c-format
 msgid "can't redirect from `%s' (%s)"
 msgstr "kan inte dirigera om fr�n \"%s\" (%s)"
 
-#: io.c:789
+#: io.c:796
 #, c-format
 msgid "can't redirect to `%s' (%s)"
 msgstr "kan inte dirigera om till \"%s\" (%s)"
 
-#: io.c:828
+#: io.c:849
 msgid ""
 "reached system limit for open files: starting to multiplex file descriptors"
 msgstr ""
 "n�dde systembegr�nsningen f�r �ppna filer: b�rjar multiplexa fildeskriptorer"
 
-#: io.c:844
+#: io.c:865
 #, c-format
 msgid "close of `%s' failed (%s)."
 msgstr "st�ngning av \"%s\" misslyckades (%s)"
 
-#: io.c:852
+#: io.c:873
 msgid "too many pipes or input files open"
 msgstr "f�r m�nga r�r eller indatafiler �ppna"
 
-#: io.c:875
+#: io.c:896
 msgid "close: second argument must be `to' or `from'"
 msgstr "close: andra argumentet m�ste vara \"to\" eller \"from\""
 
-#: io.c:889
+#: io.c:910
 #, c-format
 msgid "close: `%.*s' is not an open file, pipe or co-process"
 msgstr "close: \"%.*s\" �r inte en �ppen fil, r�r eller koprocess"
 
-#: io.c:893
+#: io.c:915
 msgid "close of redirection that was never opened"
 msgstr "st�ngning av omdirigering som aldrig �ppnades"
 
-#: io.c:989
+#: io.c:1012
 #, c-format
 msgid "close: redirection `%s' not opened with `|&', second argument ignored"
 msgstr ""
 "close: omdirigeringen \"%s\" �ppnades inte med \"|&\", andra argumentet "
 "ignorerat"
 
-#: io.c:1005
+#: io.c:1028
 #, c-format
 msgid "failure status (%d) on pipe close of `%s' (%s)"
 msgstr "felstatus (%d) fr�n r�rst�ngning av \"%s\" (%s)"
 
-#: io.c:1008
+#: io.c:1031
 #, c-format
 msgid "failure status (%d) on file close of `%s' (%s)"
 msgstr "felstatus (%d) fr�n filst�ngning av \"%s\" (%s)"
 
-#: io.c:1028
+#: io.c:1051
 #, c-format
 msgid "no explicit close of socket `%s' provided"
 msgstr "ingen explicit st�ngning av uttaget \"%s\" tillhandah�llen"
 
-#: io.c:1031
+#: io.c:1054
 #, c-format
 msgid "no explicit close of co-process `%s' provided"
 msgstr "ingen explicit st�ngning av koprocessen \"%s\" tillhandah�llen"
 
-#: io.c:1034
+#: io.c:1057
 #, c-format
 msgid "no explicit close of pipe `%s' provided"
 msgstr "ingen explicit st�ngning av r�ret \"%s\" tillhandah�llen"
 
-#: io.c:1037
+#: io.c:1060
 #, c-format
 msgid "no explicit close of file `%s' provided"
 msgstr "ingen explicit st�ngning av filen \"%s\" tillhandah�llen"
 
-#: io.c:1066 io.c:1121 main.c:749 main.c:791
+#: io.c:1088 io.c:1143 main.c:776 main.c:818
 #, c-format
 msgid "error writing standard output (%s)"
 msgstr "fel vid skrivning till standard ut (%s)"
 
-#: io.c:1070 io.c:1126
+#: io.c:1092 io.c:1148
 #, c-format
 msgid "error writing standard error (%s)"
 msgstr "fel vid skrivning till standard fel (%s)"
 
-#: io.c:1078
+#: io.c:1100
 #, c-format
 msgid "pipe flush of `%s' failed (%s)."
 msgstr "r�rspolning av \"%s\" misslyckades (%s)"
 
-#: io.c:1081
+#: io.c:1103
 #, c-format
 msgid "co-process flush of pipe to `%s' failed (%s)."
 msgstr "koprocesspolning av r�ret till \"%s\" misslyckades (%s)"
 
-#: io.c:1084
+#: io.c:1106
 #, c-format
 msgid "file flush of `%s' failed (%s)."
 msgstr "filspolning av \"%s\" misslyckades (%s)"
 
-#: io.c:1198
-#, fuzzy, c-format
+#: io.c:1220
+#, c-format
 msgid "local port %s invalid in `/inet'"
-msgstr "lokal port ogiltig i \"%s\""
+msgstr "lokal port %s ogiltig i \"/inet\""
 
-#: io.c:1215
+#: io.c:1237
 #, c-format
 msgid "remote host and port information (%s, %s) invalid"
-msgstr ""
+msgstr "ogiltig information (%s, %s) f�r fj�rrv�rd och fj�rrport"
 
-#: io.c:1250
+#: io.c:1272
 msgid "/inet/raw client not ready yet, sorry"
 msgstr "/inet/raw-klient �r tyv�rr inte klar �n"
 
-#: io.c:1253 io.c:1289
+#: io.c:1275 io.c:1311
 msgid "only root may use `/inet/raw'."
 msgstr "bara root kan anv�nda \"/inet/raw\"."
 
-#: io.c:1287
+#: io.c:1309
 msgid "/inet/raw server not ready yet, sorry"
 msgstr "/inet/raw-server inte redo �n, ledsen"
 
-#: io.c:1385
+#: io.c:1407
 #, c-format
 msgid "no (known) protocol supplied in special filename `%s'"
 msgstr ""
 "inget (k�nt) protokoll tillhandah�llet i det speciella filnamnet \"%s\""
 
-#: io.c:1399
+#: io.c:1421
 #, c-format
 msgid "special file name `%s' is incomplete"
 msgstr "speciellt filnamn \"%s\" �r ofullst�ndigt"
 
-#: io.c:1414
+#: io.c:1436
 msgid "must supply a remote hostname to `/inet'"
 msgstr "m�ste tillhandah�lla ett fj�rrdatornamn till \"/inet\""
 
-#: io.c:1432
+#: io.c:1454
 msgid "must supply a remote port to `/inet'"
 msgstr "m�ste tillhandah�lla en fj�rrport till \"/inet\""
 
-#: io.c:1439
+#: io.c:1485
 msgid "TCP/IP communications are not supported"
 msgstr "TCP/IP-kommunikation st�ds inte"
 
-#: io.c:1509
+#: io.c:1494
+#, c-format
+msgid "file `%s' is a directory"
+msgstr "filen \"%s\" �r en katalog"
+
+#: io.c:1555
 #, c-format
 msgid "use `PROCINFO[\"%s\"]' instead of `%s'"
 msgstr "anv�nd \"PROCINFO[\"%s\"]\" ist�llet f�r \"%s\""
 
-#: io.c:1547
+#: io.c:1593
 msgid "use `PROCINFO[...]' instead of `/dev/user'"
 msgstr "anv�nd \"PROCINFO[...]\" ist�llet f�r \"dev/user\""
 
-#: io.c:1612 io.c:1798
+#: io.c:1658 io.c:1853
 #, c-format
 msgid "could not open `%s', mode `%s'"
 msgstr "kunde inte �ppna \"%s\", l�ge \"%s\""
 
-#: io.c:1849
+#: io.c:1904
 #, c-format
 msgid "close of master pty failed (%s)"
 msgstr "st�ngning av huvudpty misslyckades (%s)"
 
-#: io.c:1851 io.c:2003 io.c:2154
+#: io.c:1906 io.c:2058 io.c:2209
 #, c-format
 msgid "close of stdout in child failed (%s)"
 msgstr "st�ngning av standard ut i barnet misslyckades (%s)"
 
-#: io.c:1854
+#: io.c:1909
 #, c-format
 msgid "moving slave pty to stdout in child failed (dup: %s)"
 msgstr "flyttandet av slavpty till standard ut i barnet misslyckades (dup: %s)"
 
-#: io.c:1856 io.c:2008
+#: io.c:1911 io.c:2063
 #, c-format
 msgid "close of stdin in child failed (%s)"
 msgstr "st�ngning av standard in i barnet misslyckades (%s)"
 
-#: io.c:1859
+#: io.c:1914
 #, c-format
 msgid "moving slave pty to stdin in child failed (dup: %s)"
 msgstr "flyttandet av slavpty till standard in i barnet misslyckades (dup: %s)"
 
-#: io.c:1861 io.c:1880
+#: io.c:1916 io.c:1935
 #, c-format
 msgid "close of slave pty failed (%s)"
 msgstr "st�ngning av slavpty misslyckades (%s)"
 
-#: io.c:1954 io.c:2006 io.c:2135 io.c:2157
+#: io.c:2009 io.c:2061 io.c:2190 io.c:2212
 #, c-format
 msgid "moving pipe to stdout in child failed (dup: %s)"
 msgstr "flyttande av r�r till standard ut i barnet misslyckades (dup: %s)"
 
-#: io.c:1958 io.c:2011
+#: io.c:2013 io.c:2066
 #, c-format
 msgid "moving pipe to stdin in child failed (dup: %s)"
 msgstr "flyttande av r�r till standard in i barnet misslyckades (dup: %s)"
 
-#: io.c:1975 io.c:2148
+#: io.c:2030 io.c:2203
 msgid "restoring stdout in parent process failed\n"
 msgstr "�terst�llande av standard ut i f�r�lderprocessen misslyckades\n"
 
-#: io.c:1980
+#: io.c:2035
 msgid "restoring stdin in parent process failed\n"
 msgstr "�terst�llande av standard in i f�r�lderprocessen misslyckades\n"
 
-#: io.c:2014 io.c:2159 io.c:2170
+#: io.c:2069 io.c:2214 io.c:2225
 #, c-format
 msgid "close of pipe failed (%s)"
 msgstr "st�ngning av r�ret misslyckades (%s)"
 
-#: io.c:2059
+#: io.c:2114
 msgid "`|&' not supported"
 msgstr "\"|&\" st�ds inte"
 
-#: io.c:2125
+#: io.c:2180
 #, c-format
 msgid "cannot open pipe `%s' (%s)"
 msgstr "kan inte �ppna r�ret \"%s\" (%s)"
 
-#: io.c:2166
+#: io.c:2221
 #, c-format
 msgid "cannot create child process for `%s' (fork: %s)"
 msgstr "kan inte skapa barnprocess f�r \"%s\" (fork: %s)"
 
-#: io.c:2548
+#: io.c:2603
 #, c-format
 msgid "data file `%s' is empty"
 msgstr "datafilen \"%s\" �r tom"
 
-#: io.c:2589 io.c:2597
+#: io.c:2644 io.c:2652
 msgid "could not allocate more input memory"
 msgstr "kunde inte allokera mer indataminne"
 
-#: io.c:2965 io.c:3038
+#: io.c:3020 io.c:3093
 #, c-format
 msgid "error reading input file `%s': %s"
 msgstr "fel vid l�sning av indatafilen \"%s\": %s"
 
-#: io.c:3163
+#: io.c:3218
 msgid "multicharacter value of `RS' is a gawk extension"
 msgstr "flerteckensv�rdet av \"RS\" �r en gawk-ut�kning"
 
-#: main.c:351
+#: main.c:304
+msgid "out of memory"
+msgstr "slut p� minne"
+
+#: main.c:373
 msgid "`-m[fr]' option irrelevant in gawk"
 msgstr "\"-m[fr]\"-flaggan �r irrelevant i gawk"
 
-#: main.c:353
+#: main.c:375
 msgid "-m option usage: `-m[fr] nnn'"
 msgstr "-m-flaggans anv�ndning: \"-m[fr] nnn\""
 
-#: main.c:370
+#: main.c:392
 #, c-format
 msgid "%s: option `-W %s' unrecognized, ignored\n"
 msgstr "%s: flaggan \"-W %s\" ok�nd, ignorerad\n"
 
-#: main.c:407
+#: main.c:433
 msgid "empty argument to `--source' ignored"
 msgstr "tomt argument till \"--source\" ignorerat"
 
-#: main.c:480
+#: main.c:487
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: flaggan kr�ver ett argument -- %c\n"
+
+#: main.c:506
 msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'"
 msgstr "milj�variabeln \"POSIXLY_CORRECT\" satt: sl�r p� \"--posix\""
 
-#: main.c:486
+#: main.c:512
 msgid "`--posix' overrides `--traditional'"
 msgstr "\"--posix\" �sidos�tter \"--traditional\""
 
-#: main.c:497
+#: main.c:523
 msgid "`--posix'/`--traditional' overrides `--non-decimal-data'"
 msgstr "\"--posix\"/\"--traditional\" �sidos�tter \"--non-decimal-data\""
 
-#: main.c:501
+#: main.c:527
 #, c-format
 msgid "running %s setuid root may be a security problem"
 msgstr "att k�ra %s setuid root kan vara ett s�kerhetsproblem"
 
-#: main.c:542
+#: main.c:568
 #, c-format
 msgid "can't set binary mode on stdin (%s)"
 msgstr "kan inte s�tta bin�rl�ge p� standard in (%s)"
 
-#: main.c:545
+#: main.c:571
 #, c-format
 msgid "can't set binary mode on stdout (%s)"
 msgstr "kan inte s�tta bin�rl�ge p� standard ut (%s)"
 
-#: main.c:547
+#: main.c:573
 #, c-format
 msgid "can't set binary mode on stderr (%s)"
 msgstr "kan inte s�tta bin�rl�ge p� standard fel (%s)"
 
-#: main.c:586
+#: main.c:612
 msgid "no program text at all!"
 msgstr "ingen programtext alls!"
 
-#: main.c:690
+#: main.c:716
 #, c-format
 msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n"
 msgstr ""
 "Anv�ndning: %s [POSIX- eller GNU-stilsflaggor] -f progfil [--] fil ...\n"
 
-#: main.c:692
+#: main.c:718
 #, c-format
 msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n"
 msgstr "Anv�ndning: %s [POSIX- eller GNU-stilsflaggor] %cprogram%c fil ...\n"
 
-#: main.c:697
+#: main.c:723
 msgid "POSIX options:\t\tGNU long options:\n"
 msgstr "POSIX-flaggor:\t\tGNU l�nga flaggor:\n"
 
-#: main.c:698
+#: main.c:724
 msgid "\t-f progfile\t\t--file=progfile\n"
 msgstr "\t-f progfil\t\t--file=progfil\n"
 
-#: main.c:699
+#: main.c:725
 msgid "\t-F fs\t\t\t--field-separator=fs\n"
 msgstr "\t-F fs\t\t\t--field-separator=fs\n"
 
-#: main.c:700
+#: main.c:726
 msgid "\t-v var=val\t\t--assign=var=val\n"
 msgstr "\t-v var=v�rde\t\t--assign=var=v�rde\n"
 
-#: main.c:701
+#: main.c:727
 msgid "\t-m[fr] val\n"
 msgstr "\t-m[fr] v�rde\n"
 
-#: main.c:702
+#: main.c:728
+msgid "\t-O\t\t\t--optimize\n"
+msgstr ""
+
+#: main.c:729
 msgid "\t-W compat\t\t--compat\n"
 msgstr "\t-W compat\t\t--compat\n"
 
-#: main.c:703
+#: main.c:730
 msgid "\t-W copyleft\t\t--copyleft\n"
 msgstr "\t-W copyleft\t\t--copyleft\n"
 
-#: main.c:704
+#: main.c:731
 msgid "\t-W copyright\t\t--copyright\n"
 msgstr "\t-W copyright\t\t--copyright\n"
 
-#: main.c:705
+#: main.c:732
 msgid "\t-W dump-variables[=file]\t--dump-variables[=file]\n"
 msgstr "\t-W dump-variables[=fil]\t--dump-variables[=fil]\n"
 
-#: main.c:706
-#, fuzzy
+#: main.c:733
 msgid "\t-W exec=file\t\t--exec=file\n"
-msgstr "\t-W profile[=fil]\t--profile[=fil]\n"
+msgstr "\t-W exec=fil\t\t--exec=fil\n"
 
-#: main.c:707
+#: main.c:734
 msgid "\t-W gen-po\t\t--gen-po\n"
 msgstr "\t-W gen-po\t\t--gen-po\n"
 
-#: main.c:708
+#: main.c:735
 msgid "\t-W help\t\t\t--help\n"
 msgstr "\t-W help\t\t\t--help\n"
 
-#: main.c:709
+#: main.c:736
 msgid "\t-W lint[=fatal]\t\t--lint[=fatal]\n"
 msgstr "\t-W lint[=fatal]\t\t--lint[=fatal]\n"
 
-#: main.c:710
+#: main.c:737
 msgid "\t-W lint-old\t\t--lint-old\n"
 msgstr "\t-W lint-old\t\t--lint-old\n"
 
-#: main.c:711
+#: main.c:738
 msgid "\t-W non-decimal-data\t--non-decimal-data\n"
 msgstr "\t-W non-decimal-data\t--non-decimal-data\n"
 
-#: main.c:713
+#: main.c:740
 msgid "\t-W nostalgia\t\t--nostalgia\n"
 msgstr "\t-W nostalgia\t\t--nostalgia\n"
 
-#: main.c:716
+#: main.c:743
 msgid "\t-W parsedebug\t\t--parsedebug\n"
 msgstr "\t-W parsedebug\t\t--parsedebug\n"
 
-#: main.c:718
+#: main.c:745
 msgid "\t-W profile[=file]\t--profile[=file]\n"
 msgstr "\t-W profile[=fil]\t--profile[=fil]\n"
 
-#: main.c:719
+#: main.c:746
 msgid "\t-W posix\t\t--posix\n"
 msgstr "\t-W posix\t\t--posix\n"
 
-#: main.c:720
+#: main.c:747
 msgid "\t-W re-interval\t\t--re-interval\n"
 msgstr "\t-W re-interval\t\t--re-interval\n"
 
-#: main.c:721
+#: main.c:748
 msgid "\t-W source=program-text\t--source=program-text\n"
 msgstr "\t-W source=programtext\t--source=programtext\n"
 
-#: main.c:722
+#: main.c:749
 msgid "\t-W traditional\t\t--traditional\n"
 msgstr "\t-W traditional\t\t--traditional\n"
 
-#: main.c:723
+#: main.c:750
 msgid "\t-W usage\t\t--usage\n"
 msgstr "\t-W usage\t\t--usage\n"
 
-#: main.c:724
+#: main.c:751
 msgid "\t-W use-lc-numeric\t--use-lc-numeric\n"
-msgstr ""
+msgstr "\t-W use-lc-numeric\t--use-lc-numeric\n"
 
-#: main.c:725
+#: main.c:752
 msgid "\t-W version\t\t--version\n"
 msgstr "\t-W version\t\t--version\n"
 
@@ -1584,7 +1618,7 @@
 #. for this application.  Please add _another line_ with the
 #. address for translation bugs.
 #. no-wrap
-#: main.c:734
+#: main.c:761
 msgid ""
 "\n"
 "To report bugs, see node `Bugs' in `gawk.info', which is\n"
@@ -1598,7 +1632,7 @@
 "Rapportera synpunkter p� �vers�ttningen till <sv@li.org>.\n"
 "\n"
 
-#: main.c:738
+#: main.c:765
 msgid ""
 "gawk is a pattern scanning and processing language.\n"
 "By default it reads standard input and writes standard output.\n"
@@ -1608,7 +1642,7 @@
 "Normalt l�ser det fr�n standard in och skriver till standard ut.\n"
 "\n"
 
-#: main.c:742
+#: main.c:769
 msgid ""
 "Examples:\n"
 "\tgawk '{ sum += $1 }; END { print sum }' file\n"
@@ -1618,7 +1652,7 @@
 "\tgawk '{ sum += $1 }; END { print sum }' fil\n"
 "\tgawk -F: '{print $1 }' /etc/passwd\n"
 
-#: main.c:762
+#: main.c:789
 #, c-format
 msgid ""
 "Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
@@ -1637,7 +1671,7 @@
 "n�gon senare version.\n"
 "\n"
 
-#: main.c:770
+#: main.c:797
 msgid ""
 "This program is distributed in the hope that it will be useful,\n"
 "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
@@ -1651,56 +1685,64 @@
 "General Public License f�r ytterligare information.\n"
 "\n"
 
-#: main.c:781
-#, fuzzy
+#: main.c:808
 msgid ""
 "You should have received a copy of the GNU General Public License\n"
 "along with this program. If not, see http://www.gnu.org/licenses/.\n"
 msgstr ""
 "Du b�r ha f�tt en kopia av GNU General Public License tillsammans\n"
-"med detta program. Om inte, skriv till Free Software Foundation,\n"
-"Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n"
+"med detta program. Om inte, se http//www.gnu.org/liceences/.\n"
 
-#: main.c:816
+#: main.c:843
 msgid "-Ft does not set FS to tab in POSIX awk"
 msgstr "-Ft s�tter inte FS till tab i POSIX-awk"
 
-#: main.c:1060
+#: main.c:1117
 #, c-format
 msgid ""
 "%s: `%s' argument to `-v' not in `var=value' form\n"
 "\n"
 msgstr "%s: Argumentet \"%s\" till \"-v\" �r inte p� formatet \"var=v�rde\"\n"
 
-#: main.c:1080
+#: main.c:1137
 #, c-format
 msgid "`%s' is not a legal variable name"
 msgstr "\"%s\" �r inte ett giltigt variabelnamn"
 
-#: main.c:1083
+#: main.c:1140
 #, c-format
 msgid "`%s' is not a variable name, looking for file `%s=%s'"
 msgstr "\"%s\" �r inte ett variabelnamn, letar efter filen \"%s=%s\""
 
-#: main.c:1122
+#: main.c:1179
 msgid "floating point exception"
 msgstr "flyttalsundantag"
 
-#: main.c:1129
+#: main.c:1186
 msgid "fatal error: internal error"
 msgstr "�desdigert fel: internt fel"
 
-#: main.c:1180
+#: main.c:1200
+#, fuzzy
+msgid "fatal error: internal error: segfault"
+msgstr "�desdigert fel: internt fel"
+
+#: main.c:1212
+#, fuzzy
+msgid "fatal error: internal error: stack overflow"
+msgstr "�desdigert fel: internt fel"
+
+#: main.c:1261
 #, c-format
 msgid "no pre-opened fd %d"
 msgstr "ingen f�r�ppnad fd %d"
 
-#: main.c:1187
+#: main.c:1268
 #, c-format
 msgid "could not pre-open /dev/null for fd %d"
 msgstr "kunde inte f�r�ppna /dev/null f�r fd %d"
 
-#: main.c:1210 main.c:1219
+#: main.c:1291 main.c:1300
 #, c-format
 msgid "could not find groups: %s"
 msgstr "kunde inte hitta grupper: %s"
@@ -1726,24 +1768,31 @@
 msgid "can't convert string to float"
 msgstr "kan inte konvertera en str�ng till flyttal"
 
-#: node.c:406
+#: node.c:462
 msgid "backslash at end of string"
 msgstr "omv�nt snedstreck i slutet av str�ngen"
 
-#: node.c:548
-#, fuzzy, c-format
+#: node.c:606
+#, c-format
 msgid "old awk does not support the `\\%c' escape sequence"
-msgstr "gamla awk st�der inte operatorn \"**\""
+msgstr "gamla awk st�der inte kontrollsekvensen \"\\%c\""
 
-#: node.c:599
+#: node.c:657
 msgid "POSIX does not allow `\\x' escapes"
 msgstr "POSIX till�ter inte \"\\x\"-kontrollsekvenser"
 
-#: node.c:605
+#: node.c:663
 msgid "no hex digits in `\\x' escape sequence"
 msgstr "inga hexadecimala siffror i \"\\x\"-kontrollsekvenser"
 
-#: node.c:639
+#: node.c:685
+#, c-format
+msgid ""
+"hex escape \\x%.*s of %d characters probably not interpreted the way you "
+"expect"
+msgstr ""
+
+#: node.c:700
 #, c-format
 msgid "escape sequence `\\%c' treated as plain `%c'"
 msgstr "kontrollsekvensen \"\\%c\" behandlad som bara \"%c\""
@@ -1753,31 +1802,32 @@
 msgid "%s %s `%s': could not set close-on-exec: (fcntl: %s)"
 msgstr "%s %s \"%s\": kunde inte s�tta st�ng-vid-exec (fcntl: %s)"
 
-#: profile.c:92
+#: profile.c:93
 #, c-format
 msgid "could not open `%s' for writing: %s"
 msgstr "kunde inte �ppna \"%s\" f�r skrivning: %s"
 
-#: profile.c:450
-#, fuzzy, c-format
+#: profile.c:453
+#, c-format
 msgid "internal error: %s with null vname"
-msgstr "internt fel: Node_var med null vname"
+msgstr "internt fel: %s med null vname"
 
-#: profile.c:514
+#: profile.c:517
+#, fuzzy
 msgid "# treated internally as `delete'"
 msgstr "# behandlad internt som \"delete\""
 
-#: profile.c:1147
+#: profile.c:1069
 #, c-format
 msgid "# this is a dynamically loaded extension function"
-msgstr ""
+msgstr "# detta �r en dynamiskt inl�st ut�kningsfunktion"
 
-#: profile.c:1178
+#: profile.c:1100
 #, c-format
 msgid "\t# gawk profile, created %s\n"
 msgstr "\t# gawkprofil, skapad %s\n"
 
-#: profile.c:1181
+#: profile.c:1103
 #, c-format
 msgid ""
 "\t# BEGIN block(s)\n"
@@ -1786,7 +1836,7 @@
 "\t# BEGIN-block\n"
 "\n"
 
-#: profile.c:1191
+#: profile.c:1113
 #, c-format
 msgid ""
 "\t# Rule(s)\n"
@@ -1795,7 +1845,7 @@
 "\t# Regel/regler\n"
 "\n"
 
-#: profile.c:1197
+#: profile.c:1119
 #, c-format
 msgid ""
 "\t# END block(s)\n"
@@ -1804,7 +1854,7 @@
 "\t# END-block\n"
 "\n"
 
-#: profile.c:1217
+#: profile.c:1139
 #, c-format
 msgid ""
 "\n"
@@ -1813,125 +1863,123 @@
 "\n"
 "\t# Funktioner, listade alfabetiskt\n"
 
-#: profile.c:1470
+#: profile.c:1400
 #, c-format
 msgid "unexpected type %s in prec_level"
 msgstr "ov�ntad typ %s i prec_level"
 
-#: regcomp.c:132
+#: profile.c:1500
+#, fuzzy, c-format
+msgid "Unknown node type %s in pp_var"
+msgstr "ok�nd nodtyp %d"
+
+#: regcomp.c:133
 msgid "Success"
 msgstr "Lyckades"
 
-#: regcomp.c:135
+#: regcomp.c:136
 msgid "No match"
 msgstr "Misslyckades"
 
-#: regcomp.c:138
+#: regcomp.c:139
 msgid "Invalid regular expression"
 msgstr "Ogiltigt regulj�rt uttryck"
 
-#: regcomp.c:141
+#: regcomp.c:142
 msgid "Invalid collation character"
 msgstr "Ogiltigt kollationeringstecken"
 
-#: regcomp.c:144
+#: regcomp.c:145
 msgid "Invalid character class name"
 msgstr "Ogiltigt teckenklassnamn"
 
-#: regcomp.c:147
+#: regcomp.c:148
 msgid "Trailing backslash"
 msgstr "Eftersl�pande omv�nt snedstreck"
 
-#: regcomp.c:150
+#: regcomp.c:151
 msgid "Invalid back reference"
 msgstr "Ogiltig bak�trerefens"
 
-#: regcomp.c:153
+#: regcomp.c:154
 msgid "Unmatched [ or [^"
 msgstr "Obalanserad [ eller [^"
 
-#: regcomp.c:156
+#: regcomp.c:157
 msgid "Unmatched ( or \\("
 msgstr "Obalanserad ( eller \\("
 
-#: regcomp.c:159
+#: regcomp.c:160
 msgid "Unmatched \\{"
 msgstr "Obalanserad \\{"
 
-#: regcomp.c:162
+#: regcomp.c:163
 msgid "Invalid content of \\{\\}"
 msgstr "Ogiltigt inneh�ll i \\{\\}"
 
-#: regcomp.c:165
+#: regcomp.c:166
 msgid "Invalid range end"
 msgstr "Ogiltigt omf�ngsslut"
 
-#: regcomp.c:168
+#: regcomp.c:169
 msgid "Memory exhausted"
 msgstr "Minnet slut"
 
-#: regcomp.c:171
+#: regcomp.c:172
 msgid "Invalid preceding regular expression"
 msgstr "Ogiltigt f�reg�ende regulj�rt uttryck"
 
-#: regcomp.c:174
+#: regcomp.c:175
 msgid "Premature end of regular expression"
 msgstr "F�r tidigt slut p� regulj�rt uttryck"
 
-#: regcomp.c:177
+#: regcomp.c:178
 msgid "Regular expression too big"
 msgstr "Regulj�rt uttryck f�r stort"
 
-#: regcomp.c:180
+#: regcomp.c:181
 msgid "Unmatched ) or \\)"
 msgstr "Obalanserad ) eller \\)"
 
-#: regcomp.c:664
+#: regcomp.c:700
 msgid "No previous regular expression"
 msgstr "Inget f�reg�ende regulj�rt uttryck"
 
-#~ msgid "remote port invalid in `%s'"
-#~ msgstr "fj�rrporten ogiltig i \"%s\""
+#~ msgid "%s: illegal option -- %c\n"
+#~ msgstr "%s: otill�ten flagga -- %c\n"
 
-#~ msgid "function %s called\n"
-#~ msgstr "funktionen %s anropad\n"
+#~ msgid "delete: illegal use of variable `%s' as array"
+#~ msgstr "delete: otill�ten anv�ndning av variabeln \"%s\" som vektor"
 
-#~ msgid "field %d in FIELDWIDTHS, must be > 0"
-#~ msgstr "f�lt %d i FIELDWIDTHS m�ste vara > 0"
+#~ msgid "asort: first argument is not an array"
+#~ msgstr "asort: f�rsta argumentet �r inte en vektor"
+
+#~ msgid "asort: second argument is not an array"
+#~ msgstr "asort: andra argumentet �r inte en vektor"
 
 #~ msgid "or used as a variable or an array"
 #~ msgstr "eller anv�nd som variabel eller vektor"
 
-#~ msgid "regex match failed, not enough memory to match string \"%.*s%s\""
-#~ msgstr ""
-#~ "regexmatchning misslyckades, inte tillr�ckligt mycket minne f�r att "
-#~ "matcha \"%.*s%s\""
-
 #~ msgid "substr: length %g is < 0"
 #~ msgstr "substr: l�ngden %g �r < 0"
 
-#~ msgid "delete: illegal use of variable `%s' as array"
-#~ msgstr "delete: otill�ten anv�ndning av variabeln \"%s\" som vektor"
-
-#, fuzzy
-#~ msgid "%s: gvar_ref to %s\n"
-#~ msgstr "%s: vektorreferens till %s\n"
-
-#~ msgid "asort: first argument is not an array"
-#~ msgstr "asort: f�rsta argumentet �r inte en vektor"
+#~ msgid "function %s called\n"
+#~ msgstr "funktionen %s anropad\n"
 
-#~ msgid "asort: second argument is not an array"
-#~ msgstr "asort: andra argumentet �r inte en vektor"
+#~ msgid "field %d in FIELDWIDTHS, must be > 0"
+#~ msgstr "f�lt %d i FIELDWIDTHS m�ste vara > 0"
 
-#, fuzzy
-#~ msgid ""
-#~ "attempt to use array parameter `%s' that was passed from global scalar `%"
-#~ "s'"
-#~ msgstr "f�rs�k att anv�nda skal�rparametern \"%s\" som en vektor"
+#~ msgid "remote port invalid in `%s'"
+#~ msgstr "fj�rrporten ogiltig i \"%s\""
 
 #~ msgid "internal error: Node_var_array with null vname"
 #~ msgstr "internt fel: Node_var_vektor med null vname"
 
+#~ msgid "regex match failed, not enough memory to match string \"%.*s%s\""
+#~ msgstr ""
+#~ "regexmatchning misslyckades, inte tillr�ckligt mycket minne f�r att "
+#~ "matcha \"%.*s%s\""
+
 #~ msgid ""
 #~ "\n"
 #~ "To report bugs, see node `Bugs' in `gawk.info', which is\n"
@@ -1985,8 +2033,5 @@
 #~ msgid "Unbalanced )"
 #~ msgstr "Obalanserad )"
 
-#~ msgid "out of memory"
-#~ msgstr "slut p� minne"
-
 #~ msgid "internal error: file `%s', line %d\n"
 #~ msgstr "internt fel: filen \"%s\", rad %d\n"
diff -urN gawk-3.1.6/po/tr.po gawk-3.1.7/po/tr.po
--- gawk-3.1.6/po/tr.po	2007-09-30 22:33:26.000000000 +0200
+++ gawk-3.1.7/po/tr.po	2009-07-21 23:23:44.000000000 +0300
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gawk 3.1.5f\n"
 "Report-Msgid-Bugs-To: arnold@skeeve.com\n"
-"POT-Creation-Date: 2007-09-30 22:33+0200\n"
+"POT-Creation-Date: 2009-07-21 23:23+0300\n"
 "PO-Revision-Date: 2007-05-19 19:32+0300\n"
 "Last-Translator: Nilg��n Belma Bug��ner <nilgun@buguner.name.tr>\n"
 "Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n"
@@ -75,318 +75,323 @@
 msgid "%s: array_ref to %s\n"
 msgstr "%s: %s i��in dizi ba��vurusu\n"
 
-#: awkgram.y:215
+#: awkgram.y:218
 #, c-format
 msgid "%s blocks must have an action part"
 msgstr "%s bloklar�� bir eylem b��l��m�� i��ermeli"
 
-#: awkgram.y:218
+#: awkgram.y:221
 msgid "each rule must have a pattern or an action part"
 msgstr "her kural bir eylem b��l��m�� veya bir kal��p i��ermeli"
 
-#: awkgram.y:254 awkgram.y:263
+#: awkgram.y:257 awkgram.y:266
 msgid "old awk does not support multiple `BEGIN' or `END' rules"
 msgstr "eski awk ��ok say��da `BEGIN' veya `END' kural��n�� desteklemiyor"
 
-#: awkgram.y:282
+#: awkgram.y:285
 #, c-format
 msgid "`%s' is a built-in function, it cannot be redefined"
 msgstr "`%s' bir yerle��ik i��levdir, yeniden atanamaz"
 
-#: awkgram.y:328
+#: awkgram.y:331
 msgid "regexp constant `//' looks like a C++ comment, but is not"
 msgstr "d��zenli ifade sabiti `//' bir C++ a����klamas�� gibi g��r��n��yor ama de��il"
 
-#: awkgram.y:331
+#: awkgram.y:334
 #, c-format
 msgid "regexp constant `/%s/' looks like a C comment, but is not"
 msgstr "d��zenli ifade sabiti `/%s/' bir C a����klamas�� gibi g��r��n��yor ama de��il"
 
-#: awkgram.y:358 awkgram.y:653
+#: awkgram.y:361 awkgram.y:656
 msgid "statement may have no effect"
 msgstr "deyim bir etkiye sahip olmayabilir"
 
-#: awkgram.y:455 awkgram.y:479
+#: awkgram.y:458 awkgram.y:482
 #, c-format
 msgid "`%s' used in %s action"
 msgstr "`%s' %s eyleminde kullan��lm����"
 
-#: awkgram.y:470 awkgram.y:474
+#: awkgram.y:473 awkgram.y:477
 msgid "`nextfile' is a gawk extension"
 msgstr "`nextfile' bir gawk uzant��s��d��r"
 
-#: awkgram.y:489
+#: awkgram.y:492
 msgid "`return' used outside function context"
 msgstr "`return' i��lev ba��lam��n��n d������nda kullan��lm����"
 
-#: awkgram.y:531
+#: awkgram.y:534
 msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'"
 msgstr "BEGIN veya END kural��ndaki `print' asl��nda `print \"\"' olmal��yd��"
 
-#: awkgram.y:547 awkgram.y:555
+#: awkgram.y:550 awkgram.y:558
 msgid "`delete array' is a gawk extension"
 msgstr "`delete array' bir gawk uzant��s��d��r"
 
-#: awkgram.y:569 awkgram.y:577
+#: awkgram.y:572 awkgram.y:580
 msgid "`delete(array)' is a non-portable tawk extension"
 msgstr "`delete array' uyarlanabilir olmayan bir gawk uzant��s��d��r"
 
-#: awkgram.y:621
+#: awkgram.y:624
 #, c-format
 msgid "duplicate case values in switch body: %s"
 msgstr "switch i��inde yinelenmi�� case de��erleri var: %s"
 
-#: awkgram.y:631
+#: awkgram.y:634
 msgid "Duplicate `default' detected in switch body"
 msgstr "switch i��inde yinelenmi�� `default' saptand��"
 
-#: awkgram.y:720
+#: awkgram.y:723
 msgid "multistage two-way pipelines don't work"
 msgstr "��ok katl�� iki y��nl�� veriyollar�� ��al����maz"
 
-#: awkgram.y:811
+#: awkgram.y:814
 msgid "regular expression on right of assignment"
 msgstr "d��zenli ifade ataman��n sa����nda"
 
-#: awkgram.y:834
+#: awkgram.y:824
 msgid "regular expression on left of `~' or `!~' operator"
 msgstr "d��zenli ifade `~' ya da `!~' i��lemiminin solunda"
 
-#: awkgram.y:840 awkgram.y:913
+#: awkgram.y:830 awkgram.y:903
 msgid "old awk does not support the keyword `in' except after `for'"
 msgstr "eski awk `for'dan sonra gelmeyen `in' anahtar s��zc������n�� desteklemiyor"
 
-#: awkgram.y:846
+#: awkgram.y:836
 msgid "regular expression on right of comparison"
 msgstr "d��zenli ifade kar����la��t��rman��n sa����nda"
 
-#: awkgram.y:903
+#: awkgram.y:893
 msgid "non-redirected `getline' undefined inside END action"
 msgstr "END eyleminin i��inde y��nlendirme yapmayan `getline' tan��ms��z"
 
-#: awkgram.y:914
+#: awkgram.y:904
 msgid "old awk does not support multidimensional arrays"
 msgstr "eski awk ��ok boyutlu dizileri desteklemiyor"
 
-#: awkgram.y:960
+#: awkgram.y:950
 msgid "call of `length' without parentheses is not portable"
 msgstr "parantezsiz `length' ��a��r��s�� ta����nabilir de��il"
 
-#: awkgram.y:965
+#: awkgram.y:955
 msgid "call of `length' without parentheses is deprecated by POSIX"
 msgstr "parantezsiz `length' ��a��r��s�� POSIX'e uygun de��il"
 
-#: awkgram.y:1019
+#: awkgram.y:1009
 msgid "use of non-array as array"
 msgstr "dizi olmayan de��i��ken dizi olarak kullan��lm����"
 
-#: awkgram.y:1022
+#: awkgram.y:1012
 msgid "invalid subscript expression"
 msgstr "indis ifadesi ge��ersiz"
 
-#: awkgram.y:1249
+#: awkgram.y:1257
 msgid "unexpected newline or end of string"
 msgstr "beklenmeyen sat��rsonu ya da dizge sonu"
 
-#: awkgram.y:1366
+#: awkgram.y:1374
 msgid "empty program text on command line"
 msgstr "komut sat��r��nda bo�� program metni"
 
-#: awkgram.y:1422
+#: awkgram.y:1430
 #, c-format
 msgid "can't open source file `%s' for reading (%s)"
 msgstr "kaynak dosyas�� `%s' okumak i��in a����lam��yor (%s)"
 
-#: awkgram.y:1520
+#: awkgram.y:1528
 #, c-format
 msgid "can't read sourcefile `%s' (%s)"
 msgstr "kaynak dosyas�� `%s' okunam��yor (%s)"
 
-#: awkgram.y:1528
+#: awkgram.y:1536
 #, c-format
 msgid "source file `%s' is empty"
 msgstr "kaynak dosyas�� `%s' bo��"
 
-#: awkgram.y:1720 awkgram.y:1842 awkgram.y:1860 awkgram.y:2235 awkgram.y:2322
+#: awkgram.y:1728 awkgram.y:1850 awkgram.y:1868 awkgram.y:2243 awkgram.y:2330
 msgid "source file does not end in newline"
 msgstr "kaynak dosyas��n��n sonunda sat��rsonu eksik"
 
-#: awkgram.y:1782
+#: awkgram.y:1790
 msgid "unterminated regexp ends with `\\' at end of file"
 msgstr "sonland��r��lmam���� d��zenli ifade dosya sonunda `\\' ile bitiyor"
 
-#: awkgram.y:1806
+#: awkgram.y:1814
 #, c-format
 msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk"
 msgstr "%s: %d: tawk regex de��i��tirici `/.../%c' gawk'ta ��al����maz"
 
-#: awkgram.y:1810
+#: awkgram.y:1818
 #, c-format
 msgid "tawk regex modifier `/.../%c' doesn't work in gawk"
 msgstr "tawk regex de��i��tirici `/.../%c' gawk'ta ��al����maz"
 
-#: awkgram.y:1817
+#: awkgram.y:1825
 msgid "unterminated regexp"
 msgstr "sonland��r��lmam���� d��zenli ifade"
 
-#: awkgram.y:1820
+#: awkgram.y:1828
 msgid "unterminated regexp at end of file"
 msgstr "dosya sonunda sonland��r��lmam���� d��zenli ifade"
 
-#: awkgram.y:1889
+#: awkgram.y:1897
 msgid "use of `\\ #...' line continuation is not portable"
 msgstr "`\\ #...' sat��r uzatma kullan��m�� ta����nabilir de��il"
 
-#: awkgram.y:1902
+#: awkgram.y:1910
 msgid "backslash not last character on line"
 msgstr "tersb��l�� sat��rdaki son karakter de��il"
 
-#: awkgram.y:1947
+#: awkgram.y:1955
 msgid "POSIX does not allow operator `**='"
 msgstr "`**=' i��lemimi POSIX uyumlu de��il"
 
-#: awkgram.y:1949
+#: awkgram.y:1957
 msgid "old awk does not support operator `**='"
 msgstr "`**=' i��lemimini eski awk desteklemiyor"
 
-#: awkgram.y:1958
+#: awkgram.y:1966
 msgid "POSIX does not allow operator `**'"
 msgstr "`**' i��lemimi POSIX uyumlu de��il"
 
-#: awkgram.y:1960
+#: awkgram.y:1968
 msgid "old awk does not support operator `**'"
 msgstr "`**' i��lemimini eski awk desteklemiyor"
 
-#: awkgram.y:1991
+#: awkgram.y:1999
 msgid "operator `^=' is not supported in old awk"
 msgstr "`^=' i��lemimini eski awk desteklemiyor"
 
-#: awkgram.y:1999
+#: awkgram.y:2007
 msgid "operator `^' is not supported in old awk"
 msgstr "`^' i��lemimini eski awk desteklemiyor"
 
-#: awkgram.y:2083 awkgram.y:2098
+#: awkgram.y:2091 awkgram.y:2106
 msgid "unterminated string"
 msgstr "sonland��r��lmam���� dizge"
 
-#: awkgram.y:2283
+#: awkgram.y:2291
 #, c-format
 msgid "invalid char '%c' in expression"
 msgstr "ifade i��inde '%c' karakteri ge��ersiz"
 
-#: awkgram.y:2331
+#: awkgram.y:2339
 #, c-format
 msgid "`%s' is a gawk extension"
 msgstr "`%s' bir gawk uzant��s��d��r"
 
-#: awkgram.y:2334
+#: awkgram.y:2342
 #, c-format
 msgid "`%s' is a Bell Labs extension"
 msgstr "`%s' bir Bell Laboratuarlar�� uzant��s��d��r"
 
-#: awkgram.y:2337
+#: awkgram.y:2345
 #, c-format
 msgid "POSIX does not allow `%s'"
 msgstr "`%s' POSIX uyumlu de��il"
 
-#: awkgram.y:2341
+#: awkgram.y:2349
 #, c-format
 msgid "`%s' is not supported in old awk"
 msgstr "`%s' eski awk taraf��ndan desteklemiyor"
 
-#: awkgram.y:2367
+#: awkgram.y:2375
 msgid "`goto' considered harmful!\n"
 msgstr "`goto' zararl�� say��l��r!\n"
 
-#: awkgram.y:2429
+#: awkgram.y:2437
 #, c-format
 msgid "%d is invalid as number of arguments for %s"
 msgstr "%d arg��man say��s�� olarak %s i��in ge��ersiz"
 
-#: awkgram.y:2448 awkgram.y:2451
+#: awkgram.y:2456 awkgram.y:2459
 msgid "match: third argument is a gawk extension"
 msgstr "match: ������nc�� arg��man bir gawk uzant��s��"
 
-#: awkgram.y:2464
+#: awkgram.y:2472
 #, c-format
 msgid "%s: string literal as last arg of substitute has no effect"
 msgstr "%s: yerine kullan��lan son arg��man olarak dizge sabiti etkisiz"
 
-#: awkgram.y:2467
+#: awkgram.y:2475
 #, c-format
 msgid "%s third parameter is not a changeable object"
 msgstr "������nc�� %s parametresi de��i��tirilebilir bir nesne de��il"
 
-#: awkgram.y:2494 awkgram.y:2497
+#: awkgram.y:2502 awkgram.y:2505
 msgid "close: second argument is a gawk extension"
 msgstr "close: ikinci arg��man bir gawk uzant��s��"
 
-#: awkgram.y:2507
+#: awkgram.y:2515
 msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore"
 msgstr "dcgettext(_\"...\") kullan��m�� yanl����: alt��izgiyi kald��r��n"
 
-#: awkgram.y:2522
+#: awkgram.y:2530
 msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore"
 msgstr "dcngettext(_\"...\") kullan��m�� yanl����: alt��izgiyi kald��r��n"
 
-#: awkgram.y:2594
+#: awkgram.y:2602
 #, c-format
 msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d"
 msgstr "`%s' i��levi: %d. parametre, `%s', %d. parametrenin tekrar��"
 
-#: awkgram.y:2627
+#: awkgram.y:2635
 #, c-format
 msgid "function `%s': parameter `%s' shadows global variable"
 msgstr "`%s' i��levi: parametre, `%s'global de��i��keni g��lgeliyor"
 
-#: awkgram.y:2739
+#: awkgram.y:2747
 #, c-format
 msgid "could not open `%s' for writing (%s)"
 msgstr "`%s' yazmak i��in a����lamad�� (%s)"
 
-#: awkgram.y:2740 profile.c:94
+#: awkgram.y:2748 profile.c:95
 msgid "sending profile to standard error"
 msgstr "profil standart hataya g��nderiliyor"
 
-#: awkgram.y:2772
+#: awkgram.y:2780
 #, c-format
 msgid "%s: close failed (%s)"
 msgstr "%s: kapatma ba��ar��s��z (%s)"
 
-#: awkgram.y:2893
+#: awkgram.y:2901
 msgid "shadow_funcs() called twice!"
 msgstr "shadow_funcs() iki kere ��a��r��ld��!"
 
-#: awkgram.y:2920
+#: awkgram.y:2928
 msgid "there were shadowed variables."
 msgstr "g��lgeli de��i��kenler vard��."
 
-#: awkgram.y:2993
+#: awkgram.y:3001
 #, c-format
 msgid "function `%s': can't use function name as parameter name"
 msgstr "i��lev `%s': i��lev ismi parametre ismi olarak kullan��lamaz"
 
-#: awkgram.y:3003
+#: awkgram.y:3004
+#, fuzzy, c-format
+msgid "function `%s': can't use special variable `%s' as a function parameter"
+msgstr "i��lev `%s': i��lev ismi parametre ismi olarak kullan��lamaz"
+
+#: awkgram.y:3014
 #, c-format
 msgid "function name `%s' previously defined"
 msgstr "i��lev ismi `%s' ��nceden atanm����"
 
-#: awkgram.y:3154 awkgram.y:3160
+#: awkgram.y:3165 awkgram.y:3171
 #, c-format
 msgid "function `%s' called but never defined"
 msgstr "`%s' i��levi ��a��r��ld�� ama hi�� atanmam����"
 
-#: awkgram.y:3163
+#: awkgram.y:3174
 #, c-format
 msgid "function `%s' defined but never called"
 msgstr "`%s' i��levi atanm���� ama hi�� ��a��r��lmad��"
 
-#: awkgram.y:3190
+#: awkgram.y:3201
 #, c-format
 msgid "regexp constant for parameter #%d yields boolean value"
 msgstr "%d numaral�� arg��man bir d��zenli ifade sabiti"
 
-#: awkgram.y:3234
+#: awkgram.y:3245
 #, c-format
 msgid ""
 "function `%s' called with space between name and `(',\n"
@@ -395,201 +400,230 @@
 "`%s' i��levi `(' ile isim aras��nda bo��lukla ��a��r��lm����,\n"
 "ya da bir de��i��ken veya bir dizi olarak kullan��lm����"
 
-#: builtin.c:119
+#: awkgram.y:3667 eval.c:1394
+#, c-format
+msgid "division by zero attempted in `%%'"
+msgstr "`%%'de s��f��rla b��lme hatas��"
+
+#: builtin.c:122
 #, c-format
 msgid "%s to \"%s\" failed (%s)"
 msgstr "%s  \"%s\"ya yaz��lamad�� (%s)"
 
-#: builtin.c:120
+#: builtin.c:123
 msgid "standard output"
 msgstr "standart ����kt��"
 
-#: builtin.c:121
+#: builtin.c:124
 msgid "reason unknown"
 msgstr "sebebi bilinmiyor"
 
-#: builtin.c:134
+#: builtin.c:137
 msgid "exp: received non-numeric argument"
 msgstr "exp: say��sal olmayan arg��man al��nd��"
 
-#: builtin.c:140
+#: builtin.c:143
 #, c-format
 msgid "exp: argument %g is out of range"
 msgstr "exp: %g kapsamd������"
 
-#: builtin.c:198
+#: builtin.c:201
 #, c-format
 msgid "fflush: cannot flush: pipe `%s' opened for reading, not writing"
 msgstr ""
 "fflush: kanala yaz��lamad��: veriyolu `%s' okumak i��in a����ld��, yazmak i��in "
 "de��il"
 
-#: builtin.c:201
+#: builtin.c:204
 #, c-format
 msgid "fflush: cannot flush: file `%s' opened for reading, not writing"
 msgstr ""
 "fflush: kanala yaz��lamad��: dosya `%s' okumak i��in a����ld��, yazmak i��in de��il"
 
-#: builtin.c:213
+#: builtin.c:216
 #, c-format
 msgid "fflush: `%s' is not an open file, pipe or co-process"
 msgstr "fflush: `%s' bir a����k dosya, veriyolu ya da bir yan i��lem de��il"
 
-#: builtin.c:306
+#: builtin.c:310
 msgid "index: received non-string first argument"
 msgstr "index: ilk arg��man dizge olmayan t��rde al��nd��"
 
-#: builtin.c:308
+#: builtin.c:312
 msgid "index: received non-string second argument"
 msgstr "index: ikinci arg��man dizge olmayan t��rde al��nd��"
 
-#: builtin.c:423
+#: builtin.c:434
 msgid "int: received non-numeric argument"
 msgstr "int: say��sal olmayan arg��man al��nd��"
 
-#: builtin.c:448
+#: builtin.c:464
 msgid "`length(array)' is a gawk extension"
 msgstr "`length(array)' bir gawk uzant��s��d��r"
 
-#: builtin.c:458
+#: builtin.c:473
+msgid "length: untyped argument will be forced to scalar"
+msgstr ""
+
+#: builtin.c:477
 msgid "length: received non-string argument"
 msgstr "length: dizge olmayan arg��man al��nd��"
 
-#: builtin.c:483
+#: builtin.c:508
 msgid "log: received non-numeric argument"
 msgstr "log: say��sal olmayan arg��man al��nd��"
 
-#: builtin.c:486
+#: builtin.c:511
 #, c-format
 msgid "log: received negative argument %g"
 msgstr "log: negatif arg��man %g al��nd��"
 
-#: builtin.c:693 builtin.c:696
+#: builtin.c:719 builtin.c:722
 msgid "must use `count$' on all formats or none"
 msgstr "t��m bi��emlerde ya `count$' kullanmal��s��n��z ya da hi��bir ��ey"
 
-#: builtin.c:799
+#: builtin.c:783
+#, c-format
+msgid "field width is ignored for `%%%%' specifier"
+msgstr ""
+
+#: builtin.c:785
+#, c-format
+msgid "precision is ignored for `%%%%' specifier"
+msgstr ""
+
+#: builtin.c:787
+#, c-format
+msgid "field width and precision are ignored for `%%%%' specifier"
+msgstr ""
+
+#: builtin.c:838
 msgid "`$' is not permitted in awk formats"
 msgstr "`$' awk bi��emlerde kullan��lmaz"
 
-#: builtin.c:805
+#: builtin.c:844
 msgid "arg count with `$' must be > 0"
 msgstr "`$' ile birlikte verilen arg��man say��s�� > 0 olmal��d��r"
 
-#: builtin.c:807
+#: builtin.c:846
 #, c-format
 msgid "arg count %ld greater than total number of supplied arguments"
 msgstr "arg��man say��s�� %ld sa��lanm���� toplam arg��man say��s��ndan b��y��k"
 
-#: builtin.c:809
+#: builtin.c:848
 msgid "`$' not permitted after period in format"
 msgstr "`$' bi��em i��inde noktadan sonra kullan��lmaz"
 
-#: builtin.c:822
+#: builtin.c:861
 msgid "no `$' supplied for positional field width or precision"
 msgstr "konumsal alan geni��li��i ya da duyarl������ i��in `$' kullan��lmam����"
 
-#: builtin.c:888
+#: builtin.c:927
 msgid "`l' is meaningless in awk formats; ignored"
 msgstr "`l' awk bi��emlerde anlams��z; yoksay��ld��"
 
-#: builtin.c:892
+#: builtin.c:931
 msgid "`l' is not permitted in POSIX awk formats"
 msgstr "`l' POSIX awk bi��emlerde kullan��lmaz"
 
-#: builtin.c:903
+#: builtin.c:942
 msgid "`L' is meaningless in awk formats; ignored"
 msgstr "`L' awk bi��emlerde anlams��z; yoksay��ld��"
 
-#: builtin.c:907
+#: builtin.c:946
 msgid "`L' is not permitted in POSIX awk formats"
 msgstr "`L' POSIX awk bi��emlerde kullan��lmaz"
 
-#: builtin.c:918
+#: builtin.c:957
 msgid "`h' is meaningless in awk formats; ignored"
 msgstr "`h' awk bi��emlerde anlams��z; yoksay��ld��"
 
-#: builtin.c:922
+#: builtin.c:961
 msgid "`h' is not permitted in POSIX awk formats"
 msgstr "`h' POSIX awk bi��emlerde kullan��lmaz"
 
-#: builtin.c:1182
+#: builtin.c:1236
 #, c-format
 msgid "[s]printf: value %g is out of range for `%%%c' format"
 msgstr "[s]printf: %g de��eri `%%%c' bi��imi i��in kapsamd������"
 
-#: builtin.c:1266
+#: builtin.c:1316
+#, c-format
+msgid "ignoring unknown format specifier character `%c': no argument converted"
+msgstr ""
+
+#: builtin.c:1322
 msgid "not enough arguments to satisfy format string"
 msgstr "bi��em dizgesini olu��turacak yeterli arg��man yok"
 
-#: builtin.c:1268
+#: builtin.c:1324
 msgid "^ ran out for this one"
 msgstr "bir bunun i��in ^ t��kendi"
 
-#: builtin.c:1274
+#: builtin.c:1330
 msgid "[s]printf: format specifier does not have control letter"
 msgstr "[s]printf: bi��em belirteci denetim karakteri i��ermiyor"
 
-#: builtin.c:1277
+#: builtin.c:1333
 msgid "too many arguments supplied for format string"
 msgstr "bi��em dizgesi i��in ��ok fazla arg��man sa��lanm����"
 
-#: builtin.c:1352 builtin.c:1355
+#: builtin.c:1408 builtin.c:1411
 msgid "printf: no arguments"
 msgstr "printf: arg��man yok"
 
-#: builtin.c:1379
+#: builtin.c:1435
 msgid "sqrt: received non-numeric argument"
 msgstr "sqrt: say��sal olmayan arg��man al��nd��"
 
-#: builtin.c:1383
+#: builtin.c:1439
 #, c-format
 msgid "sqrt: called with negative argument %g"
 msgstr "sqrt: negatif arg��man %g ile ��a��r��ld��"
 
-#: builtin.c:1407
+#: builtin.c:1463
 #, c-format
 msgid "substr: start index %g is invalid, using 1"
 msgstr "substr: ba��lang���� indeksi olarak %g ge��ersiz, 1 kullan��l��yor"
 
-#: builtin.c:1412
+#: builtin.c:1468
 #, c-format
 msgid "substr: non-integer start index %g will be truncated"
 msgstr ""
 "substr: tamsay�� olmayan ba��lang���� indeksi %g den ondal��k k��s��m ����kar��lacak"
 
-#: builtin.c:1431
+#: builtin.c:1494
 #, c-format
 msgid "substr: length %g is not >= 1"
 msgstr "substr: uzunluk %g >= 1 de��il"
 
-#: builtin.c:1433
+#: builtin.c:1496
 #, c-format
 msgid "substr: length %g is not >= 0"
 msgstr "substr: uzunluk %g => 0 de��il"
 
-#: builtin.c:1440
+#: builtin.c:1503
 #, c-format
 msgid "substr: non-integer length %g will be truncated"
 msgstr "substr: tamsay�� olmayan uzunluk %g den ondal��k k��s��m ����kar��lacak"
 
-#: builtin.c:1445
+#: builtin.c:1508
 #, c-format
 msgid "substr: length %g too big for string indexing, truncating to %g"
 msgstr ""
 "substr: dizge indislemesi i��in uzunluk olarak %g ��ok fazla, %g den sonras�� "
 "g��zard�� ediliyor"
 
-#: builtin.c:1457
+#: builtin.c:1520
 msgid "substr: source string is zero length"
 msgstr "substr: kaynak dizge s��f��r uzunlukta"
 
-#: builtin.c:1473
+#: builtin.c:1536
 #, c-format
 msgid "substr: start index %g is past end of string"
 msgstr "substr: ba��lang���� indisi %g dizgenin sonundan sonra"
 
-#: builtin.c:1481
+#: builtin.c:1544
 #, c-format
 msgid ""
 "substr: length %g at start index %g exceeds length of first argument (%lu)"
@@ -597,303 +631,298 @@
 "substr: uzunluk %g, %g ba��lang���� indisinde ilk arg��man��n uzunlu��unu (%lu) "
 "a��ar"
 
-#: builtin.c:1558
+#: builtin.c:1621
 msgid "strftime: received non-string first argument"
 msgstr "strftime: ilk arg��man dizge olmayan t��rde al��nd��"
 
-#: builtin.c:1564
+#: builtin.c:1627
 msgid "strftime: received empty format string"
 msgstr "strftime: bo�� bi��em dizgesi al��nd��"
 
-#: builtin.c:1573
+#: builtin.c:1636
 msgid "strftime: received non-numeric second argument"
 msgstr "strftime: ikinci arg��man say��sal olmayan t��rde al��nd��"
 
-#: builtin.c:1650
+#: builtin.c:1713
 msgid "mktime: received non-string argument"
 msgstr "mktime: dizge olmayan arg��man al��nd��"
 
-#: builtin.c:1695
+#: builtin.c:1758
 msgid "system: received non-string argument"
 msgstr "system: dizge olmayan arg��man al��nd��"
 
-#: builtin.c:1816 eval.c:2041
+#: builtin.c:1879 eval.c:2145
 #, c-format
 msgid "reference to uninitialized field `$%d'"
 msgstr "ilklendirilmemi�� `$%d' alan��na ba��vuru"
 
-#: builtin.c:1921
+#: builtin.c:1984
 msgid "tolower: received non-string argument"
 msgstr "tolower: dizge olmayan arg��man al��nd��"
 
-#: builtin.c:1951
+#: builtin.c:2014
 msgid "toupper: received non-string argument"
 msgstr "toupper: dizge olmayan arg��man al��nd��"
 
-#: builtin.c:1984
+#: builtin.c:2047
 msgid "atan2: received non-numeric first argument"
 msgstr "atan2: ilk arg��man say��sal olmayan t��rde al��nd��"
 
-#: builtin.c:1986
+#: builtin.c:2049
 msgid "atan2: received non-numeric second argument"
 msgstr "atan2: ikinci arg��man say��sal olmayan t��rde al��nd��"
 
-#: builtin.c:2005
+#: builtin.c:2068
 msgid "sin: received non-numeric argument"
 msgstr "sin: say��sal olmayan arg��man al��nd��"
 
-#: builtin.c:2021
+#: builtin.c:2084
 msgid "cos: received non-numeric argument"
 msgstr "cos: say��sal olmayan arg��man al��nd��"
 
-#: builtin.c:2071
+#: builtin.c:2137
 msgid "srand: received non-numeric argument"
 msgstr "srand: say��sal olmayan arg��man al��nd��"
 
-#: builtin.c:2106
+#: builtin.c:2172
 msgid "match: third argument is not an array"
 msgstr "match: ������nc�� arg��man bir dizi de��il"
 
-#: builtin.c:2650
+#: builtin.c:2719
 msgid "gensub: third argument of 0 treated as 1"
 msgstr "gensub: 0 olan 3. arg��man 1 kabul edildi"
 
-#: builtin.c:2766
+#: builtin.c:2835
 msgid "lshift: received non-numeric first argument"
 msgstr "lshift: ilk arg��man say��sal olmayan t��rde al��nd��"
 
-#: builtin.c:2768
+#: builtin.c:2837
 msgid "lshift: received non-numeric second argument"
 msgstr "lshift: ikinci arg��man say��sal de��il"
 
-#: builtin.c:2774
+#: builtin.c:2843
 #, c-format
 msgid "lshift(%lf, %lf): negative values will give strange results"
 msgstr "lshift(%lf, %lf): negatif de��erler tuhaf sonu��lar verecek"
 
-#: builtin.c:2776
+#: builtin.c:2845
 #, c-format
 msgid "lshift(%lf, %lf): fractional values will be truncated"
 msgstr "lshift(%lf, %lf): tamsay�� k��s��m kalacak ��ekilde kalan�� at��lacak"
 
-#: builtin.c:2778
+#: builtin.c:2847
 #, c-format
 msgid "lshift(%lf, %lf): too large shift value will give strange results"
 msgstr "lshift(%lf, %lf): ��ok b��y��k kayd��rma de��eri tuhaf sonu��lar verecek"
 
-#: builtin.c:2804
+#: builtin.c:2873
 msgid "rshift: received non-numeric first argument"
 msgstr "rshift: ilk arg��man say��sal olmayan t��rde al��nd��"
 
-#: builtin.c:2806
+#: builtin.c:2875
 msgid "rshift: received non-numeric second argument"
 msgstr "rshift: ikinci arg��man say��sal de��il"
 
-#: builtin.c:2812
+#: builtin.c:2881
 #, c-format
 msgid "rshift(%lf, %lf): negative values will give strange results"
 msgstr "rshift(%lf, %lf): negatif de��erler tuhaf sonu��lar verecek"
 
-#: builtin.c:2814
+#: builtin.c:2883
 #, c-format
 msgid "rshift(%lf, %lf): fractional values will be truncated"
 msgstr "rshift(%lf, %lf): tamsay�� k��s��m kalacak ��ekilde kalan�� at��lacak"
 
-#: builtin.c:2816
+#: builtin.c:2885
 #, c-format
 msgid "rshift(%lf, %lf): too large shift value will give strange results"
 msgstr "rshift(%lf, %lf): ��ok b��y��k kayd��rma de��eri tuhaf sonu��lar verecek"
 
-#: builtin.c:2842
+#: builtin.c:2911
 msgid "and: received non-numeric first argument"
 msgstr "and: ilk arg��man say��sal olmayan t��rde al��nd��"
 
-#: builtin.c:2844
+#: builtin.c:2913
 msgid "and: received non-numeric second argument"
 msgstr "and: ikinci arg��man say��sal de��il"
 
-#: builtin.c:2850
+#: builtin.c:2919
 #, c-format
 msgid "and(%lf, %lf): negative values will give strange results"
 msgstr "and(%lf, %lf): negatif de��erler tuhaf sonu��lar verecek"
 
-#: builtin.c:2852
+#: builtin.c:2921
 #, c-format
 msgid "and(%lf, %lf): fractional values will be truncated"
 msgstr "and(%lf, %lf): tamsay�� k��s��m kalacak ��ekilde kalan�� at��lacak"
 
-#: builtin.c:2878
+#: builtin.c:2947
 msgid "or: received non-numeric first argument"
 msgstr "or: ilk arg��man say��sal olmayan t��rde al��nd��"
 
-#: builtin.c:2880
+#: builtin.c:2949
 msgid "or: received non-numeric second argument"
 msgstr "or: ikinci arg��man say��sal de��il"
 
-#: builtin.c:2886
+#: builtin.c:2955
 #, c-format
 msgid "or(%lf, %lf): negative values will give strange results"
 msgstr "or(%lf, %lf): negatif de��erler tuhaf sonu��lar verecek"
 
-#: builtin.c:2888
+#: builtin.c:2957
 #, c-format
 msgid "or(%lf, %lf): fractional values will be truncated"
 msgstr "or(%lf, %lf): tamsay�� k��s��m kalacak ��ekilde kalan�� at��lacak"
 
-#: builtin.c:2914
+#: builtin.c:2983
 msgid "xor: received non-numeric first argument"
 msgstr "xor: ilk arg��man say��sal olmayan t��rde al��nd��"
 
-#: builtin.c:2916
+#: builtin.c:2985
 msgid "xor: received non-numeric second argument"
 msgstr "xor: ikinci arg��man say��sal de��il"
 
-#: builtin.c:2922
+#: builtin.c:2991
 #, c-format
 msgid "xor(%lf, %lf): negative values will give strange results"
 msgstr "xor(%lf, %lf): negatif de��erler tuhaf sonu��lar verecek"
 
-#: builtin.c:2924
+#: builtin.c:2993
 #, c-format
 msgid "xor(%lf, %lf): fractional values will be truncated"
 msgstr "xor(%lf, %lf): tamsay�� k��s��m kalacak ��ekilde kalan�� at��lacak"
 
-#: builtin.c:2948
+#: builtin.c:3017
 msgid "compl: received non-numeric argument"
 msgstr "compl: say��sal olmayan arg��man al��nd��"
 
-#: builtin.c:2954
+#: builtin.c:3023
 #, c-format
 msgid "compl(%lf): negative value will give strange results"
 msgstr "compl(%lf): negatif de��erler tuhaf sonu��lar verecek"
 
-#: builtin.c:2956
+#: builtin.c:3025
 #, c-format
 msgid "compl(%lf): fractional value will be truncated"
 msgstr "compl(%lf): tamsay�� k��s��m kalacak ��ekilde kalan�� at��lacak"
 
-#: builtin.c:3129
+#: builtin.c:3198
 #, c-format
 msgid "dcgettext: `%s' is not a valid locale category"
 msgstr "dcgettext: `%s' ge��erli bir yerel kategori de��il"
 
-#: eval.c:303
+#: eval.c:372
 #, c-format
 msgid "unknown nodetype %d"
 msgstr "%d. d������mt��r�� bilinmiyor"
 
-#: eval.c:353
+#: eval.c:422
 msgid "buffer overflow in genflags2str"
 msgstr "genflags2str i��inde tampon ta��t��"
 
-#: eval.c:385 eval.c:391 profile.c:817
+#: eval.c:454 eval.c:460 profile.c:781
 #, c-format
 msgid "attempt to use array `%s' in a scalar context"
 msgstr "`%s' dizisi bir say��sal ba��lamda kullan��lmaya ��al������l��yor"
 
-#: eval.c:733
+#: eval.c:802
 #, c-format
 msgid "for loop: array `%s' changed size from %ld to %ld during loop execution"
 msgstr ""
 "for loop: `%s' dizisinin boyu d��ng��n��n yorumlanmas�� s��ras��nda %ld iken %ld "
 "oldu"
 
-#: eval.c:754
+#: eval.c:823
 msgid "`break' outside a loop is not portable"
 msgstr "d��ng�� d������nda `break' kullan��m�� ta����nabilir de��il"
 
-#: eval.c:758
+#: eval.c:827
 msgid "`break' outside a loop is not allowed"
 msgstr "d��ng�� d������nda `break' kullan��m�� yasak"
 
-#: eval.c:775
+#: eval.c:844
 msgid "`continue' outside a loop is not portable"
 msgstr "d��ng�� d������nda `continue' kullan��m�� ta����nabilir de��il"
 
-#: eval.c:779
+#: eval.c:848
 msgid "`continue' outside a loop is not allowed"
 msgstr "d��ng�� d������nda `continue' kullan��m�� yasak"
 
-#: eval.c:813
+#: eval.c:882
 msgid "`next' cannot be called from a BEGIN rule"
 msgstr "`next' bir BEGIN kural��ndan ��a��r��lamaz"
 
-#: eval.c:815
+#: eval.c:884
 msgid "`next' cannot be called from an END rule"
 msgstr "`next' bir END kural��ndan ��a��r��lamaz"
 
-#: eval.c:824
+#: eval.c:893
 msgid "`nextfile' cannot be called from a BEGIN rule"
 msgstr "`nextfile' bir BEGIN kural��ndan ��a��r��lamaz"
 
-#: eval.c:826
+#: eval.c:895
 msgid "`nextfile' cannot be called from an END rule"
 msgstr "`nextfile' bir END kural��ndan ��a��r��lamaz"
 
-#: eval.c:875
+#: eval.c:952
 msgid "statement has no effect"
 msgstr "deyim etkisiz"
 
-#: eval.c:952 eval.c:1895
+#: eval.c:1029 eval.c:1999
 #, c-format
 msgid "can't use function name `%s' as variable or array"
 msgstr "`%s' i��lev ismi bir de��i��ken ya da dizi olarak kullan��lamaz"
 
-#: eval.c:959 eval.c:965
+#: eval.c:1036 eval.c:1042
 #, c-format
 msgid "reference to uninitialized argument `%s'"
 msgstr "ba��lang���� de��eri olmayan `%s' arg��man��na ba��vuru"
 
-#: eval.c:974 eval.c:1904
+#: eval.c:1051 eval.c:2008
 #, c-format
 msgid "reference to uninitialized variable `%s'"
 msgstr "��nde��er atamas�� yap��lmam���� `%s' de��i��kenine ba��vuru"
 
-#: eval.c:1120
+#: eval.c:1197
 msgid ""
 "concatenation: side effects in one expression have changed the length of "
 "another!"
 msgstr ""
 "biti��tirme: bir ifadenin yan etkileri di��erinin uzunlu��unu de��i��tirmi��!"
 
-#: eval.c:1202
+#: eval.c:1301
 msgid "assignment used in conditional context"
 msgstr "ko��ul ba��lam��nda atama yap��lm����"
 
-#: eval.c:1280
+#: eval.c:1379
 msgid "division by zero attempted"
 msgstr "s��f��rla b��lme hatas��"
 
-#: eval.c:1295
-#, c-format
-msgid "division by zero attempted in `%%'"
-msgstr "`%%'de s��f��rla b��lme hatas��"
-
-#: eval.c:1310 profile.c:693
+#: eval.c:1409 profile.c:657
 #, c-format
 msgid "illegal type (%s) in tree_eval"
 msgstr "tree_eval i��inde kurald������ t��r (%s)"
 
-#: eval.c:1473
+#: eval.c:1572
 msgid "division by zero attempted in `/='"
 msgstr "`/='de s��f��rla b��lme hatas��"
 
-#: eval.c:1495
+#: eval.c:1594
 #, c-format
 msgid "division by zero attempted in `%%='"
 msgstr "`%%='de s��f��rla b��lme hatas��"
 
-#: eval.c:1760
+#: eval.c:1859
 #, c-format
 msgid "function `%s' called with more arguments than declared"
 msgstr "`%s' i��levi bildirilenden daha fazla arg��manla ��a��r��ld��"
 
-#: eval.c:1804
+#: eval.c:1904
 #, c-format
 msgid "function `%s' not defined"
 msgstr "`%s' i��levi tan��ms��z"
 
-#: eval.c:1867
+#: eval.c:1971
 #, c-format
 msgid ""
 "\n"
@@ -904,42 +933,47 @@
 "\t# ����lev ��a��r�� Y������n��:\n"
 "\n"
 
-#: eval.c:1870
+#: eval.c:1974
 #, c-format
 msgid "\t# -- main --\n"
 msgstr "\t# -- main --\n"
 
-#: eval.c:2025
+#: eval.c:2129
 msgid "attempt to field reference from non-numeric value"
 msgstr "say��sal olmayan de��erden alan ba��vurusu"
 
-#: eval.c:2027
+#: eval.c:2131
 msgid "attempt to reference from null string"
 msgstr "null dizgeden alan ba��vurusu"
 
-#: eval.c:2033
+#: eval.c:2137
 #, c-format
 msgid "attempt to access field %d"
 msgstr "%d. alana eri��ilmeye ��al������l��yor"
 
-#: eval.c:2054 eval.c:2061 profile.c:914
+#: eval.c:2158 eval.c:2165 profile.c:836
 msgid "assignment is not allowed to result of builtin function"
 msgstr "de��i��ken ismine yerle��ik i��levin sonucu atanamaz"
 
-#: eval.c:2125
+#: eval.c:2229
 msgid "`IGNORECASE' is a gawk extension"
 msgstr "`IGNORECASE' bir gawk uzant��s��d��r"
 
-#: eval.c:2155
+#: eval.c:2258
 msgid "`BINMODE' is a gawk extension"
 msgstr "`BINMODE' bir gawk uzant��s��d��r"
 
-#: eval.c:2277
+#: eval.c:2316
+#, c-format
+msgid "BINMODE value `%s' is invalid, treated as 3"
+msgstr ""
+
+#: eval.c:2406
 #, c-format
 msgid "bad `%sFMT' specification `%s'"
 msgstr "`%sFMT' ��zelli��i `%s' hatal��"
 
-#: eval.c:2355
+#: eval.c:2484
 msgid "turning off `--lint' due to assignment to `LINT'"
 msgstr "`LINT' atamas��ndan dolay�� `--lint' kapat��l��yor"
 
@@ -1018,555 +1052,563 @@
 msgid "NF set to negative value"
 msgstr "NF negatif de��ere ayarl��"
 
-#: field.c:823
+#: field.c:875
 msgid "split: second argument is not an array"
 msgstr "split: ikinci arg��man bir dizi de��il"
 
-#: field.c:857
+#: field.c:909
 msgid "split: null string for third arg is a gawk extension"
 msgstr "split: ������nc�� arg��man olan null dizge bir gawk uzant��s��"
 
-#: field.c:909
+#: field.c:961
 msgid "`FIELDWIDTHS' is a gawk extension"
 msgstr "`FIELDWIDTHS' bir gawk uzant��s��d��r"
 
-#: field.c:939 field.c:953
+#: field.c:991 field.c:1005
 #, c-format
 msgid "invalid FIELDWIDTHS value, near `%s'"
 msgstr "`%s' yan��nda FIELDWIDTHS de��eri ge��ersiz"
 
-#: field.c:1036
+#: field.c:1088
 msgid "null string for `FS' is a gawk extension"
 msgstr "`FS' i��in null dizge bir gawk uzant��s��d��r"
 
-#: field.c:1040
+#: field.c:1092
 msgid "old awk does not support regexps as value of `FS'"
 msgstr "eski awk d��zenli ifadeleri `FS' de��eriyle desteklemiyor"
 
-#: getopt.c:571 getopt.c:587
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
+#: getopt.c:570 getopt.c:586
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
 msgstr "%s: `%s' se��ene��i belirsiz\n"
 
-#: getopt.c:620 getopt.c:624
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
+#: getopt.c:619 getopt.c:623
+#, fuzzy, c-format
+msgid "%s: option '--%s' doesn't allow an argument\n"
 msgstr "%s: `--%s' se��ene��i arg��mans��z kullan��l��r\n"
 
-#: getopt.c:633 getopt.c:638
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
+#: getopt.c:632 getopt.c:637
+#, fuzzy, c-format
+msgid "%s: option '%c%s' doesn't allow an argument\n"
 msgstr "%s: se��enek `%c%s' arg��mans��z kullan��l��r\n"
 
-#: getopt.c:681 getopt.c:700 getopt.c:1016 getopt.c:1035
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
+#: getopt.c:680 getopt.c:699 getopt.c:1002 getopt.c:1021
+#, fuzzy, c-format
+msgid "%s: option '%s' requires an argument\n"
 msgstr "%s: `%s' se��ene��i bir arg��manla kullan��l��r\n"
 
-#: getopt.c:738 getopt.c:741
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
+#: getopt.c:737 getopt.c:740
+#, fuzzy, c-format
+msgid "%s: unrecognized option '--%s'\n"
 msgstr "%s: `--%s' se��ene��i bilinmiyor\n"
 
-#: getopt.c:749 getopt.c:752
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
+#: getopt.c:748 getopt.c:751
+#, fuzzy, c-format
+msgid "%s: unrecognized option '%c%s'\n"
 msgstr "%s: `%c%s' se��ene��i bilinmiyor\n"
 
-#: getopt.c:804 getopt.c:807
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: kurald������ se��enek -- %c\n"
-
-#: getopt.c:813 getopt.c:816
-#, c-format
-msgid "%s: invalid option -- %c\n"
+#: getopt.c:800 getopt.c:803
+#, fuzzy, c-format
+msgid "%s: invalid option -- '%c'\n"
 msgstr "%s: ge��ersiz se��enek -- %c\n"
 
-#: getopt.c:868 getopt.c:884 getopt.c:1088 getopt.c:1106 main.c:461
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
+#: getopt.c:853 getopt.c:870 getopt.c:1073 getopt.c:1091
+#, fuzzy, c-format
+msgid "%s: option requires an argument -- '%c'\n"
 msgstr "%s: se��enek bir arg��manla kullan��l��r -- %c\n"
 
-#: getopt.c:937 getopt.c:953
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
+#: getopt.c:923 getopt.c:939
+#, fuzzy, c-format
+msgid "%s: option '-W %s' is ambiguous\n"
 msgstr "%s: `-W %s' se��ene��i belirsiz\n"
 
-#: getopt.c:977 getopt.c:995
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
+#: getopt.c:963 getopt.c:981
+#, fuzzy, c-format
+msgid "%s: option '-W %s' doesn't allow an argument\n"
 msgstr "%s: `-W %s' se��ene��i arg��mans��z kullan��l��r\n"
 
-#: io.c:345
+#: io.c:322 io.c:352
 #, c-format
 msgid "cannot open file `%s' for reading (%s)"
 msgstr "`%s' okumak i��in a����lam��yor (%s)"
 
-#: io.c:436
+#: io.c:443
 #, c-format
 msgid "close of fd %d (`%s') failed (%s)"
 msgstr "dosya tan��mlay��c�� %d (`%s') ba��ar��s��z (%s)"
 
-#: io.c:575
+#: io.c:583
 #, c-format
 msgid "invalid tree type %s in redirect()"
 msgstr "redirect() i��indeki a��a�� t��r�� %s ge��ersiz"
 
-#: io.c:581
+#: io.c:589
 #, c-format
 msgid "expression in `%s' redirection only has numeric value"
 msgstr "`%s' y��nlendirmesi i��indeki ifade sadece say��sal de��er i��eriyor"
 
-#: io.c:587
+#: io.c:595
 #, c-format
 msgid "expression for `%s' redirection has null string value"
 msgstr "`%s' y��nlendirmesi i��indeki ifade null dizge de��eri i��eriyor"
 
-#: io.c:592
+#: io.c:600
 #, c-format
 msgid "filename `%s' for `%s' redirection may be result of logical expression"
 msgstr ""
 "`%s' dosya ismi (`%s' y��nlendirmesi i��in) mant��ksal ifadenin sonucu olabilir"
 
-#: io.c:630
+#: io.c:638
 #, c-format
 msgid "unnecessary mixing of `>' and `>>' for file `%.*s'"
 msgstr "`%.*s' dosyas�� i��in `>' ve `>>' kar������m�� gereksiz"
 
-#: io.c:682
+#: io.c:685
 #, c-format
 msgid "can't open pipe `%s' for output (%s)"
 msgstr "`%s' veriyolu ����kt�� i��in a����lamad�� (%s)"
 
-#: io.c:691
+#: io.c:694
 #, c-format
 msgid "can't open pipe `%s' for input (%s)"
 msgstr "`%s' veriyolu girdi i��in a����lamad�� (%s)"
 
-#: io.c:698 io.c:1448
-#, c-format
-msgid "file `%s' is a directory"
-msgstr "`%s' dosya de��il dizin"
-
-#: io.c:706
+#: io.c:712
 #, c-format
 msgid "can't open two way socket `%s' for input/output (%s)"
 msgstr "iki y��nl�� `%s' soketi G/�� i��in a����lam��yor (%s)"
 
-#: io.c:710
+#: io.c:716
 #, c-format
 msgid "can't open two way pipe `%s' for input/output (%s)"
 msgstr "iki y��nl�� `%s' veriyolu G/�� i��in a����lam��yor (%s)"
 
-#: io.c:786
+#: io.c:793
 #, c-format
 msgid "can't redirect from `%s' (%s)"
 msgstr "`%s'den y��nlendirilemiyor (%s)"
 
-#: io.c:789
+#: io.c:796
 #, c-format
 msgid "can't redirect to `%s' (%s)"
 msgstr "`%s'e y��nlendirilemiyor (%s)"
 
-#: io.c:828
+#: io.c:849
 msgid ""
 "reached system limit for open files: starting to multiplex file descriptors"
 msgstr ""
 "a����k dosyalar i��in sistem s��n��r�� a����ld��: ��o��ul dosya tan��mlay��c��lara "
 "ba��larken"
 
-#: io.c:844
+#: io.c:865
 #, c-format
 msgid "close of `%s' failed (%s)."
 msgstr "`%s' kapat��lamad�� (%s)."
 
-#: io.c:852
+#: io.c:873
 msgid "too many pipes or input files open"
 msgstr "��ok fazla veriyolu ya da dosya a����k"
 
-#: io.c:875
+#: io.c:896
 msgid "close: second argument must be `to' or `from'"
 msgstr "close: ikinci arg��man `to' ya da `from' olmal��"
 
-#: io.c:889
+#: io.c:910
 #, c-format
 msgid "close: `%.*s' is not an open file, pipe or co-process"
 msgstr "close: `%.*s' bir a����k dosya, veriyolu ya da alt-i��lem de��il"
 
-#: io.c:893
+#: io.c:915
 msgid "close of redirection that was never opened"
 msgstr "hi�� a����lmam���� bir y��nlendirmenin kapat��lmas��"
 
-#: io.c:989
+#: io.c:1012
 #, c-format
 msgid "close: redirection `%s' not opened with `|&', second argument ignored"
 msgstr ""
 "close: `%s' y��nlendirmesi bir `|&' ile a����lmam����, ikinci arg��man yoksay��ld��"
 
-#: io.c:1005
+#: io.c:1028
 #, c-format
 msgid "failure status (%d) on pipe close of `%s' (%s)"
 msgstr "ba��ar��s��zl��k durumu (%d): `%s' veriyolunun kapat��lmas�� (%s)"
 
-#: io.c:1008
+#: io.c:1031
 #, c-format
 msgid "failure status (%d) on file close of `%s' (%s)"
 msgstr "ba��ar��s��zl��k durumu (%d): `%s' dosyas��n��n kapat��lmas�� (%s)"
 
-#: io.c:1028
+#: io.c:1051
 #, c-format
 msgid "no explicit close of socket `%s' provided"
 msgstr "`%s' soketinin a����k��a kapat��lmas�� istenmedi"
 
-#: io.c:1031
+#: io.c:1054
 #, c-format
 msgid "no explicit close of co-process `%s' provided"
 msgstr "`%s' alt-i��leminin a����k��a kapat��lmas�� istenmedi"
 
-#: io.c:1034
+#: io.c:1057
 #, c-format
 msgid "no explicit close of pipe `%s' provided"
 msgstr "`%s' veriyolunun a����k��a kapat��lmas�� istenmedi"
 
-#: io.c:1037
+#: io.c:1060
 #, c-format
 msgid "no explicit close of file `%s' provided"
 msgstr "`%s' dosyas��n��n a����k��a kapat��lmas�� istenmedi"
 
-#: io.c:1066 io.c:1121 main.c:749 main.c:791
+#: io.c:1088 io.c:1143 main.c:776 main.c:818
 #, c-format
 msgid "error writing standard output (%s)"
 msgstr "standart ����kt��ya yazarken hata (%s)"
 
-#: io.c:1070 io.c:1126
+#: io.c:1092 io.c:1148
 #, c-format
 msgid "error writing standard error (%s)"
 msgstr "standart hataya yazarken hata (%s)"
 
-#: io.c:1078
+#: io.c:1100
 #, c-format
 msgid "pipe flush of `%s' failed (%s)."
 msgstr "`%s'in veriyolu ile veri aktar��m�� ba��ar��s��z (%s)."
 
-#: io.c:1081
+#: io.c:1103
 #, c-format
 msgid "co-process flush of pipe to `%s' failed (%s)."
 msgstr "`%s'e veriyolunun alt-i��lemi ile veri aktar��m�� ba��ar��s��z (%s)."
 
-#: io.c:1084
+#: io.c:1106
 #, c-format
 msgid "file flush of `%s' failed (%s)."
 msgstr "`%s'in dosya ile veri aktar��m�� ba��ar��s��z (%s)."
 
-#: io.c:1198
+#: io.c:1220
 #, c-format
 msgid "local port %s invalid in `/inet'"
 msgstr "yerel port `%s' `/inet' i��in ge��ersiz"
 
-#: io.c:1215
+#: io.c:1237
 #, c-format
 msgid "remote host and port information (%s, %s) invalid"
 msgstr "uzak konak ve port bilgisi (%s, %s) ge��ersiz"
 
-#: io.c:1250
+#: io.c:1272
 msgid "/inet/raw client not ready yet, sorry"
 msgstr "/inet/raw istemci hen��z haz��r de��il"
 
-#: io.c:1253 io.c:1289
+#: io.c:1275 io.c:1311
 msgid "only root may use `/inet/raw'."
 msgstr "`/inet/raw' sadece root taraf��ndan kullan��labilir"
 
-#: io.c:1287
+#: io.c:1309
 msgid "/inet/raw server not ready yet, sorry"
 msgstr "/inet/raw sunucu hen��z haz��r de��il"
 
-#: io.c:1385
+#: io.c:1407
 #, c-format
 msgid "no (known) protocol supplied in special filename `%s'"
 msgstr "��zel dosya ismi `%s' i��inde (bilinen) bir protokol sa��lanmam����"
 
-#: io.c:1399
+#: io.c:1421
 #, c-format
 msgid "special file name `%s' is incomplete"
 msgstr "��zel dosya ismi `%s' tamamlanmam����"
 
-#: io.c:1414
+#: io.c:1436
 msgid "must supply a remote hostname to `/inet'"
 msgstr "`/inet' e bir kar���� makina ismi sa��lanmal��"
 
-#: io.c:1432
+#: io.c:1454
 msgid "must supply a remote port to `/inet'"
 msgstr "`/inet' e bir kar���� port sa��lanmal��"
 
-#: io.c:1439
+#: io.c:1485
 msgid "TCP/IP communications are not supported"
 msgstr "TCP/IP haberle��mesi desteklenmiyor"
 
-#: io.c:1509
+#: io.c:1494
+#, c-format
+msgid "file `%s' is a directory"
+msgstr "`%s' dosya de��il dizin"
+
+#: io.c:1555
 #, c-format
 msgid "use `PROCINFO[\"%s\"]' instead of `%s'"
 msgstr "`PROCINFO[\"%s\"]' kullan��n (`%s' yerine)"
 
-#: io.c:1547
+#: io.c:1593
 msgid "use `PROCINFO[...]' instead of `/dev/user'"
 msgstr "`/dev/user' yerine `PROCINFO[...]' kullan��n"
 
-#: io.c:1612 io.c:1798
+#: io.c:1658 io.c:1853
 #, c-format
 msgid "could not open `%s', mode `%s'"
 msgstr "`%s', `%s' kipinde a����lamad��"
 
-#: io.c:1849
+#: io.c:1904
 #, c-format
 msgid "close of master pty failed (%s)"
 msgstr "ana pty kapat��lamad�� (%s)"
 
-#: io.c:1851 io.c:2003 io.c:2154
+#: io.c:1906 io.c:2058 io.c:2209
 #, c-format
 msgid "close of stdout in child failed (%s)"
 msgstr "ast s��re��te std�� kapat��lamad�� (%s)"
 
-#: io.c:1854
+#: io.c:1909
 #, c-format
 msgid "moving slave pty to stdout in child failed (dup: %s)"
 msgstr "ast s��re��te yard��mc�� pty standart ����kt��ya ta����namad�� (dup: %s)"
 
-#: io.c:1856 io.c:2008
+#: io.c:1911 io.c:2063
 #, c-format
 msgid "close of stdin in child failed (%s)"
 msgstr "ast s��re��te stdG kapat��lamad�� (%s)"
 
-#: io.c:1859
+#: io.c:1914
 #, c-format
 msgid "moving slave pty to stdin in child failed (dup: %s)"
 msgstr "ast s��re��te yard��mc�� pty standart girdiye ta����namad�� (dup: %s)"
 
-#: io.c:1861 io.c:1880
+#: io.c:1916 io.c:1935
 #, c-format
 msgid "close of slave pty failed (%s)"
 msgstr "yard��mc�� pty kapat��lamad�� (%s)"
 
-#: io.c:1954 io.c:2006 io.c:2135 io.c:2157
+#: io.c:2009 io.c:2061 io.c:2190 io.c:2212
 #, c-format
 msgid "moving pipe to stdout in child failed (dup: %s)"
 msgstr "ast s��re��te veriyolu standart ����kt��ya ta����namad�� (dup: %s)"
 
-#: io.c:1958 io.c:2011
+#: io.c:2013 io.c:2066
 #, c-format
 msgid "moving pipe to stdin in child failed (dup: %s)"
 msgstr "ast s��re��te veriyolu standart girdiye ta����namad�� (dup: %s)"
 
-#: io.c:1975 io.c:2148
+#: io.c:2030 io.c:2203
 msgid "restoring stdout in parent process failed\n"
 msgstr "��st s��re��te std�� eski durumuna getirilemedi\n"
 
-#: io.c:1980
+#: io.c:2035
 msgid "restoring stdin in parent process failed\n"
 msgstr "��st s��re��te stdG eski durumuna getirilemedi\n"
 
-#: io.c:2014 io.c:2159 io.c:2170
+#: io.c:2069 io.c:2214 io.c:2225
 #, c-format
 msgid "close of pipe failed (%s)"
 msgstr "veriyolu kapat��lamad�� (%s)"
 
-#: io.c:2059
+#: io.c:2114
 msgid "`|&' not supported"
 msgstr "`|&' desteklenmiyor"
 
-#: io.c:2125
+#: io.c:2180
 #, c-format
 msgid "cannot open pipe `%s' (%s)"
 msgstr "`%s' veriyolu a����lam��yor (%s)"
 
-#: io.c:2166
+#: io.c:2221
 #, c-format
 msgid "cannot create child process for `%s' (fork: %s)"
 msgstr "`%s' i��in ast s��re�� olu��turulam��yor (fork: %s)"
 
-#: io.c:2548
+#: io.c:2603
 #, c-format
 msgid "data file `%s' is empty"
 msgstr "veri dosyas�� `%s' bo��"
 
-#: io.c:2589 io.c:2597
+#: io.c:2644 io.c:2652
 msgid "could not allocate more input memory"
 msgstr "daha fazla girdi belle��i ayr��lamad��"
 
-#: io.c:2965 io.c:3038
+#: io.c:3020 io.c:3093
 #, c-format
 msgid "error reading input file `%s': %s"
 msgstr "`%s' girdi dosyas�� okunurken hata: %s"
 
-#: io.c:3163
+#: io.c:3218
 msgid "multicharacter value of `RS' is a gawk extension"
 msgstr "`RS' ��oklu karakter de��eri bir gawk uzant��s��d��r"
 
-#: main.c:351
+#: main.c:304
+msgid "out of memory"
+msgstr ""
+
+#: main.c:373
 msgid "`-m[fr]' option irrelevant in gawk"
 msgstr "`-m[fr]' se��ene��i gawk'da b��yle kullan��lmaz"
 
-#: main.c:353
+#: main.c:375
 msgid "-m option usage: `-m[fr] nnn'"
 msgstr "-m se��ene��inin kullan��m��: `-m[fr] nnn'"
 
-#: main.c:370
+#: main.c:392
 #, c-format
 msgid "%s: option `-W %s' unrecognized, ignored\n"
 msgstr "%s: `-W %s' se��ene��i tan��ml�� de��il, yok say��ld��\n"
 
-#: main.c:407
+#: main.c:433
 msgid "empty argument to `--source' ignored"
 msgstr "`--source' se��ene��i i��in bo�� arg��man yoksay��ld��"
 
-#: main.c:480
+#: main.c:487
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: se��enek bir arg��manla kullan��l��r -- %c\n"
+
+#: main.c:506
 msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'"
 msgstr "ortam de��i��keni `POSIXLY_CORRECT' var: `--posix' kullan��l��yor"
 
-#: main.c:486
+#: main.c:512
 msgid "`--posix' overrides `--traditional'"
 msgstr "`--posix' se��ene��i `--traditional' se��ene��ini etkisiz k��lar"
 
-#: main.c:497
+#: main.c:523
 msgid "`--posix'/`--traditional' overrides `--non-decimal-data'"
 msgstr ""
 "`--posix'/`--traditional' se��enekleri `--non-decimal-data' se��ene��ini "
 "etkisiz k��lar"
 
-#: main.c:501
+#: main.c:527
 #, c-format
 msgid "running %s setuid root may be a security problem"
 msgstr "%s root yetkileriyle ��al����t��r��ld������nda g��venlik sorunlar�� olabilir"
 
-#: main.c:542
+#: main.c:568
 #, c-format
 msgid "can't set binary mode on stdin (%s)"
 msgstr "standart girdi ikilik kipe ayarlanamaz (%s)"
 
-#: main.c:545
+#: main.c:571
 #, c-format
 msgid "can't set binary mode on stdout (%s)"
 msgstr "standart ����kt�� ikilik kipe ayarlanamaz (%s)"
 
-#: main.c:547
+#: main.c:573
 #, c-format
 msgid "can't set binary mode on stderr (%s)"
 msgstr "standart hata ikilik kipe ayarlanamaz (%s)"
 
-#: main.c:586
+#: main.c:612
 msgid "no program text at all!"
 msgstr "program metni hi�� yok!"
 
-#: main.c:690
+#: main.c:716
 #, c-format
 msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n"
 msgstr ""
 "Kullan��m��: %s [POSIX veya GNU tarz�� se��enekler] -f progdosyas�� [--] "
 "dosya ...\n"
 
-#: main.c:692
+#: main.c:718
 #, c-format
 msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n"
 msgstr ""
 "Kullan��m��: %s [POSIX veya GNU tarz�� se��enekler] %cprogram%c dosya ...\n"
 
-#: main.c:697
+#: main.c:723
 msgid "POSIX options:\t\tGNU long options:\n"
 msgstr "POSIX se��enekleri:          GNU uzun se��enekleri:\n"
 
-#: main.c:698
+#: main.c:724
 msgid "\t-f progfile\t\t--file=progfile\n"
 msgstr "   -f progDosyas��              --file=progDosyas��\n"
 
-#: main.c:699
+#: main.c:725
 msgid "\t-F fs\t\t\t--field-separator=fs\n"
 msgstr "   -F ayra��                    --field-separator=ayra��\n"
 
-#: main.c:700
+#: main.c:726
 msgid "\t-v var=val\t\t--assign=var=val\n"
 msgstr "   -v var=de��er                --assign=var=de��er\n"
 
-#: main.c:701
+#: main.c:727
 msgid "\t-m[fr] val\n"
 msgstr "   -m[fr] de��er\n"
 
-#: main.c:702
+#: main.c:728
+msgid "\t-O\t\t\t--optimize\n"
+msgstr ""
+
+#: main.c:729
 msgid "\t-W compat\t\t--compat\n"
 msgstr "   -W compat                   --compat\n"
 
-#: main.c:703
+#: main.c:730
 msgid "\t-W copyleft\t\t--copyleft\n"
 msgstr "   -W copyleft                 --copyleft\n"
 
-#: main.c:704
+#: main.c:731
 msgid "\t-W copyright\t\t--copyright\n"
 msgstr "   -W copyright                --copyright\n"
 
-#: main.c:705
+#: main.c:732
 msgid "\t-W dump-variables[=file]\t--dump-variables[=file]\n"
 msgstr "   -W dump-variables[=dosya]   --dump-variables[=dosya]\n"
 
-#: main.c:706
+#: main.c:733
 msgid "\t-W exec=file\t\t--exec=file\n"
 msgstr "   -W exec=dosya               --exec=dosya\n"
 
-#: main.c:707
+#: main.c:734
 msgid "\t-W gen-po\t\t--gen-po\n"
 msgstr "   -W gen-po                   --gen-po\n"
 
-#: main.c:708
+#: main.c:735
 msgid "\t-W help\t\t\t--help\n"
 msgstr "   -W help                     --help\n"
 
-#: main.c:709
+#: main.c:736
 msgid "\t-W lint[=fatal]\t\t--lint[=fatal]\n"
 msgstr "   -W lint[=��l��mc��l]           --lint[=��l��mc��l]\n"
 
-#: main.c:710
+#: main.c:737
 msgid "\t-W lint-old\t\t--lint-old\n"
 msgstr "   -W lint-old                 --lint-old\n"
 
-#: main.c:711
+#: main.c:738
 msgid "\t-W non-decimal-data\t--non-decimal-data\n"
 msgstr "   -W non-decimal-data         --non-decimal-data\n"
 
-#: main.c:713
+#: main.c:740
 msgid "\t-W nostalgia\t\t--nostalgia\n"
 msgstr "   -W nostalgia                --nostalgia\n"
 
-#: main.c:716
+#: main.c:743
 msgid "\t-W parsedebug\t\t--parsedebug\n"
 msgstr "   -W parsedebug               --parsedebug\n"
 
-#: main.c:718
+#: main.c:745
 msgid "\t-W profile[=file]\t--profile[=file]\n"
 msgstr "   -W profile[=dosya]          --profile[=dosya]\n"
 
-#: main.c:719
+#: main.c:746
 msgid "\t-W posix\t\t--posix\n"
 msgstr "   -W posix                    --posix\n"
 
-#: main.c:720
+#: main.c:747
 msgid "\t-W re-interval\t\t--re-interval\n"
 msgstr "   -W re-interval              --re-interval\n"
 
-#: main.c:721
+#: main.c:748
 msgid "\t-W source=program-text\t--source=program-text\n"
 msgstr "   -W source=program-metni     --source=program-metni\n"
 
-#: main.c:722
+#: main.c:749
 msgid "\t-W traditional\t\t--traditional\n"
 msgstr "   -W traditional              --traditional\n"
 
-#: main.c:723
+#: main.c:750
 msgid "\t-W usage\t\t--usage\n"
 msgstr "   -W usage                    --usage\n"
 
-#: main.c:724
+#: main.c:751
 msgid "\t-W use-lc-numeric\t--use-lc-numeric\n"
 msgstr ""
 
-#: main.c:725
+#: main.c:752
 msgid "\t-W version\t\t--version\n"
 msgstr "   -W version                  --version\n"
 
@@ -1575,7 +1617,7 @@
 #. for this application.  Please add _another line_ with the
 #. address for translation bugs.
 #. no-wrap
-#: main.c:734
+#: main.c:761
 msgid ""
 "\n"
 "To report bugs, see node `Bugs' in `gawk.info', which is\n"
@@ -1589,7 +1631,7 @@
 "��eviri hatalar��n�� <gnu-tr@belgeler.org> adresine bildiriniz.\n"
 "\n"
 
-#: main.c:738
+#: main.c:765
 msgid ""
 "gawk is a pattern scanning and processing language.\n"
 "By default it reads standard input and writes standard output.\n"
@@ -1599,7 +1641,7 @@
 "��ntan��ml�� olarak standart girdiyi okur ve standart ����kt��ya yazar.\n"
 "\n"
 
-#: main.c:742
+#: main.c:769
 msgid ""
 "Examples:\n"
 "\tgawk '{ sum += $1 }; END { print sum }' file\n"
@@ -1609,8 +1651,8 @@
 "\tgawk '{ sum += $1 }; END { print sum }' dosya\n"
 "\tgawk -F: '{ print $1 }' /etc/passwd\n"
 
-#: main.c:762
-#, c-format
+#: main.c:789
+#, fuzzy, c-format
 msgid ""
 "Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
 "\n"
@@ -1623,12 +1665,12 @@
 "Telif hakk�� (C) 1989, 1991-%d Free Software Foundation.\n"
 "\n"
 "Bu program bir serbest yaz��l��md��r. Bu yaz��l��m�� Free Software Foundation\n"
-"taraf��ndan yay��nlanm���� olan GNU Genel Kamu Lisans��n��n 3. ya da daha sonraki\n"
+"taraf��ndan yay��nlanm���� olan GNU Genel Kamu Lisans��n��n 2. ya da daha sonraki\n"
 "bir s��r��m��n��n ko��ullar�� alt��nda kopyalayabilir, da����tabilir ve/veya\n"
 "��zerinde de��i��iklik yapabilirsiniz.\n"
 "\n"
 
-#: main.c:770
+#: main.c:797
 msgid ""
 "This program is distributed in the hope that it will be useful,\n"
 "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
@@ -1642,7 +1684,7 @@
 "edinmek i��in GNU Genel Kamu Lisans��na bak��n��z.\n"
 "\n"
 
-#: main.c:781
+#: main.c:808
 #, fuzzy
 msgid ""
 "You should have received a copy of the GNU General Public License\n"
@@ -1652,11 +1694,11 @@
 "olacaks��n��z; yoksa Free Software Foundation, Inc., 51 Franklin Street,\n"
 "Fifth Floor, Boston, MA  02110-1301, USA adresinden isteyebilirsiniz.\n"
 
-#: main.c:816
+#: main.c:843
 msgid "-Ft does not set FS to tab in POSIX awk"
 msgstr "POSIX awk -Ft ile dosya sistemini belirlemez"
 
-#: main.c:1060
+#: main.c:1117
 #, c-format
 msgid ""
 "%s: `%s' argument to `-v' not in `var=value' form\n"
@@ -1665,35 +1707,45 @@
 "%s: `-v' ile verilen `%s' arg��man�� `var=de��er' bi��iminde de��il\n"
 "\n"
 
-#: main.c:1080
+#: main.c:1137
 #, c-format
 msgid "`%s' is not a legal variable name"
 msgstr "`%s' kurala uygun bir de��i��ken ismi de��il"
 
-#: main.c:1083
+#: main.c:1140
 #, c-format
 msgid "`%s' is not a variable name, looking for file `%s=%s'"
 msgstr "`%2$s=%3$s' i��in dosyaya bak��nca, `%1$s' bir de��i��ken ismi de��il"
 
-#: main.c:1122
+#: main.c:1179
 msgid "floating point exception"
 msgstr "Ger��el say�� istisnas��"
 
-#: main.c:1129
+#: main.c:1186
 msgid "fatal error: internal error"
 msgstr "��l��mc��l i�� hata"
 
-#: main.c:1180
+#: main.c:1200
+#, fuzzy
+msgid "fatal error: internal error: segfault"
+msgstr "��l��mc��l i�� hata"
+
+#: main.c:1212
+#, fuzzy
+msgid "fatal error: internal error: stack overflow"
+msgstr "��l��mc��l i�� hata"
+
+#: main.c:1261
 #, c-format
 msgid "no pre-opened fd %d"
 msgstr "��n a����l����l�� bir %d dosya tan��mlay��c��s�� yok"
 
-#: main.c:1187
+#: main.c:1268
 #, c-format
 msgid "could not pre-open /dev/null for fd %d"
 msgstr "%d dosya tan��mlay��c��s�� i��in /dev/null ��n a����l������ yap��lamad��"
 
-#: main.c:1210 main.c:1219
+#: main.c:1291 main.c:1300
 #, c-format
 msgid "could not find groups: %s"
 msgstr "gruplar bulunamad��: %s"
@@ -1719,24 +1771,31 @@
 msgid "can't convert string to float"
 msgstr "dizge ger��el say��ya d��n����t��r��lemiyor"
 
-#: node.c:406
+#: node.c:462
 msgid "backslash at end of string"
 msgstr "dizge sonunda tersb��l��"
 
-#: node.c:548
+#: node.c:606
 #, c-format
 msgid "old awk does not support the `\\%c' escape sequence"
 msgstr "eski awk `\\%c' ��nceleme dizilimini desteklemiyor"
 
-#: node.c:599
+#: node.c:657
 msgid "POSIX does not allow `\\x' escapes"
 msgstr "POSIX `\\x' ��ncelemelerine izin vermez"
 
-#: node.c:605
+#: node.c:663
 msgid "no hex digits in `\\x' escape sequence"
 msgstr "`\\x' ��nceleme dizgesinde onalt��l��k rakamlar yok"
 
-#: node.c:639
+#: node.c:685
+#, c-format
+msgid ""
+"hex escape \\x%.*s of %d characters probably not interpreted the way you "
+"expect"
+msgstr ""
+
+#: node.c:700
 #, c-format
 msgid "escape sequence `\\%c' treated as plain `%c'"
 msgstr "`\\%c' ��nceleme dizgesi `%c' olarak kullan��ld��"
@@ -1746,31 +1805,32 @@
 msgid "%s %s `%s': could not set close-on-exec: (fcntl: %s)"
 msgstr "%s %s `%s': close-on-exec belirlenemedi: (fcntl: %s)"
 
-#: profile.c:92
+#: profile.c:93
 #, c-format
 msgid "could not open `%s' for writing: %s"
 msgstr "`%s' yazmak i��in a����lamad��: %s"
 
-#: profile.c:450
+#: profile.c:453
 #, c-format
 msgid "internal error: %s with null vname"
 msgstr "i�� hata: null vname'li %s"
 
-#: profile.c:514
+#: profile.c:517
+#, fuzzy
 msgid "# treated internally as `delete'"
 msgstr "# dahili olarak `delete' varsay��ld��"
 
-#: profile.c:1147
+#: profile.c:1069
 #, c-format
 msgid "# this is a dynamically loaded extension function"
 msgstr "# bu ��zdevimli olarak y��klenmi�� bir ek i��levdir"
 
-#: profile.c:1178
+#: profile.c:1100
 #, c-format
 msgid "\t# gawk profile, created %s\n"
 msgstr "\t# gawk profili, olu��turuldu: %s\n"
 
-#: profile.c:1181
+#: profile.c:1103
 #, c-format
 msgid ""
 "\t# BEGIN block(s)\n"
@@ -1779,7 +1839,7 @@
 "\t# BEGIN bloklar��\n"
 "\n"
 
-#: profile.c:1191
+#: profile.c:1113
 #, c-format
 msgid ""
 "\t# Rule(s)\n"
@@ -1788,7 +1848,7 @@
 "\t# Kurallar\n"
 "\n"
 
-#: profile.c:1197
+#: profile.c:1119
 #, c-format
 msgid ""
 "\t# END block(s)\n"
@@ -1797,7 +1857,7 @@
 "\t# END bloklar��\n"
 "\n"
 
-#: profile.c:1217
+#: profile.c:1139
 #, c-format
 msgid ""
 "\n"
@@ -1806,79 +1866,87 @@
 "\n"
 "\t# ����levler, alfabetik s��rayla\n"
 
-#: profile.c:1470
+#: profile.c:1400
 #, c-format
 msgid "unexpected type %s in prec_level"
 msgstr "prec_level'da anla����lamayan t��r %s"
 
-#: regcomp.c:132
+#: profile.c:1500
+#, fuzzy, c-format
+msgid "Unknown node type %s in pp_var"
+msgstr "%d. d������mt��r�� bilinmiyor"
+
+#: regcomp.c:133
 msgid "Success"
 msgstr "Ba��ar��l��"
 
-#: regcomp.c:135
+#: regcomp.c:136
 msgid "No match"
 msgstr "E��le��mez"
 
-#: regcomp.c:138
+#: regcomp.c:139
 msgid "Invalid regular expression"
 msgstr "D��zenli ifade ge��ersiz"
 
-#: regcomp.c:141
+#: regcomp.c:142
 msgid "Invalid collation character"
 msgstr "Kar����la��t��rma karakteri ge��ersiz"
 
-#: regcomp.c:144
+#: regcomp.c:145
 msgid "Invalid character class name"
 msgstr "Karakter s��n��f ismi ge��ersiz"
 
-#: regcomp.c:147
+#: regcomp.c:148
 msgid "Trailing backslash"
 msgstr "��zleyen tersb��l��"
 
-#: regcomp.c:150
+#: regcomp.c:151
 msgid "Invalid back reference"
 msgstr "Geriye ba��vuru ge��ersiz"
 
-#: regcomp.c:153
+#: regcomp.c:154
 msgid "Unmatched [ or [^"
 msgstr "[ ya da [^ e��le��miyor"
 
-#: regcomp.c:156
+#: regcomp.c:157
 msgid "Unmatched ( or \\("
 msgstr "( ya da \\( e��le��miyor"
 
-#: regcomp.c:159
+#: regcomp.c:160
 msgid "Unmatched \\{"
 msgstr "\\{ e��le��miyor"
 
-#: regcomp.c:162
+#: regcomp.c:163
 msgid "Invalid content of \\{\\}"
 msgstr "\\{\\} i��eri��i ge��ersiz"
 
-#: regcomp.c:165
+#: regcomp.c:166
 msgid "Invalid range end"
 msgstr "Kapsam sonu ge��ersiz"
 
-#: regcomp.c:168
+#: regcomp.c:169
 msgid "Memory exhausted"
 msgstr "Bellek t��kendi"
 
-#: regcomp.c:171
+#: regcomp.c:172
 msgid "Invalid preceding regular expression"
 msgstr "d��zenli ifade ��nceli��i ge��ersiz"
 
-#: regcomp.c:174
+#: regcomp.c:175
 msgid "Premature end of regular expression"
 msgstr "D��zenli ifade sonu eksik kalm����"
 
-#: regcomp.c:177
+#: regcomp.c:178
 msgid "Regular expression too big"
 msgstr "D��zenli ifade ��ok b��y��k"
 
-#: regcomp.c:180
+#: regcomp.c:181
 msgid "Unmatched ) or \\)"
 msgstr ") ya da  \\) e��le��miyor"
 
-#: regcomp.c:664
+#: regcomp.c:700
 msgid "No previous regular expression"
 msgstr "Daha ��nce d��zenli ifade yok"
+
+#~ msgid "%s: illegal option -- %c\n"
+#~ msgstr "%s: kurald������ se��enek -- %c\n"
diff -urN gawk-3.1.6/po/vi.po gawk-3.1.7/po/vi.po
--- gawk-3.1.6/po/vi.po	2007-09-30 22:33:29.000000000 +0200
+++ gawk-3.1.7/po/vi.po	2009-07-21 23:23:45.000000000 +0300
@@ -1,20 +1,20 @@
 # Vietnamese translation for Gawk.
 # Copyright �� 2007 Free Software Foundation, Inc.
 # Clytie Siddall <clytie@riverland.net.au>, 2005-2007.
-# 
+#
 msgid ""
 msgstr ""
-"Project-Id-Version: gawk 3.1.5f\n"
+"Project-Id-Version: gawk 3.1.6\n"
 "Report-Msgid-Bugs-To: arnold@skeeve.com\n"
-"POT-Creation-Date: 2007-09-30 22:33+0200\n"
-"PO-Revision-Date: 2007-05-28 21:28+0930\n"
+"POT-Creation-Date: 2009-07-21 23:23+0300\n"
+"PO-Revision-Date: 2007-11-30 22:29+1030\n"
 "Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n"
 "Language-Team: Vietnamese <vi-VN@googlegroups.com>\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.6.3b1\n"
+"X-Generator: LocFactoryEditor 1.7b1\n"
 
 #: array.c:112
 #, c-format
@@ -76,337 +76,341 @@
 msgid "%s: array_ref to %s\n"
 msgstr "%s: �� array_ref �� (m���ng tham chi���u) �����n �� %s ��\n"
 
-#: awkgram.y:215
+#: awkgram.y:218
 #, c-format
 msgid "%s blocks must have an action part"
 msgstr "M���i kh���i %s ph���i c�� m���t ph���n ki���u h��nh �����ng"
 
-#: awkgram.y:218
+#: awkgram.y:221
 msgid "each rule must have a pattern or an action part"
 msgstr "M���i quy t���c ph���i c�� m���t m���u hay ph���n ki���u h��nh �����ng"
 
-#: awkgram.y:254 awkgram.y:263
+#: awkgram.y:257 awkgram.y:266
 msgid "old awk does not support multiple `BEGIN' or `END' rules"
 msgstr ""
 "awk c�� kh��ng h��� tr��� nhi���u quy t���c ki���u �� BEGIN �� (b���t �����u) hay �� END �� (k���t "
 "th��c)"
 
-#: awkgram.y:282
+#: awkgram.y:285
 #, c-format
 msgid "`%s' is a built-in function, it cannot be redefined"
 msgstr "�� %s �� l�� m���t ch���c n��ng c�� s���n n��n n�� kh��ng th��� �������c �����nh ngh��a l��i."
 
-#: awkgram.y:328
+#: awkgram.y:331
 msgid "regexp constant `//' looks like a C++ comment, but is not"
 msgstr ""
 "h���ng bi���u th���c ch��nh quy �� // �� h��nh nh�� m���t ch�� th��ch C, nh��ng m�� kh��ng ph���i"
 
-#: awkgram.y:331
+#: awkgram.y:334
 #, c-format
 msgid "regexp constant `/%s/' looks like a C comment, but is not"
 msgstr ""
 "h���ng bi���u th���c ch��nh quy �� /%s/ �� h��nh nh�� m���t ch�� th��ch C, nh��ng m�� kh��ng "
 "ph���i"
 
-#: awkgram.y:358 awkgram.y:653
+#: awkgram.y:361 awkgram.y:656
 msgid "statement may have no effect"
 msgstr "c��u c�� l��� s��� kh��ng c�� t��c d���ng"
 
-#: awkgram.y:455 awkgram.y:479
+#: awkgram.y:458 awkgram.y:482
 #, c-format
 msgid "`%s' used in %s action"
 msgstr "�� %s �� �������c d��ng trong h��nh �����ng %s"
 
-#: awkgram.y:470 awkgram.y:474
+#: awkgram.y:473 awkgram.y:477
 msgid "`nextfile' is a gawk extension"
 msgstr "�� nextfile �� (t���p tin k��� ti���p) l�� m���t ph���n m��� r���ng gawk"
 
-#: awkgram.y:489
+#: awkgram.y:492
 msgid "`return' used outside function context"
 msgstr "�� return �� (tr��� v���) �������c d��ng ��� ngo���i ng��� c���nh ch���c n��ng"
 
-#: awkgram.y:531
+#: awkgram.y:534
 msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'"
 msgstr ""
-"�� print �� (in) chu���n trong quy t���c �� BEGIN �� (b���t �����u) hay �� END �� (k���t "
-"th��c) r���t c�� th��� n��n l�� �� print\"\" ��"
+"�� print �� (in) chu���n trong quy t���c �� BEGIN �� (b���t �����u) hay �� END �� (k���t th��c) "
+"r���t c�� th��� n��n l�� �� print\"\" ��"
 
-#: awkgram.y:547 awkgram.y:555
+#: awkgram.y:550 awkgram.y:558
 msgid "`delete array' is a gawk extension"
 msgstr "�� delete array �� (x��a b��� m���ng) l�� m���t ph���n m��� r���ng gawk"
 
-#: awkgram.y:569 awkgram.y:577
+#: awkgram.y:572 awkgram.y:580
 msgid "`delete(array)' is a non-portable tawk extension"
-msgstr ""
-"�� delete array �� (x��a b��� m���ng) l�� ph���n m��� r���ng gawk kh��ng th��� mang theo"
+msgstr "�� delete array �� (x��a b��� m���ng) l�� ph���n m��� r���ng gawk kh��ng th��� mang theo"
 
-#: awkgram.y:621
+#: awkgram.y:624
 #, c-format
 msgid "duplicate case values in switch body: %s"
 msgstr "g���p gi�� tr��� case tr��ng trong th��n chuy���n �����i (switch body): %s"
 
-#: awkgram.y:631
+#: awkgram.y:634
 msgid "Duplicate `default' detected in switch body"
 msgstr ""
 "Ph��t hi���n �� default �� (m���c �����nh) trong th��n chuy���n �����i (switch body): %s"
 
-#: awkgram.y:720
+#: awkgram.y:723
 msgid "multistage two-way pipelines don't work"
 msgstr "�������ng ���ng d���n hai chi���u ��a giai ��o���n kh��ng ph���i ho���t �����ng �������c"
 
-#: awkgram.y:811
+#: awkgram.y:814
 msgid "regular expression on right of assignment"
 msgstr "bi���u th���c ch��nh quy n���m b��n ph���i ��i���u g��n"
 
-#: awkgram.y:834
+#: awkgram.y:824
 msgid "regular expression on left of `~' or `!~' operator"
 msgstr "bi���u th���c ch��nh quy n���m b��n tr��i to��n t��� �� ~ �� hay �� !~ ��"
 
-#: awkgram.y:840 awkgram.y:913
+#: awkgram.y:830 awkgram.y:903
 msgid "old awk does not support the keyword `in' except after `for'"
 msgstr "awk c�� kh��ng h��� tr��� t��� kho�� �� in ��, tr��� khi n���m sau �� for ��"
 
-#: awkgram.y:846
+#: awkgram.y:836
 msgid "regular expression on right of comparison"
 msgstr "bi���u th���c ch��nh quy n���m b��n ph���i s��� so s��nh"
 
-#: awkgram.y:903
+#: awkgram.y:893
 msgid "non-redirected `getline' undefined inside END action"
 msgstr ""
-"trong h��nh �����ng �� END �� (k���t th��c) c�� �� getline �� (l���y d��ng) kh��ng �������c "
-"chuy���n h�����ng l���i v�� ch��a �������c x��c �����nh."
+"trong h��nh �����ng �� END �� (k���t th��c) c�� �� getline �� (l���y d��ng) kh��ng �������c chuy���n "
+"h�����ng l���i v�� ch��a �������c x��c �����nh."
 
-#: awkgram.y:914
+#: awkgram.y:904
 msgid "old awk does not support multidimensional arrays"
 msgstr "awk c�� kh��ng h��� tr��� m���ng ��a chi���u"
 
-#: awkgram.y:960
+#: awkgram.y:950
 msgid "call of `length' without parentheses is not portable"
 msgstr "kh��ng th��� mang l���i g���i �� length �� (����� d��i) kh��ng c�� d���u ngo���c"
 
-#: awkgram.y:965
+#: awkgram.y:955
 msgid "call of `length' without parentheses is deprecated by POSIX"
 msgstr "POSIX ph���n �����i l���i g���i �� length �� (����� d��i) kh��ng c�� d���u ngo���c"
 
-#: awkgram.y:1019
+#: awkgram.y:1009
 msgid "use of non-array as array"
 msgstr "vi���c d��ng ��i���u kh��c m���ng nh�� l�� m���ng"
 
-#: awkgram.y:1022
+#: awkgram.y:1012
 msgid "invalid subscript expression"
 msgstr "bi���u th���c in th���p kh��ng h���p l���"
 
-#: awkgram.y:1249
+#: awkgram.y:1257
 msgid "unexpected newline or end of string"
 msgstr "g���p d��ng m���i b���t ng��� hay k���t th��c c���a chu���i"
 
-#: awkgram.y:1366
+#: awkgram.y:1374
 msgid "empty program text on command line"
 msgstr "g���p ��o���n ch��� ch����ng tr��nh r���ng n���m tr��n d��ng l���nh"
 
-#: awkgram.y:1422
+#: awkgram.y:1430
 #, c-format
 msgid "can't open source file `%s' for reading (%s)"
 msgstr "kh��ng th��� m��� t���p tin ngu���n �� %s �� ����� �����c (%s)"
 
-#: awkgram.y:1520
+#: awkgram.y:1528
 #, c-format
 msgid "can't read sourcefile `%s' (%s)"
 msgstr "kh��ng th��� �����c t���p tin ngu���n �� %s �� (%s)"
 
-#: awkgram.y:1528
+#: awkgram.y:1536
 #, c-format
 msgid "source file `%s' is empty"
 msgstr "t���p tin ngu���n ��%s�� l�� r���ng"
 
-#: awkgram.y:1720 awkgram.y:1842 awkgram.y:1860 awkgram.y:2235 awkgram.y:2322
+#: awkgram.y:1728 awkgram.y:1850 awkgram.y:1868 awkgram.y:2243 awkgram.y:2330
 msgid "source file does not end in newline"
 msgstr "t���p tin ngu���n kh��ng k���t th��c v���i d��ng m���i"
 
-#: awkgram.y:1782
+#: awkgram.y:1790
 msgid "unterminated regexp ends with `\\' at end of file"
 msgstr ""
 "bi���u th���c ch��nh quy ch��a �������c ch���m d���t k���t th��c v���i �� \\ �� t���i k���t th��c c���a "
 "t���p tin"
 
-#: awkgram.y:1806
+#: awkgram.y:1814
 #, c-format
 msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk"
 msgstr ""
 "%s: %d: b��� s���a �����i bi���u th���c ch��nh quy tawk �� /.../%c �� kh��ng ho���t �����ng �������c "
 "trong gawk"
 
-#: awkgram.y:1810
+#: awkgram.y:1818
 #, c-format
 msgid "tawk regex modifier `/.../%c' doesn't work in gawk"
 msgstr ""
 "b��� s���a �����i bi���u th���c ch��nh quy tawk �� /.../%c �� kh��ng ho���t �����ng �������c trong "
 "gawk"
 
-#: awkgram.y:1817
+#: awkgram.y:1825
 msgid "unterminated regexp"
 msgstr "bi���u th���c ch��nh quy ch��a �������c ch���m d���t"
 
-#: awkgram.y:1820
+#: awkgram.y:1828
 msgid "unterminated regexp at end of file"
 msgstr "bi���u th���c ch��nh quy ch��a �������c ch���m d���t n���m t���i k���t th��c c���a t���p tin"
 
-#: awkgram.y:1889
+#: awkgram.y:1897
 msgid "use of `\\ #...' line continuation is not portable"
 msgstr "kh��ng th��� mang kh��� n��ng d��ng �� \\#... �� ����� ti���p t���c d��ng"
 
-#: awkgram.y:1902
+#: awkgram.y:1910
 msgid "backslash not last character on line"
 msgstr "xuy���c ng�����c kh��ng ph���i l�� k�� t��� cu���i c��ng n���m tr��n d��ng"
 
-#: awkgram.y:1947
+#: awkgram.y:1955
 msgid "POSIX does not allow operator `**='"
 msgstr "POSIX kh��ng cho ph��p to��n t��� �� **= ��"
 
-#: awkgram.y:1949
+#: awkgram.y:1957
 msgid "old awk does not support operator `**='"
 msgstr "awk c�� kh��ng h��� tr��� to��n t��� �� **= ��"
 
-#: awkgram.y:1958
+#: awkgram.y:1966
 msgid "POSIX does not allow operator `**'"
 msgstr "POSIX kh��ng cho ph��p to��n t��� �� ** ��"
 
-#: awkgram.y:1960
+#: awkgram.y:1968
 msgid "old awk does not support operator `**'"
 msgstr "awk c�� kh��ng h��� tr��� to��n t��� �� ** ��"
 
-#: awkgram.y:1991
+#: awkgram.y:1999
 msgid "operator `^=' is not supported in old awk"
 msgstr "awk c�� kh��ng h��� tr��� to��n t��� �� ^= ��"
 
-#: awkgram.y:1999
+#: awkgram.y:2007
 msgid "operator `^' is not supported in old awk"
 msgstr "awk c�� kh��ng h��� tr��� to��n t��� �� ^ ��"
 
-#: awkgram.y:2083 awkgram.y:2098
+#: awkgram.y:2091 awkgram.y:2106
 msgid "unterminated string"
 msgstr "chu���i kh��ng �������c ch���m d���t"
 
-#: awkgram.y:2283
+#: awkgram.y:2291
 #, c-format
 msgid "invalid char '%c' in expression"
 msgstr "bi���u th���c m���t k�� t��� kh��ng h���p l��� �� %c �� n���m trong bi���u th���c"
 
-#: awkgram.y:2331
+#: awkgram.y:2339
 #, c-format
 msgid "`%s' is a gawk extension"
 msgstr "�� %s �� l�� m���t ph���n m��� r���ng gawk"
 
-#: awkgram.y:2334
+#: awkgram.y:2342
 #, c-format
 msgid "`%s' is a Bell Labs extension"
 msgstr "�� %s �� l�� m���t ph���n m��� r���ng c���a Bell Labs (Ph��ng th�� nghi���m Bell)"
 
-#: awkgram.y:2337
+#: awkgram.y:2345
 #, c-format
 msgid "POSIX does not allow `%s'"
 msgstr "POSIX kh��ng cho ph��p ��%s��"
 
-#: awkgram.y:2341
+#: awkgram.y:2349
 #, c-format
 msgid "`%s' is not supported in old awk"
 msgstr "awk c�� kh��ng h��� tr��� �� %s ��"
 
-#: awkgram.y:2367
+#: awkgram.y:2375
 msgid "`goto' considered harmful!\n"
 msgstr "�� goto �� �������c xem l�� g��y tai h���i\n"
 
-#: awkgram.y:2429
+#: awkgram.y:2437
 #, c-format
 msgid "%d is invalid as number of arguments for %s"
 msgstr "�� %d �� kh��ng h���p l��� nh�� l�� s��� �����i s��� cho �� %s ��"
 
-#: awkgram.y:2448 awkgram.y:2451
+#: awkgram.y:2456 awkgram.y:2459
 msgid "match: third argument is a gawk extension"
 msgstr "match: (kh���p) �����i s��� th��� ba l�� ph���n m��� r���ng gawk"
 
-#: awkgram.y:2464
+#: awkgram.y:2472
 #, c-format
 msgid "%s: string literal as last arg of substitute has no effect"
 msgstr ""
 "%s: khi �����i s��� cu���i c��ng c���a s��� thay th���, h���ng m�� ngu���n chu���i kh��ng c�� t��c "
 "d���ng"
 
-#: awkgram.y:2467
+#: awkgram.y:2475
 #, c-format
 msgid "%s third parameter is not a changeable object"
 msgstr "tham s��� th��� ba %s kh��ng ph���i l�� m���t �����i t�����ng c�� th��� thay �����i"
 
-#: awkgram.y:2494 awkgram.y:2497
+#: awkgram.y:2502 awkgram.y:2505
 msgid "close: second argument is a gawk extension"
 msgstr "close: (����ng) �����i s��� th��� hai l�� ph���n m��� r���ng gawk"
 
-#: awkgram.y:2507
+#: awkgram.y:2515
 msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore"
 msgstr "d��ng �� dcgettext(_\"...\") �� kh��ng ����ng: h��y g��� b��� g���ch d�����i n���m tr�����c"
 
-#: awkgram.y:2522
+#: awkgram.y:2530
 msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore"
 msgstr "d��ng �� dcgettext(_\"...\") �� kh��ng ����ng: h��y g��� b��� g���ch d�����i n���m tr�����c"
 
-#: awkgram.y:2594
+#: awkgram.y:2602
 #, c-format
 msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d"
 msgstr "ch���c n��ng �� %s ��: tham s��� �� #%d ��, �� %s ��, nh��n ����i tham s��� �� #%d ��"
 
-#: awkgram.y:2627
+#: awkgram.y:2635
 #, c-format
 msgid "function `%s': parameter `%s' shadows global variable"
 msgstr "ch���c n��ng �� %s ��: tham s��� �� %s �� che bi���n to��n c���c"
 
-#: awkgram.y:2739
+#: awkgram.y:2747
 #, c-format
 msgid "could not open `%s' for writing (%s)"
 msgstr "kh��ng m��� �������c ��%s�� ����� ghi (%s)"
 
-#: awkgram.y:2740 profile.c:94
+#: awkgram.y:2748 profile.c:95
 msgid "sending profile to standard error"
 msgstr "��ang g���i h��� s�� cho thi���t b��� l���i chu���n"
 
-#: awkgram.y:2772
+#: awkgram.y:2780
 #, c-format
 msgid "%s: close failed (%s)"
 msgstr "%s: l���i ����ng (%s)"
 
-#: awkgram.y:2893
+#: awkgram.y:2901
 msgid "shadow_funcs() called twice!"
 msgstr "shadow_funcs() (ch���c n��ng b��ng) �������c g���i hai l���n !"
 
-#: awkgram.y:2920
+#: awkgram.y:2928
 msgid "there were shadowed variables."
 msgstr "c�� bi���n b��� b��ng."
 
-#: awkgram.y:2993
+#: awkgram.y:3001
 #, c-format
 msgid "function `%s': can't use function name as parameter name"
 msgstr "ch���c n��ng �� %s ��: kh��ng th��� d��ng t��n ch���c n��ng nh�� l�� t��n tham s���"
 
-#: awkgram.y:3003
+#: awkgram.y:3004
+#, fuzzy, c-format
+msgid "function `%s': can't use special variable `%s' as a function parameter"
+msgstr "ch���c n��ng �� %s ��: kh��ng th��� d��ng t��n ch���c n��ng nh�� l�� t��n tham s���"
+
+#: awkgram.y:3014
 #, c-format
 msgid "function name `%s' previously defined"
 msgstr "t��n ch���c n��ng �� %s �� �������c x��c �����nh tr�����c"
 
-#: awkgram.y:3154 awkgram.y:3160
+#: awkgram.y:3165 awkgram.y:3171
 #, c-format
 msgid "function `%s' called but never defined"
 msgstr "ch���c n��ng �� %s �� �������c g���i nh��ng m�� ch��a x��c �����nh"
 
-#: awkgram.y:3163
+#: awkgram.y:3174
 #, c-format
 msgid "function `%s' defined but never called"
 msgstr "ch���c n��ng �� %s �� �������c x��c �����nh nh��ng m�� ch��a �������c g���i"
 
-#: awkgram.y:3190
+#: awkgram.y:3201
 #, c-format
 msgid "regexp constant for parameter #%d yields boolean value"
 msgstr "h���ng bi���u th���c ch��nh quy cho tham s��� �� #%d �� l��m gi�� tr��� lu���n l�� (bun)"
 
-#: awkgram.y:3234
+#: awkgram.y:3245
 #, c-format
 msgid ""
 "function `%s' called with space between name and `(',\n"
@@ -415,200 +419,228 @@
 "ch���c n��ng �� %s �� �������c g���i v���i d���u c��ch n���m gi���a t��n v�� �� ( ��\n"
 "ho���c �������c d��ng nh�� l�� bi���n hay m���ng"
 
-#: builtin.c:119
+#: awkgram.y:3667 eval.c:1394
+#, c-format
+msgid "division by zero attempted in `%%'"
+msgstr "c��� g���ng chia cho s��� kh��ng trong �� %% ��"
+
+#: builtin.c:122
 #, c-format
 msgid "%s to \"%s\" failed (%s)"
 msgstr "%s t���i �� %s �� b��� l���i (%s)"
 
-#: builtin.c:120
+#: builtin.c:123
 msgid "standard output"
 msgstr "thi���t b��� xu���t chu���n"
 
-#: builtin.c:121
+#: builtin.c:124
 msgid "reason unknown"
 msgstr "kh��ng bi���t sao"
 
-#: builtin.c:134
+#: builtin.c:137
 msgid "exp: received non-numeric argument"
 msgstr "exp: ���� nh���n �����i s��� kh��ng ph���i thu���c s���"
 
-#: builtin.c:140
+#: builtin.c:143
 #, c-format
 msgid "exp: argument %g is out of range"
 msgstr "exp: �����i s��� �� %g �� ��� ngo���i ph���m v���"
 
-#: builtin.c:198
+#: builtin.c:201
 #, c-format
 msgid "fflush: cannot flush: pipe `%s' opened for reading, not writing"
 msgstr ""
 "fflush: kh��ng th��� x��a s���ch: ���ng d���n �� %s �� �������c m��� ����� �����c, kh��ng ph���i ����� ghi"
 
-#: builtin.c:201
+#: builtin.c:204
 #, c-format
 msgid "fflush: cannot flush: file `%s' opened for reading, not writing"
 msgstr ""
 "fflush: kh��ng th��� x��a s���ch: t���p tin ��%s�� �������c m��� ����� �����c, kh��ng ph���i ����� ghi"
 
-#: builtin.c:213
+#: builtin.c:216
 #, c-format
 msgid "fflush: `%s' is not an open file, pipe or co-process"
-msgstr ""
-"fflush: �� %s �� kh��ng ph���i l�� t���p tin ���� m���, ���ng d���n hay �����ng ti���n tr��nh"
+msgstr "fflush: �� %s �� kh��ng ph���i l�� t���p tin ���� m���, ���ng d���n hay �����ng ti���n tr��nh"
 
-#: builtin.c:306
+#: builtin.c:310
 msgid "index: received non-string first argument"
 msgstr "index: (ch��� m���c) ���� nh���n �����i s��� th��� nh���t kh��ng ph���i l�� chu���i"
 
-#: builtin.c:308
+#: builtin.c:312
 msgid "index: received non-string second argument"
 msgstr "index: (ch��� m���c) ���� nh���n �����i s��� th��� hai kh��ng ph���i l�� chu���i"
 
-#: builtin.c:423
+#: builtin.c:434
 msgid "int: received non-numeric argument"
 msgstr "int: (s��� nguy��n?) ���� nh���n �����i s��� kh��ng ph���i thu���c s���"
 
-#: builtin.c:448
+#: builtin.c:464
 msgid "`length(array)' is a gawk extension"
 msgstr "�� length(array) �� (����� d��i m���ng) l�� m���t ph���n m��� r���ng gawk"
 
-#: builtin.c:458
+#: builtin.c:473
+msgid "length: untyped argument will be forced to scalar"
+msgstr ""
+
+#: builtin.c:477
 msgid "length: received non-string argument"
 msgstr "length: (����� d��i) ���� nh���n �����i s��� kh��ng ph���i chu���i"
 
-#: builtin.c:483
+#: builtin.c:508
 msgid "log: received non-numeric argument"
 msgstr "log: (b���n ghi) ���� nh���n �����i s��� kh��ng ph���i thu���c s���"
 
-#: builtin.c:486
+#: builtin.c:511
 #, c-format
 msgid "log: received negative argument %g"
 msgstr "log: (b���n ghi) ���� nh���n �����i s��� ��m ��%g��"
 
-#: builtin.c:693 builtin.c:696
+#: builtin.c:719 builtin.c:722
 msgid "must use `count$' on all formats or none"
 msgstr "ph���i d��ng �� count$ �� v���i m���i d���ng th���c hay kh��ng d��ng c���"
 
-#: builtin.c:799
+#: builtin.c:783
+#, c-format
+msgid "field width is ignored for `%%%%' specifier"
+msgstr ""
+
+#: builtin.c:785
+#, c-format
+msgid "precision is ignored for `%%%%' specifier"
+msgstr ""
+
+#: builtin.c:787
+#, c-format
+msgid "field width and precision are ignored for `%%%%' specifier"
+msgstr ""
+
+#: builtin.c:838
 msgid "`$' is not permitted in awk formats"
 msgstr "kh��ng cho ph��p �� $ �� trong �����nh d���ng awk"
 
-#: builtin.c:805
+#: builtin.c:844
 msgid "arg count with `$' must be > 0"
 msgstr "s��� �����m �����i s��� v���i �� $ �� ph���i l�� >0"
 
-#: builtin.c:807
+#: builtin.c:846
 #, c-format
 msgid "arg count %ld greater than total number of supplied arguments"
 msgstr "s��� �����m �����i s��� %ld l���n h��n t���ng s��� �����i s��� �������c cung c���p"
 
-#: builtin.c:809
+#: builtin.c:848
 msgid "`$' not permitted after period in format"
 msgstr "kh��ng cho ph��p �� $ �� n���m sau d���u ch���m trong �����nh d���ng"
 
-#: builtin.c:822
+#: builtin.c:861
 msgid "no `$' supplied for positional field width or precision"
 msgstr ""
 "ch��a cung c���p �� $ �� cho ����� r���ng tr�����ng thu���c v��� tr�� hay cho ����� ch��nh x��c"
 
-#: builtin.c:888
+#: builtin.c:927
 msgid "`l' is meaningless in awk formats; ignored"
 msgstr "ch��� �� l �� kh��ng c�� ngh��a trong �����nh d���ng awk n��n b��� b��� qua"
 
-#: builtin.c:892
+#: builtin.c:931
 msgid "`l' is not permitted in POSIX awk formats"
 msgstr "kh��ng cho ph��p ch��� �� l �� n���m trong �����nh d���ng awk POSIX"
 
-#: builtin.c:903
+#: builtin.c:942
 msgid "`L' is meaningless in awk formats; ignored"
 msgstr "ch��� �� L �� kh��ng c�� ngh��a trong �����nh d���ng awk n��n b��� b��� qua"
 
-#: builtin.c:907
+#: builtin.c:946
 msgid "`L' is not permitted in POSIX awk formats"
 msgstr "kh��ng cho ph��p ch��� �� L �� n���m trong �����nh d���ng awk POSIX"
 
-#: builtin.c:918
+#: builtin.c:957
 msgid "`h' is meaningless in awk formats; ignored"
 msgstr "ch��� �� h �� kh��ng c�� ngh��a trong �����nh d���ng awk n��n b��� b��� qua"
 
-#: builtin.c:922
+#: builtin.c:961
 msgid "`h' is not permitted in POSIX awk formats"
 msgstr "kh��ng cho ph��p ch��� �� h �� n���m trong �����nh d���ng awk POSIX"
 
-#: builtin.c:1182
+#: builtin.c:1236
 #, c-format
 msgid "[s]printf: value %g is out of range for `%%%c' format"
 msgstr "[s]printf: gi�� tr��� %g ��� ngo���i ph���m v��� cho d���ng th���c �� %%%c ��"
 
-#: builtin.c:1266
+#: builtin.c:1316
+#, c-format
+msgid "ignoring unknown format specifier character `%c': no argument converted"
+msgstr ""
+
+#: builtin.c:1322
 msgid "not enough arguments to satisfy format string"
 msgstr "ch��a c�� ����� �����i s��� ����� ����p ���ng chu���i �����nh d���ng"
 
-#: builtin.c:1268
+#: builtin.c:1324
 msgid "^ ran out for this one"
 msgstr "h���t �� ^ �� cho ��i���u n��y"
 
-#: builtin.c:1274
+#: builtin.c:1330
 msgid "[s]printf: format specifier does not have control letter"
 msgstr "[s]printf: ��i���u ghi r�� �����nh d���ng kh��ng c�� ch��� ��i���u khi���n"
 
-#: builtin.c:1277
+#: builtin.c:1333
 msgid "too many arguments supplied for format string"
 msgstr "qu�� nhi���u �����i s��� �������c cung c���p cho chu���i �����nh d���ng"
 
-#: builtin.c:1352 builtin.c:1355
+#: builtin.c:1408 builtin.c:1411
 msgid "printf: no arguments"
 msgstr "printf: kh��ng c�� �����i s���"
 
-#: builtin.c:1379
+#: builtin.c:1435
 msgid "sqrt: received non-numeric argument"
 msgstr "sqrt: (c��n b���c hai) ���� nh���n �����i s��� kh��ng ph���i thu���c s���"
 
-#: builtin.c:1383
+#: builtin.c:1439
 #, c-format
 msgid "sqrt: called with negative argument %g"
 msgstr "sqrt: (c��n b���c hai) ���� g���i v���i �����i s��� ��m ��%g��"
 
-#: builtin.c:1407
+#: builtin.c:1463
 #, c-format
 msgid "substr: start index %g is invalid, using 1"
 msgstr "substr: (chu���i ph���) s��� ch��� m���c �����u �� %g �� kh��ng h���p l��� n��n d��ng 1"
 
-#: builtin.c:1412
+#: builtin.c:1468
 #, c-format
 msgid "substr: non-integer start index %g will be truncated"
 msgstr ""
 "substr: (chu���i ph���) s��� ch��� m���c �����u kh��ng ph���i s��� nguy��n �� %g �� s��� b��� c���t ng���n"
 
-#: builtin.c:1431
+#: builtin.c:1494
 #, c-format
 msgid "substr: length %g is not >= 1"
 msgstr "substr: (chu���i ph���) ����� d��i %g kh��ng ph���i ���1"
 
-#: builtin.c:1433
+#: builtin.c:1496
 #, c-format
 msgid "substr: length %g is not >= 0"
 msgstr "substr: (chu���i ph���) ����� d��i %g kh��ng ph���i ���0"
 
-#: builtin.c:1440
+#: builtin.c:1503
 #, c-format
 msgid "substr: non-integer length %g will be truncated"
 msgstr "substr: (chu���i ph���) s��� c���t x��n ����� d��i kh��ng ph���i s��� nguy��n �� %g ��"
 
-#: builtin.c:1445
+#: builtin.c:1508
 #, c-format
 msgid "substr: length %g too big for string indexing, truncating to %g"
 msgstr "substr: ����� d��i %g qu�� l���n ����� ch��� m���c chu���i n��n x��n ng���n th��nh %g"
 
-#: builtin.c:1457
+#: builtin.c:1520
 msgid "substr: source string is zero length"
 msgstr "substr: (chu���i con) chu���i ngu���n c�� ����� d��i s��� kh��ng"
 
-#: builtin.c:1473
+#: builtin.c:1536
 #, c-format
 msgid "substr: start index %g is past end of string"
 msgstr "substr: (chu���i ph���) s��� ch��� m���c �����u %g n���m sau k���t th��c c���a chu���i"
 
-#: builtin.c:1481
+#: builtin.c:1544
 #, c-format
 msgid ""
 "substr: length %g at start index %g exceeds length of first argument (%lu)"
@@ -616,261 +648,261 @@
 "substr: (chu���i ph���) ����� d��i %g t���i s��� ch��� m���c �����u %g v�����t qu�� ����� d��i c���a �����i "
 "s��� �����u (%lu)"
 
-#: builtin.c:1558
+#: builtin.c:1621
 msgid "strftime: received non-string first argument"
 msgstr "strftime: ���� nh���n �����i s��� th��� nh���t kh��c chu���i"
 
-#: builtin.c:1564
+#: builtin.c:1627
 msgid "strftime: received empty format string"
 msgstr "strftime: ���� nh���n chu���i �����nh d���ng r���ng"
 
-#: builtin.c:1573
+#: builtin.c:1636
 msgid "strftime: received non-numeric second argument"
 msgstr "strftime: ���� nh���n �����i s��� th��� hai kh��c thu���c s���"
 
-#: builtin.c:1650
+#: builtin.c:1713
 msgid "mktime: received non-string argument"
 msgstr "mktime: ���� nh���n �����i s��� kh��c chu���i"
 
-#: builtin.c:1695
+#: builtin.c:1758
 msgid "system: received non-string argument"
 msgstr "system: (h��� th���ng) ���� nh���n �����i s��� kh��c chu���i"
 
-#: builtin.c:1816 eval.c:2041
+#: builtin.c:1879 eval.c:2145
 #, c-format
 msgid "reference to uninitialized field `$%d'"
 msgstr "g���p tham chi���u �����n tr�����ng ch��a �������c s��� kh���i �� $%d ��"
 
-#: builtin.c:1921
+#: builtin.c:1984
 msgid "tolower: received non-string argument"
 msgstr "tolower: (�����n th���p h��n) ���� nh���n �����i s��� kh��c chu���i"
 
-#: builtin.c:1951
+#: builtin.c:2014
 msgid "toupper: received non-string argument"
 msgstr "toupper: (�����n cao h��n) ���� nh���n �����i s��� kh��c chu���i"
 
-#: builtin.c:1984
+#: builtin.c:2047
 msgid "atan2: received non-numeric first argument"
 msgstr "atan2: ���� nh���n �����i s��� th��� nh���t kh��c thu���c s���"
 
-#: builtin.c:1986
+#: builtin.c:2049
 msgid "atan2: received non-numeric second argument"
 msgstr "atan2: ���� nh���n �����i s��� th��� hai kh��c thu���c s���"
 
-#: builtin.c:2005
+#: builtin.c:2068
 msgid "sin: received non-numeric argument"
 msgstr "sin: ���� nh���n �����i s��� kh��ng ph���i thu���c s���"
 
-#: builtin.c:2021
+#: builtin.c:2084
 msgid "cos: received non-numeric argument"
 msgstr "cos: ���� nh���n �����i s��� kh��ng ph���i thu���c s���"
 
-#: builtin.c:2071
+#: builtin.c:2137
 msgid "srand: received non-numeric argument"
 msgstr "srand: ���� nh���n �����i s��� kh��ng ph���i thu���c s���"
 
-#: builtin.c:2106
+#: builtin.c:2172
 msgid "match: third argument is not an array"
 msgstr "match: (kh���p) �����i s��� th��� ba kh��ng ph���i l�� m���ng"
 
-#: builtin.c:2650
+#: builtin.c:2719
 msgid "gensub: third argument of 0 treated as 1"
 msgstr "gensub: �����i s��� th��� ba 0 �������c x��� l�� nh�� 1"
 
-#: builtin.c:2766
+#: builtin.c:2835
 msgid "lshift: received non-numeric first argument"
 msgstr "lshift: ���� nh���n �����i s��� �����u kh��ng ph���i thu���c s���"
 
-#: builtin.c:2768
+#: builtin.c:2837
 msgid "lshift: received non-numeric second argument"
 msgstr "lshift: (d���ch b��n tr��i) ���� nh���n �����i s��� th��� hai kh��c thu���c s���"
 
-#: builtin.c:2774
+#: builtin.c:2843
 #, c-format
 msgid "lshift(%lf, %lf): negative values will give strange results"
 msgstr "lshift(%lf, %lf): gi�� tr��� ��m s��� g��y ra k���t qu��� l���"
 
-#: builtin.c:2776
+#: builtin.c:2845
 #, c-format
 msgid "lshift(%lf, %lf): fractional values will be truncated"
 msgstr "lshift(%lf, %lf): gi�� tr��� thu���c ph��n s��� s��� b��� x��n ng���n"
 
-#: builtin.c:2778
+#: builtin.c:2847
 #, c-format
 msgid "lshift(%lf, %lf): too large shift value will give strange results"
 msgstr "lshift(%lf, %lf): gi�� tr��� d���ch qu�� l���n s��� g��y ra k���t qu��� l���"
 
-#: builtin.c:2804
+#: builtin.c:2873
 msgid "rshift: received non-numeric first argument"
 msgstr "rshift: ���� nh���n �����i s��� th��� nh���t kh��c thu���c s���"
 
-#: builtin.c:2806
+#: builtin.c:2875
 msgid "rshift: received non-numeric second argument"
 msgstr "rshift: (d���ch b��n ph���i) ���� nh���n �����i s��� th��� hai kh��c thu���c s���"
 
-#: builtin.c:2812
+#: builtin.c:2881
 #, c-format
 msgid "rshift(%lf, %lf): negative values will give strange results"
 msgstr "rshift(%lf, %lf): gi�� tr��� ��m s��� g��y ra k���t qu��� l���"
 
-#: builtin.c:2814
+#: builtin.c:2883
 #, c-format
 msgid "rshift(%lf, %lf): fractional values will be truncated"
 msgstr "rshift(%lf, %lf): gi�� tr��� thu���c ph��n s��� s��� b��� x��n ng���n"
 
-#: builtin.c:2816
+#: builtin.c:2885
 #, c-format
 msgid "rshift(%lf, %lf): too large shift value will give strange results"
 msgstr "rshift(%lf, %lf): gi�� tr��� d���ch qu�� l���n s��� g��y ra k���t qu��� l���"
 
-#: builtin.c:2842
+#: builtin.c:2911
 msgid "and: received non-numeric first argument"
 msgstr "and: (v��) ���� nh���n �����i s��� �����u kh��ng ph���i thu���c s���"
 
-#: builtin.c:2844
+#: builtin.c:2913
 msgid "and: received non-numeric second argument"
 msgstr "and: (v��) ���� nh���n �����i s��� th��� hai kh��c thu���c s���"
 
-#: builtin.c:2850
+#: builtin.c:2919
 #, c-format
 msgid "and(%lf, %lf): negative values will give strange results"
 msgstr "and(%lf, %lf): (v��) gi�� tr��� ��m s��� g��y ra k���t qu��� l���"
 
-#: builtin.c:2852
+#: builtin.c:2921
 #, c-format
 msgid "and(%lf, %lf): fractional values will be truncated"
 msgstr "and(%lf, %lf): (v��) gi�� tr��� thu���c ph��n s��� s��� b��� x��n ng���n"
 
-#: builtin.c:2878
+#: builtin.c:2947
 msgid "or: received non-numeric first argument"
 msgstr "or: (ho���c) ���� nh���n �����i s��� �����u kh��ng ph���i thu���c s���"
 
-#: builtin.c:2880
+#: builtin.c:2949
 msgid "or: received non-numeric second argument"
 msgstr "or: (ho���c) ���� nh���n �����i s��� th��� hai kh��c thu���c s���"
 
-#: builtin.c:2886
+#: builtin.c:2955
 #, c-format
 msgid "or(%lf, %lf): negative values will give strange results"
 msgstr "or(%lf, %lf): (ho���c) gi�� tr��� ��m s��� g��y ra k���t qu��� l���"
 
-#: builtin.c:2888
+#: builtin.c:2957
 #, c-format
 msgid "or(%lf, %lf): fractional values will be truncated"
 msgstr "or(%lf, %lf): (ho���c) gi�� tr��� thu���c ph��n s��� s��� b��� x��n ng���n"
 
-#: builtin.c:2914
+#: builtin.c:2983
 msgid "xor: received non-numeric first argument"
 msgstr "xor: (kh��ng ho���c) ���� nh���n �����i s��� th��� nh���t kh��c thu���c s���"
 
-#: builtin.c:2916
+#: builtin.c:2985
 msgid "xor: received non-numeric second argument"
 msgstr "xor: ���� nh���n �����i s��� th��� hai kh��c thu���c s���"
 
-#: builtin.c:2922
+#: builtin.c:2991
 #, c-format
 msgid "xor(%lf, %lf): negative values will give strange results"
 msgstr "xor(%lf, %lf): (kh��ng ho���c) gi�� tr��� ��m s��� g��y ra k���t qu��� l���"
 
-#: builtin.c:2924
+#: builtin.c:2993
 #, c-format
 msgid "xor(%lf, %lf): fractional values will be truncated"
 msgstr "xor(%lf, %lf): (kh��ng ho���c) gi�� tr��� thu���c ph��n s��� s��� b��� x��n ng���n"
 
-#: builtin.c:2948
+#: builtin.c:3017
 msgid "compl: received non-numeric argument"
 msgstr "compl: (bi��n d���ch) ���� nh���n �����i s��� kh��c thu���c s���"
 
-#: builtin.c:2954
+#: builtin.c:3023
 #, c-format
 msgid "compl(%lf): negative value will give strange results"
 msgstr "compl(%lf): (bi��n d���ch) gi�� tr��� ��m s��� g��y ra k���t qu��� l���"
 
-#: builtin.c:2956
+#: builtin.c:3025
 #, c-format
 msgid "compl(%lf): fractional value will be truncated"
 msgstr "compl(%lf): (bi��n d���ch) gi�� tr��� thu���c ph��n s��� se b��� x��n ng���n"
 
-#: builtin.c:3129
+#: builtin.c:3198
 #, c-format
 msgid "dcgettext: `%s' is not a valid locale category"
 msgstr "dcgettext: ��%s�� kh��ng ph���i l�� m���t ph��n lo���i mi���n �����a ph����ng h���p l���"
 
-#: eval.c:303
+#: eval.c:372
 #, c-format
 msgid "unknown nodetype %d"
 msgstr "kh��ng bi���t ki���u n��t %d"
 
-#: eval.c:353
+#: eval.c:422
 msgid "buffer overflow in genflags2str"
 msgstr "tr��n b��� �����m trong �� genflags2str �� (t���o ra c��� �����n chu���i)"
 
-#: eval.c:385 eval.c:391 profile.c:817
+#: eval.c:454 eval.c:460 profile.c:781
 #, c-format
 msgid "attempt to use array `%s' in a scalar context"
 msgstr "c��� g���ng d��ng m���ng �� %s �� trong m���t ng��� c���nh v�� h�����ng"
 
-#: eval.c:733
+#: eval.c:802
 #, c-format
 msgid "for loop: array `%s' changed size from %ld to %ld during loop execution"
 msgstr ""
 "cho loop: (cho v��ng l���p) m���ng �� %s �� ���� thay �����i k��ch th�����c t��� %ld �����n %ld "
 "trong khi th���c hi���n v��ng l���p"
 
-#: eval.c:754
+#: eval.c:823
 msgid "`break' outside a loop is not portable"
 msgstr "kh��ng th��� mang kh��� n��ng �� break �� (ng���t) n���m ��� ngo���i v��ng l���p"
 
-#: eval.c:758
+#: eval.c:827
 msgid "`break' outside a loop is not allowed"
 msgstr "kh��ng cho ph��p �� break �� (ng���t) n���m ��� ngo���i v��ng l���p"
 
-#: eval.c:775
+#: eval.c:844
 msgid "`continue' outside a loop is not portable"
 msgstr "kh��ng th��� mang kh��� n��ng �� continue �� (ti���p t���c) n���m ��� ngo���i v��ng l���p"
 
-#: eval.c:779
+#: eval.c:848
 msgid "`continue' outside a loop is not allowed"
 msgstr "kh��ng cho ph��p �� continue �� (ti���p t���c) n���m ��� ngo���i v��ng l���p"
 
-#: eval.c:813
+#: eval.c:882
 msgid "`next' cannot be called from a BEGIN rule"
 msgstr "kh��ng th��� g���i �� next �� (k��� ti���p) t��� quy t���c �� BEGIN �� (b���t �����u)"
 
-#: eval.c:815
+#: eval.c:884
 msgid "`next' cannot be called from an END rule"
 msgstr "kh��ng th��� g���i �� next �� (k��� ti���p) t��� quy t���c �� END �� k���t th��c)"
 
-#: eval.c:824
+#: eval.c:893
 msgid "`nextfile' cannot be called from a BEGIN rule"
 msgstr ""
 "kh��ng th��� g���i �� nextfile �� (t���p tin k��� ti���p) t��� quy t���c �� BEGIN �� (b���t �����u)"
 
-#: eval.c:826
+#: eval.c:895
 msgid "`nextfile' cannot be called from an END rule"
 msgstr ""
 "kh��ng th��� g���i �� nextfile �� (t���p tin k��� ti���p) t��� quy t���c �� END �� k���t th��c)"
 
-#: eval.c:875
+#: eval.c:952
 msgid "statement has no effect"
 msgstr "c��u kh��ng c�� t��c d���ng"
 
-#: eval.c:952 eval.c:1895
+#: eval.c:1029 eval.c:1999
 #, c-format
 msgid "can't use function name `%s' as variable or array"
 msgstr "kh��ng th��� d��ng t��n ch���c n��ng �� %s �� nh�� l�� bi���n hay m���ng"
 
-#: eval.c:959 eval.c:965
+#: eval.c:1036 eval.c:1042
 #, c-format
 msgid "reference to uninitialized argument `%s'"
 msgstr "g���p tham chi���u �����n �����i s��� ch��a �������c s��� kh���i �� %s ��"
 
-#: eval.c:974 eval.c:1904
+#: eval.c:1051 eval.c:2008
 #, c-format
 msgid "reference to uninitialized variable `%s'"
 msgstr "g���p tham chi���u �����n bi���n ch��a �������c s��� kh���i �� %s ��"
 
-#: eval.c:1120
+#: eval.c:1197
 msgid ""
 "concatenation: side effects in one expression have changed the length of "
 "another!"
@@ -878,44 +910,39 @@
 "concatenation: (n���i chu���i) hi���u ���ng kh��c trong m���t bi���u th���c n��o ���� ���� thay "
 "�����i ����� d��i c���a m���t bi���u th���c kh��c !"
 
-#: eval.c:1202
+#: eval.c:1301
 msgid "assignment used in conditional context"
 msgstr "��i���u g��n �������c d��ng trong ng��� c���nh ��i���u ki���n"
 
-#: eval.c:1280
+#: eval.c:1379
 msgid "division by zero attempted"
 msgstr "c��� g���ng chia cho s��� kh��ng"
 
-#: eval.c:1295
-#, c-format
-msgid "division by zero attempted in `%%'"
-msgstr "c��� g���ng chia cho s��� kh��ng trong �� %% ��"
-
-#: eval.c:1310 profile.c:693
+#: eval.c:1409 profile.c:657
 #, c-format
 msgid "illegal type (%s) in tree_eval"
 msgstr "kh��ng cho ph��p ki���u (%s) trong �� tree_eval �� (�����c l�����ng c��y)"
 
-#: eval.c:1473
+#: eval.c:1572
 msgid "division by zero attempted in `/='"
 msgstr "c��� g���ng chia cho s��� kh��ng trong �� /= ��"
 
-#: eval.c:1495
+#: eval.c:1594
 #, c-format
 msgid "division by zero attempted in `%%='"
 msgstr "c��� g���ng chia cho s��� kh��ng trong �� %%= ��"
 
-#: eval.c:1760
+#: eval.c:1859
 #, c-format
 msgid "function `%s' called with more arguments than declared"
 msgstr "ch���c n��ng �� %s �� �������c g���i v���i s��� �����i s��� h��n s��� �������c tuy��n b���"
 
-#: eval.c:1804
+#: eval.c:1904
 #, c-format
 msgid "function `%s' not defined"
 msgstr "ch��a x��c �����nh ch���c n��ng �� %s ��"
 
-#: eval.c:1867
+#: eval.c:1971
 #, c-format
 msgid ""
 "\n"
@@ -926,44 +953,49 @@
 "\t# �����ng g���i ch���c n��ng:\n"
 "\n"
 
-#: eval.c:1870
+#: eval.c:1974
 #, c-format
 msgid "\t# -- main --\n"
 msgstr ""
 "\t# -- main --\n"
 "(ch��nh)\n"
 
-#: eval.c:2025
+#: eval.c:2129
 msgid "attempt to field reference from non-numeric value"
 msgstr "c��� g���ng tham chi���u tr�����ng t��� gi�� tr��� kh��c thu���c s���"
 
-#: eval.c:2027
+#: eval.c:2131
 msgid "attempt to reference from null string"
 msgstr "c��� tham chi���u t��� chu���i v�� gi�� tr���"
 
-#: eval.c:2033
+#: eval.c:2137
 #, c-format
 msgid "attempt to access field %d"
 msgstr "c��� g���ng truy c���p tr�����ng %d"
 
-#: eval.c:2054 eval.c:2061 profile.c:914
+#: eval.c:2158 eval.c:2165 profile.c:836
 msgid "assignment is not allowed to result of builtin function"
 msgstr "kh��ng cho ph��p g��n cho k���t qu��� c���a ch���c n��ng �� builtin �� (c�� s���n)"
 
-#: eval.c:2125
+#: eval.c:2229
 msgid "`IGNORECASE' is a gawk extension"
 msgstr "�� IGNORECASE �� (b��� qua ch��� hoa/th�����ng) l�� ph���n m��� r���ng gawk"
 
-#: eval.c:2155
+#: eval.c:2258
 msgid "`BINMODE' is a gawk extension"
 msgstr "�� BINMODE �� (ch��� ����� nh��� ph��n) l�� ph���n m��� r���ng gawk"
 
-#: eval.c:2277
+#: eval.c:2316
+#, c-format
+msgid "BINMODE value `%s' is invalid, treated as 3"
+msgstr ""
+
+#: eval.c:2406
 #, c-format
 msgid "bad `%sFMT' specification `%s'"
 msgstr "�����c t��� �� %sFMT �� sai �� %s ��"
 
-#: eval.c:2355
+#: eval.c:2484
 msgid "turning off `--lint' due to assignment to `LINT'"
 msgstr "��ang t���t �� --lint �� do vi���c g��n cho �� LINT ��"
 
@@ -1028,14 +1060,12 @@
 #: ext.c:217
 #, c-format
 msgid "function `%s': argument #%d: attempt to use scalar as an array"
-msgstr ""
-"ch���c n��ng �� %s ��: �����i s��� th��� %d: c��� g���ng d��ng ��i���u v�� h�����ng nh�� l�� m���ng"
+msgstr "ch���c n��ng �� %s ��: �����i s��� th��� %d: c��� g���ng d��ng ��i���u v�� h�����ng nh�� l�� m���ng"
 
 #: ext.c:221
 #, c-format
 msgid "function `%s': argument #%d: attempt to use array as a scalar"
-msgstr ""
-"ch���c n��ng �� %s ��: �����i s��� th��� %d: c��� g���ng d��ng m���ng nh�� l�� ��i���u v�� h�����ng"
+msgstr "ch���c n��ng �� %s ��: �����i s��� th��� %d: c��� g���ng d��ng m���ng nh�� l�� ��i���u v�� h�����ng"
 
 #: ext.c:246
 msgid "Operation Not Supported"
@@ -1045,610 +1075,618 @@
 msgid "NF set to negative value"
 msgstr "�� NF �� �������c �����t th��nh gi�� tr��� ��m"
 
-#: field.c:823
+#: field.c:875
 msgid "split: second argument is not an array"
 msgstr "split: (chia t��ch) �����i s��� th��� hai kh��ng ph���i l�� m���ng"
 
-#: field.c:857
+#: field.c:909
 msgid "split: null string for third arg is a gawk extension"
 msgstr ""
 "split: (chia t��ch) chu���i v�� gi�� tr��� cho �����i s��� th��� ba l�� ph���n m��� r���ng gawk"
 
-#: field.c:909
+#: field.c:961
 msgid "`FIELDWIDTHS' is a gawk extension"
 msgstr "�� FIELDWIDTHS �� (����� r���ng tr�����ng) l�� ph���n m��� r���ng gawk"
 
-#: field.c:939 field.c:953
+#: field.c:991 field.c:1005
 #, c-format
 msgid "invalid FIELDWIDTHS value, near `%s'"
 msgstr "gi�� tr��� FIELDWIDTHS (����� r���ng tr�����ng) kh��ng h���p l���, g���n �� %s ��"
 
-#: field.c:1036
+#: field.c:1088
 msgid "null string for `FS' is a gawk extension"
 msgstr "chu���i v�� gi�� tr��� cho �� FS �� l�� ph���n m��� r���ng gawk"
 
-#: field.c:1040
+#: field.c:1092
 msgid "old awk does not support regexps as value of `FS'"
 msgstr "awk c�� kh��ng h��� tr��� bi���u th���c ch��nh quy l��m gi�� tr��� c���a �� FS ��"
 
-#: getopt.c:571 getopt.c:587
-#, c-format
-msgid "%s: option `%s' is ambiguous\n"
+#: getopt.c:570 getopt.c:586
+#, fuzzy, c-format
+msgid "%s: option '%s' is ambiguous\n"
 msgstr "%s: t��y ch���n �� %s �� l�� m�� h���\n"
 
-#: getopt.c:620 getopt.c:624
-#, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
+#: getopt.c:619 getopt.c:623
+#, fuzzy, c-format
+msgid "%s: option '--%s' doesn't allow an argument\n"
 msgstr "%s: t��y ch���n �� --%s �� kh��ng cho ph��p �����i s���\n"
 
-#: getopt.c:633 getopt.c:638
-#, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
+#: getopt.c:632 getopt.c:637
+#, fuzzy, c-format
+msgid "%s: option '%c%s' doesn't allow an argument\n"
 msgstr "%s: t��y ch���n �� %c%s �� kh��ng cho ph��p �����i s���\n"
 
-#: getopt.c:681 getopt.c:700 getopt.c:1016 getopt.c:1035
-#, c-format
-msgid "%s: option `%s' requires an argument\n"
+#: getopt.c:680 getopt.c:699 getopt.c:1002 getopt.c:1021
+#, fuzzy, c-format
+msgid "%s: option '%s' requires an argument\n"
 msgstr "%s: t��y ch���n ��%s�� c���n �����n �����i s���\n"
 
-#: getopt.c:738 getopt.c:741
-#, c-format
-msgid "%s: unrecognized option `--%s'\n"
+#: getopt.c:737 getopt.c:740
+#, fuzzy, c-format
+msgid "%s: unrecognized option '--%s'\n"
 msgstr "%s: kh��ng nh���n di���n t��y ch���n �� --%s ��\n"
 
-#: getopt.c:749 getopt.c:752
-#, c-format
-msgid "%s: unrecognized option `%c%s'\n"
+#: getopt.c:748 getopt.c:751
+#, fuzzy, c-format
+msgid "%s: unrecognized option '%c%s'\n"
 msgstr "%s: kh��ng nh���n di���n t��y ch���n �� %c%s ��\n"
 
-#: getopt.c:804 getopt.c:807
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: kh��ng cho ph��p t��y ch���n �� -- %c ��\n"
-
-#: getopt.c:813 getopt.c:816
-#, c-format
-msgid "%s: invalid option -- %c\n"
+#: getopt.c:800 getopt.c:803
+#, fuzzy, c-format
+msgid "%s: invalid option -- '%c'\n"
 msgstr "%s: t��y ch���n kh��ng h���p l��� �� -- %c ��\n"
 
-#: getopt.c:868 getopt.c:884 getopt.c:1088 getopt.c:1106 main.c:461
-#, c-format
-msgid "%s: option requires an argument -- %c\n"
+#: getopt.c:853 getopt.c:870 getopt.c:1073 getopt.c:1091
+#, fuzzy, c-format
+msgid "%s: option requires an argument -- '%c'\n"
 msgstr "%s: t��y ch���n c���n �����n �����i s��� �� -- %c ��\n"
 
-#: getopt.c:937 getopt.c:953
-#, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
+#: getopt.c:923 getopt.c:939
+#, fuzzy, c-format
+msgid "%s: option '-W %s' is ambiguous\n"
 msgstr "%s: t��y ch���n �� -W %s �� l�� m�� h���\n"
 
-#: getopt.c:977 getopt.c:995
-#, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
+#: getopt.c:963 getopt.c:981
+#, fuzzy, c-format
+msgid "%s: option '-W %s' doesn't allow an argument\n"
 msgstr "%s: t��y ch���n ��-W %s�� kh��ng cho ph��p �����i s���\n"
 
-#: io.c:345
+#: io.c:322 io.c:352
 #, c-format
 msgid "cannot open file `%s' for reading (%s)"
 msgstr "kh��ng m��� �������c t���p tin ��%s�� ����� ghi (%s)"
 
-#: io.c:436
+#: io.c:443
 #, c-format
 msgid "close of fd %d (`%s') failed (%s)"
 msgstr "l���i ����ng �� fd %d �� (�� %s ��) (%s)"
 
-#: io.c:575
+#: io.c:583
 #, c-format
 msgid "invalid tree type %s in redirect()"
 msgstr "ki���u c��y kh��ng h���p l��� �� %s �� trong �� redirect() ��"
 
-#: io.c:581
+#: io.c:589
 #, c-format
 msgid "expression in `%s' redirection only has numeric value"
 msgstr "bi���u th���c trong ��i���u chuy���n h�����ng �� %s �� ch��� c�� gi�� tr��� thu���c s���"
 
-#: io.c:587
+#: io.c:595
 #, c-format
 msgid "expression for `%s' redirection has null string value"
 msgstr "bi���u th���c cho ��i���u chuy���n h�����ng ��%s�� c�� gi�� tr��� chu���i v�� gi�� tr���"
 
-#: io.c:592
+#: io.c:600
 #, c-format
 msgid "filename `%s' for `%s' redirection may be result of logical expression"
 msgstr ""
 "t��n t���p tin ��%s�� cho ��i���u chuy���n h�����ng ��%s�� c�� l��� l�� k���t qu��� c���a bi���u th���c "
 "lu���n l��"
 
-#: io.c:630
+#: io.c:638
 #, c-format
 msgid "unnecessary mixing of `>' and `>>' for file `%.*s'"
 msgstr "kh��ng c���n h���p �� > �� v�� �� >> �� cho t���p tin �� %.*s ��"
 
-#: io.c:682
+#: io.c:685
 #, c-format
 msgid "can't open pipe `%s' for output (%s)"
 msgstr "kh��ng th��� m��� ���ng d���n �� %s �� ����� xu���t (%s)"
 
-#: io.c:691
+#: io.c:694
 #, c-format
 msgid "can't open pipe `%s' for input (%s)"
 msgstr "kh��ng th��� m��� ���ng d���n �� %s �� ����� nh���p (%s)"
 
-#: io.c:698 io.c:1448
-#, c-format
-msgid "file `%s' is a directory"
-msgstr "t���p tin �� %s �� l�� th�� m���c"
-
-#: io.c:706
+#: io.c:712
 #, c-format
 msgid "can't open two way socket `%s' for input/output (%s)"
 msgstr "kh��ng th��� m��� ��� c���m hai chi���u �� %s �� ����� nh���p/xu���t (%s)"
 
-#: io.c:710
+#: io.c:716
 #, c-format
 msgid "can't open two way pipe `%s' for input/output (%s)"
 msgstr "kh��ng th��� m��� ���ng d���n hai chi���u �� %s �� ����� nh���p/xu���t (%s)"
 
-#: io.c:786
+#: io.c:793
 #, c-format
 msgid "can't redirect from `%s' (%s)"
 msgstr "kh��ng th��� chuy���n h�����ng t��� �� %s �� (%s)"
 
-#: io.c:789
+#: io.c:796
 #, c-format
 msgid "can't redirect to `%s' (%s)"
 msgstr "kh��ng th��� chuy���n h�����ng �����n ��%s�� (%s)"
 
-#: io.c:828
+#: io.c:849
 msgid ""
 "reached system limit for open files: starting to multiplex file descriptors"
 msgstr ""
 "���� t���i gi���i h���n h��� th���ng v��� t���p tin �������c m��� n��n b���t �����u ph���i h���p nhi���u d��ng "
 "��i���u m�� t��� t���p tin"
 
-#: io.c:844
+#: io.c:865
 #, c-format
 msgid "close of `%s' failed (%s)."
 msgstr "l���i ����ng �� %s �� (%s)"
 
-#: io.c:852
+#: io.c:873
 msgid "too many pipes or input files open"
 msgstr "qu�� nhi���u ���ng d���n hay t���p tin nh���p �������c m���"
 
-#: io.c:875
+#: io.c:896
 msgid "close: second argument must be `to' or `from'"
 msgstr "close: (����ng) �����i s��� th��� hai ph���i l�� �� to �� (�����n) hay �� from �� (t���)"
 
-#: io.c:889
+#: io.c:910
 #, c-format
 msgid "close: `%.*s' is not an open file, pipe or co-process"
 msgstr ""
 "close: (����ng) �� %.*s �� kh��ng ph���i l�� t���p tin �������c m���, ���ng d���n hay ti���n tr��nh "
 "v���i nhau"
 
-#: io.c:893
+#: io.c:915
 msgid "close of redirection that was never opened"
 msgstr "vi���c ����ng ��i���u chuy���n h�����ng ch��a m���"
 
-#: io.c:989
+#: io.c:1012
 #, c-format
 msgid "close: redirection `%s' not opened with `|&', second argument ignored"
 msgstr ""
-"close: (����ng) ��i���u chuy���n h�����ng �� %s �� kh��ng �������c m��� b���i �� |& �� n��n �����i s��� "
-"th��� hai b��� b��� qua"
+"close: (����ng) ��i���u chuy���n h�����ng �� %s �� kh��ng �������c m��� b���i �� |& �� n��n �����i s��� th��� "
+"hai b��� b��� qua"
 
-#: io.c:1005
+#: io.c:1028
 #, c-format
 msgid "failure status (%d) on pipe close of `%s' (%s)"
 msgstr "tr���ng th��i th���t b���i (%d) khi ����ng ���ng d���n ��%s�� (%s)"
 
-#: io.c:1008
+#: io.c:1031
 #, c-format
 msgid "failure status (%d) on file close of `%s' (%s)"
 msgstr "tr���ng th��i th���t b���i (%d) khi ����ng t���p tin ��%s�� (%s)"
 
-#: io.c:1028
+#: io.c:1051
 #, c-format
 msgid "no explicit close of socket `%s' provided"
 msgstr "kh��ng c�� vi���c ����ng d���t kho��t ��� c���m �� %s �� �������c cung c���p"
 
-#: io.c:1031
+#: io.c:1054
 #, c-format
 msgid "no explicit close of co-process `%s' provided"
 msgstr "kh��ng c�� vi���c ����ng d���t kho��t �����ng ti���n tr��nh �� %s �� �������c cung c���p"
 
-#: io.c:1034
+#: io.c:1057
 #, c-format
 msgid "no explicit close of pipe `%s' provided"
 msgstr "kh��ng c�� vi���c ����ng d���t kho��t ���ng d���n �� %s �� �������c cung c���p"
 
-#: io.c:1037
+#: io.c:1060
 #, c-format
 msgid "no explicit close of file `%s' provided"
 msgstr "kh��ng c�� vi���c ����ng d���t kho��t t���p tin �� %s �� �������c cung c���p"
 
-#: io.c:1066 io.c:1121 main.c:749 main.c:791
+#: io.c:1088 io.c:1143 main.c:776 main.c:818
 #, c-format
 msgid "error writing standard output (%s)"
 msgstr "g���p l���i khi ghi thi���t b��� x������t chu���n (%s)"
 
-#: io.c:1070 io.c:1126
+#: io.c:1092 io.c:1148
 #, c-format
 msgid "error writing standard error (%s)"
 msgstr "g���p l���i khi ghi thi���t b��� l���i chu���n (%s)"
 
-#: io.c:1078
+#: io.c:1100
 #, c-format
 msgid "pipe flush of `%s' failed (%s)."
 msgstr "l���i x��a s���ch ���ng d���n �� %s �� (%s)"
 
-#: io.c:1081
+#: io.c:1103
 #, c-format
 msgid "co-process flush of pipe to `%s' failed (%s)."
 msgstr "l���i x��a s���ch ���ng d���n �����ng ti���n tr��nh �����n �� %s �� (%s)"
 
-#: io.c:1084
+#: io.c:1106
 #, c-format
 msgid "file flush of `%s' failed (%s)."
 msgstr "l���i x��a s���ch t���p tin �� %s �� (%s)"
 
-#: io.c:1198
+#: io.c:1220
 #, c-format
 msgid "local port %s invalid in `/inet'"
 msgstr "c���ng c���c b��� %s kh��ng h���p l��� trong �� /inet ��"
 
-#: io.c:1215
+#: io.c:1237
 #, c-format
 msgid "remote host and port information (%s, %s) invalid"
 msgstr "th��ng tin v��� m��y/c���ng ��� xa (%s, %s) kh��ng ph���i h���p l���"
 
-#: io.c:1250
+#: io.c:1272
 msgid "/inet/raw client not ready yet, sorry"
 msgstr "ti���c l�� ���ng d���ng kh��ch <inet/raw> ch��a s���n s��ng"
 
-#: io.c:1253 io.c:1289
+#: io.c:1275 io.c:1311
 msgid "only root may use `/inet/raw'."
 msgstr "ch��� ng�����i ch��� (root) c�� th��� d��ng </inet/raw> th��i"
 
-#: io.c:1287
+#: io.c:1309
 msgid "/inet/raw server not ready yet, sorry"
 msgstr "ti���c l�� tr��nh ph���c v��� </inet/raw> ch��a s���n s��ng"
 
-#: io.c:1385
+#: io.c:1407
 #, c-format
 msgid "no (known) protocol supplied in special filename `%s'"
 msgstr ""
 "trong t��n t���p tin �����c bi���t �� %s �� kh��ng cung c���p giao th���c (���� bi���t) n��o"
 
-#: io.c:1399
+#: io.c:1421
 #, c-format
 msgid "special file name `%s' is incomplete"
 msgstr "t��n t���p tin �����c bi���t �� %s �� ch��a xong"
 
-#: io.c:1414
+#: io.c:1436
 msgid "must supply a remote hostname to `/inet'"
 msgstr "ph���i cung c���p m���t t��n m��y t��� xa cho </inet>"
 
-#: io.c:1432
+#: io.c:1454
 msgid "must supply a remote port to `/inet'"
 msgstr "ph���i cung c���p m���t c���ng t��� xa cho </inet>"
 
-#: io.c:1439
+#: io.c:1485
 msgid "TCP/IP communications are not supported"
 msgstr "truy���n th��ng TCP/IP kh��ng �������c h��� tr���"
 
-#: io.c:1509
+#: io.c:1494
+#, c-format
+msgid "file `%s' is a directory"
+msgstr "t���p tin �� %s �� l�� th�� m���c"
+
+#: io.c:1555
 #, c-format
 msgid "use `PROCINFO[\"%s\"]' instead of `%s'"
 msgstr "h��y d��ng �� PROCINFO[\"%s\"] �� (th��ng tin ti���n tr��nh) thay cho �� %s ��"
 
-#: io.c:1547
+#: io.c:1593
 msgid "use `PROCINFO[...]' instead of `/dev/user'"
 msgstr "h��y d��ng �� PROCINFO[...] �� (th��ng tin ti���n tr��nh) thay cho </dev/user>"
 
-#: io.c:1612 io.c:1798
+#: io.c:1658 io.c:1853
 #, c-format
 msgid "could not open `%s', mode `%s'"
 msgstr "kh��ng m��� �������c ��%s��, ch��� ����� ��%s��"
 
-#: io.c:1849
+#: io.c:1904
 #, c-format
 msgid "close of master pty failed (%s)"
 msgstr "l���i ����ng pty (t��i s���n?) ch��nh (%s)"
 
-#: io.c:1851 io.c:2003 io.c:2154
+#: io.c:1906 io.c:2058 io.c:2209
 #, c-format
 msgid "close of stdout in child failed (%s)"
 msgstr "l���i ����ng thi���t b��� xu���t chu���n trong ti���n tr��nh con (%s)"
 
-#: io.c:1854
+#: io.c:1909
 #, c-format
 msgid "moving slave pty to stdout in child failed (dup: %s)"
 msgstr ""
 "l���i di chuy���n pty (t��i s���n?) ph��� t���i thi���t b��� xu���t chu���n trong ��i���u con "
 "(nh��n ����i: %s)"
 
-#: io.c:1856 io.c:2008
+#: io.c:1911 io.c:2063
 #, c-format
 msgid "close of stdin in child failed (%s)"
 msgstr "l���i ����ng thi���t b��� nh���p chu���n trong ti���n tr��nh con (%s)"
 
-#: io.c:1859
+#: io.c:1914
 #, c-format
 msgid "moving slave pty to stdin in child failed (dup: %s)"
 msgstr ""
 "l���i di chuy���n pty (t��i s���n?) ph��� t���i thi���t b��� nh���p chu���n trong ��i���u con "
 "(nh��n ����i: %s)"
 
-#: io.c:1861 io.c:1880
+#: io.c:1916 io.c:1935
 #, c-format
 msgid "close of slave pty failed (%s)"
 msgstr "l���i ����ng pty (t��i s���n?) ph��� (%s)"
 
-#: io.c:1954 io.c:2006 io.c:2135 io.c:2157
+#: io.c:2009 io.c:2061 io.c:2190 io.c:2212
 #, c-format
 msgid "moving pipe to stdout in child failed (dup: %s)"
 msgstr ""
 "l���i di chuy���n ���ng d���n �����n thi���t b��� xu���t chu���n trong ti���n tr��nh con (dup: %s) "
 "(nh��n ����i)"
 
-#: io.c:1958 io.c:2011
+#: io.c:2013 io.c:2066
 #, c-format
 msgid "moving pipe to stdin in child failed (dup: %s)"
 msgstr ""
 "l���i di chuy���n ���ng d���n �����n thi���t b��� nh���p chu���n trong ti���n tr��nh con (dup: %s) "
 "(nh��n ����i)"
 
-#: io.c:1975 io.c:2148
+#: io.c:2030 io.c:2203
 msgid "restoring stdout in parent process failed\n"
 msgstr "l���i ph���c h���i thi���t b��� xu���t chu���n trong ti���n tr��nh m���\n"
 
-#: io.c:1980
+#: io.c:2035
 msgid "restoring stdin in parent process failed\n"
 msgstr "l���i ph���c h���i thi���t b��� nh���p chu���n trong ti���n tr��nh m���\n"
 
-#: io.c:2014 io.c:2159 io.c:2170
+#: io.c:2069 io.c:2214 io.c:2225
 #, c-format
 msgid "close of pipe failed (%s)"
 msgstr "l���i ����ng ���ng d���n (%s)"
 
-#: io.c:2059
+#: io.c:2114
 msgid "`|&' not supported"
 msgstr "�� |& �� kh��ng �������c h��� tr���"
 
-#: io.c:2125
+#: io.c:2180
 #, c-format
 msgid "cannot open pipe `%s' (%s)"
 msgstr "kh��ng th��� m��� ���ng d���n �� %s �� (%s)"
 
-#: io.c:2166
+#: io.c:2221
 #, c-format
 msgid "cannot create child process for `%s' (fork: %s)"
 msgstr "kh��ng th��� t���o ti���n tr��nh con cho �� %s �� (fork: %s)"
 
-#: io.c:2548
+#: io.c:2603
 #, c-format
 msgid "data file `%s' is empty"
 msgstr "t���p tin d��� li���u �� %s �� l�� r���ng"
 
-#: io.c:2589 io.c:2597
+#: io.c:2644 io.c:2652
 msgid "could not allocate more input memory"
 msgstr "kh��ng th��� c���p ph��t b��� nh��� nh���p th��m n���a"
 
-#: io.c:2965 io.c:3038
+#: io.c:3020 io.c:3093
 #, c-format
 msgid "error reading input file `%s': %s"
 msgstr "g���p l���i khi �����c t���p tin nh���p �� %s ��: %s"
 
-#: io.c:3163
+#: io.c:3218
 msgid "multicharacter value of `RS' is a gawk extension"
 msgstr "gi�� tr��� ��a k�� t��� c���a �� RS �� l�� ph���n m��� r���ng gawk"
 
-#: main.c:351
+#: main.c:304
+msgid "out of memory"
+msgstr ""
+
+#: main.c:373
 msgid "`-m[fr]' option irrelevant in gawk"
 msgstr "t��y ch���n �� -m[fr] �� kh��ng th��ch ��ang trong gawk"
 
-#: main.c:353
+#: main.c:375
 msgid "-m option usage: `-m[fr] nnn'"
 msgstr "c��ch s��� d���ng t��y ch���n ��-m��: �� -m[fr] nnn ��"
 
-#: main.c:370
+#: main.c:392
 #, c-format
 msgid "%s: option `-W %s' unrecognized, ignored\n"
 msgstr "%s: t��y ch���n �� -W %s �� kh��ng �������c nh���n di���n n��n b��� b��� qua\n"
 
-#: main.c:407
+#: main.c:433
 msgid "empty argument to `--source' ignored"
 msgstr "�����i s��� r���ng t���i �� --source �� (ngu���n) b��� b��� qua"
 
-#: main.c:480
+#: main.c:487
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: t��y ch���n c���n �����n �����i s��� �� -- %c ��\n"
+
+#: main.c:506
 msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'"
 msgstr ""
 "bi���n m��i tr�����ng �� POSIXLY_CORRECT �� (����ng ki���u POSIX) ���� �������c �����t; ��ang b���t "
 "t��y ch���n �� --posix ��"
 
-#: main.c:486
+#: main.c:512
 msgid "`--posix' overrides `--traditional'"
 msgstr "t��y ch���n �� --posix �� c�� quy���n cao h��n �� --traditional �� (truy���n th���ng)"
 
-#: main.c:497
+#: main.c:523
 msgid "`--posix'/`--traditional' overrides `--non-decimal-data'"
 msgstr ""
-"�� --posix ��/�� --traditional �� (truy���n th���ng) c�� quy���n cao h��n �� --non-"
-"decimal-data �� (d��� li���u kh��c th���p ph��n)"
+"�� --posix ��/�� --traditional �� (truy���n th���ng) c�� quy���n cao h��n �� --non-decimal-"
+"data �� (d��� li���u kh��c th���p ph��n)"
 
-#: main.c:501
+#: main.c:527
 #, c-format
 msgid "running %s setuid root may be a security problem"
 msgstr "vi���c ch���y %s v���i t�� c��ch �� setuid root �� c�� th��� r���i r��� b���o m���t"
 
-#: main.c:542
+#: main.c:568
 #, c-format
 msgid "can't set binary mode on stdin (%s)"
 msgstr "kh��ng th��� �����t ch��� ����� nh��� ph��n tr��n thi���t b��� nh���p chu���n (%s)"
 
-#: main.c:545
+#: main.c:571
 #, c-format
 msgid "can't set binary mode on stdout (%s)"
 msgstr "kh��ng th��� �����t ch��� ����� nh��� ph��n tr��n thi���t b��� xu���t chu���n (%s)"
 
-#: main.c:547
+#: main.c:573
 #, c-format
 msgid "can't set binary mode on stderr (%s)"
 msgstr "kh��ng th��� �����t ch��� ����� nh��� ph��n tr��n thi���t b��� l���i chu���n (%s)"
 
-#: main.c:586
+#: main.c:612
 msgid "no program text at all!"
 msgstr "kh��ng c�� ��o���n ch��� ch����ng tr��nh n��o c��� !"
 
-#: main.c:690
+#: main.c:716
 #, c-format
 msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n"
 msgstr ""
 "C��ch s��� d���ng: %s [t��y ch���n ki���u POSIX hay GNU] -f t���p_tin_ch����ng_tr��nh [--] "
 "t���p_tin ...\n"
 
-#: main.c:692
+#: main.c:718
 #, c-format
 msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n"
 msgstr ""
 "C��ch s��� d���ng: %s [t��y ch���n ki���u POSIX hay GNU] [--] %cch����ng_tr��nh%c "
 "t���p_tin ...\n"
 
-#: main.c:697
+#: main.c:723
 msgid "POSIX options:\t\tGNU long options:\n"
 msgstr "t��y ch���n POSIX:\t\tt��y ch���n d��i GNU:\n"
 
-#: main.c:698
+#: main.c:724
 msgid "\t-f progfile\t\t--file=progfile\n"
 msgstr "\t-f t���p_tin_ch����ng_tr��nh\t\t--file=t���p_tin_ch����ng_tr��nh\n"
 
-#: main.c:699
+#: main.c:725
 msgid "\t-F fs\t\t\t--field-separator=fs\n"
 msgstr "\t-F fs\t\t\t--field-separator=��i���u ph��n c��ch tr�����ng\n"
 
-#: main.c:700
+#: main.c:726
 msgid "\t-v var=val\t\t--assign=var=val\n"
 msgstr ""
 "\t-v var=gi�� tr���\t\t--assign=bi���n=gi��_tr���\n"
 "(assign: g��n, var: bi���n)\n"
 
-#: main.c:701
+#: main.c:727
 msgid "\t-m[fr] val\n"
 msgstr "\t-m[fr] gi��_tr���\n"
 
-#: main.c:702
+#: main.c:728
+msgid "\t-O\t\t\t--optimize\n"
+msgstr ""
+
+#: main.c:729
 msgid "\t-W compat\t\t--compat\n"
 msgstr ""
 "\t-W compat\t\t--compat\n"
 "(compat l�� vi���t t���t cho compatible: t����ng th��ch)\n"
 
-#: main.c:703
+#: main.c:730
 msgid "\t-W copyleft\t\t--copyleft\n"
 msgstr ""
 "\t-W copyleft\t\t--copyleft\n"
 "(t���c quy���n ng�����c)\n"
 
-#: main.c:704
+#: main.c:731
 msgid "\t-W copyright\t\t--copyright\n"
 msgstr ""
 "\t-W copyright\t\t--copyright\n"
 "(t��c quy���n)\n"
 
-#: main.c:705
+#: main.c:732
 msgid "\t-W dump-variables[=file]\t--dump-variables[=file]\n"
 msgstr ""
 "\t-W dump-variables[=t���p_tin]\t--dump-variables[=t���p_tin]\n"
 "(����� c��c bi���n)\n"
 
-#: main.c:706
+#: main.c:733
 msgid "\t-W exec=file\t\t--exec=file\n"
 msgstr "\t-W exec=t���p_tin\t\t--exec=t���p_tin\n"
 
-#: main.c:707
+#: main.c:734
 msgid "\t-W gen-po\t\t--gen-po\n"
 msgstr ""
 "\t-W gen-po\t\t--gen-po\n"
 "(gen l�� vi���t t���t cho generate: t���o ra)\n"
 
-#: main.c:708
+#: main.c:735
 msgid "\t-W help\t\t\t--help\n"
 msgstr ""
 "\t-W help\t\t\t--help\n"
 "(tr��� gi��p)\n"
 
-#: main.c:709
+#: main.c:736
 msgid "\t-W lint[=fatal]\t\t--lint[=fatal]\n"
 msgstr ""
 "\t-W lint[=fatal]\t\t--lint[=fatal]\n"
 "(l? int l�� vi���t t���t cho integer: s��� nguy��n\n"
 "fatal: nghi��m tr���ng)\n"
 
-#: main.c:710
+#: main.c:737
 msgid "\t-W lint-old\t\t--lint-old\n"
 msgstr ""
 "\t-W lint-old\t\t--lint-old\n"
 "(old: c��)\n"
 
-#: main.c:711
+#: main.c:738
 msgid "\t-W non-decimal-data\t--non-decimal-data\n"
 msgstr ""
 "\t-W non-decimal-data\t--non-decimal-data\n"
 "(d��� li���u kh��c th���p ph��n)\n"
 
-#: main.c:713
+#: main.c:740
 msgid "\t-W nostalgia\t\t--nostalgia\n"
 msgstr ""
 "\t-W nostalgia\t\t--nostalgia\n"
 "(n���i luy���n ti���c qu�� kh���)\n"
 
-#: main.c:716
+#: main.c:743
 msgid "\t-W parsedebug\t\t--parsedebug\n"
 msgstr ""
 "\t-W parsedebug\t\t--parsedebug\n"
 "(parse: ph��n t��ch\n"
 "debug: g��� l���i)\n"
 
-#: main.c:718
+#: main.c:745
 msgid "\t-W profile[=file]\t--profile[=file]\n"
 msgstr ""
 "\t-W profile[=t���p_tin]\t--profile[=t���p_tin]\n"
 "(profile: h��� s��)\n"
 
-#: main.c:719
+#: main.c:746
 msgid "\t-W posix\t\t--posix\n"
 msgstr "\t-W posix\t\t--posix\n"
 
-#: main.c:720
+#: main.c:747
 msgid "\t-W re-interval\t\t--re-interval\n"
 msgstr ""
 "\t-W re-interval\t\t--re-interval\n"
 "(re-[�����ng t���]: [l��m] l���i\n"
 "interval: th���i gian gi���a hai l��c)\n"
 
-#: main.c:721
+#: main.c:748
 msgid "\t-W source=program-text\t--source=program-text\n"
 msgstr ""
 "\t-W source=program-text\t--source=program-text\n"
 "(source: ngu���n\n"
 "program-text: ��o���n ch��� c���a ch����ng tr��nh)\n"
 
-#: main.c:722
+#: main.c:749
 msgid "\t-W traditional\t\t--traditional\n"
 msgstr ""
 "\t-W traditional\t\t--traditional\n"
 "(truy���n th���ng)\n"
 
-#: main.c:723
+#: main.c:750
 msgid "\t-W usage\t\t--usage\n"
 msgstr ""
 "\t-W usage\t\t--usage\n"
 "(c��ch s��� d���ng)\n"
 
-#: main.c:724
+#: main.c:751
 msgid "\t-W use-lc-numeric\t--use-lc-numeric\n"
-msgstr ""
+msgstr "\t-W use-lc-numeric\t--use-lc-numeric\n"
 
-#: main.c:725
+#: main.c:752
 msgid "\t-W version\t\t--version\n"
 msgstr ""
 "\t-W version\t\t--version\n"
@@ -1659,7 +1697,7 @@
 #. for this application.  Please add _another line_ with the
 #. address for translation bugs.
 #. no-wrap
-#: main.c:734
+#: main.c:761
 msgid ""
 "\n"
 "To report bugs, see node `Bugs' in `gawk.info', which is\n"
@@ -1673,7 +1711,7 @@
 "trong b���n in.\n"
 "\n"
 
-#: main.c:738
+#: main.c:765
 msgid ""
 "gawk is a pattern scanning and processing language.\n"
 "By default it reads standard input and writes standard output.\n"
@@ -1683,7 +1721,7 @@
 "M���c �����nh l�� n�� �����c thi���t b��� nh���p chu���n v�� ghi ra thi���t b��� xu���t chu���n.\n"
 "\n"
 
-#: main.c:742
+#: main.c:769
 msgid ""
 "Examples:\n"
 "\tgawk '{ sum += $1 }; END { print sum }' file\n"
@@ -1693,7 +1731,7 @@
 "\tgawk '{ sum += $1 }; END { print sum }' file\n"
 "\tgawk -F: '{ print $1 }' /etc/passwd\n"
 
-#: main.c:762
+#: main.c:789
 #, c-format
 msgid ""
 "Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
@@ -1706,13 +1744,13 @@
 msgstr ""
 "T��c quy���n �� n��m 1989, 1991-%d c���a T��� ch���c Ph���n m���m T��� do.\n"
 "\n"
-"Ch����ng tr��nh n��y l�� ph���n m���m t��� do; b���n c�� th��� ph��n ph���i l���i n��\n"
-"v��/hay s���a �����i n�� v���i ��i���u ki���n c���a B���n Quy���n C��ng Chung GNU (GPL)\n"
-"nh�� do T��� ch���c Ph���n m���m T��� do xu���t b���n, ho���c phi��n b���n 3\n"
-"c���a B���n Quy���n, ho���c (t��y ch���n) b���t c��� phi��n b���n sau n��o.\n"
+"Ch����ng tr��nh n��y l�� ph���n m���m t��� do; b���n c�� th��� ph��t h��nh l���i n�� v��/ho���c s���a "
+"�����i n�� v���i ��i���u ki���n c���a Gi���y Ph��p C��ng C���ng GNU nh�� �������c xu���t b���n b���i T��� "
+"Ch���c Ph���n M���m T��� Do; ho���c phi��n b���n 3 c���a Gi���y Ph��p n��y, ho���c (t��y ch���n) b���t "
+"k��� phi��n b���n sau n��o.\n"
 "\n"
 
-#: main.c:770
+#: main.c:797
 msgid ""
 "This program is distributed in the hope that it will be useful,\n"
 "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
@@ -1726,24 +1764,20 @@
 "H��y xem B���n Quy���n C��ng Chung GNU (GPL) ����� t��m chi ti���t.\n"
 "\n"
 
-#: main.c:781
-#, fuzzy
+#: main.c:808
 msgid ""
 "You should have received a copy of the GNU General Public License\n"
 "along with this program. If not, see http://www.gnu.org/licenses/.\n"
 msgstr ""
-"B���n n��n ���� nh���n m���t b���n sao c���a B���n Quy���n C��ng Chung GNU\n"
-"c��ng v���i ch����ng tr��nh n��y; n���u kh��ng, h��y vi���t th�� cho\n"
-"T��� ch���c Ph���n m���m T��� do:\n"
-"Free Software Foundation, Inc.,\n"
-"51 Franklin Street, Fifth Floor,\n"
-"Boston, MA  02110-1301, USA (M���).\n"
+"B���n n��n ���� nh���n m���t b���n sao c���a Gi���y Ph��p C��ng C���ng GNU\n"
+"c��ng v���i ch����ng tr��nh n��y. Kh��ng th�� xem �����a ch��� �� http://www.gnu.org/"
+"licenses/ ��.\n"
 
-#: main.c:816
+#: main.c:843
 msgid "-Ft does not set FS to tab in POSIX awk"
 msgstr "-Ft kh��ng �����t FS (h��� th���ng t���p tin?) l�� tab trong awk POSIX"
 
-#: main.c:1060
+#: main.c:1117
 #, c-format
 msgid ""
 "%s: `%s' argument to `-v' not in `var=value' form\n"
@@ -1752,35 +1786,45 @@
 "%s: �����i s��� �� %s �� �����i v���i �� -v �� kh��ng ph���i c�� d���ng �� bi���n=gi��_tr��� ��\n"
 "\n"
 
-#: main.c:1080
+#: main.c:1137
 #, c-format
 msgid "`%s' is not a legal variable name"
 msgstr "�� %s �� kh��ng ph���i l�� t��n bi���n h���p l���"
 
-#: main.c:1083
+#: main.c:1140
 #, c-format
 msgid "`%s' is not a variable name, looking for file `%s=%s'"
 msgstr "�� %s �� kh��ng ph���i l�� t��n bi���n; ��ang t��m t���p tin �� %s=%s ��"
 
-#: main.c:1122
+#: main.c:1179
 msgid "floating point exception"
 msgstr "ngo���i l��� ��i���m ph�� �����ng"
 
-#: main.c:1129
+#: main.c:1186
 msgid "fatal error: internal error"
 msgstr "l���i nghi��m tr���ng: l���i n���i b���"
 
-#: main.c:1180
+#: main.c:1200
+#, fuzzy
+msgid "fatal error: internal error: segfault"
+msgstr "l���i nghi��m tr���ng: l���i n���i b���"
+
+#: main.c:1212
+#, fuzzy
+msgid "fatal error: internal error: stack overflow"
+msgstr "l���i nghi��m tr���ng: l���i n���i b���"
+
+#: main.c:1261
 #, c-format
 msgid "no pre-opened fd %d"
 msgstr "kh��ng c�� fd (ch��� th��� t���p tin?) %d ���� m��� tr�����c"
 
-#: main.c:1187
+#: main.c:1268
 #, c-format
 msgid "could not pre-open /dev/null for fd %d"
 msgstr "kh��ng th��� m��� </dev/null> tr�����c cho fd (ch��� th��� t���p tin?) %d"
 
-#: main.c:1210 main.c:1219
+#: main.c:1291 main.c:1300
 #, c-format
 msgid "could not find groups: %s"
 msgstr "kh��ng t��m th���y nh��m: %s"
@@ -1806,24 +1850,31 @@
 msgid "can't convert string to float"
 msgstr "kh��ng th��� chuy���n �����i chu���i sang ��i���u l�� l���ng"
 
-#: node.c:406
+#: node.c:462
 msgid "backslash at end of string"
 msgstr "g���p xuy���c ngo���c t���i k���t th��c c���a chu���i"
 
-#: node.c:548
+#: node.c:606
 #, c-format
 msgid "old awk does not support the `\\%c' escape sequence"
 msgstr "awk c�� kh��ng h��� tr��� d��y tho��t �� \\%c ��"
 
-#: node.c:599
+#: node.c:657
 msgid "POSIX does not allow `\\x' escapes"
 msgstr "POSIX kh��ng cho ph��p ��i���u tho��t �� \\x ��"
 
-#: node.c:605
+#: node.c:663
 msgid "no hex digits in `\\x' escape sequence"
 msgstr "kh��ng c�� s��� th���p l��c n���m trong d��y tho��t �� \\x ��"
 
-#: node.c:639
+#: node.c:685
+#, c-format
+msgid ""
+"hex escape \\x%.*s of %d characters probably not interpreted the way you "
+"expect"
+msgstr ""
+
+#: node.c:700
 #, c-format
 msgid "escape sequence `\\%c' treated as plain `%c'"
 msgstr "d��y tho��t �� \\%c �� �������c x��� l�� nh�� l�� �� %c �� chu���n"
@@ -1832,34 +1883,35 @@
 #, c-format
 msgid "%s %s `%s': could not set close-on-exec: (fcntl: %s)"
 msgstr ""
-"%s %s �� %s ��: kh��ng th��� �����t �� close-on-exec �� (����ng m���t khi th���c hi���n) "
-"(fcntl: %s)"
+"%s %s �� %s ��: kh��ng th��� �����t �� close-on-exec �� (����ng m���t khi th���c hi���n) (fcntl: "
+"%s)"
 
-#: profile.c:92
+#: profile.c:93
 #, c-format
 msgid "could not open `%s' for writing: %s"
 msgstr "kh��ng th��� m��� �� %s �� ����� ghi: %s"
 
-#: profile.c:450
+#: profile.c:453
 #, c-format
 msgid "internal error: %s with null vname"
 msgstr "l���i n���i b���: %s v���i vname (t��n bi���n?) v�� gi�� tr���"
 
-#: profile.c:514
+#: profile.c:517
+#, fuzzy
 msgid "# treated internally as `delete'"
 msgstr "# �������c x��� l�� n���i b��� l�� �� delete �� (xo�� b���)"
 
-#: profile.c:1147
+#: profile.c:1069
 #, c-format
 msgid "# this is a dynamically loaded extension function"
 msgstr "# ����y l�� m���t ch���c n��ng m��� r���ng �������c t���i �����ng"
 
-#: profile.c:1178
+#: profile.c:1100
 #, c-format
 msgid "\t# gawk profile, created %s\n"
 msgstr "\t# h��� s�� gawk, �������c t���o %s\n"
 
-#: profile.c:1181
+#: profile.c:1103
 #, c-format
 msgid ""
 "\t# BEGIN block(s)\n"
@@ -1868,7 +1920,7 @@
 "\t# kh���i BEGIN (b���t �����u)\n"
 "\n"
 
-#: profile.c:1191
+#: profile.c:1113
 #, c-format
 msgid ""
 "\t# Rule(s)\n"
@@ -1877,7 +1929,7 @@
 "\t# Quy t���c\n"
 "\n"
 
-#: profile.c:1197
+#: profile.c:1119
 #, c-format
 msgid ""
 "\t# END block(s)\n"
@@ -1886,7 +1938,7 @@
 "\t# kh���i END (k���t th��c)\n"
 "\n"
 
-#: profile.c:1217
+#: profile.c:1139
 #, c-format
 msgid ""
 "\n"
@@ -1895,163 +1947,87 @@
 "\n"
 "\t# Danh s��ch c��c ch���c n��ng theo th��� t��� abc\n"
 
-#: profile.c:1470
+#: profile.c:1400
 #, c-format
 msgid "unexpected type %s in prec_level"
 msgstr "g���p ki���u b���t ng��� �� %s �� trong �� prec_level �� (c���p n���m tr�����c?)"
 
-#: regcomp.c:132
+#: profile.c:1500
+#, fuzzy, c-format
+msgid "Unknown node type %s in pp_var"
+msgstr "kh��ng bi���t ki���u n��t %d"
+
+#: regcomp.c:133
 msgid "Success"
 msgstr "Th��nh c��ng"
 
-#: regcomp.c:135
+#: regcomp.c:136
 msgid "No match"
 msgstr "Kh��ng kh���p"
 
-#: regcomp.c:138
+#: regcomp.c:139
 msgid "Invalid regular expression"
 msgstr "Bi���u th���c ch��nh quy kh��ng h���p l���"
 
-#: regcomp.c:141
+#: regcomp.c:142
 msgid "Invalid collation character"
 msgstr "K�� t��� �����i chi���u kh��ng h���p l���"
 
-#: regcomp.c:144
+#: regcomp.c:145
 msgid "Invalid character class name"
 msgstr "T��n h���ng k�� t��� kh��ng h���p l���"
 
-#: regcomp.c:147
+#: regcomp.c:148
 msgid "Trailing backslash"
 msgstr "G���p xuy���c ng�����c n���m theo"
 
-#: regcomp.c:150
+#: regcomp.c:151
 msgid "Invalid back reference"
 msgstr "Tham chi���u tr��� l���i kh��ng h���p l���"
 
-#: regcomp.c:153
+#: regcomp.c:154
 msgid "Unmatched [ or [^"
 msgstr "Ch��a kh���p �� [ �� hay �� [^ ��"
 
-#: regcomp.c:156
+#: regcomp.c:157
 msgid "Unmatched ( or \\("
 msgstr "Ch��a kh���p �� ( �� hay �� \\( ��"
 
-#: regcomp.c:159
+#: regcomp.c:160
 msgid "Unmatched \\{"
 msgstr "Ch��a kh���p �� \\{ ��"
 
-#: regcomp.c:162
+#: regcomp.c:163
 msgid "Invalid content of \\{\\}"
 msgstr "N���i d���ng �� \\{\\} �� kh��ng h���p l���"
 
-#: regcomp.c:165
+#: regcomp.c:166
 msgid "Invalid range end"
 msgstr "K���t th��c ph���m v��� kh��ng h���p l���"
 
-#: regcomp.c:168
+#: regcomp.c:169
 msgid "Memory exhausted"
 msgstr "H���t b��� nh��� r���i"
 
-#: regcomp.c:171
+#: regcomp.c:172
 msgid "Invalid preceding regular expression"
 msgstr "Bi���u th���c ch��nh quy n���m tr�����c kh��ng h���p l���"
 
-#: regcomp.c:174
+#: regcomp.c:175
 msgid "Premature end of regular expression"
 msgstr "K���t th��c qu�� s���m c���a bi���u th���c ch��nh quy"
 
-#: regcomp.c:177
+#: regcomp.c:178
 msgid "Regular expression too big"
 msgstr "Bi���u th���c ch��nh quy qu�� l���n"
 
-#: regcomp.c:180
+#: regcomp.c:181
 msgid "Unmatched ) or \\)"
 msgstr "Ch��a kh���p �� ) �� hay �� \\) ��"
 
-#: regcomp.c:664
+#: regcomp.c:700
 msgid "No previous regular expression"
 msgstr "Kh��ng c�� bi���u th���c ch��nh quy n���m tr�����c"
 
-#~ msgid "remote port invalid in `%s'"
-#~ msgstr "trong �� %s �� c�� c���ng t��� xa kh��ng h���p l���"
-
-#~ msgid "delete: illegal use of variable `%s' as array"
-#~ msgstr "delete: (x��a b���) kh��ng cho ph��p c��ch d��ng bi���n ��%s�� l�� m���ng"
-
-#~ msgid "asort: first argument is not an array"
-#~ msgstr "asort: (s���p x���p) �����i s��� �����u kh��ng ph���i l�� m���ng"
-
-#~ msgid "asort: second argument is not an array"
-#~ msgstr "asort: (s���p x���p) �����i s��� th��� hai kh��ng ph���i l�� m���ng"
-
-#~ msgid ""
-#~ "\n"
-#~ "To report bugs, see node `Bugs' in `gawk.info', which is\n"
-#~ msgstr ""
-#~ "\n"
-#~ "����� th��ng b��o l���i, h��y xem ph���n �� Bugs �� (l���i) trong t���p tin �� gawk.info "
-#~ "��, \n"
-
-#~ msgid "invalid syntax in name `%s' for variable assignment"
-#~ msgstr "c�� ph��p kh��ng h���p l��� trong t��n �� %s �� �����i v���i ��i���u g��n bi���n"
-
-#~ msgid "internal error: Node_var_array with null vname"
-#~ msgstr "l���i n���i b���: �� Node_var_array �� v���i vname (t��n bi���n?) v�� gi�� tr���"
-
-#~ msgid "or used in other expression context"
-#~ msgstr "ho���c �������c d��ng trong ng��� c���nh bi���u th���c kh��c"
-
-#~ msgid "`%s' is a function, assignment is not allowed"
-#~ msgstr "�� %s �� l�� m���t ch���c n��ng th�� kh��ng cho ph��p g��n"
-
-#~ msgid "BEGIN blocks must have an action part"
-#~ msgstr "M���i kh���i BEGIN (b���t �����u) ph���i c�� m���t ph���n ki���u h��nh �����ng"
-
-#~ msgid "`nextfile' used in BEGIN or END action"
-#~ msgstr ""
-#~ "�� nextfile �� (t���p tin k��� ti���p) �������c d��ng trong h��nh �����ng �� BEGIN �� (b���t "
-#~ "�����u) hay �� END �� (k���t th��c)"
-
-#~ msgid "non-redirected `getline' undefined inside BEGIN or END action"
-#~ msgstr ""
-#~ "trong h��nh �����ng �� BEGIN �� (�����u) hay �� END �� (k���t th��c), c�� �� getline "
-#~ "�� (l���y d��ng) kh��ng �������c chuy���n h�����ng l���i v�� ch��a �������c x��c �����nh."
-
-#~ msgid "fptr %x not in tokentab\n"
-#~ msgstr "�� fptr %x �� kh��ng ph���i n���m trong �� tokentab ��\n"
-
-#~ msgid "gsub third parameter is not a changeable object"
-#~ msgstr "tham s��� th��� ba gsub kh��ng ph���i l�� m���t �����i t�����ng c�� th��� thay �����i"
-
-#~ msgid "Unfinished \\ escape"
-#~ msgstr "�� \\ escape �� (tho��t) ch��a xong"
-
-#~ msgid "unfinished repeat count"
-#~ msgstr "vi���c �����m l���i ch��a xong"
-
-#~ msgid "malformed repeat count"
-#~ msgstr "vi���c �����m l���i d���ng sai"
-
-#~ msgid "Unbalanced ["
-#~ msgstr "Ch��a c��n b���ng �� [ ��"
-
-#~ msgid "Unbalanced ("
-#~ msgstr "Ch��a c��n b���ng �� ( ��"
-
-#~ msgid "No regexp syntax bits specified"
-#~ msgstr "Ch��a ghi r�� bit c�� ph��p bi���u th���c ch��nh quy"
-
-#~ msgid "Unbalanced )"
-#~ msgstr "Ch��a c��n b���ng �� ) ��"
-
-#~ msgid "out of memory"
-#~ msgstr "h���t b��� nh���"
-
-#~ msgid "field %d in FIELDWIDTHS, must be > 0"
-#~ msgstr "tr�����ng %d trong �� FIELDWIDTHS �� ph���i l�� > 0"
-
-#~ msgid "function %s called\n"
-#~ msgstr "ch���c n��ng �� %s �� �������c g���i\n"
-
-#~ msgid "internal error: file `%s', line %d\n"
-#~ msgstr "l���i n���i b��� : t���p tin �� %s ��, d��ng %d\n"
+#~ msgid "%s: illegal option -- %c\n"
+#~ msgstr "%s: kh��ng cho ph��p t��y ch���n �� -- %c ��\n"
diff -urN gawk-3.1.6/po/zh_CN.po gawk-3.1.7/po/zh_CN.po
--- gawk-3.1.6/po/zh_CN.po	2007-09-30 22:33:29.000000000 +0200
+++ gawk-3.1.7/po/zh_CN.po	2009-07-21 23:23:45.000000000 +0300
@@ -2,14 +2,14 @@
 # gawk ������������������������������.
 # Copyright (C) 2007 Free Software Foundation, Inc.
 # This file is distributed under the same license as the gawk package.
-# LI Daobing <lidaobing@gmail.com>, 2007.
+# LI Daobing <lidaobing@gmail.com>, 2007, 2009.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gawk 3.1.5f\n"
+"Project-Id-Version: gawk 3.1.6c\n"
 "Report-Msgid-Bugs-To: arnold@skeeve.com\n"
-"POT-Creation-Date: 2007-09-30 22:33+0200\n"
-"PO-Revision-Date: 2007-06-13 03:57+0800\n"
+"POT-Creation-Date: 2009-07-21 23:23+0300\n"
+"PO-Revision-Date: 2009-06-09 21:51+0800\n"
 "Last-Translator: LI Daobing <lidaobing@gmail.com>\n"
 "Language-Team: Chinese (simplified) <translation-team-zh-cn@lists."
 "sourceforge.net>\n"
@@ -77,318 +77,323 @@
 msgid "%s: array_ref to %s\n"
 msgstr "%s: ��������������� %s\n"
 
-#: awkgram.y:215
+#: awkgram.y:218
 #, c-format
 msgid "%s blocks must have an action part"
 msgstr "%s ������������������������������"
 
-#: awkgram.y:218
+#: awkgram.y:221
 msgid "each rule must have a pattern or an action part"
 msgstr "������������������������������������������������"
 
-#: awkgram.y:254 awkgram.y:263
+#: awkgram.y:257 awkgram.y:266
 msgid "old awk does not support multiple `BEGIN' or `END' rules"
 msgstr "������ awk ������������������BEGIN���������END���������"
 
-#: awkgram.y:282
+#: awkgram.y:285
 #, c-format
 msgid "`%s' is a built-in function, it cannot be redefined"
 msgstr "���%s���������������������������������������"
 
-#: awkgram.y:328
+#: awkgram.y:331
 msgid "regexp constant `//' looks like a C++ comment, but is not"
 msgstr "������������������������//��������������� C++ ������������������������"
 
-#: awkgram.y:331
+#: awkgram.y:334
 #, c-format
 msgid "regexp constant `/%s/' looks like a C comment, but is not"
 msgstr "������������������������/%s/��������������� C ������������������������"
 
-#: awkgram.y:358 awkgram.y:653
+#: awkgram.y:361 awkgram.y:656
 msgid "statement may have no effect"
 msgstr "������������������������������"
 
-#: awkgram.y:455 awkgram.y:479
+#: awkgram.y:458 awkgram.y:482
 #, c-format
 msgid "`%s' used in %s action"
 msgstr "���%s������������ %s ������"
 
-#: awkgram.y:470 awkgram.y:474
+#: awkgram.y:473 awkgram.y:477
 msgid "`nextfile' is a gawk extension"
 msgstr "���nextfile������ gawk ������"
 
-#: awkgram.y:489
+#: awkgram.y:492
 msgid "`return' used outside function context"
 msgstr "���return���������������������"
 
-#: awkgram.y:531
+#: awkgram.y:534
 msgid "plain `print' in BEGIN or END rule should probably be `print \"\"'"
 msgstr "��� BEGIN ��� END ���������������print������������������������print \"\"���"
 
-#: awkgram.y:547 awkgram.y:555
+#: awkgram.y:550 awkgram.y:558
 msgid "`delete array' is a gawk extension"
 msgstr "���delete array������ gawk ������"
 
-#: awkgram.y:569 awkgram.y:577
+#: awkgram.y:572 awkgram.y:580
 msgid "`delete(array)' is a non-portable tawk extension"
 msgstr "���delete(array)��������������������� tawk ������"
 
-#: awkgram.y:621
+#: awkgram.y:624
 #, c-format
 msgid "duplicate case values in switch body: %s"
 msgstr "switch ��������������� case ���: %s"
 
-#: awkgram.y:631
+#: awkgram.y:634
 msgid "Duplicate `default' detected in switch body"
 msgstr "switch ������������������default���"
 
-#: awkgram.y:720
+#: awkgram.y:723
 msgid "multistage two-way pipelines don't work"
 msgstr "������������������������������"
 
-#: awkgram.y:811
+#: awkgram.y:814
 msgid "regular expression on right of assignment"
 msgstr "���������������������������������������"
 
-#: awkgram.y:834
+#: awkgram.y:824
 msgid "regular expression on left of `~' or `!~' operator"
 msgstr "���������������������~���������!~������������������"
 
-#: awkgram.y:840 awkgram.y:913
+#: awkgram.y:830 awkgram.y:903
 msgid "old awk does not support the keyword `in' except after `for'"
 msgstr "��� awk ���������������������in���������for������������"
 
-#: awkgram.y:846
+#: awkgram.y:836
 msgid "regular expression on right of comparison"
 msgstr "���������������������������������������"
 
-#: awkgram.y:903
+#: awkgram.y:893
 msgid "non-redirected `getline' undefined inside END action"
 msgstr "��� END ������������������������������getline������������"
 
-#: awkgram.y:914
+#: awkgram.y:904
 msgid "old awk does not support multidimensional arrays"
 msgstr "��� awk ���������������������"
 
-#: awkgram.y:960
+#: awkgram.y:950
 msgid "call of `length' without parentheses is not portable"
 msgstr "���������������������length������������������������"
 
-#: awkgram.y:965
+#: awkgram.y:955
 msgid "call of `length' without parentheses is deprecated by POSIX"
 msgstr "POSIX ���������������������������length������������������"
 
-#: awkgram.y:1019
+#: awkgram.y:1009
 msgid "use of non-array as array"
 msgstr "���������������������������"
 
-#: awkgram.y:1022
+#: awkgram.y:1012
 msgid "invalid subscript expression"
 msgstr "������������������������"
 
-#: awkgram.y:1249
+#: awkgram.y:1257
 msgid "unexpected newline or end of string"
 msgstr "������������������������������������"
 
-#: awkgram.y:1366
+#: awkgram.y:1374
 msgid "empty program text on command line"
 msgstr "���������������������������"
 
-#: awkgram.y:1422
+#: awkgram.y:1430
 #, c-format
 msgid "can't open source file `%s' for reading (%s)"
 msgstr "������������������������������������%s���(%s)"
 
-#: awkgram.y:1520
+#: awkgram.y:1528
 #, c-format
 msgid "can't read sourcefile `%s' (%s)"
 msgstr "������������������������%s���(%s)"
 
-#: awkgram.y:1528
+#: awkgram.y:1536
 #, c-format
 msgid "source file `%s' is empty"
 msgstr "������������%s���������"
 
-#: awkgram.y:1720 awkgram.y:1842 awkgram.y:1860 awkgram.y:2235 awkgram.y:2322
+#: awkgram.y:1728 awkgram.y:1850 awkgram.y:1868 awkgram.y:2243 awkgram.y:2330
 msgid "source file does not end in newline"
 msgstr "������������������������������"
 
-#: awkgram.y:1782
+#: awkgram.y:1790
 msgid "unterminated regexp ends with `\\' at end of file"
 msgstr "���������������������������������������������������\\���������"
 
-#: awkgram.y:1806
+#: awkgram.y:1814
 #, c-format
 msgid "%s: %d: tawk regex modifier `/.../%c' doesn't work in gawk"
 msgstr "%s: %d: tawk ���������������������������/.../%c������������ gawk ���������"
 
-#: awkgram.y:1810
+#: awkgram.y:1818
 #, c-format
 msgid "tawk regex modifier `/.../%c' doesn't work in gawk"
 msgstr "tawk ���������������������������/.../%c������������ gawk ���������"
 
-#: awkgram.y:1817
+#: awkgram.y:1825
 msgid "unterminated regexp"
 msgstr "���������������������������"
 
-#: awkgram.y:1820
+#: awkgram.y:1828
 msgid "unterminated regexp at end of file"
 msgstr "���������������������������������������������"
 
-#: awkgram.y:1889
+#: awkgram.y:1897
 msgid "use of `\\ #...' line continuation is not portable"
 msgstr "���������\\ #...������������������������������"
 
-#: awkgram.y:1902
+#: awkgram.y:1910
 msgid "backslash not last character on line"
 msgstr "���������������������������������������"
 
-#: awkgram.y:1947
+#: awkgram.y:1955
 msgid "POSIX does not allow operator `**='"
 msgstr "POSIX ���������������������**=���"
 
-#: awkgram.y:1949
+#: awkgram.y:1957
 msgid "old awk does not support operator `**='"
 msgstr "��� awk ���������������������**=���"
 
-#: awkgram.y:1958
+#: awkgram.y:1966
 msgid "POSIX does not allow operator `**'"
 msgstr "POSIX ���������������������**���"
 
-#: awkgram.y:1960
+#: awkgram.y:1968
 msgid "old awk does not support operator `**'"
 msgstr "��� awk ���������������������**���"
 
-#: awkgram.y:1991
+#: awkgram.y:1999
 msgid "operator `^=' is not supported in old awk"
 msgstr "��� awk ���������������������^=���"
 
-#: awkgram.y:1999
+#: awkgram.y:2007
 msgid "operator `^' is not supported in old awk"
 msgstr "��� awk ���������������������^���"
 
-#: awkgram.y:2083 awkgram.y:2098
+#: awkgram.y:2091 awkgram.y:2106
 msgid "unterminated string"
 msgstr "���������������������"
 
-#: awkgram.y:2283
+#: awkgram.y:2291
 #, c-format
 msgid "invalid char '%c' in expression"
 msgstr "������������������������������%c���"
 
-#: awkgram.y:2331
+#: awkgram.y:2339
 #, c-format
 msgid "`%s' is a gawk extension"
 msgstr "���%s������ gawk ������"
 
-#: awkgram.y:2334
+#: awkgram.y:2342
 #, c-format
 msgid "`%s' is a Bell Labs extension"
 msgstr "���%s���������������������������"
 
-#: awkgram.y:2337
+#: awkgram.y:2345
 #, c-format
 msgid "POSIX does not allow `%s'"
 msgstr "POSIX ������������%s���"
 
-#: awkgram.y:2341
+#: awkgram.y:2349
 #, c-format
 msgid "`%s' is not supported in old awk"
 msgstr "��� awk ������������%s���"
 
-#: awkgram.y:2367
+#: awkgram.y:2375
 msgid "`goto' considered harmful!\n"
 msgstr "���goto������������\n"
 
-#: awkgram.y:2429
+#: awkgram.y:2437
 #, c-format
 msgid "%d is invalid as number of arguments for %s"
 msgstr "%d ��� %s ���������������������"
 
-#: awkgram.y:2448 awkgram.y:2451
+#: awkgram.y:2456 awkgram.y:2459
 msgid "match: third argument is a gawk extension"
 msgstr "match: ������������������ gawk ������"
 
-#: awkgram.y:2464
+#: awkgram.y:2472
 #, c-format
 msgid "%s: string literal as last arg of substitute has no effect"
 msgstr "%s: ��������������� substitute ������������������������������������"
 
-#: awkgram.y:2467
+#: awkgram.y:2475
 #, c-format
 msgid "%s third parameter is not a changeable object"
 msgstr "%s ���������������������������������������"
 
-#: awkgram.y:2494 awkgram.y:2497
+#: awkgram.y:2502 awkgram.y:2505
 msgid "close: second argument is a gawk extension"
 msgstr "close: ������������������ gawk ������"
 
-#: awkgram.y:2507
+#: awkgram.y:2515
 msgid "use of dcgettext(_\"...\") is incorrect: remove leading underscore"
 msgstr "������ dcgettext(_\"...\") ������������: ������������������������"
 
-#: awkgram.y:2522
+#: awkgram.y:2530
 msgid "use of dcngettext(_\"...\") is incorrect: remove leading underscore"
 msgstr "������ dcngettext(_\"...\") ������������: ������������������������"
 
-#: awkgram.y:2594
+#: awkgram.y:2602
 #, c-format
 msgid "function `%s': parameter #%d, `%s', duplicates parameter #%d"
 msgstr "���������%s���: ��� %d ���������, ���%s���, ������ %d ���������������"
 
-#: awkgram.y:2627
+#: awkgram.y:2635
 #, c-format
 msgid "function `%s': parameter `%s' shadows global variable"
 msgstr "���������%s���: ���������%s������������������������"
 
-#: awkgram.y:2739
+#: awkgram.y:2747
 #, c-format
 msgid "could not open `%s' for writing (%s)"
 msgstr "���������������������������%s������%s)"
 
-#: awkgram.y:2740 profile.c:94
+#: awkgram.y:2748 profile.c:95
 msgid "sending profile to standard error"
 msgstr "���������������������������������"
 
-#: awkgram.y:2772
+#: awkgram.y:2780
 #, c-format
 msgid "%s: close failed (%s)"
 msgstr "%s: ������������(%s)"
 
-#: awkgram.y:2893
+#: awkgram.y:2901
 msgid "shadow_funcs() called twice!"
 msgstr "shadow_funcs() ������������������"
 
-#: awkgram.y:2920
+#: awkgram.y:2928
 msgid "there were shadowed variables."
 msgstr "������������������������������"
 
-#: awkgram.y:2993
+#: awkgram.y:3001
 #, c-format
 msgid "function `%s': can't use function name as parameter name"
 msgstr "���������%s���: ������������������������������������"
 
-#: awkgram.y:3003
+#: awkgram.y:3004
+#, c-format
+msgid "function `%s': can't use special variable `%s' as a function parameter"
+msgstr "���������%s���: ���������������������������%s���������������������"
+
+#: awkgram.y:3014
 #, c-format
 msgid "function name `%s' previously defined"
 msgstr "������������%s������������������"
 
-#: awkgram.y:3154 awkgram.y:3160
+#: awkgram.y:3165 awkgram.y:3171
 #, c-format
 msgid "function `%s' called but never defined"
 msgstr "���������%s������������������������������"
 
-#: awkgram.y:3163
+#: awkgram.y:3174
 #, c-format
 msgid "function `%s' defined but never called"
 msgstr "���������%s������������������������������"
 
-#: awkgram.y:3190
+#: awkgram.y:3201
 #, c-format
 msgid "regexp constant for parameter #%d yields boolean value"
 msgstr "��� %d ������������������������������������������������"
 
-#: awkgram.y:3234
+#: awkgram.y:3245
 #, c-format
 msgid ""
 "function `%s' called with space between name and `(',\n"
@@ -397,494 +402,518 @@
 "���������%s���������������������������(������������������\n"
 "���������������������������"
 
-#: builtin.c:119
+#: awkgram.y:3667 eval.c:1394
+#, c-format
+msgid "division by zero attempted in `%%'"
+msgstr "������%%���������������0"
+
+#: builtin.c:122
 #, c-format
 msgid "%s to \"%s\" failed (%s)"
 msgstr "%s ��� \"%s\" ������ (%s)"
 
-#: builtin.c:120
+#: builtin.c:123
 msgid "standard output"
 msgstr "������������"
 
-#: builtin.c:121
+#: builtin.c:124
 msgid "reason unknown"
 msgstr "������������"
 
-#: builtin.c:134
+#: builtin.c:137
 msgid "exp: received non-numeric argument"
 msgstr "exp: ���������������������"
 
-#: builtin.c:140
+#: builtin.c:143
 #, c-format
 msgid "exp: argument %g is out of range"
 msgstr "exp: ������ %g ������������"
 
-#: builtin.c:198
+#: builtin.c:201
 #, c-format
 msgid "fflush: cannot flush: pipe `%s' opened for reading, not writing"
 msgstr "fflush: ������������: ���������%s������������������������������������"
 
-#: builtin.c:201
+#: builtin.c:204
 #, c-format
 msgid "fflush: cannot flush: file `%s' opened for reading, not writing"
 msgstr "fflush: ������������: ���������%s������������������������������������"
 
-#: builtin.c:213
+#: builtin.c:216
 #, c-format
 msgid "fflush: `%s' is not an open file, pipe or co-process"
 msgstr "fflush: ���%s������������������������������������������������������"
 
-#: builtin.c:306
+#: builtin.c:310
 msgid "index: received non-string first argument"
 msgstr "index: ������������������������������"
 
-#: builtin.c:308
+#: builtin.c:312
 msgid "index: received non-string second argument"
 msgstr "index: ������������������������������"
 
-#: builtin.c:423
+#: builtin.c:434
 msgid "int: received non-numeric argument"
 msgstr "int: ���������������������"
 
-#: builtin.c:448
+#: builtin.c:464
 msgid "`length(array)' is a gawk extension"
 msgstr "���length(array)������ gawk ������"
 
-#: builtin.c:458
+#: builtin.c:473
+msgid "length: untyped argument will be forced to scalar"
+msgstr "length: ���������������������������������������������"
+
+#: builtin.c:477
 msgid "length: received non-string argument"
 msgstr "length: ������������������������"
 
-#: builtin.c:483
+#: builtin.c:508
 msgid "log: received non-numeric argument"
 msgstr "log: ���������������������"
 
-#: builtin.c:486
+#: builtin.c:511
 #, c-format
 msgid "log: received negative argument %g"
 msgstr "log: ������������������ %g"
 
-#: builtin.c:693 builtin.c:696
+#: builtin.c:719 builtin.c:722
 msgid "must use `count$' on all formats or none"
 msgstr "���������������������������������count$���������������������������"
 
-#: builtin.c:799
+#: builtin.c:783
+#, c-format
+msgid "field width is ignored for `%%%%' specifier"
+msgstr "���%%%%���������������������������"
+
+#: builtin.c:785
+#, c-format
+msgid "precision is ignored for `%%%%' specifier"
+msgstr "���%%%%���������������������"
+
+#: builtin.c:787
+#, c-format
+msgid "field width and precision are ignored for `%%%%' specifier"
+msgstr "���%%%%������������������������������������"
+
+#: builtin.c:838
 msgid "`$' is not permitted in awk formats"
 msgstr "awk ������������������ ���$���"
 
-#: builtin.c:805
+#: builtin.c:844
 msgid "arg count with `$' must be > 0"
 msgstr "���������$������������������������������0"
 
-#: builtin.c:807
+#: builtin.c:846
 #, c-format
 msgid "arg count %ld greater than total number of supplied arguments"
 msgstr "������������ %ld ������������������������������"
 
-#: builtin.c:809
+#: builtin.c:848
 msgid "`$' not permitted after period in format"
 msgstr "���������������������.���������������$���"
 
-#: builtin.c:822
+#: builtin.c:861
 msgid "no `$' supplied for positional field width or precision"
 msgstr "���������������������������������������$���"
 
-#: builtin.c:888
+#: builtin.c:927
 msgid "`l' is meaningless in awk formats; ignored"
 msgstr "���l������ awk ���������������������������"
 
-#: builtin.c:892
+#: builtin.c:931
 msgid "`l' is not permitted in POSIX awk formats"
 msgstr "���l��������������� POSIX awk ���������������"
 
-#: builtin.c:903
+#: builtin.c:942
 msgid "`L' is meaningless in awk formats; ignored"
 msgstr "���L������ awk ���������������������������"
 
-#: builtin.c:907
+#: builtin.c:946
 msgid "`L' is not permitted in POSIX awk formats"
 msgstr "���L��������������� POSIX awk ���������������"
 
-#: builtin.c:918
+#: builtin.c:957
 msgid "`h' is meaningless in awk formats; ignored"
 msgstr "���h������ awk ���������������������������"
 
-#: builtin.c:922
+#: builtin.c:961
 msgid "`h' is not permitted in POSIX awk formats"
 msgstr "���h��������������� POSIX awk ���������������"
 
-#: builtin.c:1182
+#: builtin.c:1236
 #, c-format
 msgid "[s]printf: value %g is out of range for `%%%c' format"
 msgstr "[s]printf: ��� %g ������%%%c���������������������������"
 
-#: builtin.c:1266
+#: builtin.c:1316
+#, c-format
+msgid "ignoring unknown format specifier character `%c': no argument converted"
+msgstr "���������������������������������%c���: ������������������"
+
+#: builtin.c:1322
 msgid "not enough arguments to satisfy format string"
 msgstr "������������������������������������"
 
-#: builtin.c:1268
+#: builtin.c:1324
 msgid "^ ran out for this one"
 msgstr "^ ������������"
 
-#: builtin.c:1274
+#: builtin.c:1330
 msgid "[s]printf: format specifier does not have control letter"
 msgstr "[s]printf: ������������������������������"
 
-#: builtin.c:1277
+#: builtin.c:1333
 msgid "too many arguments supplied for format string"
 msgstr "������������������������������������"
 
-#: builtin.c:1352 builtin.c:1355
+#: builtin.c:1408 builtin.c:1411
 msgid "printf: no arguments"
 msgstr "printf: ������������"
 
-#: builtin.c:1379
+#: builtin.c:1435
 msgid "sqrt: received non-numeric argument"
 msgstr "sqrt: ���������������������"
 
-#: builtin.c:1383
+#: builtin.c:1439
 #, c-format
 msgid "sqrt: called with negative argument %g"
 msgstr "sqrt: ������������������ %g"
 
-#: builtin.c:1407
+#: builtin.c:1463
 #, c-format
 msgid "substr: start index %g is invalid, using 1"
 msgstr "substr: ������������ %g ��������������� 1"
 
-#: builtin.c:1412
+#: builtin.c:1468
 #, c-format
 msgid "substr: non-integer start index %g will be truncated"
 msgstr "substr: ������������������������ %g ������������"
 
-#: builtin.c:1431
+#: builtin.c:1494
 #, c-format
 msgid "substr: length %g is not >= 1"
 msgstr "substr: ������ %g ������ 1"
 
-#: builtin.c:1433
+#: builtin.c:1496
 #, c-format
 msgid "substr: length %g is not >= 0"
 msgstr "substr: ������ %g ������ 0"
 
-#: builtin.c:1440
+#: builtin.c:1503
 #, c-format
 msgid "substr: non-integer length %g will be truncated"
 msgstr "substr: ������������������ %g ������������"
 
-#: builtin.c:1445
+#: builtin.c:1508
 #, c-format
 msgid "substr: length %g too big for string indexing, truncating to %g"
 msgstr "substr: ������ %g ��������������������������������������� %g"
 
-#: builtin.c:1457
+#: builtin.c:1520
 msgid "substr: source string is zero length"
 msgstr "substr: ���������������������0"
 
-#: builtin.c:1473
+#: builtin.c:1536
 #, c-format
 msgid "substr: start index %g is past end of string"
 msgstr "substr: ������������ %g ���������������������"
 
-#: builtin.c:1481
+#: builtin.c:1544
 #, c-format
 msgid ""
 "substr: length %g at start index %g exceeds length of first argument (%lu)"
 msgstr "substr: ��������������� %2$g ��������� %1$g ������������������������������ (%3$lu)"
 
-#: builtin.c:1558
+#: builtin.c:1621
 msgid "strftime: received non-string first argument"
 msgstr "strftime: ������������������������������"
 
-#: builtin.c:1564
+#: builtin.c:1627
 msgid "strftime: received empty format string"
 msgstr "strftime: ������������������������"
 
-#: builtin.c:1573
+#: builtin.c:1636
 msgid "strftime: received non-numeric second argument"
 msgstr "strftime: ���������������������������"
 
-#: builtin.c:1650
+#: builtin.c:1713
 msgid "mktime: received non-string argument"
 msgstr "mktime: ������������������������"
 
-#: builtin.c:1695
+#: builtin.c:1758
 msgid "system: received non-string argument"
 msgstr "system: ������������������������"
 
-#: builtin.c:1816 eval.c:2041
+#: builtin.c:1879 eval.c:2145
 #, c-format
 msgid "reference to uninitialized field `$%d'"
 msgstr "������������������������������$%d���"
 
-#: builtin.c:1921
+#: builtin.c:1984
 msgid "tolower: received non-string argument"
 msgstr "tolower: ������������������������"
 
-#: builtin.c:1951
+#: builtin.c:2014
 msgid "toupper: received non-string argument"
 msgstr "toupper: ������������������������"
 
-#: builtin.c:1984
+#: builtin.c:2047
 msgid "atan2: received non-numeric first argument"
 msgstr "atan2: ���������������������������"
 
-#: builtin.c:1986
+#: builtin.c:2049
 msgid "atan2: received non-numeric second argument"
 msgstr "atan2: ���������������������������"
 
-#: builtin.c:2005
+#: builtin.c:2068
 msgid "sin: received non-numeric argument"
 msgstr "sin: ���������������������"
 
-#: builtin.c:2021
+#: builtin.c:2084
 msgid "cos: received non-numeric argument"
 msgstr "cos: ���������������������"
 
-#: builtin.c:2071
+#: builtin.c:2137
 msgid "srand: received non-numeric argument"
 msgstr "srand: ���������������������"
 
-#: builtin.c:2106
+#: builtin.c:2172
 msgid "match: third argument is not an array"
 msgstr "match: ���������������������������"
 
-#: builtin.c:2650
+#: builtin.c:2719
 msgid "gensub: third argument of 0 treated as 1"
 msgstr "gensub: ��������������� 0 ��������� 1"
 
-#: builtin.c:2766
+#: builtin.c:2835
 msgid "lshift: received non-numeric first argument"
 msgstr "lshift: ���������������������������"
 
-#: builtin.c:2768
+#: builtin.c:2837
 msgid "lshift: received non-numeric second argument"
 msgstr "lshift: ���������������������������"
 
-#: builtin.c:2774
+#: builtin.c:2843
 #, c-format
 msgid "lshift(%lf, %lf): negative values will give strange results"
 msgstr "lshift(%lf, %lf): ������������������������������"
 
-#: builtin.c:2776
+#: builtin.c:2845
 #, c-format
 msgid "lshift(%lf, %lf): fractional values will be truncated"
 msgstr "lshift(%lf, %lf): ������������������������"
 
-#: builtin.c:2778
+#: builtin.c:2847
 #, c-format
 msgid "lshift(%lf, %lf): too large shift value will give strange results"
 msgstr "lshift(%lf, %lf): ���������������������������������������"
 
-#: builtin.c:2804
+#: builtin.c:2873
 msgid "rshift: received non-numeric first argument"
 msgstr "rshift: ���������������������������"
 
-#: builtin.c:2806
+#: builtin.c:2875
 msgid "rshift: received non-numeric second argument"
 msgstr "rshift: ���������������������������"
 
-#: builtin.c:2812
+#: builtin.c:2881
 #, c-format
 msgid "rshift(%lf, %lf): negative values will give strange results"
 msgstr "rshift(%lf, %lf): ������������������������������"
 
-#: builtin.c:2814
+#: builtin.c:2883
 #, c-format
 msgid "rshift(%lf, %lf): fractional values will be truncated"
 msgstr "rshift(%lf, %lf): ������������������������"
 
-#: builtin.c:2816
+#: builtin.c:2885
 #, c-format
 msgid "rshift(%lf, %lf): too large shift value will give strange results"
 msgstr "rshift(%lf, %lf): ���������������������������������������"
 
-#: builtin.c:2842
+#: builtin.c:2911
 msgid "and: received non-numeric first argument"
 msgstr "and: ���������������������������"
 
-#: builtin.c:2844
+#: builtin.c:2913
 msgid "and: received non-numeric second argument"
 msgstr "and: ���������������������������"
 
-#: builtin.c:2850
+#: builtin.c:2919
 #, c-format
 msgid "and(%lf, %lf): negative values will give strange results"
 msgstr "and(%lf, %lf): ������������������������������"
 
-#: builtin.c:2852
+#: builtin.c:2921
 #, c-format
 msgid "and(%lf, %lf): fractional values will be truncated"
 msgstr "and(%lf, %lf): ������������������������"
 
-#: builtin.c:2878
+#: builtin.c:2947
 msgid "or: received non-numeric first argument"
 msgstr "or: ���������������������������"
 
-#: builtin.c:2880
+#: builtin.c:2949
 msgid "or: received non-numeric second argument"
 msgstr "or: ���������������������������"
 
-#: builtin.c:2886
+#: builtin.c:2955
 #, c-format
 msgid "or(%lf, %lf): negative values will give strange results"
 msgstr "or(%lf, %lf): ������������������������������"
 
-#: builtin.c:2888
+#: builtin.c:2957
 #, c-format
 msgid "or(%lf, %lf): fractional values will be truncated"
 msgstr "or(%lf, %lf): ������������������������"
 
-#: builtin.c:2914
+#: builtin.c:2983
 msgid "xor: received non-numeric first argument"
 msgstr "xor: ���������������������������"
 
-#: builtin.c:2916
+#: builtin.c:2985
 msgid "xor: received non-numeric second argument"
 msgstr "xor: ���������������������������"
 
-#: builtin.c:2922
+#: builtin.c:2991
 #, c-format
 msgid "xor(%lf, %lf): negative values will give strange results"
 msgstr "xor(%lf, %lf): ������������������������������"
 
-#: builtin.c:2924
+#: builtin.c:2993
 #, c-format
 msgid "xor(%lf, %lf): fractional values will be truncated"
 msgstr "xor(%lf, %lf): ������������������������"
 
-#: builtin.c:2948
+#: builtin.c:3017
 msgid "compl: received non-numeric argument"
 msgstr "compl: ���������������������"
 
-#: builtin.c:2954
+#: builtin.c:3023
 #, c-format
 msgid "compl(%lf): negative value will give strange results"
 msgstr "compl(%lf): ������������������������������"
 
-#: builtin.c:2956
+#: builtin.c:3025
 #, c-format
 msgid "compl(%lf): fractional value will be truncated"
 msgstr "compl(%lf): ������������������������"
 
-#: builtin.c:3129
+#: builtin.c:3198
 #, c-format
 msgid "dcgettext: `%s' is not a valid locale category"
 msgstr "dcgettext: ���%s���������������������������������������"
 
-#: eval.c:303
+#: eval.c:372
 #, c-format
 msgid "unknown nodetype %d"
 msgstr "��������������������� %d"
 
-#: eval.c:353
+#: eval.c:422
 msgid "buffer overflow in genflags2str"
 msgstr "genflags2str ������������������"
 
-#: eval.c:385 eval.c:391 profile.c:817
+#: eval.c:454 eval.c:460 profile.c:781
 #, c-format
 msgid "attempt to use array `%s' in a scalar context"
 msgstr "���������������������������������������%s���"
 
-#: eval.c:733
+#: eval.c:802
 #, c-format
 msgid "for loop: array `%s' changed size from %ld to %ld during loop execution"
 msgstr "for loop: ���������%s������������������������������ %ld ��������� %ld"
 
-#: eval.c:754
+#: eval.c:823
 msgid "`break' outside a loop is not portable"
 msgstr "���break���������������������������������������"
 
-#: eval.c:758
+#: eval.c:827
 msgid "`break' outside a loop is not allowed"
 msgstr "���break������������������������������������"
 
-#: eval.c:775
+#: eval.c:844
 msgid "`continue' outside a loop is not portable"
 msgstr "���continue���������������������������������������"
 
-#: eval.c:779
+#: eval.c:848
 msgid "`continue' outside a loop is not allowed"
 msgstr "���continue������������������������������������"
 
-#: eval.c:813
+#: eval.c:882
 msgid "`next' cannot be called from a BEGIN rule"
 msgstr "��� BEGIN ���������������������������next���"
 
-#: eval.c:815
+#: eval.c:884
 msgid "`next' cannot be called from an END rule"
 msgstr "��� END ���������������������������next���"
 
-#: eval.c:824
+#: eval.c:893
 msgid "`nextfile' cannot be called from a BEGIN rule"
 msgstr "��� BEGIN ���������������������������nextfile���"
 
-#: eval.c:826
+#: eval.c:895
 msgid "`nextfile' cannot be called from an END rule"
 msgstr "��� END ���������������������������nextfile���"
 
-#: eval.c:875
+#: eval.c:952
 msgid "statement has no effect"
 msgstr "������������������������"
 
-#: eval.c:952 eval.c:1895
+#: eval.c:1029 eval.c:1999
 #, c-format
 msgid "can't use function name `%s' as variable or array"
 msgstr "������������������������%s������������������������"
 
-#: eval.c:959 eval.c:965
+#: eval.c:1036 eval.c:1042
 #, c-format
 msgid "reference to uninitialized argument `%s'"
 msgstr "������������������������������%s���"
 
-#: eval.c:974 eval.c:1904
+#: eval.c:1051 eval.c:2008
 #, c-format
 msgid "reference to uninitialized variable `%s'"
 msgstr "������������������������������%s���"
 
-#: eval.c:1120
+#: eval.c:1197
 msgid ""
 "concatenation: side effects in one expression have changed the length of "
 "another!"
 msgstr "concatenation: ������������������������������������������������������������"
 
-#: eval.c:1202
+#: eval.c:1301
 msgid "assignment used in conditional context"
 msgstr "���������������������������"
 
-#: eval.c:1280
+#: eval.c:1379
 msgid "division by zero attempted"
 msgstr "���������0"
 
-#: eval.c:1295
-#, c-format
-msgid "division by zero attempted in `%%'"
-msgstr "������%%���������������0"
-
-#: eval.c:1310 profile.c:693
+#: eval.c:1409 profile.c:657
 #, c-format
 msgid "illegal type (%s) in tree_eval"
 msgstr "tree_eval ������������������ (%s)"
 
-#: eval.c:1473
+#: eval.c:1572
 msgid "division by zero attempted in `/='"
 msgstr "������/=���������������0"
 
-#: eval.c:1495
+#: eval.c:1594
 #, c-format
 msgid "division by zero attempted in `%%='"
 msgstr "������%%=���������������0"
 
-#: eval.c:1760
+#: eval.c:1859
 #, c-format
 msgid "function `%s' called with more arguments than declared"
 msgstr "���������%s���������������������������������������������������"
 
-#: eval.c:1804
+#: eval.c:1904
 #, c-format
 msgid "function `%s' not defined"
 msgstr "���������%s������������"
 
-#: eval.c:1867
+#: eval.c:1971
 #, c-format
 msgid ""
 "\n"
@@ -895,42 +924,47 @@
 "\t# ���������������:\n"
 "\n"
 
-#: eval.c:1870
+#: eval.c:1974
 #, c-format
 msgid "\t# -- main --\n"
 msgstr "\t# -- main --\n"
 
-#: eval.c:2025
+#: eval.c:2129
 msgid "attempt to field reference from non-numeric value"
 msgstr "������������������������������������"
 
-#: eval.c:2027
+#: eval.c:2131
 msgid "attempt to reference from null string"
 msgstr "���������������������������"
 
-#: eval.c:2033
+#: eval.c:2137
 #, c-format
 msgid "attempt to access field %d"
 msgstr "������������������ %d"
 
-#: eval.c:2054 eval.c:2061 profile.c:914
+#: eval.c:2158 eval.c:2165 profile.c:836
 msgid "assignment is not allowed to result of builtin function"
 msgstr "���������������������������������������"
 
-#: eval.c:2125
+#: eval.c:2229
 msgid "`IGNORECASE' is a gawk extension"
 msgstr "���IGNORECASE������ gawk ������"
 
-#: eval.c:2155
+#: eval.c:2258
 msgid "`BINMODE' is a gawk extension"
 msgstr "���BINMODE������ gawk ������"
 
-#: eval.c:2277
+#: eval.c:2316
+#, c-format
+msgid "BINMODE value `%s' is invalid, treated as 3"
+msgstr "BINMODE ��� ���%s��� ������������ 3 ������"
+
+#: eval.c:2406
 #, c-format
 msgid "bad `%sFMT' specification `%s'"
 msgstr "������������%sFMT������������%s���"
 
-#: eval.c:2355
+#: eval.c:2484
 msgid "turning off `--lint' due to assignment to `LINT'"
 msgstr "������������LINT������������������������--lint���"
 
@@ -1005,546 +1039,554 @@
 msgid "NF set to negative value"
 msgstr "NF ������������������"
 
-#: field.c:823
+#: field.c:875
 msgid "split: second argument is not an array"
 msgstr "split: ���������������������������"
 
-#: field.c:857
+#: field.c:909
 msgid "split: null string for third arg is a gawk extension"
 msgstr "split: ������������������������ gawk ������"
 
-#: field.c:909
+#: field.c:961
 msgid "`FIELDWIDTHS' is a gawk extension"
 msgstr "���FIELDWIDTHS������ gawk ������"
 
-#: field.c:939 field.c:953
+#: field.c:991 field.c:1005
 #, c-format
 msgid "invalid FIELDWIDTHS value, near `%s'"
 msgstr "���%s��������� FIELDWIDTHS ���������"
 
-#: field.c:1036
+#: field.c:1088
 msgid "null string for `FS' is a gawk extension"
 msgstr "������FS������������������������ gawk ������"
 
-#: field.c:1040
+#: field.c:1092
 msgid "old awk does not support regexps as value of `FS'"
 msgstr "��� awk ���������������FS���������������������������"
 
-#: getopt.c:571 getopt.c:587
+#: getopt.c:570 getopt.c:586
 #, c-format
-msgid "%s: option `%s' is ambiguous\n"
+msgid "%s: option '%s' is ambiguous\n"
 msgstr "%s: ���������%s������������\n"
 
-#: getopt.c:620 getopt.c:624
+#: getopt.c:619 getopt.c:623
 #, c-format
-msgid "%s: option `--%s' doesn't allow an argument\n"
+msgid "%s: option '--%s' doesn't allow an argument\n"
 msgstr "%s: ���������--%s���������������������\n"
 
-#: getopt.c:633 getopt.c:638
+#: getopt.c:632 getopt.c:637
 #, c-format
-msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgid "%s: option '%c%s' doesn't allow an argument\n"
 msgstr "%s: ���������%c%s���������������������\n"
 
-#: getopt.c:681 getopt.c:700 getopt.c:1016 getopt.c:1035
+#: getopt.c:680 getopt.c:699 getopt.c:1002 getopt.c:1021
 #, c-format
-msgid "%s: option `%s' requires an argument\n"
+msgid "%s: option '%s' requires an argument\n"
 msgstr "%s: ���������%s���������������������\n"
 
-#: getopt.c:738 getopt.c:741
+#: getopt.c:737 getopt.c:740
 #, c-format
-msgid "%s: unrecognized option `--%s'\n"
+msgid "%s: unrecognized option '--%s'\n"
 msgstr "%s: ���������������������--%s���\n"
 
-#: getopt.c:749 getopt.c:752
+#: getopt.c:748 getopt.c:751
 #, c-format
-msgid "%s: unrecognized option `%c%s'\n"
+msgid "%s: unrecognized option '%c%s'\n"
 msgstr "%s: ���������������������%c%s���\n"
 
-#: getopt.c:804 getopt.c:807
-#, c-format
-msgid "%s: illegal option -- %c\n"
-msgstr "%s: ������������ -- %c\n"
-
-#: getopt.c:813 getopt.c:816
+#: getopt.c:800 getopt.c:803
 #, c-format
-msgid "%s: invalid option -- %c\n"
-msgstr "%s: ������������ -- %c\n"
+msgid "%s: invalid option -- '%c'\n"
+msgstr "%s: ������������ -- ���%c���\n"
 
-#: getopt.c:868 getopt.c:884 getopt.c:1088 getopt.c:1106 main.c:461
+#: getopt.c:853 getopt.c:870 getopt.c:1073 getopt.c:1091
 #, c-format
-msgid "%s: option requires an argument -- %c\n"
-msgstr "%s: ������������������������ -- %c\n"
+msgid "%s: option requires an argument -- '%c'\n"
+msgstr "%s: ������������������������ -- ���%c���\n"
 
-#: getopt.c:937 getopt.c:953
+#: getopt.c:923 getopt.c:939
 #, c-format
-msgid "%s: option `-W %s' is ambiguous\n"
+msgid "%s: option '-W %s' is ambiguous\n"
 msgstr "%s: ���������-W %s������������\n"
 
-#: getopt.c:977 getopt.c:995
+#: getopt.c:963 getopt.c:981
 #, c-format
-msgid "%s: option `-W %s' doesn't allow an argument\n"
+msgid "%s: option '-W %s' doesn't allow an argument\n"
 msgstr "%s: ���������-W %s������������������\n"
 
-#: io.c:345
+#: io.c:322 io.c:352
 #, c-format
 msgid "cannot open file `%s' for reading (%s)"
 msgstr "���������������������������������%s���(%s)"
 
-#: io.c:436
+#: io.c:443
 #, c-format
 msgid "close of fd %d (`%s') failed (%s)"
 msgstr "��������������� %d (���%s���)������(%s)"
 
-#: io.c:575
+#: io.c:583
 #, c-format
 msgid "invalid tree type %s in redirect()"
 msgstr "��� redirect() ������������������������ %s"
 
-#: io.c:581
+#: io.c:589
 #, c-format
 msgid "expression in `%s' redirection only has numeric value"
 msgstr "���%s������������������������������������������"
 
-#: io.c:587
+#: io.c:595
 #, c-format
 msgid "expression for `%s' redirection has null string value"
 msgstr "���%s������������������������������������������"
 
-#: io.c:592
+#: io.c:600
 #, c-format
 msgid "filename `%s' for `%s' redirection may be result of logical expression"
 msgstr "���%2$s������������������������������%1$s������������������������������������"
 
-#: io.c:630
+#: io.c:638
 #, c-format
 msgid "unnecessary mixing of `>' and `>>' for file `%.*s'"
 msgstr "������������%.*s���������������������������������>���������>>���"
 
-#: io.c:682
+#: io.c:685
 #, c-format
 msgid "can't open pipe `%s' for output (%s)"
 msgstr "������������������������������%s���(%s)"
 
-#: io.c:691
+#: io.c:694
 #, c-format
 msgid "can't open pipe `%s' for input (%s)"
 msgstr "������������������������������%s���(%s)"
 
-#: io.c:698 io.c:1448
-#, c-format
-msgid "file `%s' is a directory"
-msgstr "���������%s������������������"
-
-#: io.c:706
+#: io.c:712
 #, c-format
 msgid "can't open two way socket `%s' for input/output (%s)"
 msgstr "���������������/���������������������������%s���(%s)"
 
-#: io.c:710
+#: io.c:716
 #, c-format
 msgid "can't open two way pipe `%s' for input/output (%s)"
 msgstr "���������������/���������������������������%s���(%s)"
 
-#: io.c:786
+#: io.c:793
 #, c-format
 msgid "can't redirect from `%s' (%s)"
 msgstr "������������%s������������(%s)"
 
-#: io.c:789
+#: io.c:796
 #, c-format
 msgid "can't redirect to `%s' (%s)"
 msgstr "���������������������%s���(%s)"
 
-#: io.c:828
+#: io.c:849
 msgid ""
 "reached system limit for open files: starting to multiplex file descriptors"
 msgstr "������������������������������������: ���������������������������"
 
-#: io.c:844
+#: io.c:865
 #, c-format
 msgid "close of `%s' failed (%s)."
 msgstr "���������%s���������(%s)���"
 
-#: io.c:852
+#: io.c:873
 msgid "too many pipes or input files open"
 msgstr "���������������������������������"
 
-#: io.c:875
+#: io.c:896
 msgid "close: second argument must be `to' or `from'"
 msgstr "close: ���������������������������to���������from���"
 
-#: io.c:889
+#: io.c:910
 #, c-format
 msgid "close: `%.*s' is not an open file, pipe or co-process"
 msgstr "close: ���%.*s������������������������������������������������������"
 
-#: io.c:893
+#: io.c:915
 msgid "close of redirection that was never opened"
 msgstr "���������������������������������������"
 
-#: io.c:989
+#: io.c:1012
 #, c-format
 msgid "close: redirection `%s' not opened with `|&', second argument ignored"
 msgstr "close: ������������%s���������������|&������������������������������������"
 
-#: io.c:1005
+#: io.c:1028
 #, c-format
 msgid "failure status (%d) on pipe close of `%s' (%s)"
 msgstr "���������������%2$s������������������������������(%1$d)(%3$s)"
 
-#: io.c:1008
+#: io.c:1031
 #, c-format
 msgid "failure status (%d) on file close of `%s' (%s)"
 msgstr "���������������%2$s������������������������������(%1$d)(%3$s)"
 
-#: io.c:1028
+#: io.c:1051
 #, c-format
 msgid "no explicit close of socket `%s' provided"
 msgstr "������������������������%s���"
 
-#: io.c:1031
+#: io.c:1054
 #, c-format
 msgid "no explicit close of co-process `%s' provided"
 msgstr "������������������������������%s���"
 
-#: io.c:1034
+#: io.c:1057
 #, c-format
 msgid "no explicit close of pipe `%s' provided"
 msgstr "������������������������%s���"
 
-#: io.c:1037
+#: io.c:1060
 #, c-format
 msgid "no explicit close of file `%s' provided"
 msgstr "������������������������%s���"
 
-#: io.c:1066 io.c:1121 main.c:749 main.c:791
+#: io.c:1088 io.c:1143 main.c:776 main.c:818
 #, c-format
 msgid "error writing standard output (%s)"
 msgstr "��������������������������������� (%s)"
 
-#: io.c:1070 io.c:1126
+#: io.c:1092 io.c:1148
 #, c-format
 msgid "error writing standard error (%s)"
 msgstr "��������������������������������������� (%s)"
 
-#: io.c:1078
+#: io.c:1100
 #, c-format
 msgid "pipe flush of `%s' failed (%s)."
 msgstr "���������������%s������������(%s)���"
 
-#: io.c:1081
+#: io.c:1103
 #, c-format
 msgid "co-process flush of pipe to `%s' failed (%s)."
 msgstr "���������������������������%s������������(%s)���"
 
-#: io.c:1084
+#: io.c:1106
 #, c-format
 msgid "file flush of `%s' failed (%s)."
 msgstr "���������������%s������������(%s)���"
 
-#: io.c:1198
+#: io.c:1220
 #, c-format
 msgid "local port %s invalid in `/inet'"
 msgstr "������������ %s ������/inet������������"
 
-#: io.c:1215
+#: io.c:1237
 #, c-format
 msgid "remote host and port information (%s, %s) invalid"
 msgstr "��������������������������� (%s, %s) ������"
 
-#: io.c:1250
+#: io.c:1272
 msgid "/inet/raw client not ready yet, sorry"
 msgstr "/inet/raw ���������������������������������"
 
-#: io.c:1253 io.c:1289
+#: io.c:1275 io.c:1311
 msgid "only root may use `/inet/raw'."
 msgstr "��� root ��������� ���/inet/raw���"
 
-#: io.c:1287
+#: io.c:1309
 msgid "/inet/raw server not ready yet, sorry"
 msgstr "/inet/raw ���������������������������������"
 
-#: io.c:1385
+#: io.c:1407
 #, c-format
 msgid "no (known) protocol supplied in special filename `%s'"
 msgstr "������������������������������%s������������������"
 
-#: io.c:1399
+#: io.c:1421
 #, c-format
 msgid "special file name `%s' is incomplete"
 msgstr "������������������%s������������������"
 
-#: io.c:1414
+#: io.c:1436
 msgid "must supply a remote hostname to `/inet'"
 msgstr "���������������������������������/inet���"
 
-#: io.c:1432
+#: io.c:1454
 msgid "must supply a remote port to `/inet'"
 msgstr "������������������������������/inet���"
 
-#: io.c:1439
+#: io.c:1485
 msgid "TCP/IP communications are not supported"
 msgstr "TCP/IP ������������������"
 
-#: io.c:1509
+#: io.c:1494
+#, c-format
+msgid "file `%s' is a directory"
+msgstr "���������%s������������������"
+
+#: io.c:1555
 #, c-format
 msgid "use `PROCINFO[\"%s\"]' instead of `%s'"
 msgstr "���������PROCINFO[\"%s\"]���������������%s���"
 
-#: io.c:1547
+#: io.c:1593
 msgid "use `PROCINFO[...]' instead of `/dev/user'"
 msgstr "���������PROCINFO[...]���������������/dev/user���"
 
-#: io.c:1612 io.c:1798
+#: io.c:1658 io.c:1853
 #, c-format
 msgid "could not open `%s', mode `%s'"
 msgstr "������������������%2$s������������%1$s���"
 
-#: io.c:1849
+#: io.c:1904
 #, c-format
 msgid "close of master pty failed (%s)"
 msgstr "��������� pty ������(%s)"
 
-#: io.c:1851 io.c:2003 io.c:2154
+#: io.c:1906 io.c:2058 io.c:2209
 #, c-format
 msgid "close of stdout in child failed (%s)"
 msgstr "���������������������������������������(%s)"
 
-#: io.c:1854
+#: io.c:1909
 #, c-format
 msgid "moving slave pty to stdout in child failed (dup: %s)"
 msgstr "��������������������� pty ������������������������(dup: %s)"
 
-#: io.c:1856 io.c:2008
+#: io.c:1911 io.c:2063
 #, c-format
 msgid "close of stdin in child failed (%s)"
 msgstr "���������������������������������������(%s)"
 
-#: io.c:1859
+#: io.c:1914
 #, c-format
 msgid "moving slave pty to stdin in child failed (dup: %s)"
 msgstr "��������������������� pty ������������������������(dup: %s)"
 
-#: io.c:1861 io.c:1880
+#: io.c:1916 io.c:1935
 #, c-format
 msgid "close of slave pty failed (%s)"
 msgstr "��������� pty ������(%s)"
 
-#: io.c:1954 io.c:2006 io.c:2135 io.c:2157
+#: io.c:2009 io.c:2061 io.c:2190 io.c:2212
 #, c-format
 msgid "moving pipe to stdout in child failed (dup: %s)"
 msgstr "������������������������������������������������(dup: %s)"
 
-#: io.c:1958 io.c:2011
+#: io.c:2013 io.c:2066
 #, c-format
 msgid "moving pipe to stdin in child failed (dup: %s)"
 msgstr "������������������������������������������������(dup: %s)"
 
-#: io.c:1975 io.c:2148
+#: io.c:2030 io.c:2203
 msgid "restoring stdout in parent process failed\n"
 msgstr "���������������������������������������\n"
 
-#: io.c:1980
+#: io.c:2035
 msgid "restoring stdin in parent process failed\n"
 msgstr "���������������������������������������\n"
 
-#: io.c:2014 io.c:2159 io.c:2170
+#: io.c:2069 io.c:2214 io.c:2225
 #, c-format
 msgid "close of pipe failed (%s)"
 msgstr "������������������(%s)"
 
-#: io.c:2059
+#: io.c:2114
 msgid "`|&' not supported"
 msgstr "���|&���������������"
 
-#: io.c:2125
+#: io.c:2180
 #, c-format
 msgid "cannot open pipe `%s' (%s)"
 msgstr "���������������������%s���(%s)"
 
-#: io.c:2166
+#: io.c:2221
 #, c-format
 msgid "cannot create child process for `%s' (fork: %s)"
 msgstr "������������%s������������������(fork: %s)"
 
-#: io.c:2548
+#: io.c:2603
 #, c-format
 msgid "data file `%s' is empty"
 msgstr "���������������%s���������"
 
-#: io.c:2589 io.c:2597
+#: io.c:2644 io.c:2652
 msgid "could not allocate more input memory"
 msgstr "���������������������������������"
 
-#: io.c:2965 io.c:3038
+#: io.c:3020 io.c:3093
 #, c-format
 msgid "error reading input file `%s': %s"
 msgstr "���������������������%s������������: %s"
 
-#: io.c:3163
+#: io.c:3218
 msgid "multicharacter value of `RS' is a gawk extension"
 msgstr "���RS������������������������ gawk ������"
 
-#: main.c:351
+#: main.c:304
+msgid "out of memory"
+msgstr "������������"
+
+#: main.c:373
 msgid "`-m[fr]' option irrelevant in gawk"
 msgstr "���-m[fr]������������ gawk ������������"
 
-#: main.c:353
+#: main.c:375
 msgid "-m option usage: `-m[fr] nnn'"
 msgstr "-m ������������: ���-m[fr] nnn���"
 
-#: main.c:370
+#: main.c:392
 #, c-format
 msgid "%s: option `-W %s' unrecognized, ignored\n"
 msgstr "%s: ���������-W %s������������������������\n"
 
-#: main.c:407
+#: main.c:433
 msgid "empty argument to `--source' ignored"
 msgstr "���--source������������������������"
 
-#: main.c:480
+#: main.c:487
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: ������������������������ -- %c\n"
+
+#: main.c:506
 msgid "environment variable `POSIXLY_CORRECT' set: turning on `--posix'"
 msgstr "���������������POSIXLY_CORRECT������������: ���������--posix���"
 
-#: main.c:486
+#: main.c:512
 msgid "`--posix' overrides `--traditional'"
 msgstr "���--posix������������--traditional���"
 
-#: main.c:497
+#: main.c:523
 msgid "`--posix'/`--traditional' overrides `--non-decimal-data'"
 msgstr "���--posix���������--traditional������������--non-decimal-data���"
 
-#: main.c:501
+#: main.c:527
 #, c-format
 msgid "running %s setuid root may be a security problem"
 msgstr "��������� root ID ���������������%s���������������������������"
 
-#: main.c:542
+#: main.c:568
 #, c-format
 msgid "can't set binary mode on stdin (%s)"
 msgstr "���������������������������������������������(%s)"
 
-#: main.c:545
+#: main.c:571
 #, c-format
 msgid "can't set binary mode on stdout (%s)"
 msgstr "���������������������������������������������(%s)"
 
-#: main.c:547
+#: main.c:573
 #, c-format
 msgid "can't set binary mode on stderr (%s)"
 msgstr "���������������������������������������������������(%s)"
 
-#: main.c:586
+#: main.c:612
 msgid "no program text at all!"
 msgstr "���������������������������"
 
-#: main.c:690
+#: main.c:716
 #, c-format
 msgid "Usage: %s [POSIX or GNU style options] -f progfile [--] file ...\n"
 msgstr "������: %s [POSIX ��� GNU ������������] -f ������������ [--] ������ ...\n"
 
-#: main.c:692
+#: main.c:718
 #, c-format
 msgid "Usage: %s [POSIX or GNU style options] [--] %cprogram%c file ...\n"
 msgstr "������: %s [POSIX ��� GNU ������������] [--] %c������%c ������ ...\n"
 
-#: main.c:697
+#: main.c:723
 msgid "POSIX options:\t\tGNU long options:\n"
 msgstr "POSIX ������:     \t\tGNU ���������:\n"
 
-#: main.c:698
+#: main.c:724
 msgid "\t-f progfile\t\t--file=progfile\n"
 msgstr "\t-f ������������\t\t--file=������������\n"
 
-#: main.c:699
+#: main.c:725
 msgid "\t-F fs\t\t\t--field-separator=fs\n"
 msgstr "\t-F fs\t\t\t--field-separator=fs\n"
 
-#: main.c:700
+#: main.c:726
 msgid "\t-v var=val\t\t--assign=var=val\n"
 msgstr "\t-v var=val\t\t--assign=var=val\n"
 
-#: main.c:701
+#: main.c:727
 msgid "\t-m[fr] val\n"
 msgstr "\t-m[fr] val\n"
 
-#: main.c:702
+#: main.c:728
+msgid "\t-O\t\t\t--optimize\n"
+msgstr "\t-O\t\t\t--optimize\n"
+
+#: main.c:729
 msgid "\t-W compat\t\t--compat\n"
 msgstr "\t-W compat\t\t--compat\n"
 
-#: main.c:703
+#: main.c:730
 msgid "\t-W copyleft\t\t--copyleft\n"
 msgstr "\t-W copyleft\t\t--copyleft\n"
 
-#: main.c:704
+#: main.c:731
 msgid "\t-W copyright\t\t--copyright\n"
 msgstr "\t-W copyright\t\t--copyright\n"
 
-#: main.c:705
+#: main.c:732
 msgid "\t-W dump-variables[=file]\t--dump-variables[=file]\n"
 msgstr "\t-W dump-variables[=file]\t--dump-variables[=file]\n"
 
-#: main.c:706
+#: main.c:733
 msgid "\t-W exec=file\t\t--exec=file\n"
 msgstr "\t-W exec=file\t\t--exec=file\n"
 
-#: main.c:707
+#: main.c:734
 msgid "\t-W gen-po\t\t--gen-po\n"
 msgstr "\t-W gen-po\t\t--gen-po\n"
 
-#: main.c:708
+#: main.c:735
 msgid "\t-W help\t\t\t--help\n"
 msgstr "\t-W help\t\t\t--help\n"
 
-#: main.c:709
+#: main.c:736
 msgid "\t-W lint[=fatal]\t\t--lint[=fatal]\n"
 msgstr "\t-W lint[=fatal]\t\t--lint[=fatal]\n"
 
-#: main.c:710
+#: main.c:737
 msgid "\t-W lint-old\t\t--lint-old\n"
 msgstr "\t-W lint-old\t\t--lint-old\n"
 
-#: main.c:711
+#: main.c:738
 msgid "\t-W non-decimal-data\t--non-decimal-data\n"
 msgstr "\t-W non-decimal-data\t--non-decimal-data\n"
 
-#: main.c:713
+#: main.c:740
 msgid "\t-W nostalgia\t\t--nostalgia\n"
 msgstr "\t-W nostalgia\t\t--nostalgia\n"
 
-#: main.c:716
+#: main.c:743
 msgid "\t-W parsedebug\t\t--parsedebug\n"
 msgstr "\t-W parsedebug\t\t--parsedebug\n"
 
-#: main.c:718
+#: main.c:745
 msgid "\t-W profile[=file]\t--profile[=file]\n"
 msgstr "\t-W profile[=file]\t--profile[=file]\n"
 
-#: main.c:719
+#: main.c:746
 msgid "\t-W posix\t\t--posix\n"
 msgstr "\t-W posix\t\t--posix\n"
 
-#: main.c:720
+#: main.c:747
 msgid "\t-W re-interval\t\t--re-interval\n"
 msgstr "\t-W re-interval\t\t--re-interval\n"
 
-#: main.c:721
+#: main.c:748
 msgid "\t-W source=program-text\t--source=program-text\n"
 msgstr "\t-W source=program-text\t--source=program-text\n"
 
-#: main.c:722
+#: main.c:749
 msgid "\t-W traditional\t\t--traditional\n"
 msgstr "\t-W traditional\t\t--traditional\n"
 
-#: main.c:723
+#: main.c:750
 msgid "\t-W usage\t\t--usage\n"
 msgstr "\t-W usage\t\t--usage\n"
 
-#: main.c:724
+#: main.c:751
 msgid "\t-W use-lc-numeric\t--use-lc-numeric\n"
-msgstr ""
+msgstr "\t-W use-lc-numeric\t--use-lc-numeric\n"
 
-#: main.c:725
+#: main.c:752
 msgid "\t-W version\t\t--version\n"
 msgstr "\t-W version\t\t--version\n"
 
@@ -1553,7 +1595,7 @@
 #. for this application.  Please add _another line_ with the
 #. address for translation bugs.
 #. no-wrap
-#: main.c:734
+#: main.c:761
 msgid ""
 "\n"
 "To report bugs, see node `Bugs' in `gawk.info', which is\n"
@@ -1567,7 +1609,7 @@
 "������������������������ translation-team-zh-cn@lists.sourceforge.net\n"
 "\n"
 
-#: main.c:738
+#: main.c:765
 msgid ""
 "gawk is a pattern scanning and processing language.\n"
 "By default it reads standard input and writes standard output.\n"
@@ -1576,7 +1618,7 @@
 "gawk ������������������������������������������������������������������������������������������������������\n"
 "\n"
 
-#: main.c:742
+#: main.c:769
 msgid ""
 "Examples:\n"
 "\tgawk '{ sum += $1 }; END { print sum }' file\n"
@@ -1586,7 +1628,7 @@
 "\tgawk '{ sum += $1 }; END { print sum }' file\n"
 "\tgawk -F: '{ print $1 }' /etc/passwd\n"
 
-#: main.c:762
+#: main.c:789
 #, c-format
 msgid ""
 "Copyright (C) 1989, 1991-%d Free Software Foundation.\n"
@@ -1603,7 +1645,7 @@
 "3���������������������������������������������\n"
 "\n"
 
-#: main.c:770
+#: main.c:797
 msgid ""
 "This program is distributed in the hope that it will be useful,\n"
 "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
@@ -1616,21 +1658,19 @@
 "������������(GPL)���\n"
 "\n"
 
-#: main.c:781
-#, fuzzy
+#: main.c:808
 msgid ""
 "You should have received a copy of the GNU General Public License\n"
 "along with this program. If not, see http://www.gnu.org/licenses/.\n"
 msgstr ""
-"������������������������������������ GNU ���������������������(GPL)������������������������������������\n"
-"���the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,\n"
-"Boston, MA 02110-1301, USA.������������\n"
+"������������������������������������ GNU ���������������������(GPL)��������������������������������� "
+"http://www.gnu.org/licenses/ ���\n"
 
-#: main.c:816
+#: main.c:843
 msgid "-Ft does not set FS to tab in POSIX awk"
 msgstr "��� POSIX awk ��� -Ft ��������� FS ���������������(tab)"
 
-#: main.c:1060
+#: main.c:1117
 #, c-format
 msgid ""
 "%s: `%s' argument to `-v' not in `var=value' form\n"
@@ -1639,35 +1679,43 @@
 "%s: ���-v���������������%s������������var=value���������\n"
 "\n"
 
-#: main.c:1080
+#: main.c:1137
 #, c-format
 msgid "`%s' is not a legal variable name"
 msgstr "���%s���������������������������������"
 
-#: main.c:1083
+#: main.c:1140
 #, c-format
 msgid "`%s' is not a variable name, looking for file `%s=%s'"
 msgstr "���%s������������������������������������������%s=%s���"
 
-#: main.c:1122
+#: main.c:1179
 msgid "floating point exception"
 msgstr "���������������"
 
-#: main.c:1129
+#: main.c:1186
 msgid "fatal error: internal error"
 msgstr "������������: ������������"
 
-#: main.c:1180
+#: main.c:1200
+msgid "fatal error: internal error: segfault"
+msgstr "������������: ������������: ���������"
+
+#: main.c:1212
+msgid "fatal error: internal error: stack overflow"
+msgstr "������������: ������������: ���������"
+
+#: main.c:1261
 #, c-format
 msgid "no pre-opened fd %d"
 msgstr "��������������� %d ������������"
 
-#: main.c:1187
+#: main.c:1268
 #, c-format
 msgid "could not pre-open /dev/null for fd %d"
 msgstr "������������������������ %d ��������� /dev/null"
 
-#: main.c:1210 main.c:1219
+#: main.c:1291 main.c:1300
 #, c-format
 msgid "could not find groups: %s"
 msgstr "���������������: %s"
@@ -1693,24 +1741,31 @@
 msgid "can't convert string to float"
 msgstr "������������������������������������"
 
-#: node.c:406
+#: node.c:462
 msgid "backslash at end of string"
 msgstr "���������������������������"
 
-#: node.c:548
+#: node.c:606
 #, c-format
 msgid "old awk does not support the `\\%c' escape sequence"
 msgstr "��� awk ������������\\%c���������������"
 
-#: node.c:599
+#: node.c:657
 msgid "POSIX does not allow `\\x' escapes"
 msgstr "POSIX ������������\\x������������"
 
-#: node.c:605
+#: node.c:663
 msgid "no hex digits in `\\x' escape sequence"
 msgstr "���\\x���������������������������������������"
 
-#: node.c:639
+#: node.c:685
+#, c-format
+msgid ""
+"hex escape \\x%.*s of %d characters probably not interpreted the way you "
+"expect"
+msgstr ""
+
+#: node.c:700
 #, c-format
 msgid "escape sequence `\\%c' treated as plain `%c'"
 msgstr "���������������\\%c������������������������%c���"
@@ -1720,31 +1775,32 @@
 msgid "%s %s `%s': could not set close-on-exec: (fcntl: %s)"
 msgstr "%s %s ���%s���: ������������ close-on-exec: (fcntl: %s)"
 
-#: profile.c:92
+#: profile.c:93
 #, c-format
 msgid "could not open `%s' for writing: %s"
 msgstr "���������������������������%s���: %s"
 
-#: profile.c:450
+#: profile.c:453
 #, c-format
 msgid "internal error: %s with null vname"
 msgstr "������������: %s ������������ vname"
 
-#: profile.c:514
+#: profile.c:517
+#, fuzzy
 msgid "# treated internally as `delete'"
 msgstr "# ������������������delete���"
 
-#: profile.c:1147
+#: profile.c:1069
 #, c-format
 msgid "# this is a dynamically loaded extension function"
 msgstr "# ���������������������������������������"
 
-#: profile.c:1178
+#: profile.c:1100
 #, c-format
 msgid "\t# gawk profile, created %s\n"
 msgstr "\t# gawk ������, ������ %s\n"
 
-#: profile.c:1181
+#: profile.c:1103
 #, c-format
 msgid ""
 "\t# BEGIN block(s)\n"
@@ -1753,7 +1809,7 @@
 "\t# BEGIN ���\n"
 "\n"
 
-#: profile.c:1191
+#: profile.c:1113
 #, c-format
 msgid ""
 "\t# Rule(s)\n"
@@ -1762,7 +1818,7 @@
 "\t# ������\n"
 "\n"
 
-#: profile.c:1197
+#: profile.c:1119
 #, c-format
 msgid ""
 "\t# END block(s)\n"
@@ -1771,7 +1827,7 @@
 "\t# END ���\n"
 "\n"
 
-#: profile.c:1217
+#: profile.c:1139
 #, c-format
 msgid ""
 "\n"
@@ -1780,79 +1836,84 @@
 "\n"
 "\t# ������������������������\n"
 
-#: profile.c:1470
+#: profile.c:1400
 #, c-format
 msgid "unexpected type %s in prec_level"
 msgstr "��� prec_level ��������������������� %s"
 
-#: regcomp.c:132
+#: profile.c:1500
+#, c-format
+msgid "Unknown node type %s in pp_var"
+msgstr "pp_var ��������������������������� %s"
+
+#: regcomp.c:133
 msgid "Success"
 msgstr "������"
 
-#: regcomp.c:135
+#: regcomp.c:136
 msgid "No match"
 msgstr "���������"
 
-#: regcomp.c:138
+#: regcomp.c:139
 msgid "Invalid regular expression"
 msgstr "������������������������"
 
-#: regcomp.c:141
+#: regcomp.c:142
 msgid "Invalid collation character"
 msgstr "���������������������"
 
-#: regcomp.c:144
+#: regcomp.c:145
 msgid "Invalid character class name"
 msgstr "������������������������"
 
-#: regcomp.c:147
+#: regcomp.c:148
 msgid "Trailing backslash"
 msgstr "������������������"
 
-#: regcomp.c:150
+#: regcomp.c:151
 msgid "Invalid back reference"
 msgstr "������������������"
 
-#: regcomp.c:153
+#: regcomp.c:154
 msgid "Unmatched [ or [^"
 msgstr "������������ [ ��� [^"
 
-#: regcomp.c:156
+#: regcomp.c:157
 msgid "Unmatched ( or \\("
 msgstr "������������ ( ��� \\("
 
-#: regcomp.c:159
+#: regcomp.c:160
 msgid "Unmatched \\{"
 msgstr "������������ \\{"
 
-#: regcomp.c:162
+#: regcomp.c:163
 msgid "Invalid content of \\{\\}"
 msgstr "\\{\\} ���������������"
 
-#: regcomp.c:165
+#: regcomp.c:166
 msgid "Invalid range end"
 msgstr "���������������������"
 
-#: regcomp.c:168
+#: regcomp.c:169
 msgid "Memory exhausted"
 msgstr "������������"
 
-#: regcomp.c:171
+#: regcomp.c:172
 msgid "Invalid preceding regular expression"
 msgstr "������������������������������"
 
-#: regcomp.c:174
+#: regcomp.c:175
 msgid "Premature end of regular expression"
 msgstr "������������������������������"
 
-#: regcomp.c:177
+#: regcomp.c:178
 msgid "Regular expression too big"
 msgstr "���������������������"
 
-#: regcomp.c:180
+#: regcomp.c:181
 msgid "Unmatched ) or \\)"
 msgstr "������������ ) ��� \\)"
 
-#: regcomp.c:664
+#: regcomp.c:700
 msgid "No previous regular expression"
 msgstr "���������������������������"
diff -urN gawk-3.1.6/posix/ChangeLog gawk-3.1.7/posix/ChangeLog
--- gawk-3.1.6/posix/ChangeLog	2007-10-22 08:50:30.000000000 +0200
+++ gawk-3.1.7/posix/ChangeLog	2009-07-21 22:30:22.000000000 +0300
@@ -1,3 +1,7 @@
+Tue Jul 21 22:28:56 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* Release 3.1.7: Release tar file made.
+
 Mon Oct 22 08:49:05 2007  Arnold D. Robbins  <arnold@skeeve.com>
 
 	* Release 3.1.6: Release tar file made.
diff -urN gawk-3.1.6/profile.c gawk-3.1.7/profile.c
--- gawk-3.1.6/profile.c	2007-08-11 22:39:49.000000000 +0300
+++ gawk-3.1.7/profile.c	2009-07-21 23:19:31.000000000 +0300
@@ -3,7 +3,7 @@
  */
 
 /* 
- * Copyright (C) 1999-2007 the Free Software Foundation, Inc.
+ * Copyright (C) 1999-2009 the Free Software Foundation, Inc.
  * 
  * This file is part of GAWK, the GNU implementation of the
  * AWK Programming Language.
@@ -47,6 +47,7 @@
 static void pp_list P((NODE *tree));
 static void pp_string P((const char *str, size_t len, int delim));
 static void pp_concat P((NODE *tree, int level));
+static void pp_var P((NODE *tree));
 static int is_scalar P((NODETYPE type));
 static int prec_level P((NODETYPE type));
 #ifdef PROFILING
@@ -193,10 +194,12 @@
 			if (tree->rnode) {
 				if (! in_BEGIN_or_END) {
 					fprintf(prof_fp, "{");
+#ifdef PROFILING
 					if (tree->lnode != NULL
 					    && tree->lnode->exec_count)
 						fprintf(prof_fp, " # %ld",
 							tree->lnode->exec_count);
+#endif
 					fprintf(prof_fp, "\n");
 				}
 				indent_in();
@@ -464,13 +467,13 @@
 	case Node_and:
 		eval_condition(tree->lnode);
 		fprintf(prof_fp, " && ");
-	   	eval_condition(tree->rnode);
+		eval_condition(tree->rnode);
 		return;
 
 	case Node_or:
 		eval_condition(tree->lnode);
 		fprintf(prof_fp, " || ");
-	   	eval_condition(tree->rnode);
+		eval_condition(tree->rnode);
 		return;
 
 	case Node_not:
@@ -524,60 +527,21 @@
 		return;
 
 		/* unary operations */
-	case Node_NR:
-		fprintf(prof_fp, "NR");
-		return;
-
-	case Node_FNR:
-		fprintf(prof_fp, "FNR");
-		return;
-
-	case Node_NF:
-		fprintf(prof_fp, "NF");
-		return;
-
+	case Node_CONVFMT:
 	case Node_FIELDWIDTHS:
-		fprintf(prof_fp, "FIELDWIDTHS");
-		return;
-
+	case Node_FNR:
 	case Node_FS:
-		fprintf(prof_fp, "FS");
-		return;
-
-	case Node_RS:
-		fprintf(prof_fp, "RS");
-		return;
-
 	case Node_IGNORECASE:
-		fprintf(prof_fp, "IGNORECASE");
-		return;
-
+	case Node_LINT:
+	case Node_NF:
+	case Node_NR:
+	case Node_OFMT:
 	case Node_OFS:
-		fprintf(prof_fp, "OFS");
-		return;
-
 	case Node_ORS:
-		fprintf(prof_fp, "ORS");
-		return;
-
-	case Node_OFMT:
-		fprintf(prof_fp, "OFMT");
-		return;
-
-	case Node_CONVFMT:
-		fprintf(prof_fp, "CONVFMT");
-		return;
-
-	case Node_BINMODE:
-		fprintf(prof_fp, "BINMODE");
-		return;
-
-	case Node_SUBSEP:
-		fprintf(prof_fp, "SUBSEP");
-		return;
-
+	case Node_RS:
 	case Node_TEXTDOMAIN:
-		fprintf(prof_fp, "TEXTDOMAIN");
+	case Node_SUBSEP:
+		pp_var(tree);
 		return;
 
 	case Node_field_spec:
@@ -822,64 +786,22 @@
 		fprintf(prof_fp, "%s", ptr->vname);
 		break;
 
+	case Node_BINMODE:
+	case Node_CONVFMT:
 	case Node_FIELDWIDTHS:
-		fprintf(prof_fp, "FIELDWIDTHS");
-		break;
-
-	case Node_RS:
-		fprintf(prof_fp, "RS");
-		break;
-
-	case Node_FS:
-		fprintf(prof_fp, "FS");
-		break;
-
 	case Node_FNR:
-		fprintf(prof_fp, "FNR");
-		break;
-
-	case Node_NR:
-		fprintf(prof_fp, "NR");
-		break;
-
-	case Node_NF:
-		fprintf(prof_fp, "NF");
-		break;
-
+	case Node_FS:
 	case Node_IGNORECASE:
-		fprintf(prof_fp, "IGNORECASE");
-		break;
-
-	case Node_BINMODE:
-		fprintf(prof_fp, "BINMODE");
-		break;
-
 	case Node_LINT:
-		fprintf(prof_fp, "LINT");
-		break;
-
+	case Node_NF:
+	case Node_NR:
 	case Node_OFMT:
-		fprintf(prof_fp, "OFMT");
-		break;
-
-	case Node_CONVFMT:
-		fprintf(prof_fp, "CONVFMT");
-		break;
-
-	case Node_ORS:
-		fprintf(prof_fp, "ORS");
-		break;
-
 	case Node_OFS:
-		fprintf(prof_fp, "OFS");
-		break;
-
+	case Node_ORS:
+	case Node_RS:
 	case Node_SUBSEP:
-		fprintf(prof_fp, "SUBSEP");
-		break;
-
 	case Node_TEXTDOMAIN:
-		fprintf(prof_fp, "TEXTDOMAIN");
+		pp_var(ptr);
 		break;
 
 	case Node_param_list:
@@ -1066,7 +988,7 @@
 
 	array = tree->lnode;
 	subscript = tree->rnode;
-	indent(array->exec_count);
+	indent(tree->exec_count);
 	if (array->type == Node_param_list)
 		fprintf(prof_fp, "delete %s", fparms[array->param_cnt]);
 	else
@@ -1245,10 +1167,17 @@
 static void
 pp_concat(NODE *tree, int level)
 {
+	static int left_printed = FALSE;
+
 	if (tree->lnode->type == Node_concat)
 		pp_concat(tree->lnode, level + 1);	/* recurse down one level */
-	else {
+	else if (tree->lnode == Nnull_string) {
+		tree_eval(tree->rnode);
+		return;
+	} else {
 		fprintf(prof_fp, "(");	/* outermost left paren */
+		left_printed = TRUE;
+
 		if (is_scalar(tree->lnode->type))
 			tree_eval(tree->lnode);
 		else {
@@ -1268,8 +1197,10 @@
 		fprintf(prof_fp, ")");
 	}
 
-	if (level == 0)
+	if (level == 0 && left_printed) {
 		fprintf(prof_fp, ")");	/* outermost right paren */
+		left_printed = FALSE;
+	}
 }
 
 /* pp_string --- pretty print a string or regex constant */
@@ -1363,6 +1294,7 @@
 	case Node_SUBSEP:
 	case Node_TEXTDOMAIN:
 	case Node_subscript:
+	case Node_func_call:
 		return TRUE;
 	default:
 		return FALSE;
@@ -1442,8 +1374,6 @@
 		return 6;
 
 	case Node_less:
-		return 5;
-
 	case Node_in_array:
 		return 5;
 
@@ -1487,7 +1417,7 @@
 	in_expr++;
 	/* first the special cases, then the general ones */
 	if (parent_type == Node_not && child_type == Node_in_array) {
-		fprintf(prof_fp, "! (");
+		fprintf(prof_fp, "(");
 		pp_in_array(tree->lnode, tree->rnode);
 		fprintf(prof_fp, ")");
 	/* other special cases here, as needed */
@@ -1500,6 +1430,78 @@
 	in_expr--;
 }
 
+/* pp_var --- print builtin variables, do it in one place */
+
+static void
+pp_var(NODE *tree)
+{
+	switch (tree->type) {
+	case Node_BINMODE:
+		fprintf(prof_fp, "BINMODE");
+		return;
+
+	case Node_CONVFMT:
+		fprintf(prof_fp, "CONVFMT");
+		return;
+
+	case Node_FIELDWIDTHS:
+		fprintf(prof_fp, "FIELDWIDTHS");
+		return;
+
+	case Node_FNR:
+		fprintf(prof_fp, "FNR");
+		return;
+
+	case Node_FS:
+		fprintf(prof_fp, "FS");
+		return;
+
+	case Node_IGNORECASE:
+		fprintf(prof_fp, "IGNORECASE");
+		return;
+
+	case Node_LINT:
+		fprintf(prof_fp, "LINT");
+		return;
+
+	case Node_NF:
+		fprintf(prof_fp, "NF");
+		return;
+
+	case Node_NR:
+		fprintf(prof_fp, "NR");
+		return;
+
+	case Node_OFMT:
+		fprintf(prof_fp, "OFMT");
+		return;
+
+	case Node_OFS:
+		fprintf(prof_fp, "OFS");
+		return;
+
+	case Node_ORS:
+		fprintf(prof_fp, "ORS");
+		return;
+
+	case Node_RS:
+		fprintf(prof_fp, "RS");
+		return;
+
+	case Node_SUBSEP:
+		fprintf(prof_fp, "SUBSEP");
+		return;
+
+	case Node_TEXTDOMAIN:
+		fprintf(prof_fp, "TEXTDOMAIN");
+		return;
+
+	default:
+		fatal(_("Unknown node type %s in pp_var"), nodetype2str(tree->type));
+		break;
+	}
+}
+
 #ifdef PROFILING
 /* just_dump --- dump the profile and function stack and keep going */
 
@@ -1521,6 +1523,6 @@
 dump_and_exit(int signum)
 {
 	just_dump(signum);
-	exit(1);
+	exit(EXIT_FAILURE);
 }
 #endif
diff -urN gawk-3.1.6/re.c gawk-3.1.7/re.c
--- gawk-3.1.6/re.c	2007-08-11 22:39:49.000000000 +0300
+++ gawk-3.1.7/re.c	2009-07-09 22:34:51.000000000 +0300
@@ -3,7 +3,7 @@
  */
 
 /* 
- * Copyright (C) 1991-2007 the Free Software Foundation, Inc.
+ * Copyright (C) 1991-2009 the Free Software Foundation, Inc.
  * 
  * This file is part of GAWK, the GNU implementation of the
  * AWK Programming Language.
@@ -232,8 +232,11 @@
 	 * focused, perhaps we should relegate the DFA matcher to the
 	 * single byte case all the time. OTOH, the speed difference
 	 * between the matchers in non-trivial... Sigh.)
+	 *
+	 * 7/2008: Simplify: skip dfa matcher if need_start. The above
+	 * problems are too much to deal with.
 	 */
-	if (rp->dfa && ! no_bol && (gawk_mb_cur_max == 1 || ! need_start)) {
+	if (rp->dfa && ! no_bol && ! need_start) {
 		char save;
 		int count = 0;
  		/*
@@ -302,7 +305,7 @@
 	NODE *t1;
 
 	if ((t->re_flags & CASE) == IGNORECASE) {
-		if ((t->re_flags & CONST) != 0) {
+		if ((t->re_flags & CONSTANT) != 0) {
 			assert(t->type == Node_regex);
 			return t->re_reg;
 		}
@@ -453,5 +456,8 @@
 		{ 0,	NULL },
 	};
 
+	if (flagval == RE_SYNTAX_EMACS) /* == 0 */
+		return "RE_SYNTAX_EMACS";
+
 	return genflags2str(flagval, values);
 }
diff -urN gawk-3.1.6/regcomp.c gawk-3.1.7/regcomp.c
--- gawk-3.1.6/regcomp.c	2007-04-29 22:54:06.000000000 +0300
+++ gawk-3.1.7/regcomp.c	2009-01-12 22:14:03.000000000 +0200
@@ -1,5 +1,6 @@
 /* Extended regular expression matching and search library.
-   Copyright (C) 2002,2003,2004,2005,2006 Free Software Foundation, Inc.
+   Copyright (C) 2002,2003,2004,2005,2006,2007,2009
+   Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
 
@@ -203,6 +204,25 @@
 
 /* Entry points for GNU code.  */
 
+
+#ifdef ZOS_USS
+
+/* For ZOS USS we must define btowc */
+
+wchar_t 
+btowc (int c)
+{
+   wchar_t wtmp[2];
+   char tmp[2];
+
+   tmp[0] = c;
+   tmp[1] = 0;
+
+   mbtowc (wtmp, tmp, 1);
+   return wtmp[0];
+}
+#endif
+
 /* re_compile_pattern is the GNU regular expression compiler: it
    compiles PATTERN (of length LENGTH) and puts the result in BUFP.
    Returns 0 if the pattern was valid, otherwise an error string.
@@ -327,8 +347,8 @@
 		     && dfa->nodes[node].mb_partial)
 		*p++ = dfa->nodes[node].opr.c;
 	      memset (&state, '\0', sizeof (state));
-	      if (mbrtowc (&wc, (const char *) buf, p - buf,
-			   &state) == p - buf
+	      if (__mbrtowc (&wc, (const char *) buf, p - buf,
+			     &state) == p - buf
 		  && (__wcrtomb ((char *) buf, towlower (wc), &state)
 		      != (size_t) -1))
 		re_set_fastmap (fastmap, 0, buf[0]);
@@ -351,51 +371,67 @@
 #ifdef RE_ENABLE_I18N
       else if (type == COMPLEX_BRACKET)
 	{
-	  int i;
 	  re_charset_t *cset = dfa->nodes[node].opr.mbcset;
-	  if (cset->non_match || cset->ncoll_syms || cset->nequiv_classes
-	      || cset->nranges || cset->nchar_classes)
-	    {
+	  int i;
+
 # ifdef _LIBC
-	      if (_NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES) != 0)
+	  /* See if we have to try all bytes which start multiple collation
+	     elements.
+	     e.g. In da_DK, we want to catch 'a' since "aa" is a valid
+		  collation element, and don't catch 'b' since 'b' is
+		  the only collation element which starts from 'b' (and
+		  it is caught by SIMPLE_BRACKET).  */
+	      if (_NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES) != 0
+		  && (cset->ncoll_syms || cset->nranges))
 		{
-		  /* In this case we want to catch the bytes which are
-		     the first byte of any collation elements.
-		     e.g. In da_DK, we want to catch 'a' since "aa"
-			  is a valid collation element, and don't catch
-			  'b' since 'b' is the only collation element
-			  which starts from 'b'.  */
 		  const int32_t *table = (const int32_t *)
 		    _NL_CURRENT (LC_COLLATE, _NL_COLLATE_TABLEMB);
 		  for (i = 0; i < SBC_MAX; ++i)
 		    if (table[i] < 0)
 		      re_set_fastmap (fastmap, icase, i);
 		}
-# else
-	      if (dfa->mb_cur_max > 1)
-		for (i = 0; i < SBC_MAX; ++i) {
-		  wint_t wc;
-		  wc = __btowc (i);
+# endif /* _LIBC */
 
-		  if (wc == WEOF || wc >= SBC_MAX)
-		    re_set_fastmap (fastmap, icase, i);
-		}
-# endif /* not _LIBC */
-	    }
-	  for (i = 0; i < cset->nmbchars; ++i)
+	  /* See if we have to start the match at all multibyte characters,
+	     i.e. where we would not find an invalid sequence.  This only
+	     applies to multibyte character sets; for single byte character
+	     sets, the SIMPLE_BRACKET again suffices.  */
+	  if (dfa->mb_cur_max > 1
+	      && (cset->nchar_classes || cset->non_match
+# ifdef _LIBC
+		  || cset->nequiv_classes
+# endif /* _LIBC */
+		 ))
 	    {
-	      char buf[256];
-	      mbstate_t state;
-	      memset (&state, '\0', sizeof (state));
-	      if (__wcrtomb (buf, cset->mbchars[i], &state) != (size_t) -1)
-		re_set_fastmap (fastmap, icase, *(unsigned char *) buf);
-	      if ((bufp->syntax & RE_ICASE) && dfa->mb_cur_max > 1)
+	      unsigned char c = 0;
+	      do
 		{
-		  if (__wcrtomb (buf, towlower (cset->mbchars[i]), &state)
-		      != (size_t) -1)
-		    re_set_fastmap (fastmap, 0, *(unsigned char *) buf);
+		  mbstate_t mbs;
+		  memset (&mbs, 0, sizeof (mbs));
+		  if (__mbrtowc (NULL, (char *) &c, 1, &mbs) == (size_t) -2)
+		    re_set_fastmap (fastmap, false, (int) c);
 		}
+	      while (++c != 0);
 	    }
+
+	  else
+	    {
+	      /* ... Else catch all bytes which can start the mbchars.  */
+	      for (i = 0; i < cset->nmbchars; ++i)
+		{
+		  char buf[256];
+		  mbstate_t state;
+		  memset (&state, '\0', sizeof (state));
+		  if (__wcrtomb (buf, cset->mbchars[i], &state) != (size_t) -1)
+		    re_set_fastmap (fastmap, icase, *(unsigned char *) buf);
+		  if ((bufp->syntax & RE_ICASE) && dfa->mb_cur_max > 1)
+		    {
+		      if (__wcrtomb (buf, towlower (cset->mbchars[i]), &state)
+			  != (size_t) -1)
+			re_set_fastmap (fastmap, false, *(unsigned char *) buf);
+		    }
+ 		}
+ 	    }
 	}
 #endif /* RE_ENABLE_I18N */
       else if (type == OP_PERIOD
@@ -1059,7 +1095,7 @@
 	  mb_chars = 1;
 	break;
       case ANCHOR:
-	switch (dfa->nodes[node].opr.idx)
+	switch (dfa->nodes[node].opr.ctx_type)
 	  {
 	  case LINE_FIRST:
 	  case LINE_LAST:
@@ -1067,7 +1103,9 @@
 	  case BUF_LAST:
 	    break;
 	  default:
-	    /* Word anchors etc. cannot be handled.  */
+	    /* Word anchors etc. cannot be handled.  It's okay to test
+	       opr.ctx_type since constraints (for all DFA nodes) are
+	       created by ORing one or more opr.ctx_type values.  */
 	    return;
 	  }
 	break;
@@ -1347,6 +1385,8 @@
       node->node_idx = re_dfa_add_node (dfa, node->token);
       if (BE (node->node_idx == -1, 0))
         return REG_ESPACE;
+      if (node->token.type == ANCHOR)
+        dfa->nodes[node->node_idx].constraint = node->token.opr.ctx_type;
     }
   return REG_NOERROR;
 }
@@ -1475,22 +1515,17 @@
 	     destination.  */
 	  org_dest = dfa->edests[org_node].elems[0];
 	  re_node_set_empty (dfa->edests + clone_node);
-	  if (dfa->nodes[org_node].type == ANCHOR)
+	  /* If the node is root_node itself, it means the epsilon clsoure
+	     has a loop.   Then tie it to the destination of the root_node.  */
+	  if (org_node == root_node && clone_node != org_node)
 	    {
-	      /* In case of the node has another constraint, append it.  */
-	      if (org_node == root_node && clone_node != org_node)
-		{
-		  /* ...but if the node is root_node itself, it means the
-		     epsilon closure have a loop, then tie it to the
-		     destination of the root_node.  */
-		  ret = re_node_set_insert (dfa->edests + clone_node,
-					    org_dest);
-		  if (BE (ret < 0, 0))
-		    return REG_ESPACE;
-		  break;
-		}
-	      constraint |= dfa->nodes[org_node].opr.ctx_type;
+	      ret = re_node_set_insert (dfa->edests + clone_node, org_dest);
+	      if (BE (ret < 0, 0))
+		return REG_ESPACE;
+	      break;
 	    }
+	  /* In case of the node has another constraint, add it.  */
+	  constraint |= dfa->nodes[org_node].constraint;
 	  clone_dest = duplicate_node (dfa, org_dest, constraint);
 	  if (BE (clone_dest == -1, 0))
 	    return REG_ESPACE;
@@ -1508,7 +1543,7 @@
 	  clone_dest = search_duplicated_node (dfa, org_dest, constraint);
 	  if (clone_dest == -1)
 	    {
-	      /* There are no such a duplicated node, create a new one.  */
+	      /* There is no such duplicated node, create a new one.  */
 	      reg_errcode_t err;
 	      clone_dest = duplicate_node (dfa, org_dest, constraint);
 	      if (BE (clone_dest == -1, 0))
@@ -1523,7 +1558,7 @@
 	    }
 	  else
 	    {
-	      /* There are a duplicated node which satisfy the constraint,
+	      /* There is a duplicated node which satisfies the constraint,
 		 use it to avoid infinite loop.  */
 	      ret = re_node_set_insert (dfa->edests + clone_node, clone_dest);
 	      if (BE (ret < 0, 0))
@@ -1572,8 +1607,7 @@
   if (BE (dup_idx != -1, 1))
     {
       dfa->nodes[dup_idx].constraint = constraint;
-      if (dfa->nodes[org_idx].type == ANCHOR)
-	dfa->nodes[dup_idx].constraint |= dfa->nodes[org_idx].opr.ctx_type;
+      dfa->nodes[dup_idx].constraint |= dfa->nodes[org_idx].constraint;
       dfa->nodes[dup_idx].duplicated = 1;
 
       /* Store the index of the original node.  */
@@ -1653,7 +1687,6 @@
 calc_eclosure_iter (re_node_set *new_set, re_dfa_t *dfa, int node, int root)
 {
   reg_errcode_t err;
-  unsigned int constraint;
   int i, incomplete;
   re_node_set eclosure;
   incomplete = 0;
@@ -1665,15 +1698,14 @@
      We reference this value to avoid infinite loop.  */
   dfa->eclosures[node].nelem = -1;
 
-  constraint = ((dfa->nodes[node].type == ANCHOR)
-		? dfa->nodes[node].opr.ctx_type : 0);
-  /* If the current node has constraints, duplicate all nodes.
-     Since they must inherit the constraints.  */
-  if (constraint
+  /* If the current node has constraints, duplicate all nodes
+     since they must inherit the constraints.  */
+  if (dfa->nodes[node].constraint
       && dfa->edests[node].nelem
       && !dfa->nodes[dfa->edests[node].elems[0]].duplicated)
     {
-      err = duplicate_node_closure (dfa, node, node, node, constraint);
+      err = duplicate_node_closure (dfa, node, node, node,
+				    dfa->nodes[node].constraint);
       if (BE (err != REG_NOERROR, 0))
 	return err;
     }
@@ -2796,7 +2828,7 @@
       return elem;
     }
 
-  /* Local function for parse_bracket_exp used in _LIBC environement.
+  /* Local function for parse_bracket_exp used in _LIBC environment.
      Look up the collation sequence value of BR_ELEM.
      Return the value if succeeded, UINT_MAX otherwise.  */
 
@@ -2820,7 +2852,8 @@
 	}
       else if (br_elem->type == MB_CHAR)
 	{
-	  return __collseq_table_lookup (collseqwc, br_elem->opr.wch);
+	  if (nrules != 0)
+	    return __collseq_table_lookup (collseqwc, br_elem->opr.wch);
 	}
       else if (br_elem->type == COLL_SYM)
 	{
@@ -3068,7 +3101,7 @@
 #endif /* not RE_ENABLE_I18N */
       non_match = 1;
       if (syntax & RE_HAT_LISTS_NOT_NEWLINE)
-	bitset_set (sbcset, '\0');
+	bitset_set (sbcset, '\n');
       re_string_skip_bytes (regexp, token_len); /* Skip a token.  */
       token_len = peek_token_bracket (token, regexp, syntax);
       if (BE (token->type == END_OF_RE, 0))
@@ -3426,7 +3459,7 @@
 
       /* Build single byte matcing table for this equivalence class.  */
       char_buf[1] = (unsigned char) '\0';
-      len = weights[idx1];
+      len = weights[idx1 & 0xffffff];
       for (ch = 0; ch < SBC_MAX; ++ch)
 	{
 	  char_buf[0] = ch;
@@ -3438,11 +3471,15 @@
 	  if (idx2 == 0)
 	    /* This isn't a valid character.  */
 	    continue;
-	  if (len == weights[idx2])
+	  /* Compare only if the length matches and the collation rule
+	     index is the same.  */
+	  if (len == weights[idx2 & 0xffffff] && (idx1 >> 24) == (idx2 >> 24))
 	    {
 	      int cnt = 0;
+
 	      while (cnt <= len &&
-		     weights[idx1 + 1 + cnt] == weights[idx2 + 1 + cnt])
+		     weights[(idx1 & 0xffffff) + 1 + cnt]
+		     == weights[(idx2 & 0xffffff) + 1 + cnt])
 		++cnt;
 
 	      if (cnt > len)
@@ -3602,10 +3639,6 @@
   if (non_match)
     {
 #ifdef RE_ENABLE_I18N
-      /*
-      if (syntax & RE_HAT_LISTS_NOT_NEWLINE)
-	bitset_set(cset->sbcset, '\0');
-      */
       mbcset->non_match = 1;
 #endif /* not RE_ENABLE_I18N */
     }
diff -urN gawk-3.1.6/regex.c gawk-3.1.7/regex.c
--- gawk-3.1.6/regex.c	2007-01-14 22:39:56.000000000 +0200
+++ gawk-3.1.7/regex.c	2009-01-12 22:13:56.000000000 +0200
@@ -69,12 +69,12 @@
 #include "regex_internal.h"
 
 #include "regex_internal.c"
-#include "regcomp.c"
 #ifdef GAWK
 #define bool int
 #define true (1)
 #define false (0)
 #endif
+#include "regcomp.c"
 #include "regexec.c"
 
 /* Binary backward compatibility.  */
diff -urN gawk-3.1.6/regex.h gawk-3.1.7/regex.h
--- gawk-3.1.6/regex.h	2007-04-17 21:51:14.000000000 +0300
+++ gawk-3.1.7/regex.h	2009-01-20 07:35:29.000000000 +0200
@@ -1,6 +1,6 @@
 /* Definitions for data structures and routines for the regular
    expression library.
-   Copyright (C) 1985,1989-93,1995-98,2000,2001,2002,2003,2005,2006
+   Copyright (C) 1985,1989-93,1995-98,2000,2001,2002,2003,2005,2006,2008
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -30,6 +30,10 @@
 #include <sys/types.h>
 #endif
 
+#ifndef _LIBC
+#define __USE_GNU	1
+#endif
+
 /* Allow the use in C++ code.  */
 #ifdef __cplusplus
 extern "C" {
@@ -49,20 +53,21 @@
    add or remove a bit, only one other definition need change.  */
 typedef unsigned long int reg_syntax_t;
 
+#ifdef __USE_GNU
 /* If this bit is not set, then \ inside a bracket expression is literal.
    If set, then such a \ quotes the following character.  */
-#define RE_BACKSLASH_ESCAPE_IN_LISTS ((unsigned long int) 1)
+# define RE_BACKSLASH_ESCAPE_IN_LISTS ((unsigned long int) 1)
 
 /* If this bit is not set, then + and ? are operators, and \+ and \? are
      literals.
    If set, then \+ and \? are operators and + and ? are literals.  */
-#define RE_BK_PLUS_QM (RE_BACKSLASH_ESCAPE_IN_LISTS << 1)
+# define RE_BK_PLUS_QM (RE_BACKSLASH_ESCAPE_IN_LISTS << 1)
 
 /* If this bit is set, then character classes are supported.  They are:
      [:alpha:], [:upper:], [:lower:],  [:digit:], [:alnum:], [:xdigit:],
      [:space:], [:print:], [:punct:], [:graph:], and [:cntrl:].
    If not set, then character classes are not supported.  */
-#define RE_CHAR_CLASSES (RE_BK_PLUS_QM << 1)
+# define RE_CHAR_CLASSES (RE_BK_PLUS_QM << 1)
 
 /* If this bit is set, then ^ and $ are always anchors (outside bracket
      expressions, of course).
@@ -76,7 +81,7 @@
    POSIX draft 11.2 says that * etc. in leading positions is undefined.
    We already implemented a previous draft which made those constructs
    invalid, though, so we haven't changed the code back.  */
-#define RE_CONTEXT_INDEP_ANCHORS (RE_CHAR_CLASSES << 1)
+# define RE_CONTEXT_INDEP_ANCHORS (RE_CHAR_CLASSES << 1)
 
 /* If this bit is set, then special characters are always special
      regardless of where they are in the pattern.
@@ -84,71 +89,71 @@
      some contexts; otherwise they are ordinary.  Specifically,
      * + ? and intervals are only special when not after the beginning,
      open-group, or alternation operator.  */
-#define RE_CONTEXT_INDEP_OPS (RE_CONTEXT_INDEP_ANCHORS << 1)
+# define RE_CONTEXT_INDEP_OPS (RE_CONTEXT_INDEP_ANCHORS << 1)
 
 /* If this bit is set, then *, +, ?, and { cannot be first in an re or
      immediately after an alternation or begin-group operator.  */
-#define RE_CONTEXT_INVALID_OPS (RE_CONTEXT_INDEP_OPS << 1)
+# define RE_CONTEXT_INVALID_OPS (RE_CONTEXT_INDEP_OPS << 1)
 
 /* If this bit is set, then . matches newline.
    If not set, then it doesn't.  */
-#define RE_DOT_NEWLINE (RE_CONTEXT_INVALID_OPS << 1)
+# define RE_DOT_NEWLINE (RE_CONTEXT_INVALID_OPS << 1)
 
 /* If this bit is set, then . doesn't match NUL.
    If not set, then it does.  */
-#define RE_DOT_NOT_NULL (RE_DOT_NEWLINE << 1)
+# define RE_DOT_NOT_NULL (RE_DOT_NEWLINE << 1)
 
 /* If this bit is set, nonmatching lists [^...] do not match newline.
    If not set, they do.  */
-#define RE_HAT_LISTS_NOT_NEWLINE (RE_DOT_NOT_NULL << 1)
+# define RE_HAT_LISTS_NOT_NEWLINE (RE_DOT_NOT_NULL << 1)
 
 /* If this bit is set, either \{...\} or {...} defines an
      interval, depending on RE_NO_BK_BRACES.
    If not set, \{, \}, {, and } are literals.  */
-#define RE_INTERVALS (RE_HAT_LISTS_NOT_NEWLINE << 1)
+# define RE_INTERVALS (RE_HAT_LISTS_NOT_NEWLINE << 1)
 
 /* If this bit is set, +, ? and | aren't recognized as operators.
    If not set, they are.  */
-#define RE_LIMITED_OPS (RE_INTERVALS << 1)
+# define RE_LIMITED_OPS (RE_INTERVALS << 1)
 
 /* If this bit is set, newline is an alternation operator.
    If not set, newline is literal.  */
-#define RE_NEWLINE_ALT (RE_LIMITED_OPS << 1)
+# define RE_NEWLINE_ALT (RE_LIMITED_OPS << 1)
 
 /* If this bit is set, then `{...}' defines an interval, and \{ and \}
      are literals.
   If not set, then `\{...\}' defines an interval.  */
-#define RE_NO_BK_BRACES (RE_NEWLINE_ALT << 1)
+# define RE_NO_BK_BRACES (RE_NEWLINE_ALT << 1)
 
 /* If this bit is set, (...) defines a group, and \( and \) are literals.
    If not set, \(...\) defines a group, and ( and ) are literals.  */
-#define RE_NO_BK_PARENS (RE_NO_BK_BRACES << 1)
+# define RE_NO_BK_PARENS (RE_NO_BK_BRACES << 1)
 
 /* If this bit is set, then \<digit> matches <digit>.
    If not set, then \<digit> is a back-reference.  */
-#define RE_NO_BK_REFS (RE_NO_BK_PARENS << 1)
+# define RE_NO_BK_REFS (RE_NO_BK_PARENS << 1)
 
 /* If this bit is set, then | is an alternation operator, and \| is literal.
    If not set, then \| is an alternation operator, and | is literal.  */
-#define RE_NO_BK_VBAR (RE_NO_BK_REFS << 1)
+# define RE_NO_BK_VBAR (RE_NO_BK_REFS << 1)
 
 /* If this bit is set, then an ending range point collating higher
      than the starting range point, as in [z-a], is invalid.
    If not set, then when ending range point collates higher than the
      starting range point, the range is ignored.  */
-#define RE_NO_EMPTY_RANGES (RE_NO_BK_VBAR << 1)
+# define RE_NO_EMPTY_RANGES (RE_NO_BK_VBAR << 1)
 
 /* If this bit is set, then an unmatched ) is ordinary.
    If not set, then an unmatched ) is invalid.  */
-#define RE_UNMATCHED_RIGHT_PAREN_ORD (RE_NO_EMPTY_RANGES << 1)
+# define RE_UNMATCHED_RIGHT_PAREN_ORD (RE_NO_EMPTY_RANGES << 1)
 
 /* If this bit is set, succeed as soon as we match the whole pattern,
    without further backtracking.  */
-#define RE_NO_POSIX_BACKTRACKING (RE_UNMATCHED_RIGHT_PAREN_ORD << 1)
+# define RE_NO_POSIX_BACKTRACKING (RE_UNMATCHED_RIGHT_PAREN_ORD << 1)
 
 /* If this bit is set, do not process the GNU regex operators.
    If not set, then the GNU regex operators are recognized. */
-#define RE_NO_GNU_OPS (RE_NO_POSIX_BACKTRACKING << 1)
+# define RE_NO_GNU_OPS (RE_NO_POSIX_BACKTRACKING << 1)
 
 /* If this bit is set, turn on internal regex debugging.
    If not set, and debugging was on, turn it off.
@@ -156,29 +161,30 @@
    We define this bit always, so that all that's needed to turn on
    debugging is to recompile regex.c; the calling code can always have
    this bit set, and it won't affect anything in the normal case. */
-#define RE_DEBUG (RE_NO_GNU_OPS << 1)
+# define RE_DEBUG (RE_NO_GNU_OPS << 1)
 
 /* If this bit is set, a syntactically invalid interval is treated as
    a string of ordinary characters.  For example, the ERE 'a{1' is
    treated as 'a\{1'.  */
-#define RE_INVALID_INTERVAL_ORD (RE_DEBUG << 1)
+# define RE_INVALID_INTERVAL_ORD (RE_DEBUG << 1)
 
 /* If this bit is set, then ignore case when matching.
    If not set, then case is significant.  */
-#define RE_ICASE (RE_INVALID_INTERVAL_ORD << 1)
+# define RE_ICASE (RE_INVALID_INTERVAL_ORD << 1)
 
 /* This bit is used internally like RE_CONTEXT_INDEP_ANCHORS but only
    for ^, because it is difficult to scan the regex backwards to find
    whether ^ should be special.  */
-#define RE_CARET_ANCHORS_HERE (RE_ICASE << 1)
+# define RE_CARET_ANCHORS_HERE (RE_ICASE << 1)
 
 /* If this bit is set, then \{ cannot be first in an bre or
    immediately after an alternation or begin-group operator.  */
-#define RE_CONTEXT_INVALID_DUP (RE_CARET_ANCHORS_HERE << 1)
+# define RE_CONTEXT_INVALID_DUP (RE_CARET_ANCHORS_HERE << 1)
 
 /* If this bit is set, then no_sub will be set to 1 during
    re_compile_pattern.  */
-#define RE_NO_SUB (RE_CONTEXT_INVALID_DUP << 1)
+# define RE_NO_SUB (RE_CONTEXT_INVALID_DUP << 1)
+#endif
 
 /* This global variable defines the particular regexp syntax to use (for
    some interfaces).  When a regexp is compiled, the syntax used is
@@ -186,6 +192,7 @@
    already-compiled regexps.  */
 extern reg_syntax_t re_syntax_options;
 
+#ifdef __USE_GNU
 /* Define combinations of the above bits for the standard possibilities.
    (The [[[ comments delimit what gets put into the Texinfo file, so
    don't delete them!)  */
@@ -260,11 +267,12 @@
 /* Maximum number of duplicates an interval can allow.  Some systems
    (erroneously) define this in other header files, but we want our
    value, so remove any previous define.  */
-#ifdef RE_DUP_MAX
-# undef RE_DUP_MAX
-#endif
+# ifdef RE_DUP_MAX
+#  undef RE_DUP_MAX
+# endif
 /* If sizeof(int) == 2, then ((1 << 15) - 1) overflows.  */
-#define RE_DUP_MAX (0x7fff)
+# define RE_DUP_MAX (0x7fff)
+#endif
 
 
 /* POSIX `cflags' bits (i.e., information for `regcomp').  */
@@ -308,7 +316,7 @@
    `re_error_msg' table in regex.c.  */
 typedef enum
 {
-#ifdef _XOPEN_SOURCE
+#if defined _XOPEN_SOURCE || defined __USE_XOPEN2K
   REG_ENOSYS = -1,	/* This will never happen for this implementation.  */
 #endif
 
@@ -343,7 +351,16 @@
    private to the regex routines.  */
 
 #ifndef RE_TRANSLATE_TYPE
-# define RE_TRANSLATE_TYPE unsigned char *
+# define __RE_TRANSLATE_TYPE unsigned char *
+# ifdef __USE_GNU
+#  define RE_TRANSLATE_TYPE __RE_TRANSLATE_TYPE
+# endif
+#endif
+
+#ifdef __USE_GNU
+# define __REPB_PREFIX(name) name
+#else
+# define __REPB_PREFIX(name) __##name
 #endif
 
 struct re_pattern_buffer
@@ -351,27 +368,27 @@
   /* Space that holds the compiled pattern.  It is declared as
      `unsigned char *' because its elements are sometimes used as
      array indexes.  */
-  unsigned char *buffer;
+  unsigned char *__REPB_PREFIX(buffer);
 
   /* Number of bytes to which `buffer' points.  */
-  unsigned long int allocated;
+  unsigned long int __REPB_PREFIX(allocated);
 
   /* Number of bytes actually used in `buffer'.  */
-  unsigned long int used;
+  unsigned long int __REPB_PREFIX(used);
 
   /* Syntax setting with which the pattern was compiled.  */
-  reg_syntax_t syntax;
+  reg_syntax_t __REPB_PREFIX(syntax);
 
   /* Pointer to a fastmap, if any, otherwise zero.  re_search uses the
      fastmap, if there is one, to skip over impossible starting points
      for matches.  */
-  char *fastmap;
+  char *__REPB_PREFIX(fastmap);
 
   /* Either a translate table to apply to all characters before
      comparing them, or zero for no translation.  The translation is
      applied to a pattern when it is compiled and to a string when it
      is matched.  */
-  RE_TRANSLATE_TYPE translate;
+  __RE_TRANSLATE_TYPE __REPB_PREFIX(translate);
 
   /* Number of subexpressions found by the compiler.  */
   size_t re_nsub;
@@ -380,34 +397,36 @@
      Well, in truth it's used only in `re_search_2', to see whether or
      not we should use the fastmap, so we don't set this absolutely
      perfectly; see `re_compile_fastmap' (the `duplicate' case).  */
-  unsigned can_be_null : 1;
+  unsigned __REPB_PREFIX(can_be_null) : 1;
 
   /* If REGS_UNALLOCATED, allocate space in the `regs' structure
      for `max (RE_NREGS, re_nsub + 1)' groups.
      If REGS_REALLOCATE, reallocate space if necessary.
      If REGS_FIXED, use what's there.  */
-#define REGS_UNALLOCATED 0
-#define REGS_REALLOCATE 1
-#define REGS_FIXED 2
-  unsigned regs_allocated : 2;
+#ifdef __USE_GNU
+# define REGS_UNALLOCATED 0
+# define REGS_REALLOCATE 1
+# define REGS_FIXED 2
+#endif
+  unsigned __REPB_PREFIX(regs_allocated) : 2;
 
   /* Set to zero when `regex_compile' compiles a pattern; set to one
      by `re_compile_fastmap' if it updates the fastmap.  */
-  unsigned fastmap_accurate : 1;
+  unsigned __REPB_PREFIX(fastmap_accurate) : 1;
 
   /* If set, `re_match_2' does not return information about
      subexpressions.  */
-  unsigned no_sub : 1;
+  unsigned __REPB_PREFIX(no_sub) : 1;
 
   /* If set, a beginning-of-line anchor doesn't match at the beginning
      of the string.  */
-  unsigned not_bol : 1;
+  unsigned __REPB_PREFIX(not_bol) : 1;
 
   /* Similarly for an end-of-line anchor.  */
-  unsigned not_eol : 1;
+  unsigned __REPB_PREFIX(not_eol) : 1;
 
   /* If true, an anchor at a newline matches.  */
-  unsigned newline_anchor : 1;
+  unsigned __REPB_PREFIX(newline_anchor) : 1;
 };
 
 typedef struct re_pattern_buffer regex_t;
@@ -416,6 +435,7 @@
 typedef int regoff_t;
 
 
+#ifdef __USE_GNU
 /* This is the structure we store register match data in.  See
    regex.texinfo for a full description of what registers match.  */
 struct re_registers
@@ -429,8 +449,9 @@
 /* If `regs_allocated' is REGS_UNALLOCATED in the pattern buffer,
    `re_match_2' returns information about at least this many registers
    the first time a `regs' structure is passed.  */
-#ifndef RE_NREGS
-# define RE_NREGS 30
+# ifndef RE_NREGS
+#  define RE_NREGS 30
+# endif
 #endif
 
 
@@ -445,6 +466,7 @@
 
 /* Declarations for routines.  */
 
+#ifdef __USE_GNU
 /* Sets the current default syntax to SYNTAX, and return the old syntax.
    You can also simply assign to the `re_syntax_options' variable.  */
 extern reg_syntax_t re_set_syntax (reg_syntax_t __syntax);
@@ -467,7 +489,7 @@
    characters.  Return the starting position of the match, -1 for no
    match, or -2 for an internal error.  Also return register
    information in REGS (if REGS and BUFFER->no_sub are nonzero).  */
-extern int re_search (struct re_pattern_buffer *__buffer, const char *__string,
+extern int re_search (struct re_pattern_buffer *__buffer, const char *__cstring,
 		      int __length, int __start, int __range,
 		      struct re_registers *__regs);
 
@@ -482,7 +504,7 @@
 
 /* Like `re_search', but return how many characters in STRING the regexp
    in BUFFER matched, starting at position START.  */
-extern int re_match (struct re_pattern_buffer *__buffer, const char *__string,
+extern int re_match (struct re_pattern_buffer *__buffer, const char *__cstring,
 		     int __length, int __start, struct re_registers *__regs);
 
 
@@ -509,8 +531,9 @@
 			      struct re_registers *__regs,
 			      unsigned int __num_regs,
 			      regoff_t *__starts, regoff_t *__ends);
+#endif	/* Use GNU */
 
-#if defined _REGEX_RE_COMP || defined _LIBC
+#if defined _REGEX_RE_COMP || (defined _LIBC && defined __USE_BSD)
 # ifndef _CRAY
 /* 4.2 bsd compatibility.  */
 extern char *re_comp (const char *);
@@ -545,7 +568,7 @@
 		    int __cflags);
 
 extern int regexec (const regex_t *__restrict __preg,
-		    const char *__restrict __string, size_t __nmatch,
+		    const char *__restrict __cstring, size_t __nmatch,
 		    regmatch_t __pmatch[__restrict_arr],
 		    int __eflags);
 
diff -urN gawk-3.1.6/regex_internal.c gawk-3.1.7/regex_internal.c
--- gawk-3.1.6/regex_internal.c	2007-01-12 13:56:49.000000000 +0200
+++ gawk-3.1.7/regex_internal.c	2009-01-12 22:04:36.000000000 +0200
@@ -229,7 +229,7 @@
 	}
       else
 	p = (const char *) pstr->raw_mbs + pstr->raw_mbs_idx + byte_idx;
-      mbclen = mbrtowc (&wc, p, remain_len, &pstr->cur_state);
+      mbclen = __mbrtowc (&wc, p, remain_len, &pstr->cur_state);
       if (BE (mbclen == (size_t) -2, 0))
 	{
 	  /* The buffer doesn't have enough space, finish to build.  */
@@ -299,9 +299,9 @@
 
 	  remain_len = end_idx - byte_idx;
 	  prev_st = pstr->cur_state;
-	  mbclen = mbrtowc (&wc,
-			    ((const char *) pstr->raw_mbs + pstr->raw_mbs_idx
-			     + byte_idx), remain_len, &pstr->cur_state);
+	  mbclen = __mbrtowc (&wc,
+			      ((const char *) pstr->raw_mbs + pstr->raw_mbs_idx
+			       + byte_idx), remain_len, &pstr->cur_state);
 	  if (BE (mbclen + 2 > 2, 1))
 	    {
 	      wchar_t wcu = wc;
@@ -369,7 +369,7 @@
 	  }
 	else
 	  p = (const char *) pstr->raw_mbs + pstr->raw_mbs_idx + src_idx;
-	mbclen = mbrtowc (&wc, p, remain_len, &pstr->cur_state);
+	mbclen = __mbrtowc (&wc, p, remain_len, &pstr->cur_state);
 	if (BE (mbclen + 2 > 2, 1))
 	  {
 	    wchar_t wcu = wc;
@@ -491,8 +491,8 @@
       int remain_len;
       remain_len = pstr->len - rawbuf_idx;
       prev_st = pstr->cur_state;
-      mbclen = mbrtowc (&wc, (const char *) pstr->raw_mbs + rawbuf_idx,
-			remain_len, &pstr->cur_state);
+      mbclen = __mbrtowc (&wc, (const char *) pstr->raw_mbs + rawbuf_idx,
+			  remain_len, &pstr->cur_state);
       if (BE (mbclen == (size_t) -2 || mbclen == (size_t) -1 || mbclen == 0, 0))
 	{
 	  /* We treat these cases as a single byte character.  */
@@ -734,8 +734,8 @@
 			  /* XXX Don't use mbrtowc, we know which conversion
 			     to use (UTF-8 -> UCS4).  */
 			  memset (&cur_state, 0, sizeof (cur_state));
-			  mbclen = mbrtowc (&wc2, (const char *) p, mlen,
-					    &cur_state);
+			  mbclen = __mbrtowc (&wc2, (const char *) p, mlen,
+					      &cur_state);
 			  if (raw + offset - p <= mbclen
 			      && mbclen < (size_t) -2)
 			    {
@@ -1674,11 +1674,9 @@
 
   for (i = 0 ; i < nodes->nelem ; i++)
     {
-      unsigned int constraint = 0;
       re_token_t *node = dfa->nodes + nodes->elems[i];
       re_token_type_t type = node->type;
-      if (node->constraint)
-	constraint = node->constraint;
+      unsigned int constraint = node->constraint;
 
       if (type == CHARACTER && !constraint)
 	continue;
@@ -1691,8 +1689,6 @@
 	newstate->halt = 1;
       else if (type == OP_BACK_REF)
 	newstate->has_backref = 1;
-      else if (type == ANCHOR)
-	constraint = node->opr.ctx_type;
 
       if (constraint)
 	{
diff -urN gawk-3.1.6/regex_internal.h gawk-3.1.7/regex_internal.h
--- gawk-3.1.6/regex_internal.h	2007-09-25 08:26:22.000000000 +0200
+++ gawk-3.1.7/regex_internal.h	2009-01-13 09:11:37.000000000 +0200
@@ -1,5 +1,5 @@
 /* Extended regular expression matching and search library.
-   Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+   Copyright (C) 2002-2005, 2007, 2008 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
 
@@ -42,9 +42,11 @@
 #if defined HAVE_STDBOOL_H || defined _LIBC
 # include <stdbool.h>
 #endif /* HAVE_STDBOOL_H || _LIBC */
+#if !defined(ZOS_USS)
 #if defined HAVE_STDINT_H || defined _LIBC
 # include <stdint.h>
 #endif /* HAVE_STDINT_H || _LIBC */
+#endif /* !ZOS_USS */
 #if defined _LIBC
 # include <bits/libc-lock.h>
 #else
@@ -121,6 +123,9 @@
 # define BE(expr, val) __builtin_expect (expr, val)
 #else
 # define BE(expr, val) (expr)
+# ifdef inline
+# undef inline
+# endif
 # define inline
 #endif
 
@@ -135,9 +140,16 @@
 
 /* Rename to standard API for using out of glibc.  */
 #ifndef _LIBC
+# ifdef __wctype
+# undef __wctype
+# endif
 # define __wctype wctype
+# ifdef __iswctype
+# undef __iswctype
+# endif
 # define __iswctype iswctype
 # define __btowc btowc
+# define __mbrtowc mbrtowc
 #undef __mempcpy	/* GAWK */
 # define __mempcpy mempcpy
 # define __wcrtomb wcrtomb
@@ -408,18 +420,21 @@
 # endif
 #endif
 
+#ifndef NOT_IN_libc
 static reg_errcode_t re_string_realloc_buffers (re_string_t *pstr,
 						int new_buf_len)
      internal_function;
-#ifdef RE_ENABLE_I18N
+# ifdef RE_ENABLE_I18N
 static void build_wcs_buffer (re_string_t *pstr) internal_function;
-static reg_errcode_t build_wcs_upper_buffer (re_string_t *pstr) internal_function;
-#endif /* RE_ENABLE_I18N */
+static reg_errcode_t build_wcs_upper_buffer (re_string_t *pstr)
+  internal_function;
+# endif /* RE_ENABLE_I18N */
 static void build_upper_buffer (re_string_t *pstr) internal_function;
 static void re_string_translate_buffer (re_string_t *pstr) internal_function;
 static unsigned int re_string_context_at (const re_string_t *input, int idx,
 					  int eflags)
      internal_function __attribute ((pure));
+#endif
 #define re_string_peek_byte(pstr, offset) \
   ((pstr)->mbs[(pstr)->cur_idx + offset])
 #define re_string_fetch_byte(pstr) \
@@ -762,15 +777,16 @@
   return (wint_t) pstr->wcs[idx];
 }
 
+# ifndef NOT_IN_libc
 static int
 internal_function __attribute ((pure))
 re_string_elem_size_at (const re_string_t *pstr, int idx)
 {
-# ifdef _LIBC
+#  ifdef _LIBC
   const unsigned char *p, *extra;
   const int32_t *table, *indirect;
   int32_t tmp;
-#  include <locale/weight.h>
+#   include <locale/weight.h>
   uint_fast32_t nrules = _NL_CURRENT_WORD (LC_COLLATE, _NL_COLLATE_NRULES);
 
   if (nrules != 0)
@@ -785,9 +801,10 @@
       return p - pstr->mbs - idx;
     }
   else
-# endif /* _LIBC */
+#  endif /* _LIBC */
     return 1;
 }
+# endif
 #endif /* RE_ENABLE_I18N */
 
 #endif /*  _REGEX_INTERNAL_H */
diff -urN gawk-3.1.6/regexec.c gawk-3.1.7/regexec.c
--- gawk-3.1.6/regexec.c	2007-04-06 14:18:06.000000000 +0300
+++ gawk-3.1.7/regexec.c	2009-01-13 09:19:26.000000000 +0200
@@ -1,5 +1,5 @@
 /* Extended regular expression matching and search library.
-   Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+   Copyright (C) 2002, 2003, 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Isamu Hasegawa <isamu@yamato.ibm.com>.
 
@@ -998,6 +998,11 @@
       re_node_set_free (&sctx.limits);
       if (BE (ret != REG_NOERROR, 0))
 	goto free_return;
+      if (sifted_states[0] == NULL)
+	{
+	  ret = REG_NOMATCH;
+	  goto free_return;
+	}
     }
   re_free (mctx->state_log);
   mctx->state_log = sifted_states;
@@ -1240,13 +1245,9 @@
   int i, err;
   if (IS_EPSILON_NODE (dfa->nodes[node].type))
     {
-      re_node_set *cur_nodes;
+      re_node_set *cur_nodes = &mctx->state_log[*pidx]->nodes;
       re_node_set *edests = &dfa->edests[node];
       int dest_node;
-
-      if (mctx->state_log[*pidx] == NULL)
-	return -1;
-      cur_nodes = &mctx->state_log[*pidx]->nodes;
       err = re_node_set_insert (eps_via_nodes, node);
       if (BE (err < 0, 0))
 	return -2;
@@ -1269,7 +1270,7 @@
 	      /* Otherwise, push the second epsilon-transition on the fail stack.  */
 	      else if (fs != NULL
 		       && push_fail_stack (fs, *pidx, candidate, nregs, regs,
-				           eps_via_nodes) != REG_NOERROR)
+				           eps_via_nodes))
 		return -2;
 
 	      /* We know we are going to exit.  */
@@ -3831,7 +3832,6 @@
 	  const int32_t *table, *indirect;
 	  const unsigned char *weights, *extra;
 	  const char *collseqwc;
-	  int32_t idx;
 	  /* This #include defines a local function!  */
 #  include <locale/weight.h>
 
@@ -3889,15 +3889,20 @@
 		_NL_CURRENT (LC_COLLATE, _NL_COLLATE_EXTRAMB);
 	      indirect = (const int32_t *)
 		_NL_CURRENT (LC_COLLATE, _NL_COLLATE_INDIRECTMB);
-	      idx = findidx (&cp);
+	      int32_t idx = findidx (&cp);
 	      if (idx > 0)
 		for (i = 0; i < cset->nequiv_classes; ++i)
 		  {
 		    int32_t equiv_class_idx = cset->equiv_classes[i];
-		    size_t weight_len = weights[idx];
-		    if (weight_len == weights[equiv_class_idx])
+		    size_t weight_len = weights[idx & 0xffffff];
+		    if (weight_len == weights[equiv_class_idx & 0xffffff]
+			&& (idx >> 24) == (equiv_class_idx >> 24))
 		      {
 			int cnt = 0;
+
+			idx &= 0xffffff;
+			equiv_class_idx &= 0xffffff;
+
 			while (cnt <= weight_len
 			       && (weights[equiv_class_idx + 1 + cnt]
 				   == weights[idx + 1 + cnt]))
diff -urN gawk-3.1.6/replace.c gawk-3.1.7/replace.c
--- gawk-3.1.6/replace.c	2007-04-13 00:29:15.000000000 +0300
+++ gawk-3.1.7/replace.c	2009-07-21 23:21:51.000000000 +0300
@@ -1,4 +1,29 @@
 /*
+ * replace.c -- Get replacement versions of functions.
+ */
+
+/* 
+ * Copyright (C) 1989, 1991-2009 the Free Software Foundation, Inc.
+ * 
+ * This file is part of GAWK, the GNU implementation of the
+ * AWK Programming Language.
+ * 
+ * GAWK 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.
+ * 
+ * GAWK 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
+ */
+
+/*
  * Do all necessary includes here, so that we don't have to worry about
  * overlapping includes in the files in missing.d.
  */
diff -urN gawk-3.1.6/test/ChangeLog gawk-3.1.7/test/ChangeLog
--- gawk-3.1.6/test/ChangeLog	2007-10-22 08:50:46.000000000 +0200
+++ gawk-3.1.7/test/ChangeLog	2009-07-21 22:30:32.000000000 +0300
@@ -1,3 +1,121 @@
+Tue Jul 21 22:28:56 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* Release 3.1.7: Release tar file made.
+
+Fri Jul  3 13:04:55 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* Makefile.am (charset-tests): Moved tests that can fail based on
+	character set and locale issues into a separate section.
+
+Wed Jun 24 22:30:31 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* lintold.awk: Changed to avoid floating point problems on VMS.
+
+Wed Jun 24 05:39:00 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* printfbad2.awk, printfbad2.ok: Adjusted for systems where sed
+	will add a final newline if the input didn't contain one.
+
+Mon Jun 22 00:44:50 2009  Pat Rankin  <rankin@pactechdata.com>
+
+	* getlndir.awk (SRCDIR): Allow caller to override "." as directory.
+	* intformat.awk (HUGEVAL): Allow caller to override the largest
+	value, and restructure 10^x and 2^y loops to use it without
+	overflowing on non-IEEE floating pointing hosts.
+
+Tue Jun 23 05:26:52 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* Makefile.am (MACHINE_TESTS): Move fmtspcl to here per Pat Rankin.
+
+Fri Jun 19 14:26:55 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* Makefile.am (GAWK_EXT_TESTS): Fixed sorting of tests.
+	Removed ovrflow1 test since double1 is a superset; thanks
+	to Pat Rankin.
+	* (ovrflow1.awk, ovrflow1.ok): Removed.
+
+Thu Jun 18 05:46:32 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* Makefile.am (localenl): Per Michal Jaegermann, send stderr output
+	to /dev/null.
+	* (machine-tests): Moved several tests to new section for tests
+	whose output can vary by hardware.
+
+Thu Jun 11 04:50:44 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* Makefile.am (lc_num1): Don't need --posix, changed command line
+	so that AWKPATH influences again. Thanks to Corinna Vinschen
+	for making me fix this.
+
+Wed Jun 10 08:28:13 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* Makefile.am (lc_num1, printfbad2): Fix so building outside the
+	source directory works.
+
+Thu May 21 21:10:53 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* badargs.ok: Updated.
+
+Fri May 15 14:38:16 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* Makefile.am (paramres): New test.
+	* paramres.awk, paramres.ok: New files.
+
+Fri Mar 27 10:57:49 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* Makefile.am (printfbad2): New test.
+	* printfbad2.awk, printfbad2.in, printfbad2.ok: New files.
+
+Tue Feb  3 22:08:27 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* Makefile.am (uparrfs): New test.
+	* uparrfs.awk, uparrfs.in, uparrfs.ok: New files.
+
+Mon Jan  5 22:53:26 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* Makefile.am (getlndir): New test.
+	* getlndir.awk, getlndir.ok: New files.
+
+Mon Dec 29 22:46:10 2008  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* Makefile.am (mbprintf3): New test.
+	* mbprintf3.awk, mbprintf3.in, mbprintf3.ok: New files.
+
+Thu Dec 18 20:57:39 2008  Stepan Kasal  <skasal@redhat.com>
+
+	* lc_num1.awk, lc_num1.ok: Test that the quote modifier in
+	printf is not sticky.
+	* Makefile.am: Add it.
+	* Gentests: Allow _ in test names.
+
+Thu Dec 11 21:36:11 2008  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* Makefile.am (mbstr1): New test.
+	* mbstr1.awk, mbstr1.ok: New files.
+
+Thu Dec  4 22:44:39 2008  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* Makefile.am (closebad): New test.
+	* closebad.awk, closebad.ok: New files.
+
+Thu Jul 31 21:44:21 2008  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* Makefile.am (match3, gsubtst6): New tests.
+	* match3.awk, match3.in, match3.ok: New files.
+	* gsubtst6.awk, gsubtst6.ok: New files.
+
+Fri May  2 12:43:51 2008  Steffen Schuler    <schuler.steffen@googlemail.com>
+
+	* Makefile.am (mbfw1): Add code for test to use a UTF locale.
+
+Wed Apr 23 22:13:47 2008  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* Makefile.am (funlen, mbfw1, mbprintf1, mbprintf2): New tests.
+	* funlen.awk, funlen.in, funlen.ok: New files.
+	* mbfw1.awk, mbfw1.in, mbfw1.ok: New files.
+	* mbprintf1.awk, mbprintf1.in, mbprintf1.ok: New files.
+	* mbprintf2.awk, mbprintf2.ok: New files.
+
 Mon Oct 22 08:49:05 2007  Arnold D. Robbins  <arnold@skeeve.com>
 
 	* Release 3.1.6: Release tar file made.
diff -urN gawk-3.1.6/test/Gentests gawk-3.1.7/test/Gentests
--- gawk-3.1.6/test/Gentests	2007-05-15 22:04:29.000000000 +0300
+++ gawk-3.1.7/test/Gentests	2008-12-18 20:57:03.000000000 +0200
@@ -45,7 +45,7 @@
 	next
 }
 
-/^[a-zA-Z][a-zA-Z0-9]*:/ {
+/^[a-zA-Z_][a-zA-Z0-9_]*:/ {
 	# remember all targets from Makefile.am
 	sub(/:.*/,"")
 	targets[$0]
diff -urN gawk-3.1.6/test/Makefile.am gawk-3.1.7/test/Makefile.am
--- gawk-3.1.6/test/Makefile.am	2007-09-26 15:13:42.000000000 +0200
+++ gawk-3.1.7/test/Makefile.am	2009-07-03 12:31:11.000000000 +0300
@@ -1,7 +1,7 @@
 #
 # test/Makefile.am --- automake input file for gawk
 #
-# Copyright (C) 1988-2006 the Free Software Foundation, Inc.
+# Copyright (C) 1988-2008 the Free Software Foundation, Inc.
 #
 # This file is part of GAWK, the GNU implementation of the
 # AWK Programming Language.
@@ -107,6 +107,8 @@
 	clobber.ok \
 	clos1way.awk \
 	clos1way.ok \
+	closebad.awk \
+	closebad.ok \
 	clsflnam.awk \
 	clsflnam.in \
 	clsflnam.ok \
@@ -211,6 +213,9 @@
 	fstabplus.awk \
 	fstabplus.in \
 	fstabplus.ok \
+	funlen.awk \
+	funlen.in \
+	funlen.ok \
 	funsemnl.awk \
 	funsemnl.ok \
 	funsmnam.awk \
@@ -239,6 +244,8 @@
 	getlnbuf.awk \
 	getlnbuf.in \
 	getlnbuf.ok \
+	getlndir.awk \
+	getlndir.ok \
 	getlnhd.awk \
 	getlnhd.ok \
 	getnr2tb.awk \
@@ -267,6 +274,8 @@
 	gsubtst5.awk \
 	gsubtst5.in \
 	gsubtst5.ok \
+	gsubtst6.awk \
+	gsubtst6.ok \
 	gtlnbufv.awk \
 	hex.awk \
 	hex.ok \
@@ -300,6 +309,8 @@
 	intprec.ok \
 	iobug1.awk \
 	iobug1.ok \
+	lc_num1.awk \
+	lc_num1.ok \
 	leaddig.awk \
 	leaddig.ok \
 	leadnl.awk \
@@ -332,8 +343,24 @@
 	match1.ok \
 	match2.awk \
 	match2.ok \
+	match3.awk \
+	match3.in \
+	match3.ok \
 	math.awk \
 	math.ok \
+	mbfw1.awk \
+	mbfw1.in \
+	mbfw1.ok \
+	mbprintf1.awk \
+	mbprintf1.in \
+	mbprintf1.ok \
+	mbprintf2.awk \
+	mbprintf2.ok \
+	mbprintf3.awk \
+	mbprintf3.in \
+	mbprintf3.ok \
+	mbstr1.awk \
+	mbstr1.ok \
 	membug1.awk \
 	membug1.in \
 	membug1.ok \
@@ -424,10 +451,10 @@
 	out1.ok \
 	out2.ok \
 	out3.ok \
-	ovrflow1.awk \
-	ovrflow1.ok \
 	paramdup.awk \
 	paramdup.ok \
+	paramres.awk \
+	paramres.ok \
 	paramtyp.awk \
 	paramtyp.ok \
 	parse1.awk \
@@ -463,6 +490,9 @@
 	printf1.ok \
 	printfbad1.awk \
 	printfbad1.ok \
+	printfbad2.awk \
+	printfbad2.in \
+	printfbad2.ok \
 	printfloat.awk \
 	printlang.awk \
 	prmarscl.awk \
@@ -615,6 +645,9 @@
 	uninitialized.ok \
 	unterm.awk \
 	unterm.ok \
+	uparrfs.awk \
+	uparrfs.in \
+	uparrfs.ok \
 	whiny.awk \
 	whiny.in \
 	whiny.ok \
@@ -648,43 +681,52 @@
 CLEANFILES = core core.* fmtspcl.ok
 
 # try to keep these sorted
-BASIC_TESTS = addcomma anchgsub argarray arrayparm arrayref arrymem1 \
-	arrayprm2 arrayprm3 arryref2 arryref3 arryref4 arryref5 arynasty \
-	arynocls aryprm1 aryprm2 aryprm3 aryprm4 aryprm5 aryprm6 aryprm7 \
-	aryprm8 arysubnm asgext awkpath back89 backgsub childin clobber \
-	clsflnam compare compare2 concat1 concat2 concat3 concat4 convfmt datanonl defref \
-	delarprm delarpm2 delfunc dynlj eofsplit exitval1 exitval2 fldchg fldchgnf fmtspcl fmttest fnamedat \
-	fnarray fnarray2 fnarydel fnaryscl fnasgnm fnmisc fnparydl \
-	fordel forsimp fsbs fsspcoln fsrs fstabplus funsemnl funsmnam funstack getline \
-	getline2 getline3 getlnbuf getnr2tb getnr2tm gsubasgn gsubtest \
-	gsubtst2 gsubtst3 gsubtst4 gsubtst5 hex hsprint inputred intest intformat \
-	intprec iobug1 leaddig leadnl litoct longsub longwrds manglprm math membug1 \
-	messages minusstr mmap8k mtchi18n nasty nasty2 negexp nested nfldstr \
-	nfneg nfset nlfldsep nlinstr nlstrina noeffect nofile nofmtch noloop1 \
-	noloop2 nonl noparms nors nulrsend numindex numsubstr octsub ofmt \
-	ofmtbig ofmtfidl ofmts onlynl opasnidx opasnslf ovrflow1 paramdup paramtyp \
-	parse1 parsefld parseme pcntplus prdupval prec printf0 printf1 prmarscl prmreuse \
-	prt1eval prtoeval psx96sub rand rebt8b1 rebt8b2 redfilnm regeq \
-	reindops reparse resplit rs rsnul1nl rsnulbig rsnulbig2 rstest1 \
-	rstest2 rstest3 rstest4 rstest5 rswhite scalar sclforin sclifin \
-	sortempty splitargv splitarr splitdef splitvar splitwht sprintfc \
-	strcat1 strtod strnum1 subamp subi18n subsepnm subslash substr swaplns \
-	synerr1 synerr2 tradanch \
-	tweakfld uninit2 uninit3 uninit4 uninitialized unterm wideidx wideidx2 \
-	widesub widesub2 widesub3 widesub4 wjposer1 zeroe0 zeroflag zero2
+BASIC_TESTS = \
+	addcomma anchgsub argarray arrayparm arrayprm2 arrayprm3 arrayref \
+	arrymem1 arryref2 arryref3 arryref4 arryref5 arynasty arynocls \
+	aryprm1 aryprm2 aryprm3 aryprm4 aryprm5 aryprm6 aryprm7 aryprm8 \
+	arysubnm asgext awkpath back89 backgsub childin clobber closebad \
+	clsflnam compare compare2 concat1 concat2 concat3 concat4 convfmt \
+	datanonl defref delarpm2 delarprm delfunc dynlj eofsplit exitval1 \
+	exitval2 fldchg fldchgnf fnamedat fnarray fnarray2 fnaryscl fnasgnm \
+	fnmisc fordel forsimp fsbs fsrs fsspcoln fstabplus funsemnl funsmnam \
+	funstack getline getline2 getline3 getlnbuf getnr2tb getnr2tm \
+	gsubasgn gsubtest gsubtst2 gsubtst3 gsubtst4 gsubtst5 gsubtst6 \
+	hex hsprint inputred intest intprec iobug1 leaddig leadnl litoct \
+	longsub longwrds manglprm math membug1 messages minusstr mmap8k \
+	mtchi18n nasty nasty2 negexp nested nfldstr nfneg nfset nlfldsep \
+	nlinstr nlstrina noeffect nofile nofmtch noloop1 noloop2 nonl noparms \
+	nors nulrsend numindex numsubstr octsub ofmt ofmtbig ofmtfidl ofmts \
+	onlynl opasnidx opasnslf paramdup paramres paramtyp parse1 parsefld \
+	parseme pcntplus prdupval prec printf0 printf1 prmarscl prmreuse \
+	prt1eval prtoeval psx96sub rand rebt8b1 redfilnm regeq reindops \
+	reparse resplit rs rsnul1nl rsnulbig rsnulbig2 rstest1 rstest2 \
+	rstest3 rstest4 rstest5 rswhite scalar sclforin sclifin sortempty \
+	splitargv splitarr splitdef splitvar splitwht strcat1 strnum1 \
+	strtod subamp subi18n subsepnm subslash substr swaplns synerr1 \
+	synerr2 tradanch tweakfld uninit2 uninit3 uninit4 uninitialized \
+	unterm uparrfs wideidx wideidx2 widesub widesub2 widesub3 \
+	widesub4 wjposer1 zero2 zeroe0 zeroflag
 
 UNIX_TESTS = fflush getlnhd localenl pid pipeio1 pipeio2 poundbang space strftlng
 
-GAWK_EXT_TESTS = argtest asort asorti backw badargs binmode1 clos1way devfd devfd1 devfd2 double1 double2 \
-	fieldwdth fsfwfs fwtest fwtest2 gensub gensub2 gnuops2 gnuops3 gnureops icasefs \
-	icasers igncdym igncfs ignrcase ignrcas2 lint lintold match1 match2 manyfiles \
-	nondec nondec2 posix procinfs printfbad1 regx8bit rebuf reint reint2 rsstart1 \
-	rsstart2 rsstart3 rstest6 shadow sort1 strtonum strftime whiny
+GAWK_EXT_TESTS = \
+	argtest backw badargs binmode1 clos1way devfd devfd1 devfd2 fieldwdth \
+	fsfwfs funlen fwtest fwtest2 gensub gensub2 getlndir gnuops2 gnuops3 \
+	gnureops icasefs icasers igncdym igncfs ignrcas2 ignrcase lint lintold \
+	manyfiles match1 match2 match3 mbprintf3 mbstr1 nondec nondec2 posix \
+	printfbad1 printfbad2 procinfs rebuf regx8bit reint reint2 rsstart1 \
+	rsstart2 rsstart3 rstest6 shadow strftime strtonum
 
 EXTRA_TESTS = regtest inftest
 
 INET_TESTS = inetechu inetecht inetdayu inetdayt
 
+MACHINE_TESTS = double1 double2 fmtspcl intformat
+
+LOCALE_CHARSET_TESTS = asort asorti fmttest fnarydel fnparydl lc_num1 mbfw1 \
+	mbprintf1 mbprintf2 rebt8b2 sort1 sprintfc whiny
+
 # List of the tests which should be run with --lint option:
 NEED_LINT = defref fmtspcl noeffect nofmtch shadow uninit2 uninit3 uninit4 uninitialized
 
@@ -714,7 +756,9 @@
 	printlang \
 	basic-msg-start  basic           basic-msg-end \
 	unix-msg-start   unix-tests      unix-msg-end \
-	extend-msg-start gawk-extensions extend-msg-end
+	extend-msg-start gawk-extensions extend-msg-end \
+	machine-msg-start machine-tests machine-msg-end \
+	charset-msg-start charset-tests charset-msg-end
 	@$(MAKE) pass-fail
 
 basic:	$(BASIC_TESTS)
@@ -723,10 +767,14 @@
 
 gawk-extensions: $(GAWK_EXT_TESTS)
 
+charset-tests: $(LOCALE_CHARSET_TESTS)
+
 extra:	$(EXTRA_TESTS) inet
 
 inet:	inetmesg $(INET_TESTS)
 
+machine-tests: $(MACHINE_TESTS)
+
 msg::
 	@echo ''
 	@echo 'Any output from "cmp" is bad news, although some differences'
@@ -755,6 +803,25 @@
 extend-msg-end:
 	@echo "======== Done with gawk extension tests ========"
 
+machine-msg-start:
+	@echo "======== Starting machine-specific tests ========"
+
+machine-msg-end:
+	@echo "======== Done with machine-specific tests ========"
+
+charset-msg-start:
+	@echo "======== Starting tests that can vary based on character set or locale support ========"
+
+charset-msg-end:
+	@echo "======== Done with tests that can vary based on character set or locale support ========"
+
+
+lc_num1:
+	@echo $@
+	@[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; \
+	AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
 
 # This test is a PITA because increasingly, /tmp is getting
 # mounted noexec.  So, we'll test it locally.  Sigh.
@@ -1143,9 +1210,48 @@
 
 localenl::
 	@echo $@
-	@$(srcdir)/$@.sh >_$@
+	@$(srcdir)/$@.sh >_$@ 2>/dev/null
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
+mbprintf1::
+	@echo $@
+	@GAWKLOCALE=en_US.UTF-8 ; export GAWKLOCALE ; \
+	$(AWK) -f $(srcdir)/$@.awk $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >> _$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
+mbprintf2::
+	@echo $@
+	@GAWKLOCALE=ja_JP.UTF-8 ; export GAWKLOCALE ; \
+	$(AWK) -f $(srcdir)/$@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >> _$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
+mbprintf3::
+	@echo $@
+	@GAWKLOCALE=en_US.UTF-8 ; export GAWKLOCALE ; \
+	$(AWK) -f $(srcdir)/$@.awk $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >> _$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
+mbfw1::
+	@echo $@
+	@GAWKLOCALE=en_US.UTF-8 ; export GAWKLOCALE ; \
+	$(AWK) -f $(srcdir)/$@.awk $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >> _$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
+gsubtst6::
+	@echo $@
+	@GAWKLOCALE=C ; $(AWK) -f $(srcdir)/$@.awk > _$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
+mbstr1::
+	@echo $@
+	@[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; \
+	AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
+printfbad2: printfbad2.ok
+	@echo $@
+	@$(AWK) --lint -f $(srcdir)/$@.awk $(srcdir)/$@.in 2>&1 | sed 's;\$(srcdir)/;;g' >_$@ || echo EXIT CODE: $$?  >>_$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
 
 # Targets generated for other tests:
diff -urN gawk-3.1.6/test/Makefile.in gawk-3.1.7/test/Makefile.in
--- gawk-3.1.6/test/Makefile.in	2007-10-22 08:52:01.000000000 +0200
+++ gawk-3.1.7/test/Makefile.in	2009-07-21 22:29:59.000000000 +0300
@@ -1,8 +1,9 @@
-# Makefile.in generated by automake 1.10 from Makefile.am.
+# Makefile.in generated by automake 1.11 from Makefile.am.
 # @configure_input@
 
 # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
 # This Makefile.in 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.
@@ -17,7 +18,7 @@
 #
 # test/Makefile.am --- automake input file for gawk
 #
-# Copyright (C) 1988-2006 the Free Software Foundation, Inc.
+# Copyright (C) 1988-2008 the Free Software Foundation, Inc.
 #
 # This file is part of GAWK, the GNU implementation of the
 # AWK Programming Language.
@@ -38,8 +39,9 @@
 #
 VPATH = @srcdir@
 pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
 am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
 install_sh_DATA = $(install_sh) -c -m 644
 install_sh_PROGRAM = $(install_sh) -c
@@ -64,21 +66,25 @@
 	$(top_srcdir)/m4/inttypes_h.m4 $(top_srcdir)/m4/isc-posix.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/longlong.m4 $(top_srcdir)/m4/nls.m4 \
-	$(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \
-	$(top_srcdir)/m4/socket.m4 $(top_srcdir)/m4/stdint_h.m4 \
-	$(top_srcdir)/m4/uintmax_t.m4 $(top_srcdir)/m4/ulonglong.m4 \
-	$(top_srcdir)/configure.ac
+	$(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/po.m4 \
+	$(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/socket.m4 \
+	$(top_srcdir)/m4/stdint_h.m4 $(top_srcdir)/m4/uintmax_t.m4 \
+	$(top_srcdir)/m4/ulonglong.m4 $(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
 SOURCES =
 DIST_SOURCES =
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
+AR = @AR@
 AUTOCONF = @AUTOCONF@
 AUTOHEADER = @AUTOHEADER@
 AUTOMAKE = @AUTOMAKE@
@@ -97,11 +103,15 @@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
 ECHO_C = @ECHO_C@
 ECHO_N = @ECHO_N@
 ECHO_T = @ECHO_T@
 EGREP = @EGREP@
 EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
 GMSGFMT = @GMSGFMT@
 GMSGFMT_015 = @GMSGFMT_015@
 GREP = @GREP@
@@ -112,11 +122,15 @@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
 INTLLIBS = @INTLLIBS@
 INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBICONV = @LIBICONV@
 LIBINTL = @LIBINTL@
 LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
+LIBSIGSEGV = @LIBSIGSEGV@
+LIBTOOL = @LIBTOOL@
+LIPO = @LIPO@
 LN_S = @LN_S@
 LTLIBICONV = @LTLIBICONV@
 LTLIBINTL = @LTLIBINTL@
@@ -126,7 +140,12 @@
 MSGFMT = @MSGFMT@
 MSGFMT_015 = @MSGFMT_015@
 MSGMERGE = @MSGMERGE@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
 OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
 PACKAGE = @PACKAGE@
 PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
 PACKAGE_NAME = @PACKAGE_NAME@
@@ -136,6 +155,9 @@
 PATH_SEPARATOR = @PATH_SEPARATOR@
 POSUB = @POSUB@
 RANLIB = @RANLIB@
+SED = @SED@
+SEGVINCLUDE = @SEGVINCLUDE@
+SEGVSUBDIR = @SEGVSUBDIR@
 SET_MAKE = @SET_MAKE@
 SHELL = @SHELL@
 SOCKET_LIBS = @SOCKET_LIBS@
@@ -145,6 +167,7 @@
 VERSION = @VERSION@
 XGETTEXT = @XGETTEXT@
 XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
 YACC = @YACC@
 YFLAGS = @YFLAGS@
 abs_builddir = @abs_builddir@
@@ -152,6 +175,7 @@
 abs_top_builddir = @abs_top_builddir@
 abs_top_srcdir = @abs_top_srcdir@
 ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
 am__include = @am__include@
 am__leading_dot = @am__leading_dot@
 am__quote = @am__quote@
@@ -182,6 +206,7 @@
 libexecdir = @libexecdir@
 localedir = @localedir@
 localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
 mandir = @mandir@
 mkdir_p = @mkdir_p@
 oldincludedir = @oldincludedir@
@@ -192,8 +217,10 @@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
+subdirs = @subdirs@
 sysconfdir = @sysconfdir@
 target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 EXTRA_DIST = \
@@ -280,6 +307,8 @@
 	clobber.ok \
 	clos1way.awk \
 	clos1way.ok \
+	closebad.awk \
+	closebad.ok \
 	clsflnam.awk \
 	clsflnam.in \
 	clsflnam.ok \
@@ -384,6 +413,9 @@
 	fstabplus.awk \
 	fstabplus.in \
 	fstabplus.ok \
+	funlen.awk \
+	funlen.in \
+	funlen.ok \
 	funsemnl.awk \
 	funsemnl.ok \
 	funsmnam.awk \
@@ -412,6 +444,8 @@
 	getlnbuf.awk \
 	getlnbuf.in \
 	getlnbuf.ok \
+	getlndir.awk \
+	getlndir.ok \
 	getlnhd.awk \
 	getlnhd.ok \
 	getnr2tb.awk \
@@ -440,6 +474,8 @@
 	gsubtst5.awk \
 	gsubtst5.in \
 	gsubtst5.ok \
+	gsubtst6.awk \
+	gsubtst6.ok \
 	gtlnbufv.awk \
 	hex.awk \
 	hex.ok \
@@ -473,6 +509,8 @@
 	intprec.ok \
 	iobug1.awk \
 	iobug1.ok \
+	lc_num1.awk \
+	lc_num1.ok \
 	leaddig.awk \
 	leaddig.ok \
 	leadnl.awk \
@@ -505,8 +543,24 @@
 	match1.ok \
 	match2.awk \
 	match2.ok \
+	match3.awk \
+	match3.in \
+	match3.ok \
 	math.awk \
 	math.ok \
+	mbfw1.awk \
+	mbfw1.in \
+	mbfw1.ok \
+	mbprintf1.awk \
+	mbprintf1.in \
+	mbprintf1.ok \
+	mbprintf2.awk \
+	mbprintf2.ok \
+	mbprintf3.awk \
+	mbprintf3.in \
+	mbprintf3.ok \
+	mbstr1.awk \
+	mbstr1.ok \
 	membug1.awk \
 	membug1.in \
 	membug1.ok \
@@ -597,10 +651,10 @@
 	out1.ok \
 	out2.ok \
 	out3.ok \
-	ovrflow1.awk \
-	ovrflow1.ok \
 	paramdup.awk \
 	paramdup.ok \
+	paramres.awk \
+	paramres.ok \
 	paramtyp.awk \
 	paramtyp.ok \
 	parse1.awk \
@@ -636,6 +690,9 @@
 	printf1.ok \
 	printfbad1.awk \
 	printfbad1.ok \
+	printfbad2.awk \
+	printfbad2.in \
+	printfbad2.ok \
 	printfloat.awk \
 	printlang.awk \
 	prmarscl.awk \
@@ -788,6 +845,9 @@
 	uninitialized.ok \
 	unterm.awk \
 	unterm.ok \
+	uparrfs.awk \
+	uparrfs.in \
+	uparrfs.ok \
 	whiny.awk \
 	whiny.in \
 	whiny.ok \
@@ -821,40 +881,48 @@
 CLEANFILES = core core.* fmtspcl.ok
 
 # try to keep these sorted
-BASIC_TESTS = addcomma anchgsub argarray arrayparm arrayref arrymem1 \
-	arrayprm2 arrayprm3 arryref2 arryref3 arryref4 arryref5 arynasty \
-	arynocls aryprm1 aryprm2 aryprm3 aryprm4 aryprm5 aryprm6 aryprm7 \
-	aryprm8 arysubnm asgext awkpath back89 backgsub childin clobber \
-	clsflnam compare compare2 concat1 concat2 concat3 concat4 convfmt datanonl defref \
-	delarprm delarpm2 delfunc dynlj eofsplit exitval1 exitval2 fldchg fldchgnf fmtspcl fmttest fnamedat \
-	fnarray fnarray2 fnarydel fnaryscl fnasgnm fnmisc fnparydl \
-	fordel forsimp fsbs fsspcoln fsrs fstabplus funsemnl funsmnam funstack getline \
-	getline2 getline3 getlnbuf getnr2tb getnr2tm gsubasgn gsubtest \
-	gsubtst2 gsubtst3 gsubtst4 gsubtst5 hex hsprint inputred intest intformat \
-	intprec iobug1 leaddig leadnl litoct longsub longwrds manglprm math membug1 \
-	messages minusstr mmap8k mtchi18n nasty nasty2 negexp nested nfldstr \
-	nfneg nfset nlfldsep nlinstr nlstrina noeffect nofile nofmtch noloop1 \
-	noloop2 nonl noparms nors nulrsend numindex numsubstr octsub ofmt \
-	ofmtbig ofmtfidl ofmts onlynl opasnidx opasnslf ovrflow1 paramdup paramtyp \
-	parse1 parsefld parseme pcntplus prdupval prec printf0 printf1 prmarscl prmreuse \
-	prt1eval prtoeval psx96sub rand rebt8b1 rebt8b2 redfilnm regeq \
-	reindops reparse resplit rs rsnul1nl rsnulbig rsnulbig2 rstest1 \
-	rstest2 rstest3 rstest4 rstest5 rswhite scalar sclforin sclifin \
-	sortempty splitargv splitarr splitdef splitvar splitwht sprintfc \
-	strcat1 strtod strnum1 subamp subi18n subsepnm subslash substr swaplns \
-	synerr1 synerr2 tradanch \
-	tweakfld uninit2 uninit3 uninit4 uninitialized unterm wideidx wideidx2 \
-	widesub widesub2 widesub3 widesub4 wjposer1 zeroe0 zeroflag zero2
+BASIC_TESTS = \
+	addcomma anchgsub argarray arrayparm arrayprm2 arrayprm3 arrayref \
+	arrymem1 arryref2 arryref3 arryref4 arryref5 arynasty arynocls \
+	aryprm1 aryprm2 aryprm3 aryprm4 aryprm5 aryprm6 aryprm7 aryprm8 \
+	arysubnm asgext awkpath back89 backgsub childin clobber closebad \
+	clsflnam compare compare2 concat1 concat2 concat3 concat4 convfmt \
+	datanonl defref delarpm2 delarprm delfunc dynlj eofsplit exitval1 \
+	exitval2 fldchg fldchgnf fnamedat fnarray fnarray2 fnaryscl fnasgnm \
+	fnmisc fordel forsimp fsbs fsrs fsspcoln fstabplus funsemnl funsmnam \
+	funstack getline getline2 getline3 getlnbuf getnr2tb getnr2tm \
+	gsubasgn gsubtest gsubtst2 gsubtst3 gsubtst4 gsubtst5 gsubtst6 \
+	hex hsprint inputred intest intprec iobug1 leaddig leadnl litoct \
+	longsub longwrds manglprm math membug1 messages minusstr mmap8k \
+	mtchi18n nasty nasty2 negexp nested nfldstr nfneg nfset nlfldsep \
+	nlinstr nlstrina noeffect nofile nofmtch noloop1 noloop2 nonl noparms \
+	nors nulrsend numindex numsubstr octsub ofmt ofmtbig ofmtfidl ofmts \
+	onlynl opasnidx opasnslf paramdup paramres paramtyp parse1 parsefld \
+	parseme pcntplus prdupval prec printf0 printf1 prmarscl prmreuse \
+	prt1eval prtoeval psx96sub rand rebt8b1 redfilnm regeq reindops \
+	reparse resplit rs rsnul1nl rsnulbig rsnulbig2 rstest1 rstest2 \
+	rstest3 rstest4 rstest5 rswhite scalar sclforin sclifin sortempty \
+	splitargv splitarr splitdef splitvar splitwht strcat1 strnum1 \
+	strtod subamp subi18n subsepnm subslash substr swaplns synerr1 \
+	synerr2 tradanch tweakfld uninit2 uninit3 uninit4 uninitialized \
+	unterm uparrfs wideidx wideidx2 widesub widesub2 widesub3 \
+	widesub4 wjposer1 zero2 zeroe0 zeroflag
 
 UNIX_TESTS = fflush getlnhd localenl pid pipeio1 pipeio2 poundbang space strftlng
-GAWK_EXT_TESTS = argtest asort asorti backw badargs binmode1 clos1way devfd devfd1 devfd2 double1 double2 \
-	fieldwdth fsfwfs fwtest fwtest2 gensub gensub2 gnuops2 gnuops3 gnureops icasefs \
-	icasers igncdym igncfs ignrcase ignrcas2 lint lintold match1 match2 manyfiles \
-	nondec nondec2 posix procinfs printfbad1 regx8bit rebuf reint reint2 rsstart1 \
-	rsstart2 rsstart3 rstest6 shadow sort1 strtonum strftime whiny
+GAWK_EXT_TESTS = \
+	argtest backw badargs binmode1 clos1way devfd devfd1 devfd2 fieldwdth \
+	fsfwfs funlen fwtest fwtest2 gensub gensub2 getlndir gnuops2 gnuops3 \
+	gnureops icasefs icasers igncdym igncfs ignrcas2 ignrcase lint lintold \
+	manyfiles match1 match2 match3 mbprintf3 mbstr1 nondec nondec2 posix \
+	printfbad1 printfbad2 procinfs rebuf regx8bit reint reint2 rsstart1 \
+	rsstart2 rsstart3 rstest6 shadow strftime strtonum
 
 EXTRA_TESTS = regtest inftest
 INET_TESTS = inetechu inetecht inetdayu inetdayt
+MACHINE_TESTS = double1 double2 fmtspcl intformat
+LOCALE_CHARSET_TESTS = asort asorti fmttest fnarydel fnparydl lc_num1 mbfw1 \
+	mbprintf1 mbprintf2 rebt8b2 sort1 sprintfc whiny
+
 
 # List of the tests which should be run with --lint option:
 NEED_LINT = defref fmtspcl noeffect nofmtch shadow uninit2 uninit3 uninit4 uninitialized
@@ -876,14 +944,14 @@
 	@for dep in $?; do \
 	  case '$(am__configure_deps)' in \
 	    *$$dep*) \
-	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
-		&& exit 0; \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  test/Makefile'; \
-	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --gnu  test/Makefile
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu test/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu test/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
@@ -901,6 +969,13 @@
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
 $(ACLOCAL_M4):  $(am__aclocal_m4_deps)
 	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
 tags: TAGS
 TAGS:
 
@@ -924,13 +999,17 @@
 	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
 	  if test -d $$d/$$file; then \
 	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
 	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
 	    fi; \
-	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
 	  else \
-	    test -f $(distdir)/$$file \
-	    || cp -p $$d/$$file $(distdir)/$$file \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
 	    || exit 1; \
 	  fi; \
 	done
@@ -959,11 +1038,12 @@
 
 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)
 
 maintainer-clean-generic:
 	@echo "This command is intended for maintainers to use"
 	@echo "it deletes files that may require special tools to rebuild."
-clean-am: clean-generic mostlyclean-am
+clean-am: clean-generic clean-libtool mostlyclean-am
 
 distclean: distclean-am
 	-rm -f Makefile
@@ -975,6 +1055,8 @@
 
 html: html-am
 
+html-am:
+
 info: info-am
 
 info-am:
@@ -983,18 +1065,28 @@
 
 install-dvi: install-dvi-am
 
+install-dvi-am:
+
 install-exec-am:
 
 install-html: install-html-am
 
+install-html-am:
+
 install-info: install-info-am
 
+install-info-am:
+
 install-man:
 
 install-pdf: install-pdf-am
 
+install-pdf-am:
+
 install-ps: install-ps-am
 
+install-ps-am:
+
 installcheck-am:
 
 maintainer-clean: maintainer-clean-am
@@ -1003,7 +1095,7 @@
 
 mostlyclean: mostlyclean-am
 
-mostlyclean-am: mostlyclean-generic
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
 
 pdf: pdf-am
 
@@ -1017,15 +1109,16 @@
 
 .MAKE: install-am install-strip
 
-.PHONY: all all-am check check-am clean clean-generic distclean \
-	distclean-generic 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 \
-	maintainer-clean maintainer-clean-generic mostlyclean \
-	mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
+	distclean distclean-generic distclean-libtool 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 maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-generic \
+	mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
 
 
 # Message stuff is to make it a little easier to follow.
@@ -1035,7 +1128,9 @@
 	printlang \
 	basic-msg-start  basic           basic-msg-end \
 	unix-msg-start   unix-tests      unix-msg-end \
-	extend-msg-start gawk-extensions extend-msg-end
+	extend-msg-start gawk-extensions extend-msg-end \
+	machine-msg-start machine-tests machine-msg-end \
+	charset-msg-start charset-tests charset-msg-end
 	@$(MAKE) pass-fail
 
 basic:	$(BASIC_TESTS)
@@ -1044,10 +1139,14 @@
 
 gawk-extensions: $(GAWK_EXT_TESTS)
 
+charset-tests: $(LOCALE_CHARSET_TESTS)
+
 extra:	$(EXTRA_TESTS) inet
 
 inet:	inetmesg $(INET_TESTS)
 
+machine-tests: $(MACHINE_TESTS)
+
 msg::
 	@echo ''
 	@echo 'Any output from "cmp" is bad news, although some differences'
@@ -1076,6 +1175,24 @@
 extend-msg-end:
 	@echo "======== Done with gawk extension tests ========"
 
+machine-msg-start:
+	@echo "======== Starting machine-specific tests ========"
+
+machine-msg-end:
+	@echo "======== Done with machine-specific tests ========"
+
+charset-msg-start:
+	@echo "======== Starting tests that can vary based on character set or locale support ========"
+
+charset-msg-end:
+	@echo "======== Done with tests that can vary based on character set or locale support ========"
+
+lc_num1:
+	@echo $@
+	@[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; \
+	AWKPATH=$(srcdir) $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
 # This test is a PITA because increasingly, /tmp is getting
 # mounted noexec.  So, we'll test it locally.  Sigh.
 #
@@ -1463,7 +1580,47 @@
 
 localenl::
 	@echo $@
-	@$(srcdir)/$@.sh >_$@
+	@$(srcdir)/$@.sh >_$@ 2>/dev/null
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
+mbprintf1::
+	@echo $@
+	@GAWKLOCALE=en_US.UTF-8 ; export GAWKLOCALE ; \
+	$(AWK) -f $(srcdir)/$@.awk $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >> _$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
+mbprintf2::
+	@echo $@
+	@GAWKLOCALE=ja_JP.UTF-8 ; export GAWKLOCALE ; \
+	$(AWK) -f $(srcdir)/$@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >> _$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
+mbprintf3::
+	@echo $@
+	@GAWKLOCALE=en_US.UTF-8 ; export GAWKLOCALE ; \
+	$(AWK) -f $(srcdir)/$@.awk $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >> _$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
+mbfw1::
+	@echo $@
+	@GAWKLOCALE=en_US.UTF-8 ; export GAWKLOCALE ; \
+	$(AWK) -f $(srcdir)/$@.awk $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >> _$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
+gsubtst6::
+	@echo $@
+	@GAWKLOCALE=C ; $(AWK) -f $(srcdir)/$@.awk > _$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
+mbstr1::
+	@echo $@
+	@[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; \
+	AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
+printfbad2: printfbad2.ok
+	@echo $@
+	@$(AWK) --lint -f $(srcdir)/$@.awk $(srcdir)/$@.in 2>&1 | sed 's;\$(srcdir)/;;g' >_$@ || echo EXIT CODE: $$?  >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 Gt-dummy:
 # file Maketests, generated from Makefile.am by the Gentests program
@@ -1482,23 +1639,23 @@
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-arrayref:
-	@echo arrayref
+arrayprm2:
+	@echo arrayprm2
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-arrymem1:
-	@echo arrymem1
+arrayprm3:
+	@echo arrayprm3
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-arrayprm2:
-	@echo arrayprm2
+arrayref:
+	@echo arrayref
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-arrayprm3:
-	@echo arrayprm3
+arrymem1:
+	@echo arrymem1
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
@@ -1592,6 +1749,11 @@
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
+closebad:
+	@echo closebad
+	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
 clsflnam:
 	@echo clsflnam
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -1632,13 +1794,13 @@
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  --lint >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-delarprm:
-	@echo delarprm
+delarpm2:
+	@echo delarpm2
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-delarpm2:
-	@echo delarpm2
+delarprm:
+	@echo delarprm
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
@@ -1672,11 +1834,6 @@
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-fmttest:
-	@echo fmttest
-	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
-	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
-
 fnamedat:
 	@echo fnamedat
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -1692,11 +1849,6 @@
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-fnarydel:
-	@echo fnarydel
-	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
-	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
-
 fnaryscl:
 	@echo fnaryscl
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -1712,11 +1864,6 @@
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-fnparydl:
-	@echo fnparydl
-	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
-	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
-
 fordel:
 	@echo fordel
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -1822,11 +1969,6 @@
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-intformat:
-	@echo intformat
-	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
-	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
-
 intprec:
 	@echo intprec
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -2002,13 +2144,13 @@
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-ovrflow1:
-	@echo ovrflow1
+paramdup:
+	@echo paramdup
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-paramdup:
-	@echo paramdup
+paramres:
+	@echo paramres
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
@@ -2087,11 +2229,6 @@
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-rebt8b2:
-	@echo rebt8b2
-	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
-	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
-
 regeq:
 	@echo regeq
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -2197,26 +2334,21 @@
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-sprintfc:
-	@echo sprintfc
-	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
-	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
-
 strcat1:
 	@echo strcat1
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-strtod:
-	@echo strtod
-	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
-	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
-
 strnum1:
 	@echo strnum1
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
+strtod:
+	@echo strtod
+	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
 subsepnm:
 	@echo subsepnm
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -2272,11 +2404,21 @@
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
+uparrfs:
+	@echo uparrfs
+	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
 wjposer1:
 	@echo wjposer1
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
+zero2:
+	@echo zero2
+	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
 zeroe0:
 	@echo zeroe0
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -2287,26 +2429,11 @@
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-zero2:
-	@echo zero2
-	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
-	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
-
 getlnhd:
 	@echo getlnhd
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-asort:
-	@echo asort
-	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
-	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
-
-asorti:
-	@echo asorti
-	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
-	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
-
 backw:
 	@echo backw
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -2317,16 +2444,6 @@
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-double1:
-	@echo double1
-	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
-	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
-
-double2:
-	@echo double2
-	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
-	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
-
 fieldwdth:
 	@echo fieldwdth
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -2337,6 +2454,11 @@
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
+funlen:
+	@echo funlen
+	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
 fwtest:
 	@echo fwtest
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -2357,6 +2479,11 @@
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
+getlndir:
+	@echo getlndir
+	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
 gnuops2:
 	@echo gnuops2
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -2417,6 +2544,11 @@
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
+match3:
+	@echo match3
+	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
 nondec:
 	@echo nondec
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -2427,18 +2559,13 @@
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-procinfs:
-	@echo procinfs
-	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
-	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
-
 printfbad1:
 	@echo printfbad1
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-regx8bit:
-	@echo regx8bit
+procinfs:
+	@echo procinfs
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
@@ -2447,6 +2574,11 @@
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
+regx8bit:
+	@echo regx8bit
+	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
 rstest6:
 	@echo rstest6
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -2457,14 +2589,64 @@
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  --lint >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
+strtonum:
+	@echo strtonum
+	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
+double1:
+	@echo double1
+	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
+double2:
+	@echo double2
+	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
+intformat:
+	@echo intformat
+	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
+asort:
+	@echo asort
+	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
+asorti:
+	@echo asorti
+	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
+fmttest:
+	@echo fmttest
+	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
+fnarydel:
+	@echo fnarydel
+	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
+fnparydl:
+	@echo fnparydl
+	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
+rebt8b2:
+	@echo rebt8b2
+	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
 sort1:
 	@echo sort1
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-strtonum:
-	@echo strtonum
-	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+sprintfc:
+	@echo sprintfc
+	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
 # end of file Maketests
@@ -2526,6 +2708,7 @@
 			rm _$$i ; \
 		fi ; \
 	done
+
 # 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:
diff -urN gawk-3.1.6/test/Maketests gawk-3.1.7/test/Maketests
--- gawk-3.1.6/test/Maketests	2007-09-26 15:13:45.000000000 +0200
+++ gawk-3.1.7/test/Maketests	2009-07-03 12:31:17.000000000 +0300
@@ -15,23 +15,23 @@
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-arrayref:
-	@echo arrayref
+arrayprm2:
+	@echo arrayprm2
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-arrymem1:
-	@echo arrymem1
+arrayprm3:
+	@echo arrayprm3
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-arrayprm2:
-	@echo arrayprm2
+arrayref:
+	@echo arrayref
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-arrayprm3:
-	@echo arrayprm3
+arrymem1:
+	@echo arrymem1
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
@@ -125,6 +125,11 @@
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
+closebad:
+	@echo closebad
+	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
 clsflnam:
 	@echo clsflnam
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -165,13 +170,13 @@
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  --lint >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-delarprm:
-	@echo delarprm
+delarpm2:
+	@echo delarpm2
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-delarpm2:
-	@echo delarpm2
+delarprm:
+	@echo delarprm
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
@@ -205,11 +210,6 @@
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-fmttest:
-	@echo fmttest
-	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
-	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
-
 fnamedat:
 	@echo fnamedat
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -225,11 +225,6 @@
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-fnarydel:
-	@echo fnarydel
-	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
-	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
-
 fnaryscl:
 	@echo fnaryscl
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -245,11 +240,6 @@
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-fnparydl:
-	@echo fnparydl
-	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
-	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
-
 fordel:
 	@echo fordel
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -355,11 +345,6 @@
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-intformat:
-	@echo intformat
-	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
-	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
-
 intprec:
 	@echo intprec
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -535,13 +520,13 @@
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-ovrflow1:
-	@echo ovrflow1
+paramdup:
+	@echo paramdup
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-paramdup:
-	@echo paramdup
+paramres:
+	@echo paramres
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
@@ -620,11 +605,6 @@
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-rebt8b2:
-	@echo rebt8b2
-	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
-	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
-
 regeq:
 	@echo regeq
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -730,26 +710,21 @@
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-sprintfc:
-	@echo sprintfc
-	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
-	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
-
 strcat1:
 	@echo strcat1
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-strtod:
-	@echo strtod
-	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
-	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
-
 strnum1:
 	@echo strnum1
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
+strtod:
+	@echo strtod
+	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
 subsepnm:
 	@echo subsepnm
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -805,11 +780,21 @@
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
+uparrfs:
+	@echo uparrfs
+	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
 wjposer1:
 	@echo wjposer1
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
+zero2:
+	@echo zero2
+	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
 zeroe0:
 	@echo zeroe0
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -820,26 +805,11 @@
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-zero2:
-	@echo zero2
-	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
-	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
-
 getlnhd:
 	@echo getlnhd
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-asort:
-	@echo asort
-	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
-	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
-
-asorti:
-	@echo asorti
-	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
-	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
-
 backw:
 	@echo backw
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -850,16 +820,6 @@
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-double1:
-	@echo double1
-	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
-	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
-
-double2:
-	@echo double2
-	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
-	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
-
 fieldwdth:
 	@echo fieldwdth
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -870,6 +830,11 @@
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
+funlen:
+	@echo funlen
+	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
 fwtest:
 	@echo fwtest
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -890,6 +855,11 @@
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
+getlndir:
+	@echo getlndir
+	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
 gnuops2:
 	@echo gnuops2
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -950,6 +920,11 @@
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
+match3:
+	@echo match3
+	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
 nondec:
 	@echo nondec
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -960,18 +935,13 @@
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-procinfs:
-	@echo procinfs
-	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
-	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
-
 printfbad1:
 	@echo printfbad1
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-regx8bit:
-	@echo regx8bit
+procinfs:
+	@echo procinfs
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
@@ -980,6 +950,11 @@
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
+regx8bit:
+	@echo regx8bit
+	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
 rstest6:
 	@echo rstest6
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -990,14 +965,64 @@
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  --lint >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
+strtonum:
+	@echo strtonum
+	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
+double1:
+	@echo double1
+	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
+double2:
+	@echo double2
+	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
+intformat:
+	@echo intformat
+	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
+asort:
+	@echo asort
+	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
+asorti:
+	@echo asorti
+	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
+fmttest:
+	@echo fmttest
+	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
+fnarydel:
+	@echo fnarydel
+	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
+fnparydl:
+	@echo fnparydl
+	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
+rebt8b2:
+	@echo rebt8b2
+	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
+
 sort1:
 	@echo sort1
 	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
-strtonum:
-	@echo strtonum
-	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+sprintfc:
+	@echo sprintfc
+	@AWKPATH=$(srcdir) $(AWK) -f $@.awk  < $(srcdir)/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
 	@-$(CMP) $(srcdir)/$@.ok _$@ && rm -f _$@
 
 # end of file Maketests
diff -urN gawk-3.1.6/test/badargs.ok gawk-3.1.7/test/badargs.ok
--- gawk-3.1.6/test/badargs.ok	2007-05-29 22:43:32.000000000 +0300
+++ gawk-3.1.7/test/badargs.ok	2009-06-08 01:20:23.000000000 +0300
@@ -6,6 +6,7 @@
 	-F fs			--field-separator=fs
 	-v var=val		--assign=var=val
 	-m[fr] val
+	-O			--optimize
 	-W compat		--compat
 	-W copyleft		--copyleft
 	-W copyright		--copyright
diff -urN gawk-3.1.6/test/closebad.awk gawk-3.1.7/test/closebad.awk
--- gawk-3.1.6/test/closebad.awk	1970-01-01 02:00:00.000000000 +0200
+++ gawk-3.1.7/test/closebad.awk	2008-12-04 20:38:05.000000000 +0200
@@ -0,0 +1,7 @@
+BEGIN {
+	f = "/no/such/file/1"
+	print (getline junk < f)
+	print close(f)
+	f = "/no/such/file/2"
+	print close(f)
+}
diff -urN gawk-3.1.6/test/closebad.ok gawk-3.1.7/test/closebad.ok
--- gawk-3.1.6/test/closebad.ok	1970-01-01 02:00:00.000000000 +0200
+++ gawk-3.1.7/test/closebad.ok	2008-12-04 22:43:09.000000000 +0200
@@ -0,0 +1,3 @@
+-1
+-1
+-1
diff -urN gawk-3.1.6/test/funlen.awk gawk-3.1.7/test/funlen.awk
--- gawk-3.1.6/test/funlen.awk	1970-01-01 02:00:00.000000000 +0200
+++ gawk-3.1.7/test/funlen.awk	2008-04-23 22:02:27.000000000 +0300
@@ -0,0 +1,69 @@
+# Date: Sat, 15 Mar 2008 16:21:19 +0100
+# From: Hermann Peifer <peifer@gmx.net>
+# Subject: [Fwd: Gawk length(array) bug]
+# To: bug-gawk@gnu.org
+# Cc: Aharon Robbins <arnold@skeeve.com>
+# Message-id: <47DBE96F.1060406@gmx.net>
+# 
+# See below. Regards, Hermann
+# 
+# -------- Original Message --------
+# Subject: Re: Gawk length(array) question
+# Date: Sat, 15 Mar 2008 08:02:03 -0500
+# From: Ed Morton <morton@lsupcaemnt.com>
+# Newsgroups: comp.lang.awk
+# References: <47DBAE29.4050709@gmx.eu>
+# 
+# On 3/15/2008 6:08 AM, Hermann Peifer wrote:
+# > Hi All,
+# > 
+# > The Gawk man page says:
+# >  > Starting with version 3.1.5, as a non-standard extension,
+# >  > with an array  argument, length() returns the number
+# >  > of elements in the array.
+# > 
+# > It looks like Gawk's length(array) extension does not work inside 
+# > functions. Is this a bug or feature or am I missing something? See the 
+# > example below. I am using GNU Awk 3.1.6
+# > 
+# > $ cat testdata
+# > CD NAME
+# > AT Austria
+# > BG Bulgaria
+# > CH Switzerland
+# > DE Germany
+# > EE Estonia
+# > FR France
+# > GR Greece
+# > 
+# > $ cat test.awk
+# > 
+# Populate array
+NR > 1 { array[$1] = $2 }
+
+# Print array length and call function A
+END { print "array:",length(array) ; A(array) }
+
+function A(array_A) { print "array_A:", length(array_A) }
+# > 
+# > $ gawk -f test.awk testdata
+# > array: 7
+# > gawk: test.awk:8: (FILENAME=data FNR=8) fatal: attempt to use array 
+# > `array_A (from array)' in a scalar context
+# > 
+# > BTW, there is no such error if I have asort(array_A) or asorti(array_A) 
+# > inside the function.
+# > 
+# > Hermann
+# 
+# I get the same result with gawk 3.1.6 for cygwin. Obviously you can work
+# around
+# it since asort() returns the number of elements in an array just like
+# length()
+# is supposed to (or "for (i in array) lgth++" if you don't want to be
+# gawk-specific) but it does seem like a bug. Anyone know if there's a list of
+# known gawk bugs on-line somewhere?
+# 
+# 	Ed.
+# 
+# 
diff -urN gawk-3.1.6/test/funlen.in gawk-3.1.7/test/funlen.in
--- gawk-3.1.6/test/funlen.in	1970-01-01 02:00:00.000000000 +0200
+++ gawk-3.1.7/test/funlen.in	2008-04-23 22:02:46.000000000 +0300
@@ -0,0 +1,8 @@
+CD NAME
+AT Austria
+BG Bulgaria
+CH Switzerland
+DE Germany
+EE Estonia
+FR France
+GR Greece
diff -urN gawk-3.1.6/test/funlen.ok gawk-3.1.7/test/funlen.ok
--- gawk-3.1.6/test/funlen.ok	1970-01-01 02:00:00.000000000 +0200
+++ gawk-3.1.7/test/funlen.ok	2008-04-23 22:02:55.000000000 +0300
@@ -0,0 +1,2 @@
+array: 7
+array_A: 7
diff -urN gawk-3.1.6/test/getlndir.awk gawk-3.1.7/test/getlndir.awk
--- gawk-3.1.6/test/getlndir.awk	1970-01-01 02:00:00.000000000 +0200
+++ gawk-3.1.7/test/getlndir.awk	2009-06-23 05:33:51.000000000 +0300
@@ -0,0 +1,7 @@
+BEGIN {
+	if (!SRCDIR) SRCDIR = "."
+	OFS = ", "
+	x = 4
+	ret = (getline x < SRCDIR)
+	print x, ret, ERRNO
+}
diff -urN gawk-3.1.6/test/getlndir.ok gawk-3.1.7/test/getlndir.ok
--- gawk-3.1.6/test/getlndir.ok	1970-01-01 02:00:00.000000000 +0200
+++ gawk-3.1.7/test/getlndir.ok	2009-01-05 22:52:35.000000000 +0200
@@ -0,0 +1 @@
+4, -1, Is a directory
diff -urN gawk-3.1.6/test/gsubtst6.awk gawk-3.1.7/test/gsubtst6.awk
--- gawk-3.1.6/test/gsubtst6.awk	1970-01-01 02:00:00.000000000 +0200
+++ gawk-3.1.7/test/gsubtst6.awk	2008-07-31 21:41:26.000000000 +0300
@@ -0,0 +1,24 @@
+# From: "T. X. G." <leopardie333@yahoo.com>
+# Subject: Bug in regular expression \B using DFA
+# Date: Wed, 16 Jul 2008 05:23:09 -0700 (PDT)
+# To: bug-gawk@gnu.org
+# 
+# ~ gawk --version
+# GNU Awk 3.1.6
+# Copyright (C) 1989, 1991-2007 Free Software Foundation.
+# 
+# ......
+# 
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see http://www.gnu.org/licenses/.
+# 
+# ~ LC_ALL=C gawk 'BEGIN{x="abcd";gsub(/\B/,":",x);print x}'
+# a:b:cd
+# 
+# ~ LC_ALL=en_US.UTF-8 gawk 'BEGIN{x="abcd";gsub(/\B/,":",x);print x}'
+# a:b:c:d
+# 
+# ~ GAWK_NO_DFA=1 gawk 'BEGIN{x="abcd";gsub(/\B/,":",x);print x}'
+# a:b:c:d
+
+BEGIN { x = "abcd"; gsub(/\B/,":",x); print x }
diff -urN gawk-3.1.6/test/gsubtst6.ok gawk-3.1.7/test/gsubtst6.ok
--- gawk-3.1.6/test/gsubtst6.ok	1970-01-01 02:00:00.000000000 +0200
+++ gawk-3.1.7/test/gsubtst6.ok	2008-07-31 21:42:02.000000000 +0300
@@ -0,0 +1 @@
+a:b:c:d
diff -urN gawk-3.1.6/test/intformat.awk gawk-3.1.7/test/intformat.awk
--- gawk-3.1.6/test/intformat.awk	2007-01-30 20:26:50.000000000 +0200
+++ gawk-3.1.7/test/intformat.awk	2009-06-23 05:33:52.000000000 +0300
@@ -46,6 +46,10 @@
 }
 
 BEGIN {
+	# this doesn't necessarily have to be exact since we're checking
+	# magnitude rather than precision
+	if (!HUGEVAL) HUGEVAL = 1.7976931348623157e+308
+
 	formats["%s"] = ""
 	formats["%d"] = ""
 	formats["%.0f"] = ""
@@ -53,13 +57,23 @@
 	formats["0x%x"] = "non-decimal"
 
 	check(0,"0")
-	for (i = 0; i <= 308; i++) {
+	limit = HUGEVAL / 10
+	value = 1
+	for (i = 0; ; i++) {
 		check(10^i,"10^"i)
 		check(-10^i,"-10^"i)
+		#[probably should test value against 10^i here]
+		if (value >= limit) break
+		value *= 10
 	}
-	for (i = 0; i <= 1023; i++) {
+	limit = HUGEVAL / 2
+	value = 1
+	for (i = 0; ; i++) {
 		check(2^i,"2^"i)
 		check(-2^i,"-2^"i)
+		#[probably should test value against 2^i here]
+		if (value >= limit) break
+		value *= 2
 	}
 
 	check_cons("%d",10,1,9)
diff -urN gawk-3.1.6/test/lc_num1.awk gawk-3.1.7/test/lc_num1.awk
--- gawk-3.1.6/test/lc_num1.awk	1970-01-01 02:00:00.000000000 +0200
+++ gawk-3.1.7/test/lc_num1.awk	2008-12-18 20:57:03.000000000 +0200
@@ -0,0 +1,4 @@
+# Bug reported by Ulrich Drepper.
+BEGIN {
+  printf("%'d %d\n", 1000000, 1000000)
+}
diff -urN gawk-3.1.6/test/lc_num1.ok gawk-3.1.7/test/lc_num1.ok
--- gawk-3.1.6/test/lc_num1.ok	1970-01-01 02:00:00.000000000 +0200
+++ gawk-3.1.7/test/lc_num1.ok	2008-12-18 20:57:03.000000000 +0200
@@ -0,0 +1 @@
+1,000,000 1000000
diff -urN gawk-3.1.6/test/lintold.awk gawk-3.1.7/test/lintold.awk
--- gawk-3.1.6/test/lintold.awk	2007-01-13 21:24:03.000000000 +0200
+++ gawk-3.1.7/test/lintold.awk	2009-06-24 22:30:04.000000000 +0300
@@ -8,7 +8,7 @@
 	if (2 in a)
 	  a[2] **= 2;
 	if ((2,3) in a)
-	  a[2,3] ^= 2 ** 3 ^ 15;
+	  a[2,3] ^= 2 ** 3 ^ 5;
 }
 BEGIN {
 	FS = "ab"
diff -urN gawk-3.1.6/test/match3.awk gawk-3.1.7/test/match3.awk
--- gawk-3.1.6/test/match3.awk	1970-01-01 02:00:00.000000000 +0200
+++ gawk-3.1.7/test/match3.awk	2008-07-31 21:33:00.000000000 +0300
@@ -0,0 +1,46 @@
+# Date: Mon, 28 Jul 2008 17:25:32 +0200
+# From: Dirk Zimoch <dirk.zimoch@psi.ch>
+# Subject: match() prevents numeric strings from beeing treated numerically
+# To: bug-gawk@gnu.org
+# Message-id: <488DE4EC.6020400@psi.ch>
+# 
+# In gawk version 3.1.5, numeric user input that is parsed with match() is not 
+# recognized as "numeric string" any more. I.e. mixed string-numeric comparison 
+# does not work any more. In version 3.1.1, it worked. (Even though the 
+# documentation never explicitly mentioned this behavior for match(), as it does 
+# for split(). But is says that "user input" should be treated that way.)
+# 
+# awk 'BEGIN{match(".5",/.*/,a);print a[0]==.5?"OK":"FAULT"}'
+# 
+# Version 3.1.1 prints OK, version 3.1.5 prints FAULT.
+# 
+# awk '{match($0,/.*/,a);print a[0]==a[0]+0?"OK":"FAULT"}' << EOF
+# 5
+# 5.0
+# 0.5
+# .5
+# EOF
+# 
+# Version 3.1.1 prints
+# OK
+# OK
+# OK
+# OK
+# 
+# Version 3.1.5 prints
+# OK
+# FAULT
+# OK
+# FAULT
+# 
+# 
+# -- 
+# Dr. Dirk Zimoch
+# Paul Scherrer Institut, WBGB/006
+# 5232 Villigen PSI, Switzerland
+# Phone +41 56 310 5182
+# 
+{
+	match($0,/.*/,a)
+	print a[0] == a[0]+0 ? "OK" : "FAULT"
+}
diff -urN gawk-3.1.6/test/match3.in gawk-3.1.7/test/match3.in
--- gawk-3.1.6/test/match3.in	1970-01-01 02:00:00.000000000 +0200
+++ gawk-3.1.7/test/match3.in	2008-07-31 21:33:19.000000000 +0300
@@ -0,0 +1,4 @@
+5
+5.0
+0.5
+.5
diff -urN gawk-3.1.6/test/match3.ok gawk-3.1.7/test/match3.ok
--- gawk-3.1.6/test/match3.ok	1970-01-01 02:00:00.000000000 +0200
+++ gawk-3.1.7/test/match3.ok	2008-07-31 21:33:35.000000000 +0300
@@ -0,0 +1,4 @@
+OK
+OK
+OK
+OK
diff -urN gawk-3.1.6/test/mbfw1.awk gawk-3.1.7/test/mbfw1.awk
--- gawk-3.1.6/test/mbfw1.awk	1970-01-01 02:00:00.000000000 +0200
+++ gawk-3.1.7/test/mbfw1.awk	2008-04-23 22:12:13.000000000 +0300
@@ -0,0 +1,40 @@
+# Date: Sun, 16 Mar 2008 18:51:14 +0100
+# From: Hermann Peifer <peifer@gmx.eu>
+# Subject: [Fwd: Gawk FIELDWIDTHS and multibyte characters]
+# To: bug-gawk@gnu.org
+# Message-id: <47DD5E12.2010403@gmx.eu>
+# 
+# See below. Regards, Hermann
+# 
+# --- Original Message ---
+# 
+# Newsgroups: comp.lang.awk
+# From: Hermann Peifer <peifer@gmx.eu>
+# Date: Sun, 16 Mar 2008 01:23:38 -0700 (PDT)
+# Subject: Gawk FIELDWIDTHS and multibyte characters
+# 
+# Hi,
+# 
+# It looks to me that Gawk's FIELDWIDTHS extension is not aware of
+# multibyte characters, see my example below.
+# 
+# $ cat testdata
+# CDRegion              Commune             Site
+# SEV��stsverige         Hallands l��n        Kungsbacka
+# SESm��land med ��arna   V��stra G��talands l��nG��teborg
+# SEKronoberg           Alvesta             Stenungsund
+# 
+# $ file testdata
+# testdata: UTF-8 Unicode text
+# 
+# $ awk 'BEGIN{FIELDWIDTHS = "2 20 20 20"}{print $4}' testdata
+# Site
+#    Kungsbacka
+#   l��nG��teborg
+# Stenungsund
+# 
+# Can someone confirm?
+# 
+# Hermann
+BEGIN { FIELDWIDTHS = "2 20 20 20" }
+{ print $4 }
diff -urN gawk-3.1.6/test/mbfw1.in gawk-3.1.7/test/mbfw1.in
--- gawk-3.1.6/test/mbfw1.in	1970-01-01 02:00:00.000000000 +0200
+++ gawk-3.1.7/test/mbfw1.in	2008-04-23 22:06:06.000000000 +0300
@@ -0,0 +1,4 @@
+CDRegion              Commune             Site
+SEV��stsverige         Hallands l��n        Kungsbacka
+SESm��land med ��arna   V��stra G��talands l��nG��teborg
+SEKronoberg           Alvesta             Stenungsund
diff -urN gawk-3.1.6/test/mbfw1.ok gawk-3.1.7/test/mbfw1.ok
--- gawk-3.1.6/test/mbfw1.ok	1970-01-01 02:00:00.000000000 +0200
+++ gawk-3.1.7/test/mbfw1.ok	2008-04-23 22:10:37.000000000 +0300
@@ -0,0 +1,4 @@
+Site
+Kungsbacka
+G��teborg
+Stenungsund
diff -urN gawk-3.1.6/test/mbprintf1.awk gawk-3.1.7/test/mbprintf1.awk
--- gawk-3.1.6/test/mbprintf1.awk	1970-01-01 02:00:00.000000000 +0200
+++ gawk-3.1.7/test/mbprintf1.awk	2008-04-23 21:51:38.000000000 +0300
@@ -0,0 +1 @@
+{ printf "%-7s|\n", $0 }
diff -urN gawk-3.1.6/test/mbprintf1.in gawk-3.1.7/test/mbprintf1.in
--- gawk-3.1.6/test/mbprintf1.in	1970-01-01 02:00:00.000000000 +0200
+++ gawk-3.1.7/test/mbprintf1.in	2008-04-23 21:48:33.000000000 +0300
@@ -0,0 +1,2 @@
+AAA
+������
diff -urN gawk-3.1.6/test/mbprintf1.ok gawk-3.1.7/test/mbprintf1.ok
--- gawk-3.1.6/test/mbprintf1.ok	1970-01-01 02:00:00.000000000 +0200
+++ gawk-3.1.7/test/mbprintf1.ok	2008-04-23 21:52:01.000000000 +0300
@@ -0,0 +1,2 @@
+AAA    |
+������    |
diff -urN gawk-3.1.6/test/mbprintf2.awk gawk-3.1.7/test/mbprintf2.awk
--- gawk-3.1.6/test/mbprintf2.awk	1970-01-01 02:00:00.000000000 +0200
+++ gawk-3.1.7/test/mbprintf2.awk	2008-04-23 21:58:09.000000000 +0300
@@ -0,0 +1,4 @@
+BEGIN {
+	printf "%c\n",  65
+	printf "%c\n", "AA"
+}
diff -urN gawk-3.1.6/test/mbprintf2.ok gawk-3.1.7/test/mbprintf2.ok
--- gawk-3.1.6/test/mbprintf2.ok	1970-01-01 02:00:00.000000000 +0200
+++ gawk-3.1.7/test/mbprintf2.ok	2008-04-23 21:58:32.000000000 +0300
@@ -0,0 +1,2 @@
+A
+A
diff -urN gawk-3.1.6/test/mbprintf3.awk gawk-3.1.7/test/mbprintf3.awk
--- gawk-3.1.6/test/mbprintf3.awk	1970-01-01 02:00:00.000000000 +0200
+++ gawk-3.1.7/test/mbprintf3.awk	2008-12-29 22:03:38.000000000 +0200
@@ -0,0 +1 @@
+FNR == 1 { print $0; printf "%s\n", $0 }
diff -urN gawk-3.1.6/test/mbprintf3.in gawk-3.1.7/test/mbprintf3.in
--- gawk-3.1.6/test/mbprintf3.in	1970-01-01 02:00:00.000000000 +0200
+++ gawk-3.1.7/test/mbprintf3.in	2008-12-29 21:00:07.000000000 +0200
@@ -0,0 +1 @@
+COMPONENT suspended particulates <10 �m (air), day
diff -urN gawk-3.1.6/test/mbprintf3.ok gawk-3.1.7/test/mbprintf3.ok
--- gawk-3.1.6/test/mbprintf3.ok	1970-01-01 02:00:00.000000000 +0200
+++ gawk-3.1.7/test/mbprintf3.ok	2008-12-29 22:44:59.000000000 +0200
@@ -0,0 +1,2 @@
+COMPONENT suspended particulates <10 �m (air), day
+COMPONENT suspended particulates <10 �m (air), day
diff -urN gawk-3.1.6/test/mbstr1.awk gawk-3.1.7/test/mbstr1.awk
--- gawk-3.1.6/test/mbstr1.awk	1970-01-01 02:00:00.000000000 +0200
+++ gawk-3.1.7/test/mbstr1.awk	2008-12-11 21:33:21.000000000 +0200
@@ -0,0 +1,4 @@
+BEGIN {
+	print length("\x81\x82\x83\x84")
+	print index("\x81\x82\x83\x84", "\x81\x82")
+}
diff -urN gawk-3.1.6/test/mbstr1.ok gawk-3.1.7/test/mbstr1.ok
--- gawk-3.1.6/test/mbstr1.ok	1970-01-01 02:00:00.000000000 +0200
+++ gawk-3.1.7/test/mbstr1.ok	2008-12-11 21:33:31.000000000 +0200
@@ -0,0 +1,2 @@
+4
+1
diff -urN gawk-3.1.6/test/ovrflow1.awk gawk-3.1.7/test/ovrflow1.awk
--- gawk-3.1.6/test/ovrflow1.awk	2006-08-11 15:52:23.000000000 +0300
+++ gawk-3.1.7/test/ovrflow1.awk	1970-01-01 02:00:00.000000000 +0200
@@ -1,82 +0,0 @@
-# From arnold@f7.net  Thu Dec 15 08:57:08 2005
-# Return-Path: <arnold@f7.net>
-# Received: from localhost (skeeve [127.0.0.1])
-# 	by skeeve.com (8.12.11/8.12.11) with ESMTP id jBF6ubXX003003
-# 	for <arnold@localhost>; Thu, 15 Dec 2005 08:57:08 +0200
-# Received: from pop.012.net.il [84.95.5.221]
-# 	by localhost with POP3 (fetchmail-6.2.5)
-# 	for arnold@localhost (single-drop); Thu, 15 Dec 2005 08:57:08 +0200 (IST)
-# Received: from mtain3.012.net.il ([10.220.5.7])
-#  by i_mss3.012.net.il (HyperSendmail v2004.12)
-#  with ESMTP id <0IRI007F9SHYRDF0@i_mss3.012.net.il> for arobbins@012.net.il;
-#  Thu, 15 Dec 2005 05:32:22 +0200 (IST)
-# Received: from i_mtain1.012.net.il ([10.220.20.4])
-#  by i_mtain3.012.net.il (HyperSendmail v2004.12)
-#  with ESMTP id <0IRI00CUNSHXU5D0@i_mtain3.012.net.il> for arobbins@012.net.il
-#  (ORCPT arobbins@012.net.il); Thu, 15 Dec 2005 05:32:22 +0200 (IST)
-# Received: from f7.net ([64.34.169.74])
-#  by i_mtain1.012.net.il (HyperSendmail v2004.12)
-#  with ESMTP id <0IRI005JEPNHIG00@i_mtain1.012.net.il> for arobbins@012.net.il;
-#  Thu, 15 Dec 2005 04:30:54 +0200 (IST)
-# Received: (from arnold@localhost)	by f7.net (8.11.7-20030920/8.11.7)
-#  id jBF2TkQ18162	for arobbins@012.net.il; Wed, 14 Dec 2005 20:29:46 -0600
-# Received: from fencepost.gnu.org (fencepost.gnu.org [199.232.76.164])
-# 	by f7.net (8.11.7-20030920/8.11.7) with ESMTP id jBF2Tis18148	for
-#  <arnold@skeeve.com>; Wed, 14 Dec 2005 20:29:44 -0600
-# Received: from monty-python.gnu.org ([199.232.76.173])
-# 	by fencepost.gnu.org with esmtp (Exim 4.34)
-# 	id 1Emir1-0007i6-1e	for bug-gawk@gnu.org; Wed, 14 Dec 2005 21:28:23 -0500
-# Received: from Debian-exim by monty-python.gnu.org with spam-scanned
-#  (Exim 4.34)	id 1Emiv6-0006FV-9G	for bug-gawk@gnu.org; Wed,
-#  14 Dec 2005 21:32:37 -0500
-# Received: from [129.99.139.165] (helo=ece03.nas.nasa.gov)
-# 	by monty-python.gnu.org with esmtp (TLS-1.0:DHE_RSA_3DES_EDE_CBC_SHA:24)
-# 	(Exim 4.34)	id 1Emiv5-0006F0-UO	for bug-gawk@gnu.org; Wed,
-#  14 Dec 2005 21:32:36 -0500
-# Received: from ece03.nas.nasa.gov (localhost.localdomain [127.0.0.1])
-# 	by ece03.nas.nasa.gov (8.12.11/8.12.11) with ESMTP id jBF2TcNa022308; Wed,
-#  14 Dec 2005 18:29:38 -0800
-# Received: (from ellswort@localhost)
-# 	by ece03.nas.nasa.gov (8.12.11/8.12.11/Submit) id jBF2TcQC022307; Wed,
-#  14 Dec 2005 18:29:38 -0800
-# Date: Wed, 14 Dec 2005 18:29:38 -0800
-# From: David Ellsworth <ellswort@nas.nasa.gov>
-# Subject: gawk number to string bug
-# To: bug-gawk@gnu.org
-# Cc: ellswort@nas.nasa.gov
-# Message-id: <200512150229.jBF2TcQC022307@ece03.nas.nasa.gov>
-# Original-recipient: rfc822;arobbins@012.net.il
-# X-Spam-Checker-Version: SpamAssassin 2.63 (2004-01-11) on skeeve.com
-# X-Spam-Level: 
-# X-Spam-Status: No, hits=-4.9 required=5.0 tests=BAYES_00 autolearn=ham 
-# 	version=2.63
-# 
-# 
-# I ran into a bug in how gawk converts numbers into strings.  
-# 
-# Running the program
-   BEGIN { print 9223372036854775808 }
-# prints
-#   -9223372036854775808
-# on a 64-bit machine.  On a 32-bit machine, the same program prints out
-#   9.22337e+18
-# which is correct.
-# 
-# Note that 9223372036854775808 == 2^63.  Printing out other powers of 2
-# is OK.
-# 
-# Version details:
-#   gawk version 3.1.5, freshly downloaded from gnu.org
-#   gcc (GCC) 3.4.4 (Gentoo 3.4.4-r1, ssp-3.4.4-1.0, pie-8.7.8)
-#   uname -a output:
-#     Linux pixie 2.6.12-gentoo-r10 #2 SMP Tue Nov 1 03:42:22 PST 2005
-#     x86_64 Dual Core AMD Opteron(tm) Processor 275 AuthenticAMD GNU/Linux
-# 
-# (the 32-bit example used gawk version 3.1.3)
-# 
-# - David
-# 
-# 
-# #####################################################################################
-# This Mail Was Scanned by 012.net AntiVirus Service4- Powered by TrendMicro Interscan
-#
diff -urN gawk-3.1.6/test/ovrflow1.ok gawk-3.1.7/test/ovrflow1.ok
--- gawk-3.1.6/test/ovrflow1.ok	2007-02-20 22:33:55.000000000 +0200
+++ gawk-3.1.7/test/ovrflow1.ok	1970-01-01 02:00:00.000000000 +0200
@@ -1 +0,0 @@
-9223372036854775808
diff -urN gawk-3.1.6/test/paramres.awk gawk-3.1.7/test/paramres.awk
--- gawk-3.1.6/test/paramres.awk	1970-01-01 02:00:00.000000000 +0200
+++ gawk-3.1.7/test/paramres.awk	2009-05-15 14:36:54.000000000 +0300
@@ -0,0 +1,6 @@
+BEGIN { foo() }
+
+function foo(a, FS, q)
+{
+	print "a =", a
+}
diff -urN gawk-3.1.6/test/paramres.ok gawk-3.1.7/test/paramres.ok
--- gawk-3.1.6/test/paramres.ok	1970-01-01 02:00:00.000000000 +0200
+++ gawk-3.1.7/test/paramres.ok	2009-05-15 14:38:46.000000000 +0300
@@ -0,0 +1,2 @@
+gawk: paramres.awk:7: fatal: function `foo': can't use special variable `FS' as a function parameter
+EXIT CODE: 2
diff -urN gawk-3.1.6/test/printfbad2.awk gawk-3.1.7/test/printfbad2.awk
--- gawk-3.1.6/test/printfbad2.awk	1970-01-01 02:00:00.000000000 +0200
+++ gawk-3.1.7/test/printfbad2.awk	2009-06-24 05:38:20.000000000 +0300
@@ -0,0 +1,2 @@
+BEGIN { FS = "a" }
+{ printf ($2 "\n") }
diff -urN gawk-3.1.6/test/printfbad2.in gawk-3.1.7/test/printfbad2.in
--- gawk-3.1.6/test/printfbad2.in	1970-01-01 02:00:00.000000000 +0200
+++ gawk-3.1.7/test/printfbad2.in	2009-03-27 10:53:56.000000000 +0300
@@ -0,0 +1 @@
+a%28b%29%c
diff -urN gawk-3.1.6/test/printfbad2.ok gawk-3.1.7/test/printfbad2.ok
--- gawk-3.1.6/test/printfbad2.ok	1970-01-01 02:00:00.000000000 +0200
+++ gawk-3.1.7/test/printfbad2.ok	2009-06-24 05:38:25.000000000 +0300
@@ -0,0 +1,3 @@
+gawk: printfbad2.awk:2: (FILENAME=printfbad2.in FNR=1) warning: ignoring unknown format specifier character `b': no argument converted
+gawk: printfbad2.awk:2: (FILENAME=printfbad2.in FNR=1) warning: field width is ignored for `%%' specifier
+%28b%c
diff -urN gawk-3.1.6/test/uparrfs.awk gawk-3.1.7/test/uparrfs.awk
--- gawk-3.1.6/test/uparrfs.awk	1970-01-01 02:00:00.000000000 +0200
+++ gawk-3.1.7/test/uparrfs.awk	2009-02-03 22:07:52.000000000 +0200
@@ -0,0 +1,8 @@
+BEGIN {
+	FS = "(^x+)|( +)"
+}
+	
+{
+	for (i = 1; i <= NF; i++)
+		printf "-->%s<--\n", $i
+}
diff -urN gawk-3.1.6/test/uparrfs.in gawk-3.1.7/test/uparrfs.in
--- gawk-3.1.6/test/uparrfs.in	1970-01-01 02:00:00.000000000 +0200
+++ gawk-3.1.7/test/uparrfs.in	2009-02-03 22:07:01.000000000 +0200
@@ -0,0 +1 @@
+xxAA  xxBxx  C
diff -urN gawk-3.1.6/test/uparrfs.ok gawk-3.1.7/test/uparrfs.ok
--- gawk-3.1.6/test/uparrfs.ok	1970-01-01 02:00:00.000000000 +0200
+++ gawk-3.1.7/test/uparrfs.ok	2009-02-03 22:08:03.000000000 +0200
@@ -0,0 +1,4 @@
+--><--
+-->AA<--
+-->xxBxx<--
+-->C<--
diff -urN gawk-3.1.6/unsupported/atari/ChangeLog gawk-3.1.7/unsupported/atari/ChangeLog
--- gawk-3.1.6/unsupported/atari/ChangeLog	2007-10-22 08:49:56.000000000 +0200
+++ gawk-3.1.7/unsupported/atari/ChangeLog	2009-07-21 22:30:04.000000000 +0300
@@ -1,3 +1,7 @@
+Tue Jul 21 22:28:56 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* Release 3.1.7: Release tar file made.
+
 Mon Oct 22 08:49:05 2007  Arnold D. Robbins  <arnold@skeeve.com>
 
 	* Release 3.1.6: Release tar file made.
diff -urN gawk-3.1.6/unsupported/tandem/ChangeLog gawk-3.1.7/unsupported/tandem/ChangeLog
--- gawk-3.1.6/unsupported/tandem/ChangeLog	2007-10-22 08:50:01.000000000 +0200
+++ gawk-3.1.7/unsupported/tandem/ChangeLog	2009-07-21 22:30:11.000000000 +0300
@@ -1,3 +1,7 @@
+Tue Jul 21 22:28:56 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* Release 3.1.7: Release tar file made.
+
 Mon Oct 22 08:49:05 2007  Arnold D. Robbins  <arnold@skeeve.com>
 
 	* Release 3.1.6: Release tar file made.
diff -urN gawk-3.1.6/version.c gawk-3.1.7/version.c
--- gawk-3.1.6/version.c	2007-10-22 08:53:00.000000000 +0200
+++ gawk-3.1.7/version.c	2009-07-21 22:30:29.000000000 +0300
@@ -1,6 +1,6 @@
 #include "config.h"
 
-const char *version_string = "@(#)GNU Awk 3.1.6";
+const char *version_string = "@(#)GNU Awk 3.1.7";
 
 /* 1.02		fixed /= += *= etc to return the new Left Hand Side instead
 		of the Right Hand Side */
diff -urN gawk-3.1.6/vms/ChangeLog gawk-3.1.7/vms/ChangeLog
--- gawk-3.1.6/vms/ChangeLog	2007-10-22 08:50:50.000000000 +0200
+++ gawk-3.1.7/vms/ChangeLog	2009-07-21 22:30:40.000000000 +0300
@@ -1,3 +1,51 @@
+Tue Jul 21 22:28:56 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	* Release 3.1.7: Release tar file made.
+
+Wed Jul  8 18:59:22 2009  Pat Rankin  <rankin@pactechdata.com>
+
+	* vmstest.com (charset_tests): New list; move various tests from
+	basic and gawk_ext lists.
+	(fmtspcl): Move to machine_tests list.
+	(lc_num1, mbfw1, mbprintf1, rsstart3): Skip these failing tests.
+	(double1, double2): Likewise.
+
+Mon Jun 22 00:51:17 2009  Pat Ranin  <rankin@pactechdata.com>
+
+	* vms_misc.c (vms_open): Explicitly specify "rat=cr" to force
+	carriage-return-carraige-control record attribute along with
+	stmlf foramt.  gawk failed on an internal redirection attempt
+	(``print anything > file'') if an earlier version of the output
+	file existed with conflicting attributes and the program was
+	built using DECC$SHR run-time library rather than VAXCRTL.
+
+	* vmstest.com: Add over 70 new tests.  Overhaul how lists of
+	tests are specified and executed.  Make many similar tests run
+	with shared commands instead of maintaining separate code for
+	each one.  Put output for 'test' into "_'test'.tmp" instead of
+	"tmp." so that it's easier to investigate if/when multiple test
+	failures occur in the same run.
+	(vms_io2): New test to check the ``print anything > file'' fix.
+
+Wed Mar 18 18:16:50 2009	Pat Rankin	<rankin@pactechdata.com>
+
+	* vms-conf.h (EXIT_SUCCESS, EXIT_FAILURE): Define #if !HAVE_STDLIB_H.
+	(EXIT_FATAL): Define.
+
+Mon Mar 16 19:09:27 2009	Pat Rankin	<rankin@pactechdata.com>
+
+	* vms-conf.h: Synchronize with configh.in,
+	(HAVE_ATEXIT): Define.
+
+Tue Jan 27 21:49:53 2009  Arnold D. Robbins  <arnold@skeeve.com>
+
+	Per Pat Rankin based on changes to awk.h and change in main code
+	to use EXIT_SUCCESS / EXIT_FAILURE from Toni Schilling
+	<Schilling@equicon.de>.
+
+	* redirect.h (exit): Remove definition.
+	* vms_misc.c (vms_exit): Remove code.
+
 Mon Oct 22 08:49:05 2007  Arnold D. Robbins  <arnold@skeeve.com>
 
 	* Release 3.1.6: Release tar file made.
diff -urN gawk-3.1.6/vms/descrip.mms gawk-3.1.7/vms/descrip.mms
--- gawk-3.1.6/vms/descrip.mms	2007-04-06 13:29:37.000000000 +0300
+++ gawk-3.1.7/vms/descrip.mms	2009-07-09 22:42:39.000000000 +0300
@@ -128,7 +128,7 @@
 
 # Release of gawk
 REL=3.1
-PATCHLVL=5
+PATCHLVL=7
 
 # generic target
 all : gawk,pgawk
diff -urN gawk-3.1.6/vms/redirect.h gawk-3.1.7/vms/redirect.h
--- gawk-3.1.6/vms/redirect.h	2007-08-11 22:40:06.000000000 +0300
+++ gawk-3.1.7/vms/redirect.h	2009-01-27 21:49:45.000000000 +0200
@@ -79,7 +79,6 @@
 #ifndef bcopy
 #define bcopy		vms_bcopy
 #endif
-#define exit		vms_exit
 #define open		vms_open
 #define popen		vms_popen
 #define pclose		vms_pclose
diff -urN gawk-3.1.6/vms/vms-conf.h gawk-3.1.7/vms/vms-conf.h
--- gawk-3.1.6/vms/vms-conf.h	2007-08-11 22:40:06.000000000 +0300
+++ gawk-3.1.7/vms/vms-conf.h	2009-07-09 22:42:53.000000000 +0300
@@ -7,7 +7,7 @@
  */
 
 /* 
- * Copyright (C) 1991-1992, 1995-1996, 1999, 2001, 2002, 2003, 2005
+ * Copyright (C) 1991-1992, 1995-1996, 1999, 2001, 2002, 2003, 2005, 2009
  * the Free Software Foundation, Inc.
  * 
  * This file is part of GAWK, the GNU implementation of the
@@ -65,6 +65,9 @@
 /* Define to 1 if you have the <arpa/inet.h> header file. */
 #undef HAVE_ARPA_INET_H
 
+/* Define to 1 if you have the `atexit' function. */
+#define HAVE_ATEXIT 1
+
 /* Define to 1 if you have the `btowc' function. */
 #undef HAVE_BTOWC
 
@@ -381,13 +384,13 @@
 #define PACKAGE_NAME "GNU Awk"
 
 /* Define to the full name and version of this package. */
-#define PACKAGE_STRING "GNU Awk 3.1.6"
+#define PACKAGE_STRING "GNU Awk 3.1.7"
 
 /* Define to the one symbol short name of this package. */
 #define PACKAGE_TARNAME "gawk"
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "3.1.6"
+#define PACKAGE_VERSION "3.1.7"
 
 /* Define to 1 if *printf supports %F format */
 #undef PRINTF_HAS_F_FORMAT
@@ -637,6 +640,14 @@
 #undef  REGEX_MALLOC	/* use true alloca() in regex.c */
 #endif
 
+/* EXIT_SUCCESS and EXIT_FAILURE normally come from <stdlib.h> */
+#ifndef HAVE_STDLIB_H
+# define EXIT_SUCCESS	1		/* SYS$_NORMAL */
+# define EXIT_FAILURE	0x10000002	/* STS$M_INHIB_MSG|STS$K_ERROR */
+#endif
+/* EXIT_FATAL is specific to gawk, not part of Standard C */
+#define EXIT_FATAL	0x10000004	/* STS$M_INHIB_MSG|STS$K_SEVERE */
+
 #define IN_CONFIG_H
 #include "vms/redirect.h"
 #undef  IN_CONFIG_H
diff -urN gawk-3.1.6/vms/vms_misc.c gawk-3.1.7/vms/vms_misc.c
--- gawk-3.1.6/vms/vms_misc.c	2006-08-11 15:05:48.000000000 +0300
+++ gawk-3.1.7/vms/vms_misc.c	2009-06-23 05:35:47.000000000 +0300
@@ -1,6 +1,6 @@
 /* vms_misc.c -- sustitute code for missing/different run-time library routines.
 
-   Copyright (C) 1991-1993, 1996-1997, 2001, 2003 the Free Software Foundation, Inc.
+   Copyright (C) 1991-1993, 1996-1997, 2001, 2003, 2009 the 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
@@ -29,21 +29,6 @@
 #include <stsdef.h>
 
     /*
-     * VMS uses a completely different status scheme (odd => success,
-     * even => failure), so we'll trap calls to exit() and alter the
-     * exit status code.  [VAXC can't handle this as a macro.]
-     */
-#ifdef exit
-# undef exit
-#endif
-void
-vms_exit( int final_status )
-{
-    exit(final_status == 0 ? SS$_NORMAL : (SS$_ABORT | STS$M_INHIB_MSG));
-}
-#define exit(v) vms_exit(v)
-
-    /*
      * In VMS's VAXCRTL, strerror() takes an optional second argument.
      *  #define strerror(errnum) strerror(errnum,vaxc$errno)
      * is all that's needed, but VAXC can't handle that (gcc can).
@@ -124,7 +109,12 @@
     if (mode == (O_WRONLY|O_CREAT|O_TRUNC)) {
 	/* explicitly force stream_lf record format to override DECC$SHR's
 	   defaulting of RFM to earlier file version's when one is present */
-	result = creat(name, 0, "rfm=stmlf", "shr=nil", "mbc=32");
+	/* 3.1.7 fix: letting record attibutes default resulted in DECC$SHR's
+	   creat() failing with "invalid record attributes" when trying to
+	   make a new version of an existing file which had rfm=vfc,rat=prn
+	   format, so add explicit "rat=cr" to go with rfm=stmlf to force
+	   the usual "carriage return carriage control" setting */
+	result = creat(name, 0, "rfm=stmlf", "rat=cr", "shr=nil", "mbc=32");
     } else {
 	struct stat stb;
 	const char *mbc, *shr = "shr=get", *ctx = "ctx=stm";
diff -urN gawk-3.1.6/vms/vmsbuild.com gawk-3.1.7/vms/vmsbuild.com
--- gawk-3.1.6/vms/vmsbuild.com	2007-06-04 01:10:57.000000000 +0300
+++ gawk-3.1.7/vms/vmsbuild.com	2009-07-09 22:42:28.000000000 +0300
@@ -10,7 +10,7 @@
 $!						gawk 3.1.6 revised, Mar'07
 $!
 $ REL = "3.1"	!release version number
-$ PATCHLVL = "6"
+$ PATCHLVL = "7"
 $!
 $!
 $ CCFLAGS = "/noList"	! "/noOpt/Debug"
diff -urN gawk-3.1.6/vms/vmstest.com gawk-3.1.7/vms/vmstest.com
--- gawk-3.1.6/vms/vmstest.com	2007-04-30 05:39:23.000000000 +0300
+++ gawk-3.1.7/vms/vmstest.com	2009-07-10 09:48:31.000000000 +0300
@@ -4,146 +4,322 @@
 $!  $ set default [-.test]
 $!  $ @[-.vms]vmstest.com bigtest
 $! This assumes that newly built gawk.exe is in the next directory up.
+$
+$! 3.1.7:  changed to share code among many common tests, and
+$!	   to put results for test foo into _foo.tmp instead of tmp.
 $!
 $	echo	= "write sys$output"
 $	cmp	= "diff/Output=_NL:/Maximum=1"
+$	igncascmp = "''cmp'/Ignore=Case"
 $	rm	= "delete/noConfirm/noLog"
+$	mv	= "rename/New_Vers"
 $	gawk = "$sys$disk:[-]gawk"
 $	AWKPATH_srcdir = "define/User AWKPATH sys$disk:[]"
 $
-$	if p1.eqs."" then  p1 = "bigtest"
-$	gosub 'p1'
-$	if p2.nes."" then  gosub 'p2'
-$	if p3.nes."" then  gosub 'p3'
-$	if p4.nes."" then  gosub 'p4'
-$	if p5.nes."" then  gosub 'p5'
-$	if p6.nes."" then  gosub 'p6'
-$	if p7.nes."" then  gosub 'p7'
-$	if p8.nes."" then  gosub 'p8'
+$	listdepth = 0
+$	pipeok = 0
+$	floatmode = -1	! 0: D_float, 1: G_float, 2: IEEE T_float
+$
+$	list = p1+" "+p2+" "+p3+" "+p4+" "+p5+" "+p6+" "+p7+" "+p8
+$	list = f$edit(list,"TRIM,LOWERCASE")
+$	if list.eqs."" then  list = "all"	! bigtest
+$	gosub list_of_tests
+$	echo "done."
 $	exit
 $
 $all:
-$bigtest:	bigtest_list = "basic unix_tests gawk_ext vms_tests"
-$		echo "bigtest..."
-$bigtest_loop:	bigtest_test = f$element(0," ",bigtest_list)
-$		bigtest_list = bigtest_list - bigtest_test - " "
-$		if bigtest_test.nes." " then  gosub 'bigtest_test'
-$		if bigtest_list.nes.""	then  goto   bigtest_loop
+$bigtest:	echo "bigtest..."
+$		! omits "printlang" and "extra"
+$		list = "basic unix_tests gawk_ext vms_tests charset_tests machine_tests"
+$		gosub list_of_tests
+$		return
+$
+$basic:		echo "basic..."
+$		list = "msg addcomma anchgsub argarray arrayparm arrayref" -
+		  + " arrymem1 arrayprm2 arrayprm3 arryref2 arryref3" -
+		  + " arryref4 arryref5 arynasty arynocls aryprm1 aryprm2" -
+		  + " aryprm3 aryprm4 aryprm5 aryprm6 aryprm7 aryprm8" -
+		  + " arysubnm asgext awkpath back89 backgsub childin" -
+		  + " clobber closebad clsflnam compare compare2 concat1"
+$		gosub list_of_tests
+$		list = "concat2 concat3 concat4 convfmt datanonl defref" -
+		  + " delarprm delarpm2 delfunc dynlj eofsplit exitval1" -
+		  + " exitval2 fldchg fldchgnf fnamedat" -
+		  + " fnarray fnarray2 fnaryscl fnasgnm fnmisc" -
+		  + " fordel forsimp fsbs fsspcoln fsrs fstabplus" -
+		  + " funsemnl funsmnam funstack getline getline2 getline3"
+$		gosub list_of_tests
+$		list = "getlnbuf getnr2tb getnr2tm gsubasgn gsubtest" -
+		  + " gsubtst2 gsubtst3 gsubtst4 gsubtst5 gsubtst6 hex" -
+		  + " hsprint inputred intest intprec iobug1" -
+		  + " leaddig leadnl litoct longsub longwrds"-
+		  + " manglprm math membug1 messages minusstr mmap8k" -
+		  + " mtchi18n nasty nasty2 negexp nested nfldstr nfneg"
+$		gosub list_of_tests
+$		list = "nfset nlfldsep nlinstr nlstrina noeffect nofile" -
+		  + " nofmtch noloop1 noloop2 nonl noparms nors nulrsend" -
+		  + " numindex numsubstr octsub ofmt ofmtbig ofmtfidl" -
+		  + " ofmts onlynl opasnidx opasnslf paramdup" -
+		  + " paramres paramtyp parse1 parsefld parseme pcntplus" -
+		  + " prdupval prec printf0 printf1 prmarscl prmreuse"
+$		gosub list_of_tests
+$		list = "prt1eval prtoeval psx96sub rand rebt8b1" -
+		  + " redfilnm regeq reindops reparse resplit rs rsnul1nl" -
+		  + " rsnulbig rsnulbig2 rstest1 rstest2 rstest3 rstest4" -
+		  + " rstest5 rswhite scalar sclforin sclifin sortempty" -
+		  + " splitargv splitarr splitdef splitvar splitwht" -
+		  + " strcat1 strtod strnum1 subamp subi18n"
+$		gosub list_of_tests
+$		list = "subsepnm subslash substr swaplns synerr1 synerr2" -
+		  + " tradanch tweakfld uninit2 uninit3 uninit4 uninitialized" -
+		  + " unterm uparrfs wideidx wideidx2 widesub widesub2" -
+		  + " widesub3 widesub4 wjposer1 zeroe0 zeroflag zero2"
+$		gosub list_of_tests
 $		return
 $
-$basic:		basic_lst1 = "msg swaplns messages argarray longwrds" -
-		  + " getline2 fstabplus compare arrayref rs fsrs rand" -
-		  + " fsbs negexp asgext anchgsub splitargv awkpath nfset" -
-		  + " reparse convfmt arrayparm paramdup nonl defref" -
-		  + " nofmtch litoct resplit rswhite prmarscl sclforin" -
-		  + " sclifin intprec childin noeffect numsubstr pcntplus" -
-		  + " prmreuse math fldchg fldchgnf reindops sprintfc" -
-		  + " backgsub tweakfld clsflnam mmap8k fnarray dynlj" -
-		  + " substr eofsplit prt1eval splitwht back89 tradanch"
-$		basic_lst2 = "nlfldsep splitvar intest nfldstr nors" -
-		  + " fnarydel noparms funstack clobber delarprm prdupval" -
-		  + " nasty nasty2 zeroflag getnr2tm getnr2tb printf1" -
-		  + " funsmnam fnamedat numindex subslash opasnslf" -
-		  + " opasnidx arynocls getlnbuf arysubnm fnparydl" -
-		  + " nlstrina octsub nlinstr ofmt hsprint ofmts parseme" -
-		  + " splitdef fnaryscl fnasgnm ofmtbig paramtyp rsnul1nl" -
-		  + " datanonl regeq redfilnm strtod leaddig arynasty" -
-		  + " psx96sub addcomma"
-$		basic_lst3 = "rebt8b1 rebt8b2 leadnl funsemnl ofmtfidl" -
-		  + " onlynl arrymem1 compare2 minusstr membug1 forsimp" -
-		  + " concat1 longsub arrayprm2 arrayprm3 arryref2" -
-		  + " arryref3 arryref4 arryref5 aryprm1 aryprm2 aryprm3" -
-		  + " aryprm4 aryprm5 aryprm6 aryprm7 aryprm8 concat2" -
-		  + " concat3 delarpm2 delfunc exitval2 fmttest fnarray2" -
-		  + " fnmisc fordel getline getline3 gsubasgn gsubtest" -
-		  + " gsubtst2 gsubtst4 gsubtst5 hex inputred iobug1"
-$		basic_lst4 = "manglprm nested nfneg noloop1 noloop2" -
-		  + " nulrsend prec prtoeval rstest1 rstest2 rstest3" -
-		  + " rstest4 rstest5 scalar sortempty splitarr strcat1" -
-		  + " subsepnm synerr1 uninit2 uninit3 uninit4" -
-		  + " uninitialized unterm wjposer1 zeroe0"
-$		echo "basic..."
-$basic_loop1:	basic_test = f$element(0," ",basic_lst1)
-$		basic_lst1 = basic_lst1 - basic_test - " "
-$		if basic_test.nes." " then  gosub 'basic_test'
-$		if basic_lst1.nes.""  then  goto   basic_loop1
-$basic_loop2:	basic_test = f$element(0," ",basic_lst2)
-$		basic_lst2 = basic_lst2 - basic_test - " "
-$		if basic_test.nes." " then  gosub 'basic_test'
-$		if basic_lst2.nes.""  then  goto   basic_loop2
-$basic_loop3:	basic_test = f$element(0," ",basic_lst3)
-$		basic_lst3 = basic_lst3 - basic_test - " "
-$		if basic_test.nes." " then  gosub 'basic_test'
-$		if basic_lst3.nes.""  then  goto   basic_loop3
-$basic_loop4:	basic_test = f$element(0," ",basic_lst4)
-$		basic_lst4 = basic_lst4 - basic_test - " "
-$		if basic_test.nes." " then  gosub 'basic_test'
-$		if basic_lst4.nes.""  then  goto   basic_loop4
+$unix:
+$unix_tests:	echo "unix_tests..."
+$		list = "fflush getlnhd localenl pid pipeio1 pipeio2" -
+		  + " poundbang space strftlng"
+$		gosub list_of_tests
 $		return
 $
-$unix_tests:	unix_tst_list = "fflush getlnhd pid pipeio1" -
-		  + " pipeio2 poundbang strftlng"
-$		echo "unix_tests..."
-$unix_tst_loop: unix_tst_test = f$element(0," ",unix_tst_list)
-$		unix_tst_list = unix_tst_list - unix_tst_test - " "
-$		if unix_tst_test.nes." " then  gosub 'unix_tst_test'
-$		if unix_tst_list.nes.""  then  goto   unix_tst_loop
+$gnu:
+$gawk_ext:	echo "gawk_ext... (gawk.extensions)"
+$		list = "argtest backw badargs binmode1" -
+		  + " clos1way devfd devfd1 devfd2" -
+		  + " fieldwdth funlen fsfwfs fwtest fwtest2 gensub" -
+		  + " gensub2 getlndir gnuops2 gnuops3 gnureops icasefs" -
+		  + " icasers igncdym igncfs ignrcase ignrcas2 lint"
+$		gosub list_of_tests
+$		list = "lintold match1 match2 match3 manyfiles" -
+		  + " mbprintf3 mbstr1" -
+		  + " nondec nondec2 posix procinfs printfbad1" -
+		  + " printfbad2 regx8bit rebuf reint reint2 rsstart1" -
+		  + " rsstart2 rsstart3 rstest6 shadow strtonum strftime"
+$		gosub list_of_tests
 $		return
 $
-$gawk_ext:	gawk_ext_list = "argtest badargs clos1way fieldwdth" -
-		  + " fsfwfs gensub gnuops2 gnureops igncdym igncfs" -
-		  + " ignrcase lint manyfiles nondec posix procinfs" -
-		  + " regx8bit reint shadow sort1 strftime"
-$		echo "gawk_ext... (gawk.extensions)"
-$gawk_ext_loop: gawk_ext_test = f$element(0," ",gawk_ext_list)
-$		gawk_ext_list = gawk_ext_list - gawk_ext_test - " "
-$		if gawk_ext_test.nes." " then  gosub 'gawk_ext_test'
-$		if gawk_ext_list.nes.""  then  goto   gawk_ext_loop
+$vms:
+$vms_tests:	echo "vms_tests..."
+$		list = "vms_cmd vms_io1 vms_io2"
+$		gosub list_of_tests
 $		return
 $
-$vms_tests:	vms_tst_list = "vms_io1 vms_cmd"
-$		echo "vms_tests..."
-$vms_tst_loop: vms_tst_test = f$element(0," ",vms_tst_list)
-$		vms_tst_list = vms_tst_list - vms_tst_test - " "
-$		if vms_tst_test.nes." " then  gosub 'vms_tst_test'
-$		if vms_tst_list.nes.""  then  goto   vms_tst_loop
+$locale_tests:
+$charset_tests:	echo "charset_tests..."
+$		! without i18n kit, VMS only supports the C locale
+$		! and several of these fail
+$		list = "asort asorti fmttest fnarydel fnparydl lc_num1 mbfw1" -
+		  + " mbprintf1 mbprintf2 rebt8b2 sort1 sprintfc whiny"
+$		gosub list_of_tests
 $		return
 $
-$extra:		extra_list = "regtest inftest inet"
-$		echo "extra..."
-$extra_loop: extra_test = f$element(0," ",extra_list)
-$		extra_list = extra_list - extra_test - " "
-$		if extra_test.nes." " then  gosub 'extra_test'
-$		if extra_list.nes.""  then  goto   extra_loop
+$hardware:
+$machine_tests:	echo "machine_tests..."
+$		! these depend upon the floating point format in use
+$		list = "double1 double2 fmtspcl intformat"
+$		gosub list_of_tests
 $		return
 $
-$inet:		inet_list = "inetechu inetecht inetdayu inetdayt"
-$		echo "inet..."
+$extra:		echo "extra..."
+$		list = "regtest inftest inet"
+$		gosub list_of_tests
+$		return
+$
+$inet:		echo "inet..."
 $		type sys$input:
- The inet tests only work if gawk has been built with tcp/ip socket
+ The inet tests only work if gawk has been built with TCP/IP socket
  support and your system supports the services "discard" at port 9
  and "daytimed" at port 13.
-$inet_loop: inet_test = f$element(0," ",inet_list)
-$		inet_list = inet_list - inet_test - " "
-$		if inet_test.nes." " then  gosub 'inet_test'
-$		if inet_list.nes.""  then  goto   inet_loop
+$		list = "inetechu inetecht inetdayu inetdayt"
+$		gosub list_of_tests
 $		return
 $
-$poundbang:
-$	echo "poundbang:  useless for VMS, so skipped"
+$! list_of_tests: process 'list', a space-separated list of tests.
+$! Some tests assign their own 'list' and call us recursively,
+$! so we have to emulate a local stack to prevent the current list
+$! from being clobbered by nested execution.  We do this by making
+$! and operating on list1, list2, &c depending upon call depth.
+$! Lower level tests access higher numbered entries; the lower
+$! entries in use by caller or caller's caller are kept intact.
+$list_of_tests:
+$		listdepth = listdepth + 1	! increment calling depth
+$		list'listdepth' = f$edit(list,"COMPRESS,TRIM")
+$next_test:
+$		test = f$element(0," ",list'listdepth')
+$		list'listdepth' = list'listdepth' - test - " "
+$		gosub 'test'
+$		if list'listdepth'.nes.""  then  goto next_test
+$		listdepth = listdepth - 1	! reset
+$		return
+$
+$
+$! common tests, not needing special set up: gawk -f 'test'.awk 'test'.in
+$addcomma:
+$anchgsub:
+$arrayprm2:
+$arryref2:
+$aryprm8:
+$asgext:
+$backgsub:
+$backw:
+$concat1:
+$concat2:
+$concat3:
+$datanonl:
+$delarpm2:
+$fldchg:
+$fldchgnf:
+$fmttest:
+$fordel:
+$fsfwfs:
+$fsrs:
+$funlen:
+$funstack:
+$fwtest:
+$fwtest2:
+$gensub:
+$getline3:
+$getnr2tb:
+$getnr2tm:
+$gsubtest:
+$gsubtst2:
+$gsubtst4:
+$gsubtst5:
+$hex:
+$icasers:
+$igncfs:
+$igncdym:
+$inputred:
+$leadnl:
+$manglprm:
+$match3:
+$membug1:
+$nested:
+$nfset:
+$nlfldsep:
+$nlinstr:
+$noloop1:
+$noloop2:
+$nulrsend:
+$ofmt:
+$ofmtfidl:
+$ofmts:
+$onlynl:
+$parse1:
+$parsefld:
+$prdupval:
+$prec:
+$prtoeval:
+$rebuf:
+$regeq:
+$reindops:
+$reparse:
+$rsnul1nl:
+$rsstart1:
+$rstest1:
+$rstest2:
+$rstest3:
+$rstest6:
+$rswhite:
+$sortempty:
+$splitargv:
+$splitarr:
+$splitvar:
+$sprintfc:
+$strcat1:
+$strtod:
+$subsepnm:
+$swaplns:
+$uparrfs:
+$wjposer1:
+$zeroe0:
+$! common with 'test'.in
+$	echo "''test'"
+$	gawk -f 'test'.awk 'test'.in >_'test'.tmp
+$	cmp 'test'.ok _'test'.tmp
+$	if $status then  rm _'test'.tmp;
+$	return
+$
+$! more common tests, without a data file: gawk -f 'test'.awk
+$arrayref:
+$arrymem1:
+$arynasty:
+$arysubnm:
+$asort:
+$asorti:
+$closebad:
+$compare2:
+$convfmt:
+$delarprm:
+$!!double1:
+$!!double2:
+$dynlj:
+$fnarydel:
+$fnparydl:
+$forsimp:
+$funsemnl:
+$gensub2:
+$gnuops2:
+$gnuops3:
+$gnureops:
+$hsprint:
+$icasefs:
+$intest:
+$match1:
+$math:
+$minusstr:
+$nlstrina:
+$nondec:
+$octsub:
+$paramtyp:
+$pcntplus:
+$printf1:
+$procinfs:
+$prt1eval:
+$psx96sub:
+$rebt8b1:
+$rebt8b2:
+$regx8bit:
+$sort1:
+$splitdef:
+$splitwht:
+$strnum1:
+$strtonum:
+$substr:
+$zero2:
+$zeroflag:
+$! common without 'test'.in
+$	echo "''test'"
+$	gawk -f 'test'.awk >_'test'.tmp
+$	cmp 'test'.ok _'test'.tmp
+$	if $status then  rm _'test'.tmp;
+$	return
+$
+$double1:
+$double2:
+$lc_num1:
+$mbprintf1:
+$	echo "''test' skipped"
 $	return
 $
 $msg:
-$	echo "Any output from ""DIFF"" is bad news, although some differences"
+$	echo "Any output from ""DIF"" is bad news, although some differences"
 $	echo "in floating point values are probably benign -- in particular,"
 $	echo "some systems may omit a leading zero and the floating point"
 $	echo "precision may lead to slightly different output in a few cases."
 $	return
 $
-$swaplns:	echo "swaplns"
-$	gawk -f swaplns.awk swaplns.in >tmp.
-$	cmp swaplns.ok tmp.
-$	if $status then  rm tmp.;
+$printlang:
+$! the default locale is C, with LC_LANG and LC_ALL left empty;
+$! showing that at the very beginning may cause some confusion about
+$! whether gawk requires those, so we don't run this as the first test
+$	gawk -f printlang.awk
+$	return
+$
+$poundbang:
+$	echo "poundbang:  not supported"
 $	return
 $
 $messages:	echo "messages"
@@ -160,49 +336,37 @@
 $
 $argarray:	echo "argarray"
 $	define/User TEST "test"			!this is useless...
-$	gawk -f argarray.awk ./argarray.in - >tmp.
+$	gawk -f argarray.awk ./argarray.in - >_argarray.tmp
 just a test
-$	cmp argarray.ok tmp.
-$	if $status then  rm tmp.;
+$	cmp argarray.ok _argarray.tmp
+$	if $status then  rm _argarray.tmp;
 $	return
 $
 $fstabplus:	echo "fstabplus"
-$	gawk -f fstabplus.awk >tmp.
+$	gawk -f fstabplus.awk >_fstabplus.tmp
 1		2
-$	cmp fstabplus.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$fsrs:		echo "fsrs"
-$	gawk -f fsrs.awk fsrs.in >tmp.
-$	cmp fsrs.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$igncfs:	echo "igncfs"
-$	gawk -f igncfs.awk igncfs.in >tmp.
-$	cmp igncfs.ok tmp.
-$	if $status then  rm tmp.;
+$	cmp fstabplus.ok _fstabplus.tmp
+$	if $status then  rm _fstabplus.tmp;
 $	return
 $
 $longwrds:	echo "longwrds"
-$	gawk -v "SORT=sort sys$input: tmp." -f longwrds.awk longwrds.in >_NL:
-$	cmp longwrds.ok tmp.
-$	if $status then  rm tmp.;
+$	gawk -v "SORT=sort sys$input: _longwrds.tmp" -f longwrds.awk longwrds.in >_NL:
+$	cmp longwrds.ok _longwrds.tmp
+$	if $status then  rm _longwrds.tmp;
 $	return
 $
 $fieldwdth:	echo "fieldwdth"
-$	gawk -v "FIELDWIDTHS=2 3 4" "{ print $2}" >tmp.
+$	gawk -v "FIELDWIDTHS=2 3 4" "{ print $2}" >_fieldwdth.tmp
 123456789
-$	cmp fieldwdth.ok tmp.
-$	if $status then  rm tmp.;
+$	cmp fieldwdth.ok _fieldwdth.tmp
+$	if $status then  rm _fieldwdth.tmp;
 $	return
 $
 $ignrcase:	echo "ignrcase"
-$	gawk -v "IGNORECASE=1" "{ sub(/y/, """"); print}" >tmp.
+$	gawk -v "IGNORECASE=1" "{ sub(/y/, """"); print}" >_ignrcase.tmp
 xYz
-$	cmp ignrcase.ok tmp.
-$	if $status then  rm tmp.;
+$	cmp ignrcase.ok _ignrcase.tmp
+$	if $status then  rm _ignrcase.tmp;
 $	return
 $
 $regtest:
@@ -217,10 +381,10 @@
 $	return
 $
 $posix: echo "posix"
-$	gawk -f posix.awk >tmp.
+$	gawk -f posix.awk >_posix.tmp
 1:2,3 4
-$	cmp posix.ok tmp.
-$	if $status then  rm tmp.;
+$	cmp posix.ok _posix.tmp
+$	if $status then  rm _posix.tmp;
 $	return
 $
 $manyfiles:	echo "manyfiles"
@@ -235,58 +399,52 @@
 $	if fillm.ge.f_cnt then  f_cnt = fillm + 10
 $	if f$search("[.junk]*.*").nes."" then  rm [.junk]*.*;*
 $	if f$parse("[.junk]").eqs."" then  create/Dir/Prot=(O:rwed) [.junk]
-$	gawk -v "F_CNT=''f_cnt'" "BEGIN {for (i = 1; i <= F_CNT; i++) print i, i}" >tmp.
+$	gawk -- "BEGIN {for (i = 1; i <= ''f_cnt'; i++) print i, i}" >_manyfiles.dat
 $	echo "(processing ''f_cnt' files; this may take quite a while)"
-$	gawk -f manyfiles.awk tmp. tmp.
+$	gawk -f manyfiles.awk _manyfiles.dat _manyfiles.dat
 $	define/User sys$error _NL:
-$	define/User sys$output tmp.too
+$	define/User sys$output _manyfiles.tmp
 $	search/Match=Nor/Output=_NL:/Log [.junk]*.* ""
 $!/Log output: "%SEARCH-S-NOMATCH, <filename> - <#> records" plus 1 line summary
-$	gawk -v "F_CNT=''f_cnt'" -f - tmp.too
+$	gawk -v "F_CNT=''f_cnt'" -f - _manyfiles.tmp
 $deck	!some input begins with "$"
 $4 != 2 {++count}
 END {if (NR != F_CNT+1 || count != 1) {print "\nFailed!"}}
 $eod
-$	rm tmp.;,tmp.too;,[.junk]*.*;*,[]junk.dir;
+$	rm _manyfiles.tmp;,_manyfiles.dat;,[.junk]*.*;*,[]junk.dir;
 $	return
 $
 $compare:	echo "compare"
-$	gawk -f compare.awk 0 1 compare.in >tmp.
-$	cmp compare.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$arrayref:	echo "arrayref"
-$	gawk -f arrayref.awk >tmp.
-$	cmp arrayref.ok tmp.
-$	if $status then  rm tmp.;
+$	gawk -f compare.awk 0 1 compare.in >_compare.tmp
+$	cmp compare.ok _compare.tmp
+$	if $status then  rm _compare.tmp;
 $	return
 $
 $rs:		echo "rs"
-$	gawk -v "RS=" "{ print $1, $2}" rs.in >tmp.
-$	cmp rs.ok tmp.
-$	if $status then  rm tmp.;
+$	gawk -v "RS=" "{ print $1, $2}" rs.in >_rs.tmp
+$	cmp rs.ok _rs.tmp
+$	if $status then  rm _rs.tmp;
 $	return
 $
 $fsbs:		echo "fsbs"
-$	gawk -v "FS=\" "{ print $1, $2 }" fsbs.in >tmp.
-$	cmp fsbs.ok tmp.
-$	if $status then  rm tmp.;
+$	gawk -v "FS=\" "{ print $1, $2 }" fsbs.in >_fsbs.tmp
+$	cmp fsbs.ok _fsbs.tmp
+$	if $status then  rm _fsbs.tmp;
 $	return
 $
 $inftest:	echo "inftest"
 $     !!  echo "This test is very machine specific..."
 $	set noOn
-$	gawk -f inftest.awk >tmp.
-$     !!  cmp inftest.ok tmp.		!just care that gawk doesn't crash...
-$	if $status then  rm tmp.;
+$	gawk -f inftest.awk >_inftest.tmp
+$     !!  cmp inftest.ok _inftest.tmp	!just care that gawk doesn't crash...
+$	if $status then  rm _inftest.tmp;
 $	set On
 $	return
 $
 $getline2:	echo "getline2"
-$	gawk -f getline2.awk getline2.awk getline2.awk >tmp.
-$	cmp getline2.ok tmp.
-$	if $status then  rm tmp.;
+$	gawk -f getline2.awk getline2.awk getline2.awk >_getline2.tmp
+$	cmp getline2.ok _getline2.tmp
+$	if $status then  rm _getline2.tmp;
 $	return
 $
 $rand:		echo "rand"
@@ -296,119 +454,72 @@
 $	return
 $
 $negexp:	echo "negexp"
-$	gawk "BEGIN { a = -2; print 10^a }" >tmp.
-$	cmp negexp.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$asgext:	echo "asgext"
-$	gawk -f asgext.awk asgext.in >tmp.
-$	cmp asgext.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$anchgsub:	echo "anchgsub"
-$	gawk -f anchgsub.awk anchgsub.in >tmp.
-$	cmp anchgsub.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$splitargv:	echo "splitargv"
-$	gawk -f splitargv.awk splitargv.in >tmp.
-$	cmp splitargv.ok tmp.
-$	if $status then  rm tmp.;
+$	gawk "BEGIN { a = -2; print 10^a }" >_negexp.tmp
+$	cmp negexp.ok _negexp.tmp
+$	if $status then  rm _negexp.tmp;
 $	return
 $
 $awkpath:	echo "awkpath"
 $	define/User AWK_LIBRARY [],[.lib]
-$	gawk -f awkpath.awk >tmp.
-$	cmp awkpath.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$nfset:		echo "nfset"
-$	gawk -f nfset.awk nfset.in >tmp.
-$	cmp nfset.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$reparse:	echo "reparse"
-$	gawk -f reparse.awk reparse.in >tmp.
-$	cmp reparse.ok tmp.
-$	if $status then  rm tmp.;
+$	gawk -f awkpath.awk >_awkpath.tmp
+$	cmp awkpath.ok _awkpath.tmp
+$	if $status then  rm _awkpath.tmp;
 $	return
 $
 $argtest:	echo "argtest"
-$	gawk -f argtest.awk -x -y abc >tmp.
-$	cmp argtest.ok tmp.
-$	if $status then  rm tmp.;
+$	gawk -f argtest.awk -x -y abc >_argtest.tmp
+$	cmp argtest.ok _argtest.tmp
+$	if $status then  rm _argtest.tmp;
 $	return
 $
 $badargs:	echo "badargs"
 $	on error then continue
-$	gawk -f 2>&1 >tmp.too
-$!	search/Match=Nor tmp. "patchlevel" /Output=tmp.
-$	gawk "/patchlevel/{next}; {gsub(""\"""",""'""); print}" <tmp.too >tmp.
-$	cmp badargs.ok tmp.
-$	if $status then  rm tmp.;,tmp.too;
-$	return
-$
-$convfmt:	echo "convfmt"
-$	gawk -f convfmt.awk >tmp.
-$	cmp convfmt.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$arrayparm:	echo "arrayparm"
-$	set noOn
-$	AWKPATH_srcdir
-$	gawk -f arrayparm.awk >tmp. 2>&1
-$	if .not.$status then call exit_code 2
-$	set On
-$	cmp arrayparm.ok tmp.
-$	if $status then  rm tmp.;
+$	gawk -f 2>&1 >_badargs.too
+$!	search/Match=Nor _badargs.too "patchlevel" /Output=_badargs.tmp
+$	gawk "/patchlevel/{next}; {gsub(""\"""",""'""); print}" <_badargs.too >_badargs.tmp
+$	cmp badargs.ok _badargs.tmp
+$	if $status then  rm _badargs.tmp;,_badargs.too;
 $	return
 $
 $paramdup:	echo "paramdup"
 $	set noOn
-$	AWKPATH_srcdir
-$	gawk -f paramdup.awk >tmp. 2>&1
-$	if .not.$status then call exit_code 1
+$	gawk -f paramdup.awk >_paramdup.tmp 2>&1
+$	if .not.$status then call exit_code 1 _paramdup.tmp
 $	set On
-$	cmp paramdup.ok tmp.
-$	if $status then  rm tmp.;
+$	cmp paramdup.ok _paramdup.tmp
+$	if $status then  rm _paramdup.tmp;
 $	return
 $
 $nonl:		echo "nonl"
 $	! This one might fail, depending on the tool used to unpack the
 $	! distribution.  Some will add a final newline if the file lacks one.
 $	AWKPATH_srcdir
-$	gawk --lint -f nonl.awk _NL: >tmp. 2>&1
-$	cmp nonl.ok tmp.
-$	if $status then  rm tmp.;
+$	gawk --lint -f nonl.awk _NL: >_nonl.tmp 2>&1
+$	cmp nonl.ok _nonl.tmp
+$	if $status then  rm _nonl.tmp;
 $	return
 $
 $defref:	echo "defref"
 $	set noOn
 $	AWKPATH_srcdir
-$	gawk --lint -f defref.awk >tmp. 2>&1
-$	if .not.$status then call exit_code 2
+$	gawk --lint -f defref.awk >_defref.tmp 2>&1
+$	if .not.$status then call exit_code 2 _defref.tmp
 $	set On
-$	cmp defref.ok tmp.
-$	if $status then  rm tmp.;
+$	cmp defref.ok _defref.tmp
+$	if $status then  rm _defref.tmp;
 $	return
 $
 $nofmtch:	echo "nofmtch"
 $	AWKPATH_srcdir
-$	gawk --lint -f nofmtch.awk >tmp. 2>&1
-$	cmp nofmtch.ok tmp.
-$	if $status then  rm tmp.;
+$	gawk --lint -f nofmtch.awk >_nofmtch.tmp 2>&1
+$	cmp nofmtch.ok _nofmtch.tmp
+$	if $status then  rm _nofmtch.tmp;
 $	return
 $
 $strftime:	echo "strftime"
 $	! this test could fail on slow machines or on a second boundary,
 $	! so if it does, double check the actual results
-$!!	date | gawk -v "OUTPUT"=tmp. -f strftime.awk
+$!!	date | gawk -v "OUTPUT"=_strftime.tmp -f strftime.awk
 $	now = f$time()
 $	wkd = f$extract(0,3,f$cvtime(now,,"WEEKDAY"))
 $	mon = f$cvtime(now,"ABSOLUTE","MONTH")
@@ -418,615 +529,283 @@
 $	tz  = ""
 $	yr  = f$cvtime(now,,"YEAR")
 $	if f$trnlnm("FTMP").nes."" then  close/noLog ftmp
-$	open/Write ftmp strftime.in 
+$	open/Write ftmp strftime.in
 $	write ftmp wkd," ",mon," ",day," ",tim," ",tz," ",yr
 $	close ftmp
-$	gawk -v "OUTPUT"=tmp. -f strftime.awk strftime.in
+$	gawk -v "OUTPUT"=_strftime.tmp -f strftime.awk strftime.in
 $	set noOn
-$	cmp strftime.ok tmp.
-$	if $status then  rm tmp.;,strftime.ok;*,strftime.in;*
+$	cmp strftime.ok _strftime.tmp
+$	if $status then  rm _strftime.tmp;,strftime.ok;*,strftime.in;*
 $	set On
 $	return
 $
 $litoct:	echo "litoct"
-$	gawk --traditional -f litoct.awk >tmp.
+$	gawk --traditional -f litoct.awk >_litoct.tmp
 ab
-$	cmp litoct.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$gensub:	echo "gensub"
-$	gawk -f gensub.awk gensub.in >tmp.
-$	cmp gensub.ok tmp.
-$	if $status then  rm tmp.;
+$	cmp litoct.ok _litoct.tmp
+$	if $status then  rm _litoct.tmp;
 $	return
 $
 $resplit:	echo "resplit"
-$	gawk -- "{ FS = "":""; $0 = $0; print $2 }" >tmp.
+$	gawk -- "{ FS = "":""; $0 = $0; print $2 }" >_resplit.tmp
 a:b:c d:e:f
-$	cmp resplit.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$rswhite:	echo "rswhite"
-$	gawk -f rswhite.awk rswhite.in >tmp.
-$	cmp rswhite.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$prmarscl:	echo "prmarscl"
-$	set noOn
-$	AWKPATH_srcdir
-$	gawk -f prmarscl.awk >tmp. 2>&1
-$	if .not.$status then call exit_code 2
-$	set On
-$	cmp prmarscl.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$sclforin:	echo "sclforin"
-$	set noOn
-$	AWKPATH_srcdir
-$	gawk -f sclforin.awk >tmp. 2>&1
-$	if .not.$status then call exit_code 2
-$	set On
-$	cmp sclforin.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$sclifin:	echo "sclifin"
-$	set noOn
-$	AWKPATH_srcdir
-$	gawk -f sclifin.awk >tmp. 2>&1
-$	if .not.$status then call exit_code 2
-$	set On
-$	cmp sclifin.ok tmp.
-$	if $status then  rm tmp.;
+$	cmp resplit.ok _resplit.tmp
+$	if $status then  rm _resplit.tmp;
 $	return
 $
 $intprec:	echo "intprec"
-$	gawk -f intprec.awk >tmp. 2>&1
-$	cmp intprec.ok tmp.
-$	if $status then  rm tmp.;
+$	gawk -f intprec.awk >_intprec.tmp 2>&1
+$	cmp intprec.ok _intprec.tmp
+$	if $status then  rm _intprec.tmp;
 $	return
 $
-$childin:	echo "childin:  currently fails for the VMS port, so skipped"
+$childin:	echo "childin skipped"
 $	return
 $! note: this `childin' test currently [gawk 3.0.3] fails for vms
 $!!childin:	echo "childin"
 $	echo "note: type ``hi<return><ctrl/Z>'",-
 	     "' if testing appears to hang in `childin'"
-$!!	@echo hi | gawk "BEGIN { ""cat"" | getline; print; close(""cat"") }" >tmp.
-$	gawk "BEGIN { ""type sys$input:"" | getline; print; close(""type sys$input:"") }" >tmp.
+$!!	@echo hi | gawk "BEGIN { ""cat"" | getline; print; close(""cat"") }" >_childin.tmp
+$	gawk "BEGIN { ""type sys$input:"" | getline; print; close(""type sys$input:"") }" >_childin.tmp
 hi
-$	cmp childin.ok tmp.
-$	if $status then  rm tmp.;
+$	cmp childin.ok _childin.tmp
+$	if $status then  rm _childin.tmp;
 $	return
 $
 $noeffect:	echo "noeffect"
 $	AWKPATH_srcdir
-$	gawk --lint -f noeffect.awk >tmp. 2>&1
-$	cmp noeffect.ok tmp.
-$	if $status then  rm tmp.;
+$	gawk --lint -f noeffect.awk >_noeffect.tmp 2>&1
+$	cmp noeffect.ok _noeffect.tmp
+$	if $status then  rm _noeffect.tmp;
 $	return
 $
 $numsubstr:	echo "numsubstr"
 $	AWKPATH_srcdir
-$	gawk -f numsubstr.awk numsubstr.in >tmp.
-$	cmp numsubstr.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$gnureops:	echo "gnureops"
-$	gawk -f gnureops.awk >tmp.
-$	cmp gnureops.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$pcntplus:	echo "pcntplus"
-$	gawk -f pcntplus.awk >tmp.
-$	cmp pcntplus.ok tmp.
-$	if $status then  rm tmp.;
+$	gawk -f numsubstr.awk numsubstr.in >_numsubstr.tmp
+$	cmp numsubstr.ok _numsubstr.tmp
+$	if $status then  rm _numsubstr.tmp;
 $	return
 $
 $prmreuse:	echo "prmreuse"
 $	if f$search("prmreuse.ok").eqs."" then  create prmreuse.ok
-$	gawk -f prmreuse.awk >tmp.
-$	cmp prmreuse.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$math:		echo "math"
-$	gawk -f math.awk >tmp.
-$	cmp math.ok tmp.
-$	if $status then  rm tmp.;
+$	gawk -f prmreuse.awk >_prmreuse.tmp
+$	cmp prmreuse.ok _prmreuse.tmp
+$	if $status then  rm _prmreuse.tmp;
 $	return
 $
 $fflush:
-$	echo "fflush:  hopeless for VMS, so skipped"
+$	echo "fflush: not supported"
 $	return
 $!!fflush:	echo "fflush"
 $	! hopelessly Unix-specific
-$!!	@fflush.sh >tmp.
-$	cmp fflush.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$fldchg:	echo "fldchg"
-$	gawk -f fldchg.awk fldchg.in >tmp.
-$	cmp fldchg.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$fldchgnf:	echo "fldchgnf"
-$	gawk -f fldchgnf.awk fldchgnf.in >tmp.
-$	cmp fldchgnf.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$reindops:	echo "reindops"
-$	gawk -f reindops.awk reindops.in >tmp.
-$	cmp reindops.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$sprintfc:	echo "sprintfc"
-$	gawk -f sprintfc.awk sprintfc.in >tmp.
-$	cmp sprintfc.ok tmp.
-$	if $status then  rm tmp.;
+$!!	@fflush.sh >_fflush.tmp
+$	cmp fflush.ok _fflush.tmp
+$	if $status then  rm _fflush.tmp;
 $	return
 $
 $getlnhd:
-$	echo "getlnhd:  uses Unix-specific command so won't work on VMS"
+$	echo "getlnhd skipped"
 $	return
 $!!getlnhd:	echo "getlnhd"
-$	gawk -f getlnhd.awk >tmp.
-$	cmp getlnhd.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$backgsub:	echo "backgsub"
-$	gawk -f backgsub.awk backgsub.in >tmp.
-$	cmp backgsub.ok tmp.
-$	if $status then  rm tmp.;
+$	gawk -f getlnhd.awk >_getlnhd.tmp
+$	cmp getlnhd.ok _getlnhd.tmp
+$	if $status then  rm _getlnhd.tmp;
 $	return
 $
 $tweakfld:	echo "tweakfld"
-$	gawk -f tweakfld.awk tweakfld.in >tmp.
+$	gawk -f tweakfld.awk tweakfld.in >_tweakfld.tmp
 $	if f$search("errors.cleanup").nes."" then  rm errors.cleanup;*
-$	cmp tweakfld.ok tmp.
-$	if $status then  rm tmp.;
+$	cmp tweakfld.ok _tweakfld.tmp
+$	if $status then  rm _tweakfld.tmp;
 $	return
 $
 $clsflnam:	echo "clsflnam"
 $	if f$search("clsflnam.ok").eqs."" then  create clsflnam.ok
-$	gawk -f clsflnam.awk clsflnam.in >tmp. 2>&1
-$	cmp clsflnam.ok tmp.
-$	if $status then  rm tmp.;
+$	gawk -f clsflnam.awk clsflnam.in >_clsflnam.tmp 2>&1
+$	cmp clsflnam.ok _clsflnam.tmp
+$	if $status then  rm _clsflnam.tmp;
 $	return
 $
 $mmap8k:	echo "mmap8k"
-$	gawk "{ print }" mmap8k.in >tmp.
-$	cmp mmap8k.in tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$fnarray:	echo "fnarray"
-$	set noOn
-$	AWKPATH_srcdir
-$	gawk -f fnarray.awk >tmp. 2>&1
-$	if .not.$status then call exit_code 2
-$	set On
-$	cmp fnarray.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$dynlj:		echo "dynlj"
-$	gawk -f dynlj.awk >tmp.
-$	cmp dynlj.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$substr:	echo "substr"
-$	gawk -f substr.awk >tmp.
-$	cmp substr.ok tmp.
-$	if $status then  rm tmp.;
+$	gawk "{ print }" mmap8k.in >_mmap8k.tmp
+$	cmp mmap8k.in _mmap8k.tmp
+$	if $status then  rm _mmap8k.tmp;
 $	return
 $
 $eofsplit:	echo "eofsplit"
 $	if f$search("eofsplit.ok").eqs."" then  create eofsplit.ok
-$	gawk -f eofsplit.awk >tmp.
-$	cmp eofsplit.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$prt1eval:	echo "prt1eval"
-$	gawk -f prt1eval.awk >tmp.
-$	cmp prt1eval.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$splitwht:	echo "splitwht"
-$	gawk -f splitwht.awk >tmp.
-$	cmp splitwht.ok tmp.
-$	if $status then  rm tmp.;
+$	gawk -f eofsplit.awk >_eofsplit.tmp
+$	cmp eofsplit.ok _eofsplit.tmp
+$	if $status then  rm _eofsplit.tmp;
 $	return
 $
 $back89:		echo "back89"
-$	gawk "/a\8b/" back89.in >tmp.
-$	cmp back89.ok tmp.
-$	if $status then  rm tmp.;
+$	gawk "/a\8b/" back89.in >_back89.tmp
+$	cmp back89.ok _back89.tmp
+$	if $status then  rm _back89.tmp;
 $	return
 $
 $tradanch:	echo "tradanch"
 $	if f$search("tradanch.ok").eqs."" then  create tradanch.ok
-$	gawk --traditional -f tradanch.awk tradanch.in >tmp.
-$	cmp tradanch.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$nlfldsep:	echo "nlfldsep"
-$	gawk -f nlfldsep.awk nlfldsep.in >tmp.
-$	cmp nlfldsep.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$splitvar:	echo "splitvar"
-$	gawk -f splitvar.awk splitvar.in >tmp.
-$	cmp splitvar.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$intest:	echo "intest"
-$	gawk -f intest.awk >tmp.
-$	cmp intest.ok tmp.
-$	if $status then  rm tmp.;
+$	gawk --traditional -f tradanch.awk tradanch.in >_tradanch.tmp
+$	cmp tradanch.ok _tradanch.tmp
+$	if $status then  rm _tradanch.tmp;
 $	return
 $
 $pid:		echo "pid"
 $	pid = f$integer("%x" + f$getjpi("","PID"))
 $	ppid = f$integer("%x" + f$getjpi("","OWNER"))
-$	gawk -v "ok_pid=''pid'" -v "ok_ppid=''ppid'" -f pid.awk >tmp. >& _NL:
-$	cmp pid.ok tmp.
-$	if $status then  rm tmp.;
+$	gawk -v "ok_pid=''pid'" -v "ok_ppid=''ppid'" -f pid.awk >_pid.tmp >& _NL:
+$	cmp pid.ok _pid.tmp
+$	if $status then  rm _pid.tmp;
 $	return
 $
 $strftlng:	echo "strftlng"
 $	define/User TZ "UTC"		!useless
-$	gawk -f strftlng.awk >tmp.
-$	cmp strftlng.ok tmp.
-$	if $status then  rm tmp.;
+$	gawk -f strftlng.awk >_strftlng.tmp
+$	cmp strftlng.ok _strftlng.tmp
+$	if $status then  rm _strftlng.tmp;
 $	return
 $
 $nfldstr:	echo "nfldstr"
 $	if f$search("nfldstr.ok").eqs."" then  create nfldstr.ok
-$	gawk "$1 == 0 { print ""bug"" }" >tmp.
+$	gawk "$1 == 0 { print ""bug"" }" >_nfldstr.tmp
 
-$	cmp nfldstr.ok tmp.
-$	if $status then  rm tmp.;
+$	cmp nfldstr.ok _nfldstr.tmp
+$	if $status then  rm _nfldstr.tmp;
 $	return
 $
 $nors:		echo "nors"
 $!! there's no straightforward way to supply non-terminated input on the fly
 $!!	@echo A B C D E | tr -d '\12' | $(AWK) '{ print $$NF }' - $(srcdir)/nors.in > _$@
 $!! so just read a line from sys$input instead
-$	gawk "{ print $NF }" - nors.in >tmp.
+$	gawk "{ print $NF }" - nors.in >_nors.tmp
 A B C D E
-$	cmp nors.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$fnarydel:	echo "fnarydel"
-$	gawk -f fnarydel.awk >tmp.
-$	cmp fnarydel.ok tmp.
-$	if $status then  rm tmp.;
+$	cmp nors.ok _nors.tmp
+$	if $status then  rm _nors.tmp;
 $	return
 $
 $reint:		echo "reint"
-$	gawk --re-interval -f reint.awk reint.in >tmp.
-$	cmp reint.ok tmp.
-$	if $status then  rm tmp.;
+$	gawk --re-interval -f reint.awk reint.in >_reint.tmp
+$	cmp reint.ok _reint.tmp
+$	if $status then  rm _reint.tmp;
 $	return
 $
 $noparms:	echo "noparms"
 $	set noOn
 $	AWKPATH_srcdir
-$	gawk -f noparms.awk >tmp. 2>&1
-$	if .not.$status then call exit_code 1
+$	gawk -f noparms.awk >_noparms.tmp 2>&1
+$	if .not.$status then call exit_code 1 _noparms.tmp
 $	set On
-$	cmp noparms.ok tmp.
-$	if $status then  rm tmp.;
+$	cmp noparms.ok _noparms.tmp
+$	if $status then  rm _noparms.tmp;
 $	return
 $
 $pipeio1:	echo "pipeio1"
 $	cat = "TYPE"	!close enough, as long as we avoid .LIS default suffix
 $	define/User test1 []test1.
 $	define/User test2 []test2.
-$	gawk -f pipeio1.awk >tmp.
+$	gawk -f pipeio1.awk >_pipeio1.tmp
 $	rm test1.;,test2.;
-$	cmp pipeio1.ok tmp.
-$	if $status then  rm tmp.;
+$	cmp pipeio1.ok _pipeio1.tmp
+$	if $status then  rm _pipeio1.tmp;
 $	return
 $
 $pipeio2:
-$	echo "pipeio2:  uses Unix-specific command so won't work on VMS"
+$	echo "pipeio2 skipped"
 $	return
 $!!pipeio2:	echo "pipeio2"
 $	cat = "gawk -- {print}"
 $	tr  = "??"	!unfortunately, no trivial substitution available...
-$	gawk -v "SRCDIR=." -f pipeio2.awk >tmp.
-$	cmp pipeio2.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$funstack:	echo "funstack"
-$	gawk -f funstack.awk funstack.in >tmp.
-$	cmp funstack.ok tmp.
-$	if $status then  rm tmp.;
+$	gawk -v "SRCDIR=." -f pipeio2.awk >_pipeio2.tmp
+$	cmp pipeio2.ok _pipeio2.tmp
+$	if $status then  rm _pipeio2.tmp;
 $	return
 $
 $clobber:	echo "clobber"
-$	gawk -f clobber.awk >tmp.
+$	gawk -f clobber.awk >_clobber.tmp
 $	cmp clobber.ok seq.
 $	if $status then  rm seq.;*
-$	cmp clobber.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$delarprm:	echo "delarprm"
-$	gawk -f delarprm.awk >tmp.
-$	cmp delarprm.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$prdupval:	echo "prdupval"
-$	gawk -f prdupval.awk prdupval.in >tmp.
-$	cmp prdupval.ok tmp.
-$	if $status then  rm tmp.;
+$	cmp clobber.ok _clobber.tmp
+$	if $status then  rm _clobber.tmp;
 $	return
 $
 $nasty:	echo "nasty"
 $	set noOn
-$	gawk -f nasty.awk >tmp.
+$	gawk -f nasty.awk >_nasty.tmp
 $	call fixup_LRL nasty.ok
-$	call fixup_LRL tmp. "purge"
-$	cmp nasty.ok tmp.
-$	if $status then  rm tmp.;
+$	call fixup_LRL _nasty.tmp "purge"
+$	cmp nasty.ok _nasty.tmp
+$	if $status then  rm _nasty.tmp;
 $	set On
 $	return
 $
 $nasty2:	echo "nasty2"
 $	set noOn
-$	gawk -f nasty2.awk >tmp.
+$	gawk -f nasty2.awk >_nasty2.tmp
 $	call fixup_LRL nasty2.ok
-$	call fixup_LRL tmp. "purge"
-$	cmp nasty2.ok tmp.
-$	if $status then  rm tmp.;
-$	set On
-$	return
-$
-$zeroflag:	echo "zeroflag"
-$	gawk -f zeroflag.awk >tmp.
-$	cmp zeroflag.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$getnr2tm:	echo "getnr2tm"
-$	gawk -f getnr2tm.awk getnr2tm.in >tmp.
-$	cmp getnr2tm.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$getnr2tb:	echo "getnr2tb"
-$	gawk -f getnr2tb.awk getnr2tb.in >tmp.
-$	cmp getnr2tb.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$printf1:	echo "printf1"
-$	gawk -f printf1.awk >tmp.
-$	cmp printf1.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$funsmnam:	echo "funsmnam"
-$	set noOn
-$	gawk -f funsmnam.awk >tmp. 2>&1
-$	if .not.$status then call exit_code 2
+$	call fixup_LRL _nasty2.tmp "purge"
+$	cmp nasty2.ok _nasty2.tmp
+$	if $status then  rm _nasty2.tmp;
 $	set On
-$	cmp funsmnam.ok tmp.
-$	if $status then  rm tmp.;
 $	return
 $
-$fnamedat:	echo "fnamedat"
+$arrayparm:
+$fnarray:
+$fnaryscl:
+$funsmnam:
+$match2:
+$opasnslf:
+$opasnidx:
+$paramres:
+$parseme:
+$printfbad1:
+$prmarscl:
+$subslash:
+$	echo "''test'"
 $	set noOn
-$	gawk -f fnamedat.awk < fnamedat.in >tmp. 2>&1
-$	if .not.$status then call exit_code 2
+$	gawk -f 'test'.awk >_'test'.tmp 2>&1
+$	if .not.$status then call exit_code 2 _'test'.tmp
 $	set On
-$	cmp fnamedat.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$numindex:	echo "numindex"
-$	set noOn
-$	gawk -f numindex.awk < numindex.in >tmp. 2>&1
-$	if .not.$status then call exit_code 2
-$	set On
-$	cmp numindex.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$subslash:	echo "subslash"
-$	set noOn
-$	gawk -f subslash.awk >tmp. 2>&1
-$	if .not.$status then call exit_code 2
-$	set On
-$	cmp subslash.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$opasnslf:	echo "opasnslf"
-$	set noOn
-$	gawk -f opasnslf.awk >tmp. 2>&1
-$	if .not.$status then call exit_code 2
-$	set On
-$	cmp opasnslf.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$opasnidx:	echo "opasnidx"
-$	set noOn
-$	gawk -f opasnidx.awk >tmp. 2>&1
-$	if .not.$status then call exit_code 2
-$	set On
-$	cmp opasnidx.ok tmp.
-$	if $status then  rm tmp.;
+$	cmp 'test'.ok _'test'.tmp
+$	if $status then  rm _'test'.tmp;
 $	return
 $
 $arynocls:	echo "arynocls"
-$	gawk -v "INPUT"=arynocls.in -f arynocls.awk >tmp.
-$	cmp arynocls.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$igncdym:	echo "igncdym"
-$	gawk -f igncdym.awk igncdym.in >tmp.
-$	cmp igncdym.ok tmp.
-$	if $status then  rm tmp.;
+$	gawk -v "INPUT"=arynocls.in -f arynocls.awk >_arynocls.tmp
+$	cmp arynocls.ok _arynocls.tmp
+$	if $status then  rm _arynocls.tmp;
 $	return
 $
 $getlnbuf:	echo "getlnbuf"
-$	gawk -f getlnbuf.awk getlnbuf.in >tmp.
-$	gawk -f gtlnbufv.awk getlnbuf.in >tmp2.
-$	cmp getlnbuf.ok tmp.
-$	if $status then  rm tmp.;
-$	cmp getlnbuf.ok tmp2.
-$	if $status then  rm tmp2.;
-$	return
-$
-$arysubnm:	echo "arysubnm"
-$	gawk -f arysubnm.awk >tmp.
-$	cmp arysubnm.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$fnparydl:	echo "fnparydl"
-$	gawk -f fnparydl.awk >tmp.
-$	cmp fnparydl.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$nondec:	echo "nondec"
-$	gawk -f nondec.awk >tmp.
-$	cmp nondec.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$nlstrina:	echo "nlstrina"
-$	AWKPATH_srcdir
-$	gawk -f nlstrina.awk >tmp.
-$	cmp nlstrina.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$octsub:	echo "octsub"
-$	AWKPATH_srcdir
-$	gawk -f octsub.awk >tmp.
-$	cmp octsub.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$nlinstr:	echo "nlinstr"
-$	gawk -f nlinstr.awk nlinstr.in >tmp.
-$	cmp nlinstr.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$ofmt:	echo "ofmt"
-$	gawk -f ofmt.awk ofmt.in >tmp.
-$	cmp ofmt.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$hsprint:	echo "hsprint"
-$	gawk -f hsprint.awk >tmp.
-$	cmp hsprint.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$fsfwfs:	echo "fsfwfs"
-$	gawk -f fsfwfs.awk fsfwfs.in >tmp.
-$	cmp fsfwfs.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$ofmts:	echo "ofmts"
-$	gawk -f ofmts.awk ofmts.in >tmp.
-$	cmp ofmts.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$parseme:	echo "parseme"
-$	set noOn
-$	AWKPATH_srcdir
-$	gawk -f parseme.awk >tmp. 2>&1
-$	if .not.$status then call exit_code 2
-$	set On
-$	cmp parseme.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$splitdef:	echo "splitdef"
-$	gawk -f splitdef.awk >tmp.
-$	cmp splitdef.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$fnaryscl:	echo "fnaryscl"
-$	set noOn
-$	AWKPATH_srcdir
-$	gawk -f fnaryscl.awk >tmp. 2>&1
-$	if .not.$status then call exit_code 2
-$	set On
-$	cmp fnaryscl.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$fnasgnm:	echo "fnasgnm"
-$	set noOn
-$	AWKPATH_srcdir
-$	gawk -f fnasgnm.awk < fnasgnm.in >tmp. 2>&1
-$	if .not.$status then call exit_code 2
-$	set On
-$	cmp fnasgnm.ok tmp.
-$	if $status then  rm tmp.;
+$	gawk -f getlnbuf.awk getlnbuf.in >_getlnbuf.tmp
+$	gawk -f gtlnbufv.awk getlnbuf.in >_getlnbuf.too
+$	cmp getlnbuf.ok _getlnbuf.tmp
+$	if $status then  rm _getlnbuf.tmp;
+$	cmp getlnbuf.ok _getlnbuf.too
+$	if $status then  rm _getlnbuf.too;
 $	return
 $
 $lint:	echo "lint"
 $	AWKPATH_srcdir
-$	gawk -f lint.awk >tmp. 2>&1
-$	cmp lint.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$procinfs:	echo "procinfs"
-$	gawk -f procinfs.awk >tmp.
-$	cmp procinfs.ok tmp.
-$	if $status then  rm tmp.;
+$	gawk -f lint.awk >_lint.tmp 2>&1
+$	cmp lint.ok _lint.tmp
+$	if $status then  rm _lint.tmp;
 $	return
 $
-$sort1:	echo "sort1"
-$	gawk -f sort1.awk >tmp.
-$	cmp sort1.ok tmp.
-$	if $status then  rm tmp.;
+$lintold:	echo "lintold"
+$	AWKPATH_srcdir
+$	gawk -f lintold.awk --lint-old <lintold.in >_lintold.tmp 2>&1
+$	cmp lintold.ok _lintold.tmp
+$	if $status then  rm _lintold.tmp;
 $	return
 $
 $ofmtbig:	echo "ofmtbig"
 $	set noOn
-$	gawk -f ofmtbig.awk ofmtbig.in >tmp. 2>&1
+$	gawk -f ofmtbig.awk ofmtbig.in >_ofmtbig.tmp 2>&1
 $	set On
-$	cmp ofmtbig.ok tmp.
-$	if $status then  rm tmp.;
+$	cmp ofmtbig.ok _ofmtbig.tmp
+$	if $status then  rm _ofmtbig.tmp;
 $	return
 $
 $inetechu:	echo "inetechu"
@@ -1061,602 +840,500 @@
 $	set On
 $	return
 $
-$paramtyp:	echo "paramtyp"
-$	gawk -f paramtyp.awk >tmp.
-$	cmp paramtyp.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$rsnul1nl:	echo "rsnul1nl"
-$	gawk -f rsnul1nl.awk rsnul1nl.in >tmp.
-$	cmp rsnul1nl.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$datanonl:	echo "datanonl"
-$	gawk -f datanonl.awk datanonl.in >tmp.
-$	cmp datanonl.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$regeq:	echo "regeq"
-$	gawk -f regeq.awk regeq.in >tmp.
-$	cmp regeq.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
 $redfilnm:	echo "redfilnm"
-$	gawk -f redfilnm.awk srcdir="." redfilnm.in >tmp.
-$	cmp redfilnm.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$strtod:	echo "strtod"
-$	gawk -f strtod.awk strtod.in >tmp.
-$	cmp strtod.ok tmp.
-$	if $status then  rm tmp.;
+$	gawk -f redfilnm.awk srcdir="." redfilnm.in >_redfilnm.tmp
+$	cmp redfilnm.ok _redfilnm.tmp
+$	if $status then  rm _redfilnm.tmp;
 $	return
 $
 $leaddig:	echo "leaddig"
-$	gawk -v "x=2E"  -f leaddig.awk >tmp.
-$	cmp leaddig.ok tmp.
-$	if $status then  rm tmp.;
+$	gawk -v "x=2E"  -f leaddig.awk >_leaddig.tmp
+$	cmp leaddig.ok _leaddig.tmp
+$	if $status then  rm _leaddig.tmp;
 $	return
 $
 $clos1way:
-$	echo "clos1way:  uses unsupported `|&' redirection, so skipped"
+$	echo "clos1way: not supported"
 $	return
 $!!clos1way:	echo "clos1way"
-$	gawk -f clos1way.awk >tmp.
-$	cmp clos1way.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$arynasty:	echo "arynasty"
-$	gawk -f arynasty.awk >tmp.
-$	cmp arynasty.ok tmp.
-$	if $status then  rm tmp.;
+$	gawk -f clos1way.awk >_clos1way.tmp
+$	cmp clos1way.ok _clos1way.tmp
+$	if $status then  rm _clos1way.tmp;
 $	return
 $
 $shadow:	echo "shadow"
 $	set noOn
 $	AWKPATH_srcdir
-$	gawk --lint -f shadow.awk >tmp. 2>&1
+$	gawk --lint -f shadow.awk >_shadow.tmp 2>&1
 $	set On
-$	cmp shadow.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$regx8bit:	echo "regx8bit"
-$	gawk -f regx8bit.awk >tmp.
-$	cmp regx8bit.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$psx96sub:	echo "psx96sub"
-$	gawk -f psx96sub.awk >tmp.
-$	cmp psx96sub.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$addcomma:	echo "addcomma"
-$	gawk -f addcomma.awk addcomma.in >tmp.
-$	cmp addcomma.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$gnuops2:	echo "gnuops2"
-$	gawk -f gnuops2.awk >tmp.
-$	cmp gnuops2.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$rebt8b1:	echo "rebt8b1"
-$	gawk -f rebt8b1.awk >tmp.
-$	cmp rebt8b1.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$rebt8b2:	echo "rebt8b2"
-$	gawk -f rebt8b2.awk >tmp.
-$	cmp rebt8b2.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$leadnl:	echo "leadnl"
-$	gawk -f leadnl.awk leadnl.in >tmp.
-$	cmp leadnl.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$funsemnl:	echo "funsemnl"
-$	gawk -f funsemnl.awk >tmp.
-$	cmp funsemnl.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$ofmtfidl:	echo "ofmtfidl"
-$	gawk -f ofmtfidl.awk ofmtfidl.in >tmp.
-$	cmp ofmtfidl.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$onlynl:	echo "onlynl"
-$	gawk -f onlynl.awk onlynl.in >tmp.
-$	cmp onlynl.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$arrymem1:	echo "arrymem1"
-$	gawk -f arrymem1.awk >tmp.
-$	cmp arrymem1.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$compare2:	echo "compare2"
-$	gawk -f compare2.awk >tmp.
-$	cmp compare2.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$minusstr:	echo "minusstr"
-$	gawk -f minusstr.awk >tmp.
-$	cmp minusstr.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$membug1:	echo "membug1"
-$	gawk -f membug1.awk membug1.in >tmp.
-$	cmp membug1.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$forsimp:	echo "forsimp"
-$	gawk -f forsimp.awk >tmp.
-$	cmp forsimp.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$concat1:	echo "concat1"
-$	gawk -f concat1.awk concat1.in >tmp.
-$	cmp concat1.ok tmp.
-$	if $status then  rm tmp.;
+$	cmp shadow.ok _shadow.tmp
+$	if $status then  rm _shadow.tmp;
 $	return
 $
 $longsub:	echo "longsub"
 $	set noOn
-$	gawk -f longsub.awk longsub.in >tmp.
+$	gawk -f longsub.awk longsub.in >_longsub.tmp
 $!! the records here are too long for DIFF to handle
 $!! so assume success as long as gawk doesn't crash
 $!!	call fixup_LRL longsub.ok
-$!!	call fixup_LRL tmp. "purge"
-$!!	cmp longsub.ok tmp.
-$	if $status then  rm tmp.;
+$!!	call fixup_LRL _longsub.tmp "purge"
+$!!	cmp longsub.ok _longsub.tmp
+$	if $status then  rm _longsub.tmp;
 $	set On
 $	return
 $
-$arrayprm2:	echo "arrayprm2"
-$	gawk -f arrayprm2.awk arrayprm2.in >tmp.
-$	cmp arrayprm2.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
 $arrayprm3:	echo "arrayprm3"
-$	gawk -f arrayprm3.awk arrayprm3.in >tmp.
-$	cmp arrayprm3.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$arryref2:	echo "arryref2"
-$	gawk -f arryref2.awk arryref2.in >tmp.
-$	cmp arryref2.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$arryref3:	echo "arryref3"
-$	set noOn
-$	gawk -f arryref3.awk arryref3.in >tmp. 2>&1
-$	if .not.$status then call exit_code 2
-$	set On
-$	cmp arryref3.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$arryref4:	echo "arryref4"
+$	gawk -f arrayprm3.awk arrayprm3.in >_arrayprm3.tmp
+$	cmp arrayprm3.ok _arrayprm3.tmp
+$	if $status then  rm _arrayprm3.tmp;
+$	return
+$
+$arryref3:
+$arryref4:
+$arryref5:
+$aryprm1:
+$aryprm2:
+$aryprm3:
+$aryprm4:
+$aryprm5:
+$aryprm6:
+$aryprm7:
+$delfunc:
+$nfneg:
+$numindex:
+$scalar:
+$sclforin:
+$sclifin:
+$	echo "''test'"
+$	set noOn
+$	gawk -f 'test'.awk 'test'.in >_'test'.tmp 2>&1
+$	if .not.$status then call exit_code 2 _'test'.tmp
+$	set On
+$	cmp 'test'.ok _'test'.tmp
+$	if $status then  rm _'test'.tmp;
+$	return
+$
+$fnamedat:
+$fnasgnm:
+$	echo "''test'"
 $	set noOn
-$	gawk -f arryref4.awk arryref4.in >tmp. 2>&1
-$	if .not.$status then call exit_code 2
+$	gawk -f 'test'.awk <'test'.in >_'test'.tmp 2>&1
+$	if .not.$status then call exit_code 2 _'test'.tmp
 $	set On
-$	cmp arryref4.ok tmp.
-$	if $status then  rm tmp.;
+$	cmp 'test'.ok _'test'.tmp
+$	if $status then  rm _'test'.tmp;
 $	return
 $
-$arryref5:	echo "arryref5"
-$	set noOn
-$	gawk -f arryref5.awk arryref5.in >tmp. 2>&1
-$	if .not.$status then call exit_code 2
-$	set On
-$	cmp arryref5.ok tmp.
-$	if $status then  rm tmp.;
+$exitval2:	echo "exitval2 skipped"
 $	return
-$
-$aryprm1:	echo "aryprm1"
+$!!exitval2:	echo "exitval2"
+$	gawk -f exitval2.awk exitval2.in >_exitval2.tmp
+$	cmp exitval2.ok _exitval2.tmp
+$	if $status then  rm _exitval2.tmp;
+$	return
+$
+$fnarray2:
+$fnmisc:
+$gsubasgn:
+$unterm:
+$	echo "''test'"
 $	set noOn
-$	gawk -f aryprm1.awk aryprm1.in >tmp. 2>&1
-$	if .not.$status then call exit_code 2
+$	gawk -f 'test'.awk 'test'.in >_'test'.tmp 2>&1
+$	if .not.$status then call exit_code 1 _'test'.tmp
 $	set On
-$	cmp aryprm1.ok tmp.
-$	if $status then  rm tmp.;
+$	cmp 'test'.ok _'test'.tmp
+$	if $status then  rm _'test'.tmp;
 $	return
 $
-$aryprm2:	echo "aryprm2"
-$	set noOn
-$	gawk -f aryprm2.awk aryprm2.in >tmp. 2>&1
-$	if .not.$status then call exit_code 2
-$	set On
-$	cmp aryprm2.ok tmp.
-$	if $status then  rm tmp.;
+$getline:	echo "getline skipped"
 $	return
-$
-$aryprm3:	echo "aryprm3"
-$	set noOn
-$	gawk -f aryprm3.awk aryprm3.in >tmp. 2>&1
-$	if .not.$status then call exit_code 2
-$	set On
-$	cmp aryprm3.ok tmp.
-$	if $status then  rm tmp.;
+$!!getline:	echo "getline"
+$	gawk -f getline.awk getline.in >_getline.tmp
+$	cmp getline.ok _getline.tmp
+$	if $status then  rm _getline.tmp;
 $	return
 $
-$aryprm4:	echo "aryprm4"
-$	set noOn
-$	gawk -f aryprm4.awk aryprm4.in >tmp. 2>&1
-$	if .not.$status then call exit_code 2
-$	set On
-$	cmp aryprm4.ok tmp.
-$	if $status then  rm tmp.;
+$gsubtst3:	echo "gsubtst3"
+$	gawk --re-interval -f gsubtst3.awk gsubtst3.in >_gsubtst3.tmp
+$	cmp gsubtst3.ok _gsubtst3.tmp
+$	if $status then  rm _gsubtst3.tmp;
 $	return
 $
-$aryprm5:	echo "aryprm5"
-$	set noOn
-$	gawk -f aryprm5.awk aryprm5.in >tmp. 2>&1
-$	if .not.$status then call exit_code 2
-$	set On
-$	cmp aryprm5.ok tmp.
-$	if $status then  rm tmp.;
+$! FIXME: gawk generates an extra, empty output file while running this test...
+$iobug1:	echo "iobug1"
+$	cat = "TYPE sys$input:"
+$	true = "exit 1"	!success
+$	gawk -f iobug1.awk iobug1.in >_iobug1.tmp
+$	cmp iobug1.ok _iobug1.tmp
+$	if $status then  rm _iobug1.tmp;
 $	return
 $
-$aryprm6:	echo "aryprm6"
-$	set noOn
-$	gawk -f aryprm6.awk aryprm6.in >tmp. 2>&1
-$	if .not.$status then call exit_code 2
-$	set On
-$	cmp aryprm6.ok tmp.
-$	if $status then  rm tmp.;
+$rstest4:	echo "rstest4 skipped"
 $	return
-$
-$aryprm7:	echo "aryprm7"
-$	set noOn
-$	gawk -f aryprm7.awk aryprm7.in >tmp. 2>&1
-$	if .not.$status then call exit_code 2
-$	set On
-$	cmp aryprm7.ok tmp.
-$	if $status then  rm tmp.;
+$!!rstest4:	echo "rstest4"
+$	gawk -f rstest4.awk rstest4.in >_rstest4.tmp
+$	cmp rstest4.ok _rstest4.tmp
+$	if $status then  rm _rstest4.tmp;
 $	return
 $
-$aryprm8:	echo "aryprm8"
-$	gawk -f aryprm8.awk aryprm8.in >tmp.
-$	cmp aryprm8.ok tmp.
-$	if $status then  rm tmp.;
+$rstest5:	echo "rstest5 skipped"
 $	return
-$
-$concat2:	echo "concat2"
-$	gawk -f concat2.awk concat2.in >tmp.
-$	cmp concat2.ok tmp.
-$	if $status then  rm tmp.;
+$!!rstest5:	echo "rstest5"
+$	gawk -f rstest5.awk rstest5.in >_rstest5.tmp
+$	cmp rstest5.ok _rstest5.tmp
+$	if $status then  rm _rstest5.tmp;
 $	return
 $
-$concat3:	echo "concat3"
-$	gawk -f concat3.awk concat3.in >tmp.
-$	cmp concat3.ok tmp.
-$	if $status then  rm tmp.;
+$synerr1:
+$synerr2:
+$	echo "''test'"
+$	set noOn
+$	gawk -f 'test'.awk >_'test'.tmp 2>&1
+$	if .not.$status then call exit_code 1 _'test'.tmp
+$	set On
+$	cmp 'test'.ok _'test'.tmp
+$	if $status then  rm _'test'.tmp;
 $	return
 $
-$delarpm2:	echo "delarpm2"
-$	gawk -f delarpm2.awk delarpm2.in >tmp.
-$	cmp delarpm2.ok tmp.
-$	if $status then  rm tmp.;
+$uninit2:
+$uninit3:
+$uninit4:
+$uninitialized:
+$	echo "''test'"
+$	gawk --lint -f 'test'.awk 'test'.in >_'test'.tmp 2>&1
+$	cmp 'test'.ok _'test'.tmp
+$	if $status then  rm _'test'.tmp;
 $	return
 $
-$delfunc:	echo "delfunc"
+$space:		echo "space"
 $	set noOn
-$	gawk -f delfunc.awk delfunc.in >tmp. 2>&1
-$	if .not.$status then call exit_code 2
+$	gawk -f " " space.awk >_space.tmp 2>&1
+$	if .not.$status then call exit_code 2 _space.tmp
 $	set On
-$	cmp delfunc.ok tmp.
-$	if $status then  rm tmp.;
+$!	space.ok expects "No such file...", we see "no such file..."
+$	igncascmp space.ok _space.tmp
+$	if $status then  rm _space.tmp;
 $	return
 $
-$exitval2:	echo "exitval2 skipped"
-$	return
-$!!exitval2:	echo "exitval2"
-$	gawk -f exitval2.awk exitval2.in >tmp.
-$	cmp exitval2.ok tmp.
-$	if $status then  rm tmp.;
+$printf0:	echo "printf0"
+$	gawk --posix -f printf0.awk >_printf0.tmp
+$	cmp printf0.ok _printf0.tmp
+$	if $status then  rm _printf0.tmp;
 $	return
 $
-$fmttest:	echo "fmttest"
-$	gawk -f fmttest.awk fmttest.in >tmp.
-$	cmp fmttest.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$fnarray2:	echo "fnarray2"
+$rsnulbig:	echo "rsnulbig"
+$	if .not.pipeok
+$	then	echo "Without the PIPE command, ''test' can't be run."
+$		On warning then  return
+$		pipe echo "With PIPE, this will probably take quite a while..."
+$		On warning then  $
+$		pipeok = 1
+$	else	echo "This will probably take quite a while too..."
+$	endif
 $	set noOn
-$	gawk -f fnarray2.awk fnarray2.in >tmp. 2>&1
-$	if .not.$status then call exit_code 1
-$	set On
-$	cmp fnarray2.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$fnmisc:	echo "fnmisc"
+$	pipe -
+	gawk -- "BEGIN {for (i = 1; i <= 128*64+1; i++) print ""abcdefgh123456\n""}" | -
+	gawk -- "BEGIN {RS = """"; ORS = ""\n\n""}; {print}" | -
+	gawk -- "/^[^a]/; END {print NR}" >_rsnulbig.tmp
+$	set On
+$	cmp rsnulbig.ok _rsnulbig.tmp
+$	if $status then  rm _rsnulbig.tmp;
+$	return
+$
+$rsnulbig2:	echo "rsnulbig2"
+$	if .not.pipeok
+$	then	echo "Without the PIPE command, ''test' can't be run."
+$		On warning then  return
+$		pipe echo "With PIPE, this will probably take quite a while..."
+$		On warning then  $
+$		pipeok = 1
+$	else	echo "This will probably take quite a while too..."
+$	endif
+$	set noOn
+$	pipe -
+	gawk -- "BEGIN {ORS=""""; n=""\n""; for (i=1; i<=10; i++) n=(n n); for (i=1; i<=128; i++) print n; print ""abc\n""}" | -
+	gawk -- "BEGIN {RS=""""; ORS=""\n\n"" }; {print}" | -
+	gawk -- "/^[^a]/; END {print NR}" >_rsnulbig2.tmp
+$	set On
+$	cmp rsnulbig2.ok _rsnulbig2.tmp
+$	if $status then  rm _rsnulbig2.tmp;
+$	return
+$
+$whiny:		echo "whiny"
+$	! WHINY_USERS=1 $(AWK) -f $(srcdir)/$@.awk $(srcdir)/$@.in >_$@
+$	Define/User WHINY_USERS 1
+$	gawk -f whiny.awk whiny.in >_whiny.tmp
+$	cmp whiny.ok _whiny.tmp
+$	if $status then  rm _whiny.tmp;
+$	return
+$
+$subamp:
+$wideidx:
+$widesub2:
+$widesub3:
+$	echo "''test'"
+$	gosub define_gawklocale
+$	gawk -f 'test'.awk 'test'.in >_'test'.tmp
+$	cmp 'test'.ok _'test'.tmp
+$	if $status then  rm _'test'.tmp;
+$	return
+$
+$ignrcas2:
+$!!lc_num1:
+$wideidx2:
+$widesub:
+$widesub4:
+$	echo "''test'"
+$	gosub define_gawklocale
+$	gawk -f 'test'.awk >_'test'.tmp
+$	cmp 'test'.ok _'test'.tmp
+$	if $status then  rm _'test'.tmp;
+$	return
+$
+$! This test is somewhat suspect for vms due to exit code manipulation
+$exitval1:	echo "exitval1"
+$	gawk -f exitval1.awk >_exitval1.tmp 2>&1
+$	if $status then  call exit_code 0 _exitval1.tmp
+$	cmp exitval1.ok _exitval1.tmp
+$	if $status then  rm _exitval1.tmp;
+$	return
+$
+$fsspcoln:	echo "fsspcoln"
+$	gawk -f fsspcoln.awk "FS=[ :]+" fsspcoln.in >_forspcoln.tmp
+$	cmp fsspcoln.ok _forspcoln.tmp
+$	if $status then  rm _forspcoln.tmp;
+$	return
+$
+$getlndir:	echo "getlndir"
+$	! assume we're running in the test subdirectory; we don't want to
+$	! perform a messy conversion of [] into its file specification
+$	gawk -v "SRCDIR=[-]test.dir" -f getlndir.awk >_getlndir.tmp
+$!	getlndir.ok expects "Is a directory", we see "is a directory"
+$	igncascmp getlndir.ok _getlndir.tmp
+$	if $status then  rm _getlndir.tmp;
+$	return
+$
+$rsstart2:	echo "rsstart2"
+$	gawk -f rsstart2.awk rsstart1.in >_rsstart2.tmp
+$	cmp rsstart2.ok _rsstart2.tmp
+$	if $status then  rm _rsstart2.tmp;
+$	return
+$
+$! rsstart3 fails, presumeably due to PIPE's use of print file format
+$rsstart3:	echo "rsstart3 skipped"
+$	return
+$!!rsstart3:	echo "rsstart3"
+$	if .not.pipeok
+$	then	echo "Without the PIPE command, ''test' can't be run."
+$		On warning then  return
+$		pipe echo "With PIPE, ''test' will finish quickly."
+$		On warning then  $
+$		pipeok = 1
+$	endif
+$	! head rsstart1.in | gawk -f rsstart2.awk >_rsstart3.tmp
+$	! splitting this into two steps would make it the same as rsstart2
 $	set noOn
-$	gawk -f fnmisc.awk fnmisc.in >tmp. 2>&1
-$	if .not.$status then call exit_code 1
+$	pipe -
+	gawk -- "FNR <= 10" rsstart1.in | -
+	gawk -f rsstart2.awk >_rsstart3.tmp
 $	set On
-$	cmp fnmisc.ok tmp.
-$	if $status then  rm tmp.;
+$	cmp rsstart3.ok _rsstart3.tmp
+$	if $status then  rm _rsstart3.tmp;
 $	return
 $
-$fordel:	echo "fordel"
-$	gawk -f fordel.awk fordel.in >tmp.
-$	cmp fordel.ok tmp.
-$	if $status then  rm tmp.;
+$nondec2:	echo "nondec2"
+$	gawk --non-decimal-data -v "a=0x1" -f nondec2.awk >_nondec2.tmp
+$	cmp nondec2.ok _nondec2.tmp
+$	if $status then  rm _nondec2.tmp;
 $	return
 $
-$getline:	echo "getline skipped"
-$	return
-$!!getline:	echo "getline"
-$	gawk -f getline.awk getline.in >tmp.
-$	cmp getline.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$getline3:	echo "getline3"
-$	gawk -f getline3.awk getline3.in >tmp.
-$	cmp getline3.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$gsubasgn:	echo "gsubasgn"
+$nofile:	echo "nofile"
+$!	gawk "{}" no/such/file >_nofile.tmp 2>&1
+$!	nofile.ok expects no/such/file, but using that name in the test would
+$!	yield "file specification syntax error" instead of "no such file..."
 $	set noOn
-$	gawk -f gsubasgn.awk gsubasgn.in >tmp. 2>&1
-$	if .not.$status then call exit_code 1
+$	gawk "{}" no-such-file >_nofile.tmp 2>&1
+$	if .not.$status then call exit_code 2 _nofile.tmp
 $	set On
-$	cmp gsubasgn.ok tmp.
-$	if $status then  rm tmp.;
+$!	restore altered file name
+$	gawk "{gsub(""no-such-file"", ""no/such/file""); print}" _nofile.tmp >_nofile.too
+$	rm _nofile.tmp;
+$	mv _nofile.too _nofile.tmp
+$!	nofile.ok expects "No such file ...", we see "no such file ..."
+$	igncascmp nofile.ok _nofile.tmp
+$	if $status then  rm _nofile.tmp;
 $	return
 $
-$gsubtest:	echo "gsubtest"
-$	gawk -f gsubtest.awk gsubtest.in >tmp.
-$	cmp gsubtest.ok tmp.
-$	if $status then  rm tmp.;
+$binmode1:	echo "binmode1"
+$	gawk -v "BINMODE=3" "BEGIN { print BINMODE }" >_binmode1.tmp
+$	cmp binmode1.ok _binmode1.tmp
+$	if $status then  rm _binmode1.tmp;
 $	return
 $
-$gsubtst2:	echo "gsubtst2"
-$	gawk -f gsubtst2.awk gsubtst2.in >tmp.
-$	cmp gsubtst2.ok tmp.
-$	if $status then  rm tmp.;
+$subi18n:	echo "subi18n"
+$	define/User GAWKLOCALE "en_US.UTF-8"
+$	gawk -f subi18n.awk >_subi18n.tmp
+$	cmp subi18n.ok _subi18n.tmp
+$	if $status then  rm _subi18n.tmp;
 $	return
 $
-$gsubtst3:	echo "gsubtst3"
-$	gawk --re-interval -f gsubtst3.awk gsubtst3.in >tmp.
-$	cmp gsubtst3.ok tmp.
-$	if $status then  rm tmp.;
+$concat4:	echo "concat4"
+$	define/User GAWKLOCALE "en_US.UTF-8"
+$	gawk -f concat4.awk concat4.in >_concat4.tmp
+$	cmp concat4.ok _concat4.tmp
+$	if $status then  rm _concat4.tmp;
 $	return
 $
-$gsubtst4:	echo "gsubtst4"
-$	gawk -f gsubtst4.awk gsubtst4.in >tmp.
-$	cmp gsubtst4.ok tmp.
-$	if $status then  rm tmp.;
+$devfd:		echo "devfd: not supported"
 $	return
-$
-$gsubtst5:	echo "gsubtst5"
-$	gawk -f gsubtst5.awk gsubtst5.in >tmp.
-$	cmp gsubtst5.ok tmp.
-$	if $status then  rm tmp.;
+$!!devfd:	echo "devfd"
+$	gawk 1 /dev/fd/4 /dev/fd/5 4< /devfd.in4 5< devfd.in5 >_devfd.tmp
+$	cmp devfd.ok _devfd.tmp
+$	if $status then  rm _devfd.tmp;
 $	return
 $
-$hex:	echo "hex"
-$	gawk -f hex.awk hex.in >tmp.
-$	cmp hex.ok tmp.
-$	if $status then  rm tmp.;
+$devfd1:	echo "devfd1: not supported"
 $	return
-$
-$inputred:	echo "inputred"
-$	gawk -f inputred.awk inputred.in >tmp.
-$	cmp inputred.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$iobug1:	echo "iobug1"
-$	cat = "TYPE sys$input:"
-$	true = "exit 1"	!success
-$	gawk -f iobug1.awk iobug1.in >tmp.
-$	cmp iobug1.ok tmp.
-$	if $status then  rm tmp.;
+$!!devfd1:	echo "devfd1"
+$	gawk -f devfd1.awk 4< devfd.in1 5< devfd.in2 >_devfd1.tmp
+$	cmp devfd1.ok _devfd1.tmp
+$	if $status then  rm _devfd1.tmp;
 $	return
 $
-$manglprm:	echo "manglprm"
-$	gawk -f manglprm.awk manglprm.in >tmp.
-$	cmp manglprm.ok tmp.
-$	if $status then  rm tmp.;
+$devfd2:	echo "devfd2: not supported"
 $	return
-$
-$nested:	echo "nested"
-$	gawk -f nested.awk nested.in >tmp.
-$	cmp nested.ok tmp.
-$	if $status then  rm tmp.;
+$!!devfd2:	echo "devfd2"
+$! The program text is the '1' which will print each record. How compact can you get?
+$	gawk 1 /dev/fd/4 /dev/fd/5 4< /devfd.in1 5< devfd.in2 >_devfd2.tmp
+$	cmp devfd2.ok _devfd2.tmp
+$	if $status then  rm _devfd2.tmp;
 $	return
 $
-$nfneg:	echo "nfneg"
+$mixed1:	echo "mixed1"
 $	set noOn
-$	gawk -f nfneg.awk nfneg.in >tmp. 2>&1
-$	if .not.$status then call exit_code 2
+$	gawk -f /dev/null --source "BEGIN {return junk}" >_mixed1.tmp 2>&1
+$	if .not.$status then call exit_code 1 _mixed1.tmp
 $	set On
-$	cmp nfneg.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$noloop1:	echo "noloop1"
-$	gawk -f noloop1.awk noloop1.in >tmp.
-$	cmp noloop1.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$noloop2:	echo "noloop2"
-$	gawk -f noloop2.awk noloop2.in >tmp.
-$	cmp noloop2.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$nulrsend:	echo "nulrsend"
-$	gawk -f nulrsend.awk nulrsend.in >tmp.
-$	cmp nulrsend.ok tmp.
-$	if $status then  rm tmp.;
+$	cmp mixed1.ok _mixed1.tmp
+$	if $status then  rm _mixed1.tmp;
 $	return
 $
-$prec:	echo "prec"
-$	gawk -f prec.awk prec.in >tmp.
-$	cmp prec.ok tmp.
-$	if $status then  rm tmp.;
+$mtchi18n:	echo "mtchi18n"
+$	define/User GAWKLOCALE "ru_RU.UTF-8"
+$	gawk -f mtchi18n.awk mtchi18n.in >_mtchi18n.tmp
+$	cmp mtchi18n.ok _mtchi18n.tmp
+$	if $status then  rm _mtchi18n.tmp;
 $	return
 $
-$prtoeval:	echo "prtoeval"
-$	gawk -f prtoeval.awk prtoeval.in >tmp.
-$	cmp prtoeval.ok tmp.
-$	if $status then  rm tmp.;
+$reint2:	echo "reint2"
+$	gosub define_gawklocale
+$	gawk --re-interval -f reint2.awk reint2.in >_reint2.tmp
+$	cmp reint2.ok _reint2.tmp
+$	if $status then  rm _reint2.tmp;
 $	return
 $
-$rstest1:	echo "rstest1"
-$	gawk -f rstest1.awk rstest1.in >tmp.
-$	cmp rstest1.ok tmp.
-$	if $status then  rm tmp.;
+$localenl:	echo "localenl skipped"
 $	return
-$
-$rstest2:	echo "rstest2"
-$	gawk -f rstest2.awk rstest2.in >tmp.
-$	cmp rstest2.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$rstest3:	echo "rstest3"
-$	gawk -f rstest3.awk rstest3.in >tmp.
-$	cmp rstest3.ok tmp.
-$	if $status then  rm tmp.;
+$!!localenl:	echo "localenl"
+$	@localenl.com /Output=_localenl.tmp	! sh ./localenl.sh >tmp.
+$	cmp localenl.ok _localenl.tmp
+$	if $status then  rm _localenl.tmp;
 $	return
 $
-$rstest4:	echo "rstest4 skipped"
+$mbprintf1:	echo "mbprintf1 skipped"
 $	return
-$!!rstest4:	echo "rstest4"
-$	gawk -f rstest4.awk rstest4.in >tmp.
-$	cmp rstest4.ok tmp.
-$	if $status then  rm tmp.;
+$!!mbprintf1:	echo "mbprintf1"
+$! Makefile test exports this, but we don't want to impact user's environment
+$	define/User GAWKLOCALE "en_US.UTF-8"
+$	gawk -f mbprintf1.awk mbprintf1.in >_mbprintf1.tmp
+$	cmp mbprintf1.ok _mbprintf1.tmp
+$	if $status then  rm _mbprintf1.tmp;
 $	return
 $
-$rstest5:	echo "rstest5 skipped"
-$	return
-$!!rstest5:	echo "rstest5"
-$	gawk -f rstest5.awk rstest5.in >tmp.
-$	cmp rstest5.ok tmp.
-$	if $status then  rm tmp.;
+$mbprintf2:	echo "mbprintf2"
+$! Makefile test exports this, ...
+$	define/User GAWKLOCALE "ja_JP.UTF-8"
+$	gawk -f mbprintf2.awk >_mbprintf2.tmp
+$	cmp mbprintf2.ok _mbprintf2.tmp
+$	if $status then  rm _mbprintf2.tmp;
 $	return
 $
-$scalar:	echo "scalar"
-$	set noOn
-$	gawk -f scalar.awk scalar.in >tmp. 2>&1
-$	if .not.$status then call exit_code 2
-$	set On
-$	cmp scalar.ok tmp.
-$	if $status then  rm tmp.;
+$mbprintf3:	echo "mbprintf3"
+$! Makefile test exports this, ...
+$	define/User GAWKLOCALE "en_US.UTF-8"
+$	gawk -f mbprintf3.awk mbprintf3.in >_mbprintf2.tmp
+$	cmp mbprintf3.ok _mbprintf2.tmp
+$	if $status then  rm _mbprintf2.tmp;
 $	return
 $
-$sortempty:	echo "sortempty"
-$	gawk -f sortempty.awk sortempty.in >tmp.
-$	cmp sortempty.ok tmp.
-$	if $status then  rm tmp.;
+$mbfw1:		echo "mbfw1 skipped"
 $	return
-$
-$splitarr:	echo "splitarr"
-$	gawk -f splitarr.awk splitarr.in >tmp.
-$	cmp splitarr.ok tmp.
-$	if $status then  rm tmp.;
+$!!mbfw1:		echo "mbfw1"
+$! Makefile test exports this, ...
+$	define/User GAWKLOCALE "en_US.UTF-8"
+$	gawk -f mbfw1.awk mbfw1.in >_mbfw1.tmp
+$	cmp mbfw1.ok _mbfw1.tmp
+$	if $status then  rm _mbfw1.tmp;
 $	return
 $
-$strcat1:	echo "strcat1"
-$	gawk -f strcat1.awk strcat1.in >tmp.
-$	cmp strcat1.ok tmp.
-$	if $status then  rm tmp.;
+$gsubtst6:	echo "gsubtst6"
+$	define/User GAWKLOCALE "C"
+$	gawk -f gsubtst6.awk >_gsubtst6.tmp
+$	cmp gsubtst6.ok _gsubtst6.tmp
+$	if $status then  rm _gsubtst6.tmp;
 $	return
 $
-$subsepnm:	echo "subsepnm"
-$	gawk -f subsepnm.awk subsepnm.in >tmp.
-$	cmp subsepnm.ok tmp.
-$	if $status then  rm tmp.;
+$mbstr1:	echo "mbstr1"
+$	gosub define_gawklocale
+$	AWKPATH_srcdir
+$	gawk -f mbstr1.awk >_mbstr1.tmp
+$	cmp mbstr1.ok _mbstr1.tmp
+$	if $status then  rm _mbstr1.tmp;
 $	return
 $
-$synerr1:	echo "synerr1"
+$printfbad2:	echo "printfbad2"
 $	set noOn
-$	gawk -f synerr1.awk synerr1.in >tmp. 2>&1
-$	if .not.$status then call exit_code 1
+$	gawk --lint -f printfbad2.awk printfbad2.in >_printfbad2.tmp 2>&1
 $	set On
-$	cmp synerr1.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$uninitialized:	echo "uninitialized"
-$	gawk --lint -f uninitialized.awk uninitialized.in >tmp. 2>&1
-$	cmp uninitialized.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$uninit2:	echo "uninit2"
-$	gawk --lint -f uninit2.awk uninit2.in >tmp. 2>&1
-$	cmp uninit2.ok tmp.
-$	if $status then  rm tmp.;
+$	cmp printfbad2.ok _printfbad2.tmp
+$	if $status then  rm _printfbad2.tmp;
 $	return
 $
-$uninit3:	echo "uninit3"
-$	gawk --lint -f uninit3.awk uninit3.in >tmp. 2>&1
-$	cmp uninit3.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$uninit4:	echo "uninit4"
-$	gawk --lint -f uninit4.awk uninit4.in >tmp. 2>&1
-$	cmp uninit4.ok tmp.
-$	if $status then  rm tmp.;
+$fmtspcl:
+$! fmtspcl only works if gawk was compiled to use IEEE floating point
+$	if floatmode.lt.0 then  gosub calc_floatmode
+$	if floatmode.lt.2
+$	then	echo "fmtspcl:  not supported"
+$	else	echo "fmtspcl"
+$		gawk -f fmtspcl.awk >_fmtspcl.tmp
+$		cmp fmtspcl.ok _fmtspcl.tmp
+$		if $status then  rm _fmtspcl.tmp;
+$	endif
 $	return
 $
-$unterm:	echo "unterm"
+$intformat:	echo "intformat"
+$! note: we use the Alpha value for D_float; VAX value is slightly higher
+$!	due to not losing precision by being processed via G_float
+$	huge_0 = "1.70141183460469213e+38"		! D_float
+$	huge_1 = "8.98846567431157854e+307"		! G_float
+$	huge_2 = "1.79769313486231570e+308"		! IEEE T_float
+$	if floatmode.lt.0 then  gosub calc_floatmode
+$	hugeval = huge_'floatmode'
 $	set noOn
-$	gawk -f unterm.awk unterm.in >tmp. 2>&1
-$	if .not.$status then call exit_code 1
+$	gawk -v "HUGEVAL=''hugeval'" -f intformat.awk >_intformat.tmp 2>&1
 $	set On
-$	cmp unterm.ok tmp.
-$	if $status then  rm tmp.;
-$	return
-$
-$wjposer1:	echo "wjposer1"
-$	gawk -f wjposer1.awk wjposer1.in >tmp.
-$	cmp wjposer1.ok tmp.
-$	if $status then  rm tmp.;
+$	cmp intformat.ok _intformat.tmp
+$	if $status then  rm _intformat.tmp;
 $	return
 $
-$zeroe0:	echo "zeroe0"
-$	gawk -f zeroe0.awk zeroe0.in >tmp.
-$	cmp zeroe0.ok tmp.
-$	if $status then  rm tmp.;
+$vms_cmd:	echo "vms_cmd"
+$	if f$search("vms_cmd.ok").eqs.""
+$	then create vms_cmd.ok
+World!
+$	endif
+$	gawk /Commands="BEGIN { print ""World!"" }" _NL: /Output=_vms_cmd.tmp
+$	cmp vms_cmd.ok _vms_cmd.tmp
+$	if $status then  rm _vms_cmd.tmp;
 $	return
 $
 $vms_io1:	echo "vms_io1"
@@ -1665,33 +1342,84 @@
 Hello
 $	endif
 $ !	define/User dbg$input sys$command:
-$	gawk -f - >tmp.
+$	gawk -f - >_vms_io1.tmp
 # prior to 3.0.4, gawk crashed doing any redirection after closing stdin
 BEGIN { print "Hello" >"/dev/stdout" }
-$	cmp vms_io1.ok tmp.
-$	if $status then  rm tmp.;
+$	cmp vms_io1.ok _vms_io1.tmp
+$	if $status then  rm _vms_io1.tmp;
 $	return
 $
-$vms_cmd:	echo "vms_cmd"
-$	if f$search("vms_cmd.ok").eqs.""
-$	then create vms_cmd.ok
-World!
+$vms_io2:	echo "vms_io2"
+$	if f$search("vms_io2.ok").eqs.""
+$	then create vms_io2.ok
+xyzzy
 $	endif
-$	gawk /Commands="BEGIN { print ""World!"" }" _NL: /Output=tmp.
-$	cmp vms_cmd.ok tmp.
-$	if $status then  rm tmp.;
+$	! VAXCRTL created all files in stream_LF format unless explicitly
+$	! overridden by the program; with DECC$SHR, a new version of an
+$	! existing file inherits the previous version's record format;
+$	! for gawk versions older than 3.1.7, that resulted in
+$	! "can't redirect to `File' (invalid record attributes)"
+$	! when an awk program used >"File" (internally, not on command line)
+$	! and File already existed as a batch log file or PIPE output file
+$	create /FDL=sys$input: _vms_io2.vfc
+file
+  organization sequential
+record
+  format VFC	! variable with fixed control area (default size 2 bytes)
+  carriage_control print
+$	set noOn
+$ !	define/User dbg$input sys$command:
+$	gawk -- "BEGIN { print ""xyzzy"" >""_vms_io2.vfc"" }" >_vms_io2.tmp 2>&1
+$	set On
+$	cmp _NL: _vms_io2.tmp
+$	if $status then  rm _vms_io2.tmp;
+$	cmp vms_io2.ok _vms_io2.vfc
+$	if $status then  rm _vms_io2.vfc;*
 $	return
 $
 $clean:
-$	if f$search("tmp.")	 .nes."" then  rm tmp.;*
-$	if f$search("tmp.too")	 .nes."" then  rm tmp.too;*
+$	if f$search("_*.*")	 .nes."" then  rm _*.tmp;*
+$	if f$search("_*.too")	 .nes."" then  rm _*.too;*
 $	if f$search("out%.")	 .nes."" then  rm out%.;*
+$	if f$search("strftime.in").nes."" then  rm strftime.in;*
 $	if f$search("strftime.ok").nes."" then  rm strftime.ok;*
 $	if f$search("test%.")	 .nes."" then  rm test%.;*
 $	if f$search("seq.")	 .nes."" then  rm seq.;*
 $	if f$search("_pid.in")	 .nes."" then  rm _pid.in;*
 $	if f$search("[.junk]*.*").nes."" then  rm [.junk]*.*;*
 $	if f$parse("[.junk]")	 .nes."" then  rm []junk.dir;1
+$	if f$search("_vms_io2.vfc")	 .nes."" then  rm _vms_io2.vfc;*
+$	return
+$
+$! try to determine what type of double precision floating point gawk uses
+$calc_floatmode:
+$	! this is fragile; it might break if gawk changes overflow handling
+$	Set noOn
+$	gawk -- "BEGIN {print 10^308}" >_NL: 2>&1
+$	if $status
+$	then	floatmode = 2		! IEEE T_float
+$	else	gawk -- "BEGIN {print 10^307}" >_NL: 2>&1
+$		if $status
+$		then	floatmode = 1	! Alpha/VAX G_float
+$		else	floatmode = 0	! VAX D_float
+$		endif
+$	endif
+$	Set On
+$	return
+$
+$! assign temporary value to logical name GAWKLOCALE unless it already has one
+$! [ -z "$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8
+$define_gawklocale:
+$	! gawk uses the C run-time libary's getenv() function to look up
+$	! GAWKLOCALE, so a symbol provides another way to supply the value;
+$	! we don't want to override logical or symbol if either is present
+$	if f$trnlnm("GAWKLOCALE").eqs.""
+$	then
+$	    if f$type(gawklocale).nes."STRING" .or. "''gawklocale'".eqs.""
+$	    then
+$		define/User GAWKLOCALE "en_US.UTF-8"
+$	    endif
+$	endif
 $	return
 $
 $! make sure that the specified file's longest-record-length field is set;
@@ -1718,7 +1446,7 @@
 $! to simulate the ``|| echo EXIT CODE $$? >>_$@'' shell script usage
 $exit_code: subroutine
 $	if f$trnlnm("FTMP").nes."" then  close/noLog ftmp
-$	open/Append ftmp tmp.
+$	open/Append ftmp 'p2'
 $	write ftmp "EXIT CODE: ",p1
 $	close ftmp
 $ endsubroutine !exit_code
EOF

# Final cleanup
echo Sleeping and touching files to update timestamps.
find . -name aclocal.m4 -print | xargs touch
sleep 1
touch configure
sleep 1
touch configh.in
sleep 1
touch libsigsegv/configure
sleep 2
touch libsigsegv/config.h.in
touch test/Maketests
find . -name Makefile.in -print | xargs touch
touch po/stamp-po
touch version.c
chmod +x configure

echo Remove any .orig or "'~'" files that may remain.
echo Use '"./configure && make"' to rebuild any dependent files.
echo Use '"cd po && make update-gmo"' to rebuild the gmo files.
echo Use '"make distclean"' to clean up.