#! /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 . # # 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 &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 #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_SYS_STAT_H # include #endif #ifdef STDC_HEADERS # include # include #else # ifdef HAVE_STDLIB_H # include # endif #endif #ifdef HAVE_STRING_H # if !defined STDC_HEADERS && defined HAVE_MEMORY_H # include # endif # include #endif #ifdef HAVE_STRINGS_H # include #endif #ifdef HAVE_INTTYPES_H # include #endif #ifdef HAVE_STDINT_H # include #endif #ifdef HAVE_UNISTD_H # include #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 if you have libraries in a nonstandard directory LIBS libraries to pass to the linker, e.g. -l CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if you have headers in a nonstandard directory 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 . _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 #include #include #include /* 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 to if __STDC__ is defined, since # 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 #else # include #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 _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 to if __STDC__ is defined, since # 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 #else # include #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 _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 #include #include #include 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 _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 _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 #include #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 _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 _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 #include #include #include /* 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 to if __STDC__ is defined, since # 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 #else # include #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 _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 to if __STDC__ is defined, since # 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 #else # include #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 _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 &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 &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 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.so # instead of lib.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 declares shl_load. For example, HP-UX 11i 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 to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #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 declares dlopen. For example, HP-UX 11i declares gettimeofday. */ #define dlopen innocuous_dlopen /* System header to define __stub macros and hopefully few prototypes, which can conflict with char dlopen (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #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 #endif #include #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 #endif #include #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 /* 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 /* 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 /* 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 /* 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 /* 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 &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 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 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 $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 #include 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 #include 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 #include 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 $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 $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 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 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 #include #include #include 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 _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 _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 #include #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 #include #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 #include #include 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 #include 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 _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 _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 #include 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 #include 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 #include 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 #include 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 _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 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 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 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 #include 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 #include 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 #include 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 #include 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 declares $ac_func. For example, HP-UX 11i 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 to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #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 declares _doprnt. For example, HP-UX 11i declares gettimeofday. */ #define _doprnt innocuous__doprnt /* System header to define __stub macros and hopefully few prototypes, which can conflict with char _doprnt (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #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 declares $ac_func. For example, HP-UX 11i 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 to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #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 # include #else # ifdef HAVE_SYS_TIME_H # include # else # include # endif #endif #include #include #ifdef HAVE_UNISTD_H # include #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 declares getaddrinfo. For example, HP-UX 11i declares gettimeofday. */ #define getaddrinfo innocuous_getaddrinfo /* System header to define __stub macros and hopefully few prototypes, which can conflict with char getaddrinfo (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #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 declares $ac_func. For example, HP-UX 11i 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 to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #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 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 _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 _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 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 declares gethostbyname. For example, HP-UX 11i declares gettimeofday. */ #define gethostbyname innocuous_gethostbyname /* System header to define __stub macros and hopefully few prototypes, which can conflict with char gethostbyname (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #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 declares connect. For example, HP-UX 11i declares gettimeofday. */ #define connect innocuous_connect /* System header to define __stub macros and hopefully few prototypes, which can conflict with char connect (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #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 #include #include 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 #include 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 #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 #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 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 #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 ." _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` 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 ' >$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 ' >$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 , 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 . 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 </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 <?"'"'"' &()|`$[]' \ && 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 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 < #include #ifdef _MSC_VER # include # include # include # define setmode _setmode #else # include # include # ifdef __CYGWIN__ # include # 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 #include #include #include #include #include #include #include #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 <"))); for (i = 0; i < newargc; i++) { LTWRAPPER_DEBUGPRINTF (("(main) newargz[%d] : %s\n", i, (newargz[i] ? newargz[i] : ""))); } 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 : ""), (value ? value : ""))); { #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 : ""), (value ? value : ""))); 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 : ""), (value ? value : ""))); 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 </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: MUST be included before this file. Also . * * 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 Versions 1.0 and 2.0 Paolo Bonzini 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. Copyright (C) This 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. , 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 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 * Makefile.am (install): Do nothing for inclusion with gawk. 2009-06-23 Bruno Haible * Makefile.am (check-next): No longer ask for copies of config.log. 2009-06-23 Bruno Haible Improve support for MirBSD 10. * configure.ac (CFG_FAULT, FAULT_CONTEXT): Treat MirBSD/i386 like OpenBSD/i386. 2009-06-23 Bruno Haible 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 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 * configure.ac (FAULT_CONTEXT_INCLUDE): Reinstall the AC_SUBST invocation. 2009-05-21 Bruno Haible * configure.ac (FAULT_CONTEXT_INCLUDE): Don't substitute into Makefiles. 2009-05-21 Bruno Haible * tests/Makefile.am (AUTOMAKE_OPTIONS): Assume automake >= 1.11. Use color-tests option. 2009-01-14 Bruno Haible * configure.ac: More consistent m4 quoting. 2008-09-27 Bruno Haible * build-aux/config.sub: Update to GNU version 2008-09-08. 2008-09-23 Eric Blake 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 * src/Makefile.am (LIBSIGSEGV_VERSION_INFO): New variable. (libsigsegv_la_LDFLAGS): Pass -rpath and -version-info option. Reported by Thomas Klausner . 2008-09-21 Eric Blake Bruno Haible 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 * 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 * Version 2.6 released. 2008-08-24 Bruno Haible * configure.ac: Treat Dragonfly BSD platforms like FreeBSD. Reported by Thomas Klausner . 2008-08-24 Bruno Haible * 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 * 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 * tests/sigsegv1.c: Include . * tests/sigsegv2.c: Likewise. * tests/sigsegv3.c: Include before all other headers. * tests/stackoverflow1.c: Likewise. * tests/stackoverflow2.c: Likewise. 2008-08-24 Bruno Haible 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 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 * src/Makefile.am (noinst_HEADERS): Remove machfault-macos-powerpc.h and machfault-macos-i386.h. Add machfault-macos.h. 2008-08-17 Bruno Haible 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 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 instead of and . (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 . 2008-07-20 Bruno Haible * src/handler-unix.c (sigsegv_handler): Preserve errno. 2008-07-20 Eric Blake * src/stackvma-mincore.c (mincore_is_near_this): Fix logic. 2008-07-20 Bruno Haible * tests/stackoverflow2.c (main): Test also a NULL pointer access. Reported by Eric Blake . 2008-06-23 Bruno Haible * build-aux/config.guess: Update to GNU version 2008-06-16. * build-aux/config.sub: Likewise. 2008-05-31 Bruno Haible 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 . 2008-05-31 Bruno Haible * m4/mmap-anon.m4 (SV_MMAP_ANON): Add known cross-compile results for MacOS X. Reported by Dr Tomaž Slivnik . 2008-05-27 Bruno Haible * 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 * configure.ac: Bump version number to 2.6. * src/sigsegv.h.in (LIBSIGSEGV_VERSION): Likewise. 2008-05-27 Bruno Haible 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 * 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 * 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 * src/fault-freebsd-i386.h (SIGSEGV_FAULT_STACKPOINTER): Use sc_rsp also on x86_64-freebsd platform. Reported by Dmitri Hrapof and Petr Salinger . 2007-11-15 Bruno Haible * 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 . 2007-11-11 Bruno Haible * Version 2.5 released. 2007-11-11 Bruno Haible * configure.ac: Bump version number to 2.5. * src/sigsegv.h.in (LIBSIGSEGV_VERSION): Likewise. 2007-10-28 Bruno Haible * 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 * src/sigsegv.h.in (stackoverflow_install_handler): Avoid comment inside comment. Reported by Chris Willmore . 2007-10-28 Bruno Haible * 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 . 2007-01-12 Bruno Haible * Makefile.am (check-next): Don't ask for reports from x86_64-*-linux* platforms. 2006-07-14 Bruno Haible * 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 . 2006-06-23 Bruno Haible * Version 2.4 released. 2006-06-23 Bruno Haible * configure.ac: Bump version number to 2.4. * src/sigsegv.h.in (LIBSIGSEGV_VERSION): Likewise. 2006-06-17 Bruno Haible * src/Makefile.am (noinst_HEADERS): Add fault-netbsd.h. 2006-06-17 Bruno Haible * 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 * tests/stackoverflow1.c (recurse): Remove useless cast. * tests/stackoverflow2.c (recurse): Likewise. 2006-06-17 Bruno Haible * src/stackvma-freebsd.c (sigsegv_get_vma): Test whether mincore() works as expected before using it. 2006-03-28 Ralf Wildenhues * 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 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 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 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 * 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 * Version 2.3 released. 2006-04-28 Bruno Haible * 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 * build-aux: Renamed from autoconf. * configure.ac (AC_CONFIG_AUX_DIR): Set to build-aux. 2006-04-22 Bruno Haible * configure.ac: Renamed from configure.in. 2006-04-21 Bruno Haible * 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 * configure.in: For handler-macos.c, include mach/thread_status.h. * configure: Regenerate. 2005-06-21 Paolo Bonzini * tests/stackoverflow1.c (recurse): Make more resilient to compiler optimization. (recurse_1): New. * tests/stackoverflow2.c: Likewise. 2005-05-24 Bruno Haible * src/handler-win32.c (main_exception_filter): Copy CONTEXT structure to safe area on the stack. Based on patch by Doug Currie . * src/handler-win32.c (main_exception_filter): Swap arguments passed to stack_overflow_handler. Patch by Doug Currie . * src/handler-win32.c (main_exception_filter): Align %esp on a 16-byte boundary. 2005-03-02 Bruno Haible * Version 2.2 released. 2005-03-02 Bruno Haible * 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 * 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 * configure.in: Fix test of CFG_MACHFAULT. 2005-02-27 Bruno Haible * 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 * 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 * 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 * m4/libtool.m4: Upgrade to libtool-1.5.6. * autoconf/ltmain.sh: Upgrade to libtool-1.5.6. 2004-08-18 Bruno Haible * configure.in: Bump version number to 2.2. 2004-08-17 Bruno Haible 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 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 * src/handler-macos.c: Completed; removed dependency on signals. * src/machfault-macos-powerpc.h: Reorganized. 2003-12-08 Paolo Bonzini Bruno Haible * src/handler-macos.c: New file. * src/machfault.h: New file. * src/machfault-macos-powerpc.h: New file. 2003-12-05 Bruno Haible * 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 * 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 * 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 . 2003-08-21 Bruno Haible * Version 2.1 released. 2003-06-24 Paolo Bonzini * m4/fault.m4: Exit if we detect an infinite loop. * aclocal.m4: Regenerate. * configure: Regenerate. 2003-06-18 Bruno Haible * autoconf/install-sh: Update from automake-1.7.5. 2003-05-14 Paolo Bonzini * 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 * src/dispatcher.c (insert): Fix lossage in 64-bit environments (cast from void* to unsigned int). 2003-05-10 Bruno Haible * 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 Bruno Haible * 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 * 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 * configure.in: Tweak 2003-04-26 patch so that it works on mingw32 and Cygwin. 2003-05-02 Bruno Haible * 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 * configure.in: Don't use fault-hurd.h on NetBSD/alpha. It does not work. 2003-05-01 Bruno Haible Support for Linux/HPPA. * fault-linux-hppa.h: Don't include . (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 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 * src/fault-hpux-hppa.h: Make it work on machines with 64-bit registers as well. * configure.in: Likewise. 2003-04-29 Bruno Haible * 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 * src/stackvma-freebsd.c (sigsegv_get_vma): Fix logic error. 2002-04-17 Paolo Bonzini 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 * 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 for NetBSD/Alpha. 2003-04-03 Bruno Haible * 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 * 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 Bruno Haible 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 . * 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 . (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 * 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 . 2002-09-30 Bruno Haible * 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 * Makefile.am (check-next): Don't ask for reports from i?86-*-linux* platforms. 2002-09-30 Bruno Haible 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 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 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 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 * src/fault-posix.h: Don't include . Needed for hppa-linux. Reported by Will Newton . 2002-08-28 Bruno Haible * Version 2.0 released. 2002-07-28 Bruno Haible Big reorganization and rewrite. Every file changed. EOF-ChangeLog echo - 'ChangeLog.1' cat << 'EOF-ChangeLog.1' > 'ChangeLog.1' 2002-07-15 Bruno Haible * 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 * 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 * test1.c: Include , for exit(). * test2.c: Likewise. * test3.c: Likewise. 2002-04-28 Bruno Haible * 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 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 , 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 * 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 * autoconf/ltmain.sh: Upgrade to libtool-1.4. * autoconf/ltconfig: Remove file. 2001-06-08 Bruno Haible * autoconf/config.guess: Update to GNU version 2001-05-11. * autoconf/config.sub: Likewise. 2001-05-09 Bruno Haible * sigsegv.h.in: Recognize __arm__ as CPU indicator on Linux. * handler.c: Likewise. 2001-03-19 Bruno Haible * 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 * ltconfig, ltmain.sh: Upgrade to libtool-1.3.5. 2001-02-20 Bruno Haible * 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 * Makefile.in (exec_prefix): Use configure's --exec-prefix argument. 2000-11-15 Bruno Haible * Makefile.msvc: Add support for MFLAGS and DEBUG parameters. 2000-11-12 Bruno Haible * autoconf/config.guess, autoconf/config.sub: Upgrade to newest version from GNU CVS. 2000-11-08 Bruno Haible * 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 * autoconf/aclocal.m4 (CL_CANONICAL_HOST): Fix bug in 2000-05-23 change. 2000-05-29 Bruno Haible * autoconf/aclocal.m4 (CL_PROG_INSTALL): Fix typo. Reported by Thomas Klausner . 2000-05-25 Bruno Haible * Makefile.msvc: Use 'copy' and 'ren' instead of 'cp' and 'mv'. 2000-05-23 Bruno Haible * 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 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 * handler.c (user_handler): Define also on WIN32. 1999-06-16 Bruno Haible * sigsegv.h.in (stackoverflow_context_t): More precise definition on Solaris, Irix, OSF/1. 1999-05-30 Bruno Haible * Makefile.in (install-lib): New target. 1999-05-29 Bruno Haible * Makefile.in (install): Make sure the directories $(prefix) and $(exec_prefix) exist. 1999-05-16 Bruno Haible 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 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 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 * 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 * 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 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 * 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 * 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 * 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 `' 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 ## ## This 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 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 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 and ) 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--.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-.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 : - 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 , 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 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 Copyright notice: Copyright 1998-1999, 2002-2008 Bruno Haible Copyright 2002-2005 Paolo Bonzini Copyright 2008 Eric Blake 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 /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 . # Please send patches to . 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 ." 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 /* 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 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 #include 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 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 #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' /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 echo i586-unisys-sysv4 exit ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # 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 < # include #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 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 # 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 < 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 . 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 ." 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 , 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 . 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 </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 <?"'"'"' &()|`$[]' \ && 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 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 < #include #ifdef _MSC_VER # include # include # include # define setmode _setmode #else # include # include # ifdef __CYGWIN__ # include # 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 #include #include #include #include #include #include #include #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 <"))); for (i = 0; i < newargc; i++) { LTWRAPPER_DEBUGPRINTF (("(main) newargz[%d] : %s\n", i, (newargz[i] ? newargz[i] : ""))); } 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 : ""), (value ? value : ""))); { #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 : ""), (value ? value : ""))); 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 : ""), (value ? value : ""))); 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 </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 , 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 ." 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 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 header file. */ #undef HAVE_INTTYPES_H /* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H /* Define to 1 if you have the `mincore' function. */ #undef HAVE_MINCORE /* Define if defines MAP_ANON and mmaping with MAP_ANON works. */ #undef HAVE_MMAP_ANON /* Define if 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 header file. */ #undef HAVE_STDINT_H /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H /* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H /* Define to 1 if you have the 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 header file. */ #undef HAVE_SYS_SIGNAL_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H /* Define to 1 if you have the header file. */ #undef HAVE_UCONTEXT_H /* Define to 1 if you have the 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 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 header file. */ #undef HAVE_INTTYPES_H /* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H /* Define to 1 if you have the `mincore' function. */ #undef HAVE_MINCORE /* Define if defines MAP_ANON and mmaping with MAP_ANON works. */ #undef HAVE_MMAP_ANON /* Define if 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 header file. */ #undef HAVE_STDINT_H /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H /* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H /* Define to 1 if you have the 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 header file. */ #undef HAVE_SYS_SIGNAL_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H /* Define to 1 if you have the header file. */ #undef HAVE_UCONTEXT_H /* Define to 1 if you have the 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 &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 #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_SYS_STAT_H # include #endif #ifdef STDC_HEADERS # include # include #else # ifdef HAVE_STDLIB_H # include # endif #endif #ifdef HAVE_STRING_H # if !defined STDC_HEADERS && defined HAVE_MEMORY_H # include # endif # include #endif #ifdef HAVE_STRINGS_H # include #endif #ifdef HAVE_INTTYPES_H # include #endif #ifdef HAVE_STDINT_H # include #endif #ifdef HAVE_UNISTD_H # include #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 if you have libraries in a nonstandard directory LIBS libraries to pass to the linker, e.g. -l CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if you have headers in a nonstandard directory 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` term_norm=`${AWK:-awk} 'BEGIN { printf("%c%c%c", 27, 91, 109); }' /dev/null` ;; vt100*) term_bold=`${AWK:-awk} 'BEGIN { printf("%c%c%c%c%c%c", 27, 91, 49, 109, 0, 0); }' /dev/null` term_norm=`${AWK:-awk} 'BEGIN { printf("%c%c%c%c%c", 27, 91, 109, 0, 0); }' /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 #include #include #include /* 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 to if __STDC__ is defined, since # 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 #else # include #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 _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 to if __STDC__ is defined, since # 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 #else # include #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 _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 #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 &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 &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 #include #include #include 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 _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 _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 #include #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 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.so # instead of lib.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 declares shl_load. For example, HP-UX 11i 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 to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #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 declares dlopen. For example, HP-UX 11i declares gettimeofday. */ #define dlopen innocuous_dlopen /* System header to define __stub macros and hopefully few prototypes, which can conflict with char dlopen (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #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 #endif #include #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 #endif #include #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 #include #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 #include #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 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 #include 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 #include 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 #include 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 #include 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 #include #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 #include #include #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 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 #include #if HAVE_SYS_SIGNAL_H # include #endif #include #include #if HAVE_MMAP_DEVZERO # include # 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 #include 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 #include #if HAVE_SYS_SIGNAL_H # include #endif #include #include #include #if HAVE_MMAP_DEVZERO # include # 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 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 #include #if HAVE_SYS_SIGNAL_H # include #endif #include #include #if HAVE_MMAP_DEVZERO # include # 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 #include #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 #include #if HAVE_SYS_SIGNAL_H # include #endif #include #include "$srcdir/src/fault-linux-m68k.c" #include #include #if HAVE_MMAP_DEVZERO # include # 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 #include 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 #include #if HAVE_SYS_SIGNAL_H # include #endif #include #include #include #if HAVE_MMAP_DEVZERO # include # 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 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 #include #if HAVE_SYS_SIGNAL_H # include #endif #include #include #if HAVE_MMAP_DEVZERO # include # 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 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 #include #if HAVE_SYS_SIGNAL_H # include #endif #include #include #if HAVE_MMAP_DEVZERO # include # 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 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 #include #if HAVE_SYS_SIGNAL_H # include #endif #include #include #if HAVE_MMAP_DEVZERO # include # 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 #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 #include #if HAVE_SYS_SIGNAL_H # include #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 #include #if HAVE_MMAP_DEVZERO # include # 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 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 #include #if HAVE_SYS_SIGNAL_H # include #endif #include #include #if HAVE_MMAP_DEVZERO # include # 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 #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 #include #if HAVE_SYS_SIGNAL_H # include #endif #include "$srcdir/src/fault-netbsd-alpha.c" #include #include #if HAVE_MMAP_DEVZERO # include # 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 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 #include #if HAVE_SYS_SIGNAL_H # include #endif #include #include #if HAVE_MMAP_DEVZERO # include # 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 #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 #include #if HAVE_SYS_SIGNAL_H # include #endif #include "$srcdir/src/fault-macosdarwin7-powerpc.c" #include #include #if HAVE_MMAP_DEVZERO # include # 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 #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 #include #if HAVE_SYS_SIGNAL_H # include #endif #include "$srcdir/src/fault-macosdarwin5-powerpc.c" #include #include #if HAVE_MMAP_DEVZERO # include # 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 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 #include #if HAVE_SYS_SIGNAL_H # include #endif #include #include #if HAVE_MMAP_DEVZERO # include # 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 ' 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 #include #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 #include ' ;; 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 ' 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 < 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 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 declares $ac_func. For example, HP-UX 11i 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 to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #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 declares $ac_func. For example, HP-UX 11i 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 to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #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 declares $ac_func. For example, HP-UX 11i 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 to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #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 #if HAVE_SYS_SIGNAL_H # include #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 #if HAVE_SYS_SIGNAL_H # include #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 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 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 #include #if HAVE_SYS_SIGNAL_H # include #endif #if HAVE_SETRLIMIT # include # include # include #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 #include #if HAVE_SYS_SIGNAL_H # include #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 #include #include #if HAVE_SETRLIMIT # include # include # include #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 #include #include #ifndef SS_ONSTACK #define SS_ONSTACK SA_ONSTACK #endif #if HAVE_SETRLIMIT # include # include # include #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 #include #include #include #ifndef SS_ONSTACK #define SS_ONSTACK SA_ONSTACK #endif #if HAVE_SETRLIMIT # include # include # include #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 #include #include #if HAVE_SETRLIMIT # include # include # include #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 #include #include #ifndef SS_ONSTACK #define SS_ONSTACK SA_ONSTACK #endif #if HAVE_SETRLIMIT # include # include # include #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 #include #include #include #ifndef SS_ONSTACK #define SS_ONSTACK SA_ONSTACK #endif #if HAVE_SETRLIMIT # include # include # include #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 ." _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` 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 ' >$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 ' >$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 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 #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 . On MacOS X (Darwin) one also dnl needs . 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 ], [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 #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 ], [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 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 ' 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 #include #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 #include ' ;; 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 ' 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 < 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 ], [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 #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 #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 dnl Copyright (C) 2002 Bruno Haible 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` term_norm=`${AWK:-awk} 'BEGIN { printf("%c%c%c", 27, 91, 109); }' /dev/null` ;; vt100*) term_bold=`${AWK:-awk} 'BEGIN { printf("%c%c%c%c%c%c", 27, 91, 49, 109, 0, 0); }' /dev/null` term_norm=`${AWK:-awk} 'BEGIN { printf("%c%c%c%c%c", 27, 91, 109, 0, 0); }' /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 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 #include #if HAVE_SYS_SIGNAL_H # include #endif $4 #include #include #if HAVE_MMAP_DEVZERO # include # 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 $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 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 #include #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 #include #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 ]], [[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 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: # # ='`$ECHO "X$" | $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 ." 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 #endif #include #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.so # instead of lib.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 &1 /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 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 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 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 #include 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 #include ]], [[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 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 #include 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 #include ]], [[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 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 #include #include #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 #include #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 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 #include #include $4 #if HAVE_SETRLIMIT # include # include # include #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 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 #include #include $4 #if HAVE_SETRLIMIT # include # include # include #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 dnl Copyright (C) 2008 Eric Blake 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 #if HAVE_SYS_SIGNAL_H # include #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 ]], [[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 #include #if HAVE_SYS_SIGNAL_H # include #endif #if HAVE_SETRLIMIT # include # include # include #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 ]], [[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 #include #if HAVE_SYS_SIGNAL_H # include #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 ## ## This 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 /' \ -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 /' \ -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 This 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 /* needed for NULL on SunOS4 */ #include #ifdef _WIN32 #include #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 = (heightleftheight) 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 This 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 This 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 This 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 This 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 This 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 #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 This 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 This 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 This 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 Copyright (C) 2002-2003, 2009 Bruno Haible This 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 This 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 This 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 This 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 This 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 This 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 #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 This 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 #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 This 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 #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 This 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 #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 This 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 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 This 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 This 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 This 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 #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 This 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 #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 This 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 #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 This 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 #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 This 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 #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 This 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 #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 This 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 #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 This 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//sigcontextinfo.h. */ /* For SIGSEGV_FAULT_STACKPOINTER, see the definition of GET_STACK in glibc/sysdeps/unix/sysv/linux//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 This 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 This 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 /* 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 This 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 This 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 #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 This 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 , 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 This 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 This 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 This 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 This 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 This 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 This 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 #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 This 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 This 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 This 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 This 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 This 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 Copyright (C) 2003 Paolo Bonzini This 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 #include #include #include #if HAVE_SYS_SIGNAL_H # include #endif #include #include #include #include #include #include /* 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 ), 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 EXC_TYPES_COUNT 10 11 EXC_CRASH -- 10 mach_vm_MSG_COUNT 18 19 CPU_TYPE_ARM -- ... memory_object_control_MSG_COUNT 11 12 UPL_ABORT_REFERENCE -- 0x80 MACH_RCV_TRAILER_AV -- 8 MACH_PORT_RIGHT_LABELH -- ... THREAD_AFFINITY_POLICY -- 4 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 This 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 This 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 /* needed for NULL on SunOS4 */ #include #include #if HAVE_SYS_SIGNAL_H # include #endif #include /* For MacOSX. */ #ifndef SS_DISABLE #define SS_DISABLE SA_DISABLE #endif #include "fault.h" #include CFG_SIGNALS #if HAVE_STACK_OVERFLOW_RECOVERY #include /* perror */ #if HAVE_GETRLIMIT # include # include # include /* 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 Copyright (C) 2003 Paolo Bonzini This 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 #include /* * 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 This 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 This 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 This 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 This 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 #include 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 This 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 #include #if HAVE_SYS_SIGNAL_H # include #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 This 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 This 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 This 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 This 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 This 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 This 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 This 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 Copyright (C) 2003 Paolo Bonzini This 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 This 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 This 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 * #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 This 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 /* 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 * #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 This 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 #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 This 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 #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 This 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 #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 This 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 #ifdef HAVE_UNISTD_H # include #endif #include #include #include #ifndef NeXT #include #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 This 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 #ifdef HAVE_UNISTD_H # include #endif #include #include /* 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 This 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 This 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 /* open, close */ #include /* open */ #include #include /* mmap, munmap */ #include /* 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 This 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, EINTR */ #include /* O_RDONLY */ #include /* size_t */ #include /* read, close */ /* Buffered read-only streams. We cannot use 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 This 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 This 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 This 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 This 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 ## ## This 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=''; \ grn=''; \ lgn=''; \ blu=''; \ std=''; \ } 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 This 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 #include #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 #include #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 # 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 This 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 #endif #include "sigsegv.h" #include #if HAVE_SIGSEGV_RECOVERY #include "mmaputil.h" #include 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 This 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 #endif #include "sigsegv.h" #include #if HAVE_SIGSEGV_RECOVERY #include "mmaputil.h" #include 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 This 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 #endif #include "sigsegv.h" #include #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 /* for abort, exit */ #include #include 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 This 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 #endif #include "sigsegv.h" #include #include #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 /* needed for NULL on SunOS4 */ #include /* for abort, exit */ #include #include #if HAVE_SETRLIMIT # include # include # include #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 This 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 #endif #include "sigsegv.h" #include #include #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 /* needed for NULL on SunOS4 */ #include /* for abort, exit */ #include #include #if HAVE_SETRLIMIT # include # include # include #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 + + * Release 3.1.7: Release tar file made. + +Fri Jul 17 08:35:10 2009 Arnold D. Robbins + + * awkgram.c: Rebuilt with current Bison (2.4.1). + +Thu Jul 9 22:55:17 2009 Arnold D. Robbins + + * (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 + + * main.c (init_locale): New function to make a deep copy of the + struct lconv. Thanks to KIMURA Koichi + 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * floatmagic.h: New file. + * builtin.c (format_tree): Use functions defined in floatmagic.h. + +Tue Jun 30 21:57:47 2009 Arnold D. Robbins + + * 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 + + * bootstrap.h: Revised. Now works again. We think. (CVS-only file) + +Wed Jun 24 21:57:30 2009 Arnold D. Robbins + + * 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 + + * awk.h: Don't define HAVE_SIGSEGV_H for DJGPP. + +Thu Jun 18 05:38:42 2009 Dave Pitts + + * custom.h: Changes needed for z/OS. + +Wed Jun 10 08:22:53 2009 Arnold D. Robbins + + * node.c (parse_escape): Add a lint warning if \x.. has more than two + hex digits. + +2009-06-08 gettextize + + * configure.ac (AM_GNU_GETTEXT_VERSION): Bump to 0.17. + +Mon Jun 8 22:13:49 2009 Arnold D. Robbins + + 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 + + * 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 + + 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 + + * awk.h (getnode): For MPROF: Fix a typo. + +Fri May 15 14:10:44 2009 Arnold D. Robbins + + 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 + + * builtin.c (sub_common): In code for handling \ replacements, + first make sure that 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 + 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 + + * 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 . + 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 + + * 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" for + the report. + +Wed Mar 18 18:15:41 2009 Pat Rankin + + * 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 + + * 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 + + * 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 + + * profile.c (pp_delete): Print tree->exec_count to actually get + the value printed. Thanks to Hermann Peifer + for reporting the bug. + +Thu Feb 12 21:54:34 2009 Arnold D. Robbins + + * 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 . 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 + + * 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 + + * io.c (do_close): Wrap updating of ERRNO in check for not + do_traditional. + +Sat Jan 31 23:14:00 2009 Arnold D. Robbins + + * 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 + for reporting the problem. + +Thu Jan 29 21:14:30 2009 Arnold D. Robbins + + * 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 + + Changes suggested by Toni Schilling , + 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 + + * 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 + + * 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 + + 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 + + * io.c (devopen): Add a retry to calls to socketopen. Tunable + via undocumented GAWK_SOCK_RETRIES environment variable. Based + on code from Juergen Kahrs after a + suggestion from Hermann Peifer . + +Mon Jan 5 22:48:39 2009 Arnold D. Robbins + + * io.c (redirect): A getline from a directory is no longer + fatal; instead it returns -1. Thanks to Paolo + for the report. + +Mon Dec 29 22:04:57 2008 Arnold D. Robbins + + * 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 . + +Thu Dec 11 21:23:50 2008 Arnold D. Robbins + + * 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." + + (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 + + * 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 + + * 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 . + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * re.c (research): Don't ever use DFA if need_start. It can + break on some weird cases. Reported by + "T. X. G." . + +Wed Jul 30 22:27:20 2008 Arnold D. Robbins + + * 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 + for reporting the bug. + +Tue Jun 24 07:44:06 2008 Arnold D. Robbins + + * dfa.c (insert): Reworked for significant speed improvement + by Johan Walles . 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 + for finding the problem. + +Sun Jun 22 23:08:14 2008 Arnold D. Robbins + + * 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 for pointing out the existence + of a problem. + +Fri May 23 12:08:24 2008 Arnold D. Robbins + + * 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 . + +Wed May 14 05:55:48 2008 Arnold D. Robbins + + * 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 + + * 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 + + * 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 + + * dfa.c (prednames): Add an extra zero to final initializer to + silence a compiler warning. Reported by Duncan Moore + . + +Wed Apr 23 21:36:06 2008 Steffen Schuler + + * field.c (fw_parse_field): Add code for multibyte case. + +Sat Mar 15 22:17:21 2008 Arnold D. Robbins + + * 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 + + * 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 + + * 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 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 + + * 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 + + * 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 + + * 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 + + * 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 . + (dfaanalyze): Made a similar change. + +Fri Dec 21 11:22:16 2007 Arnold D. Robbins + + * profile.c (pprint): Add a missing `#ifdef PROFILING'. + +Thu Dec 13 22:19:19 2007 Arnold D. Robbins + + * 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 + + * 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 + + * 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 * Release 3.1.6: Release tar file made. @@ -494,7 +980,7 @@ From Matthew Woehlke 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 @@ -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 @@ -618,14 +1104,14 @@ Tue Jul 4 22:43:05 2006 Arnold D. Robbins * eval.c (interpret): Node_assign_concat case: Turn off NUMBER and - NUMCUR flags in result. Sheesh. Thanks to - for finding the problem. + NUMCUR flags in result. Sheesh. Thanks to + for finding the problem. Mon Jul 3 22:49:44 2006 Pat Rankin * 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 @@ -637,7 +1123,7 @@ Fri Jun 23 15:48:34 2006 Arnold D. Robbins * 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 @@ -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 - * 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 @@ -977,16 +1463,16 @@ Thu Apr 28 23:05:33 2005 Stepan Kasal * 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 * 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 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 +---------------------------- + +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 ], + [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 ], [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 #endif #if HAVE_STDINT_H # include #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 #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 */ +#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 + + * Release 3.1.7: Release tar file made. + Mon Oct 22 08:49:05 2007 Arnold D. Robbins * 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 #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 , 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=/' < 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 or . */ @@ -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 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 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 + + * Release 3.1.7: Release tar file made. + +Tue Jul 21 22:20:25 2009 Arnold D. Robbins + + * 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 + + * 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 + + * 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 + + * 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 + + * awkcard.in: Fix table option for --verbose. + +Mon Jun 8 00:40:26 2009 Tommi Vainikainen + + * gawk.1: Bug fix to restore space between paragraphs at + entry for "--". + +Thu May 21 21:09:59 2009 Arnold D. Robbins + + * gawk.1, awkcard.in: Document new -O / --optimize option. + * gawk.texi (Options): Likewise. + +Fri May 15 14:34:37 2009 Arnold D. Robbins + + * 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 + + * 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 + + * awkcard.in: Bell Labs awk also supports fflush() + and fflush(""). Thanks to Steffen Schuler + . + +Mon Mar 30 21:26:04 2009 Arnold D. Robbins + + * 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 + + * gawk.texi (Translate Program): Bug fix in stranslate + function from Steffen Schuler . + +Tue Feb 3 22:06:10 2009 Arnold D. Robbins + + * gawk.texi (Regexp Field Splitting): Documented dark corner + of ^ in FS. + +Sat Jan 17 20:37:12 2009 Arnold D. Robbins + + * gawk.texi (Plain Getline): Bug fix in code. Thanks to + Steffen Schuler . + +Mon Jan 5 22:47:42 2009 Arnold D. Robbins + + * gawk.1, awkcard.in: Document that getline returns 1 + on sucess. Thanks to Paolo for + the report. + +Fri Dec 26 14:45:39 2008 Arnold D. Robbins + + * gawk.texi, gawkinet.texi: Update to FDL 1.3. + +Mon Dec 1 21:20:39 2008 Arnold D. Robbins + + * gawk.texi (File Checking): Correct the text at the end; getline + isn't fatal, period, not related to POSIX. Thanks to + Seb 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 . + +Fri Aug 1 17:34:55 2008 Arnold D. Robbins + + * gawk.texi (Signature Program): Added new subsection. + +Thu Jul 31 21:38:08 2008 Arnold D. Robbins + + * 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 + + * 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 + + * gawk.texi, gawkinet.texi: Updated the Back-Cover text per + latest from the FSF. + +Fri Jan 25 12:13:39 2008 Dave Pitts + + * gawk.texi (pwcat.c, grcat.c): Added ZOS_USS changes. + +Mon Jan 14 05:30:16 2008 Arnold D. Robbins + + * gawk.texi: Add maintainer contact info for z/OS. + Mon Oct 22 08:49:05 2007 Arnold D. Robbins * 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\" }" + +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 +@c based on material from Michal Jaegermann , 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 + + * Release 3.1.7: Release tar file made. + +Mon May 18 21:31:34 2009 Arnold D. Robbins + + * 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 + + * rwarray.c (do_reada, read_elem, read_value): Made the code + actually work. + +Fri May 15 16:01:06 2009 Arnold D. Robbins + + * rwarray.c, rwarray.awk: New files. + * steps: Updated. + Mon Oct 22 08:49:05 2007 Arnold D. Robbins * 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 +#include +#include +#include + + +#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 + + * Release 3.1.7: Release tar file made. + +2009-06-08 gettextize + + * 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 + + * libtool.m4, lt~obsolete.m4 ltsugar.m4 ltversion.m4, + ltoptions.m4: New files. + Mon Oct 22 08:49:05 2007 Arnold D. Robbins * 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 ], - [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 ], [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 @@ -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 +#include +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 + 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 #include ], - [], 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 exists and doesn't clash with .]) + [], 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 exists and doesn't clash with .]) + 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 + 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 #include ], - [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 exists, doesn't clash with , - 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 exists, doesn't clash with , + 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: +# +# ='`$ECHO "X$" | $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 ." + +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 +#endif + +#include + +#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.so + # instead of lib.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 &1 /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 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 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 + 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 #include ], - [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 exists, doesn't clash with , - 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 exists, doesn't clash with , + 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 #endif +#ifdef HAVE_SIGSEGV_H +#include +#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 . + */ + +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 + + * Release 3.1.7: Release tar file made. + Mon Oct 22 08:49:05 2007 Arnold D. Robbins * 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 + + * Release 3.1.7: Release tar file made. + +Mon Jul 13 05:43:07 2009 Scott Deifik + + * Makefile.tst: Still more sync with mainline. + +Tue Jun 23 05:24:12 2009 Scott Deifik + + * Makefile.tst: More sync with mainline. + +Thu Jun 18 06:24:29 2009 Scott Deifik + + * Makefile.tst: Sync with mainline. + +2008-07-26 Eli Zaretskii + + * config.h (WEXITSTATUS) [_MSC_VER || __MINGW32__]: Define. + Mon Oct 22 08:49:05 2007 Arnold D. Robbins * 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 + + * Release 3.1.7: Release tar file made. + +Mon Jun 8 23:12:09 2009 Arnold D. Robbins + + * Makefile.in.in: Reinstate change of 2008.12.18. + +2009-06-08 gettextize + + * Makefile.in.in: Upgrade to gettext-0.17. + +Thu Dec 18 20:36:34 2008 Arnold D. Robbins + + * Makefile.in.in (install-dvi, install-ps): New targets that + do nothing, per email from "Stoddard, Isaac A" + . + Mon Oct 22 08:49:05 2007 Arnold D. Robbins * 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 +# Copyright (C) 1995-1997, 2000-2007 by Ulrich Drepper # # 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 \n" "Language-Team: Catalan \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 \n" "Language-Team: Danish \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 .\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 \n" "Language-Team: German \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 , 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 , 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 \n" "Language-Team: Spanish \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 .\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 \n" "Language-Team: French \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 \n" "Language-Team: Irish \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 \n" "Language-Team: LANGUAGE \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 \n" "Language-Team: Hebrew \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 , 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 \n" +"Language-Team: Indonesian \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 \n" "Language-Team: Italian \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 \n" "Language-Team: Japanese \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 , 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 \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 \n" "Language-Team: Dutch \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 .\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 , 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 , 2003, 2004, 2005, 2007, 2008, 2009. # additional help by Sergey Poznyakoff , 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 \n" "Language-Team: Polish \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 \n" "Language-Team: Brazilian Portuguese \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 \n" "Language-Team: Romanian \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 \n" "Language-Team: Kinyarwanda \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 , 2001-2002. -# -# $Id: sv.po,v 1.23 2003/02/27 18:54:30 martin Exp $ +# Christer Andersson , 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 \n" -"Language-Team: Swedish \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 \n" +"Language-Team: Swedish \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 .\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 \n" "Language-Team: Turkish \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ı 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 , 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 \n" "Language-Team: Vietnamese \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 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 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ụ 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 " -#: 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 " -#: 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 " -#: 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ở 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 , 2007. +# LI Daobing , 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 \n" "Language-Team: Chinese (simplified) \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 + + * Release 3.1.7: Release tar file made. + Mon Oct 22 08:49:05 2007 Arnold D. Robbins * 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 . @@ -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 #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 \ matches . If not set, then \ 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 . @@ -42,9 +42,11 @@ #if defined HAVE_STDBOOL_H || defined _LIBC # include #endif /* HAVE_STDBOOL_H || _LIBC */ +#if !defined(ZOS_USS) #if defined HAVE_STDINT_H || defined _LIBC # include #endif /* HAVE_STDINT_H || _LIBC */ +#endif /* !ZOS_USS */ #if defined _LIBC # include #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 +# include 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 . @@ -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 @@ -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 + + * Release 3.1.7: Release tar file made. + +Fri Jul 3 13:04:55 2009 Arnold D. Robbins + + * 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 + + * lintold.awk: Changed to avoid floating point problems on VMS. + +Wed Jun 24 05:39:00 2009 Arnold D. Robbins + + * 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 + + * 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 + + * Makefile.am (MACHINE_TESTS): Move fmtspcl to here per Pat Rankin. + +Fri Jun 19 14:26:55 2009 Arnold D. Robbins + + * 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 + + * 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 + + * 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 + + * Makefile.am (lc_num1, printfbad2): Fix so building outside the + source directory works. + +Thu May 21 21:10:53 2009 Arnold D. Robbins + + * badargs.ok: Updated. + +Fri May 15 14:38:16 2009 Arnold D. Robbins + + * Makefile.am (paramres): New test. + * paramres.awk, paramres.ok: New files. + +Fri Mar 27 10:57:49 2009 Arnold D. Robbins + + * Makefile.am (printfbad2): New test. + * printfbad2.awk, printfbad2.in, printfbad2.ok: New files. + +Tue Feb 3 22:08:27 2009 Arnold D. Robbins + + * Makefile.am (uparrfs): New test. + * uparrfs.awk, uparrfs.in, uparrfs.ok: New files. + +Mon Jan 5 22:53:26 2009 Arnold D. Robbins + + * Makefile.am (getlndir): New test. + * getlndir.awk, getlndir.ok: New files. + +Mon Dec 29 22:46:10 2008 Arnold D. Robbins + + * Makefile.am (mbprintf3): New test. + * mbprintf3.awk, mbprintf3.in, mbprintf3.ok: New files. + +Thu Dec 18 20:57:39 2008 Stepan Kasal + + * 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 + + * Makefile.am (mbstr1): New test. + * mbstr1.awk, mbstr1.ok: New files. + +Thu Dec 4 22:44:39 2008 Arnold D. Robbins + + * Makefile.am (closebad): New test. + * closebad.awk, closebad.ok: New files. + +Thu Jul 31 21:44:21 2008 Arnold D. Robbins + + * 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 + + * Makefile.am (mbfw1): Add code for test to use a UTF locale. + +Wed Apr 23 22:13:47 2008 Arnold D. Robbins + + * 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 * 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 +# Subject: [Fwd: Gawk length(array) bug] +# To: bug-gawk@gnu.org +# Cc: Aharon Robbins +# 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 +# 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." +# 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 +# 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 +# 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 +# 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: -# Received: from localhost (skeeve [127.0.0.1]) -# by skeeve.com (8.12.11/8.12.11) with ESMTP id jBF6ubXX003003 -# for ; 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 -# ; 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 -# 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 + + * Release 3.1.7: Release tar file made. + Mon Oct 22 08:49:05 2007 Arnold D. Robbins * 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 + + * Release 3.1.7: Release tar file made. + Mon Oct 22 08:49:05 2007 Arnold D. Robbins * 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 + + * Release 3.1.7: Release tar file made. + +Wed Jul 8 18:59:22 2009 Pat Rankin + + * 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 + + * 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 + + * vms-conf.h (EXIT_SUCCESS, EXIT_FAILURE): Define #if !HAVE_STDLIB_H. + (EXIT_FATAL): Define. + +Mon Mar 16 19:09:27 2009 Pat Rankin + + * vms-conf.h: Synchronize with configh.in, + (HAVE_ATEXIT): Define. + +Tue Jan 27 21:49:53 2009 Arnold D. Robbins + + Per Pat Rankin based on changes to awk.h and change in main code + to use EXIT_SUCCESS / EXIT_FAILURE from Toni Schilling + . + + * redirect.h (exit): Remove definition. + * vms_misc.c (vms_exit): Remove code. + Mon Oct 22 08:49:05 2007 Arnold D. Robbins * 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 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 */ +#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 /* - * 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, - <#> 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. -$ 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'",- "' 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.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.