diff --git a/ABOUT-NLS b/ABOUT-NLS index 47d5e39f0e1a..4f50fb5f0d46 100644 --- a/ABOUT-NLS +++ b/ABOUT-NLS @@ -1,10 +1,11 @@ -Notes on the Free Translation Project -************************************* +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 will gradually become able to speak many languages. -A few packages already provide translations for their messages. +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, @@ -15,17 +16,17 @@ 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 at translations should contact the appropriate team. +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. -Quick configuration advice -========================== +1.1 Quick configuration advice +============================== - If you want to exploit the full power of internationalization, you +If you want to exploit the full power of internationalization, you should configure it using ./configure --with-included-gettext @@ -45,37 +46,37 @@ to change to GNU `gettext' as soon as possible. you have installed a recent copy of the GNU gettext package with the included `libintl'. -INSTALL Matters -=============== +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'. +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 GNU `gettext' own -library will be used. This library is wholly contained within this -package, usually in the `intl/' subdirectory, so prior installation of -the GNU `gettext' package is _not_ required. Installers may use -special options at configuration time for changing the default -behaviour. The commands: +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 +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 be not what is 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 +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 @@ -86,7 +87,7 @@ and therefore it will not be used. The reason is that even an emulation of `gettext' on top of `catgets' could not provide all the extensions of the GNU `gettext' library. - Internationalized packages have usually many `po/LL.po' files, where + 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 @@ -95,13 +96,16 @@ 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. -Using This Package -================== +1.3 Using This Package +====================== - As a user, if your language has been installed for this package, you +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. Here `LL' is an ISO 639 two-letter language code, -and `CC' is an ISO 3166 two-letter country code. For example, let's +`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'). @@ -117,8 +121,8 @@ country code serves to distinguish the dialects. 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 country by running the command -`locale -a | grep '^LL''. +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 @@ -131,22 +135,28 @@ 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. -Translating Teams -================= +1.4 Translating Teams +===================== - For the Free Translation Project to be a success, we need interested +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://www.iro.umontreal.ca/contrib/po/HTML/', in the "National teams" -area. +`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. @@ -160,433 +170,1125 @@ message to `sv-request@li.org', having this message body: _actively_ in translations, or at solving translational difficulties, rather than merely lurking around. If your team does not exist yet and you want to start one, or if you are unsure about what to do or how to -get started, please write to `translation@iro.umontreal.ca' to reach the -coordinator for all translator teams. +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 skill are praised more than -programming skill, here. +the terminology in use. Proven linguistic skills are praised more than +programming skills, here. -Available Packages -================== +1.5 Available Packages +====================== - Languages are not equally supported in all packages. The following -matrix shows the current state of internationalization, as of May 2003. +Languages are not equally supported in all packages. The following +matrix shows the current state of internationalization, as of May 2010. The matrix shows, in regard of each package, for which languages PO files have been submitted to translation coordination, with a translation percentage of at least 50%. - Ready PO files am az be bg ca cs da de el en en_GB eo es - +-------------------------------------------+ - a2ps | [] [] [] [] | - aegis | () | - anubis | | - ap-utils | | - bash | [] [] [] | - batchelor | | - bfd | [] [] | - binutils | [] [] | - bison | [] [] [] | - bluez-pin | [] [] | - clisp | | - clisp | [] [] [] | - coreutils | [] [] [] [] | - cpio | [] [] [] | - darkstat | () [] | - diffutils | [] [] [] [] [] [] [] | - e2fsprogs | [] [] | - enscript | [] [] [] [] | - error | [] [] [] [] [] | - fetchmail | [] () [] [] [] [] | - fileutils | [] [] [] | - findutils | [] [] [] [] [] [] | - flex | [] [] [] [] | - gas | [] | - gawk | [] [] [] [] | - gcal | [] | - gcc | [] [] | - gettext | [] [] [] [] [] | - gettext-runtime | [] [] [] [] [] | - gettext-tools | [] [] | - gimp-print | [] [] [] [] [] | - gliv | | - glunarclock | [] [] [] | - gnucash | () [] | - gnucash-glossary | [] () [] | - gnupg | [] () [] [] [] [] | - gpe-calendar | [] | - gpe-conf | [] | - gpe-contacts | [] | - gpe-edit | | - gpe-login | [] | - gpe-ownerinfo | [] | - gpe-sketchbook | [] | - gpe-timesheet | | - gpe-today | [] | - gpe-todo | [] | - gphoto2 | [] [] [] [] | - gprof | [] [] | - gpsdrive | () () () | - grep | [] [] [] [] [] | - gretl | [] | - hello | [] [] [] [] [] [] | - id-utils | [] [] | - indent | [] [] [] [] | - jpilot | [] [] [] [] | - jwhois | [] | - kbd | [] [] [] [] [] | - ld | [] [] | - libc | [] [] [] [] [] [] | - libgpewidget | [] | - libiconv | [] [] [] [] [] | - lifelines | [] () | - lilypond | [] | - lingoteach | | - lingoteach_lessons | () () | - lynx | [] [] [] [] | - m4 | [] [] [] [] | - mailutils | [] [] | - make | [] [] [] | - man-db | [] () [] [] () | - mysecretdiary | [] [] [] | - nano | [] () [] [] [] | - nano_1_0 | [] () [] [] [] | - opcodes | [] [] | - parted | [] [] [] [] [] | - ptx | [] [] [] [] [] | - python | | - radius | | - recode | [] [] [] [] [] [] | - screem | | - sed | [] [] [] [] [] | - sh-utils | [] [] [] | - sharutils | [] [] [] [] [] [] | - sketch | [] () [] | - soundtracker | [] [] [] | - sp | [] | - tar | [] [] [] [] | - texinfo | [] [] [] [] | - textutils | [] [] [] [] | - tin | () () | - util-linux | [] [] [] [] [] | - vorbis-tools | [] [] [] | - wastesedge | () | - wdiff | [] [] [] [] | - wget | [] [] [] [] [] [] [] | - xchat | [] [] [] | - xpad | | - +-------------------------------------------+ - am az be bg ca cs da de el en en_GB eo es - 0 1 4 2 31 17 54 60 14 1 4 12 56 - - et fa fi fr ga gl he hr hu id it ja ko - +----------------------------------------+ - a2ps | [] [] [] () () | - aegis | | - anubis | [] | - ap-utils | [] | - bash | [] [] | - batchelor | [] | - bfd | [] [] | - binutils | [] [] | - bison | [] [] [] [] | - bluez-pin | [] [] [] [] | - clisp | | - clisp | [] | - coreutils | [] [] [] [] | - cpio | [] [] [] [] | - darkstat | () [] [] [] | - diffutils | [] [] [] [] [] [] [] | - e2fsprogs | | - enscript | [] [] | - error | [] [] [] [] | - fetchmail | [] | - fileutils | [] [] [] [] [] | - findutils | [] [] [] [] [] [] [] [] [] [] [] | - flex | [] [] | - gas | [] | - gawk | [] [] | - gcal | [] | - gcc | [] | - gettext | [] [] [] | - gettext-runtime | [] [] [] [] | - gettext-tools | [] | - gimp-print | [] [] | - gliv | () | - glunarclock | [] [] [] [] | - gnucash | [] | - gnucash-glossary | [] | - gnupg | [] [] [] [] [] [] [] | - gpe-calendar | [] | - gpe-conf | | - gpe-contacts | [] | - gpe-edit | [] [] | - gpe-login | [] | - gpe-ownerinfo | [] [] [] | - gpe-sketchbook | [] | - gpe-timesheet | [] [] [] | - gpe-today | [] [] | - gpe-todo | [] [] | - gphoto2 | [] [] [] | - gprof | [] [] | - gpsdrive | () [] () () | - grep | [] [] [] [] [] [] [] [] [] [] [] | - gretl | [] | - hello | [] [] [] [] [] [] [] [] [] [] [] [] [] | - id-utils | [] [] [] | - indent | [] [] [] [] [] [] [] [] | - jpilot | [] () | - jwhois | [] [] [] [] | - kbd | [] | - ld | [] | - libc | [] [] [] [] [] [] | - libgpewidget | [] [] [] | - libiconv | [] [] [] [] [] [] [] [] | - lifelines | () | - lilypond | [] | - lingoteach | [] [] | - lingoteach_lessons | | - lynx | [] [] [] [] | - m4 | [] [] [] [] | - mailutils | | - make | [] [] [] [] [] [] | - man-db | [] () () | - mysecretdiary | [] [] | - nano | [] [] [] [] | - nano_1_0 | [] [] [] [] | - opcodes | [] [] | - parted | [] [] [] | - ptx | [] [] [] [] [] [] [] | - python | | - radius | | - recode | [] [] [] [] [] [] | - screem | | - sed | [] [] [] [] [] [] [] [] | - sh-utils | [] [] [] [] [] [] | - sharutils | [] [] [] [] [] | - sketch | [] | - soundtracker | [] [] [] | - sp | [] () | - tar | [] [] [] [] [] [] [] [] [] | - texinfo | [] [] [] [] | - textutils | [] [] [] [] [] | - tin | [] () | - util-linux | [] [] [] [] () [] | - vorbis-tools | [] | - wastesedge | () | - wdiff | [] [] [] [] [] | - wget | [] [] [] [] [] [] [] [] | - xchat | [] [] [] | - xpad | | - +----------------------------------------+ - et fa fi fr ga gl he hr hu id it ja ko - 20 1 15 73 14 24 8 10 30 31 19 31 9 - - lg lt lv ms nb nl nn no pl pt pt_BR ro - +----------------------------------------+ - a2ps | [] [] () () () [] [] | - aegis | () | - anubis | [] [] | - ap-utils | () | - bash | [] | - batchelor | | - bfd | | - binutils | | - bison | [] [] [] [] | - bluez-pin | [] | - clisp | | - clisp | [] | - coreutils | [] | - cpio | [] [] [] | - darkstat | [] [] [] [] | - diffutils | [] [] [] | - e2fsprogs | | - enscript | [] [] | - error | [] [] | - fetchmail | () () | - fileutils | [] | - findutils | [] [] [] [] | - flex | [] | - gas | | - gawk | [] | - gcal | | - gcc | | - gettext | [] | - gettext-runtime | [] | - gettext-tools | | - gimp-print | [] | - gliv | [] | - glunarclock | [] | - gnucash | | - gnucash-glossary | [] [] | - gnupg | | - gpe-calendar | [] [] | - gpe-conf | [] [] | - gpe-contacts | [] | - gpe-edit | [] [] | - gpe-login | [] [] | - gpe-ownerinfo | [] [] | - gpe-sketchbook | [] [] | - gpe-timesheet | [] [] | - gpe-today | [] [] | - gpe-todo | [] [] | - gphoto2 | | - gprof | [] | - gpsdrive | () () () | - grep | [] [] [] [] | - gretl | | - hello | [] [] [] [] [] [] [] [] [] | - id-utils | [] [] [] | - indent | [] [] [] | - jpilot | () () | - jwhois | [] [] [] | - kbd | | - ld | | - libc | [] [] [] [] | - libgpewidget | [] [] | - libiconv | [] [] | - lifelines | | - lilypond | [] | - lingoteach | | - lingoteach_lessons | | - lynx | [] [] | - m4 | [] [] [] [] | - mailutils | | - make | [] [] | - man-db | [] | - mysecretdiary | [] | - nano | [] [] [] [] | - nano_1_0 | [] [] [] [] | - opcodes | [] [] [] | - parted | [] [] [] | - ptx | [] [] [] [] [] [] [] | - python | | - radius | | - recode | [] [] [] | - screem | | - sed | [] [] | - sh-utils | [] | - sharutils | [] | - sketch | [] | - soundtracker | | - sp | | - tar | [] [] [] [] [] [] | - texinfo | [] | - textutils | [] | - tin | | - util-linux | [] [] | - vorbis-tools | [] [] | - wastesedge | | - wdiff | [] [] [] [] | - wget | [] [] [] | - xchat | [] [] | - xpad | [] | - +----------------------------------------+ - lg lt lv ms nb nl nn no pl pt pt_BR ro - 0 0 2 11 7 26 3 4 18 15 34 34 - - ru sk sl sr sv ta tr uk vi wa zh_CN zh_TW - +-------------------------------------------+ - a2ps | [] [] [] [] [] | 16 - aegis | () | 0 - anubis | [] [] | 5 - ap-utils | () | 1 - bash | [] | 7 - batchelor | | 1 - bfd | [] [] [] | 7 - binutils | [] [] [] | 7 - bison | [] [] | 13 - bluez-pin | | 7 - clisp | | 0 - clisp | | 5 - coreutils | [] [] [] [] [] | 14 - cpio | [] [] [] | 13 - darkstat | [] () () | 9 - diffutils | [] [] [] [] | 21 - e2fsprogs | [] | 3 - enscript | [] [] [] | 11 - error | [] [] [] | 14 - fetchmail | [] | 7 - fileutils | [] [] [] [] [] [] | 15 - findutils | [] [] [] [] [] [] | 27 - flex | [] [] [] | 10 - gas | [] | 3 - gawk | [] [] | 9 - gcal | [] [] | 4 - gcc | [] | 4 - gettext | [] [] [] [] [] [] | 15 - gettext-runtime | [] [] [] [] [] [] | 16 - gettext-tools | [] [] | 5 - gimp-print | [] [] | 10 - gliv | | 1 - glunarclock | [] [] [] | 11 - gnucash | [] [] | 4 - gnucash-glossary | [] [] [] | 8 - gnupg | [] [] [] [] | 16 - gpe-calendar | [] | 5 - gpe-conf | | 3 - gpe-contacts | [] | 4 - gpe-edit | [] | 5 - gpe-login | [] | 5 - gpe-ownerinfo | [] | 7 - gpe-sketchbook | [] | 5 - gpe-timesheet | [] | 6 - gpe-today | [] | 6 - gpe-todo | [] | 6 - gphoto2 | [] [] | 9 - gprof | [] [] | 7 - gpsdrive | [] [] | 3 - grep | [] [] [] [] | 24 - gretl | | 2 - hello | [] [] [] [] [] | 33 - id-utils | [] [] [] | 11 - indent | [] [] [] [] | 19 - jpilot | [] [] [] [] [] | 10 - jwhois | () () [] [] | 10 - kbd | [] [] | 8 - ld | [] [] | 5 - libc | [] [] [] [] | 20 - libgpewidget | | 6 - libiconv | [] [] [] [] [] [] | 21 - lifelines | [] | 2 - lilypond | [] | 4 - lingoteach | | 2 - lingoteach_lessons | () | 0 - lynx | [] [] [] [] | 14 - m4 | [] [] [] | 15 - mailutils | | 2 - make | [] [] [] [] | 15 - man-db | [] | 6 - mysecretdiary | [] [] | 8 - nano | [] [] [] | 15 - nano_1_0 | [] [] [] | 15 - opcodes | [] [] | 9 - parted | [] [] | 13 - ptx | [] [] [] | 22 - python | | 0 - radius | | 0 - recode | [] [] [] [] | 19 - screem | [] | 1 - sed | [] [] [] [] [] | 20 - sh-utils | [] [] [] | 13 - sharutils | [] [] [] [] | 16 - sketch | [] | 5 - soundtracker | [] | 7 - sp | [] | 3 - tar | [] [] [] [] [] | 24 - texinfo | [] [] [] [] | 13 - textutils | [] [] [] [] [] | 15 - tin | | 1 - util-linux | [] [] | 14 - vorbis-tools | [] | 7 - wastesedge | | 0 - wdiff | [] [] [] [] | 17 - wget | [] [] [] [] [] [] [] | 25 - xchat | [] [] [] | 11 - xpad | | 1 - +-------------------------------------------+ - 50 teams ru sk sl sr sv ta tr uk vi wa zh_CN zh_TW - 97 domains 32 19 16 0 56 0 48 10 1 1 12 23 913 + Ready PO files af am ar as ast az be be@latin bg bn_IN bs ca crh + +---------------------------------------------------+ + a2ps | [] [] | + aegis | | + ant-phone | | + anubis | | + aspell | [] [] | + bash | | + bfd | | + bibshelf | [] | + binutils | | + bison | | + bison-runtime | [] | + bluez-pin | [] [] | + bombono-dvd | | + buzztard | | + cflow | | + clisp | | + coreutils | [] [] | + cpio | | + cppi | | + cpplib | [] | + cryptsetup | | + dfarc | | + dialog | [] [] | + dico | | + diffutils | [] | + dink | | + doodle | | + e2fsprogs | [] | + enscript | [] | + exif | | + fetchmail | [] | + findutils | [] | + flex | [] | + freedink | | + gas | | + gawk | [] [] | + gcal | [] | + gcc | | + gettext-examples | [] [] [] [] | + gettext-runtime | [] [] [] | + gettext-tools | [] [] | + gip | [] | + gjay | | + gliv | [] | + glunarclock | [] [] | + gnubiff | | + gnucash | [] | + gnuedu | | + gnulib | | + gnunet | | + gnunet-gtk | | + gnutls | | + gold | | + gpe-aerial | | + gpe-beam | | + gpe-bluetooth | | + gpe-calendar | | + gpe-clock | [] | + gpe-conf | | + gpe-contacts | | + gpe-edit | | + gpe-filemanager | | + gpe-go | | + gpe-login | | + gpe-ownerinfo | [] | + gpe-package | | + gpe-sketchbook | | + gpe-su | [] | + gpe-taskmanager | [] | + gpe-timesheet | [] | + gpe-today | [] | + gpe-todo | | + gphoto2 | | + gprof | [] | + gpsdrive | | + gramadoir | | + grep | | + grub | [] [] | + gsasl | | + gss | | + gst-plugins-bad | [] | + gst-plugins-base | [] | + gst-plugins-good | [] | + gst-plugins-ugly | [] | + gstreamer | [] [] [] | + gtick | | + gtkam | [] | + gtkorphan | [] | + gtkspell | [] [] [] | + gutenprint | | + hello | [] | + help2man | | + hylafax | | + idutils | | + indent | [] [] | + iso_15924 | | + iso_3166 | [] [] [] [] [] [] [] [] | + iso_3166_2 | | + iso_4217 | | + iso_639 | [] [] [] [] [] | + iso_639_3 | [] | + jwhois | | + kbd | | + keytouch | [] | + keytouch-editor | | + keytouch-keyboa... | [] | + klavaro | [] | + latrine | | + ld | [] | + leafpad | [] [] | + libc | [] [] | + libexif | () | + libextractor | | + libgnutls | | + libgpewidget | | + libgpg-error | | + libgphoto2 | | + libgphoto2_port | | + libgsasl | | + libiconv | [] | + libidn | | + lifelines | | + liferea | [] [] | + lilypond | | + linkdr | [] | + lordsawar | | + lprng | | + lynx | [] | + m4 | | + mailfromd | | + mailutils | | + make | | + man-db | | + man-db-manpages | | + minicom | | + mkisofs | | + myserver | | + nano | [] [] | + opcodes | | + parted | | + pies | | + popt | | + psmisc | | + pspp | [] | + pwdutils | | + radius | [] | + recode | [] [] | + rosegarden | | + rpm | | + rush | | + sarg | | + screem | | + scrollkeeper | [] [] [] | + sed | [] [] | + sharutils | [] [] | + shishi | | + skencil | | + solfege | | + solfege-manual | | + soundtracker | | + sp | | + sysstat | | + tar | [] | + texinfo | | + tin | | + unicode-han-tra... | | + unicode-transla... | | + util-linux-ng | [] | + vice | | + vmm | | + vorbis-tools | | + wastesedge | | + wdiff | | + wget | [] [] | + wyslij-po | | + xchat | [] [] [] [] | + xdg-user-dirs | [] [] [] [] [] [] [] [] [] | + xkeyboard-config | [] [] [] | + +---------------------------------------------------+ + af am ar as ast az be be@latin bg bn_IN bs ca crh + 6 0 2 3 19 1 11 3 28 3 1 38 5 + + cs da de el en en_GB en_ZA eo es et eu fa fi + +-------------------------------------------------+ + a2ps | [] [] [] [] [] [] [] [] | + aegis | [] [] [] | + ant-phone | [] () | + anubis | [] [] [] | + aspell | [] [] [] [] [] | + bash | [] [] [] [] | + bfd | [] [] | + bibshelf | [] [] [] [] | + binutils | [] [] | + bison | [] [] [] | + bison-runtime | [] [] [] [] [] | + bluez-pin | [] [] [] [] [] [] [] | + bombono-dvd | [] [] | + buzztard | [] [] [] | + cflow | [] [] [] | + clisp | [] [] [] [] | + coreutils | [] [] [] [] | + cpio | [] | + cppi | [] | + cpplib | [] [] [] | + cryptsetup | [] | + dfarc | [] [] [] [] | + dialog | [] [] [] [] [] | + dico | | + diffutils | [] [] [] [] [] [] [] | + dink | [] [] [] | + doodle | [] | + e2fsprogs | [] [] [] | + enscript | [] [] [] | + exif | () [] [] [] | + fetchmail | [] [] () [] [] [] | + findutils | [] [] [] [] | + flex | [] [] [] | + freedink | [] [] [] [] | + gas | [] | + gawk | [] [] [] | + gcal | [] | + gcc | [] [] | + gettext-examples | [] [] [] [] [] | + gettext-runtime | [] [] [] [] [] | + gettext-tools | [] [] [] | + gip | [] [] [] [] [] | + gjay | [] [] | + gliv | [] [] [] [] | + glunarclock | [] [] [] | + gnubiff | () | + gnucash | [] () () () () () | + gnuedu | [] [] | + gnulib | [] [] [] | + gnunet | | + gnunet-gtk | [] | + gnutls | [] [] | + gold | [] [] | + gpe-aerial | [] [] [] [] [] | + gpe-beam | [] [] [] [] [] | + gpe-bluetooth | [] [] [] | + gpe-calendar | [] [] | + gpe-clock | [] [] [] [] [] | + gpe-conf | [] [] [] [] | + gpe-contacts | [] [] [] [] | + gpe-edit | [] [] [] | + gpe-filemanager | [] [] [] [] | + gpe-go | [] [] [] [] [] | + gpe-login | [] [] [] | + gpe-ownerinfo | [] [] [] [] [] | + gpe-package | [] [] [] [] | + gpe-sketchbook | [] [] [] [] [] | + gpe-su | [] [] [] [] [] | + gpe-taskmanager | [] [] [] [] [] | + gpe-timesheet | [] [] [] [] [] | + gpe-today | [] [] [] [] [] | + gpe-todo | [] [] [] [] | + gphoto2 | [] [] () [] [] [] [] | + gprof | [] [] [] [] | + gpsdrive | [] [] [] | + gramadoir | [] [] [] | + grep | [] [] | + grub | [] [] [] | + gsasl | [] [] | + gss | [] | + gst-plugins-bad | [] [] [] [] [] [] | + gst-plugins-base | [] [] [] [] [] [] | + gst-plugins-good | [] [] [] [] [] [] [] | + gst-plugins-ugly | [] [] [] [] [] [] [] | + gstreamer | [] [] [] [] [] [] | + gtick | [] () [] [] | + gtkam | [] [] () [] [] | + gtkorphan | [] [] [] [] | + gtkspell | [] [] [] [] [] [] [] [] | + gutenprint | [] [] [] [] | + hello | [] [] [] [] [] | + help2man | [] [] | + hylafax | [] [] | + idutils | [] [] [] | + indent | [] [] [] [] [] [] [] [] | + iso_15924 | [] () [] [] [] | + iso_3166 | [] [] [] () [] [] [] () [] | + iso_3166_2 | () | + iso_4217 | [] [] [] () [] [] [] | + iso_639 | [] [] [] () [] [] [] | + iso_639_3 | | + jwhois | [] [] | + kbd | [] [] [] [] [] | + keytouch | [] [] [] | + keytouch-editor | [] [] [] | + keytouch-keyboa... | [] [] | + klavaro | [] [] [] [] | + latrine | [] () [] | + ld | [] [] [] | + leafpad | [] [] [] [] [] [] [] | + libc | [] [] [] [] [] | + libexif | [] [] () | + libextractor | | + libgnutls | [] | + libgpewidget | [] [] [] | + libgpg-error | [] [] | + libgphoto2 | [] () | + libgphoto2_port | [] () [] | + libgsasl | [] | + libiconv | [] [] [] [] [] [] | + libidn | [] [] [] [] | + lifelines | [] () | + liferea | [] [] [] [] [] | + lilypond | [] [] [] [] | + linkdr | [] [] [] [] | + lordsawar | [] | + lprng | | + lynx | [] [] [] [] | + m4 | [] [] [] [] [] | + mailfromd | | + mailutils | [] | + make | [] [] [] [] | + man-db | | + man-db-manpages | | + minicom | [] [] [] [] [] | + mkisofs | [] | + myserver | | + nano | [] [] [] [] | + opcodes | [] [] [] | + parted | [] [] | + pies | | + popt | [] [] [] [] [] [] | + psmisc | [] [] [] [] | + pspp | [] | + pwdutils | [] | + radius | [] | + recode | [] [] [] [] [] [] [] | + rosegarden | () () () () | + rpm | [] [] [] | + rush | | + sarg | | + screem | | + scrollkeeper | [] [] [] [] [] [] | + sed | [] [] [] [] [] [] [] | + sharutils | [] [] [] [] [] | + shishi | | + skencil | [] () [] | + solfege | [] [] [] [] | + solfege-manual | [] [] | + soundtracker | [] [] [] | + sp | [] | + sysstat | [] [] [] [] | + tar | [] [] [] [] [] | + texinfo | [] [] [] | + tin | [] [] | + unicode-han-tra... | | + unicode-transla... | | + util-linux-ng | [] [] [] [] [] | + vice | () () | + vmm | [] | + vorbis-tools | [] [] | + wastesedge | [] | + wdiff | [] [] [] | + wget | [] [] [] [] | + wyslij-po | [] | + xchat | [] [] [] [] [] [] | + xdg-user-dirs | [] [] [] [] [] [] [] [] [] | + xkeyboard-config | [] [] [] [] [] [] | + +-------------------------------------------------+ + cs da de el en en_GB en_ZA eo es et eu fa fi + 64 105 117 18 1 8 0 28 89 18 19 0 104 + + fr ga gl gu he hi hr hu hy id is it ja ka kn + +------------------------------------------------+ + a2ps | [] [] [] | + aegis | [] [] | + ant-phone | [] [] | + anubis | [] [] [] | + aspell | [] [] [] [] | + bash | [] [] [] | + bfd | [] [] | + bibshelf | [] [] [] [] | + binutils | [] [] | + bison | [] [] [] | + bison-runtime | [] [] [] [] [] | + bluez-pin | [] [] [] [] [] [] [] | + bombono-dvd | | + buzztard | [] | + cflow | [] [] | + clisp | [] | + coreutils | [] [] [] [] [] | + cpio | [] [] [] | + cppi | [] | + cpplib | [] [] | + cryptsetup | [] [] [] | + dfarc | [] [] | + dialog | [] [] [] [] [] [] [] | + dico | | + diffutils | [] [] [] [] [] [] [] [] | + dink | [] | + doodle | [] [] | + e2fsprogs | [] [] | + enscript | [] [] [] [] | + exif | [] [] [] [] [] | + fetchmail | [] [] [] [] | + findutils | [] [] [] [] [] | + flex | [] [] | + freedink | [] [] | + gas | [] [] | + gawk | [] [] [] [] () [] | + gcal | [] | + gcc | [] | + gettext-examples | [] [] [] [] [] [] | + gettext-runtime | [] [] [] [] [] | + gettext-tools | [] [] [] [] | + gip | [] [] [] [] [] | + gjay | | + gliv | () | + glunarclock | [] [] [] | + gnubiff | () [] () | + gnucash | () () () () [] | + gnuedu | [] [] | + gnulib | [] [] [] [] [] | + gnunet | | + gnunet-gtk | [] | + gnutls | [] [] | + gold | [] | + gpe-aerial | [] [] | + gpe-beam | [] [] [] | + gpe-bluetooth | [] [] [] | + gpe-calendar | [] | + gpe-clock | [] [] [] [] | + gpe-conf | [] [] [] | + gpe-contacts | [] [] [] | + gpe-edit | [] [] | + gpe-filemanager | [] [] [] | + gpe-go | [] [] [] [] | + gpe-login | [] [] | + gpe-ownerinfo | [] [] [] [] | + gpe-package | [] [] | + gpe-sketchbook | [] [] [] | + gpe-su | [] [] [] [] [] | + gpe-taskmanager | [] [] [] [] | + gpe-timesheet | [] [] [] [] | + gpe-today | [] [] [] [] [] [] | + gpe-todo | [] [] | + gphoto2 | [] [] [] [] [] | + gprof | [] [] [] | + gpsdrive | [] [] [] | + gramadoir | [] [] [] | + grep | [] | + grub | [] [] [] | + gsasl | [] [] [] [] | + gss | [] [] [] [] | + gst-plugins-bad | [] [] [] [] | + gst-plugins-base | [] [] [] [] [] | + gst-plugins-good | [] [] [] [] [] | + gst-plugins-ugly | [] [] [] [] [] | + gstreamer | [] [] [] [] | + gtick | [] [] [] [] | + gtkam | [] [] [] [] [] | + gtkorphan | [] [] [] | + gtkspell | [] [] [] [] [] [] [] [] | + gutenprint | [] [] [] | + hello | [] [] | + help2man | [] | + hylafax | [] | + idutils | [] [] [] [] [] | + indent | [] [] [] [] [] [] [] | + iso_15924 | () [] [] | + iso_3166 | () [] [] [] [] [] [] [] [] [] [] | + iso_3166_2 | () [] [] [] | + iso_4217 | () [] [] [] [] | + iso_639 | () [] [] [] [] [] [] [] | + iso_639_3 | () [] [] | + jwhois | [] [] [] [] | + kbd | [] [] | + keytouch | [] [] [] [] [] | + keytouch-editor | [] [] [] [] | + keytouch-keyboa... | [] [] [] [] | + klavaro | [] [] | + latrine | [] [] | + ld | [] [] [] | + leafpad | [] [] [] [] [] [] () | + libc | [] [] [] [] | + libexif | | + libextractor | | + libgnutls | [] [] | + libgpewidget | [] [] [] | + libgpg-error | [] [] | + libgphoto2 | [] [] [] | + libgphoto2_port | [] [] [] | + libgsasl | [] [] [] [] | + libiconv | [] [] [] [] [] | + libidn | [] [] [] | + lifelines | () | + liferea | [] [] [] [] | + lilypond | [] | + linkdr | [] [] [] [] | + lordsawar | | + lprng | [] | + lynx | [] [] [] [] [] | + m4 | [] [] [] [] [] | + mailfromd | | + mailutils | [] [] | + make | [] [] [] [] [] [] [] [] | + man-db | [] [] | + man-db-manpages | [] | + minicom | [] [] [] [] | + mkisofs | [] [] [] | + myserver | | + nano | [] [] [] [] [] | + opcodes | [] [] [] | + parted | [] [] [] [] | + pies | | + popt | [] [] [] [] [] [] [] [] | + psmisc | [] [] | + pspp | | + pwdutils | [] [] | + radius | [] [] | + recode | [] [] [] [] [] [] [] | + rosegarden | () () () () | + rpm | [] [] | + rush | | + sarg | [] | + screem | [] [] | + scrollkeeper | [] [] [] | + sed | [] [] [] [] [] [] [] | + sharutils | [] [] [] [] [] [] | + shishi | [] | + skencil | [] | + solfege | [] [] [] | + solfege-manual | [] [] | + soundtracker | [] [] | + sp | [] () | + sysstat | [] [] [] [] | + tar | [] [] [] [] [] [] | + texinfo | [] [] [] [] | + tin | [] | + unicode-han-tra... | | + unicode-transla... | [] [] | + util-linux-ng | [] [] [] [] [] | + vice | () () () | + vmm | [] | + vorbis-tools | [] | + wastesedge | () () | + wdiff | | + wget | [] [] [] [] [] [] [] | + wyslij-po | [] [] | + xchat | [] [] [] [] [] [] [] [] | + xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] | + xkeyboard-config | [] [] [] [] | + +------------------------------------------------+ + fr ga gl gu he hi hr hu hy id is it ja ka kn + 121 53 20 4 8 2 5 53 2 120 5 83 66 0 4 + + ko ku ky lg lt lv mk ml mn mr ms mt nb nds ne + +-----------------------------------------------+ + a2ps | [] | + aegis | | + ant-phone | | + anubis | [] [] | + aspell | [] | + bash | | + bfd | | + bibshelf | [] [] | + binutils | | + bison | [] | + bison-runtime | [] [] [] [] [] | + bluez-pin | [] [] [] [] [] | + bombono-dvd | | + buzztard | | + cflow | | + clisp | | + coreutils | [] | + cpio | | + cppi | | + cpplib | | + cryptsetup | | + dfarc | [] | + dialog | [] [] [] [] [] | + dico | | + diffutils | [] [] | + dink | | + doodle | | + e2fsprogs | | + enscript | | + exif | [] | + fetchmail | | + findutils | | + flex | | + freedink | [] | + gas | | + gawk | | + gcal | | + gcc | | + gettext-examples | [] [] [] [] | + gettext-runtime | [] | + gettext-tools | [] | + gip | [] [] | + gjay | | + gliv | | + glunarclock | [] | + gnubiff | | + gnucash | () () () () | + gnuedu | | + gnulib | | + gnunet | | + gnunet-gtk | | + gnutls | [] | + gold | | + gpe-aerial | [] | + gpe-beam | [] | + gpe-bluetooth | [] [] | + gpe-calendar | [] | + gpe-clock | [] [] [] [] [] | + gpe-conf | [] [] | + gpe-contacts | [] [] | + gpe-edit | [] | + gpe-filemanager | [] [] | + gpe-go | [] [] [] | + gpe-login | [] | + gpe-ownerinfo | [] [] | + gpe-package | [] [] | + gpe-sketchbook | [] [] | + gpe-su | [] [] [] [] [] [] | + gpe-taskmanager | [] [] [] [] [] [] | + gpe-timesheet | [] [] | + gpe-today | [] [] [] [] | + gpe-todo | [] [] | + gphoto2 | | + gprof | [] | + gpsdrive | | + gramadoir | | + grep | | + grub | | + gsasl | | + gss | | + gst-plugins-bad | [] [] | + gst-plugins-base | [] [] | + gst-plugins-good | [] [] | + gst-plugins-ugly | [] [] [] [] [] | + gstreamer | | + gtick | | + gtkam | [] | + gtkorphan | [] [] | + gtkspell | [] [] [] [] [] [] [] | + gutenprint | | + hello | [] [] [] | + help2man | | + hylafax | | + idutils | | + indent | | + iso_15924 | [] [] | + iso_3166 | [] [] () [] [] [] [] [] | + iso_3166_2 | | + iso_4217 | [] [] | + iso_639 | [] [] | + iso_639_3 | [] | + jwhois | [] | + kbd | | + keytouch | [] | + keytouch-editor | [] | + keytouch-keyboa... | [] | + klavaro | [] | + latrine | [] | + ld | | + leafpad | [] [] [] | + libc | [] | + libexif | | + libextractor | | + libgnutls | [] | + libgpewidget | [] [] | + libgpg-error | | + libgphoto2 | | + libgphoto2_port | | + libgsasl | | + libiconv | | + libidn | | + lifelines | | + liferea | | + lilypond | | + linkdr | | + lordsawar | | + lprng | | + lynx | | + m4 | | + mailfromd | | + mailutils | | + make | [] | + man-db | | + man-db-manpages | | + minicom | [] | + mkisofs | | + myserver | | + nano | [] [] | + opcodes | | + parted | | + pies | | + popt | [] [] [] | + psmisc | | + pspp | | + pwdutils | | + radius | | + recode | | + rosegarden | | + rpm | | + rush | | + sarg | | + screem | | + scrollkeeper | [] [] | + sed | | + sharutils | | + shishi | | + skencil | | + solfege | [] | + solfege-manual | | + soundtracker | | + sp | | + sysstat | [] | + tar | [] | + texinfo | [] | + tin | | + unicode-han-tra... | | + unicode-transla... | | + util-linux-ng | | + vice | | + vmm | | + vorbis-tools | | + wastesedge | | + wdiff | | + wget | [] | + wyslij-po | | + xchat | [] [] [] | + xdg-user-dirs | [] [] [] [] [] [] [] [] | + xkeyboard-config | [] [] [] | + +-----------------------------------------------+ + ko ku ky lg lt lv mk ml mn mr ms mt nb nds ne + 20 5 10 1 12 48 4 2 2 4 24 10 19 3 1 + + nl nn or pa pl ps pt pt_BR ro ru rw sk sl sq sr + +---------------------------------------------------+ + a2ps | [] [] [] [] [] [] [] [] | + aegis | [] [] [] | + ant-phone | [] [] | + anubis | [] [] [] | + aspell | [] [] [] [] [] | + bash | [] [] | + bfd | [] | + bibshelf | [] [] | + binutils | [] [] | + bison | [] [] [] | + bison-runtime | [] [] [] [] [] [] [] | + bluez-pin | [] [] [] [] [] [] [] [] | + bombono-dvd | [] () | + buzztard | [] [] | + cflow | [] | + clisp | [] [] | + coreutils | [] [] [] [] [] [] | + cpio | [] [] [] | + cppi | [] | + cpplib | [] | + cryptsetup | [] | + dfarc | [] | + dialog | [] [] [] [] | + dico | [] | + diffutils | [] [] [] [] [] [] | + dink | () | + doodle | [] [] | + e2fsprogs | [] [] | + enscript | [] [] [] [] [] | + exif | [] [] [] () [] | + fetchmail | [] [] [] [] | + findutils | [] [] [] [] [] | + flex | [] [] [] [] [] | + freedink | [] [] | + gas | | + gawk | [] [] [] [] | + gcal | | + gcc | [] | + gettext-examples | [] [] [] [] [] [] [] [] | + gettext-runtime | [] [] [] [] [] [] [] [] [] | + gettext-tools | [] [] [] [] [] [] | + gip | [] [] [] [] [] | + gjay | | + gliv | [] [] [] [] [] [] | + glunarclock | [] [] [] [] [] | + gnubiff | [] () | + gnucash | [] () () () | + gnuedu | [] | + gnulib | [] [] [] [] | + gnunet | | + gnunet-gtk | | + gnutls | [] [] | + gold | | + gpe-aerial | [] [] [] [] [] [] [] | + gpe-beam | [] [] [] [] [] [] [] | + gpe-bluetooth | [] [] | + gpe-calendar | [] [] [] [] | + gpe-clock | [] [] [] [] [] [] [] [] | + gpe-conf | [] [] [] [] [] [] [] | + gpe-contacts | [] [] [] [] [] | + gpe-edit | [] [] [] | + gpe-filemanager | [] [] [] | + gpe-go | [] [] [] [] [] [] [] [] | + gpe-login | [] [] | + gpe-ownerinfo | [] [] [] [] [] [] [] [] | + gpe-package | [] [] | + gpe-sketchbook | [] [] [] [] [] [] [] | + gpe-su | [] [] [] [] [] [] [] [] | + gpe-taskmanager | [] [] [] [] [] [] [] [] | + gpe-timesheet | [] [] [] [] [] [] [] [] | + gpe-today | [] [] [] [] [] [] [] [] | + gpe-todo | [] [] [] [] [] | + gphoto2 | [] [] [] [] [] [] [] [] | + gprof | [] [] [] | + gpsdrive | [] [] | + gramadoir | [] [] | + grep | [] [] [] [] | + grub | [] [] [] | + gsasl | [] [] [] [] | + gss | [] [] [] | + gst-plugins-bad | [] [] [] [] [] | + gst-plugins-base | [] [] [] [] [] | + gst-plugins-good | [] [] [] [] [] | + gst-plugins-ugly | [] [] [] [] [] [] | + gstreamer | [] [] [] [] [] | + gtick | [] [] [] | + gtkam | [] [] [] [] [] [] | + gtkorphan | [] | + gtkspell | [] [] [] [] [] [] [] [] [] [] | + gutenprint | [] [] | + hello | [] [] [] [] | + help2man | [] [] | + hylafax | [] | + idutils | [] [] [] [] [] | + indent | [] [] [] [] [] [] [] | + iso_15924 | [] [] [] [] | + iso_3166 | [] [] [] [] [] () [] [] [] [] [] [] [] [] | + iso_3166_2 | [] [] [] | + iso_4217 | [] [] [] [] [] [] [] [] | + iso_639 | [] [] [] [] [] [] [] [] [] | + iso_639_3 | [] [] | + jwhois | [] [] [] [] | + kbd | [] [] [] | + keytouch | [] [] [] | + keytouch-editor | [] [] [] | + keytouch-keyboa... | [] [] [] | + klavaro | [] [] | + latrine | [] [] | + ld | | + leafpad | [] [] [] [] [] [] [] [] [] | + libc | [] [] [] [] | + libexif | [] [] () [] | + libextractor | | + libgnutls | [] [] | + libgpewidget | [] [] [] | + libgpg-error | [] [] | + libgphoto2 | [] [] | + libgphoto2_port | [] [] [] [] | + libgsasl | [] [] [] [] [] | + libiconv | [] [] [] [] [] | + libidn | [] [] | + lifelines | [] [] | + liferea | [] [] [] [] [] () () [] | + lilypond | [] | + linkdr | [] [] [] | + lordsawar | | + lprng | [] | + lynx | [] [] [] | + m4 | [] [] [] [] [] | + mailfromd | [] | + mailutils | [] | + make | [] [] [] [] | + man-db | [] [] [] | + man-db-manpages | [] [] [] | + minicom | [] [] [] [] | + mkisofs | [] [] [] | + myserver | | + nano | [] [] [] [] | + opcodes | [] [] | + parted | [] [] [] [] | + pies | [] | + popt | [] [] [] [] | + psmisc | [] [] [] | + pspp | [] [] | + pwdutils | [] | + radius | [] [] [] | + recode | [] [] [] [] [] [] [] [] | + rosegarden | () () | + rpm | [] [] [] | + rush | [] [] | + sarg | | + screem | | + scrollkeeper | [] [] [] [] [] [] [] [] | + sed | [] [] [] [] [] [] [] [] [] | + sharutils | [] [] [] [] | + shishi | [] | + skencil | [] [] | + solfege | [] [] [] [] | + solfege-manual | [] [] [] | + soundtracker | [] | + sp | | + sysstat | [] [] [] [] | + tar | [] [] [] [] | + texinfo | [] [] [] [] | + tin | [] | + unicode-han-tra... | | + unicode-transla... | | + util-linux-ng | [] [] [] [] [] | + vice | [] | + vmm | [] | + vorbis-tools | [] [] | + wastesedge | [] | + wdiff | [] [] | + wget | [] [] [] [] [] [] [] | + wyslij-po | [] [] [] | + xchat | [] [] [] [] [] [] [] [] [] | + xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] [] [] | + xkeyboard-config | [] [] [] [] [] | + +---------------------------------------------------+ + nl nn or pa pl ps pt pt_BR ro ru rw sk sl sq sr + 135 10 4 7 105 1 29 61 47 91 3 55 47 8 37 + + sv sw ta te tg th tr uk vi wa zh_CN zh_HK zh_TW + +---------------------------------------------------+ + a2ps | [] [] [] [] [] | 27 + aegis | [] | 9 + ant-phone | [] [] [] [] | 9 + anubis | [] [] [] [] | 15 + aspell | [] [] [] | 20 + bash | [] [] | 11 + bfd | [] | 6 + bibshelf | [] [] [] | 16 + binutils | [] [] | 8 + bison | [] [] | 12 + bison-runtime | [] [] [] [] [] [] | 29 + bluez-pin | [] [] [] [] [] [] [] [] | 37 + bombono-dvd | [] | 4 + buzztard | [] | 7 + cflow | [] [] [] | 9 + clisp | | 10 + coreutils | [] [] [] [] | 22 + cpio | [] [] [] [] [] [] | 13 + cppi | [] [] | 5 + cpplib | [] [] [] [] [] [] | 13 + cryptsetup | [] [] | 7 + dfarc | [] | 9 + dialog | [] [] [] [] [] [] [] | 30 + dico | [] | 2 + diffutils | [] [] [] [] [] [] | 30 + dink | | 4 + doodle | [] [] | 7 + e2fsprogs | [] [] [] | 11 + enscript | [] [] [] [] | 17 + exif | [] [] [] | 16 + fetchmail | [] [] [] | 17 + findutils | [] [] [] [] [] | 20 + flex | [] [] [] [] | 15 + freedink | [] | 10 + gas | [] | 4 + gawk | [] [] [] [] | 18 + gcal | [] [] | 5 + gcc | [] [] [] | 7 + gettext-examples | [] [] [] [] [] [] [] | 34 + gettext-runtime | [] [] [] [] [] [] [] | 30 + gettext-tools | [] [] [] [] [] [] | 22 + gip | [] [] [] [] | 22 + gjay | [] | 3 + gliv | [] [] [] | 14 + glunarclock | [] [] [] [] [] | 19 + gnubiff | [] [] | 4 + gnucash | () [] () () | 9 + gnuedu | [] [] | 7 + gnulib | [] [] [] [] | 16 + gnunet | [] | 1 + gnunet-gtk | [] [] [] | 5 + gnutls | [] [] [] | 10 + gold | [] | 4 + gpe-aerial | [] [] [] | 18 + gpe-beam | [] [] [] | 19 + gpe-bluetooth | [] [] [] | 13 + gpe-calendar | [] [] [] [] | 12 + gpe-clock | [] [] [] [] [] | 28 + gpe-conf | [] [] [] [] | 20 + gpe-contacts | [] [] [] | 17 + gpe-edit | [] [] [] | 12 + gpe-filemanager | [] [] [] [] | 16 + gpe-go | [] [] [] [] [] | 25 + gpe-login | [] [] [] | 11 + gpe-ownerinfo | [] [] [] [] [] | 25 + gpe-package | [] [] [] | 13 + gpe-sketchbook | [] [] [] | 20 + gpe-su | [] [] [] [] [] | 30 + gpe-taskmanager | [] [] [] [] [] | 29 + gpe-timesheet | [] [] [] [] [] | 25 + gpe-today | [] [] [] [] [] [] | 30 + gpe-todo | [] [] [] [] | 17 + gphoto2 | [] [] [] [] [] | 24 + gprof | [] [] [] | 15 + gpsdrive | [] [] [] | 11 + gramadoir | [] [] [] | 11 + grep | [] [] [] | 10 + grub | [] [] [] | 14 + gsasl | [] [] [] [] | 14 + gss | [] [] [] | 11 + gst-plugins-bad | [] [] [] [] | 22 + gst-plugins-base | [] [] [] [] [] | 24 + gst-plugins-good | [] [] [] [] [] | 25 + gst-plugins-ugly | [] [] [] [] [] | 29 + gstreamer | [] [] [] [] | 22 + gtick | [] [] [] | 13 + gtkam | [] [] [] | 20 + gtkorphan | [] [] [] | 14 + gtkspell | [] [] [] [] [] [] [] [] [] | 45 + gutenprint | [] | 10 + hello | [] [] [] [] [] [] | 21 + help2man | [] [] | 7 + hylafax | [] | 5 + idutils | [] [] [] [] | 17 + indent | [] [] [] [] [] [] | 30 + iso_15924 | () [] () [] [] | 16 + iso_3166 | [] [] () [] [] () [] [] [] () | 53 + iso_3166_2 | () [] () [] | 9 + iso_4217 | [] () [] [] () [] [] | 26 + iso_639 | [] [] [] () [] () [] [] [] [] | 38 + iso_639_3 | [] () | 8 + jwhois | [] [] [] [] [] | 16 + kbd | [] [] [] [] [] | 15 + keytouch | [] [] [] | 16 + keytouch-editor | [] [] [] | 14 + keytouch-keyboa... | [] [] [] | 14 + klavaro | [] | 11 + latrine | [] [] [] | 10 + ld | [] [] [] [] | 11 + leafpad | [] [] [] [] [] [] | 33 + libc | [] [] [] [] [] | 21 + libexif | [] () | 6 + libextractor | [] | 1 + libgnutls | [] [] [] | 9 + libgpewidget | [] [] [] | 14 + libgpg-error | [] [] [] | 9 + libgphoto2 | [] [] | 8 + libgphoto2_port | [] [] [] [] | 13 + libgsasl | [] [] [] | 13 + libiconv | [] [] [] [] | 21 + libidn | () [] [] | 11 + lifelines | [] | 4 + liferea | [] [] [] | 21 + lilypond | [] | 7 + linkdr | [] [] [] [] [] | 17 + lordsawar | | 1 + lprng | [] | 3 + lynx | [] [] [] [] | 17 + m4 | [] [] [] [] | 19 + mailfromd | [] [] | 3 + mailutils | [] | 5 + make | [] [] [] [] | 21 + man-db | [] [] [] | 8 + man-db-manpages | | 4 + minicom | [] [] | 16 + mkisofs | [] [] | 9 + myserver | | 0 + nano | [] [] [] [] | 21 + opcodes | [] [] [] | 11 + parted | [] [] [] [] [] | 15 + pies | [] [] | 3 + popt | [] [] [] [] [] [] | 27 + psmisc | [] [] | 11 + pspp | | 4 + pwdutils | [] [] | 6 + radius | [] [] | 9 + recode | [] [] [] [] | 28 + rosegarden | () | 0 + rpm | [] [] [] | 11 + rush | [] [] | 4 + sarg | | 1 + screem | [] | 3 + scrollkeeper | [] [] [] [] [] | 27 + sed | [] [] [] [] [] | 30 + sharutils | [] [] [] [] [] | 22 + shishi | [] | 3 + skencil | [] [] | 7 + solfege | [] [] [] [] | 16 + solfege-manual | [] | 8 + soundtracker | [] [] [] | 9 + sp | [] | 3 + sysstat | [] [] | 15 + tar | [] [] [] [] [] [] | 23 + texinfo | [] [] [] [] | 16 + tin | | 4 + unicode-han-tra... | | 0 + unicode-transla... | | 2 + util-linux-ng | [] [] [] [] | 20 + vice | () () | 1 + vmm | [] | 4 + vorbis-tools | [] | 6 + wastesedge | | 2 + wdiff | [] [] | 7 + wget | [] [] [] [] [] | 26 + wyslij-po | [] [] | 8 + xchat | [] [] [] [] [] [] | 36 + xdg-user-dirs | [] [] [] [] [] [] [] [] [] | 60 + xkeyboard-config | [] [] [] [] | 25 + +---------------------------------------------------+ + 84 teams sv sw ta te tg th tr uk vi wa zh_CN zh_HK zh_TW + 178 domains 119 1 3 2 0 10 66 50 155 17 97 7 41 2610 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 @@ -599,15 +1301,15 @@ 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 May 2003 seems to be old, you may fetch a more recent copy of + If May 2010 seems to be old, you may fetch a more recent copy of this `ABOUT-NLS' file on most GNU archive sites. The most up-to-date matrix with full percentage details can be found at -`http://www.iro.umontreal.ca/contrib/po/HTML/matrix.html'. +`http://translationproject.org/extra/matrix.html'. -Using `gettext' in new packages -=============================== +1.6 Using `gettext' in new packages +=================================== - If you are writing a freely available program and want to +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 @@ -620,6 +1322,6 @@ 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 -`translation@iro.umontreal.ca' to make the `.pot' files available to -the translation teams. +`coordinator@translationproject.org' to make the `.pot' files available +to the translation teams. diff --git a/ChangeLog b/ChangeLog index 4d0c7595a7f7..cf9955428819 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,2775 @@ +2017-05-06 Will Estes + + * po/ca.po, po/da.po, po/de.po, po/eo.po, po/es.po, po/fi.po, + po/fr.po, po/ga.po, po/hr.po, po/ko.po, po/nl.po, po/pl.po, + po/pt_BR.po, po/ro.po, po/ru.po, po/sr.po, po/sv.po, po/tr.po, + po/vi.po, po/zh_CN.po, po/zh_TW.po: gettext: pulled latest + translations; recompiled against current sources + +2017-05-06 Will Estes + + * NEWS: version 2.6.4 * NEWS: Record release date. + +2017-05-06 Will Estes + + * .prev-version: note previous version + +2017-05-06 Will Estes + + * NEWS: doc: update NEWS for upcoming release + +2017-05-04 viktor.shepel + + * doc/flex.texi: doc: Correct typo in C code sample in manual + +2017-05-04 Explorer09 + + * src/flex.skl: scanner: Mention %# comments are removed when + building skel.c + +2017-05-02 Demi Obenour + + * src/flex.skl: Honor user definitions of yy_* macros The user may have defined the yy_* macros themselves. In that case, + don't clobber them. + +2017-05-02 Demi Obenour + + * src/flex.skl, src/main.c: Don't leak macro definitions into header + files This allowed unnamespaced definitions to leak into header files, + breaking client code. Fixes #142 + +2017-05-03 Demi Obenour + + * src/scan.l: scanner: Check for 0 bracecount when EOL ends quoted + literal. This can happen in the case of // comments (which Flex doesn't + handle specially). + +2017-05-03 Demi Obenour + + * src/scan.l: scanner: when bracelevel is negative, treat as zero. This really should never happen, but this at least fixes the + breakage on Verilator. + +2017-04-02 Jeff Smith + + * tests/Makefile.am, tests/tableopts.am, tests/tableopts.sh: test: + enable more silent building of tests. When running 'make V=0 check', some compile and link steps are made + less verbose and some are not. This cleans up most steps that are + not. These have no effect if V=0 is not specified. + +2017-05-03 Demi Obenour + + * src/Makefile.am, src/misc.c, src/mkskel.sh: build: Delete comments + from skeleton file. Since the comments in flex.skl are, by hypothesis, not needed in + skel.c, we remove them. THis reduces the size of the resulting + executable somewhat. + +2017-05-03 Explorer09 + + * Makefile.am, configure.ac, lib/Makefile.am: build: do not generate + lib/Makefile.in. Files in lib/ are picked up and built using makefile directives in + src/Makefile.am. Remove the need to generate lib/Makefile.in and the + stub lib/Makefile.am. + +2017-05-02 Will Estes + + * po/POTFILES.in: gettext: revert listing generated .c files + +2017-04-10 Jeff Smith + + * src/filter.c: FLEX_EXIT() is the preferred way to exit flex + +2017-04-11 Explorer09 + + * src/misc.c: Fix myesc() 'sptr' conditionals * Don't call isascii() here. It's deprecated in POSIX and not needed for myesc's case. * The check of the character class and range here should match + what's defined as {ESCSEQ} in scan.l, so for [[:xdigit:]] we use + isxdigit(); for [0-7] we check '0' <= c <= '7' (not isdigit(c) + because isdigit is locale-dependant in standard's sense) * Add missing length limit for "\x" ( is at most 2 digits) + +2017-04-11 Explorer09 + + * src/flexdef.h, src/misc.c: Obsolete htoui() and otoui(); use + strtoul(). No sense to keep these two function when libc's strtoul() can do the + same job, but better. + +2017-04-12 Todd C. Miller + + * src/flex.skl: scanner: update yy_buf_size after yyrealloc() + +2017-05-02 Simon Sobisch + + * configure.ac: build: use lowest versions for gettext, automake. + +2017-05-02 Simon Sobisch + + * po/Makevars, po/Rules-getpo, po/update_linguas.sh: gettext: more + recent makevars; new script to update po files. Previously, "make dist" and similar commands would cause the po + files to be updated, which is incorrect. The more recent version now + used should not do this. Replaced Rules-getpo by extra script to manually update and rebuild + all po files. + +2017-05-02 Simon Sobisch + + * po/POTFILES.in: gettext: list generated files instead of flex, + bison sources in POTFILES.in. Listing the flex and bison sources -- as the gettext manual suggests + -- causes warnings. Listing the generated C files for the lexer and + parser removes the warnings. Since both files contain line + directives, any translator who needs to refer back to those files + should be able to find the context in which strings are needed. + +2017-05-02 Simon Sobisch + + * autogen.sh: build: only touch ChangeLog if it does not exist + +2017-05-02 Simon Sobisch + + * configure.ac, doc/Makefile.am: build: list earliest useable + versions for automake + +2017-05-02 Simon Sobisch + + * autogen.sh: build: check for how to call libtoolize. Previously, we would call libtoolize and if that failed, we would + call glibtoolize since some platforms have the libtoolize program + under that name. Instead, we check to see if the environment variable LIBTOOLIZE is + set and use that if so. Otherwise, we try to find a program + "libtoolize" on the path and failing that glibtoolize. We alert the + user if no suitable program can be found. + +2017-01-06 Alastair Hughes + + * configure.ac, m4/ax_prog_cc_for_build.m4, src/Makefile.am: build: + support cross compiling. Check for cross compiling. If cross compiling, build stage1flex + using a custom link command. We also override LDADD since that adds + the replacement implementations that are cross compiled, and instead + always use the replacement library implementations. We don't use BUILD_OBJEXT and BUILD_EXEEXT since it seems that + automake does not support these. Fixes #78. + +2017-02-17 Explorer09 + + * configure.ac, src/flexdef.h: build: Include ; add + strcasecmp() check to configure. strings.h (not string.h) is the standard-defined include header for + strcasecmp(). Include for portability (even though glibc + exposes strcasecmp() declaration also in by default). + +2017-02-17 Explorer09 + + * configure.ac, src/flexdef.h: build: Let configure error if missing + required functions, headers.. `configure` will now error if a required header or function is not + found on the system. Also add comments on optional functions checks. Add sys/stats.h and sys/wait.h to list of required headers in + configure. This fixes issue #180. + +2017-02-12 Explorer09 + + * src/dfa.c, src/flexdef.h: scanner: compute powers of two faster. Replace the naive "for" loop in determining power of two with a + clever bitwise solution. This code is around the Internet already + and is in Public Domain. + +2017-02-07 Explorer09 + + * configure.ac, tests/Makefile.am, tests/pthread.l: test: skip + pthread test when needed files missing. "Unlisting" the pthread test when libpthread is not available is + never a good idea. Should let it compile into a stub program that + returns the "skip" status. configure.ac and tests/Makefile.am are edited so that pthread test + can be built anyway, but only works (not as the stub) when both + pthread.h and libpthread are detected on the system. Also fix a small typo in tests/pthread.l comments. + +2017-02-16 Will Estes + + * src/Makefile.am: build: mv scan.c when building dist. Revert change to copy scan.c when building the distribution archive. + Move it instead. This satisfies automake's notions of what should be + clean and ensures that the distribution archive contains a + just-built copy of scan.c. Fixes #186 + +2017-02-06 Will Estes + + * src/Makefile.am: build: don't assume distdir/scan.c is writeable + +2017-01-02 Explorer09 + + * src/Makefile.am: build: Add dist-hook to force remake scan.c. This will ensure the flex scanner included in release tarball being + generated by exactly the flex version to be released. Here's one catch after this change: You may not run "make dist" or + "make distdir" if you configure the flex source to be + cross-compiled. + +2017-01-02 Explorer09 + + * src/Makefile.am: build: respect '--localedir' from configure. Makefile shouldn't overwrite the 'localedir' variable, because + that's what '--localedir' option in 'configure' is for. + +2017-01-02 Explorer09 + + * src/Makefile.am: build: Remove "-I$(top_srcdir)/intl" from + CPPFLAGS. Revert commit e02c3d27eeb6b53ec82532ab080c23ce26813fd4 ("include the intl/ subdirectory when searching for include files") Flex doesn't come with libintl source code, so inclusion of + $(top_srcdir)/intl subdirectory during compiling is unnecessary. This flag seems to be left after "remove intl from dist" (commit + 8f45da06adbd7dbcdfdbdd5c20ff4c47fc504f35) without someone cleaning + this up. Users who need to build with gettext functionality from libintl + would use the '--with-libintl-prefix' configure option. + +2017-02-03 Explorer09 + + * src/regex.c: scanner: fix regcomp's error reporting, double + malloc. Fix unneeded double malloc - let regerror(). Write its message after + our "regcomp for (regex) failed: " string. Also, errbuf cannot be free()'d because of flexfatal containing a + longjmp. + +2017-01-03 Explorer09 + + * tests/Makefile.am, tests/no_bison_stub.c: test: Skip bison tests + if bison is not available + +2017-01-03 Explorer09 + + * configure.ac: build: remove repeated bison detection from + configure. AC_PROG_YACC already detects the bison program. We can just use it, + and make notice if [ $YACC != 'bison -y' ] Remove unused AC_SUBST([BISON], ...). Add AM_CONDITIONAL([HAVE_BISON], ...) so that we can skip bison + tests in testsuite when bison is absent. We don't make any attempt to detect other yacc implementations since + flex is developed with bison. While it would be possible, the need + isn't there right now. It would be possible to add a --with-parser + option that defaulted to bison if such a need cropped up. + +2017-01-01 Explorer09 + + * src/Makefile.am: build: fix Makefile parse.h dependency clauses. The current clauses stating "main.c: parse.h" and "yylex.c: parse.h" + do not work as expected. Make did not try to build parse.h upon + building flex-main.o as it would think main.c exist already and + ignore the clause. Fix this by explicitly stating that the .o files + depend on parse.h instead. This dependency bug only happens if user builds flex from a + checked-out repository. + +2017-01-03 Explorer09 + + * tests/Makefile.am: test: Remake *_scanner.c if *_scanner.h is + missing. If a ${foo}_scanner.c exists but the respective ${foo}_scanner.h is + missing, then 'make' can halt. Fix this by deleting the + ${foo}_scanner.c file and then remake it. This rule is the same as + the automake-generated rule for .c files that require LEX or YACC + (except automake will use ylwrap). + +2016-12-31 Explorer09 + + * tests/Makefile.am: test: remove BUILT_SOURCES; add missing + dependencies. Without BUILT_SOURCES in Makefile, no test sources in tests/ will be + built when using the default "make all" target. This is desireable + for people who are just building flex but who do not want to run, + and therefore, build any part of the test suite. Also fix missing sources dependencies: bison_nr_scanner.$(OBJEXT): bison_nr_parser.h bison_yylloc_scanner.$(OBJEXT): bison_yylloc_parser.h bison_yylval_scanner.$(OBJEXT): bison_yylval_parser.h + +2017-01-19 Explorer09 + + * configure.ac, lib/reallocarray.c, src/flexint.h, src/misc.c: + build: detect overflow for [re]allocate_array. Use reallocarray() when we have it (i.e. in OpenBSD system). When we + don't, use equivalent overflow detection for our allocate_array and + reallocate_array functions. Remove lib/reallocarray.c from our LIBOBJS as we no longer need it. Provide a fallback SIZE_MAX macro definition in flexint.h (not + preprocessor friendly, but enough for our reallocate_array use + case). + +2017-01-23 Will Estes + + * NEWS, configure.ac: doc: v2.6.4 + +2017-01-23 Thomas Klausner + + * src/Makefile.am: build: more BSD make and vpath build fixes. BSD make doesn't like $< with more than one source specified. + Additionally, make sure to specify srcdir when referring to source + files since vpath builds depend on this. + +2017-01-22 Thomas Klausner + + * src/Makefile.am: build: Fix skel.c generation with BSD make + +2017-01-22 Christos Zoulas + + * src/flex.skl: Add more defines in the non-reentrant part. Fix the reentrant part; don't "#define yyfoo yyfoo" because it + breaks code that does #ifndef yywrap .. + +2017-01-22 Christos Zoulas + + * src/flexdef.h: scanner: Add yyparse prototype + +2017-01-22 Thomas Klausner + + * src/flex.skl: scanner: move comment for consistency + +2017-01-22 Christos Zoulas + + * src/misc.c: scanner: Use array instead of pointer + +2017-01-22 Christos Zoulas + + * src/main.c: scanner: manage path to m4 better. Avoid alloca() for SSP; it is better anyway; since we don't need to + strdup the path. + +2017-01-22 Christos Zoulas + + * src/gen.c: scanner: Avoid creating unused label + +2017-01-22 Christos Zoulas + + * src/buf.c: Cast argument to avoid arithmetic on void *. + +2017-01-22 Christos Zoulas + + * src/scan.l: scanner: Use strncpy + +2017-01-22 Christos Zoulas + + * src/main.c: scanner: Use prefix when defining yywrap to avoid + redefinition. Fixes regression introduced in v2.6.3. + +2017-01-22 Christos Zoulas + + * src/flexdef.h, src/misc.c: scanner: Include stdarg.h for va_list + +2017-01-22 Christos Zoulas + + * src/flexdef.h, src/main.c, src/parse.y: scanner: Rename warn to + lwarn. This avoids a naming conflict in NetBSD's libc. + +2017-01-01 Explorer09 + + * tests/README: test: document automake convention for skipped exit + status. + +2017-01-03 Explorer09 + + * tests/Makefile.am: test: let testwrapper scripts be run by + ${SHELL}. This allows user to use a different shell if /bin/sh has problems. + The use of $SHELL (variable) to run scripts is already an Automake + convention. All shell scripts in build-aux are run by $SHELL. + +2017-01-02 Explorer09 + + * tests/options.cn, tests/tableopts.sh, + tests/testwrapper-direct.sh, tests/testwrapper.sh: test: Remove test + scripts bashisms. They now all work under a POSIX compliant sh. Specifically, 'dash' + can now be used for running "make check" tests. Note that none of these scripts has ever been using a pipe, so `set + -o pipefail` is unnecessary and removed. + +2017-01-02 Explorer09 + + * tests/testwrapper.sh: test: exit on '-1' test non-zero status. If a '-1' test program returns a non-zero status, don't go further + and compare it's (numeric) output values. This allows a '-1' test to + indicate a "skip" status or an otherwise error. (Currently no such + '-1' test would skip like this, though.) Shell syntax note: `set -e` will not exit with the syntax like this + `test $(false) = $(false);`. The exit statuses of `false` in the + example will be ignored instead. But putting the output in a + variable, such as `VAR=$(false)`, DOES exit. + +2017-01-02 Explorer09 + + * Makefile.am, src/Makefile.am: build: Fix 'make indent' target This 'make indent' target has not been working since the directories + reorganization in flex 2.6.0. Now make it work again. Note that the current indent profile breaks many styles of existing + code. The indent target should not be used until the .indent.pro + options are reviewed for desireability. + +2017-01-01 Explorer09 + + * configure.ac: build: Simplify indent program detection + +2017-01-12 Tobias Klauser + + * src/filter.c: filter: Don't emit #line if %option noline set One place emitting a #line directive to the generated header was + missed in commit 647a92b9f4 when resolving #55. Fix it to respect + gen_line_dirs as well. + +2017-01-12 Will Estes + + * po/ca.po, po/da.po, po/de.po, po/eo.po, po/es.po, po/fi.po, + po/fr.po, po/ga.po, po/hr.po, po/ko.po, po/nl.po, po/pl.po, + po/pt_BR.po, po/ro.po, po/ru.po, po/sr.po, po/sv.po, po/tr.po, + po/vi.po, po/zh_CN.po, po/zh_TW.po: translation: refresh po files + from translation project + +2017-01-10 Harald van Dijk + + * src/flex.skl: c++: Fix yyrestart(NULL) SEGV. Binding a reference to a dereferenced null pointer is invalid and + compilers optimise away the &file == 0 check. We need a real stream. yyin is available already, and yyrestart(NULL) is only supported + when yyin will not be used, so there is no harm in just passing in + that. Since we now always have a valid stream, we can skip the null + check too. Fixes #98. + +2017-01-09 luistung + + * src/scan.l: scanner: join symbol list. Removed a newline that caused a problem building the scanner in some + circumstances. Specifically: 'bad character' error when executing /bin/sh ../build-aux/ylwrap scan.l lex.yy.c scan.c -- flex + +2017-01-11 Will Estes + + * src/flex.skl: scanner: remove void cast before fprintf + +2016-12-30 Will Estes + + * NEWS: doc: update NEWS for 2.6.3 release + +2016-11-26 Explorer09 + + * configure.ac, src/Makefile.am: build: New configure option + '--disable-bootstrap'. If configure is run with '--disable-bootstrap', then stage1flex + won't be built and stage1scan.c will be generated by sed'ing scan.c. This option is intended to workaround bootstrap bugs rather than to + fix the bootstrapping issues which are proving subtler and harder to + fix than anyone would like. + +2016-11-26 Explorer09 + + * src/Makefile.am: build: "make clean" deletes stage1scan.c, + stage1flex + +2016-11-26 Explorer09 + + * configure.ac, src/Makefile.am: build: allow building libfl even + with --disable-libfl. For various reasons, we may wish to build libfl explicitly even when + configure has been run with the --disable-libfl option. This is + possible, now, via 'make -C src libfl.la'. + +2016-12-19 Alexis La Goutte + + * src/flex.skl: scanner: remove trailing whitespace in skeleton + +2016-12-01 Demi Obenour + + * src/buf.c, src/main.c, src/parse.y: scanner: Disallow, overquote + '[' and ']' in prefix + +2016-12-29 Samuel Thibault + + * src/main.c: scanner: allocate correct buffer size for m4 path. Flex did not check the length of the m4 path which could lead to a + buffer overflow in some cases. Additionally, not all platforms + believe in PATH_MAX, so stop relying on it. Fixes #138 + +2016-11-24 Will Estes + + * NEWS: doc: note no more libcompat in NEWS + +2016-11-24 Will Estes + + * lib/Makefile.am: build: explain empty lib/Makefile.am + +2016-11-20 Explorer09 + + * configure.ac: build: warn about cross compiling with *alloc + +2016-11-19 Explorer09 + + * configure.ac, lib/Makefile.am, lib/lib.c, src/Makefile.am: build: + Link $(LIBOBJS) from src/ dir, remove libcompat.la. The libcompat.la library was small and less friendly to + bootstrapping and cross compilation. Now, we will simply link + individual object files as needed, which is simpler. + +2016-11-16 Explorer09 + + * src/Makefile.am: build: Let stage1flex respect LFLAGS + +2016-11-14 Will Estes + + * NEWS: doc: describe --disable-libfl in NEWS + +2016-10-31 Explorer09 + + * configure.ac, src/Makefile.am: build: Add --disable-libfl + configure option. Disabling libfl is useful when building flex for a cross-toolchain. Fixes: GH-99 + +2016-11-09 Demi Obenour + + * src/flex.skl, tests/array_r.l: fix backwards incompatible changes + in 2.6.2. This patch addscompatibility `#defines` for all macros affected by + `%prefix`. Fixes #113. + +2016-11-08 Will Estes + + * tests/.gitignore: git: ignore quote_in_comment artifacts + +2016-11-08 Demi Obenour + + * src/scan.l, tests/Makefile.am, tests/quote_in_comment.l, + tests/quote_in_comment.txt: Fixes a major bug in Flex's own lexing + of literals. My changes caused Flex to mishandle string and character literals in + line comments. This commit fixes them. Fixes #113. + +2016-11-06 Thomas Klausner + + * configure.ac: Fix unportable test(1) operator. "==" is only supported by bash, "=" is the standard comparison + operator. + +2016-11-02 Demi Obenour + + * tests/quotes.l: Add more escaping tests + +2016-11-01 Demi Obenour + + * src/scan.l: Fix another escaping bug in non-indented verbatim section 2 code. I also did some reformatting. + +2016-10-28 Alastair Hughes + + * configure.ac: build: fix false negatives for help2man and texi2dvi HELP2MAN and TEXI2DVI (or the corresponding ac_prog variables) will + never be zero length as they fall back to the missing script; check + for the fall back and warn on that instead of always warning. + +2016-10-28 Explorer09 + + * doc/Makefile.am: doc: Don't delete flex.1 during "make distclean". flex.1 is pre-generated in release tarball. If we delete it, the + next "configure and make" on the source directory will then require + help2man unnecessarily. + +2016-10-27 Alastair Hughes + + * NEWS, doc/Makefile.am: Only regenerate the man page when required. Make the flex binary an order-only prerequisite, and add back the + prerequisites from before 7cfb440. This prevents rebuilding the man + page whenever the flex binary is rebuilt, which causes problems if + help2man is not installed and will never work when cross compiling. Fixes #108. + +2016-10-26 Will Estes + + * NEWS, src/Makefile.am: build: no longer build PIC version of + libfl. The PIC version of libfl was not being built correctly. From the + lack of bug reports around this problem, we conclude that the PIC + version of libfl is not used and so we drop it from the build build + targets for flex. + +2016-10-25 Explorer09 + + * README.md: doc: README.md formatting fixes * Wrap everything in the raw document in 72 char per line limit. * Proper casing for terms "Git" and "GitHub" (don't try to look + lazy). * Add unordered list marks when needed. * Say `configure && make && make install` and quoted for fixed-width font. Signed-off-by: Kang-Che Sung + +2016-10-25 Will Estes + + * NEWS, configure.ac: build: version 2.6.3 begins + +2016-10-24 Will Estes + + * NEWS: doc: mark 2.6.2 release date + +2016-10-24 Will Estes + + * .gitignore, NEWS, configure.ac: build: switch xz to lzip + +2016-10-20 Demi Obenour + + * src/scan.l, tests/quotes.l: Fix M4 quotation in section 2 prologue + and refactor duplicated code + +2016-10-21 Alex Kennedy + + * doc/flex.texi: Update flex.texi: Removed repedative wording "Flex used to" was written twice at the beginning of Chapter 9, + paragraph 2. + +2016-09-27 Demi Obenour + + * src/dfa.c, src/gen.c, src/main.c, src/nfa.c, src/parse.y, + src/scan.l, tests/bison_yylval_scanner.l, + tests/include_by_push.direct.l: Improved M4 quotation This fixes M4 quotation of certain strings beginning with `yy` (in + section 3 of the input file only) and character literals. The new + quotation method is also less brittle and faster. Tests that relied on the old behavior were fixed. Also, `yyconst` is no longer defined; use `const` (which it + unconditionally was defined to) instead. + +2016-10-19 Will Estes + + * Makefile.am, configure.ac: build: for automake, flex is foreign + +2016-10-19 Will Estes + + * README, README.md: doc: mv README to README.md + +2016-10-19 Will Estes + + * README: doc: touch up README + +2016-10-19 Will Estes + + * README: doc: README no longer mentions sourceforge + +2016-10-06 Will Estes + + * NEWS: doc: update NEWS with more post-2.6.1 additions + +2016-09-27 Demi Obenour + + * src/filter.c, src/flexdef.h, src/main.c, src/misc.c, + src/options.c, src/options.h, src/scan.l, src/yylex.c, + tests/Makefile.am, tests/alloc_extra.l, tests/array_r.l, + tests/basic_r.l, tests/c_cxx_nr.lll, tests/c_cxx_r.lll, + tests/debug_r.l, tests/include_by_reentrant.direct.l, + tests/lineno_r.l, tests/mem_nr.l, tests/mem_r.l, tests/posix.l, + tests/posixly_correct.l, tests/pthread.l, tests/quotes.l, + tests/reject.l4, tests/rescan_nr.direct.l, tests/rescan_r.direct.l, + tests/string_nr.l, tests/string_r.l: Fix M4 quoting of section 3. This fixes M4 quoting of section 3 of the input file, including + escape sequences and character constants. Tests were added to verify the behavior in section 3 with respect to + quoting. Both escaping of quotes and quoting of potential + macro-start characters are tested. Existing tests were also fixed to + account for the new -- and now correct -- behavior. Many tests + relied on the old behavior of expanding M4 macros in section 3. + They needed to be updated for the new behavior. + +2016-10-03 Mightyjo + + * src/flex.skl, tests/.gitignore, tests/Makefile.am, + tests/cxx_restart.ll, tests/cxx_restart.txt: Fix yyrestart(NULL) + SEGV. + +2016-09-05 Demi Obenour + + * src/scan.l: scanner: M4 quoting fixes + +2016-09-05 Demi Obenour + + * src/Makefile.am: Support `make indent` for out of source builds + +2016-09-24 Demi Obenour + + * src/Makefile.am, src/mkskel.sh: Simplify some shell code + +2016-09-23 Demi Obenour + + * doc/flex.texi, src/flex.skl, src/flexdef.h, src/main.c, + src/options.c, src/options.h, src/scan.l, tests/.gitignore, + tests/Makefile.am, tests/noansi_nr.l, tests/noansi_nr.txt, + tests/noansi_r.l, tests/noansi_r.txt: no longer generate K&R C + scanners + +2016-09-04 Demi Obenour + + * src/scan.l: Fix escaping of `[[` and `]]` in strings Previously, `[[` and `]]` were not escaped in strings, which led to + bad interactions with m4. Also, don't break strings on newline, as GCC et al support + whitespace between a backslash and the subsequent newline. + +2016-06-20 Translation Project + + * NEWS, po/sv.po: new sv translation + +2016-05-23 Demetri Obenour + + * src/misc.c: Delete action_m4_define from misc.c This function was not used and always triggered a fatal error when + run. + +2016-05-20 Will Estes + + * tests/Makefile.am, tests/testwrapper-direct.sh: test: run direct + tests from srcdir + +2016-01-11 Egor Pugin + + * tests/include_by_buffer.direct.l, tests/include_by_push.direct.l, + tests/include_by_reentrant.direct.l: Exited with error code on some + conditions in include tests + +2016-05-20 Will Estes + + * tests/testwrapper.sh: test: drop .exe when making input file names + +2016-05-20 Will Estes + + * tests/Makefile.am: test: removed dependencies for include tests + +2016-04-28 Tobias Klauser + + * src/scanflags.c: Avoid realloc on every call of sf_push() Currently, every call to sf_push() realloc()'s _sf_stack, even if + the maximum size _sf_max wasn't changed. As the indentation beneath + the "if" clause already indicates, the realloc() should only be + executed if _sf_max was increased. Found by compiling flex with the -Wmisleading-indentation flags of + gcc, which leads to the following warning: scanflags.c: In function ‘sf_push’: scanflags.c:42:5: warning: + this ‘if’ clause does not guard... [-Wmisleading-indentation] if + (_sf_top_ix + 1 >= _sf_max) ^~ scanflags.c:44:9: note: ...this + statement, but the latter is misleadingly indented as if it is + guarded by the ‘if’ _sf_stk = realloc(_sf_stk, + sizeof(scanflags_t) * _sf_max); ^~~~~~~ + +2016-03-31 Will Estes + + * doc/Makefile.am: build: prettified command to build man page + +2016-03-31 Will Estes + + * doc/Makefile.am: build: added man page to DISTCLEANFILES + +2016-03-31 Will Estes + + * BUGS, TODO: remove unused TODO, BUGS files + +2016-03-31 Will Estes + + * to.do/README, to.do/Wilhelms.todo, to.do/Wish-List, + to.do/flex.rmail, to.do/streams.mail, to.do/unicode/FlexLexer.h, + to.do/unicode/ccl.c, to.do/unicode/changes.txt, + to.do/unicode/ecs.c, to.do/unicode/flex.1, to.do/unicode/flex.skl, + to.do/unicode/flexdef.h, to.do/unicode/gen.c, to.do/unicode/main.c, + to.do/unicode/misc.c, to.do/unicode/scan.l, to.do/unicode/tblcmp.c: + removed to.do/ directory + +2016-03-31 Will Estes + + * po/POTFILES.in: gettext: removed flex.skl from POTFILES.in file + list + +2016-03-31 rlar + + * src/Makefile.am: fix skel.c dependency (missing tables_shared.c) + and polish build rule Also remove references to srcdir since skel.c is no longer mentioned + in po/POTFILES.in. + +2016-03-31 rlar + + * doc/Makefile.am: fix flex.1 dependency git clean -fdx && ./autogen.sh && \ mkdir -p ../build && cd ../build && ../flex/configure && make -j10 + && \ make dist failed with: > help2man: can't get `--help' info from ../../flex/src/flex Note: There is no dependency except for the flex binary. + +2016-03-31 rlar + + * src/Makefile.am: fix stage1scan.c and stage1scan.l dependency git clean -fdx && ./autogen.sh && \ mkdir -p ../build && cd ../build && ../flex/configure && make -j10 failed with: > ../src/stage1flex -o stage1scan.c stage1scan.l > stage1flex: can't + open stage1scan.l Note: stage1scan.c is not necessairy in the "make dist" generated tar.gz + file. stage1flex will be build from scan.c (which is + distributed), and this will then generate stage1scan.c from scan.l + +2016-03-31 Will Estes + + * po/POTFILES.in: gettext: list src/flex.skl in po/POTFILES.in + +2016-03-29 rlar + + * src/gen.c: warning in generated code, with -Ca warning: conversion to 'yy_state_type' from 'flex_uint32_t' may + change the sign of the result [-Wsign-conversion] + +2016-03-29 rlar + + * tests/Makefile.am: suppress `WARNINGFLAGS' for the almost obsolete + `noansi' test cases + +2016-03-29 rlar + + * configure.ac, src/Makefile.am, tests/Makefile.am: configure option + `--enable-warnings' and `WARNINGFLAGS' `WARNINGFLAGS' can be passed when invoking `configure' and when invoking `make' if configure switch `--enable-warnings' was given then default to something useful if we have `GCC' `WARNINGFLAGS' is not used when compiling `stage1flex' to avoid unnecessary clutter + +2016-03-31 Tobias Klauser + + * src/main.c: Fix potential buffer overflow in strncat() When using clang/llvm 3.8 to compile flex, the following warning is + emitted: main.c:378:27: warning: the value of the size argument in 'strncat' + is too large, might lead to a buffer overflow [-Wstrncat-size] + strncat(m4_path, m4, sizeof(m4_path)); + ^~~~~~~~~~~~~~~ + main.c:378:27: note: change the argument to be the free space in the + destination buffer minus the terminating null byte strncat(m4_path, + m4, sizeof(m4_path)); ^~~~~~~~~~~~~~~ + sizeof(m4_path) - strlen(m4_path) - 1Fix it up by using the solution proposed by the warning message. + +2016-03-29 Robert.Larice Robert Larice + + * src/Makefile.am: build: simplified dependency tracking so parallel + make runs succeed + +2016-03-20 rlar + + * src/flex.skl, src/gen.c, src/main.c: avoid warning in generated + code, with -Cf warning: conversion to 'unsigned int' from 'int' may change the sign + of the result [-Wsign-conversion] + +2016-03-18 Will Estes + + * NEWS, configure.ac: mention v2.6.2; summarize changes since 2.6.1 + +2016-03-18 Will Estes + + * doc/flex.texi: doc: corrected example in manual, gh#67 + +2016-03-16 rlar + + * tests/string_nr.l, tests/string_r.l, tests/yyextra.l: warning: + conversion to 'size_t' from 'int' may change the sign of the result + [-Wsign-conversion] + +2016-03-16 rlar + + * tests/mem_nr.l, tests/mem_r.l, tests/pthread.l: warning: + conversion to 'long unsigned int' from 'int' may change the sign of + the result [-Wsign-conversion] + +2016-03-16 rlar + + * src/flex.skl: warning: conversion to 'flex_uint32_t' from 'long + unsigned int' may alter its value [-Wconversion] struct yytbl_reader, member bread is of type flex_uint32_t + +2016-03-16 rlar + + * tests/alloc_extra.l, tests/bison_nr_main.c, + tests/bison_nr_parser.y, tests/bison_yylloc_parser.y: warning: + redundant redeclaration of '...' [-Wredundant-decls] + +2016-03-16 rlar + + * tests/bison_nr_parser.y, tests/bison_yylloc_parser.y, + tests/bison_yylval_parser.y, tests/pthread.l: warning: no previous + prototype for '...' [-Wmissing-prototypes] + +2016-03-16 rlar + + * tests/multiple_scanners_r_main.c: warning: unused variable 'fp' + [-Wunused-variable] + +2016-03-16 rlar + + * tests/pthread.l: main(), warning: redundant redeclaration of + 'main' [-Wredundant-decls] + +2016-03-16 rlar + + * tests/include_by_reentrant.direct.l, tests/lineno_nr.l, + tests/lineno_r.l, tests/lineno_trailing.l: main(), warning: + old-style function definition [-Wold-style-definition] + +2016-03-16 rlar + + * tests/alloc_extra.l, tests/array_nr.l, tests/array_r.l, + tests/basic_nr.l, tests/basic_r.l, tests/ccl.l, tests/debug_nr.l, + tests/debug_r.l, tests/extended.l, tests/mem_nr.l, tests/mem_r.l, + tests/noansi_r.l, tests/posix.l, tests/posixly_correct.l, + tests/prefix_nr.l, tests/prefix_r.l, tests/quotes.l, + tests/string_nr.l, tests/string_r.l, tests/yyextra.l: main(), + warning: old-style function definition [-Wold-style-definition] + +2016-03-01 rlar + + * src/ecs.c, src/tblcmp.c: Fix two more casts + +2016-03-14 Bastian Köcher + + * src/gen.c: Fixes yyl compare with unsigned warning + +2016-03-13 Robert Larice + + * configure.ac: Suppress portability warnings in Makefile generation + +2016-02-27 rlar + + * src/flex.skl: generated code, in yyensure_buffer_stack(), change + type of local `num_to_alloc' which is exclusively used in yy_size_t context + +2016-03-01 rlar + + * src/flex.skl: generated code, in yy_get_next_buffer(), change type + of local `number_to_move' suits better, because `yy_n_chars' and `yy_buf_size' are of type + `int' + +2016-02-27 rlar + + * src/flex.skl: generated code, `_yybytes_len' is of type `int', fix + code accordingly + +2016-02-28 rlar + + * src/gen.c: generated code, `max_size' seems to be of type `int', + fix casts accordingly + +2016-02-28 rlar + + * src/flex.skl: generated code, here `new_size' is of type `int', + fix casts accordingly + +2016-02-28 rlar + + * src/flex.skl: generated code, `yy_buf_size' is of type `int', fix + casts accordingly + +2016-02-28 rlar + + * src/flex.skl: generated code, `offset' is of type `int' + +2016-02-28 rlar + + * src/gen.c: generated code, `yy_more_len' is of type `int' + +2016-02-28 rlar + + * src/scan.l: scan.l, rewrite two loops to avoid unneccesairy + casting + +2016-03-01 rlar + + * src/regex.c, src/tables.c: improve readability + +2016-02-28 rlar + + * src/tblcmp.c: another cast in tblcmp.c to avoid warning + +2016-02-28 rlar + + * src/buf.c: casts in buf_append() to get rid of warnings + +2016-02-28 rlar + + * src/dfa.c, src/gen.c: cast to suite type of flex_uint32_t td_lolen + +2016-02-28 rlar + + * src/main.c, src/misc.c, src/regex.c, src/scan.l, src/scanopt.c, + src/tables_shared.c: cast to get rid of warnings + +2016-03-01 rlar + + * src/buf.c, src/main.c: cast and fix usage of log10(), ceil to + prevent buffer overflow + +2016-03-01 rlar + + * src/tables.c: tables.c, sprinkle casts to get rid of warnings + +2016-03-01 rlar + + * src/tables.c: yytbl_data_compress(), change type of local newsz to + get rid of warnings + +2016-03-01 rlar + + * src/tables.c, src/tables.h: change type of struct + yytbl_writer.total_written to get rid of warnings + +2016-02-28 rlar + + * src/tables.c: change argument type of yytbl_writen() to get rid of + warnings + +2016-03-01 rlar + + * src/tables.c: yytbl_write8/16/32(), change type of local variables + to get rid of warnings + +2016-02-28 rlar + + * src/flexdef.h, src/misc.c, to.do/unicode/flexdef.h, + to.do/unicode/misc.c: change return type and rename int + htoi()/otoi() --> unsigned int htoui()/otoui() + +2016-03-01 Will Estes + + * NEWS: Mention 2.6.1 release date + +2016-02-28 rlar + + * src/gen.c: avoid warning, add (int) cast to the read() return + value For similiarity with the fread() case. + +2016-02-28 rlar + + * src/scan.l: avoid warning, POSIX says yyless() has an `int' + argument + +2016-02-29 rlar + + * src/filter.c: use type size_t in filter_tee_header() to avoid + warnings + +2016-02-29 rlar + + * src/filter.c, src/misc.c, src/scanopt.c, src/tables.c: add + (size_t) casts to malloc invocations to prevent warnings + +2016-02-29 rlar + + * src/buf.c, src/misc.c, src/scan.l, src/scanopt.c, src/tables.c: + add (int) casts to some strlen() invocations to prevent warnings + +2016-02-29 rlar + + * src/flexdef.h, src/scan.l, src/sym.c: ndlookup(), char *, to get + rid of casts and warnings + +2016-02-28 rlar + + * src/flexdef.h, src/scan.l, src/sym.c: ndinstal(), char *, to get + rid of casts and warnings + +2016-02-28 rlar + + * src/flexdef.h, src/scan.l, src/sym.c: cclinstal() and ccllookup(), + char *, to get rid of casts and warnings + +2016-02-28 rlar + + * src/gen.c: warning: redundant redeclaration of + ‘gen_next_state’ [-Wredundant-decls] + +2016-02-28 rlar + + * src/gen.c: warning: no previous prototype for ‘mkecstbl’ + [-Wmissing-prototypes] + +2016-02-28 rlar + + * src/main.c: warning: suggest parentheses around assignment used as + truth value [-Wparentheses] + +2016-02-28 rlar + + * src/flexdef.h: warning: redundant redeclaration of ‘yywrap’ + [-Wredundant-decls] + +2016-02-28 rlar + + * src/flexdef.h: warning: redundant redeclaration of ‘yylval’ + [-Wredundant-decls] + +2016-02-28 rlar + + * src/flexdef.h: warning: redundant redeclaration of ‘yyin’ + [-Wredundant-decls] + +2016-02-28 rlar + + * src/flexdef.h, src/main.c: warning: redundant redeclaration of + ‘yyparse’ [-Wredundant-decls] + +2016-02-28 rlar + + * src/parse.y, src/scan.l, src/yylex.c, to.do/unicode/scan.l: + unification, rename some more rename these too for improved similiarity: OPTION_OP OPT_HEADER OPT_EXTRA_TYPE OPT_TABLES + +2016-02-28 rlar + + * src/parse.y, src/scan.l, src/yylex.c, to.do/unicode/scan.l: fix + name clash, OPT_OUTFILE from parse.y and from options.h these collide: OPT_OUTFILE OPT_PREFIX OPT_YYCLASS rename them TOK_... in the + parser + +2016-02-28 Will Estes + + * lib/reallocarray.c: Prototyped reallocarray implementation + +2016-02-28 Will Estes + + * src/scanopt.c: Removed custom strcasecmp() function + +2016-02-28 rlar + + * src/flex.skl: fwrite wants a size_t, yyleng is int per posix + +2016-02-28 rlar + + * src/scanopt.c: Remove some unneeded casts + +2016-02-28 rlar + + * src/flexdef.h: warning: negative integer implicitly converted to + unsigned type [-Wsign-conversion] + +2016-02-27 rlar + + * src/dfa.c, src/parse.y: dfa.c:157:24: warning: conversion to + 'size_t' from 'int' may change the sign of the result + [-Wsign-conversion] most certainly safe cast + +2016-02-27 rlar + + * src/ccl.c: ccl.c:86:19: warning: conversion to 'unsigned char' + from 'int' may alter its value [-Wconversion] ch seems to have been checked for proper range some lines above + +2016-02-27 rlar + + * tests/bison_nr_parser.y: warning: deprecated directive, use + '%pure-parser' [-Wdeprecated] + +2016-02-27 rlar + + * lib/lib.c: warning: no previous prototype for 'do_nothing' + [-Wmissing-prototypes] + +2016-02-27 rlar + + * src/libmain.c: included stdlib.h header + +2016-02-27 Will Estes + + * NEWS: Described more post v2.6.0 changes + +2016-02-27 Will Estes + + * configure.ac: build: Removed bzip2 distribiution archive + +2016-02-27 Will Estes + + * configure.ac: removed obsolete program check + +2016-02-27 Will Estes + + * configure.ac: Made some program checks more robust + +2016-02-27 rlar + + * src/flex.skl: Remove unneeded cast to int + +2016-02-27 Will Estes + + * src/flex.skl: Fixed incorrect integer type + +2016-02-27 Will Estes + + * src/flex.skl: Fix more integer types, resolves sf 184, 187 + +2016-02-26 Robert Larice + + * src/flex.skl, src/gen.c: Removed some type conversion warnings + +2016-02-26 Will Estes + + * src/flex.skl: Changed another buffer size to int; resolves gh#61 + +2016-02-24 Will Estes + + * src/flex.skl: Changed type of yy_n_chars to int; gh#53, sf#160. The variable yy_n_chars had been of type yy_size_t which is + incorrect given its use in read(). While it might be adviseable to + look at defining a yy_ssize_t, there might be some issues doing this + and so, for now, at least, we'll punt back to int. + +2016-02-24 Will Estes + + * src/buf.c: Fixed size of bufferallocation, resolved gh#54. The value of n_alloc was a count, not a size. Multiplying the value + by the element size was incorrect. That multiplication was already + being done and having it done twice was incorrect. + +2016-02-23 Tobias Klauser + + * src/scan.l: Allow '%option noline' in flex input file, resolves + gh#56. Allow specifying '%option noline' in the input file, leading to the + same effect as calling flex with the command line option --noline. Signed-off-by: Tobias Klauser + +2016-02-23 Tobias Klauser + + * src/buf.c, src/main.c: Emit no #line directives if gen_line_dirs + is false, resolves igh#55. There are two instances in the code which will print a #line + directive to the resulting lexer, regardless of the value of + gen_line_dirs. Fix them, so they also respect gen_line_dirs. Signed-off-by: Tobias Klauser + +2016-02-16 Tobias Klauser + + * lib/lib.c, src/gen.c, src/misc.c, src/scan.l: Converted K&R style + function definitions to ANSI C style Consistently make use of the ANSI C function definition style + instead of the K&R style. + +2016-01-29 Tobias Klauser + + * src/flex.skl: Used NULL constant instead of plain integer for NULL + pointer. The sparse static checker warns about using plain integer 0 as NULL + pointers in the generated lexer code. Fix this by using NULL + consistently for pointers. + +2016-01-29 Tobias Klauser + + * src/flex.skl: Marked declaration and definition of yy_fatal_error + as noreturn. Only the declaration of yy_fatal_error is marked with + __attribute__((__noreturn__)) in case GCC >= 3 is used, but not the + definition. This leads to the sparse static checker to complain + about function declaration mismatch. Fix it by defining a macro yynoreturn and using it for both the + declaration and the definition of yy_fatal_error. + +2016-01-27 Tobias Klauser + + * src/flex.skl: Fixed declaration mismatch in yy_fatal_error. The prototype declares yy_fatal_error parameter as "const char + msg[]" while the definition uses "const char* msg" (introduced by + commit e9d5fc713f61b) which causes the sparse static checkers to + produce an error. Fix this by adjusting the definition to use "const char* msg" as + well. Also change the C++ version accordingly so it matches the + declaration in FlexLexer.hpp. + +2016-01-23 Will Estes + + * CODE_OF_CONDUCT.md: flex is for flex #NCoC + +2016-01-18 Will Estes + + * doc/flex.texi: Referred to github for issue tracking, no longer sf + +2016-01-10 Egor Pugin + + * tests/reject.l4, tests/tableopts.l4: Opened files in binary mode + explicitly + +2016-01-08 OBATA Akio + + * src/Makefile.am: Linked flex binary against libintl, not libfl. Signed-off-by: Thomas Klausner + +2016-01-08 Michael van Elst + + * src/filter.c: Improved pipe-stdin hack behavior; resolves sf#198. Signed-off-by: Thomas + +2015-12-27 Will Estes + + * configure.ac, src/flexdef.h: Removed no longer needed header + checks + +2015-12-27 Will Estes + + * configure.ac: Checked for reallocarray() with AC_REPLACE_FUNCS + +2015-12-27 Will Estes + + * src/flexdef.h, src/main.c: include libgen.h from flexdef.h, not + main.c + +2015-12-25 Michael Reed + + * src/main.c: Replace basename2() with basename(3). Given the following program: \#include \#include /* extracts basename from path, optionally stripping the extension + "\.*" * (same concept as /bin/sh `basename`, but different handling + of extension). */ static char *basename2 (char *path) { char *b; for (b = path; *path; path++) if (*path == '/') b = path + 1; return b; } static void basename_compare(char *path) { printf("basename: %s\n", basename(path)); printf("basename2: %s\n\n", basename2(path)); } int main (int argc, char *argv[]) { // From http://pubs.opengroup.org/onlinepubs/9699919799/ // ``Sample Input and Output Strings'' basename_compare("/usr/lib"); basename_compare("/usr/"); basename_compare("/"); basename_compare("///"); basename_compare("//usr//lib//"); return 0; } ... and the program's output: basename: lib basename2: lib basename: usr basename2: basename: / basename2: basename: / basename2: basename: lib basename2: ... we can see that basename2() behaves the same as basename(3) in + the average use case, but messes up pretty severely in others. + Besides that, basename(3) is mandated by POSIX so should be present + on modern Unix-like systems, so we shouldn't define it ourselves. Some notes: - it doesn't appear to be mentioned in POSIX, but OpenBSD's + basename(3) returns NULL if the returned path componenet is > + PATH_MAX, so add a check for that - basename(3) shouldn't return an empty string, so remove the program_name[0] != '\0' check + +2015-12-25 Michael Reed + + * src/main.c: Simplify basename2(). It's only call site does not activate the `strip_ext` code path, so + the function can be simplified a lot. While here, remove a double + assignment. + +2015-12-25 Michael Reed + + * src/flex.skl, src/misc.c: Cleaned up __STDC__ #ifdefs. Assuming a compiler conforming to the ISO C standard is used, i.e., + __STDC__ is defined to 1, YY_USE_CONST is always defined and can be + eliminated. + +2015-12-25 Michael Reed + + * src/flexdef.h, src/main.c, src/scanopt.c, src/scanopt.h, + src/sym.c: Remove remaining use of PROTO + +2015-12-21 Serguey Parkhomovsky + + * src/buf.c: buf.c: use snprintf + +2015-12-19 Will Estes + + * configure.ac: build: reformatted AC_CHECK_FUNCS for readability + +2015-12-17 Will Estes + + * src/scanopt.c: correct function prototype + +2015-12-15 Michael Reed + + * src/main.c, src/scanopt.c, src/sym.c, src/tblcmp.c: Remove more + instances of PROTO + +2015-12-15 Michael Reed + + * src/main.c: Removed prototype for main(). It's not called anywhere else so the prototype is not needed. See + the C99 standard [1], section 5.1.2.2.1 for more info. [1]: http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf + +2015-12-13 Michael McConville + + * src/dfa.c, src/gen.c, src/nfa.c, to.do/unicode/main.c, + to.do/unicode/tblcmp.c: Removed more instances of PROTO, ansifying. + +2015-12-13 Will Estes + + * README: Noted github for issue tracking and pull requests + +2015-12-13 Michael McConville + + * README: Reformatted README; removed sf bug tracking link. + +2015-12-13 Michael McConville + + * src/gen.c, to.do/unicode/gen.c: Removed macros for indentation + level. Just increment or decrement the indentation counter. That's less to + remember and makes the code more readable. w# Please enter the commit message for your changes. Lines starting + +2015-12-12 Mike Frysinger + + * tests/Makefile.am, tests/testwrapper.sh: tests: fixed paths to + input files. The current test wrapper works only when the inputs are specified + using relative paths. If they're specified with absolute paths, the + driver fails to detect the inputs because it always prepends the + input dir name which itself is a relative path: $ cd tests $ + ./testwrapper.sh -d . -i $PWD/reject.txt -t ./reject_ver.table + This normally doesn't show up because people run `./configure` or, + for out of tree builds, `../configure`. But if you happen to run + configure with an absolute path, then automake tends to generate + absolute paths as well leading to test failures. Fix all of this by dropping the implicit input directory prepending. - INPUT_NAME is often a list of files, not just a single one - the input directory is used to find the testname tables which are usually generated, so it's impossible to use files from both + source and build directories - most of the time, the full/correct path is already specified + +2015-12-12 Mike Frysinger + + * configure.ac: configure: fixed realloc test. The [] characters are used for quoting in m4, so the attempt to use + them in place of `test` fails yielding the warning at build time: .../flex/configure: line 20222: no: command not found + +2015-12-12 Michael McConville + + * src/flexdef.h: Started removal of PROTO macro. The PROTO macro is no longer needed. Additionally, its usage is + inconsistent, so we began removing it. + +2015-12-12 Michael Reed + + * Makefile.am, src/main.c: Removed SHORT_FILE_NAMES preprocessor + symbol. As a relic of MS-DOS, we don't need this. It's never defined; see 13b5b214f53d1c3354a7ab910bd160c126df1331. Removed additional MSDOS ifdef. + +2015-12-11 Michael McConville + + * configure.ac, lib/reallocarray.c, src/flexdef.h: Added new + function reallocarray. This is taken from OpenSSH Portable, which in turn takes it from + OpenBSD. reallocarray wraps the stdlib's realloc function. It takes two size + arguments and checks for overflow, like calloc, but doesn't zero the + memory. Therefore, it allows us to do overflow-safe array + reallocations and overflow-safe unzeroed array allocations, which + the stdlib allocation functions don't. We have a bunch of specific array allocation macros, none of which + check for overflow. reallocarray should be able to replace them. + +2015-12-11 Michael McConville + + * src/flexdef.h: Removed MS-DOS, VMS macros. Given the age of the MS-DOS and VMS platforms, it's likely that no + one is building flex on them any more. Additionally, the preferred + approach is to test for particular platform features rather than to + test for particular platforms. + +2015-12-12 Will Estes + + * src/flexdef.h, src/main.c: Made search for m4 more explicit. + +2015-12-12 Will Estes + + * src/flex.skl: Returned 0 from yywrap() instead of EOF + +2015-12-11 Will Estes + + * src/libmain.c: Changed end of main() in libmain to exit(0) + +2015-12-11 Will Estes + + * NEWS, configure.ac: Mentioned v2.6.1; documented some changes + since v2.6.0 + +2015-12-11 Will Estes + + * README: Updated build documentation; finished sf#155. Removed version numbers for build tools. Noted that version + requirements for build tools will be noted in configure.ac. Expanded + documentation of building texinfo based docs. + +2015-12-11 Will Estes + + * doc/Makefile.am: Removed flex.pdf from distribution; partially + fixed sf#155 + +2015-12-11 Will Estes + + * src/flex.skl: Commented in C style in skeleton; fixed sf#195 + +2015-12-10 Will Estes + + * .gitignore: Ignored autoscan files + +2015-12-09 Will Estes + + * configure.ac: Checked for ranlib and strdup() at configure time + +2015-12-09 Michael McConville + + * src/flexdef.h, src/misc.c, src/tblcmp.c, to.do/unicode/flexdef.h, + to.do/unicode/misc.c, to.do/unicode/tblcmp.c: Replace zero_out() + with stdlib's memset. + +2015-12-09 Michael McConville + + * src/flex.skl: Removed memory allocation casts. + +2015-12-09 Michael McConville + + * src/flexdef.h: Removed alloca() configuration. Since alloca() is dangerous, depricated, we remove it. + +2015-12-09 Michael McConville + + * src/flexdef.h: Removed implementation of isascii(). POSIX defines isascii(), so it's likely present on anything + weactually build flex on these days. + +2015-12-09 Michael McConville + + * src/main.c, src/scanopt.c, src/tables.c: Removed NULL-checks + before free() + +2015-12-08 Michael McConville + + * src/buf.c, src/dfa.c, src/flexdef.h, src/gen.c, src/scan.l, + to.do/unicode/flexdef.h, to.do/unicode/scan.l: Removed flex_free()i, + corrected buf_destroy logic. As with flex_alloc(), replace with direct calls to free(). The function buf_destroy is now null safe and the logic was + corrected to free() correctly. + +2015-12-08 Michael McConville + + * src/filter.c, src/flexdef.h, src/misc.c, src/scan.l, + src/scanflags.c, to.do/unicode/flexdef.h, to.do/unicode/misc.c, + to.do/unicode/scan.l: Removed flex_realloc(). As with flex_alloc(), replace calls to flex_realloc(), which was + just a wrapper around realloc(). + +2015-12-08 Michael McConville + + * src/buf.c, src/filter.c, src/flexdef.h, src/main.c, src/misc.c, + src/regex.c, src/scan.l, src/scanflags.c, src/sym.c, + to.do/unicode/flexdef.h, to.do/unicode/misc.c, to.do/unicode/scan.l: + Removed flex_alloc; cleaned up style. The function flex_alloc() was just a wrapper around malloc(). Since + this only added unclarity, and the flex_alloc() function is likely a + legacy of olden times, remove it in favor of calls to malloc() + directly. Style elements cleaned up: * superfluous spacing around parentheses * non-constant initialization in variable declarations * needless casts * almost all uses of assignments as subexpressions + +2015-12-07 Michael McConville + + * src/dfa.c, src/flexdef.h, src/gen.c, src/main.c, src/scan.l, + src/scanopt.c, tests/bison_nr_scanner.l, + tests/bison_yylloc_scanner.l, tests/bison_yylval_scanner.l, + tests/mem_nr.l, tests/mem_r.l, tests/pthread.l, tests/string_nr.l, + tests/string_r.l, tests/yyextra.l, to.do/unicode/scan.l: Remove + allocation casts + +2015-12-07 Will Estes + + * src/.gitignore, src/Makefile.am: Built flex with itself. Changes in scan.l need to be built into flex with the same version + of flex in some cases. Since this build requirement is minimal, we + simply bootstrap flex unconditionally. We intentionally exclude from version control the bootstrap + artifacts as the extra copy of the lexer, the intermediate scanner + and the bootstrap executable are not of interest. + +2015-12-05 Michael McConville + + * src/buf.c, src/dfa.c, src/main.c, src/nfa.c, src/parse.y, + src/scan.l, src/scanopt.c, src/sym.c, to.do/unicode/main.c, + to.do/unicode/scan.l: Use NULL rather than (type *) 0. + +2015-12-05 Michael McConville + + * src/flexdef.h, src/misc.c, src/sym.c, to.do/unicode/flexdef.h, + to.do/unicode/misc.c: Replace copy_unsigned_string() with xstrdup(). Like copy_string(), copy_unsigned_string() is just a clone of the + stlib's strdup(). We only use it twice. I'm pretty confident that + char signedness is irrelevant in this case. + +2015-12-04 Akim Demaille + + * src/FlexLexer.h: Cleaned up white space. + +2015-12-04 Akim Demaille + + * src/FlexLexer.h: Removed struct keyword before yy_buffer_state + +2015-12-04 Akim Demaille + + * examples/testxxLexer.l, src/FlexLexer.h, src/flex.skl, src/main.c: + Replaced FLEX_STD macro with std::. The std:: construct exists as of C++98, so we can simply assume it + is supported. + +2015-12-04 Akim Demaille + + * src/Makefile.am: Generated skel.c explicitly in srcdir. Rewrote the target for skel.c to explicitly mention the srcdir. This + should help when building flex from a directory outside the flex + tree. Spread the rule out over several lines to enhance readability. + +2015-12-04 Akim Demaille + + * autogen.sh: Called glibtoolize if libtoolize run fails. On Mac OS X, libtoolize is known as glibtoolize. In cases where + libtoolize is not present, then calling glibtoolize when + bootstrapping the build system gives more folks a shot at getting + flex built from the ground up. + +2015-12-02 Mightyjo + + * configure.ac: Checked for (g)texi2dvi. Better bison, help2man + checks. Added test for presence of (g)texi2dvi program. Gave notice if + texi2dvi is unavailable and set TEXI2DVI=: to avoid giving users + headaches. Enhanced tests for bison and help2man with notices when the programs + aren't found. Set their program variables to use the missing script + in build-aux since it's compatible with them. + +2015-12-02 Michael McConville + + * src/flexdef.h, src/misc.c, src/parse.y, src/scan.l, src/sym.c, + src/tables.c, to.do/unicode/flexdef.h, to.do/unicode/misc.c, + to.do/unicode/scan.l: Made string copying more standard. copy_string() was a clone of the stdlib's strdup(). For safety, + simplicity, and speed, we should use that instead. We introduce + xstrdup() which wraps strdup() in a failure upon memory allocation + errors. + +2015-11-30 Serguey Parkhomovsky + + * src/scan.l: Error on unbalanced parentheses in rules section. + +2015-11-29 Will Estes + + * src/Makefile.am: Cleaned up BUILT_SOURCES list. Removed reference to skel.c as a built source since other make rules + cover this case. + +2015-11-29 Will Estes + + * src/Makefile.am: Sorted file names in flex_SOURCES + +2015-11-27 Mightyjo + + * src/ecs.c, src/flexdef.h, src/main.c, src/misc.c, src/scan.l, + src/scanopt.c, src/sym.c, src/tblcmp.c: Replaced CHAR macro with + unsigned char type. Thanks to Michael McConville for pointing out that the old Char + macro causes problems with static analysis. The macro has been + removed and replaced with 'unsigned char' throughout the flex + sources. The macro is not needed at best and was confusing at worst. + It was not used in any of the example files nor was it mentioned in + the manual at all. + +2015-11-21 Will Estes + + * configure.ac: updated syntax of AC_INIT call as per autoupdate + +2015-11-21 Will Estes + + * tests/Makefile.am: removed extra call to a _CPPFLAGS variable + +2015-05-14 Stefan Reinauer + + * src/buf.c, src/ccl.c, src/dfa.c, src/ecs.c, src/gen.c, + src/main.c, src/misc.c, src/nfa.c, src/parse.y, src/scan.l, + src/scanopt.c, src/sym.c, src/tblcmp.c: Switch function definitions + from mixed K&R to consistent ANSI C. flex was using K&R function definitions for some functions and ANSI + C style in others, sometimes even in the same file. Change the code + to consistently use ANSI C. Signed-off-by: Stefan Reinauer + +2015-11-16 Mightyjo + + * tests/Makefile.am: Used in-tree header file for c++ tests. + +2015-11-17 Will Estes + + * configure.ac: Declared version 2.6.0 + +2015-11-17 Will Estes + + * NEWS: Dated, described flex release 2.6.0 + +2015-11-13 Will Estes + + * NEWS, configure.ac: Declared version 2.6.0rc1 + +2015-11-13 lukeallardyce + + * src/Makefile.am: Supplied versioning information in flex + libraries. Resolves sourceforge bug #182. On OSX, and possibly other platforms, + building the libfl libraries without versioning information caused a + build failures. + +2015-11-12 Will Estes + + * tests/Makefile.am: Cleaned up more precisely after make check. BUILT_SOURCES is now just the list of headers built as per the + automake manual. We provide the list of files to clean to make + rebuilding the test suite programs easier. We then use the + CLEANFILES list in a dist-hook to clean up the distribution that + automake gathers since not distributing flex generated files is + foreign to automake's mindset, but we need exactly that. Additionally, we locate inputs to the tables-related tests more + precisely. Some files are in srcdir and some are in builddir, which + the arguments to the log compiler are now made aware of. + +2015-11-11 Will Estes + + * tests/Makefile.am: Pulled out scripts in tests/Makefile.am + +2015-11-11 Will Estes + + * tests/Makefile.am: Added srcdir to tableopts.am include + +2015-11-11 Will Estes + + * doc/Makefile.am: Changed man page dependencies. The man page is just the --help output as reformatted by help2man. + The --help option is most likely to change when the flex skeleton + changes or one of the option parsing files changes or the + configure.ac script itself changes. The dependencies reflect this + now. It is still necessary, under some circumstances, to rebuild flex + explicitly before building the man page. In theory, it's possible to + have automake arrange to do this all the time, but doing so works + out to be fragile, given the rest of the build system. + +2015-11-10 Will Estes + + * autogen.sh: Called libtoolize directly because autoreconf fails to + pick up LT_INIT properly + +2015-11-10 Will Estes + + * tests/Makefile.am: Added tableopts.sh to EXTRA_DIST + +2015-11-08 Mightyjo + + * tests/Makefile.am: Made tests depend on the built flex binary. + +2015-11-08 Mightyjo + + * : commit cf6cb4dce791c26567cc506770ca96b4f4118024 Author: Mightyjo + Date: Sat Nov 7 23:11:35 2015 -0800 + +2015-11-04 Mightyjo + + * doc/flex.texi: Updated documentation to reflect the revisions to + FlexLexer.h + +2015-10-26 Mightyjo + + * src/FlexLexer.h, src/flex.skl: Changed several pointers to istream + (and ostream) to references in c++-only sections of the skeleton. Patched up a variety of expected errors caused by changing istream* + to istream&. Added a stray 'make' at line 545. Oops. Changed the buffer_state struct to store std::streambuf* instead of + std::istream* for C++ mode. Changed interfaces in FlexLexer.h to + take std::istream& instead of *. Backward compatibility temporarily + broken. Patched up backward compatibility with reasonable behavior in the + presence of null pointers. Re-added backward-compatible versions of the yyFlexLexer methods + that take iostream pointers. All tests passing. + +2015-09-29 Translation Project + + * po/zh_CN.po: new zh_CN translation from the translation project + +2015-07-27 Jaska Uimonen + + * src/gen.c: fix possible resource leak with yynultrans_tbl + +2015-07-27 Jaska Uimonen + + * src/dfa.c: fix possible uninitialized array values + +2015-08-05 Will Estes + + * doc/flex.texi: add %{...%} block to example in manual + +2015-07-15 Will Estes + + * configure.ac: initialize libtool earlier in build system + generation + +2015-05-08 Translation Project + + * po/da.po: new da translation from the Translation Project + +2014-07-25 Mariusz PluciÅ„ski + + * src/gen.c, src/scan.l, tests/bison_nr_parser.y, + tests/bison_yylloc_parser.y, tests/bison_yylval_parser.y, + tests/multiple_scanners_nr_main.c: Fix `label unused` warning + +2014-07-25 Mariusz PluciÅ„ski + + * src/flex.skl: Fix two "signed/unsigned" warnings + +2014-07-25 Mariusz PluciÅ„ski + + * tests/alloc_extra.l, tests/array_nr.l, tests/array_r.l, + tests/basic_nr.l, tests/basic_r.l, tests/bison_nr_scanner.l, + tests/bison_yylloc_scanner.l, tests/bison_yylval_scanner.l, + tests/ccl.l, tests/cxx_basic.ll, tests/debug_nr.l, tests/debug_r.l, + tests/extended.l, tests/header_nr_scanner.l, + tests/header_r_scanner.l, tests/include_by_buffer.direct.l, + tests/include_by_push.direct.l, + tests/include_by_reentrant.direct.l, tests/lineno_nr.l, + tests/lineno_r.l, tests/lineno_trailing.l, tests/mem_nr.l, + tests/mem_r.l, tests/multiple_scanners_nr_1.l, + tests/multiple_scanners_nr_2.l, tests/multiple_scanners_r_1.l, + tests/multiple_scanners_r_2.l, tests/noansi_nr.l, tests/noansi_r.l, + tests/posix.l, tests/posixly_correct.l, tests/prefix_nr.l, + tests/prefix_r.l, tests/pthread.l, tests/quotes.l, tests/reject.l4, + tests/rescan_nr.direct.l, tests/rescan_r.direct.l, + tests/string_nr.l, tests/string_r.l, tests/tableopts.l4, + tests/top.l, tests/yyextra.l: Fix `unused function` warnings in + tests + +2014-07-25 Mariusz PluciÅ„ski + + * tests/bison_nr_parser.y, tests/bison_yylloc_parser.y, + tests/bison_yylval_parser.y: Fix `implicit function declaration` + warnings in tests + +2014-07-25 Mariusz PluciÅ„ski + + * tests/header_r_main.c, tests/multiple_scanners_nr_main.c, + tests/reject.l4, tests/tableopts.l4, tests/top_main.c: Remove a few + `unused variable` warnings + +2014-07-25 Mariusz PluciÅ„ski + + * src/filter.c: Remove unused variable from + src/filter.c:filter_fix_linedirs + +2014-07-25 Mariusz PluciÅ„ski + + * src/scanopt.c: Remove unused argument and variable from + src/scanopt.c:scanopt_err + +2014-07-25 Mariusz PluciÅ„ski + + * src/flex.skl, src/libmain.c, src/parse.y, tests/bison_nr_main.c, + tests/bison_yylloc_main.c, tests/bison_yylloc_parser.y, + tests/bison_yylval_main.c, tests/bison_yylval_parser.y, + tests/header_nr_main.c, tests/header_r_main.c, tests/lineno_nr.l, + tests/lineno_r.l, tests/lineno_trailing.l, tests/mem_r.l, + tests/multiple_scanners_nr_main.c, + tests/multiple_scanners_r_main.c, tests/pthread.l, + tests/rescan_nr.direct.l, tests/rescan_r.direct.l, tests/top_main.c: + Fix a few "unused parameter" warnings + +2014-07-25 Mariusz PluciÅ„ski + + * src/main.c: Fix warning about redefined macro when multiple + scanners are used. + +2014-07-25 Mariusz PluciÅ„ski + + * tests/bison_nr_parser.y: Avoid passing `const char*` argument as + `char*` in test-bison-nr + +2014-11-21 Alexis La Goutte + + * src/misc.c, src/regex.c, src/tables.c, src/tables_shared.c: Fix + -Wdocumentation warnings + +2014-11-16 Will Estes + + * tests/README: document new suite layout + +2014-11-16 Will Estes + + * tests/TEMPLATE/.gitignore, tests/TEMPLATE/Makefile.am, + tests/TEMPLATE/cvsignore, tests/TEMPLATE/parser.y, + tests/TEMPLATE/scanner.l, tests/TEMPLATE/test.input, + tests/create-test, tests/descriptions: remove unused files after + test suite refactor + +2014-11-14 Will Estes + + * .gitignore, doc/.gitignore: Ignore directories build-aux/, m4/ Since build-aux/ now contains a number of files previously at the + top level, we ignore build-aux/. Therefore, it's not necessary to + list any files that are now kept in it. Also, explicitly mark m4/ as + a directory to ignore. + +2014-11-14 Will Estes + + * configure.ac: added back call to AC_CONFIG_AUX_DIR. In an effort to reduce top level directory clutter, reintroduced the + call to AC_CONFIG_AUX_DIR. Moved the call to LT_INIT to after that + call so configure will be able to find its files. + +2014-07-18 Will Estes + + * tests/tableopts.sh, tests/testwrapper.sh: use unofficial bash + strict mode and cleanups in supporting bash scripts + +2014-07-18 Will Estes + + * tests/.gitignore, tests/Makefile.am, tests/tableopts.am, + tests/tableopts.l4, tests/tableopts.sh, tests/tableopts.txt, + tests/test-table-opts/.gitignore, + tests/test-table-opts/Makefile.am, tests/test-table-opts/scanner.l, + tests/test-table-opts/test.input: split apart table options tests + into tests per threading, table option, serialization and + verification + +2014-07-17 Will Estes + + * tests/tableopts.sh: add tableopts.sh script + +2014-07-02 Will Estes + + * configure.ac, tests/Makefile.am: use automake conditional around + pthread test + +2014-07-01 Will Estes + + * tests/.gitignore, tests/Makefile.am, tests/lineno_trailing.l, + tests/lineno_trailing.one.txt, + tests/test-lineno-trailing/.gitignore, + tests/test-lineno-trailing/Makefile.am, + tests/test-lineno-trailing/scanner.l, + tests/test-lineno-trailing/test.input: refactor lineno_trailing test + for new test suite layout + +2014-07-01 Will Estes + + * tests/.gitignore, tests/Makefile.am, tests/lineno_r.l, + tests/lineno_r.one.txt, tests/test-lineno-r/.gitignore, + tests/test-lineno-r/Makefile.am, tests/test-lineno-r/scanner.l, + tests/test-lineno-r/test.input: refactor lineno_r test for new test + suite layout + +2014-07-01 Will Estes + + * tests/.gitignore, tests/Makefile.am, tests/lineno_nr.l, + tests/lineno_nr.one.txt, tests/test-lineno-nr/.gitignore, + tests/test-lineno-nr/Makefile.am, tests/test-lineno-nr/scanner.l, + tests/test-lineno-nr/test.input, tests/testwrapper.sh: refactor + lineno_nr test for new test suite layout + +2014-06-30 Will Estes + + * tests/test-linedir-r/.gitignore, + tests/test-linedir-r/Makefile.am, + tests/test-linedir-r/check-lines.awk, tests/test-linedir-r/main.c, + tests/test-linedir-r/scanner.l, tests/test-linedir-r/test.input: + Remove linedir_r test. The linedir_r test tested the implementation of line number + tracking, not its results. + +2014-06-24 Will Estes + + * tests/.gitignore, tests/Makefile.am, tests/pthread.l, + tests/pthread_1.txt, tests/pthread_2.txt, tests/pthread_3.txt, + tests/pthread_4.txt, tests/pthread_5.txt, + tests/test-pthread/.gitignore, tests/test-pthread/Makefile.am, + tests/test-pthread/scanner.l, tests/test-pthread/test-1.input, + tests/test-pthread/test-2.input, tests/test-pthread/test-3.input, + tests/test-pthread/test-4.input, tests/test-pthread/test-5.input: + refactor pthread test for new test suite layout + +2014-06-24 Will Estes + + * tests/Makefile.am: build reject_[vs]er tests explicitly to pass + proper compiler flags + +2014-06-24 Will Estes + + * tests/.gitignore, tests/Makefile.am, tests/cxx_yywrap.ll, + tests/cxx_yywrap.txt, tests/test-c++-yywrap/.gitignore, + tests/test-c++-yywrap/Makefile.am, tests/test-c++-yywrap/scanner.l, + tests/test-c++-yywrap/test.input, tests/testwrapper.sh: refactor + cxx_yywrap test for new test suite layout + +2014-06-17 Will Estes + + * tests/Makefile.am, tests/options.cn, + tests/test-concatenated-options/.gitignore, + tests/test-concatenated-options/Makefile.am: refactor concatenated + options test for new test suite layout + +2014-06-17 Will Estes + + * tests/.gitignore, tests/Makefile.am, + tests/include_by_buffer.direct.l, + tests/include_by_buffer.direct.txt, + tests/include_by_buffer.direct_2.txt, + tests/include_by_buffer.direct_3.txt, + tests/include_by_push.direct.l, tests/include_by_push.direct.txt, + tests/include_by_push.direct_2.txt, + tests/include_by_push.direct_3.txt, + tests/include_by_reentrant.direct.l, + tests/include_by_reentrant.direct.txt, + tests/include_by_reentrant.direct_2.txt, + tests/include_by_reentrant.direct_3.txt, + tests/test-include-by-buffer/.gitignore, + tests/test-include-by-buffer/Makefile.am, + tests/test-include-by-buffer/scanner.l, + tests/test-include-by-buffer/test-1.input, + tests/test-include-by-buffer/test-2.input, + tests/test-include-by-buffer/test-3.input, + tests/test-include-by-push/.gitignore, + tests/test-include-by-push/Makefile.am, + tests/test-include-by-push/scanner.l, + tests/test-include-by-push/test-1.input, + tests/test-include-by-push/test-2.input, + tests/test-include-by-push/test-3.input, + tests/test-include-by-reentrant/.gitignore, + tests/test-include-by-reentrant/Makefile.am, + tests/test-include-by-reentrant/scanner.l, + tests/test-include-by-reentrant/test-1.input, + tests/test-include-by-reentrant/test-2.input, + tests/test-include-by-reentrant/test-3.input: refactor include_by_* + tests for new test suite layout + +2014-06-16 Will Estes + + * tests/.gitignore, tests/Makefile.am, tests/rescan_nr.direct.l, + tests/rescan_nr.direct.txt, tests/rescan_nr.l, tests/rescan_nr.txt, + tests/rescan_r.direct.l, tests/rescan_r.direct.txt, + tests/test-rescan-r/.gitignore, tests/test-rescan-r/Makefile.am, + tests/test-rescan-r/scanner.l, tests/test-rescan-r/test.input, + tests/testwrapper.sh: refactor rescan_r test for new test suite + layout + +2014-06-16 Will Estes + + * tests/.gitignore, tests/Makefile.am, tests/rescan_nr.l, + tests/rescan_nr.txt, tests/test-rescan-nr/.gitignore, + tests/test-rescan-nr/Makefile.am, tests/test-rescan-nr/scanner.l, + tests/test-rescan-nr/test.input, tests/testwrapper.sh: Refactor + rescan_nr test for new test suite layout. Also add -r option to testwrapper.sh to support passing input file + as a command line argument to the test scanner without using shell + redirection. + +2014-06-16 Will Estes + + * tests/Makefile.am: correct use of objext to OBJEXT + +2014-06-16 Will Estes + + * tests/.gitignore, tests/Makefile.am, tests/quotes.l, + tests/quotes.txt, tests/test-quotes/.gitignore, + tests/test-quotes/Makefile.am, tests/test-quotes/scanner.l, + tests/test-quotes/test.input: refactor quotes test for new test + suite layout + +2014-06-16 Will Estes + + * tests/.gitignore, tests/Makefile.am, tests/reject.l4, + tests/reject.txt, tests/test-reject/.gitignore, + tests/test-reject/Makefile.am, tests/test-reject/scanner.l, + tests/test-reject/test.input, tests/testwrapper.sh: Refactor reject + test for new test suite layout. Split out reject test into its constituant tests. Add .reject tests + and .table tests for automake test log generation. Rewrite + testwrapper.sh to handle running with a tables file and specifying + optional input using command line options rather than positional + parameters. + +2014-06-15 Will Estes + + * tests/.gitignore, tests/Makefile.am, + tests/multiple_scanners_r_1.l, tests/multiple_scanners_r_2.l, + tests/multiple_scanners_r_main.c, + tests/test-multiple-scanners-r/.gitignore, + tests/test-multiple-scanners-r/Makefile.am, + tests/test-multiple-scanners-r/main.c, + tests/test-multiple-scanners-r/scanner-1.l, + tests/test-multiple-scanners-r/scanner-2.l: Refactor + multiple_scanners_r test for new test suite layout. Also, remove the use of table files from this test as that tests two + features at once and we want to be as close to testing one feature + at a time as we can be. + +2014-06-15 Will Estes + + * tests/.gitignore, tests/Makefile.am, + tests/multiple_scanners_nr_1.l, tests/multiple_scanners_nr_2.l, + tests/multiple_scanners_nr_main.c, + tests/test-multiple-scanners-nr/.gitignore, + tests/test-multiple-scanners-nr/Makefile.am, + tests/test-multiple-scanners-nr/main.c, + tests/test-multiple-scanners-nr/scanner-1.l, + tests/test-multiple-scanners-nr/scanner-2.l: refactor + multiple_scanners_nr test for new test suite layout + +2014-06-14 Will Estes + + * tests/.gitignore, tests/Makefile.am, + tests/cxx_multiple_scanners.txt, tests/cxx_multiple_scanners_1.ll, + tests/cxx_multiple_scanners_2.ll, + tests/cxx_multiple_scanners_main.cc, + tests/test-c++-multiple-scanners/.gitignore, + tests/test-c++-multiple-scanners/Makefile.am, + tests/test-c++-multiple-scanners/main.cpp, + tests/test-c++-multiple-scanners/scanner-1.l, + tests/test-c++-multiple-scanners/scanner-2.l, + tests/test-c++-multiple-scanners/test.input: refactor + cxx_multiple_scanners test for new test suite layout + +2014-06-14 Will Estes + + * tests/.gitignore, tests/Makefile.am, tests/c_cxx_nr.lll, + tests/c_cxx_nr.txt, tests/c_cxx_r.lll, tests/c_cxx_r.txt, + tests/test-c-cpp-nr/.gitignore, tests/test-c-cpp-nr/Makefile.am, + tests/test-c-cpp-nr/scanner.l, tests/test-c-cpp-nr/test.input, + tests/test-c-cpp-r/.gitignore, tests/test-c-cpp-r/Makefile.am, + tests/test-c-cpp-r/scanner.l, tests/test-c-cpp-r/test.input: + refactor c_cxx_nr, c_cxx_r tests for new test suite layout + +2014-06-14 Will Estes + + * tests/.gitignore, tests/Makefile.am, tests/cxx_basic.ll, + tests/cxx_basic.txt, tests/test-c++-basic/.gitignore, + tests/test-c++-basic/Makefile.am, tests/test-c++-basic/scanner.l, + tests/test-c++-basic/test.input: refactor cxx_basic test for new + test suite layout + +2014-06-14 Will Estes + + * tests/.gitignore, tests/Makefile.am, tests/posixly_correct.l, + tests/test-posixly-correct/.gitignore, + tests/test-posixly-correct/Makefile.am, + tests/test-posixly-correct/scanner.l: refactor posixly_correct test + for new test suite layout + +2014-06-14 Will Estes + + * tests/.gitignore, tests/Makefile.am, + tests/test-yyextra/.gitignore, tests/test-yyextra/Makefile.am, + tests/test-yyextra/scanner.l, tests/test-yyextra/test.input, + tests/yyextra.l, tests/yyextra.txt: refactor yyextra test for new + test suite layout + +2014-06-14 Will Estes + + * tests/.gitignore, tests/Makefile.am, tests/test-top/.gitignore, + tests/test-top/Makefile.am, tests/test-top/main.c, + tests/test-top/scanner.l, tests/test-top/test.input, tests/top.l, + tests/top.txt, tests/top_main.c: refactor top test for new test + suite layout + +2014-06-14 Will Estes + + * tests/.gitignore, tests/Makefile.am, tests/string_r.l, + tests/test-string-r/.gitignore, tests/test-string-r/Makefile.am, + tests/test-string-r/scanner.l: refactor string_r test for new test + suite layout + +2014-06-14 Will Estes + + * tests/.gitignore, tests/Makefile.am, tests/string_nr.l, + tests/test-string-nr/.gitignore, tests/test-string-nr/Makefile.am, + tests/test-string-nr/scanner.l: refactor string_nr test for new test + suite layout + +2014-06-12 Will Estes + + * tests/.gitignore, tests/Makefile.am, tests/prefix_r.l, + tests/prefix_r.txt, tests/test-prefix-r/.gitignore, + tests/test-prefix-r/Makefile.am, tests/test-prefix-r/README, + tests/test-prefix-r/scanner.l, tests/test-prefix-r/test.input: + refactor prefix_r test for new test suite layout + +2014-06-12 Will Estes + + * tests/.gitignore, tests/Makefile.am, tests/prefix_nr.l, + tests/prefix_nr.txt, tests/test-prefix-nr/.gitignore, + tests/test-prefix-nr/Makefile.am, tests/test-prefix-nr/README, + tests/test-prefix-nr/scanner.l, tests/test-prefix-nr/test.input: + refactor prefix_nr for new test suite layout + +2014-06-12 Will Estes + + * tests/testwrapper.sh: Check if test input file exists. Not all tests have input files, so check if one exists and run the + test program accordingly. + +2014-06-12 Will Estes + + * tests/.gitignore, tests/Makefile.am, tests/posix.l, + tests/test-posix/.gitignore, tests/test-posix/Makefile.am, + tests/test-posix/scanner.l: refactor posix test for new test suite + layout + +2014-06-12 Will Estes + + * tests/.gitignore, tests/Makefile.am, tests/noansi_r.l, + tests/noansi_r.txt, tests/test-noansi-r/.gitignore, + tests/test-noansi-r/Makefile.am, tests/test-noansi-r/scanner.l, + tests/test-noansi-r/test.input: refactor noansi_r test for new test + suite layout + +2014-06-12 Will Estes + + * tests/.gitignore, tests/Makefile.am, tests/noansi_nr.l, + tests/noansi_nr.txt, tests/test-noansi-nr/.gitignore, + tests/test-noansi-nr/Makefile.am, tests/test-noansi-nr/scanner.l, + tests/test-noansi-nr/test.input: refactor noansi_nr for new test + suite layout + +2014-06-05 Will Estes + + * tests/.gitignore, tests/Makefile.am, tests/mem_r.l, + tests/mem_r.txt, tests/test-mem-r/.gitignore, + tests/test-mem-r/Makefile.am, tests/test-mem-r/scanner.l, + tests/test-mem-r/test.input: refactor mem_r test for new test suite + layout + +2014-06-05 Will Estes + + * tests/.gitignore, tests/Makefile.am, tests/mem_nr.l, + tests/mem_nr.txt, tests/test-mem-nr/.gitignore, + tests/test-mem-nr/Makefile.am, tests/test-mem-nr/scanner.l, + tests/test-mem-nr/test.input: refactor mem_nr test for new test + suite layout + +2014-06-04 Will Estes + + * tests/.gitignore, tests/Makefile.am, tests/header_r.txt, + tests/header_r_main.c, tests/header_r_scanner.l, + tests/test-header-r/.gitignore, tests/test-header-r/Makefile.am, + tests/test-header-r/main.c, tests/test-header-r/scanner.l, + tests/test-header-r/test.input: refactor header_r test for new test + suite layout + +2014-06-04 Will Estes + + * tests/.gitignore, tests/Makefile.am, tests/header_nr.txt, + tests/header_nr_main.c, tests/header_nr_scanner.l, + tests/test-header-nr/.gitignore, tests/test-header-nr/Makefile.am, + tests/test-header-nr/main.c, tests/test-header-nr/scanner.l, + tests/test-header-nr/test.input: refactor header_nr test for new + test suite layout + +2014-06-04 Will Estes + + * tests/.gitignore, tests/Makefile.am, tests/extended.l, + tests/extended.txt, tests/test-extended/.gitignore, + tests/test-extended/Makefile.am, tests/test-extended/scanner.l, + tests/test-extended/test.input: refactor extended test for new test + suite layout + +2014-06-04 Will Estes + + * tests/.gitignore, tests/Makefile.am, tests/debug_r.l, + tests/debug_r.txt, tests/test-debug-r/.gitignore, + tests/test-debug-r/Makefile.am, tests/test-debug-r/scanner.l, + tests/test-debug-r/test.input: refactor debug_r test for new test + suite layout + +2014-06-04 Will Estes + + * tests/.gitignore, tests/Makefile.am, tests/debug_nr.l, + tests/debug_nr.txt, tests/test-debug-nr/.gitignore, + tests/test-debug-nr/Makefile.am, tests/test-debug-nr/scanner.l, + tests/test-debug-nr/test.input: refactor debug_nr test for new test + suite layout + +2014-06-04 Will Estes + + * tests/.gitignore, tests/Makefile.am, tests/ccl.l, tests/ccl.txt, + tests/test-ccl/.gitignore, tests/test-ccl/Makefile.am, + tests/test-ccl/scanner.l, tests/test-ccl/test.input: refactor ccl + test for new test suite layout + +2014-06-04 Will Estes + + * tests/.gitignore, tests/Makefile.am, tests/alloc-extra.l, + tests/alloc-extra.txt, tests/alloc_extra.l, tests/alloc_extra.txt, + tests/array-nr.l, tests/array-nr.txt, tests/array-r.l, + tests/array-r.txt, tests/array_nr.l, tests/array_nr.txt, + tests/array_r.l, tests/array_r.txt, tests/basic-nr.l, + tests/basic-nr.txt, tests/basic-r.l, tests/basic-r.txt, + tests/basic_nr.l, tests/basic_nr.txt, tests/basic_r.l, + tests/basic_r.txt, tests/bison-nr-main.c, tests/bison-nr-parser.y, + tests/bison-nr-scanner.l, tests/bison-nr.txt, + tests/bison-yylloc-main.c, tests/bison-yylloc-parser.y, + tests/bison-yylloc-scanner.l, tests/bison-yylloc.txt, + tests/bison-yylval-main.c, tests/bison-yylval-parser.y, + tests/bison-yylval-scanner.l, tests/bison-yylval.txt, + tests/bison_nr.txt, tests/bison_nr_main.c, tests/bison_nr_parser.y, + tests/bison_nr_scanner.l, tests/bison_yylloc.txt, + tests/bison_yylloc_main.c, tests/bison_yylloc_parser.y, + tests/bison_yylloc_scanner.l, tests/bison_yylval.txt, + tests/bison_yylval_main.c, tests/bison_yylval_parser.y, + tests/bison_yylval_scanner.l: use underscores in test file names to + silence automake warnings + +2014-06-04 Will Estes + + * .gitignore, m4/.gitignore, m4/Makefile.am: do not track m4 + subdirectory any more + +2014-06-04 Will Estes + + * .gitignore, configure.ac: upgrade automake version to 1.14.1 Unfortunately, automake 1.14.1 does not play nicely with + AC_CONFIG_AUX_DIR, so upgrading the used automake version required + removing the build-aux directory and letting autoconf's installed + helper files live more over the tree. + +2014-06-04 Will Estes + + * doc/.gitignore: ignore more files generated by texinfo + +2014-06-04 Will Estes + + * configure.ac: update gettext version to 0.19 + +2014-06-04 Will Estes + + * configure.ac: call LT_INIT earlier in configure.ac + +2014-06-04 Will Estes + + * tests/.gitignore, tests/Makefile.am, tests/bison-yylval-main.c, + tests/bison-yylval-parser.y, tests/bison-yylval-scanner.l, + tests/bison-yylval.txt, tests/test-bison-yylval/.gitignore, + tests/test-bison-yylval/Makefile.am, + tests/test-bison-yylval/main.c, tests/test-bison-yylval/parser.y, + tests/test-bison-yylval/scanner.l, + tests/test-bison-yylval/test.input: refactor bison-yylval test for + new test suite layout + +2014-06-04 Will Estes + + * tests/.gitignore, tests/Makefile.am, tests/bison-yylloc-main.c, + tests/bison-yylloc-parser.y, tests/bison-yylloc-scanner.l, + tests/bison-yylloc.txt, tests/test-bison-yylloc/.gitignore, + tests/test-bison-yylloc/Makefile.am, + tests/test-bison-yylloc/main.c, tests/test-bison-yylloc/parser.y, + tests/test-bison-yylloc/scanner.l, + tests/test-bison-yylloc/test.input: refactor bison-yylloc test for + new test suite layout + +2014-06-03 Will Estes + + * tests/.gitignore, tests/Makefile.am, tests/bison-nr-main.c, + tests/bison-nr-parser.y, tests/bison-nr-scanner.l, + tests/bison-nr.txt, tests/test-bison-nr/.gitignore, + tests/test-bison-nr/Makefile.am, tests/test-bison-nr/main.c, + tests/test-bison-nr/parser.y, tests/test-bison-nr/scanner.l, + tests/test-bison-nr/test.input: refactor bison-nr test for new test + suite layout + +2014-06-01 Will Estes + + * tests/.gitignore, tests/Makefile.am, tests/array-r.l, + tests/array-r.txt, tests/test-array-r/.gitignore, + tests/test-array-r/Makefile.am, tests/test-array-r/scanner.l, + tests/test-array-r/test.input: refactor array-r test for new test + suite layout + +2014-06-01 Will Estes + + * tests/Makefile.am: list tests/README with other EXTRA_DIST files + in tests/ + +2014-06-01 Will Estes + + * tests/.gitignore, tests/Makefile.am, tests/array-nr.l, + tests/array-nr.txt, tests/test-array-nr/.gitignore, + tests/test-array-nr/Makefile.am, tests/test-array-nr/scanner.l, + tests/test-array-nr/test.input: refactor array-nr test for new test + suite layout + +2014-06-01 Will Estes + + * tests/Makefile.am, tests/testwrapper.sh: make tests/testwrapper.sh + more verbose; find input in srcdir Since output is redirected by the automake parallel test suite + driver, turn on both -v and -x in bash for the testwrapper.sh shell + script. This helps a ton in debugging problems with the test harness + itself. In general, the input files are in automake's srcdir and the name of + the test includes the relative path to it (even though that's + supposed to be ./). Therefore, pass srcdir in AM_LOG_FLAGS and + prepend that to the test name as part of constructing the input + file's name. + +2014-06-01 Will Estes + + * tests/Makefile.am: distribute tests/testwrapper.sh + +2014-06-01 Will Estes + + * tests/.gitignore, tests/Makefile.am, tests/alloc-extra.l, + tests/alloc-extra.txt, tests/test-alloc-extra/.gitignore, + tests/test-alloc-extra/Makefile.am, + tests/test-alloc-extra/scanner.l, tests/test-alloc-extra/test.input: + refacter alloc-extra for new test suite layout + +2014-05-29 Will Estes + + * tests/.gitignore, tests/Makefile.am, tests/basic-r.l, + tests/basic-r.txt, tests/test-basic-r/.gitignore, + tests/test-basic-r/Makefile.am, tests/test-basic-r/scanner.l, + tests/test-basic-r/test.input: refactor basic-r test for new test + suite layout + +2014-04-22 Will Estes + + * tests/Makefile.am, tests/basic-nr.l, tests/basic-nr.txt, + tests/test-basic-nr/.gitignore, tests/test-basic-nr/Makefile.am, + tests/test-basic-nr/scanner.l, tests/test-basic-nr/test.input, + tests/testwrapper.sh: refactor basic-nr test for new test suite + layout + +2014-04-22 Will Estes + + * configure.ac: remove old tests/ subdirectories from build system + +2014-04-22 Will Estes + + * configure.ac: add parallel test suite option to build system + +2014-04-22 Will Estes + + * tests/.gitignore: ignore files for new test suite layout + +2014-04-22 Will Estes + + * tests/Makefile.am: use automake parallel test suite option to + build test suite + +2014-04-09 Manoj Srivastava + + * tests/test-bison-yylloc/parser.y, + tests/test-bison-yylval/parser.y: Do not use obsolete bison + constructs in tests. In Bison 3.0, support for YYLEX_PARAM and YYPARSE_PARAM has been + removed (deprecated in Bison 1.875): use %lex-param, %parse-param, + or %param. This commit fixes the tests so they still work. Signed-off-by: Manoj Srivastava + +2014-10-31 Christos Zoulas + + * src/buf.c, src/filter.c, src/flex.skl, src/flexdef.h, src/gen.c, + src/libmain.c, src/libyywrap.c, src/main.c, src/misc.c, src/nfa.c, + src/scan.l, src/scanflags.c, src/scanopt.c, src/yylex.c: NetBSD + downstream patches. const fixes. -Wconversion fixes for the skeleton files. param namespace protection (add _ to inline function parameters). unused variable/code removal. rename warn to lwarn to avoid conflict with . ctype.h function argument correction. merged the error functions lerrif and lerrsf -> lerr. + +2014-07-25 Mariusz PluciÅ„ski + + * src/flexdef.h, src/misc.c, src/scanflags.c: Allow error reporting + routines to accept varying number of arguments in modern style + +2014-07-25 Mariusz PluciÅ„ski + + * src/buf.c: Fix warning on assigning from `const char*` to `char*` + +2014-07-24 Mariusz PluciÅ„ski + + * src/main.c: Add disambiguation braces in main.c + +2014-07-17 Yuri + + * doc/flex.texi, examples/fastwc/mywc.c, src/ccl.c, src/dfa.c, + src/ecs.c, src/flex.skl, src/flexdef.h, src/gen.c, src/misc.c, + src/nfa.c, src/parse.y, src/scan.l, src/sym.c, src/tblcmp.c: Removed + deprecated 'register' storage class specifier. clang-3.5.0 now + complains about them: warning: 'register' storage class specifier is + deprecated [-Wdeprecated-register] + +2014-06-21 Mariusz PluciÅ„ski + + * src/flexdef.h, src/main.c, src/misc.c, src/options.c, + src/options.h, src/yylex.c: Change output formats from octal to + hexadecimal + +2014-06-11 Will Estes + + * NEWS, configure.ac: update version number to 2.6.0-pre + +2014-05-03 Will Estes + + * src/ecs.c: check limits before using array index cclp; resolves + sf-166 + +2014-04-02 Sean McBride + + * src/flex.skl: Suppress clang warning about empty @param paragraph; + resolves sf#158 Signed-off-by: Will Estes + +2014-04-02 Will Estes + + * doc/flex.texi: fix punction when talking about colon-bracket + delimiters; resolves sf#167 + +2014-04-02 Will Estes + + * doc/flex.texi: remove proofreading comment + +2014-04-02 Will Estes + + * doc/flex.texi: Put angle brackets around start condition name; + resolves bug #168. + +2014-04-02 Michael Haubenwallner + + * lib/Makefile.am, lib/realloc.c: Fix malloc/realloc replacement, + bug#151. Signed-off-by: Will Estes + +2014-04-02 Will Estes + + * lib/malloc.c: change crlf line ending to lf + +2014-03-26 Will Estes + + * NEWS: mention flex 2.5.39 release in NEWS file + +2014-03-26 Will Estes + + * control.ac: initial default control file for shipper + +2014-03-05 Cyril Brulebois + + * src/flex.skl: Adjust buffer sizes on ia64. From the debian change entry: > Finish fixing the ia64 buffer issue. Previous commits increased + YY_READ_BUF_SIZE (where __ia64__ is defined) but left YY_BUF_SIZE + unchanged, so that didn't fix the problem in the end. In the general + case, the latter is twice the former. Therefore set it to the same + ratio in the ia64 case. In general, this sort of architecture specific fix is not the path + we want to take, but the cleanup should be done in a more organized + way in the future and getting it working would be preferrable now. + +2014-02-18 Will Estes + + * Makefile.am, src/Makefile.am: move m4 make variable to + src/Makefile.am. This prevents an error when building skel.c caused by the $(m4) make + variable not being defined. Particularly nasty since skel.c would + still be created, thus causing make to think skel.c was up to date. + +2014-02-18 Will Estes + + * devel/00EXTRACT-ALL-SYMS.sh, devel/README, devel/dump-tables.pl, + devel/tables.pl: remove unused devel/ subdirectory from codebase + +2014-02-15 Will Estes + + * po/Rules-getpo: Add make rule to rsync latest .po files from + translation project. The rule assumes that rsync is on the path and that there is exactly + one domain listed in the DOMAIN make variable. The intent is that + the rule will work with vpath builds. + +2014-02-14 Will Estes + + * .gitignore: git ignore directories of the form flex-* + +2014-02-14 Will Estes + + * po/POTFILES.in: list source files for translation as now being in + src/ + +2014-02-14 Will Estes + + * Makefile.am, configure.ac, tools/Makefile.am: Add tools/ + directory. Since tools/git2cl is a dependency of ChangeLog, not distributing + tools/git2cl with flex causes the "make dist" target to fail in the + distributed tar ball. + +2014-02-14 Will Estes + + * Makefile.am: removes extraneous files from EXTRA_DIST as automake + picks them up better without mentioning them + +2014-02-14 Will Estes + + * NEWS: mention version 2.6.0 in release news + +2014-02-14 Will Estes + + * .gitignore, FlexLexer.h, Makefile.am, buf.c, ccl.c, configure.ac, + dfa.c, doc/.gitignore, doc/Makefile.am, ecs.c, filter.c, flex.skl, + flexdef.h, flexint.h, gen.c, gettext.h, lib/.gitignore, libmain.c, + libyywrap.c, main.c, misc.c, mkskel.sh, nfa.c, options.c, + options.h, parse.y, regex.c, scan.l, scanflags.c, scanopt.c, + scanopt.h, src/.gitignore, src/FlexLexer.h, src/Makefile.am, + src/buf.c, src/ccl.c, src/dfa.c, src/ecs.c, src/filter.c, + src/flex.skl, src/flexdef.h, src/flexint.h, src/gen.c, + src/gettext.h, src/libmain.c, src/libyywrap.c, src/main.c, + src/misc.c, src/mkskel.sh, src/nfa.c, src/options.c, src/options.h, + src/parse.y, src/regex.c, src/scan.l, src/scanflags.c, + src/scanopt.c, src/scanopt.h, src/sym.c, src/tables.c, + src/tables.h, src/tables_shared.c, src/tables_shared.h, + src/tblcmp.c, src/version.h, src/yylex.c, sym.c, tables.c, + tables.h, tables_shared.c, tables_shared.h, tblcmp.c, version.h, + yylex.c: move flex program sources into src/ directory The *.[chly] sources are now in the src directory. This implies a + bunch of changes in Makefile.am and friends to account for the new + location. The .gitignore files are now more local to places where + various object files and generated source files occur. + +2014-02-13 Will Estes + + * configure.ac: increment flex version to 2.6.0 + +2014-02-16 Translation Project + + * po/ru.po: update ru translation from the translation project + +2014-02-14 Will Estes + + * NEWS: mention updated da translation in release news + +2014-02-14 Translation Project + + * po/da.po: update da translation from the translation project + +2014-02-14 Will Estes + + * NEWS: mention updated es translation in release news + +2014-02-14 Translation Project + + * po/es.po: update es translation from the translation project + +2014-02-14 Will Estes + + * NEWS: mention updated ko translation in release news + +2014-02-14 Translation Project + + * po/ko.po: update ko translation from the translation project + +2014-02-14 Will Estes + + * NEWS: mention updated ro translation in release news + +2014-02-14 Translation Project + + * po/ro.po: update ro translation from the translation project + +2014-02-14 Will Estes + + * NEWS: mention updated ru translation in release news + +2014-02-14 Translation Project + + * po/ru.po: update ru translation from the translation project + +2014-02-14 Will Estes + + * NEWS: mention updated sv translation in news + +2014-02-14 Translation Project + + * po/sv.po: update sv translation from the translation project + +2014-02-14 Will Estes + + * NEWS: mention updated tr translation in news + +2014-02-14 Translation Project + + * po/tr.po: update tr translation from the translation project + +2014-02-14 Will Estes + + * NEWS: mention updated zh_CN in release news + +2014-02-14 Translation Project + + * po/zh_CN.po: update zh_CN translation from the translation project + +2014-02-14 Will Estes + + * NEWS, po/LINGUAS, po/zh_TW.po, po/zh_tw.po: rename zh_tw + translation to its proper zh_TW name + +2014-02-14 Will Estes + + * NEWS: mention updated nl, vi translations in release news + +2014-02-14 Translation Project + + * po/vi.po: update vi translation from the translation project + +2014-02-14 Translation Project + + * po/nl.po: update nl translation from the translation project + +2014-02-14 Will Estes + + * TODO: remove some unneeded entries from the todo list + +2014-02-13 Will Estes + + * doc/Makefile.am: list more generated files in CLEANFILES + +2014-02-13 Will Estes + + * doc/flex.xml: remove unmaintained xml documentation + +2014-02-13 Will Estes + + * configure.ac: bump AM_GNU_GETTEXT_VERSION to 0.18.1 + +2014-02-13 Will Estes + + * README: list new location of flex git repo + +2014-02-13 Will Estes + + * po/.gitignore: git ignore generated files from english quoting + variant translations + +2014-02-13 Will Estes + + * po/LINGUAS: name english quoting variants correctly + +2014-02-13 Will Estes + + * Makefile.am, configure.ac, tools/Makefile.am: removed tools/ + subdirectory from distribution Since it is not possible to rebuild the ChangeLog file without being + in a git working directory of flex, distributing the tools directory + is misleading. In particular, git2cl will always fail. + +2014-02-13 Will Estes + + * po/LINGUAS: removed unneeded blank line from translation list + +2014-02-13 Will Estes + + * po/LINGUAS: added en quoting variants to translation list + +2014-02-11 Will Estes + + * configure.ac: use gnu automake option instead of gnits option + +2014-02-11 Will Estes + + * README-alpha: remove README_alpha file since it is no longer + needed + +2014-02-10 Will Estes + + * configure.ac: increment version to 2.5.38 + +2013-11-27 Will Estes + + * NEWS: flesh out internationalization section of NEWS file; mention + pt_BR translation + +2013-11-27 Translation Project + + * po/pt_BR.po: update pt_BR translation from the translation project + +2013-10-31 Will Estes + + * NEWS: begin listing 2.5.38 version in NEWS; list new sr + translation + +2013-10-31 Will Estes + + * po/LINGUAS: list new sr translation in list of translations + +2013-10-31 Will Estes + + * po/sr.po: add sr translation from the translation project + +2013-07-02 Till Varoquaux + + * configure.ac, flex.skl, nfa.c, tests/Makefile.am, + tests/test-lineno-trailing/.gitignore, + tests/test-lineno-trailing/Makefile.am, + tests/test-lineno-trailing/scanner.l, + tests/test-lineno-trailing/test.input: Adjust yylineno properly when + rewinding trailing contexts. + +2013-05-28 Will Estes + + * Makefile.am: Remove incorrect / in install-exec-hook target + +2013-02-16 Translation Project + + * po/LINGUAS, po/zh_tw.po: add zh_tw translation from the + translation project + +2012-12-06 Christoph Junghans + + * Makefile.am, configure.ac: add version information to shared + library Signed-off-by: Will Estes + +2012-12-04 Christoph Junghans + + * .gitignore, Makefile.am, configure.ac, lib/Makefile.am: Build + libfl and libcompat using libtool; resolves #3586814 Signed-off-by: Will Estes + +2012-12-04 Translation Project + + * po/ca.po: update ca translation + +2012-10-31 Hugh Sasse + + * tests/test-extended/Makefile.am, tests/test-quotes/Makefile.am: + use cmp instead of diff in some tests for portability reasons Signed-off-by: Will Estes + +2012-10-31 Dennis Clarke + + * tests/TEMPLATE/Makefile.am, tests/test-alloc-extra/Makefile.am, + tests/test-array-nr/Makefile.am, tests/test-array-r/Makefile.am, + tests/test-basic-nr/Makefile.am, tests/test-basic-r/Makefile.am, + tests/test-bison-nr/Makefile.am, + tests/test-bison-yylloc/Makefile.am, + tests/test-bison-yylval/Makefile.am, + tests/test-c++-basic/Makefile.am, + tests/test-c++-multiple-scanners/Makefile.am, + tests/test-c++-yywrap/Makefile.am, tests/test-c-cpp-nr/Makefile.am, + tests/test-c-cpp-r/Makefile.am, tests/test-ccl/Makefile.am, + tests/test-debug-nr/Makefile.am, tests/test-debug-r/Makefile.am, + tests/test-extended/Makefile.am, tests/test-header-nr/Makefile.am, + tests/test-header-r/Makefile.am, + tests/test-include-by-buffer/Makefile.am, + tests/test-include-by-push/Makefile.am, + tests/test-include-by-reentrant/Makefile.am, + tests/test-linedir-r/Makefile.am, tests/test-lineno-nr/Makefile.am, + tests/test-lineno-r/Makefile.am, tests/test-mem-nr/Makefile.am, + tests/test-mem-r/Makefile.am, + tests/test-multiple-scanners-nr/Makefile.am, + tests/test-multiple-scanners-r/Makefile.am, + tests/test-noansi-nr/Makefile.am, tests/test-noansi-r/Makefile.am, + tests/test-posix/Makefile.am, + tests/test-posixly-correct/Makefile.am, + tests/test-prefix-nr/Makefile.am, tests/test-prefix-r/Makefile.am, + tests/test-pthread/Makefile.am, tests/test-quotes/Makefile.am, + tests/test-reject/Makefile.am, tests/test-rescan-nr/Makefile.am, + tests/test-rescan-r/Makefile.am, tests/test-string-nr/Makefile.am, + tests/test-string-r/Makefile.am, tests/test-table-opts/Makefile.am, + tests/test-top/Makefile.am, tests/test-yyextra/Makefile.am: add + CFLAGS and CXXFLAGS options as appropriate to testsuite Makefile.am + files Signed-off-by: Will Estes + +2012-10-25 Will Estes + + * po/LINGUAS: add hr to list of translations + +2012-10-25 Translation Project + + * po/hr.po: add hr translation from the translation project + +2012-10-25 Translation Project + + * po/fr.po: new fr translation project from the translation project + +2012-09-08 Will Estes + + * po/LINGUAS: update languages list to include esperanto translation + +2012-09-08 Translation Project + + * po/eo.po: add eo translation from the translation project + +2012-08-26 Will Estes + + * configure.ac: add dist-xz to automake options; resolves #3561837 + +2012-08-26 Will Estes + + * autogen.sh, configure.ac: require gettext 0.18; force autoreconf + in autogen.sh; resolves #3561759 Autoconf had trouble finding the shared libraries for gettext. Using + gettext 0.18 fixes that. When updating the gettext version number, autoreconf could fail to + update files, since autopoint would assume the gettext-related files + had been locally modified. Passing --force prevents that from + happening. + +2012-08-15 Will Estes + + * Makefile.am: remove README.cvs from dist_doc_DATA in Makefile.am + +2012-08-13 Will Estes + + * : commit 9256a268e2a1000cb410766e95487912a7d66d61 Author: Will + Estes Date: Mon Aug 13 16:23:35 2012 -0400 + +2012-08-08 Will Estes + + * README, README.cvs: append README.cvs contents to README + +2012-08-08 Will Estes + + * gen.c: fix m4 error when useecs and nultrans are true; resolves + #1816878 + +2012-08-08 Robert Minsk + + * flex.skl: put user code after yyguts init; resolves #1744516 Signed-off-by: Will Estes + +2012-08-08 Robert Minsk + + * flex.skl, main.c: do not output yy_nxt to header with %option + full; resolves #1739922 Signed-off-by: Will Estes + +2012-08-07 Will Estes + + * main.c: let flex decide if yymore and reject are needed in lex + compatible mode This resolves bug #3510440. + +2012-08-06 Translation Project + + * po/vi.po: new vi translation from the translation project + +2012-08-06 Will Estes + + * .gitignore: add more patterns to .gitignore Undersome circumstances, the build process will generate conf.in~, + which we want to ignore. Also, some patch files will apply but not + cleanly and *.orig and *.rej files are generated. We want to ignore + them as well. + +2012-08-06 Will Estes + + * configure.ac, configure.in: rename configure.in to configure.ac to + prep for upcoming automake changes + +2012-08-06 Elias Pipping + + * tests/test-bison-yylloc/main.c, tests/test-bison-yylloc/parser.y, + tests/test-bison-yylval/main.c, tests/test-bison-yylval/parser.y: + Fix two tests to pass under bison 2.6 Given that bison is moving forward with the %parse-param instead of + YYPARSE_PARAM syntax, it makes sense to switch over to using the new + style declaration. In particular, this means that flex scanners that + use bison features will now require bison 2.6 or higher. Signed-off-by: Will Estes + +2012-08-04 Will Estes + + * po/nl.po: new nl translation from the translation project + +2012-08-04 Mike Frysinger + + * flexdef.h: add prototype for lerrsf_fatal to flexdef.h Signed-off-by: Will Estes + +2012-08-04 nomis52 + + * flex.skl, gen.c: Change variable types to silence compiler + warnings; resolves #3552806 Signed-off-by: Will Estes + 2012-08-03 Will Estes * NEWS: update NEWS to reflect changes in 2.5.37 diff --git a/FlexLexer.h b/FlexLexer.h deleted file mode 100644 index bad4ce03fb65..000000000000 --- a/FlexLexer.h +++ /dev/null @@ -1,206 +0,0 @@ -// -*-C++-*- -// FlexLexer.h -- define interfaces for lexical analyzer classes generated -// by flex - -// Copyright (c) 1993 The Regents of the University of California. -// All rights reserved. -// -// This code is derived from software contributed to Berkeley by -// Kent Williams and Tom Epperly. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: - -// 1. Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// 2. Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. - -// Neither the name of the University nor the names of its contributors -// may be used to endorse or promote products derived from this software -// without specific prior written permission. - -// THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR -// IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED -// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -// PURPOSE. - -// This file defines FlexLexer, an abstract class which specifies the -// external interface provided to flex C++ lexer objects, and yyFlexLexer, -// which defines a particular lexer class. -// -// If you want to create multiple lexer classes, you use the -P flag -// to rename each yyFlexLexer to some other xxFlexLexer. You then -// include in your other sources once per lexer class: -// -// #undef yyFlexLexer -// #define yyFlexLexer xxFlexLexer -// #include -// -// #undef yyFlexLexer -// #define yyFlexLexer zzFlexLexer -// #include -// ... - -#ifndef __FLEX_LEXER_H -// Never included before - need to define base class. -#define __FLEX_LEXER_H - -#include -# ifndef FLEX_STD -# define FLEX_STD std:: -# endif - -extern "C++" { - -struct yy_buffer_state; -typedef int yy_state_type; - -class FlexLexer { -public: - virtual ~FlexLexer() { } - - const char* YYText() const { return yytext; } - int YYLeng() const { return yyleng; } - - virtual void - yy_switch_to_buffer( struct yy_buffer_state* new_buffer ) = 0; - virtual struct yy_buffer_state* - yy_create_buffer( FLEX_STD istream* s, int size ) = 0; - virtual void yy_delete_buffer( struct yy_buffer_state* b ) = 0; - virtual void yyrestart( FLEX_STD istream* s ) = 0; - - virtual int yylex() = 0; - - // Call yylex with new input/output sources. - int yylex( FLEX_STD istream* new_in, FLEX_STD ostream* new_out = 0 ) - { - switch_streams( new_in, new_out ); - return yylex(); - } - - // Switch to new input/output streams. A nil stream pointer - // indicates "keep the current one". - virtual void switch_streams( FLEX_STD istream* new_in = 0, - FLEX_STD ostream* new_out = 0 ) = 0; - - int lineno() const { return yylineno; } - - int debug() const { return yy_flex_debug; } - void set_debug( int flag ) { yy_flex_debug = flag; } - -protected: - char* yytext; - int yyleng; - int yylineno; // only maintained if you use %option yylineno - int yy_flex_debug; // only has effect with -d or "%option debug" -}; - -} -#endif // FLEXLEXER_H - -#if defined(yyFlexLexer) || ! defined(yyFlexLexerOnce) -// Either this is the first time through (yyFlexLexerOnce not defined), -// or this is a repeated include to define a different flavor of -// yyFlexLexer, as discussed in the flex manual. -#define yyFlexLexerOnce - -extern "C++" { - -class yyFlexLexer : public FlexLexer { -public: - // arg_yyin and arg_yyout default to the cin and cout, but we - // only make that assignment when initializing in yylex(). - yyFlexLexer( FLEX_STD istream* arg_yyin = 0, FLEX_STD ostream* arg_yyout = 0 ); - - virtual ~yyFlexLexer(); - - void yy_switch_to_buffer( struct yy_buffer_state* new_buffer ); - struct yy_buffer_state* yy_create_buffer( FLEX_STD istream* s, int size ); - void yy_delete_buffer( struct yy_buffer_state* b ); - void yyrestart( FLEX_STD istream* s ); - - void yypush_buffer_state( struct yy_buffer_state* new_buffer ); - void yypop_buffer_state(); - - virtual int yylex(); - virtual void switch_streams( FLEX_STD istream* new_in, FLEX_STD ostream* new_out = 0 ); - virtual int yywrap(); - -protected: - virtual int LexerInput( char* buf, int max_size ); - virtual void LexerOutput( const char* buf, int size ); - virtual void LexerError( const char* msg ); - - void yyunput( int c, char* buf_ptr ); - int yyinput(); - - void yy_load_buffer_state(); - void yy_init_buffer( struct yy_buffer_state* b, FLEX_STD istream* s ); - void yy_flush_buffer( struct yy_buffer_state* b ); - - int yy_start_stack_ptr; - int yy_start_stack_depth; - int* yy_start_stack; - - void yy_push_state( int new_state ); - void yy_pop_state(); - int yy_top_state(); - - yy_state_type yy_get_previous_state(); - yy_state_type yy_try_NUL_trans( yy_state_type current_state ); - int yy_get_next_buffer(); - - FLEX_STD istream* yyin; // input source for default LexerInput - FLEX_STD ostream* yyout; // output sink for default LexerOutput - - // yy_hold_char holds the character lost when yytext is formed. - char yy_hold_char; - - // Number of characters read into yy_ch_buf. - int yy_n_chars; - - // Points to current character in buffer. - char* yy_c_buf_p; - - int yy_init; // whether we need to initialize - int yy_start; // start state number - - // Flag which is used to allow yywrap()'s to do buffer switches - // instead of setting up a fresh yyin. A bit of a hack ... - int yy_did_buffer_switch_on_eof; - - - size_t yy_buffer_stack_top; /**< index of top of stack. */ - size_t yy_buffer_stack_max; /**< capacity of stack. */ - struct yy_buffer_state ** yy_buffer_stack; /**< Stack as an array. */ - void yyensure_buffer_stack(void); - - // The following are not always needed, but may be depending - // on use of certain flex features (like REJECT or yymore()). - - yy_state_type yy_last_accepting_state; - char* yy_last_accepting_cpos; - - yy_state_type* yy_state_buf; - yy_state_type* yy_state_ptr; - - char* yy_full_match; - int* yy_full_state; - int yy_full_lp; - - int yy_lp; - int yy_looking_for_trail_begin; - - int yy_more_flag; - int yy_more_len; - int yy_more_offset; - int yy_prev_more_offset; -}; - -} - -#endif // yyFlexLexer || ! yyFlexLexerOnce - diff --git a/INSTALL b/INSTALL deleted file mode 100644 index 7d1c323beae7..000000000000 --- a/INSTALL +++ /dev/null @@ -1,365 +0,0 @@ -Installation Instructions -************************* - -Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, -2006, 2007, 2008, 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. This file is offered as-is, -without warranty of any kind. - -Basic Installation -================== - - Briefly, the shell commands `./configure; make; make install' should -configure, build, and install this package. The following -more-detailed instructions are generic; see the `README' file for -instructions specific to this package. Some packages provide this -`INSTALL' file but do not implement all of the features documented -below. The lack of an optional feature in a given package is not -necessarily a bug. More recommendations for GNU packages can be found -in *note Makefile Conventions: (standards)Makefile Conventions. - - The `configure' shell script attempts to guess correct values for -various system-dependent variables used during compilation. It uses -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, and a -file `config.log' containing compiler output (useful mainly for -debugging `configure'). - - It can also use an optional file (typically called `config.cache' -and enabled with `--cache-file=config.cache' or simply `-C') that saves -the results of its tests to speed up reconfiguring. Caching is -disabled by default to prevent problems with accidental use of stale -cache files. - - If you need to do unusual things to compile the package, please try -to figure out how `configure' could check whether to do them, and mail -diffs or instructions to the address given in the `README' so they can -be considered for the next release. If you are using the cache, and at -some point `config.cache' contains results you don't want to keep, you -may remove or edit it. - - The file `configure.ac' (or `configure.in') is used to create -`configure' by a program called `autoconf'. You need `configure.ac' if -you want to change it or regenerate `configure' using a newer version -of `autoconf'. - - The simplest way to compile this package is: - - 1. `cd' to the directory containing the package's source code and type - `./configure' to configure the package for your system. - - Running `configure' might take a while. 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, generally using the just-built uninstalled binaries. - - 4. Type `make install' to install the programs and any data files and - documentation. When installing into a prefix owned by root, it is - recommended that the package be configured and built as a regular - user, and only the `make install' phase executed with root - privileges. - - 5. Optionally, type `make installcheck' to repeat any self-tests, but - this time using the binaries in their final installed location. - This target does not install anything. Running this target as a - regular user, particularly if the prior `make install' required - root privileges, verifies that the installation completed - correctly. - - 6. You can remove the program binaries and object files from the - source code directory by typing `make clean'. To also remove the - files that `configure' created (so you can compile the package for - a different kind of computer), type `make distclean'. There is - 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. - - 7. Often, you can also type `make uninstall' to remove the installed - files again. In practice, not all packages have tested that - uninstallation works correctly, even though it is required by the - GNU Coding Standards. - - 8. Some packages, particularly those that use Automake, provide `make - distcheck', which can by used by developers to test that all other - targets like `make install' and `make uninstall' work correctly. - This target is generally not run by end users. - -Compilers and Options -===================== - - Some systems require unusual options for compilation or linking that -the `configure' script does not know about. Run `./configure --help' -for details on some of the pertinent environment variables. - - You can give `configure' initial values for configuration parameters -by setting variables in the command line or in the environment. Here -is an example: - - ./configure CC=c99 CFLAGS=-g LIBS=-lposix - - *Note Defining Variables::, for more details. - -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 can use GNU `make'. `cd' to the -directory where you want the object files and executables to go and run -the `configure' script. `configure' automatically checks for the -source code in the directory that `configure' is in and in `..'. This -is known as a "VPATH" build. - - With a non-GNU `make', it is safer to compile the package for one -architecture at a time in the source code directory. After you have -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' installs the package's commands under -`/usr/local/bin', include files under `/usr/local/include', etc. You -can specify an installation prefix other than `/usr/local' by giving -`configure' the option `--prefix=PREFIX', where PREFIX must be an -absolute file name. - - You can specify separate installation prefixes for -architecture-specific files and architecture-independent files. If you -pass the option `--exec-prefix=PREFIX' to `configure', the package uses -PREFIX as the prefix for installing programs and libraries. -Documentation and other data files still use the regular prefix. - - In addition, if you use an unusual directory layout you can give -options like `--bindir=DIR' to specify different values for particular -kinds of files. Run `configure --help' for a list of the directories -you can set and what kinds of files go in them. In general, the -default for these options is expressed in terms of `${prefix}', so that -specifying just `--prefix' will affect all of the other directory -specifications that were not explicitly provided. - - The most portable way to affect installation locations is to pass the -correct locations to `configure'; however, many packages provide one or -both of the following shortcuts of passing variable assignments to the -`make install' command line to change installation locations without -having to reconfigure or recompile. - - The first method involves providing an override variable for each -affected directory. For example, `make install -prefix=/alternate/directory' will choose an alternate location for all -directory configuration variables that were expressed in terms of -`${prefix}'. Any directories that were specified during `configure', -but not in terms of `${prefix}', must each be overridden at install -time for the entire installation to be relocated. The approach of -makefile variable overrides for each directory variable is required by -the GNU Coding Standards, and ideally causes no recompilation. -However, some platforms have known limitations with the semantics of -shared libraries that end up requiring recompilation when using this -method, particularly noticeable in packages that use GNU Libtool. - - The second method involves providing the `DESTDIR' variable. For -example, `make install DESTDIR=/alternate/directory' will prepend -`/alternate/directory' before all installation names. The approach of -`DESTDIR' overrides is not required by the GNU Coding Standards, and -does not work on platforms that have drive letters. On the other hand, -it does better at avoiding recompilation issues, and works well even -when some directory options were not specified in terms of `${prefix}' -at `configure' time. - -Optional Features -================= - - If the package supports it, you can cause programs to be installed -with an extra prefix or suffix on their names by giving `configure' the -option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. - - 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. - - Some packages offer the ability to configure how verbose the -execution of `make' will be. For these packages, running `./configure ---enable-silent-rules' sets the default to minimal output, which can be -overridden with `make V=1'; while running `./configure ---disable-silent-rules' sets the default to verbose, which can be -overridden with `make V=0'. - -Particular systems -================== - - 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 -D_XOPEN_SOURCE=500" - -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 Solaris, don't put `/usr/ucb' early in your `PATH'. This -directory contains several dysfunctional programs; working variants of -these programs are available in `/usr/bin'. So, if you need `/usr/ucb' -in your `PATH', put it _after_ `/usr/bin'. - - On Haiku, software installed for all users goes in `/boot/common', -not `/usr/local'. It is recommended to use the following options: - - ./configure --prefix=/boot/common - -Specifying the System Type -========================== - - There may be some features `configure' cannot figure out -automatically, but needs to determine by the type of machine the package -will run on. Usually, assuming the package is built to be run on the -_same_ architectures, `configure' can figure that out, but if it prints -a message saying it cannot guess the machine type, give it the -`--build=TYPE' option. TYPE can either be a short name for the system -type, such as `sun4', or a canonical name which has the form: - - CPU-COMPANY-SYSTEM - -where SYSTEM can have one of these forms: - - OS - KERNEL-OS - - See the file `config.sub' for the possible values of each field. If -`config.sub' isn't included in this package, then this package doesn't -need to know the machine type. - - If you are _building_ compiler tools for cross-compiling, you should -use the option `--target=TYPE' to select the type of system they will -produce code for. - - If you want to _use_ a cross compiler, that generates code for a -platform different from the build platform, you should specify the -"host" platform (i.e., that on which the generated programs will -eventually be run) with `--host=TYPE'. - -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. - -Defining Variables -================== - - Variables not defined in a site shell script can be set in the -environment passed to `configure'. However, some packages may run -configure again during the build, and the customized values of these -variables may be lost. In order to avoid this problem, you should set -them in the `configure' command line, using `VAR=value'. For example: - - ./configure CC=/usr/local2/bin/gcc - -causes the specified `gcc' to be used as the C compiler (unless it is -overridden in the site shell script). - -Unfortunately, this technique does not work for `CONFIG_SHELL' due to -an Autoconf bug. Until the bug is fixed you can use this workaround: - - CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash - -`configure' Invocation -====================== - - `configure' recognizes the following options to control how it -operates. - -`--help' -`-h' - Print a summary of all of the options to `configure', and exit. - -`--help=short' -`--help=recursive' - Print a summary of the options unique to this package's - `configure', and exit. The `short' variant lists options used - only in the top level, while the `recursive' variant lists options - also present in any nested packages. - -`--version' -`-V' - Print the version of Autoconf used to generate the `configure' - script, and exit. - -`--cache-file=FILE' - Enable the cache: use and save the results of the tests in FILE, - traditionally `config.cache'. FILE defaults to `/dev/null' to - disable caching. - -`--config-cache' -`-C' - Alias for `--cache-file=config.cache'. - -`--quiet' -`--silent' -`-q' - 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. - -`--prefix=DIR' - Use DIR as the installation prefix. *note Installation Names:: - for more details, including other options available for fine-tuning - the installation locations. - -`--no-create' -`-n' - Run the configure checks, but stop before creating any output - files. - -`configure' also accepts some other, not widely useful, options. Run -`configure --help' for more details. - diff --git a/Makefile.am b/Makefile.am index 63e5e65ce512..638c54964f01 100644 --- a/Makefile.am +++ b/Makefile.am @@ -27,136 +27,27 @@ # and 7-bit scanners when using uncompressed tables (-f or -F options). # For flex to always generate 8-bit scanners, add "-DDEFAULT_CSIZE=256" # to DEFS. -# -# For Vax/VMS, add "-DVMS" to DEFS. -# -# For MS-DOS, add "-DMS_DOS" to DEFS. See the directory MISC/MSDOS for -# additional info. -AM_YFLAGS = -d ACLOCAL_AMFLAGS = -I m4 -m4 = @M4@ -indent = @INDENT@ - -bin_PROGRAMS = flex -lib_LIBRARIES = \ - libfl.a \ - libfl_pic.a - -flex_SOURCES = \ - ccl.c \ - dfa.c \ - ecs.c \ - scanflags.c \ - gen.c \ - main.c \ - misc.c \ - nfa.c \ - parse.y \ - scan.l \ - skel.c \ - sym.c \ - tblcmp.c \ - yylex.c \ - options.c \ - scanopt.c \ - buf.c \ - tables.c \ - tables_shared.c \ - filter.c \ - regex.c - - -LDADD = lib/libcompat.a - -libfl_a_SOURCES = \ - libmain.c \ - libyywrap.c - -libfl_pic_a_SOURCES = \ - libmain.c \ - libyywrap.c - -libfl_pic_a_CFLAGS = \ - -fPIC \ - $(AM_CFLAGS) - -noinst_HEADERS = \ - flexdef.h \ - flexint.h \ - version.h \ - options.h \ - scanopt.h \ - tables.h \ - tables_shared.h - -include_HEADERS = \ - FlexLexer.h dist_doc_DATA = \ AUTHORS \ COPYING \ NEWS \ ONEWS \ - README \ - README.cvs \ - TODO + README.md EXTRA_DIST = \ .indent.pro \ - ABOUT-NLS \ - INSTALL \ - autogen.sh \ - flex.skl \ - mkskel.sh \ - config.rpath \ - gettext.h - -BUILT_SOURCES = \ - skel.c + autogen.sh SUBDIRS = \ - lib \ - . \ + src \ doc \ examples \ po \ - tools \ - tests - -localedir = $(datadir)/locale -AM_CPPFLAGS = -DLOCALEDIR=\"$(localedir)\" -I$(top_srcdir)/intl -LIBS = @LIBINTL@ @LIBS@ - -skel.c: flex.skl mkskel.sh flexint.h tables_shared.h - sed 's/m4_/m4postproc_/g; s/m4preproc_/m4_/g' $(srcdir)/flex.skl | $(m4) -P -DFLEX_MAJOR_VERSION=`echo $(VERSION)|cut -f 1 -d .` -DFLEX_MINOR_VERSION=`echo $(VERSION)|cut -f 2 -d .` -DFLEX_SUBMINOR_VERSION=`echo $(VERSION)|cut -f 3 -d .` | sed 's/m4postproc_/m4_/g' | $(SHELL) $(srcdir)/mkskel.sh >skel.c - -# Explicitly describe dependencies. -# You can recreate this with `gcc -I. -MM *.c' -buf.o: buf.c flexdef.h flexint.h -ccl.o: ccl.c flexdef.h flexint.h -dfa.o: dfa.c flexdef.h flexint.h tables.h tables_shared.h -ecs.o: ecs.c flexdef.h flexint.h -scanflags.o: scanflags.c flexdef.h flexint.h -gen.o: gen.c flexdef.h flexint.h tables.h tables_shared.h -libmain.o: libmain.c -libyywrap.o: libyywrap.c -main.o: main.c flexdef.h flexint.h version.h options.h scanopt.h \ - tables.h tables_shared.h -misc.o: misc.c flexdef.h flexint.h tables.h tables_shared.h -nfa.o: nfa.c flexdef.h flexint.h -options.o: options.c options.h scanopt.h flexdef.h flexint.h -parse.o: parse.c flexdef.h flexint.h tables.h tables_shared.h -scan.o: scan.c flexdef.h flexint.h parse.h -scanopt.o: scanopt.c flexdef.h flexint.h scanopt.h -skel.o: skel.c flexdef.h flexint.h -sym.o: sym.c flexdef.h flexint.h -tables.o: tables.c flexdef.h flexint.h tables.h tables_shared.h -tables_shared.o: tables_shared.c flexdef.h flexint.h tables.h \ - tables_shared.h -tblcmp.o: tblcmp.c flexdef.h flexint.h -yylex.o: yylex.c flexdef.h flexint.h parse.h -filter.o: filter.c flexdef.h flexint.h + tests \ + tools # Create the ChangeLog, but only if we're inside a git working directory @@ -165,52 +56,11 @@ ChangeLog: $(srcdir)/tools/git2cl $(srcdir)/tools/git2cl > $@ \ ; fi -# Run GNU indent on sources. Don't run this unless all the sources compile cleanly. -# -# Whole idea: -# 1. Check for .indent.pro, otherwise indent will use unknown -# settings, or worse, the GNU defaults.) -# 2. Check that this is GNU indent. -# 3. Make sure to process only the NON-generated .c and .h files. -# 4. Run indent twice per file. The first time is a test. -# Otherwise, indent overwrites your file even if it fails! -indentfiles = \ - buf.c \ - ccl.c \ - dfa.c \ - ecs.c \ - scanflags.c \ - filter.c \ - flexdef.h \ - gen.c \ - libmain.c \ - libyywrap.c \ - main.c \ - misc.c \ - nfa.c \ - options.c \ - options.h \ - regex.c \ - scanopt.c \ - scanopt.h \ - sym.c \ - tables.c \ - tables.h \ - tables_shared.c \ - tables_shared.h \ - tblcmp.c - indent: - if [ -f .indent.pro ] ; then \ - for f in $(indentfiles);\ - do\ - echo indenting $$f ;\ - $(indent) < $$f >/dev/null && indent $$f || echo $$f FAILED to indent ;\ - done \ - fi + cd src && $(MAKE) $(AM_MAKEFLAGS) indent install-exec-hook: - cd $(DESTDIR)/$(bindir) && \ + cd $(DESTDIR)$(bindir) && \ $(LN_S) -f flex$(EXEEXT) flex++$(EXEEXT) -.PHONY: ChangeLog tags indent +.PHONY: ChangeLog indent diff --git a/Makefile.in b/Makefile.in index 4004c4235446..8c418850a298 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.1 from Makefile.am. +# Makefile.in generated by automake 1.15 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. +# Copyright (C) 1994-2014 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. @@ -44,16 +43,63 @@ # and 7-bit scanners when using uncompressed tables (-f or -F options). # For flex to always generate 8-bit scanners, add "-DDEFAULT_CSIZE=256" # to DEFS. -# -# For Vax/VMS, add "-DVMS" to DEFS. -# -# For MS-DOS, add "-DMS_DOS" to DEFS. See the directory MISC/MSDOS for -# additional info. - - - VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -72,29 +118,54 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ -bin_PROGRAMS = flex$(EXEEXT) subdir = . -DIST_COMMON = README $(am__configure_deps) $(dist_doc_DATA) \ - $(include_HEADERS) $(noinst_HEADERS) $(srcdir)/Makefile.am \ - $(srcdir)/Makefile.in $(srcdir)/conf.in \ - $(top_srcdir)/configure ABOUT-NLS AUTHORS COPYING ChangeLog \ - INSTALL NEWS README-alpha THANKS TODO compile config.guess \ - config.rpath config.sub depcomp install-sh missing \ - mkinstalldirs parse.c parse.h scan.c ylwrap ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/m4/ax_prog_cc_for_build.m4 \ + $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/iconv.m4 \ + $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ - $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ - $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in + $(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/nls.m4 \ + $(top_srcdir)/m4/po.m4 $(top_srcdir)/m4/progtest.m4 \ + $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \ + $(am__configure_deps) $(dist_doc_DATA) $(am__DIST_COMMON) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno config.status.lineno -mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs -CONFIG_HEADER = config.h +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/src/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-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 \ + tags-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ @@ -116,69 +187,64 @@ am__nobase_list = $(am__nobase_strip_setup); \ 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)" "$(DESTDIR)$(bindir)" \ - "$(DESTDIR)$(docdir)" "$(DESTDIR)$(includedir)" -LIBRARIES = $(lib_LIBRARIES) -AR = ar -ARFLAGS = cru -libfl_a_AR = $(AR) $(ARFLAGS) -libfl_a_LIBADD = -am_libfl_a_OBJECTS = libmain.$(OBJEXT) libyywrap.$(OBJEXT) -libfl_a_OBJECTS = $(am_libfl_a_OBJECTS) -libfl_pic_a_AR = $(AR) $(ARFLAGS) -libfl_pic_a_LIBADD = -am_libfl_pic_a_OBJECTS = libfl_pic_a-libmain.$(OBJEXT) \ - libfl_pic_a-libyywrap.$(OBJEXT) -libfl_pic_a_OBJECTS = $(am_libfl_pic_a_OBJECTS) -PROGRAMS = $(bin_PROGRAMS) -am_flex_OBJECTS = ccl.$(OBJEXT) dfa.$(OBJEXT) ecs.$(OBJEXT) \ - scanflags.$(OBJEXT) gen.$(OBJEXT) main.$(OBJEXT) \ - misc.$(OBJEXT) nfa.$(OBJEXT) parse.$(OBJEXT) scan.$(OBJEXT) \ - skel.$(OBJEXT) sym.$(OBJEXT) tblcmp.$(OBJEXT) yylex.$(OBJEXT) \ - options.$(OBJEXT) scanopt.$(OBJEXT) buf.$(OBJEXT) \ - tables.$(OBJEXT) tables_shared.$(OBJEXT) filter.$(OBJEXT) \ - regex.$(OBJEXT) -flex_OBJECTS = $(am_flex_OBJECTS) -flex_LDADD = $(LDADD) -flex_DEPENDENCIES = lib/libcompat.a -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) -CCLD = $(CC) -LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -LEXCOMPILE = $(LEX) $(LFLAGS) $(AM_LFLAGS) -YLWRAP = $(top_srcdir)/ylwrap -YACCCOMPILE = $(YACC) $(YFLAGS) $(AM_YFLAGS) -SOURCES = $(libfl_a_SOURCES) $(libfl_pic_a_SOURCES) $(flex_SOURCES) -DIST_SOURCES = $(libfl_a_SOURCES) $(libfl_pic_a_SOURCES) \ - $(flex_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 +am__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(docdir)" DATA = $(dist_doc_DATA) -HEADERS = $(include_HEADERS) $(noinst_HEADERS) 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 +am__recursive_targets = \ + $(RECURSIVE_TARGETS) \ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ + cscope distdir dist dist-all distcheck +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags +CSCOPE = cscope DIST_SUBDIRS = $(SUBDIRS) +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/build-aux/compile \ + $(top_srcdir)/build-aux/config.guess \ + $(top_srcdir)/build-aux/config.rpath \ + $(top_srcdir)/build-aux/config.sub \ + $(top_srcdir)/build-aux/install-sh \ + $(top_srcdir)/build-aux/ltmain.sh \ + $(top_srcdir)/build-aux/missing ABOUT-NLS AUTHORS COPYING \ + ChangeLog NEWS THANKS build-aux/compile build-aux/config.guess \ + build-aux/config.rpath build-aux/config.sub \ + build-aux/install-sh build-aux/ltmain.sh build-aux/missing 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)"; }; } + if test -d "$(distdir)"; then \ + find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -rf "$(distdir)" \ + || { sleep 5 && rm -rf "$(distdir)"; }; \ + else :; fi +am__post_remove_distdir = $(am__remove_distdir) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ @@ -204,35 +270,52 @@ am__relativize = \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" -DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2 +DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.lz GZIP_ENV = --best +DIST_TARGETS = dist-lzip dist-gzip distuninstallcheck_listfiles = find . -type f -print +am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ + | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ ALLOCA = @ALLOCA@ AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ -BISON = @BISON@ +BUILD_EXEEXT = @BUILD_EXEEXT@ +BUILD_OBJEXT = @BUILD_OBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ +CC_FOR_BUILD = @CC_FOR_BUILD@ CFLAGS = @CFLAGS@ +CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ +CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@ +CPP_FOR_BUILD = @CPP_FOR_BUILD@ CXX = @CXX@ +CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +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@ HELP2MAN = @HELP2MAN@ INDENT = @INDENT@ @@ -242,25 +325,38 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ +LD = @LD@ LDFLAGS = @LDFLAGS@ +LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@ LEX = @LEX@ LEXLIB = @LEXLIB@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ -LIBS = @LIBINTL@ @LIBS@ +LIBPTHREAD = @LIBPTHREAD@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ M4 = @M4@ MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ -MKINSTALLDIRS = @MKINSTALLDIRS@ 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@ @@ -271,20 +367,29 @@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ RANLIB = @RANLIB@ +SED = @SED@ SET_MAKE = @SET_MAKE@ +SHARED_VERSION_INFO = @SHARED_VERSION_INFO@ SHELL = @SHELL@ STRIP = @STRIP@ +TEXI2DVI = @TEXI2DVI@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ +WARNINGFLAGS = @WARNINGFLAGS@ XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ YACC = @YACC@ YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ +ac_ct_CC_FOR_BUILD = @ac_ct_CC_FOR_BUILD@ ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ @@ -313,7 +418,7 @@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ -localedir = $(datadir)/locale +localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ @@ -322,6 +427,7 @@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -330,151 +436,44 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -AM_YFLAGS = -d ACLOCAL_AMFLAGS = -I m4 -m4 = @M4@ -indent = @INDENT@ -lib_LIBRARIES = \ - libfl.a \ - libfl_pic.a - -flex_SOURCES = \ - ccl.c \ - dfa.c \ - ecs.c \ - scanflags.c \ - gen.c \ - main.c \ - misc.c \ - nfa.c \ - parse.y \ - scan.l \ - skel.c \ - sym.c \ - tblcmp.c \ - yylex.c \ - options.c \ - scanopt.c \ - buf.c \ - tables.c \ - tables_shared.c \ - filter.c \ - regex.c - -LDADD = lib/libcompat.a -libfl_a_SOURCES = \ - libmain.c \ - libyywrap.c - -libfl_pic_a_SOURCES = \ - libmain.c \ - libyywrap.c - -libfl_pic_a_CFLAGS = \ - -fPIC \ - $(AM_CFLAGS) - -noinst_HEADERS = \ - flexdef.h \ - flexint.h \ - version.h \ - options.h \ - scanopt.h \ - tables.h \ - tables_shared.h - -include_HEADERS = \ - FlexLexer.h - dist_doc_DATA = \ AUTHORS \ COPYING \ NEWS \ ONEWS \ - README \ - README.cvs \ - TODO + README.md EXTRA_DIST = \ .indent.pro \ - ABOUT-NLS \ - INSTALL \ - autogen.sh \ - flex.skl \ - mkskel.sh \ - config.rpath \ - gettext.h - -BUILT_SOURCES = \ - skel.c + autogen.sh SUBDIRS = \ - lib \ - . \ + src \ doc \ examples \ po \ - tools \ - tests + tests \ + tools -AM_CPPFLAGS = -DLOCALEDIR=\"$(localedir)\" -I$(top_srcdir)/intl - -# Run GNU indent on sources. Don't run this unless all the sources compile cleanly. -# -# Whole idea: -# 1. Check for .indent.pro, otherwise indent will use unknown -# settings, or worse, the GNU defaults.) -# 2. Check that this is GNU indent. -# 3. Make sure to process only the NON-generated .c and .h files. -# 4. Run indent twice per file. The first time is a test. -# Otherwise, indent overwrites your file even if it fails! -indentfiles = \ - buf.c \ - ccl.c \ - dfa.c \ - ecs.c \ - scanflags.c \ - filter.c \ - flexdef.h \ - gen.c \ - libmain.c \ - libyywrap.c \ - main.c \ - misc.c \ - nfa.c \ - options.c \ - options.h \ - regex.c \ - scanopt.c \ - scanopt.h \ - sym.c \ - tables.c \ - tables.h \ - tables_shared.c \ - tables_shared.h \ - tblcmp.c - -all: $(BUILT_SOURCES) config.h - $(MAKE) $(AM_MAKEFLAGS) all-recursive +all: all-recursive .SUFFIXES: -.SUFFIXES: .c .l .o .obj .y -am--refresh: +am--refresh: Makefile @: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - echo ' cd $(srcdir) && $(AUTOMAKE) --gnits'; \ - $(am__cd) $(srcdir) && $(AUTOMAKE) --gnits \ + echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \ + $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \ && exit 0; \ exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnits Makefile -.PRECIOUS: Makefile + $(AUTOMAKE) --foreign Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ @@ -494,207 +493,21 @@ $(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 +mostlyclean-libtool: + -rm -f *.lo -stamp-h1: $(srcdir)/conf.in $(top_builddir)/config.status - @rm -f stamp-h1 - cd $(top_builddir) && $(SHELL) ./config.status config.h -$(srcdir)/conf.in: $(am__configure_deps) - ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) - rm -f stamp-h1 - touch $@ +clean-libtool: + -rm -rf .libs _libs -distclean-hdr: - -rm -f config.h stamp-h1 -install-libLIBRARIES: $(lib_LIBRARIES) - @$(NORMAL_INSTALL) - test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)" - @list='$(lib_LIBRARIES)'; 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 " $(INSTALL_DATA) $$list2 '$(DESTDIR)$(libdir)'"; \ - $(INSTALL_DATA) $$list2 "$(DESTDIR)$(libdir)" || exit $$?; } - @$(POST_INSTALL) - @list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \ - for p in $$list; do \ - if test -f $$p; then \ - $(am__strip_dir) \ - echo " ( cd '$(DESTDIR)$(libdir)' && $(RANLIB) $$f )"; \ - ( cd "$(DESTDIR)$(libdir)" && $(RANLIB) $$f ) || exit $$?; \ - else :; fi; \ - done - -uninstall-libLIBRARIES: - @$(NORMAL_UNINSTALL) - @list='$(lib_LIBRARIES)'; test -n "$(libdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - test -n "$$files" || exit 0; \ - echo " ( cd '$(DESTDIR)$(libdir)' && rm -f "$$files" )"; \ - cd "$(DESTDIR)$(libdir)" && rm -f $$files - -clean-libLIBRARIES: - -test -z "$(lib_LIBRARIES)" || rm -f $(lib_LIBRARIES) -libfl.a: $(libfl_a_OBJECTS) $(libfl_a_DEPENDENCIES) - -rm -f libfl.a - $(libfl_a_AR) libfl.a $(libfl_a_OBJECTS) $(libfl_a_LIBADD) - $(RANLIB) libfl.a -libfl_pic.a: $(libfl_pic_a_OBJECTS) $(libfl_pic_a_DEPENDENCIES) - -rm -f libfl_pic.a - $(libfl_pic_a_AR) libfl_pic.a $(libfl_pic_a_OBJECTS) $(libfl_pic_a_LIBADD) - $(RANLIB) libfl_pic.a -install-binPROGRAMS: $(bin_PROGRAMS) - @$(NORMAL_INSTALL) - test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" - @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; \ - 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) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ - $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ - } \ - ; done - -uninstall-binPROGRAMS: - @$(NORMAL_UNINSTALL) - @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) - -installcheck-binPROGRAMS: $(bin_PROGRAMS) - bad=0; pid=$$$$; list="$(bin_PROGRAMS)"; for p in $$list; do \ - case ' $(AM_INSTALLCHECK_STD_OPTIONS_EXEMPT) ' in \ - *" $$p "* | *" $(srcdir)/$$p "*) continue;; \ - esac; \ - f=`echo "$$p" | \ - sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ - for opt in --help --version; do \ - if "$(DESTDIR)$(bindir)/$$f" $$opt >c$${pid}_.out \ - 2>c$${pid}_.err &2; bad=1; fi; \ - done; \ - done; rm -f c$${pid}_.???; exit $$bad -parse.h: parse.c - @if test ! -f $@; then \ - rm -f parse.c; \ - $(MAKE) $(AM_MAKEFLAGS) parse.c; \ - else :; fi -flex$(EXEEXT): $(flex_OBJECTS) $(flex_DEPENDENCIES) - @rm -f flex$(EXEEXT) - $(LINK) $(flex_OBJECTS) $(flex_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/buf.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ccl.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dfa.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ecs.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filter.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gen.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfl_pic_a-libmain.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfl_pic_a-libyywrap.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmain.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libyywrap.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/misc.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nfa.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/options.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parse.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/regex.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scan.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scanflags.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scanopt.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/skel.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sym.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tables.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tables_shared.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tblcmp.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/yylex.Po@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(COMPILE) -c $< - -.c.obj: -@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@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) '$<'` - -libfl_pic_a-libmain.o: libmain.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfl_pic_a_CFLAGS) $(CFLAGS) -MT libfl_pic_a-libmain.o -MD -MP -MF $(DEPDIR)/libfl_pic_a-libmain.Tpo -c -o libfl_pic_a-libmain.o `test -f 'libmain.c' || echo '$(srcdir)/'`libmain.c -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libfl_pic_a-libmain.Tpo $(DEPDIR)/libfl_pic_a-libmain.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libmain.c' object='libfl_pic_a-libmain.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfl_pic_a_CFLAGS) $(CFLAGS) -c -o libfl_pic_a-libmain.o `test -f 'libmain.c' || echo '$(srcdir)/'`libmain.c - -libfl_pic_a-libmain.obj: libmain.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfl_pic_a_CFLAGS) $(CFLAGS) -MT libfl_pic_a-libmain.obj -MD -MP -MF $(DEPDIR)/libfl_pic_a-libmain.Tpo -c -o libfl_pic_a-libmain.obj `if test -f 'libmain.c'; then $(CYGPATH_W) 'libmain.c'; else $(CYGPATH_W) '$(srcdir)/libmain.c'; fi` -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libfl_pic_a-libmain.Tpo $(DEPDIR)/libfl_pic_a-libmain.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libmain.c' object='libfl_pic_a-libmain.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfl_pic_a_CFLAGS) $(CFLAGS) -c -o libfl_pic_a-libmain.obj `if test -f 'libmain.c'; then $(CYGPATH_W) 'libmain.c'; else $(CYGPATH_W) '$(srcdir)/libmain.c'; fi` - -libfl_pic_a-libyywrap.o: libyywrap.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfl_pic_a_CFLAGS) $(CFLAGS) -MT libfl_pic_a-libyywrap.o -MD -MP -MF $(DEPDIR)/libfl_pic_a-libyywrap.Tpo -c -o libfl_pic_a-libyywrap.o `test -f 'libyywrap.c' || echo '$(srcdir)/'`libyywrap.c -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libfl_pic_a-libyywrap.Tpo $(DEPDIR)/libfl_pic_a-libyywrap.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libyywrap.c' object='libfl_pic_a-libyywrap.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfl_pic_a_CFLAGS) $(CFLAGS) -c -o libfl_pic_a-libyywrap.o `test -f 'libyywrap.c' || echo '$(srcdir)/'`libyywrap.c - -libfl_pic_a-libyywrap.obj: libyywrap.c -@am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfl_pic_a_CFLAGS) $(CFLAGS) -MT libfl_pic_a-libyywrap.obj -MD -MP -MF $(DEPDIR)/libfl_pic_a-libyywrap.Tpo -c -o libfl_pic_a-libyywrap.obj `if test -f 'libyywrap.c'; then $(CYGPATH_W) 'libyywrap.c'; else $(CYGPATH_W) '$(srcdir)/libyywrap.c'; fi` -@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/libfl_pic_a-libyywrap.Tpo $(DEPDIR)/libfl_pic_a-libyywrap.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libyywrap.c' object='libfl_pic_a-libyywrap.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfl_pic_a_CFLAGS) $(CFLAGS) -c -o libfl_pic_a-libyywrap.obj `if test -f 'libyywrap.c'; then $(CYGPATH_W) 'libyywrap.c'; else $(CYGPATH_W) '$(srcdir)/libyywrap.c'; fi` - -.l.c: - $(am__skiplex) $(SHELL) $(YLWRAP) $< $(LEX_OUTPUT_ROOT).c $@ -- $(LEXCOMPILE) - -.y.c: - $(am__skipyacc) $(SHELL) $(YLWRAP) $< y.tab.c $@ y.tab.h $*.h y.output $*.output -- $(YACCCOMPILE) +distclean-libtool: + -rm -f libtool config.lt install-dist_docDATA: $(dist_doc_DATA) @$(NORMAL_INSTALL) - test -z "$(docdir)" || $(MKDIR_P) "$(DESTDIR)$(docdir)" @list='$(dist_doc_DATA)'; test -n "$(docdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(docdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(docdir)" || exit 1; \ + fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ @@ -708,47 +521,28 @@ uninstall-dist_docDATA: @$(NORMAL_UNINSTALL) @list='$(dist_doc_DATA)'; test -n "$(docdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - test -n "$$files" || exit 0; \ - echo " ( cd '$(DESTDIR)$(docdir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(docdir)" && rm -f $$files -install-includeHEADERS: $(include_HEADERS) - @$(NORMAL_INSTALL) - test -z "$(includedir)" || $(MKDIR_P) "$(DESTDIR)$(includedir)" - @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includedir)'"; \ - $(INSTALL_HEADER) $$files "$(DESTDIR)$(includedir)" || exit $$?; \ - done - -uninstall-includeHEADERS: - @$(NORMAL_UNINSTALL) - @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - test -n "$$files" || exit 0; \ - echo " ( cd '$(DESTDIR)$(includedir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(includedir)" && rm -f $$files + dir='$(DESTDIR)$(docdir)'; $(am__uninstall_files_from_dir) # 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): - @fail= failcom='exit 1'; \ - for f in x $$MAKEFLAGS; do \ - case $$f in \ - *=* | --[!k]*);; \ - *k*) failcom='fail=yes';; \ - esac; \ - done; \ +# 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. +$(am__recursive_targets): + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ @@ -763,57 +557,12 @@ $(RECURSIVE_TARGETS): $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" -$(RECURSIVE_CLEAN_TARGETS): - @fail= 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: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags -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) conf.in $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ @@ -829,12 +578,7 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) conf.in $(TAGS_DEPENDENCIES) \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ - list='$(SOURCES) $(HEADERS) conf.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; }; }'`; \ + $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ @@ -846,15 +590,11 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) conf.in $(TAGS_DEPENDENCIES) \ $$unique; \ fi; \ fi -ctags: CTAGS -CTAGS: ctags-recursive $(HEADERS) $(SOURCES) conf.in $(TAGS_DEPENDENCIES) \ - $(TAGS_FILES) $(LISP) - list='$(SOURCES) $(HEADERS) conf.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; }; }'`; \ +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique @@ -863,9 +603,31 @@ GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" +cscope: cscope.files + test ! -s cscope.files \ + || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) +clean-cscope: + -rm -f cscope.files +cscope.files: clean-cscope cscopelist +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + -rm -f cscope.out cscope.in.out cscope.po.out cscope.files distdir: $(DISTFILES) @case `sed 15q $(srcdir)/NEWS` in \ @@ -907,13 +669,10 @@ distdir: $(DISTFILES) 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 \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ @@ -942,36 +701,41 @@ distdir: $(DISTFILES) || 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) + $(am__post_remove_distdir) -dist-lzma: distdir - tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma - $(am__remove_distdir) +dist-bzip2: distdir + tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 + $(am__post_remove_distdir) +dist-lzip: distdir + tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz + $(am__post_remove_distdir) dist-xz: distdir - tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz - $(am__remove_distdir) + tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz + $(am__post_remove_distdir) dist-tarZ: distdir + @echo WARNING: "Support for distribution archives compressed with" \ + "legacy program 'compress' is deprecated." >&2 + @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z - $(am__remove_distdir) + $(am__post_remove_distdir) dist-shar: distdir + @echo WARNING: "Support for shar distribution archives is" \ + "deprecated." >&2 + @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz - $(am__remove_distdir) + $(am__post_remove_distdir) dist-zip: distdir -rm -f $(distdir).zip zip -rq $(distdir).zip $(distdir) - $(am__remove_distdir) + $(am__post_remove_distdir) -dist dist-all: distdir - tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 - $(am__remove_distdir) +dist dist-all: + $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' + $(am__post_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 @@ -982,8 +746,8 @@ distcheck: dist GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ - *.tar.lzma*) \ - lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\ + *.tar.lz*) \ + lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ *.tar.xz*) \ xz -dc $(distdir).tar.xz | $(am__untar) ;;\ *.tar.Z*) \ @@ -993,17 +757,19 @@ distcheck: dist *.zip*) \ unzip $(distdir).zip ;;\ esac - chmod -R a-w $(distdir); chmod a+w $(distdir) - mkdir $(distdir)/_build - mkdir $(distdir)/_inst + chmod -R a-w $(distdir) + chmod u+w $(distdir) + mkdir $(distdir)/_build $(distdir)/_build/sub $(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" \ + && $(am__cd) $(distdir)/_build/sub \ + && ../../configure \ + $(AM_DISTCHECK_CONFIGURE_FLAGS) \ $(DISTCHECK_CONFIGURE_FLAGS) \ + --srcdir=../.. --prefix="$$dc_install_base" \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ @@ -1026,13 +792,21 @@ distcheck: dist && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ && cd "$$am__cwd" \ || exit 1 - $(am__remove_distdir) + $(am__post_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 \ + @test -n '$(distuninstallcheck_dir)' || { \ + echo 'ERROR: trying to run $@ with an empty' \ + '$$(distuninstallcheck_dir)' >&2; \ + exit 1; \ + }; \ + $(am__cd) '$(distuninstallcheck_dir)' || { \ + echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ + exit 1; \ + }; \ + test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ @@ -1049,16 +823,14 @@ distcleancheck: distclean $(distcleancheck_listfiles) ; \ exit 1; } >&2 check-am: all-am -check: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) check-recursive -all-am: Makefile $(LIBRARIES) $(PROGRAMS) $(DATA) $(HEADERS) config.h +check: check-recursive +all-am: Makefile $(DATA) installdirs: installdirs-recursive installdirs-am: - for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(docdir)" "$(DESTDIR)$(includedir)"; do \ + for dir in "$(DESTDIR)$(docdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done -install: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) install-recursive +install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive @@ -1068,10 +840,15 @@ install-am: all-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 + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi mostlyclean-generic: clean-generic: @@ -1083,21 +860,15 @@ distclean-generic: maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." - -rm -f parse.c - -rm -f parse.h - -rm -f scan.c - -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) clean: clean-recursive -clean-am: clean-binPROGRAMS clean-generic clean-libLIBRARIES \ - mostlyclean-am +clean-am: 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-am: clean-am distclean-generic distclean-libtool \ + distclean-tags dvi: dvi-recursive @@ -1111,13 +882,13 @@ info: info-recursive info-am: -install-data-am: install-dist_docDATA install-includeHEADERS +install-data-am: install-dist_docDATA install-dvi: install-dvi-recursive install-dvi-am: -install-exec-am: install-binPROGRAMS install-libLIBRARIES +install-exec-am: @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) install-exec-hook install-html: install-html-recursive @@ -1138,18 +909,17 @@ install-ps: install-ps-recursive install-ps-am: -installcheck-am: installcheck-binPROGRAMS +installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache - -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive -mostlyclean-am: mostlyclean-compile mostlyclean-generic +mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive @@ -1159,64 +929,30 @@ ps: ps-recursive ps-am: -uninstall-am: uninstall-binPROGRAMS uninstall-dist_docDATA \ - uninstall-includeHEADERS uninstall-libLIBRARIES +uninstall-am: uninstall-dist_docDATA -.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check \ - ctags-recursive install install-am install-exec-am \ - install-strip tags-recursive +.MAKE: $(am__recursive_targets) install-am install-exec-am \ + install-strip -.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ - all all-am am--refresh check check-am clean clean-binPROGRAMS \ - clean-generic clean-libLIBRARIES ctags ctags-recursive dist \ - dist-all dist-bzip2 dist-gzip dist-lzma dist-shar dist-tarZ \ - dist-xz 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 \ - install-data-am install-dist_docDATA install-dvi \ - install-dvi-am install-exec install-exec-am install-exec-hook \ - install-html install-html-am install-includeHEADERS \ - install-info install-info-am install-libLIBRARIES install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am \ - installcheck-binPROGRAMS installdirs installdirs-am \ +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ + am--refresh check check-am clean clean-cscope clean-generic \ + clean-libtool cscope cscopelist-am ctags ctags-am dist \ + dist-all dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ \ + dist-xz dist-zip distcheck distclean distclean-generic \ + 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-dist_docDATA 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 \ - uninstall-binPROGRAMS uninstall-dist_docDATA \ - uninstall-includeHEADERS uninstall-libLIBRARIES + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am uninstall-dist_docDATA +.PRECIOUS: Makefile -skel.c: flex.skl mkskel.sh flexint.h tables_shared.h - sed 's/m4_/m4postproc_/g; s/m4preproc_/m4_/g' $(srcdir)/flex.skl | $(m4) -P -DFLEX_MAJOR_VERSION=`echo $(VERSION)|cut -f 1 -d .` -DFLEX_MINOR_VERSION=`echo $(VERSION)|cut -f 2 -d .` -DFLEX_SUBMINOR_VERSION=`echo $(VERSION)|cut -f 3 -d .` | sed 's/m4postproc_/m4_/g' | $(SHELL) $(srcdir)/mkskel.sh >skel.c - -# Explicitly describe dependencies. -# You can recreate this with `gcc -I. -MM *.c' -buf.o: buf.c flexdef.h flexint.h -ccl.o: ccl.c flexdef.h flexint.h -dfa.o: dfa.c flexdef.h flexint.h tables.h tables_shared.h -ecs.o: ecs.c flexdef.h flexint.h -scanflags.o: scanflags.c flexdef.h flexint.h -gen.o: gen.c flexdef.h flexint.h tables.h tables_shared.h -libmain.o: libmain.c -libyywrap.o: libyywrap.c -main.o: main.c flexdef.h flexint.h version.h options.h scanopt.h \ - tables.h tables_shared.h -misc.o: misc.c flexdef.h flexint.h tables.h tables_shared.h -nfa.o: nfa.c flexdef.h flexint.h -options.o: options.c options.h scanopt.h flexdef.h flexint.h -parse.o: parse.c flexdef.h flexint.h tables.h tables_shared.h -scan.o: scan.c flexdef.h flexint.h parse.h -scanopt.o: scanopt.c flexdef.h flexint.h scanopt.h -skel.o: skel.c flexdef.h flexint.h -sym.o: sym.c flexdef.h flexint.h -tables.o: tables.c flexdef.h flexint.h tables.h tables_shared.h -tables_shared.o: tables_shared.c flexdef.h flexint.h tables.h \ - tables_shared.h -tblcmp.o: tblcmp.c flexdef.h flexint.h -yylex.o: yylex.c flexdef.h flexint.h parse.h -filter.o: filter.c flexdef.h flexint.h # Create the ChangeLog, but only if we're inside a git working directory @@ -1226,19 +962,13 @@ ChangeLog: $(srcdir)/tools/git2cl ; fi indent: - if [ -f .indent.pro ] ; then \ - for f in $(indentfiles);\ - do\ - echo indenting $$f ;\ - $(indent) < $$f >/dev/null && indent $$f || echo $$f FAILED to indent ;\ - done \ - fi + cd src && $(MAKE) $(AM_MAKEFLAGS) indent install-exec-hook: - cd $(DESTDIR)/$(bindir) && \ + cd $(DESTDIR)$(bindir) && \ $(LN_S) -f flex$(EXEEXT) flex++$(EXEEXT) -.PHONY: ChangeLog tags indent +.PHONY: ChangeLog indent # 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. diff --git a/NEWS b/NEWS index 62d260d2c14c..85d900b5362c 100644 --- a/NEWS +++ b/NEWS @@ -1,7 +1,233 @@ -This is the file NEWS for the flex package. It records user -visible -changes between releases of flex. +flex NEWS -See the file COPYING for copying conditions. +* Noteworthy changes in release 2.6.4 (2017-05-06) [stable] + +** build + +*** The indent target now knows about flex's new (as of 2.6.0) + layout. The indent rules it would apply are not correct and do + need to be fixed. + +*** The files included in the flex distribution are now built by the + version of flex that is included in the distribution. + +*** The configure script has a better idea of which headers are + required to build flex. It will also error when missing functions + are detected. + +*** We have lowered the versions of automake and gettext that + configure.ac lists as required for building flex. In autogen.sh, + we now check for how to call libtoolize and use what we find in + the rest of the script. + +*** Since files in lib/ are picked up as needed by src/, we no longer + generate a Makefile for that directory. + +*** Flex can be cross compiled. + +** documentation + +*** Some typos were removed from the manual. + +** scanner + +*** Some minor performance enhancements. + +*** We honor user defined yy_* macros again. We are also more careful + to not leak macro definitions into header files. + +*** A number of portability fixes were introduced so building flex is + more reliable on more platforms. Additionally, outdated function + calls were removed. + +*** When building the flex executable itself, %# comments from + flex.skl are removed when generating the C source code array. This + reduces the size of flex. + +** test suite + +*** All scripts in the test suite are now run by $(SHELL) and the + needed portability fixes have been included. + +*** Test suite dependencies are handled much better. This only matters + if you are actively developing flex or its test suite. + +*** Tests that depend on platform dependent features now properly skip + when those platforms are not present. + +*** When running "make check", you can now pas V=0 to silence more of + the build. This is useful when you're less connncerned about the + details of building and linking the test programs themselves. + +* Noteworthy changes in release 2.6.3 (2016-12-30) [stable] + +** scanner + +*** several bug fixes resolved problems introduced in recent flex + versions regarding processing of comments, literals and various + quoting scenarios. + +*** If the path to m4 was sufficiently long, a buffer overflow could + occur. This has been resolved. The fix also removes dependence on + the constant PATH_MAX. + +** build + +*** A new configure option --disable-bootstrap changes the behavior of + the build system when building flex. The default + "--enable-bootstrap" behavior is to build flex, then to use that + flex to build flex again. With --disable-bootstrap, the scanner is + simply built by sedding the scanner source. This is friendlier to + cross compilation. + +*** The compatibility functions in lib/ are no longer built as a + library. Instead, they are built as $(LIBOBJ) objects. This is + simpler and friendlier to cross compilation. + +*** It is now possible to build flex without building the accompanying + libfl. This is friendlier to cross compilation. See the + --disable-libfl option to configure. Resolves #99. + +*** the PIC version of libfl was not correctly built. It is no longer + included in the build/installation targets of flex since it was + unused. + +*** the distributed man page is only rebuilt when the relevant source + files change or when the binary doesn't exist. In particular, this + is friendlier to cross compilation. Resolves #108 + +** test + +*** the shell scripts in the test suite are more portable across different shell implementations. + +* version 2.6.2 released 2016-10-24 + +** flex internals + +*** a segfalt involving yyrestart(NULL) has been fixed + +*** flex should now handle quoting when mixed with m4 processing correctly + +*** flex handles `[[' and `]]' correctly + +*** flex no longer generates non-ANSI code + +*** more compilation warnings were squashed in generated scanners + +*** prevented a buffer overflow that could occur when input buffers were the exact wrong size + +** test suite + +*** input filenames on MSWindows are now calculated correctly + +*** general code cleanups in a number of tests now make the test suite compile much more cleanly + +** build system + +*** the xz archive has been replaced with an lzip archive + +*** a new option to configure --enable-warnings to encapsulate passing + of warning-related flags which is useful in testing flex + +*** make indent now works for out of source builds + +*** Portability warnings when generating Makefile.in files are now suppressed; they were just noise and the use of GNU extensions in Makefile.{am,in,} was intentional and well known. + +** bugs + +*** resolved gh#67 + +** new sv translation from the translation project + +* version 2.6.1 released 2016-03-01 + +** flex resources + +*** The flex project is now hosted at github. Consider this a "period of transition". In particular, you should start at https://github.com/westes/flex for the flex codebase, issue tracking and pull requests. + +*** New releases of flex are to be found at https://github.com/westes/flex/releases. + +** flex internals + +*** Flex now uses more modern and more standard names for variable types. There's more work to be done on that front yet, though. + +*** A number of compiler warnings have been remedied. + +*** Line directives should now work as expected and be absent when that is expected. + +** test suite + +*** When running the test suite, c++ files are compiled with the c++ header inside the flex distribution, rather than relying on the build system's flex header , which might not be installed yet or which might be out of date with respect to what flex tests expect. + +*** Some portability fixes in the test suite such as opening files for reading in binary mode + +** Building flex + +*** The file src/scan.c asdistributed with flex source is now built with the current version of flex. Occasionally this had to be done manually to pick up new flex features. It's now just a part of flex's build system. + +*** The pdf version of the manual is no longer distributed with flex, although if you have the texinfo package installed, you can still build it. + +*** lots of general build system cleanup + +*** the build system tries a bit harder to find libtoolize and texi2dvi. + +*** When help2man and texi2dvi are missing, the error messages are now much more helpful. + +** bug fixes + +*** resolved github issues #53, #54, #55, #61. + +*** Resolved sf bugs #128, #129, #155, #160, #184, #187, #195. + +* version 2.6.0 released 2015-11-17 + +** User Visible Changes + +*** C++ scanners now use references instead of pointers. See the manual for details. + +*** A number of compiler warnings were addressed, so flex generated scanners should be quieter under compiler warning scenarios. + +*** Allow error reporting routines to accept varying number of arguments + +*** Removed deprecated 'register' storage class specifier + +*** Changeed output formats from octal to hexadecimal + +*** check limits before using array index cclp; resolves sf-166 + +*** Suppress clang warning about empty @param paragraph; resolves sf#158 + +*** Fixed malloc/realloc replacement, resolves sf bug#151. + +*** Adjusted buffer sizes on ia64. + +*** various documentation and code clean up fixes: resolves sf bugs #167, #168, among other patches. + +** Flex Internals + +*** flex is now organized into subdirectories. This keeps the tree neater at the top level and puts like things near each other and unlike things away from each other. + +*** The test suite has been reorganized and is now run with the parallel test suite harness from automake. + +*** Cleaned up the automake parts of the build system to better reflect what automake does on its own. Also added a call to libtoolize in autogen.sh because autoreconf gets confused without a prior run of libtoolize. + +*** po/Makefile now includes a rule to fetch the latest translations from the translation project. "make -f po/Makefile getpo" from the top level of the flex tree will fetch the files. + +*** New da translation from the translation project + +* flex version 2.5.39 released 2014-03-26 + +** no user visible changes in this release + +* version 2.5.38 released 2014-02-14 + +** internationalization + +*** add sr translation from the translation project + +*** update da, es, ko, nl, pt_BR, ro, ru, sv, tr, vi, zh_CN translations from the translation project + +*** rename zh_tw to its proper zh_TW name * version 2.5.37 released 2012-08-03 @@ -512,6 +738,8 @@ But the inverse is still true See the file ONEWS for changes in earlier releases. +See the file COPYING for copying conditions. + Local Variables: mode: text mode: outline-minor diff --git a/README b/README deleted file mode 100644 index 0a6a70c1a021..000000000000 --- a/README +++ /dev/null @@ -1,79 +0,0 @@ -This is flex, the fast lexical analyzer generator. - -flex is a tool for generating scanners: programs which recognize -lexical patterns in text. - -More information about flex as well as the latest official release of -flex can be found at: - -http://flex.sourceforge.net/ - -Bug reports should be submitted using the SourceForge Bug Tracker -facilities which can be found from flex's SourceForge project page at: - -http://sourceforge.net/projects/flex - -There are several mailing lists available as well: - -flex-announce@lists.sourceforge.net - where posts will be made -announcing new releases of flex. - -flex-help@lists.sourceforge.net - where you can post questions about -using flex - -flex-devel@lists.sourceforge.net - where you can discuss development of -flex itself - -Note that flex is distributed under a copyright very similar to that of -BSD Unix, and not under the GNU General Public License (GPL). - -This file is part of flex. - -This code is derived from software contributed to Berkeley by -Vern Paxson. - -The United States Government has rights in this work pursuant -to contract no. DE-AC03-76SF00098 between the United States -Department of Energy and the University of California. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -Neither the name of the University nor the names of its contributors -may be used to endorse or promote products derived from this software -without specific prior written permission. - -THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR -IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. - -The flex distribution contains the following files which may be of interest: - -README - This file. - -NEWS - current version number and list of user-visible changes. - -INSTALL - basic installation information. - -ABOUT-NLS - description of internationalization support in flex. - -COPYING - flex's copyright and license. - -doc/ - user documentation. - -examples/ - containing examples of some possible flex scanners and a -few other things. See the file examples/README for more details. - -TODO - outstanding bug reports, desired features, etc. - -tests/ - regression tests. See TESTS/README for details. - -po/ - internationalization support files. diff --git a/README-alpha b/README-alpha deleted file mode 100644 index ef3b82f2aeaf..000000000000 --- a/README-alpha +++ /dev/null @@ -1,2 +0,0 @@ -Beta versions and cvs snapshots of flex can be had at -ftp://ftp.uncg.edu/people/wlestes/. diff --git a/README.cvs b/README.cvs deleted file mode 100644 index 9544b24d6917..000000000000 --- a/README.cvs +++ /dev/null @@ -1,46 +0,0 @@ -This file gives information regarding the cvs tree of flex. The cvs -tree of flex contains the files which are under version control by -the flex maintainers for the flex project. - -You can learn about the details of retrieving a copy of the cvs flex -tree from flex's SourceForge project page at: - -http://sourceforge.net/projects/flex - -If you are not interested in flex development or you are not in need -of the latest bleeding-edge features, then the cvs flex tree is -not for you. - -When you get a distribution of flex, a large number of intermediate -files needed to make building flex easy are included. You don't have -that in the cvs tree. - -You will need various external tools in order to build the distribution. Here is -a (hopefully complete and correct) list of the required tools. Always get the -latest version of each tool; we list the versions used in development of -flex, but the listed versions may not work for you. - -compiler suite; e.g., gcc -bash or some other fairly robust sh-style shell -GNU bison; to generate parse.c from parse.y -GNU m4 1.4; required by GNU autoconf (yes, it *must* be GNU m4) -GNU autoconf 2.60 and GNU automake 1.10; for generating Makefiles etc. -GNU gettext 0.14.5; for i18n -flex (latest beta release); for bootstrap of scan.l -help2man 1.36; to generate the flex man page -tar, gzip, etc.; for packaging of the source distribution -GNU texinfo 4.8; to build and test the flex manual -perl; GNU automake and GNU autoconf now depend on perl to run -GNU indent 2.8; for indenting the flex source the way we want it done - -Once you have all the necessary tools installed, life becomes -simple. To prepare the flex tree for building, run the script: - -$ ./autogen.sh - -in the top level of the flex source tree. -This script calls the various tools needed to get flex ready for the -GNU-style configure script to be able to work. - -From this point on, building flex follows the usual configure, make, -make install routine. diff --git a/README.md b/README.md new file mode 100644 index 000000000000..b979b01062c1 --- /dev/null +++ b/README.md @@ -0,0 +1,109 @@ +This is flex, the fast lexical analyzer generator. + +flex is a tool for generating scanners: programs which recognize +lexical patterns in text. + +The flex codebase is kept in +[Git on GitHub.](https://github.com/westes/flex) + +Use GitHub's [issues](https://github.com/westes/flex/issues) and +[pull request](https://github.com/westes/flex) features to file bugs +and submit patches. + +There are several mailing lists available as well: + +* flex-announce@lists.sourceforge.net - where posts will be made + announcing new releases of flex. +* flex-help@lists.sourceforge.net - where you can post questions about + using flex +* flex-devel@lists.sourceforge.net - where you can discuss development + of flex itself + +Find information on subscribing to the mailing lists at: + +http://sourceforge.net/mail/?group_id=97492 + +The flex distribution contains the following files which may be of +interest: + +* README - This file. +* NEWS - current version number and list of user-visible changes. +* INSTALL - basic installation information. +* ABOUT-NLS - description of internationalization support in flex. +* COPYING - flex's copyright and license. +* doc/ - user documentation. +* examples/ - containing examples of some possible flex scanners and a + few other things. See the file examples/README for more + details. +* tests/ - regression tests. See TESTS/README for details. +* po/ - internationalization support files. + +You need the following tools to build flex from the maintainer's +repository: + +* compiler suite - flex is built with gcc +* bash, or a good Bourne-style shell +* m4 - m4 -p needs to work; GNU m4 and a few others are suitable +* GNU bison; to generate parse.c from parse.y +* autoconf; for handling the build system +* automake; for Makefile generation +* gettext; for i18n support +* help2man; to generate the flex man page +* tar, gzip, lzip, etc.; for packaging of the source distribution +* GNU texinfo; to build and test the flex manual. Note that if you want + to build the dvi/ps/pdf versions of the documentation you will need + texi2dvi and related programs, along with a sufficiently powerful + implementation of TeX to process them. See your operating system + documentation for how to achieve this. The printable versions of the + manual are not built unless specifically requested, but the targets + are included by automake. +* GNU indent; for indenting the flex source the way we want it done + +In cases where the versions of the above tools matter, the file +configure.ac will specify the minimum required versions. + +Once you have all the necessary tools installed, life becomes +simple. To prepare the flex tree for building, run the script: + +```bash +./autogen.sh +``` + +in the top level of the flex source tree. + +This script calls the various tools needed to get flex ready for the +GNU-style configure script to be able to work. + +From this point on, building flex follows the usual routine: + +```bash +configure && make && make install +``` + +This file is part of flex. + +This code is derived from software contributed to Berkeley by +Vern Paxson. + +The United States Government has rights in this work pursuant +to contract no. DE-AC03-76SF00098 between the United States +Department of Energy and the University of California. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +Neither the name of the University nor the names of its contributors +may be used to endorse or promote products derived from this software +without specific prior written permission. + +THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. diff --git a/TODO b/TODO deleted file mode 100644 index 0ab33f1cef96..000000000000 --- a/TODO +++ /dev/null @@ -1,101 +0,0 @@ -* sourceforge migration - -** Move CVS to sourceforge (estes) %% - -** test the mailing lists (estes) %% - -** inform GNU folks about changeover (estes) %% - -* resolve the items in the to.do directory - -** expand the above into individual requests and handle those requests - -** transfer to.do/Wishlist contents to top level TODO file - -* the manual: - -** do an end-to-end proofread of the manual (this is under way, but is - going slowly) - -** pretty up the dvi output; overflows, etc. - -** faq - -*** clean up the faqs section. The information is good; the texinfo - could use some touching up. - -*** index the faq entries - -*** mention that it's possible to use a variable to scan matching - brackets, nested comments etc. - -*** include something about lexing/parsing fortran - -** create a section on flex design, features, etc. - -* address lex-replacement: document or provide an option through - configure for creating lex and libl.a files (but remember this has - posix implications) - -* getext - -** make sure all flex modules use gettext translation facilities - -*subdirectories - -** in examples/manual, integrate the Makefile.examples into the - Makefile.am - -* test suite - -** integrate the test suite into automake's framework (note that the - test suite can be run from the top level directory with "make - check". Still, we want to get it completely under automake's control.) - -** make test suite more complete - -* generic coding - -** move as much skeleton code as possible out of gen.c and into - flex.skl - -** figure out whether we want to add the capability to have - auto-generated backout rules - -** token-type and token buffer support - -** check if we still need to #undef macros at the end of a header - -** merge yylineno into support for location tracking - -** bug where yylineno is not decremented on REJECT - -** bug where yylineno is counted in trailing context - -* C++ - -** have a separate skeleton for c++ - -** c++ is getting so broken and different from C, that we need to - reevaluate the usefuleness of c++ in flex - -** revisit the C++ API. We get requests to make it more complete. - -* distribution - -** use bootstrapper - -** remove texinfo.tex from the cvs tree; it only needs to be present - on the system where the flex release is put together - -** use clcommit to manage ChangeLog - -Legend: - -*, **, ***: outline depth -%% at end of item: must be adressed before next major release - -Local Variables: -Mode: text -mode: outline-minor -End: diff --git a/autogen.sh b/autogen.sh index 20e82fdb06f5..6802e9f0dd63 100755 --- a/autogen.sh +++ b/autogen.sh @@ -24,9 +24,28 @@ # If you see no configure script, then run ./autogen.sh to create it # and procede with the "normal" build procedures. +# use LIBTOOLIZE, if set +LIBTOOLIZE_ORIG="$LIBTOOLIZE"; +if test "x$LIBTOOLIZE" = "x"; then LIBTOOLIZE=libtoolize; fi + +# test libtoolize +$LIBTOOLIZE --version 2>/dev/null +if test "$?" -ne 0; then + LIBTOOLIZE=glibtoolize + $LIBTOOLIZE --version 2>/dev/null + if test "$?" -ne 0; then + echo "error: libtoolize not working, re-run with LIBTOOLIZE=/path/to/libtoolize" + echo " LIBTOOLIZE is currently \"$LIBTOOLIZE_ORIG\"" + exit 1 + fi +fi + #if we pretend to have a ChangeLog, then automake is less #worried. (Don't worry, we *do* have a ChangeLog, we just need the #Makefile first.) -touch ChangeLog -autoreconf --install --verbose +if ! test -f ChangeLog; then + touch ChangeLog +fi +"$LIBTOOLIZE" --install --force +autoreconf --install --force diff --git a/compile b/compile deleted file mode 100755 index c0096a7b5632..000000000000 --- a/compile +++ /dev/null @@ -1,143 +0,0 @@ -#! /bin/sh -# Wrapper for compilers which do not understand `-c -o'. - -scriptversion=2009-10-06.20; # UTC - -# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2009 Free Software -# Foundation, Inc. -# Written by Tom Tromey . -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# This file is maintained in Automake, please report -# bugs to or send patches to -# . - -case $1 in - '') - echo "$0: No command. Try \`$0 --help' for more information." 1>&2 - exit 1; - ;; - -h | --h*) - cat <<\EOF -Usage: compile [--help] [--version] PROGRAM [ARGS] - -Wrapper for compilers which do not understand `-c -o'. -Remove `-o dest.o' from ARGS, run PROGRAM with the remaining -arguments, and rename the output as expected. - -If you are trying to build a whole package this is not the -right script to run: please start by reading the file `INSTALL'. - -Report bugs to . -EOF - exit $? - ;; - -v | --v*) - echo "compile $scriptversion" - exit $? - ;; -esac - -ofile= -cfile= -eat= - -for arg -do - if test -n "$eat"; then - eat= - else - case $1 in - -o) - # configure might choose to run compile as `compile cc -o foo foo.c'. - # So we strip `-o arg' only if arg is an object. - eat=1 - case $2 in - *.o | *.obj) - ofile=$2 - ;; - *) - set x "$@" -o "$2" - shift - ;; - esac - ;; - *.c) - cfile=$1 - set x "$@" "$1" - shift - ;; - *) - set x "$@" "$1" - shift - ;; - esac - fi - shift -done - -if test -z "$ofile" || test -z "$cfile"; then - # If no `-o' option was seen then we might have been invoked from a - # pattern rule where we don't need one. That is ok -- this is a - # normal compilation that the losing compiler can handle. If no - # `.c' file was seen then we are probably linking. That is also - # ok. - exec "$@" -fi - -# Name of file we expect compiler to create. -cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'` - -# Create the lock directory. -# Note: use `[/\\:.-]' here to ensure that we don't use the same name -# that we are using for the .o file. Also, base the name on the expected -# object file name, since that is what matters with a parallel build. -lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d -while true; do - if mkdir "$lockdir" >/dev/null 2>&1; then - break - fi - sleep 1 -done -# FIXME: race condition here if user kills between mkdir and trap. -trap "rmdir '$lockdir'; exit 1" 1 2 15 - -# Run the compile. -"$@" -ret=$? - -if test -f "$cofile"; then - test "$cofile" = "$ofile" || mv "$cofile" "$ofile" -elif test -f "${cofile}bj"; then - test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile" -fi - -rmdir "$lockdir" -exit $ret - -# Local Variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" -# time-stamp-end: "; # UTC" -# End: diff --git a/config.guess b/config.guess deleted file mode 100755 index e3a2116a7dcd..000000000000 --- a/config.guess +++ /dev/null @@ -1,1533 +0,0 @@ -#! /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, 2009 -# Free Software Foundation, Inc. - -timestamp='2009-06-10' - -# 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 -q __ELF__ - 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 ;; - s390x:SunOS:*:*) - echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - 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.*:*) - eval $set_cc_for_build - SUN_ARCH="i386" - # If there is a compiler, see if it is configured for 64-bit objects. - # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. - # This test works for both compilers. - if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then - if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - SUN_ARCH="x86_64" - fi - fi - echo ${SUN_ARCH}-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 -q __LP64__ - 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 | genuineintel) - 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 ;; - 8664:Windows_NT:*) - echo x86_64-pc-mks - exit ;; - i*:Windows_NT*:* | Pentium*:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we - # 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:*:* | mips64:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #undef CPU - #undef ${UNAME_MACHINE} - #undef ${UNAME_MACHINE}el - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=${UNAME_MACHINE}el - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=${UNAME_MACHINE} - #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 -q ld.so.1 - if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi - echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} - exit ;; - padre:Linux:*:*) - echo sparc-unknown-linux-gnu - exit ;; - 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" - ;; - 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.[02]*:*) - 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 i586. - # Note: whatever this is, it MUST be the same as what config.sub - # prints for the "djgpp" host, or else GDB configury will decide that - # this is a cross-build. - echo i586-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; } ;; - NCR*:*:4.2:* | MPRAS*:*:4.2:*) - OS_REL='.3' - 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; } - /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; 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.[02]*:*) - 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 ;; - i*86:AROS:*:*) - echo ${UNAME_MACHINE}-pc-aros - 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: diff --git a/config.rpath b/config.rpath deleted file mode 100755 index fa24bfc2d785..000000000000 --- a/config.rpath +++ /dev/null @@ -1,548 +0,0 @@ -#! /bin/sh -# Output a system dependent set of variables, describing how to set the -# run time search path of shared libraries in an executable. -# -# Copyright 1996-2003 Free Software Foundation, Inc. -# Taken from GNU libtool, 2001 -# Originally by Gordon Matzigkeit , 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 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. -# -# 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. -# -# The first argument passed to this file is the canonical host specification, -# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM -# or -# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM -# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld -# should be set by the caller. -# -# The set of defined variables is at the end of this script. - -# Known limitations: -# - On IRIX 6.5 with CC="cc", the run time search patch must not be longer -# than 256 bytes, otherwise the compiler driver will dump core. The only -# known workaround is to choose shorter directory names for the build -# directory and/or the installation directory. - -# All known linkers require a `.a' archive for static linking (except M$VC, -# which needs '.lib'). -libext=a -shrext=.so - -host="$1" -host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` - -# Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC. - -wl= -if test "$GCC" = yes; then - wl='-Wl,' -else - case "$host_os" in - aix*) - wl='-Wl,' - ;; - mingw* | pw32* | os2*) - ;; - hpux9* | hpux10* | hpux11*) - wl='-Wl,' - ;; - irix5* | irix6* | nonstopux*) - wl='-Wl,' - ;; - newsos6) - ;; - linux*) - case $CC in - icc|ecc) - wl='-Wl,' - ;; - ccc) - wl='-Wl,' - ;; - esac - ;; - osf3* | osf4* | osf5*) - wl='-Wl,' - ;; - sco3.2v5*) - ;; - solaris*) - wl='-Wl,' - ;; - sunos4*) - wl='-Qoption ld ' - ;; - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - wl='-Wl,' - ;; - sysv4*MP*) - ;; - uts4*) - ;; - esac -fi - -# Code taken from libtool.m4's AC_LIBTOOL_PROG_LD_SHLIBS. - -hardcode_libdir_flag_spec= -hardcode_libdir_separator= -hardcode_direct=no -hardcode_minus_L=no - -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 - ;; - openbsd*) - with_gnu_ld=no - ;; -esac - -ld_shlibs=yes -if test "$with_gnu_ld" = yes; then - case "$host_os" in - aix3* | aix4* | aix5*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - ld_shlibs=no - fi - ;; - amigaos*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - # Samuel A. Falvo II reports - # that the semantics of dynamic libraries on AmigaOS, at least up - # to version 4, is to share data among multiple programs linked - # with the same dynamic library. Since this doesn't match the - # behavior of shared libraries on other platforms, we can use - # them. - ld_shlibs=no - ;; - beos*) - if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then - : - else - ld_shlibs=no - fi - ;; - cygwin* | mingw* | pw32*) - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - hardcode_libdir_flag_spec='-L$libdir' - if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then - : - else - ld_shlibs=no - fi - ;; - netbsd*) - ;; - solaris* | sysv5*) - if $LD -v 2>&1 | egrep 'BFD 2\.8' > /dev/null; then - ld_shlibs=no - elif $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then - : - else - ld_shlibs=no - fi - ;; - sunos4*) - hardcode_direct=yes - ;; - *) - if $LD --help 2>&1 | egrep ': supported targets:.* elf' > /dev/null; then - : - else - ld_shlibs=no - fi - ;; - esac - if test "$ld_shlibs" = yes; then - # Unlike libtool, we use -rpath here, not --rpath, since the documented - # option of GNU ld is called -rpath, not --rpath. - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - fi -else - case "$host_os" in - aix3*) - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L=yes - if test "$GCC" = yes; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct=unsupported - fi - ;; - aix4* | aix5*) - 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 - 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].*|aix5*) - 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 - fi - hardcode_direct=yes - hardcode_libdir_separator=':' - if test "$GCC" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - hardcode_direct=yes - else - # We have old collect2 - hardcode_direct=unsupported - hardcode_minus_L=yes - hardcode_libdir_flag_spec='-L$libdir' - hardcode_libdir_separator= - fi - esac - fi - # Begin _LT_AC_SYS_LIBPATH_AIX. - echo 'int main () { return 0; }' > conftest.c - ${CC} ${LDFLAGS} conftest.c -o conftest - aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'` - if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'` - fi - if test -z "$aix_libpath"; then - aix_libpath="/usr/lib:/lib" - fi - rm -f conftest.c conftest - # End _LT_AC_SYS_LIBPATH_AIX. - if test "$aix_use_runtimelinking" = yes; then - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' - else - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" - fi - fi - ;; - amigaos*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - # see comment about different semantics on the GNU ld section - ld_shlibs=no - ;; - bsdi4*) - ;; - 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=' ' - libext=lib - ;; - darwin* | rhapsody*) - if $CC -v 2>&1 | grep 'Apple' >/dev/null ; then - hardcode_direct=no - fi - ;; - dgux*) - hardcode_libdir_flag_spec='-L$libdir' - ;; - freebsd1*) - ld_shlibs=no - ;; - freebsd2.2*) - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - ;; - freebsd2*) - hardcode_direct=yes - hardcode_minus_L=yes - ;; - freebsd*) - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - ;; - hpux9*) - 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 - ;; - hpux10* | hpux11*) - if test "$with_gnu_ld" = no; then - case "$host_cpu" in - hppa*64*) - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_direct=no - ;; - ia64*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_direct=no - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - ;; - *) - 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 - ;; - esac - fi - ;; - irix5* | irix6* | nonstopux*) - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - ;; - netbsd*) - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - ;; - newsos6) - hardcode_direct=yes - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - 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' - 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 - ;; - os2*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; - osf3*) - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - ;; - osf4* | osf5*) - if test "$GCC" = yes; then - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - else - # Both cc and cxx compiler support -rpath directly - hardcode_libdir_flag_spec='-rpath $libdir' - fi - hardcode_libdir_separator=: - ;; - sco3.2v5*) - ;; - solaris*) - hardcode_libdir_flag_spec='-R$libdir' - ;; - sunos4*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_direct=yes - hardcode_minus_L=yes - ;; - sysv4) - case $host_vendor in - sni) - hardcode_direct=yes # is this really true??? - ;; - siemens) - hardcode_direct=no - ;; - motorola) - hardcode_direct=no #Motorola manual says yes, but my tests say they lie - ;; - esac - ;; - sysv4.3*) - ;; - sysv4*MP*) - if test -d /usr/nec; then - ld_shlibs=yes - fi - ;; - sysv4.2uw2*) - hardcode_direct=yes - hardcode_minus_L=no - ;; - sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[78]* | unixware7*) - ;; - sysv5*) - hardcode_libdir_flag_spec= - ;; - uts4*) - hardcode_libdir_flag_spec='-L$libdir' - ;; - *) - ld_shlibs=no - ;; - esac -fi - -# Check dynamic linker characteristics -# Code taken from libtool.m4's AC_LIBTOOL_SYS_DYNAMIC_LINKER. -libname_spec='lib$name' -case "$host_os" in - aix3*) - ;; - aix4* | aix5*) - ;; - amigaos*) - ;; - beos*) - ;; - bsdi4*) - ;; - cygwin* | mingw* | pw32*) - shrext=.dll - ;; - darwin* | rhapsody*) - shrext=.dylib - ;; - dgux*) - ;; - freebsd1*) - ;; - freebsd*) - ;; - gnu*) - ;; - hpux9* | hpux10* | hpux11*) - case "$host_cpu" in - ia64*) - shrext=.so - ;; - hppa*64*) - shrext=.sl - ;; - *) - shrext=.sl - ;; - esac - ;; - irix5* | irix6* | nonstopux*) - case "$host_os" in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;; - *) libsuff= shlibsuff= ;; - esac - ;; - esac - ;; - linux*oldld* | linux*aout* | linux*coff*) - ;; - linux*) - ;; - netbsd*) - ;; - newsos6) - ;; - nto-qnx) - ;; - openbsd*) - ;; - os2*) - libname_spec='$name' - shrext=.dll - ;; - osf3* | osf4* | osf5*) - ;; - sco3.2v5*) - ;; - solaris*) - ;; - sunos4*) - ;; - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - ;; - sysv4*MP*) - ;; - uts4*) - ;; -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_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` - -sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <. 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* | \ - kopensolaris*-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 - ;; - -bluegene*) - os=-cnk - ;; - -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 \ - | lm32 \ - | 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 \ - | moxie \ - | 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[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ - | sh64 | sh64le \ - | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ - | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ - | 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-* \ - | lm32-* \ - | 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[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ - | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ - | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ - | sparclite-* \ - | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ - | tahoe-* | thumb-* \ - | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \ - | 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 - ;; - aros) - basic_machine=i386-pc - os=-aros - ;; - 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 - ;; - bluegene*) - basic_machine=powerpc-ibm - os=-cnk - ;; - 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[24]aeb | 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* | -cnk* | -sunos | -sunos[34]*\ - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ - | -kopensolaris* \ - | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* | -aros* \ - | -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 - ;; - -cnk*|-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: diff --git a/configure b/configure index 30106ae713fe..d88c47c4e44e 100755 --- a/configure +++ b/configure @@ -1,13 +1,11 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.65 for the fast lexical analyser generator 2.5.37. +# Generated by GNU Autoconf 2.69 for the fast lexical analyser generator 2.6.4. # # Report bugs to . # # -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, -# Inc. +# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. # # # This configure script is free software; the Free Software Foundation @@ -91,6 +89,7 @@ fi IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. +as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -135,6 +134,31 @@ export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH +# Use a proper internal environment variable to ensure we don't fall + # into an infinite loop, continuously re-executing ourselves. + if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then + _as_can_reexec=no; export _as_can_reexec; + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; +esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +as_fn_exit 255 + fi + # We don't want this to propagate to other subprocesses. + { _as_can_reexec=; unset _as_can_reexec;} if test "x$CONFIG_SHELL" = x; then as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : emulate sh @@ -168,11 +192,20 @@ if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : else exitcode=1; echo positional parameters were not saved. fi -test x\$exitcode = x0 || exit 1" +test x\$exitcode = x0 || exit 1 +test -x / || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 + + test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || ( + ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' + ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO + ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO + PATH=/empty FPATH=/empty; export PATH FPATH + test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\ + || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1 test \$(( 1 + 1 )) = 2 || exit 1" if (eval "$as_required") 2>/dev/null; then : as_have_required=yes @@ -213,14 +246,25 @@ IFS=$as_save_IFS if test "x$CONFIG_SHELL" != x; then : - # We cannot yet assume a decent shell, so we have to provide a - # neutralization value for shells without unset; and this also - # works around shells that cannot unset nonexistent variables. - BASH_ENV=/dev/null - ENV=/dev/null - (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV - export CONFIG_SHELL - exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} + export CONFIG_SHELL + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; +esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 fi if test x$as_have_required = xno; then : @@ -319,10 +363,18 @@ $as_echo X"$as_dir" | test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p + +# as_fn_executable_p FILE +# ----------------------- +# Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} # as_fn_executable_p # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take @@ -359,19 +411,19 @@ else fi # as_fn_arith -# as_fn_error ERROR [LINENO LOG_FD] -# --------------------------------- +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with status $?, using 1 if that was 0. +# script with STATUS, using 1 if that was 0. as_fn_error () { - as_status=$?; test $as_status -eq 0 && as_status=1 - if test "$3"; then - as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi - $as_echo "$as_me: error: $1" >&2 + $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error @@ -444,6 +496,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits chmod +x "$as_me.lineno" || { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } + # If we had to re-execute with $CONFIG_SHELL, we're ensured to have + # already done that, so ensure we don't try to do so again and fall + # in an infinite loop. This has already happened in practice. + _as_can_reexec=no; export _as_can_reexec # 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). @@ -478,16 +534,16 @@ if (echo >conf$$.file) 2>/dev/null; then # ... 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'. + # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' + as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else - as_ln_s='cp -p' + as_ln_s='cp -pR' fi else - as_ln_s='cp -p' + as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null @@ -499,28 +555,8 @@ else 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 +as_test_x='test -x' +as_executable_p=as_fn_executable_p # 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'" @@ -528,12 +564,14 @@ 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'" +SHELL=${CONFIG_SHELL-/bin/sh} + test -n "$DJDIR" || exec 7<&0 &1 # Name of the host. -# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, +# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` @@ -552,13 +590,12 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='the fast lexical analyser generator' PACKAGE_TARNAME='flex' -PACKAGE_VERSION='2.5.37' -PACKAGE_STRING='the fast lexical analyser generator 2.5.37' +PACKAGE_VERSION='2.6.4' +PACKAGE_STRING='the fast lexical analyser generator 2.6.4' PACKAGE_BUGREPORT='flex-help@lists.sourceforge.net' PACKAGE_URL='' -ac_unique_file="scan.l" -ac_config_libobj_dir=lib +ac_unique_file="src/scan.l" # Factoring default headers for most tests. ac_includes_default="\ #include @@ -595,29 +632,45 @@ ac_includes_default="\ # include #endif" +ac_config_libobj_dir=lib +gt_needs= ac_subst_vars='am__EXEEXT_FALSE am__EXEEXT_TRUE LTLIBOBJS LIBOBJS ALLOCA -EGREP -GREP -CPP +LIBPTHREAD INDENT M4 +TEXI2DVI HELP2MAN -BISON -RANLIB -LN_S +CROSS_FALSE +CROSS_TRUE +ENABLE_BOOTSTRAP_FALSE +ENABLE_BOOTSTRAP_TRUE +ENABLE_LIBFL_FALSE +ENABLE_LIBFL_TRUE +WARNINGFLAGS am__fastdepCXX_FALSE am__fastdepCXX_TRUE CXXDEPMODE +CXXCPP ac_ct_CXX CXXFLAGS CXX +LDFLAGS_FOR_BUILD +CPPFLAGS_FOR_BUILD +CFLAGS_FOR_BUILD +BUILD_OBJEXT +BUILD_EXEEXT +CPP_FOR_BUILD +ac_ct_CC_FOR_BUILD +CC_FOR_BUILD LEXLIB LEX_OUTPUT_ROOT LEX +HAVE_BISON_FALSE +HAVE_BISON_TRUE YFLAGS YACC POSUB @@ -626,46 +679,40 @@ LIBINTL INTLLIBS LTLIBICONV LIBICONV -host_os -host_vendor -host_cpu -host -build_os -build_vendor -build_cpu -build +INTL_MACOSX_LIBS +XGETTEXT_EXTRA_OPTIONS +MSGMERGE +XGETTEXT_015 +XGETTEXT +GMSGFMT_015 +MSGFMT_015 +GMSGFMT +MSGFMT +GETTEXT_MACRO_VERSION +USE_NLS +SHARED_VERSION_INFO +AM_BACKSLASH +AM_DEFAULT_VERBOSITY +AM_DEFAULT_V +AM_V am__fastdepCC_FALSE am__fastdepCC_TRUE CCDEPMODE +am__nodep AMDEPBACKSLASH AMDEP_FALSE AMDEP_TRUE am__quote am__include DEPDIR -OBJEXT -EXEEXT -ac_ct_CC -CPPFLAGS -LDFLAGS -CFLAGS -CC -MSGMERGE -XGETTEXT -GMSGFMT -MSGFMT -USE_NLS -MKINSTALLDIRS am__untar am__tar AMTAR am__leading_dot SET_MAKE -AWK mkdir_p MKDIR_P INSTALL_STRIP_PROGRAM -STRIP install_sh MAKEINFO AUTOHEADER @@ -679,6 +726,46 @@ am__isrc INSTALL_DATA INSTALL_SCRIPT INSTALL_PROGRAM +CPP +LT_SYS_LIBRARY_PATH +OTOOL64 +OTOOL +LIPO +NMEDIT +DSYMUTIL +MANIFEST_TOOL +AWK +RANLIB +STRIP +ac_ct_AR +AR +DLLTOOL +OBJDUMP +LN_S +NM +ac_ct_DUMPBIN +DUMPBIN +LD +FGREP +EGREP +GREP +SED +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +LIBTOOL target_alias host_alias build_alias @@ -698,6 +785,7 @@ infodir docdir oldincludedir includedir +runstatedir localstatedir sharedstatedir sysconfdir @@ -720,12 +808,23 @@ SHELL' ac_subst_files='' ac_user_opts=' enable_option_checking -enable_nls -enable_dependency_tracking +enable_shared +enable_static +with_pic +enable_fast_install +with_aix_soname with_gnu_ld +with_sysroot +enable_libtool_lock +enable_dependency_tracking +enable_silent_rules +enable_nls enable_rpath with_libiconv_prefix with_libintl_prefix +enable_warnings +enable_libfl +enable_bootstrap ' ac_precious_vars='build_alias host_alias @@ -735,12 +834,14 @@ CFLAGS LDFLAGS LIBS CPPFLAGS +LT_SYS_LIBRARY_PATH +CPP YACC YFLAGS CXX CXXFLAGS CCC -CPP' +CXXCPP' # Initialize some variables set by options. @@ -779,6 +880,7 @@ datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' +runstatedir='${localstatedir}/run' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' @@ -803,8 +905,9 @@ do fi case $ac_option in - *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; - *) ac_optarg=yes ;; + *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *=) ac_optarg= ;; + *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. @@ -849,7 +952,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid feature name: $ac_useropt" + as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -875,7 +978,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid feature name: $ac_useropt" + as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1030,6 +1133,15 @@ do | -silent | --silent | --silen | --sile | --sil) silent=yes ;; + -runstatedir | --runstatedir | --runstatedi | --runstated \ + | --runstate | --runstat | --runsta | --runst | --runs \ + | --run | --ru | --r) + ac_prev=runstatedir ;; + -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ + | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ + | --run=* | --ru=* | --r=*) + runstatedir=$ac_optarg ;; + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ @@ -1079,7 +1191,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid package name: $ac_useropt" + as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1095,7 +1207,7 @@ do ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error "invalid package name: $ac_useropt" + as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in @@ -1125,8 +1237,8 @@ do | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; - -*) as_fn_error "unrecognized option: \`$ac_option' -Try \`$0 --help' for more information." + -*) as_fn_error $? "unrecognized option: \`$ac_option' +Try \`$0 --help' for more information" ;; *=*) @@ -1134,7 +1246,7 @@ Try \`$0 --help' for more information." # Reject names that are not valid shell variable names. case $ac_envvar in #( '' | [0-9]* | *[!_$as_cr_alnum]* ) - as_fn_error "invalid variable name: \`$ac_envvar'" ;; + as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; @@ -1144,7 +1256,7 @@ Try \`$0 --help' for more information." $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} + : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" ;; esac @@ -1152,13 +1264,13 @@ done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` - as_fn_error "missing argument to $ac_option" + as_fn_error $? "missing argument to $ac_option" fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; - fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;; + fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi @@ -1167,7 +1279,7 @@ fi 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 + libdir localedir mandir runstatedir do eval ac_val=\$$ac_var # Remove trailing slashes. @@ -1181,7 +1293,7 @@ do [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac - as_fn_error "expected an absolute directory name for --$ac_var: $ac_val" + as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" done # There might be people who depend on the old broken behavior: `$host' @@ -1195,8 +1307,6 @@ target=$target_alias 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 @@ -1211,9 +1321,9 @@ 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_fn_error "working directory cannot be determined" + as_fn_error $? "working directory cannot be determined" test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - as_fn_error "pwd does not report name of working directory" + as_fn_error $? "pwd does not report name of working directory" # Find the source files, if location was not specified. @@ -1252,11 +1362,11 @@ else fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - as_fn_error "cannot find sources ($ac_unique_file) in $srcdir" + as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg" + cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then @@ -1282,7 +1392,7 @@ 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 the fast lexical analyser generator 2.5.37 to adapt to many kinds of systems. +\`configure' configures the fast lexical analyser generator 2.6.4 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1296,7 +1406,7 @@ Configuration: --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit - -q, --quiet, --silent do not print \`checking...' messages + -q, --quiet, --silent do not print \`checking ...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files @@ -1322,6 +1432,7 @@ Fine tuning of the installation directories: --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] + --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] @@ -1352,7 +1463,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of the fast lexical analyser generator 2.5.37:";; + short | recursive ) echo "Configuration of the fast lexical analyser generator 2.6.4:";; esac cat <<\_ACEOF @@ -1360,14 +1471,35 @@ 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-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) + --enable-dependency-tracking + do not reject slow dependency extractors + --disable-dependency-tracking + speeds up one-time build + --enable-silent-rules less verbose build output (undo: "make V=1") + --disable-silent-rules verbose build output (undo: "make V=0") --disable-nls do not use Native Language Support - --disable-dependency-tracking speeds up one-time build - --enable-dependency-tracking do not reject slow dependency extractors --disable-rpath do not hardcode runtime library paths + --enable-warnings enable a bunch of compiler warning flags (defaults + to GCC warning flags). + --disable-libfl do not build -lfl runtime support library + --disable-bootstrap don't perform a bootstrap when building flex Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use + both] + --with-aix-soname=aix|svr4|both + shared library versioning (aka "SONAME") variant to + provide on AIX, [default=aix]. + --with-gnu-ld assume the C compiler uses GNU ld [default=no] + --with-sysroot[=DIR] Search for dependent libraries within DIR (or the + compiler's sysroot if not specified). --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 @@ -1382,14 +1514,18 @@ Some influential environment variables: LIBS libraries to pass to the linker, e.g. -l CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory - YACC The `Yet Another C Compiler' implementation to use. Defaults to - the first program found out of: `bison -y', `byacc', `yacc'. + LT_SYS_LIBRARY_PATH + User-defined run-time library search path. + CPP C preprocessor + YACC The `Yet Another Compiler 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. CXX C++ compiler command CXXFLAGS C++ compiler flags - CPP C preprocessor + CXXCPP 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. @@ -1457,10 +1593,10 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -the fast lexical analyser generator configure 2.5.37 -generated by GNU Autoconf 2.65 +the fast lexical analyser generator configure 2.6.4 +generated by GNU Autoconf 2.69 -Copyright (C) 2009 Free Software Foundation, Inc. +Copyright (C) 2012 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF @@ -1504,7 +1640,7 @@ sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_compile @@ -1536,7 +1672,7 @@ $as_echo "$ac_try_echo"; } >&5 test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext + test -x conftest$ac_exeext }; then : ac_retval=0 else @@ -1550,48 +1686,41 @@ fi # interfere with the next link command; also delete a directory that is # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_link -# ac_fn_cxx_try_compile LINENO -# ---------------------------- -# Try to compile conftest.$ac_ext, and return whether this succeeded. -ac_fn_cxx_try_compile () +# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES +# ------------------------------------------------------- +# Tests whether HEADER exists and can be compiled using the include files in +# INCLUDES, setting the cache variable VAR accordingly. +ac_fn_c_check_header_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - 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:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_cxx_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then : - ac_retval=0 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" fi - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - as_fn_set_status $ac_retval +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno -} # ac_fn_cxx_try_compile +} # ac_fn_c_check_header_compile # ac_fn_c_try_cpp LINENO # ---------------------- @@ -1614,7 +1743,7 @@ $as_echo "$ac_try_echo"; } >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } >/dev/null && { + test $ac_status = 0; } > conftest.i && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : @@ -1625,7 +1754,7 @@ sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_cpp @@ -1667,189 +1796,11 @@ sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=$ac_status fi rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_run -# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES -# ------------------------------------------------------- -# Tests whether HEADER exists, giving a warning if it cannot be compiled using -# the include files in INCLUDES and setting the cache variable VAR -# accordingly. -ac_fn_c_check_header_mongrel () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : - $as_echo_n "(cached) " >&6 -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 -$as_echo_n "checking $2 usability... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -#include <$2> -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_header_compiler=yes -else - ac_header_compiler=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 -$as_echo_n "checking $2 presence... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <$2> -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - ac_header_preproc=yes -else - ac_header_preproc=no -fi -rm -f conftest.err conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$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:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} - ;; - no:yes:* ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} -( cat <<\_ASBOX -## ---------------------------------------------- ## -## Report this to flex-help@lists.sourceforge.net ## -## ---------------------------------------------- ## -_ASBOX - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : - $as_echo_n "(cached) " >&6 -else - eval "$3=\$ac_header_compiler" -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -fi - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - -} # ac_fn_c_check_header_mongrel - -# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES -# ------------------------------------------------------- -# Tests whether HEADER exists and can be compiled using the include files in -# INCLUDES, setting the cache variable VAR accordingly. -ac_fn_c_check_header_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -#include <$2> -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - -} # ac_fn_c_check_header_compile - -# ac_fn_c_check_type LINENO TYPE VAR INCLUDES -# ------------------------------------------- -# Tests whether TYPE exists after having included INCLUDES, setting cache -# variable VAR accordingly. -ac_fn_c_check_type () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : - $as_echo_n "(cached) " >&6 -else - eval "$3=no" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -if (sizeof ($2)) - return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -if (sizeof (($2))) - return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - -else - eval "$3=yes" -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 -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} - -} # ac_fn_c_check_type - # ac_fn_c_check_func LINENO FUNC VAR # ---------------------------------- # Tests whether FUNC exists, setting the cache variable VAR accordingly @@ -1858,7 +1809,7 @@ ac_fn_c_check_func () as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } -if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then : +if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -1913,15 +1864,281 @@ fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } - eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_func + +# ac_fn_cxx_try_compile LINENO +# ---------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + 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:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_cxx_try_compile + +# ac_fn_cxx_try_cpp LINENO +# ------------------------ +# Try to preprocess conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_cpp () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + 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:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } > conftest.i && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_cxx_try_cpp + +# ac_fn_cxx_try_link LINENO +# ------------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + 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:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + test -x conftest$ac_exeext + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would + # interfere with the next link command; also delete a directory that is + # left behind by Apple's compiler. We do this before executing the actions. + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_cxx_try_link + +# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES +# ------------------------------------------------------- +# Tests whether HEADER exists, giving a warning if it cannot be compiled using +# the include files in INCLUDES and setting the cache variable VAR +# accordingly. +ac_fn_c_check_header_mongrel () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if eval \${$3+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 +$as_echo_n "checking $2 usability... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_header_compiler=yes +else + ac_header_compiler=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 +$as_echo_n "checking $2 presence... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <$2> +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + ac_header_preproc=yes +else + ac_header_preproc=no +fi +rm -f conftest.err conftest.i conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( + yes:no: ) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} + ;; + no:yes:* ) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} +( $as_echo "## ---------------------------------------------- ## +## Report this to flex-help@lists.sourceforge.net ## +## ---------------------------------------------- ##" + ) | sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + eval "$3=\$ac_header_compiler" +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_header_mongrel + +# ac_fn_c_check_type LINENO TYPE VAR INCLUDES +# ------------------------------------------- +# Tests whether TYPE exists after having included INCLUDES, setting cache +# variable VAR accordingly. +ac_fn_c_check_type () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + eval "$3=no" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +if (sizeof ($2)) + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +if (sizeof (($2))) + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +else + eval "$3=yes" +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 +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_type 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 the fast lexical analyser generator $as_me 2.5.37, which was -generated by GNU Autoconf 2.65. Invocation command line was +It was created by the fast lexical analyser generator $as_me 2.6.4, which was +generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2031,11 +2248,9 @@ trap 'exit_status=$? { echo - cat <<\_ASBOX -## ---------------- ## + $as_echo "## ---------------- ## ## Cache variables. ## -## ---------------- ## -_ASBOX +## ---------------- ##" echo # The following way of writing the cache mishandles newlines in values, ( @@ -2069,11 +2284,9 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; ) echo - cat <<\_ASBOX -## ----------------- ## + $as_echo "## ----------------- ## ## Output variables. ## -## ----------------- ## -_ASBOX +## ----------------- ##" echo for ac_var in $ac_subst_vars do @@ -2086,11 +2299,9 @@ _ASBOX echo if test -n "$ac_subst_files"; then - cat <<\_ASBOX -## ------------------- ## + $as_echo "## ------------------- ## ## File substitutions. ## -## ------------------- ## -_ASBOX +## ------------------- ##" echo for ac_var in $ac_subst_files do @@ -2104,11 +2315,9 @@ _ASBOX fi if test -s confdefs.h; then - cat <<\_ASBOX -## ----------- ## + $as_echo "## ----------- ## ## confdefs.h. ## -## ----------- ## -_ASBOX +## ----------- ##" echo cat confdefs.h echo @@ -2163,7 +2372,12 @@ _ACEOF ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then - ac_site_file1=$CONFIG_SITE + # We do not want a PATH search for config.site. + case $CONFIG_SITE in #(( + -*) ac_site_file1=./$CONFIG_SITE;; + */*) ac_site_file1=$CONFIG_SITE;; + *) ac_site_file1=./$CONFIG_SITE;; + esac elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site @@ -2178,7 +2392,11 @@ do { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 - . "$ac_site_file" + . "$ac_site_file" \ + || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "failed to load site script $ac_site_file +See \`config.log' for more details" "$LINENO" 5; } fi done @@ -2199,6 +2417,7 @@ $as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi +gt_needs="$gt_needs " # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false @@ -2254,7 +2473,7 @@ if $ac_cache_corrupted; then $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} - as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 + as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi ## -------------------- ## ## Main body of script. ## @@ -2268,20 +2487,24 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu -am__api_version='1.11' - ac_aux_dir= -for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do - for ac_t in install-sh install.sh shtool; do - if test -f "$ac_dir/$ac_t"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/$ac_t -c" - break 2 - fi - done +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_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 + as_fn_error $? "cannot find install-sh, install.sh, or shtool in build-aux \"$srcdir\"/build-aux" "$LINENO" 5 fi # These three variables are undocumented and unsupported, @@ -2293,873 +2516,173 @@ 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:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 -$as_echo_n "checking for a BSD-compatible install... " >&6; } -if test -z "$INSTALL"; then -if test "${ac_cv_path_install+set}" = set; then : - $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:${as_lineno-$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:${as_lineno-$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_fn_error "unsafe absolute working directory name" "$LINENO" 5;; -esac -case $srcdir in - *[\\\"\#\$\&\'\`$am_lf\ \ ]*) - as_fn_error "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;; -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_fn_error "ls -t appears to fail. Make sure there is not a broken -alias in your environment" "$LINENO" 5 - fi - - test "$2" = conftest.file - ) -then - # Ok. - : -else - as_fn_error "newly created file is older than distributed files! -Check your system clock" "$LINENO" 5 -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$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:${as_lineno-$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:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_STRIP+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 -$as_echo "$STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_STRIP"; then - ac_ct_STRIP=$STRIP - # Extract the first word of "strip", so it can be a program name with args. -set dummy strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_STRIP"; then - ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_STRIP="strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 -$as_echo "$ac_ct_STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_STRIP" = x; then - STRIP=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - STRIP=$ac_ct_STRIP - fi -else - STRIP="$ac_cv_prog_STRIP" -fi - -fi -INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 -$as_echo_n "checking for a thread-safe mkdir -p... " >&6; } -if test -z "$MKDIR_P"; then - if test "${ac_cv_path_mkdir+set}" = set; then : - $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 - - test -d ./--version && rmdir ./--version - 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. - MKDIR_P="$ac_install_sh -d" - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 -$as_echo "$MKDIR_P" >&6; } - -mkdir_p="$MKDIR_P" -case $mkdir_p in - [\\/$]* | ?:[\\/]*) ;; - */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 +$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; esac -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:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_AWK+set}" = set; then : + + +macro_version='2.4.6' +macro_revision='2.4.6' + + + + + + + + + + + + + +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_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +$as_echo_n "checking build system type... " >&6; } +if ${ac_cv_build+:} false; 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:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS + ac_build_alias=$build_alias +test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` +test "x$ac_build_alias" = x && + as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 fi -fi -AWK=$ac_cv_prog_AWK -if test -n "$AWK"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 -$as_echo "$AWK" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +$as_echo "$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; +esac +build=$ac_cv_build +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac - test -n "$AWK" && break -done - -{ $as_echo "$as_me:${as_lineno-$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 "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +$as_echo_n "checking host system type... " >&6; } +if ${ac_cv_host+:} false; 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;; + if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build +else + ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +$as_echo "$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; esac -rm -f conftest.make -fi -if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - SET_MAKE= +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 + + +# Backslashify metacharacters that are still active within +# double-quoted strings. +sed_quote_subst='s/\(["`$\\]\)/\\\1/g' + +# Same as above, but do not quote variable references. +double_quote_subst='s/\(["`\\]\)/\\\1/g' + +# Sed substitution to delay expansion of an escaped shell variable in a +# double_quote_subst'ed string. +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' + +# Sed substitution to delay expansion of an escaped single quote. +delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' + +# Sed substitution to avoid accidental globbing in evaled expressions +no_glob_subst='s/\*/\\\*/g' + +ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO +ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 +$as_echo_n "checking how to print strings... " >&6; } +# Test print first, because it will be a builtin if present. +if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ + test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then + ECHO='print -r --' +elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then + ECHO='printf %s\n' else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - SET_MAKE="MAKE=${MAKE-make}" + # Use this function as a fallback that always works. + func_fallback_echo () + { + eval 'cat <<_LTECHO_EOF +$1 +_LTECHO_EOF' + } + ECHO='func_fallback_echo' 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 +# func_echo_all arg... +# Invoke $ECHO with all args, space-separated. +func_echo_all () +{ + $ECHO "" +} -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_fn_error "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 - 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='flex' - VERSION='2.5.37' - - -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:conf.in" - - - -# checks for programs - - - MKINSTALLDIRS= - if test -n "$ac_aux_dir"; then - case "$ac_aux_dir" in - /*) MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" ;; - *) MKINSTALLDIRS="\$(top_builddir)/$ac_aux_dir/mkinstalldirs" ;; - esac - fi - if test -z "$MKINSTALLDIRS"; then - MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs" - fi - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5 -$as_echo_n "checking whether NLS is requested... " >&6; } - # Check whether --enable-nls was given. -if test "${enable_nls+set}" = set; then : - enableval=$enable_nls; USE_NLS=$enableval -else - USE_NLS=yes -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 -$as_echo "$USE_NLS" >&6; } - - - - - - -# Prepare PATH_SEPARATOR. -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' - else - PATH_SEPARATOR=: - fi - rm -f conf$$.sh -fi - -# Find out how to test for executable files. Don't use a zero-byte file, -# as systems may use methods other than mode bits to determine executability. -cat >conf$$.file <<_ASEOF -#! /bin/sh -exit 0 -_ASEOF -chmod +x conf$$.file -if test -x conf$$.file >/dev/null 2>&1; then - ac_executable_p="test -x" -else - ac_executable_p="test -f" -fi -rm -f conf$$.file - -# Extract the first word of "msgfmt", so it can be a program name with args. -set dummy msgfmt; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_MSGFMT+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - case "$MSGFMT" in - [\\/]* | ?:[\\/]*) - ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. - ;; - *) - ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$ac_save_IFS" - test -z "$ac_dir" && ac_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then - if $ac_dir/$ac_word --statistics /dev/null >/dev/null 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=":" - ;; +case $ECHO in + printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5 +$as_echo "printf" >&6; } ;; + print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 +$as_echo "print -r" >&6; } ;; + *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5 +$as_echo "cat" >&6; } ;; esac -fi -MSGFMT="$ac_cv_path_MSGFMT" -if test "$MSGFMT" != ":"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5 -$as_echo "$MSGFMT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - # Extract the first word of "gmsgfmt", so it can be a program name with args. -set dummy gmsgfmt; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_GMSGFMT+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - case $GMSGFMT in - [\\/]* | ?:[\\/]*) - ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" - ;; -esac -fi -GMSGFMT=$ac_cv_path_GMSGFMT -if test -n "$GMSGFMT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5 -$as_echo "$GMSGFMT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -# Prepare PATH_SEPARATOR. -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' - else - PATH_SEPARATOR=: - fi - rm -f conf$$.sh -fi - -# Find out how to test for executable files. Don't use a zero-byte file, -# as systems may use methods other than mode bits to determine executability. -cat >conf$$.file <<_ASEOF -#! /bin/sh -exit 0 -_ASEOF -chmod +x conf$$.file -if test -x conf$$.file >/dev/null 2>&1; then - ac_executable_p="test -x" -else - ac_executable_p="test -f" -fi -rm -f conf$$.file - -# Extract the first word of "xgettext", so it can be a program name with args. -set dummy xgettext; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_XGETTEXT+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - case "$XGETTEXT" in - [\\/]* | ?:[\\/]*) - ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. - ;; - *) - ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$ac_save_IFS" - test -z "$ac_dir" && ac_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then - if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 && - (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then - ac_cv_path_XGETTEXT="$ac_dir/$ac_word$ac_exec_ext" - break 2 - fi - fi - done - done - IFS="$ac_save_IFS" - test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" - ;; -esac -fi -XGETTEXT="$ac_cv_path_XGETTEXT" -if test "$XGETTEXT" != ":"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5 -$as_echo "$XGETTEXT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - rm -f messages.po - - -# Prepare PATH_SEPARATOR. -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' - else - PATH_SEPARATOR=: - fi - rm -f conf$$.sh -fi - -# Find out how to test for executable files. Don't use a zero-byte file, -# as systems may use methods other than mode bits to determine executability. -cat >conf$$.file <<_ASEOF -#! /bin/sh -exit 0 -_ASEOF -chmod +x conf$$.file -if test -x conf$$.file >/dev/null 2>&1; then - ac_executable_p="test -x" -else - ac_executable_p="test -f" -fi -rm -f conf$$.file - -# Extract the first word of "msgmerge", so it can be a program name with args. -set dummy msgmerge; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_MSGMERGE+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - case "$MSGMERGE" in - [\\/]* | ?:[\\/]*) - ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path. - ;; - *) - ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$ac_save_IFS" - test -z "$ac_dir" && ac_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then - if $ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1; then - ac_cv_path_MSGMERGE="$ac_dir/$ac_word$ac_exec_ext" - break 2 - fi - fi - done - done - IFS="$ac_save_IFS" - test -z "$ac_cv_path_MSGMERGE" && ac_cv_path_MSGMERGE=":" - ;; -esac -fi -MSGMERGE="$ac_cv_path_MSGMERGE" -if test "$MSGMERGE" != ":"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5 -$as_echo "$MSGMERGE" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - if test "$GMSGFMT" != ":"; then - if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 && - (if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then - : ; - else - GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'` - { $as_echo "$as_me:${as_lineno-$LINENO}: result: found $GMSGFMT program is not GNU msgfmt; ignore it" >&5 -$as_echo "found $GMSGFMT program is not GNU msgfmt; ignore it" >&6; } - GMSGFMT=":" - fi - fi - - if test "$XGETTEXT" != ":"; then - if $XGETTEXT --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >/dev/null 2>&1 && - (if $XGETTEXT --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 - : ; - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: found xgettext program is not GNU xgettext; ignore it" >&5 -$as_echo "found xgettext program is not GNU xgettext; ignore it" >&6; } - XGETTEXT=":" - fi - rm -f messages.po - fi - - ac_config_commands="$ac_config_commands default-1" - 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" - -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:${as_lineno-$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:${as_lineno-$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 +# Expand $ac_aux_dir to an absolute path. +am_aux_dir=`cd "$ac_aux_dir" && pwd` ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -3171,7 +2694,7 @@ if test -n "$ac_tool_prefix"; then set dummy ${ac_tool_prefix}gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then : +if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then @@ -3183,7 +2706,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -3211,7 +2734,7 @@ if test -z "$ac_cv_prog_CC"; then set dummy gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : +if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then @@ -3223,7 +2746,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -3264,7 +2787,7 @@ if test -z "$CC"; then set dummy ${ac_tool_prefix}cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then : +if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then @@ -3276,7 +2799,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -3304,7 +2827,7 @@ if test -z "$CC"; then set dummy cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then : +if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then @@ -3317,7 +2840,7 @@ 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 as_fn_executable_p "$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 @@ -3363,7 +2886,7 @@ if test -z "$CC"; then set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then : +if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then @@ -3375,7 +2898,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -3407,7 +2930,7 @@ do set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : +if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then @@ -3419,7 +2942,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -3461,8 +2984,8 @@ fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "no acceptable C compiler found in \$PATH -See \`config.log' for more details." "$LINENO" 5; } +as_fn_error $? "no acceptable C compiler found in \$PATH +See \`config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 @@ -3576,9 +3099,8 @@ sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -{ as_fn_set_status 77 -as_fn_error "C compiler cannot create executables -See \`config.log' for more details." "$LINENO" 5; }; } +as_fn_error 77 "C compiler cannot create executables +See \`config.log' for more details" "$LINENO" 5; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } @@ -3620,8 +3142,8 @@ done else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details." "$LINENO" 5; } +as_fn_error $? "cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest conftest$ac_cv_exeext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 @@ -3678,9 +3200,9 @@ $as_echo "$ac_try_echo"; } >&5 else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "cannot run C compiled programs. +as_fn_error $? "cannot run C compiled programs. If you meant to cross compile, use \`--host'. -See \`config.log' for more details." "$LINENO" 5; } +See \`config.log' for more details" "$LINENO" 5; } fi fi fi @@ -3691,7 +3213,7 @@ rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 $as_echo_n "checking for suffix of object files... " >&6; } -if test "${ac_cv_objext+set}" = set; then : +if ${ac_cv_objext+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -3731,8 +3253,8 @@ sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "cannot compute suffix of object files: cannot compile -See \`config.log' for more details." "$LINENO" 5; } +as_fn_error $? "cannot compute suffix of object files: cannot compile +See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi @@ -3742,7 +3264,7 @@ OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -if test "${ac_cv_c_compiler_gnu+set}" = set; then : +if ${ac_cv_c_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -3779,7 +3301,7 @@ ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } -if test "${ac_cv_prog_cc_g+set}" = set; then : +if ${ac_cv_prog_cc_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag @@ -3857,7 +3379,7 @@ else fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if test "${ac_cv_prog_cc_c89+set}" = set; then : +if ${ac_cv_prog_cc_c89+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no @@ -3866,8 +3388,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include -#include -#include +struct stat; /* 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); @@ -3952,247 +3473,393 @@ 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:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 -$as_echo_n "checking dependency style of $depcc... " >&6; } -if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then : +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:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 +$as_echo_n "checking whether $CC understands -c and -o together... " >&6; } +if ${am_cv_prog_cc_c_o+:} false; 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 + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ - 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 +int +main () +{ - 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 + ; + return 0; +} +_ACEOF + # Make sure it works both with $CC and with simple cc. + # Following AC_PROG_CC_C_O, we do the test twice because some + # compilers refuse to overwrite an existing .o file with -o, + # though they will create one. + am_cv_prog_cc_c_o=yes + for am_i in 1 2; do + if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 + ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } \ + && test -f conftest2.$ac_objext; then + : OK + else + am_cv_prog_cc_c_o=no + break fi done - - cd .. - rm -rf conftest.dir -else - am_cv_CC_dependencies_compiler_type=none + rm -f core conftest* + unset am_i fi - -fi -{ $as_echo "$as_me:${as_lineno-$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= +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 +$as_echo "$am_cv_prog_cc_c_o" >&6; } +if test "$am_cv_prog_cc_c_o" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" fi +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_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 -$as_echo_n "checking build system type... " >&6; } -if test "${ac_cv_build+set}" = set; then : +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 +$as_echo_n "checking for a sed that does not truncate output... " >&6; } +if ${ac_cv_path_SED+:} false; then : $as_echo_n "(cached) " >&6 else - ac_build_alias=$build_alias -test "x$ac_build_alias" = x && - ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` -test "x$ac_build_alias" = x && - as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5 -ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || - as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 + ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ + for ac_i in 1 2 3 4 5 6 7; do + ac_script="$ac_script$as_nl$ac_script" + done + echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed + { ac_script=; unset ac_script;} + if test -z "$SED"; then + ac_path_SED_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in sed gsed; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_SED" || continue +# Check for GNU ac_path_SED and select it if it is found. + # Check for GNU $ac_path_SED +case `"$ac_path_SED" --version 2>&1` in +*GNU*) + ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo '' >> "conftest.nl" + "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_SED_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_SED="$ac_path_SED" + ac_path_SED_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_SED_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_SED"; then + as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 + fi +else + ac_cv_path_SED=$SED +fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 -$as_echo "$ac_cv_build" >&6; } -case $ac_cv_build in -*-*-*) ;; -*) as_fn_error "invalid value of canonical build" "$LINENO" 5;; -esac -build=$ac_cv_build -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_build -shift -build_cpu=$1 -build_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -build_os=$* -IFS=$ac_save_IFS -case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac +{ $as_echo "$as_me:${as_lineno-$LINENO}: 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:${as_lineno-$LINENO}: checking host system type" >&5 -$as_echo_n "checking host system type... " >&6; } -if test "${ac_cv_host+set}" = set; then : + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +$as_echo_n "checking for grep that handles long lines and -e... " >&6; } +if ${ac_cv_path_GREP+:} false; then : $as_echo_n "(cached) " >&6 else - if test "x$host_alias" = x; then - ac_cv_host=$ac_cv_build + 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" + as_fn_executable_p "$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 + as_fn_arith $ac_count + 1 && ac_count=$as_val + 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_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi else - ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || - as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 + ac_cv_path_GREP=$GREP fi fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 -$as_echo "$ac_cv_host" >&6; } -case $ac_cv_host in -*-*-*) ;; -*) as_fn_error "invalid value of canonical host" "$LINENO" 5;; +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +$as_echo "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +$as_echo_n "checking for egrep... " >&6; } +if ${ac_cv_path_EGREP+:} false; 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" + as_fn_executable_p "$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 + as_fn_arith $ac_count + 1 && ac_count=$as_val + 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 -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 + + $ac_path_EGREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_EGREP"; then + as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_EGREP=$EGREP +fi + + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +$as_echo "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 +$as_echo_n "checking for fgrep... " >&6; } +if ${ac_cv_path_FGREP+:} false; 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" + as_fn_executable_p "$ac_path_FGREP" || continue +# Check for GNU ac_path_FGREP and select it if it is found. + # Check for GNU $ac_path_FGREP +case `"$ac_path_FGREP" --version 2>&1` in +*GNU*) + ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'FGREP' >> "conftest.nl" + "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_FGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_FGREP="$ac_path_FGREP" + ac_path_FGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_FGREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_FGREP"; then + as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_FGREP=$FGREP +fi + + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 +$as_echo "$ac_cv_path_FGREP" >&6; } + FGREP="$ac_cv_path_FGREP" + + +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 + withval=$with_gnu_ld; test no = "$withval" || 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 +if test yes = "$GCC"; then # Check if gcc -print-prog-name=ld gives a path. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by GCC" >&5 -$as_echo_n "checking for ld used by GCC... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 +$as_echo_n "checking for ld used by $CC... " >&6; } case $host in *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw + # 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%/%"` + # 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" + test -z "$LD" && LD=$ac_prog ;; "") # If it fails, then pretend we aren't using GCC. @@ -4203,39 +3870,43 @@ $as_echo_n "checking for ld used by GCC... " >&6; } with_gnu_ld=unknown ;; esac -elif test "$with_gnu_ld" = yes; then +elif test yes = "$with_gnu_ld"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 $as_echo_n "checking for GNU ld... " >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 $as_echo_n "checking for non-GNU ld... " >&6; } fi -if test "${acl_cv_path_LD+set}" = set; then : +if ${lt_cv_path_LD+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$LD"; then - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" + 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 - acl_cv_path_LD="$ac_dir/$ac_prog" + 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 GNU ld's only accept -v. + # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. - if "$acl_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then - test "$with_gnu_ld" != no && break - else - test "$with_gnu_ld" != yes && break - fi + case `"$lt_cv_path_LD" -v 2>&1 &5 $as_echo "$LD" >&6; } @@ -4243,2054 +3914,109 @@ else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi -test -z "$LD" && as_fn_error "no acceptable ld found in \$PATH" "$LINENO" 5 +test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } -if test "${acl_cv_prog_gnu_ld+set}" = set; then : +if ${lt_cv_prog_gnu_ld+:} false; then : $as_echo_n "(cached) " >&6 else - # I'd rather use --version here, but apparently some GNU ld's only accept -v. -if $LD -v 2>&1 &5; then - acl_cv_prog_gnu_ld=yes -else - acl_cv_prog_gnu_ld=no -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_prog_gnu_ld" >&5 -$as_echo "$acl_cv_prog_gnu_ld" >&6; } -with_gnu_ld=$acl_cv_prog_gnu_ld - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5 -$as_echo_n "checking for shared library run path origin... " >&6; } -if test "${acl_cv_rpath+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - - CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ - ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh - . ./conftest.sh - rm -f ./conftest.sh - acl_cv_rpath=done - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5 -$as_echo "$acl_cv_rpath" >&6; } - wl="$acl_cv_wl" - 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" - # Check whether --enable-rpath was given. -if test "${enable_rpath+set}" = set; then : - enableval=$enable_rpath; : -else - enable_rpath=yes -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/lib" - fi - fi - -fi - - LIBICONV= - LTLIBICONV= - INCICONV= - 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= - if test $use_additional = yes; then - if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then - found_dir="$additional_libdir" - found_so="$additional_libdir/lib$name.$shlibext" - if test -f "$additional_libdir/lib$name.la"; then - found_la="$additional_libdir/lib$name.la" - 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 - 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 "$shlibext" && test -f "$dir/lib$name.$shlibext"; then - found_dir="$dir" - found_so="$dir/lib$name.$shlibext" - if test -f "$dir/lib$name.la"; then - found_la="$dir/lib$name.la" - fi - else - if test -f "$dir/lib$name.$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 - 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/lib"; 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 "$hardcode_direct" = yes; then - LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" - else - if test -n "$hardcode_libdir_flag_spec" && test "$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 "$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 - */lib | */lib/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'` - 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*) 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/lib"; then - haveit= - if test "X$additional_libdir" = "X/usr/local/lib"; then - if test -n "$GCC"; then - case $host_os in - linux*) 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 "$hardcode_libdir_separator"; then - alldirs= - for found_dir in $rpathdirs; do - alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" - done - acl_save_libdir="$libdir" - libdir="$alldirs" - eval flag=\"$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=\"$hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" - done - fi - fi - if test "X$ltrpathdirs" != "X"; then - for found_dir in $ltrpathdirs; do - LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-R$found_dir" - done - fi - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5 -$as_echo_n "checking whether NLS is requested... " >&6; } - # Check whether --enable-nls was given. -if test "${enable_nls+set}" = set; then : - enableval=$enable_nls; USE_NLS=$enableval -else - USE_NLS=yes -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 -$as_echo "$USE_NLS" >&6; } - - - - - LIBINTL= - LTLIBINTL= - POSUB= - - if test "$USE_NLS" = "yes"; then - gt_use_preinstalled_gnugettext=no - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libc" >&5 -$as_echo_n "checking for GNU gettext in libc... " >&6; } -if test "${gt_cv_func_gnugettext1_libc+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -extern int _nl_msg_cat_cntr; -extern int *_nl_domain_bindings; -int -main () -{ -bindtextdomain ("", ""); -return (int) gettext ("") + _nl_msg_cat_cntr + *_nl_domain_bindings - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gt_cv_func_gnugettext1_libc=yes -else - gt_cv_func_gnugettext1_libc=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_gnugettext1_libc" >&5 -$as_echo "$gt_cv_func_gnugettext1_libc" >&6; } - - if test "$gt_cv_func_gnugettext1_libc" != "yes"; then - - - - - - am_save_CPPFLAGS="$CPPFLAGS" - - for element in $INCICONV; do - haveit= - for x in $CPPFLAGS; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X$element"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" - fi - done - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5 -$as_echo_n "checking for iconv... " >&6; } -if test "${am_cv_func_iconv+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - - am_cv_func_iconv="no, consider installing GNU libiconv" - am_cv_lib_iconv=no - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -int -main () -{ -iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - am_cv_func_iconv=yes -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test "$am_cv_func_iconv" != yes; then - am_save_LIBS="$LIBS" - LIBS="$LIBS $LIBICONV" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -int -main () -{ -iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - am_cv_lib_iconv=yes - am_cv_func_iconv=yes -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$am_save_LIBS" - fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5 -$as_echo "$am_cv_func_iconv" >&6; } - if test "$am_cv_func_iconv" = yes; then - -$as_echo "#define HAVE_ICONV 1" >>confdefs.h - - fi - if test "$am_cv_lib_iconv" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5 -$as_echo_n "checking how to link with libiconv... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5 -$as_echo "$LIBICONV" >&6; } - else - CPPFLAGS="$am_save_CPPFLAGS" - LIBICONV= - LTLIBICONV= - fi - - - - - - - use_additional=yes - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - -# Check whether --with-libintl-prefix was given. -if test "${with_libintl_prefix+set}" = set; then : - withval=$with_libintl_prefix; - if test "X$withval" = "Xno"; then - use_additional=no - else - if test "X$withval" = "X"; then - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - else - additional_includedir="$withval/include" - additional_libdir="$withval/lib" - fi - fi - -fi - - LIBINTL= - LTLIBINTL= - INCINTL= - 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= - if test $use_additional = yes; then - if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then - found_dir="$additional_libdir" - found_so="$additional_libdir/lib$name.$shlibext" - if test -f "$additional_libdir/lib$name.la"; then - found_la="$additional_libdir/lib$name.la" - 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 - 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 "$shlibext" && test -f "$dir/lib$name.$shlibext"; then - found_dir="$dir" - found_so="$dir/lib$name.$shlibext" - if test -f "$dir/lib$name.la"; then - found_la="$dir/lib$name.la" - fi - else - if test -f "$dir/lib$name.$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 - 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/lib"; 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 "$hardcode_direct" = yes; then - LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" - else - if test -n "$hardcode_libdir_flag_spec" && test "$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 "$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 - */lib | */lib/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'` - 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*) 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/lib"; then - haveit= - if test "X$additional_libdir" = "X/usr/local/lib"; then - if test -n "$GCC"; then - case $host_os in - linux*) 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 "$hardcode_libdir_separator"; then - alldirs= - for found_dir in $rpathdirs; do - alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" - done - acl_save_libdir="$libdir" - libdir="$alldirs" - eval flag=\"$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=\"$hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" - done - fi - fi - if test "X$ltrpathdirs" != "X"; then - for found_dir in $ltrpathdirs; do - LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-R$found_dir" - done - fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libintl" >&5 -$as_echo_n "checking for GNU gettext in libintl... " >&6; } -if test "${gt_cv_func_gnugettext1_libintl+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - gt_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS $INCINTL" - gt_save_LIBS="$LIBS" - LIBS="$LIBS $LIBINTL" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -extern int _nl_msg_cat_cntr; -extern -#ifdef __cplusplus -"C" -#endif -const char *_nl_expand_alias (); -int -main () -{ -bindtextdomain ("", ""); -return (int) gettext ("") + _nl_msg_cat_cntr + *_nl_expand_alias (0) - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gt_cv_func_gnugettext1_libintl=yes -else - gt_cv_func_gnugettext1_libintl=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test "$gt_cv_func_gnugettext1_libintl" != yes && test -n "$LIBICONV"; then - LIBS="$LIBS $LIBICONV" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -extern int _nl_msg_cat_cntr; -extern -#ifdef __cplusplus -"C" -#endif -const char *_nl_expand_alias (); -int -main () -{ -bindtextdomain ("", ""); -return (int) gettext ("") + _nl_msg_cat_cntr + *_nl_expand_alias (0) - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - LIBINTL="$LIBINTL $LIBICONV" - LTLIBINTL="$LTLIBINTL $LTLIBICONV" - gt_cv_func_gnugettext1_libintl=yes - -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - fi - CPPFLAGS="$gt_save_CPPFLAGS" - LIBS="$gt_save_LIBS" -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_gnugettext1_libintl" >&5 -$as_echo "$gt_cv_func_gnugettext1_libintl" >&6; } - fi - - if test "$gt_cv_func_gnugettext1_libc" = "yes" \ - || { test "$gt_cv_func_gnugettext1_libintl" = "yes" \ - && test "$PACKAGE" != gettext-runtime \ - && test "$PACKAGE" != gettext-tools; }; then - gt_use_preinstalled_gnugettext=yes - else - LIBINTL= - LTLIBINTL= - INCINTL= - fi - - - - if test "$gt_use_preinstalled_gnugettext" = "yes" \ - || test "$nls_cv_use_gnu_gettext" = "yes"; then - -$as_echo "#define ENABLE_NLS 1" >>confdefs.h - - else - USE_NLS=no - fi - fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use NLS" >&5 -$as_echo_n "checking whether to use NLS... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 -$as_echo "$USE_NLS" >&6; } - if test "$USE_NLS" = "yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking where the gettext function comes from" >&5 -$as_echo_n "checking where the gettext function comes from... " >&6; } - if test "$gt_use_preinstalled_gnugettext" = "yes"; then - if test "$gt_cv_func_gnugettext1_libintl" = "yes"; then - gt_source="external libintl" - else - gt_source="libc" - fi - else - gt_source="included intl directory" - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_source" >&5 -$as_echo "$gt_source" >&6; } - fi - - if test "$USE_NLS" = "yes"; then - - if test "$gt_use_preinstalled_gnugettext" = "yes"; then - if test "$gt_cv_func_gnugettext1_libintl" = "yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libintl" >&5 -$as_echo_n "checking how to link with libintl... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBINTL" >&5 -$as_echo "$LIBINTL" >&6; } - - for element in $INCINTL; do - haveit= - for x in $CPPFLAGS; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X$element"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" - fi - done - - fi - - -$as_echo "#define HAVE_GETTEXT 1" >>confdefs.h - - -$as_echo "#define HAVE_DCGETTEXT 1" >>confdefs.h - - fi - - POSUB=po - fi - - - - INTLLIBS="$LIBINTL" - - - - - - - -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:${as_lineno-$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:${as_lineno-$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:${as_lineno-$LINENO}: result: $YACC" >&5 -$as_echo "$YACC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$YACC" && break -done -test -n "$YACC" || YACC="yacc" - -for ac_prog in flex lex -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_LEX+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$LEX"; then - ac_cv_prog_LEX="$LEX" # 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_LEX="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -LEX=$ac_cv_prog_LEX -if test -n "$LEX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LEX" >&5 -$as_echo "$LEX" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$LEX" && break -done -test -n "$LEX" || LEX=":" - -if test "x$LEX" != "x:"; then - cat >conftest.l <<_ACEOF -%% -a { ECHO; } -b { REJECT; } -c { yymore (); } -d { yyless (1); } -e { yyless (input () != 0); } -f { unput (yytext[0]); } -. { BEGIN INITIAL; } -%% -#ifdef YYTEXT_POINTER -extern char *yytext; -#endif -int -main (void) -{ - return ! yylex () + ! yywrap (); -} -_ACEOF -{ { ac_try="$LEX conftest.l" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 &5 - (eval "$LEX conftest.l") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking lex output file root" >&5 -$as_echo_n "checking lex output file root... " >&6; } -if test "${ac_cv_prog_lex_root+set}" = set; then : +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5 +$as_echo "$lt_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$lt_cv_prog_gnu_ld + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 +$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } +if ${lt_cv_path_NM+:} false; then : $as_echo_n "(cached) " >&6 else - -if test -f lex.yy.c; then - ac_cv_prog_lex_root=lex.yy -elif test -f lexyy.c; then - ac_cv_prog_lex_root=lexyy + if test -n "$NM"; then + # Let the user override the test. + lt_cv_path_NM=$NM else - as_fn_error "cannot find output from $LEX; giving up" "$LINENO" 5 -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_lex_root" >&5 -$as_echo "$ac_cv_prog_lex_root" >&6; } -LEX_OUTPUT_ROOT=$ac_cv_prog_lex_root - -if test -z "${LEXLIB+set}"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking lex library" >&5 -$as_echo_n "checking lex library... " >&6; } -if test "${ac_cv_lib_lex+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - - ac_save_LIBS=$LIBS - ac_cv_lib_lex='none needed' - for ac_lib in '' -lfl -ll; do - LIBS="$ac_lib $ac_save_LIBS" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -`cat $LEX_OUTPUT_ROOT.c` -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_lex=$ac_lib -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - test "$ac_cv_lib_lex" != 'none needed' && break - done - LIBS=$ac_save_LIBS - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lex" >&5 -$as_echo "$ac_cv_lib_lex" >&6; } - test "$ac_cv_lib_lex" != 'none needed' && LEXLIB=$ac_cv_lib_lex -fi - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether yytext is a pointer" >&5 -$as_echo_n "checking whether yytext is a pointer... " >&6; } -if test "${ac_cv_prog_lex_yytext_pointer+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - # POSIX says lex can declare yytext either as a pointer or an array; the -# default is implementation-dependent. Figure out which it is, since -# not all implementations provide the %pointer and %array declarations. -ac_cv_prog_lex_yytext_pointer=no -ac_save_LIBS=$LIBS -LIBS="$LEXLIB $ac_save_LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#define YYTEXT_POINTER 1 -`cat $LEX_OUTPUT_ROOT.c` -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_prog_lex_yytext_pointer=yes -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_save_LIBS - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_lex_yytext_pointer" >&5 -$as_echo "$ac_cv_prog_lex_yytext_pointer" >&6; } -if test $ac_cv_prog_lex_yytext_pointer = yes; then - -$as_echo "#define YYTEXT_POINTER 1" >>confdefs.h - -fi -rm -f conftest.l $LEX_OUTPUT_ROOT.c - -fi -if test "$LEX" = :; then - LEX=${am_missing_run}flex -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:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CC="${ac_tool_prefix}gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 + 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 -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "gcc", so it can be a program name with args. -set dummy gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_CC="gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -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:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CC="${ac_tool_prefix}cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - fi -fi -if test -z "$CC"; then - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_prog_rejected=no -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue - fi - ac_cv_prog_CC="cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -if test $ac_prog_rejected = yes; then - # We found a bogon in the path, so make sure we never use it. - set dummy $ac_cv_prog_CC - shift - if test $# != 0; then - # We chose a different compiler from the bogus one. - # However, it has the same basename, so the bogon will be chosen - # first if we set CC to just the basename; use the full file name. - shift - ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" - fi -fi -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - for ac_prog in cl.exe - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CC+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$CC" && break - done -fi -if test -z "$CC"; then - ac_ct_CC=$CC - for ac_prog in cl.exe -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_CC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_CC" && break -done - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -fi - -fi - - -test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "no acceptable C compiler found in \$PATH -See \`config.log' for more details." "$LINENO" 5; } - -# Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 -$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -if test "${ac_cv_c_compiler_gnu+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_compiler_gnu=yes -else - 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:${as_lineno-$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:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 -$as_echo_n "checking whether $CC accepts -g... " >&6; } -if test "${ac_cv_prog_cc_g+set}" = set; then : - $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 confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes -else - CFLAGS="" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - -else - ac_c_werror_flag=$ac_save_c_werror_flag - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -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:${as_lineno-$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:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 -$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if test "${ac_cv_prog_cc_c89+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_prog_cc_c89=no -ac_save_CC=$CC -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#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" - if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_c89=$ac_arg -fi -rm -f core conftest.err conftest.$ac_objext - test "x$ac_cv_prog_cc_c89" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC - -fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c89" in - x) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; - xno) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c89" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 -$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; -esac -if test "x$ac_cv_prog_cc_c89" != xno; then : - -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 - -depcc="$CC" am_compiler_list= - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 -$as_echo_n "checking dependency style of $depcc... " >&6; } -if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then : - $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 + 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 + # MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty + case $build_os in + mingw*) lt_bad_file=conftest.nm/nofile ;; + *) lt_bad_file=/dev/null ;; + esac + case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in + *$lt_bad_file* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" + break 2 + ;; + *) + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break 2 + ;; + *) + 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 - ;; - 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 + IFS=$lt_save_ifs done - - cd .. - rm -rf conftest.dir + : ${lt_cv_path_NM=no} +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 +$as_echo "$lt_cv_path_NM" >&6; } +if test no != "$lt_cv_path_NM"; then + NM=$lt_cv_path_NM else - am_cv_CC_dependencies_compiler_type=none -fi - -fi -{ $as_echo "$as_me:${as_lineno-$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=cpp -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -if test -z "$CXX"; then - if test -n "$CCC"; then - CXX=$CCC + # Didn't find any BSD compatible name lister, look for dumpbin. + if test -n "$DUMPBIN"; then : + # Let the user override the test. else if test -n "$ac_tool_prefix"; then - for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC + for ac_prog in dumpbin "link -dump" do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_CXX+set}" = set; then : +if ${ac_cv_prog_DUMPBIN+:} false; then : $as_echo_n "(cached) " >&6 else - if test -n "$CXX"; then - ac_cv_prog_CXX="$CXX" # Let the user override the test. + if test -n "$DUMPBIN"; then + ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH @@ -6298,8 +4024,8 @@ 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_CXX="$ac_tool_prefix$ac_prog" + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -6309,32 +4035,32 @@ IFS=$as_save_IFS fi fi -CXX=$ac_cv_prog_CXX -if test -n "$CXX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 -$as_echo "$CXX" >&6; } +DUMPBIN=$ac_cv_prog_DUMPBIN +if test -n "$DUMPBIN"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 +$as_echo "$DUMPBIN" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - test -n "$CXX" && break + test -n "$DUMPBIN" && break done fi -if test -z "$CXX"; then - ac_ct_CXX=$CXX - for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC +if test -z "$DUMPBIN"; then + ac_ct_DUMPBIN=$DUMPBIN + for ac_prog in dumpbin "link -dump" do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then : +if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then : $as_echo_n "(cached) " >&6 else - if test -n "$ac_ct_CXX"; then - ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. + if test -n "$ac_ct_DUMPBIN"; then + ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH @@ -6342,8 +4068,8 @@ 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_CXX="$ac_prog" + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -6353,21 +4079,21 @@ IFS=$as_save_IFS fi fi -ac_ct_CXX=$ac_cv_prog_ac_ct_CXX -if test -n "$ac_ct_CXX"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 -$as_echo "$ac_ct_CXX" >&6; } +ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN +if test -n "$ac_ct_DUMPBIN"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 +$as_echo "$ac_ct_DUMPBIN" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - test -n "$ac_ct_CXX" && break + test -n "$ac_ct_DUMPBIN" && break done - if test "x$ac_ct_CXX" = x; then - CXX="g++" + if test "x$ac_ct_DUMPBIN" = x; then + DUMPBIN=":" else case $cross_compiling:$ac_tool_warned in yes:) @@ -6375,410 +4101,53 @@ yes:) $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac - CXX=$ac_ct_CXX + DUMPBIN=$ac_ct_DUMPBIN fi fi - fi -fi -# Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 -$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } -if test "${ac_cv_cxx_compiler_gnu+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_compiler_gnu=yes -else - ac_compiler_gnu=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_cxx_compiler_gnu=$ac_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 -$as_echo "$ac_cv_cxx_compiler_gnu" >&6; } -if test $ac_compiler_gnu = yes; then - GXX=yes -else - GXX= -fi -ac_test_CXXFLAGS=${CXXFLAGS+set} -ac_save_CXXFLAGS=$CXXFLAGS -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 -$as_echo_n "checking whether $CXX accepts -g... " >&6; } -if test "${ac_cv_prog_cxx_g+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_save_cxx_werror_flag=$ac_cxx_werror_flag - ac_cxx_werror_flag=yes - ac_cv_prog_cxx_g=no - CXXFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_cv_prog_cxx_g=yes -else - CXXFLAGS="" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - -else - ac_cxx_werror_flag=$ac_save_cxx_werror_flag - CXXFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_cxx_try_compile "$LINENO"; then : - ac_cv_prog_cxx_g=yes -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_cxx_werror_flag=$ac_save_cxx_werror_flag -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 -$as_echo "$ac_cv_prog_cxx_g" >&6; } -if test "$ac_test_CXXFLAGS" = set; then - CXXFLAGS=$ac_save_CXXFLAGS -elif test $ac_cv_prog_cxx_g = yes; then - if test "$GXX" = yes; then - CXXFLAGS="-g -O2" - else - CXXFLAGS="-g" - fi -else - if test "$GXX" = yes; then - CXXFLAGS="-O2" - else - CXXFLAGS= - fi -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 - -depcc="$CXX" am_compiler_list= - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 -$as_echo_n "checking dependency style of $depcc... " >&6; } -if test "${am_cv_CXX_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_CXX_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 + case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in + *COFF*) + DUMPBIN="$DUMPBIN -symbols -headers" ;; - 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 + *) + DUMPBIN=: ;; - 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_CXX_dependencies_compiler_type=$depmode - break - fi - fi - done + fi - cd .. - rm -rf conftest.dir -else - am_cv_CXX_dependencies_compiler_type=none -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5 -$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; } -CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type - - if - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then - am__fastdepCXX_TRUE= - am__fastdepCXX_FALSE='#' -else - am__fastdepCXX_TRUE='#' - am__fastdepCXX_FALSE= + if test : != "$DUMPBIN"; then + NM=$DUMPBIN + fi fi +test -z "$NM" && NM=nm -if test "x$CC" != xcc; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5 -$as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5 -$as_echo_n "checking whether cc understands -c and -o together... " >&6; } -fi -set dummy $CC; ac_cc=`$as_echo "$2" | - sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` -if { as_var=ac_cv_prog_cc_${ac_cc}_c_o; eval "test \"\${$as_var+set}\" = set"; }; then : + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 +$as_echo_n "checking the name lister ($NM) interface... " >&6; } +if ${lt_cv_nm_interface+:} false; then : $as_echo_n "(cached) " >&6 else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -# Make sure it works both with $CC and with simple cc. -# We do the test twice because some compilers refuse to overwrite an -# existing .o file with -o, though they will create one. -ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5' -rm -f conftest2.* -if { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && - test -f conftest2.$ac_objext && { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; -then - eval ac_cv_prog_cc_${ac_cc}_c_o=yes - if test "x$CC" != xcc; then - # Test first that cc exists at all. - if { ac_try='cc -c conftest.$ac_ext >&5' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then - ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5' - rm -f conftest2.* - if { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && - test -f conftest2.$ac_objext && { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; - then - # cc works too. - : - else - # cc exists but doesn't like -o. - eval ac_cv_prog_cc_${ac_cc}_c_o=no - fi - fi + lt_cv_nm_interface="BSD nm" + echo "int some_variable = 0;" > conftest.$ac_ext + (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5) + (eval "$ac_compile" 2>conftest.err) + cat conftest.err >&5 + (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5) + (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) + cat conftest.err >&5 + (eval echo "\"\$as_me:$LINENO: output\"" >&5) + cat conftest.out >&5 + if $GREP 'External.*some_variable' conftest.out > /dev/null; then + lt_cv_nm_interface="MS dumpbin" fi -else - eval ac_cv_prog_cc_${ac_cc}_c_o=no + rm -f conftest* fi -rm -f core conftest* - -fi -if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - -$as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h - -fi - -# FIXME: we rely on the cache variable name because -# there is no other way. -set dummy $CC -am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` -eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o -if test "$am_t" != yes; then - # Losing compiler, so override with the script. - # FIXME: It is wrong to rewrite CC. - # But if we don't then we get into trouble of one sort or another. - # A longer-term fix would be to have automake use am__CC in this case, - # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" - CC="$am_aux_dir/compile $CC" -fi - +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 +$as_echo "$lt_cv_nm_interface" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 $as_echo_n "checking whether ln -s works... " >&6; } @@ -6791,12 +4160,1060 @@ else $as_echo "no, using $LN_S" >&6; } fi +# find the maximum length of command line arguments +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 +$as_echo_n "checking the maximum length of command line arguments... " >&6; } +if ${lt_cv_sys_max_cmd_len+:} false; 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; + ;; + + mint*) + # On MiNT this can take a long time and run out of memory. + lt_cv_sys_max_cmd_len=8192; + ;; + + amigaos*) + # On AmigaOS with pdksh, this test takes hours, literally. + # So we just punt and use a minimum line length of 8192. + lt_cv_sys_max_cmd_len=8192; + ;; + + bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*) + # 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 + ;; + + os2*) + # The test takes a long time on OS/2. + lt_cv_sys_max_cmd_len=8192 + ;; + + 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" && \ + test undefined != "$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`env echo "$teststring$teststring" 2>/dev/null` \ + = "X$teststring$teststring"; } >/dev/null 2>&1 && + test 17 != "$i" # 1/2 MB should be enough + do + i=`expr $i + 1` + teststring=$teststring$teststring + done + # Only check the string length outside the loop. + lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` + teststring= + # Add a significant safety factor because C++ compilers can tack on + # massive amounts of additional arguments before passing them to the + # linker. It appears as though 1/2 is a usable value. + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` + fi + ;; + esac + +fi + +if test -n "$lt_cv_sys_max_cmd_len"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 +$as_echo "$lt_cv_sys_max_cmd_len" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 +$as_echo "none" >&6; } +fi +max_cmd_len=$lt_cv_sys_max_cmd_len + + + + + + +: ${CP="cp -f"} +: ${MV="mv -f"} +: ${RM="rm -f"} + +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + lt_unset=unset +else + lt_unset=false +fi + + + + + +# test EBCDIC or ASCII +case `echo X|tr X '\101'` in + A) # ASCII based system + # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr + lt_SP2NL='tr \040 \012' + lt_NL2SP='tr \015\012 \040\040' + ;; + *) # EBCDIC based system + lt_SP2NL='tr \100 \n' + lt_NL2SP='tr \r\n \100\100' + ;; +esac + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 +$as_echo_n "checking how to convert $build file names to $host format... " >&6; } +if ${lt_cv_to_host_file_cmd+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $host in + *-*-mingw* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 + ;; + *-*-cygwin* ) + lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 + ;; + * ) # otherwise, assume *nix + lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 + ;; + esac + ;; + *-*-cygwin* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin + ;; + *-*-cygwin* ) + lt_cv_to_host_file_cmd=func_convert_file_noop + ;; + * ) # otherwise, assume *nix + lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin + ;; + esac + ;; + * ) # unhandled hosts (and "normal" native builds) + lt_cv_to_host_file_cmd=func_convert_file_noop + ;; +esac + +fi + +to_host_file_cmd=$lt_cv_to_host_file_cmd +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 +$as_echo "$lt_cv_to_host_file_cmd" >&6; } + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 +$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; } +if ${lt_cv_to_tool_file_cmd+:} false; then : + $as_echo_n "(cached) " >&6 +else + #assume ordinary cross tools, or native build. +lt_cv_to_tool_file_cmd=func_convert_file_noop +case $host in + *-*-mingw* ) + case $build in + *-*-mingw* ) # actually msys + lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 + ;; + esac + ;; +esac + +fi + +to_tool_file_cmd=$lt_cv_to_tool_file_cmd +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 +$as_echo "$lt_cv_to_tool_file_cmd" >&6; } + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 +$as_echo_n "checking for $LD option to reload object files... " >&6; } +if ${lt_cv_ld_reload_flag+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_ld_reload_flag='-r' +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 +$as_echo "$lt_cv_ld_reload_flag" >&6; } +reload_flag=$lt_cv_ld_reload_flag +case $reload_flag in +"" | " "*) ;; +*) reload_flag=" $reload_flag" ;; +esac +reload_cmds='$LD$reload_flag -o $output$reload_objs' +case $host_os in + cygwin* | mingw* | pw32* | cegcc*) + if test yes != "$GCC"; then + reload_cmds=false + fi + ;; + darwin*) + if test yes = "$GCC"; then + reload_cmds='$LTCC $LTCFLAGS -nostdlib $wl-r -o $output$reload_objs' + else + reload_cmds='$LD$reload_flag -o $output$reload_objs' + fi + ;; +esac + + + + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. +set dummy ${ac_tool_prefix}objdump; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_OBJDUMP+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +OBJDUMP=$ac_cv_prog_OBJDUMP +if test -n "$OBJDUMP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 +$as_echo "$OBJDUMP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OBJDUMP"; then + ac_ct_OBJDUMP=$OBJDUMP + # Extract the first word of "objdump", so it can be a program name with args. +set dummy objdump; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OBJDUMP="objdump" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP +if test -n "$ac_ct_OBJDUMP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 +$as_echo "$ac_ct_OBJDUMP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_OBJDUMP" = x; then + OBJDUMP="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + OBJDUMP=$ac_ct_OBJDUMP + fi +else + OBJDUMP="$ac_cv_prog_OBJDUMP" +fi + +test -z "$OBJDUMP" && OBJDUMP=objdump + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 +$as_echo_n "checking how to recognize dependent libraries... " >&6; } +if ${lt_cv_deplibs_check_method+:} false; 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 +# that 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 + # Keep this pattern in sync with the one in func_win32_libid. + lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' + lt_cv_file_magic_cmd='$OBJDUMP -f' + fi + ;; + +cegcc*) + # 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 + ;; + +haiku*) + 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])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]' + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl + ;; + *) + lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library' + lt_cv_file_magic_test_file=/usr/lib/libc.sl + ;; + esac + ;; + +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 glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + lt_cv_deplibs_check_method=pass_all + ;; + +netbsd* | netbsdelf*-gnu) + 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* | bitrig*) + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; 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 + ;; +os2*) + lt_cv_deplibs_check_method=pass_all + ;; +esac + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 +$as_echo "$lt_cv_deplibs_check_method" >&6; } + +file_magic_glob= +want_nocaseglob=no +if test "$build" = "$host"; then + case $host_os in + mingw* | pw32*) + if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then + want_nocaseglob=yes + else + file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"` + fi + ;; + esac +fi + +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}dlltool", so it can be a program name with args. +set dummy ${ac_tool_prefix}dlltool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_DLLTOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$DLLTOOL"; then + ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +DLLTOOL=$ac_cv_prog_DLLTOOL +if test -n "$DLLTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 +$as_echo "$DLLTOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_DLLTOOL"; then + ac_ct_DLLTOOL=$DLLTOOL + # Extract the first word of "dlltool", so it can be a program name with args. +set dummy dlltool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_DLLTOOL"; then + ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DLLTOOL="dlltool" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL +if test -n "$ac_ct_DLLTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 +$as_echo "$ac_ct_DLLTOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_DLLTOOL" = x; then + DLLTOOL="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + DLLTOOL=$ac_ct_DLLTOOL + fi +else + DLLTOOL="$ac_cv_prog_DLLTOOL" +fi + +test -z "$DLLTOOL" && DLLTOOL=dlltool + + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 +$as_echo_n "checking how to associate runtime and link libraries... " >&6; } +if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_sharedlib_from_linklib_cmd='unknown' + +case $host_os in +cygwin* | mingw* | pw32* | cegcc*) + # two different shell functions defined in ltmain.sh; + # decide which one to use based on capabilities of $DLLTOOL + case `$DLLTOOL --help 2>&1` in + *--identify-strict*) + lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib + ;; + *) + lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback + ;; + esac + ;; +*) + # fallback: assume linklib IS sharedlib + lt_cv_sharedlib_from_linklib_cmd=$ECHO + ;; +esac + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 +$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; } +sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd +test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO + + + + + + + + +if test -n "$ac_tool_prefix"; then + for ac_prog in ar + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_AR+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_AR="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +AR=$ac_cv_prog_AR +if test -n "$AR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 +$as_echo "$AR" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$AR" && break + done +fi +if test -z "$AR"; then + ac_ct_AR=$AR + for ac_prog in ar +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_AR+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_AR="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_AR=$ac_cv_prog_ac_ct_AR +if test -n "$ac_ct_AR"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 +$as_echo "$ac_ct_AR" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_AR" && break +done + + if test "x$ac_ct_AR" = x; then + AR="false" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + AR=$ac_ct_AR + fi +fi + +: ${AR=ar} +: ${AR_FLAGS=cru} + + + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 +$as_echo_n "checking for archiver @FILE support... " >&6; } +if ${lt_cv_ar_at_file+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_ar_at_file=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + echo conftest.$ac_objext > conftest.lst + lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 + (eval $lt_ar_try) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if test 0 -eq "$ac_status"; then + # Ensure the archiver fails upon bogus file names. + rm -f conftest.$ac_objext libconftest.a + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 + (eval $lt_ar_try) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if test 0 -ne "$ac_status"; then + lt_cv_ar_at_file=@ + fi + fi + rm -f conftest.* libconftest.a + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 +$as_echo "$lt_cv_ar_at_file" >&6; } + +if test no = "$lt_cv_ar_at_file"; then + archiver_list_spec= +else + archiver_list_spec=$lt_cv_ar_at_file +fi + + + + + + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. +set dummy ${ac_tool_prefix}strip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_STRIP+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 +$as_echo "$STRIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_STRIP+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_STRIP="strip" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 +$as_echo "$ac_ct_STRIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +test -z "$STRIP" && STRIP=: + + + + + + if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_RANLIB+set}" = set; then : +if ${ac_cv_prog_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$RANLIB"; then @@ -6808,7 +5225,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -6836,7 +5253,7 @@ if test -z "$ac_cv_prog_RANLIB"; then set dummy ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then : +if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_RANLIB"; then @@ -6848,7 +5265,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_RANLIB="ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -6882,6 +5299,57 @@ esac 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 + bitrig* | openbsd*) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" + ;; + *) + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" + ;; + esac + old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" +fi + +case $host_os in + darwin*) + lock_old_archive_extraction=yes ;; + *) + lock_old_archive_extraction=no ;; +esac + + + + + + + + + + + + + + + + + + + + for ac_prog in gawk mawk nawk awk do @@ -6889,7 +5357,7 @@ do set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_AWK+set}" = set; then : +if ${ac_cv_prog_AWK+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$AWK"; then @@ -6901,7 +5369,7 @@ 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_AWK="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -6927,154 +5395,749 @@ done -# Extract the first word of "bison", so it can be a program name with args. -set dummy bison; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_BISON+set}" = set; then : + + + + + + + + + + + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + + +# Check for command to grab the raw symbol name followed by C symbol from nm. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 +$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } +if ${lt_cv_sys_global_symbol_pipe+:} false; then : $as_echo_n "(cached) " >&6 else - case $BISON in - [\\/]* | ?:[\\/]*) - ac_cv_path_BISON="$BISON" # 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_BISON="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - test -z "$ac_cv_path_BISON" && ac_cv_path_BISON="bison" +# 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 ia64 = "$host_cpu"; 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 -fi -BISON=$ac_cv_path_BISON -if test -n "$BISON"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BISON" >&5 -$as_echo "$BISON" >&6; } + +# If we're using GNU nm, then use its standard symbol codes. +case `$NM -V 2>&1` in +*GNU* | *'with BFD'*) + symcode='[ABCDGIRSTW]' ;; +esac + +if test "$lt_cv_nm_interface" = "MS dumpbin"; then + # Gets list of data symbols to import. + lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'" + # Adjust the below global symbol transforms to fixup imported variables. + lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'" + lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'" + lt_c_name_lib_hook="\ + -e 's/^I .* \(lib.*\)$/ {\"\1\", (void *) 0},/p'\ + -e 's/^I .* \(.*\)$/ {\"lib\1\", (void *) 0},/p'" else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + # Disable hooks by default. + lt_cv_sys_global_symbol_to_import= + lt_cdecl_hook= + lt_c_name_hook= + lt_c_name_lib_hook= fi +# 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"\ +$lt_cdecl_hook\ +" -e 's/^T .* \(.*\)$/extern int \1();/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'" -# Extract the first word of "help2man", so it can be a program name with args. -set dummy help2man; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_HELP2MAN+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - case $HELP2MAN in - [\\/]* | ?:[\\/]*) - ac_cv_path_HELP2MAN="$HELP2MAN" # 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_HELP2MAN="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS +# Transform an extracted symbol line into symbol name and symbol address +lt_cv_sys_global_symbol_to_c_name_address="sed -n"\ +$lt_c_name_hook\ +" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'" - test -z "$ac_cv_path_HELP2MAN" && ac_cv_path_HELP2MAN="help2man" +# Transform an extracted symbol line into symbol name with lib prefix and +# symbol address. +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\ +$lt_c_name_lib_hook\ +" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\ +" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\ +" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"lib\1\", (void *) \&\1},/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, + # D for any global variable and I for any imported 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};"\ +" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ +" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ +" /^ *Symbol name *: /{split(\$ 0,sn,\":\"); si=substr(sn[2],2)};"\ +" /^ *Type *: code/{print \"T\",si,substr(si,length(prfx))};"\ +" /^ *Type *: data/{print \"I\",si,substr(si,length(prfx))};"\ +" \$ 0!~/External *\|/{next};"\ +" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ +" {if(hide[section]) next};"\ +" {f=\"D\"}; \$ 0~/\(\).*\|/{f=\"T\"};"\ +" {split(\$ 0,a,/\||\r/); split(a[2],s)};"\ +" s[1]~/^[@?]/{print f,s[1],s[1]; next};"\ +" s[1]~prfx {split(s[1],t,\"@\"); print f,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 + lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" + + # Check to see that the pipe works correctly. + pipe_works=no + + rm -f conftest* + cat > conftest.$ac_ext <<_LT_EOF +#ifdef __cplusplus +extern "C" { +#endif +char nm_test_var; +void nm_test_func(void); +void nm_test_func(void){} +#ifdef __cplusplus +} +#endif +int main(){nm_test_var='a';nm_test_func();return(0);} +_LT_EOF + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + # Now try to grab the symbols. + nlist=conftest.nm + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5 + (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s "$nlist"; then + # Try sorting and uniquifying the output. + if sort "$nlist" | uniq > "$nlist"T; then + mv -f "$nlist"T "$nlist" + else + rm -f "$nlist"T + fi + + # Make sure that we snagged all the symbols we need. + if $GREP ' nm_test_var$' "$nlist" >/dev/null; then + if $GREP ' nm_test_func$' "$nlist" >/dev/null; then + cat <<_LT_EOF > conftest.$ac_ext +/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ +#if defined _WIN32 || defined __CYGWIN__ || defined _WIN32_WCE +/* DATA imports from DLLs on WIN32 can't be const, because runtime + relocations are performed -- see ld's documentation on pseudo-relocs. */ +# define LT_DLSYM_CONST +#elif defined __osf__ +/* This system does not cope well with relocations in const data. */ +# define LT_DLSYM_CONST +#else +# define LT_DLSYM_CONST const +#endif + +#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. */ +LT_DLSYM_CONST struct { + const char *name; + void *address; +} +lt__PROGRAM__LTX_preloaded_symbols[] = +{ + { "@PROGRAM@", (void *) 0 }, +_LT_EOF + $SED "s/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/" < "$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_globsym_save_LIBS=$LIBS + lt_globsym_save_CFLAGS=$CFLAGS + LIBS=conftstm.$ac_objext + CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s conftest$ac_exeext; then + pipe_works=yes + fi + LIBS=$lt_globsym_save_LIBS + CFLAGS=$lt_globsym_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 yes = "$pipe_works"; then + break + else + lt_cv_sys_global_symbol_pipe= + fi +done + fi -HELP2MAN=$ac_cv_path_HELP2MAN -if test -n "$HELP2MAN"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $HELP2MAN" >&5 -$as_echo "$HELP2MAN" >&6; } + +if test -z "$lt_cv_sys_global_symbol_pipe"; then + lt_cv_sys_global_symbol_to_cdecl= +fi +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 +$as_echo "failed" >&6; } else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 +$as_echo "ok" >&6; } +fi + +# Response file support. +if test "$lt_cv_nm_interface" = "MS dumpbin"; then + nm_file_list_spec='@' +elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then + nm_file_list_spec='@' fi -# Check for a m4 that supports -P -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for m4 that supports -P" >&5 -$as_echo_n "checking for m4 that supports -P... " >&6; } -if test "${ac_cv_path_M4+set}" = set; then : + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 +$as_echo_n "checking for sysroot... " >&6; } + +# Check whether --with-sysroot was given. +if test "${with_sysroot+set}" = set; then : + withval=$with_sysroot; +else + with_sysroot=no +fi + + +lt_sysroot= +case $with_sysroot in #( + yes) + if test yes = "$GCC"; then + lt_sysroot=`$CC --print-sysroot 2>/dev/null` + fi + ;; #( + /*) + lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` + ;; #( + no|'') + ;; #( + *) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_sysroot" >&5 +$as_echo "$with_sysroot" >&6; } + as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5 + ;; +esac + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 +$as_echo "${lt_sysroot:-no}" >&6; } + + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a working dd" >&5 +$as_echo_n "checking for a working dd... " >&6; } +if ${ac_cv_path_lt_DD+:} false; then : $as_echo_n "(cached) " >&6 else - if test -z "$M4"; then - ac_path_M4_found=false + printf 0123456789abcdef0123456789abcdef >conftest.i +cat conftest.i conftest.i >conftest2.i +: ${lt_DD:=$DD} +if test -z "$lt_DD"; then + ac_path_lt_DD_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 gm4 gnum4 m4; do + for ac_prog in dd; do for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_M4="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_M4" && $as_test_x "$ac_path_M4"; } || continue -m4out=`echo 'm''4_divnum' | $ac_path_M4 -P` - test "x$m4out" = x0 \ - && ac_cv_path_M4=$ac_path_M4 ac_path_M4_found=: - $ac_path_M4_found && break 3 + ac_path_lt_DD="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_lt_DD" || continue +if "$ac_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then + cmp -s conftest.i conftest.out \ + && ac_cv_path_lt_DD="$ac_path_lt_DD" ac_path_lt_DD_found=: +fi + $ac_path_lt_DD_found && break 3 done done done IFS=$as_save_IFS - if test -z "$ac_cv_path_M4"; then - as_fn_error "could not find m4 that supports -P" "$LINENO" 5 + if test -z "$ac_cv_path_lt_DD"; then + : fi else - ac_cv_path_M4=$M4 + ac_cv_path_lt_DD=$lt_DD fi +rm -f conftest.i conftest2.i conftest.out fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_M4" >&5 -$as_echo "$ac_cv_path_M4" >&6; } -M4=$ac_cv_path_M4 +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_lt_DD" >&5 +$as_echo "$ac_cv_path_lt_DD" >&6; } -cat >>confdefs.h <<_ACEOF -#define M4 "$M4" -_ACEOF - - -# Extract the first word of "indent", so it can be a program name with args. -set dummy indent; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_path_INDENT+set}" = set; then : +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to truncate binary pipes" >&5 +$as_echo_n "checking how to truncate binary pipes... " >&6; } +if ${lt_cv_truncate_bin+:} false; then : $as_echo_n "(cached) " >&6 else - case $INDENT in - [\\/]* | ?:[\\/]*) - ac_cv_path_INDENT="$INDENT" # Let the user override the test with a path. + printf 0123456789abcdef0123456789abcdef >conftest.i +cat conftest.i conftest.i >conftest2.i +lt_cv_truncate_bin= +if "$ac_cv_path_lt_DD" bs=32 count=1 conftest.out 2>/dev/null; then + cmp -s conftest.i conftest.out \ + && lt_cv_truncate_bin="$ac_cv_path_lt_DD bs=4096 count=1" +fi +rm -f conftest.i conftest2.i conftest.out +test -z "$lt_cv_truncate_bin" && lt_cv_truncate_bin="$SED -e 4q" +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_truncate_bin" >&5 +$as_echo "$lt_cv_truncate_bin" >&6; } + + + + + + + +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +func_cc_basename () +{ + for cc_temp in $*""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac + done + func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` +} + +# Check whether --enable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then : + enableval=$enable_libtool_lock; +fi + +test no = "$enable_libtool_lock" || 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 what ABI is being produced by ac_compile, and set mode + # options accordingly. + echo 'int i;' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `/usr/bin/file conftest.$ac_objext` in + *ELF-32*) + HPUX_IA64_MODE=32 + ;; + *ELF-64*) + HPUX_IA64_MODE=64 + ;; + esac + fi + rm -rf conftest* ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +*-*-irix6*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. + echo '#line '$LINENO' "configure"' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + if test yes = "$lt_cv_prog_gnu_ld"; 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* + ;; + +mips64*-*linux*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. + echo '#line '$LINENO' "configure"' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + emul=elf + case `/usr/bin/file conftest.$ac_objext` in + *32-bit*) + emul="${emul}32" + ;; + *64-bit*) + emul="${emul}64" + ;; + esac + case `/usr/bin/file conftest.$ac_objext` in + *MSB*) + emul="${emul}btsmip" + ;; + *LSB*) + emul="${emul}ltsmip" + ;; + esac + case `/usr/bin/file conftest.$ac_objext` in + *N32*) + emul="${emul}n32" + ;; + esac + LD="${LD-ld} -m $emul" + fi + rm -rf conftest* + ;; + +x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ +s390*-*linux*|s390*-*tpf*|sparc*-*linux*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. Note that the listed cases only cover the + # situations where additional linker options are needed (such as when + # doing 32-bit compilation for a host where ld defaults to 64-bit, or + # vice versa); the common cases where no linker options are needed do + # not appear in the list. + echo 'int i;' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `/usr/bin/file conftest.o` in + *32-bit*) + case $host in + x86_64-*kfreebsd*-gnu) + LD="${LD-ld} -m elf_i386_fbsd" + ;; + x86_64-*linux*) + case `/usr/bin/file conftest.o` in + *x86-64*) + LD="${LD-ld} -m elf32_x86_64" + ;; + *) + LD="${LD-ld} -m elf_i386" + ;; + esac + ;; + powerpc64le-*linux*) + LD="${LD-ld} -m elf32lppclinux" + ;; + 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" + ;; + powerpcle-*linux*) + LD="${LD-ld} -m elf64lppc" + ;; + powerpc-*linux*) + LD="${LD-ld} -m elf64ppc" + ;; + s390*-*linux*|s390*-*tpf*) + LD="${LD-ld} -m elf64_s390" + ;; + sparc*-*linux*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + +*-*-sco3.2v5*) + # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS -belf" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 +$as_echo_n "checking whether the C compiler needs -belf... " >&6; } +if ${lt_cv_cc_needs_belf+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + lt_cv_cc_needs_belf=yes +else + lt_cv_cc_needs_belf=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 +$as_echo "$lt_cv_cc_needs_belf" >&6; } + if test yes != "$lt_cv_cc_needs_belf"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS=$SAVE_CFLAGS + fi + ;; +*-*solaris*) + # Find out what ABI is being produced by ac_compile, and set linker + # options accordingly. + echo 'int i;' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) + case $host in + i?86-*-solaris*|x86_64-*-solaris*) + LD="${LD-ld} -m elf_x86_64" + ;; + sparc*-*-solaris*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + # GNU ld 2.21 introduced _sol2 emulations. Use them if available. + if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then + LD=${LD-ld}_sol2 + fi + ;; + *) + 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 + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args. +set dummy ${ac_tool_prefix}mt; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_MANIFEST_TOOL+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$MANIFEST_TOOL"; then + ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # 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_path_INDENT="$as_dir/$ac_word$ac_exec_ext" + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -7082,39 +6145,758 @@ done done IFS=$as_save_IFS - test -z "$ac_cv_path_INDENT" && ac_cv_path_INDENT="indent" - ;; -esac fi -INDENT=$ac_cv_path_INDENT -if test -n "$INDENT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INDENT" >&5 -$as_echo "$INDENT" >&6; } +fi +MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL +if test -n "$MANIFEST_TOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 +$as_echo "$MANIFEST_TOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi -# if INDENT is set to 'indent' then we didn't find indent -if test "$INDENT" != indent ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $INDENT is GNU indent" >&5 -$as_echo_n "checking if $INDENT is GNU indent... " >&6; } - if $INDENT --version 2>/dev/null | head -n 1|grep "GNU indent" > /dev/null ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $INDENT does not appear to be GNU indent." >&5 -$as_echo "$as_me: WARNING: $INDENT does not appear to be GNU indent." >&2;} - fi +fi +if test -z "$ac_cv_prog_MANIFEST_TOOL"; then + ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL + # Extract the first word of "mt", so it can be a program name with args. +set dummy mt; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then : + $as_echo_n "(cached) " >&6 else - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: no indent program found: make indent target will not function" >&5 -$as_echo "$as_me: WARNING: no indent program found: make indent target will not function" >&2;} + if test -n "$ac_ct_MANIFEST_TOOL"; then + ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_MANIFEST_TOOL="mt" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL +if test -n "$ac_ct_MANIFEST_TOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 +$as_echo "$ac_ct_MANIFEST_TOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -# checks for headers + if test "x$ac_ct_MANIFEST_TOOL" = x; then + MANIFEST_TOOL=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL + fi +else + MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL" +fi + +test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 +$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } +if ${lt_cv_path_mainfest_tool+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_path_mainfest_tool=no + echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 + $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out + cat conftest.err >&5 + if $GREP 'Manifest Tool' conftest.out > /dev/null; then + lt_cv_path_mainfest_tool=yes + fi + rm -f conftest* +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 +$as_echo "$lt_cv_path_mainfest_tool" >&6; } +if test yes != "$lt_cv_path_mainfest_tool"; then + MANIFEST_TOOL=: +fi + + + + + + + case $host_os in + rhapsody* | darwin*) + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. +set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_DSYMUTIL+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +DSYMUTIL=$ac_cv_prog_DSYMUTIL +if test -n "$DSYMUTIL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 +$as_echo "$DSYMUTIL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_DSYMUTIL"; then + ac_ct_DSYMUTIL=$DSYMUTIL + # Extract the first word of "dsymutil", so it can be a program name with args. +set dummy dsymutil; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$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:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 +$as_echo "$ac_ct_DSYMUTIL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_DSYMUTIL" = x; then + DSYMUTIL=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + DSYMUTIL=$ac_ct_DSYMUTIL + fi +else + DSYMUTIL="$ac_cv_prog_DSYMUTIL" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. +set dummy ${ac_tool_prefix}nmedit; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_NMEDIT+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +NMEDIT=$ac_cv_prog_NMEDIT +if test -n "$NMEDIT"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 +$as_echo "$NMEDIT" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_NMEDIT"; then + ac_ct_NMEDIT=$NMEDIT + # Extract the first word of "nmedit", so it can be a program name with args. +set dummy nmedit; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_NMEDIT+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_NMEDIT="nmedit" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT +if test -n "$ac_ct_NMEDIT"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 +$as_echo "$ac_ct_NMEDIT" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_NMEDIT" = x; then + NMEDIT=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + NMEDIT=$ac_ct_NMEDIT + fi +else + NMEDIT="$ac_cv_prog_NMEDIT" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. +set dummy ${ac_tool_prefix}lipo; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_LIPO+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_LIPO="${ac_tool_prefix}lipo" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +LIPO=$ac_cv_prog_LIPO +if test -n "$LIPO"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 +$as_echo "$LIPO" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_LIPO"; then + ac_ct_LIPO=$LIPO + # Extract the first word of "lipo", so it can be a program name with args. +set dummy lipo; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_LIPO+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_LIPO="lipo" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO +if test -n "$ac_ct_LIPO"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 +$as_echo "$ac_ct_LIPO" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_LIPO" = x; then + LIPO=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + LIPO=$ac_ct_LIPO + fi +else + LIPO="$ac_cv_prog_LIPO" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. +set dummy ${ac_tool_prefix}otool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_OTOOL+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_OTOOL="${ac_tool_prefix}otool" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +OTOOL=$ac_cv_prog_OTOOL +if test -n "$OTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 +$as_echo "$OTOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OTOOL"; then + ac_ct_OTOOL=$OTOOL + # Extract the first word of "otool", so it can be a program name with args. +set dummy otool; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_OTOOL+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OTOOL="otool" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL +if test -n "$ac_ct_OTOOL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 +$as_echo "$ac_ct_OTOOL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_OTOOL" = x; then + OTOOL=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + OTOOL=$ac_ct_OTOOL + fi +else + OTOOL="$ac_cv_prog_OTOOL" +fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. +set dummy ${ac_tool_prefix}otool64; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_OTOOL64+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +OTOOL64=$ac_cv_prog_OTOOL64 +if test -n "$OTOOL64"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 +$as_echo "$OTOOL64" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_OTOOL64"; then + ac_ct_OTOOL64=$OTOOL64 + # Extract the first word of "otool64", so it can be a program name with args. +set dummy otool64; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_OTOOL64+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_OTOOL64="otool64" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 +if test -n "$ac_ct_OTOOL64"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 +$as_echo "$ac_ct_OTOOL64" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_OTOOL64" = x; then + OTOOL64=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + OTOOL64=$ac_ct_OTOOL64 + fi +else + OTOOL64="$ac_cv_prog_OTOOL64" +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 +$as_echo_n "checking for -single_module linker flag... " >&6; } +if ${lt_cv_apple_cc_single_mod+:} false; 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 there is a non-empty error log, and "single_module" + # appears in it, assume the flag caused a linker warning + if test -s conftest.err && $GREP single_module conftest.err; then + cat conftest.err >&5 + # Otherwise, if the output was created with a 0 exit code from + # the compiler, it worked. + elif test -f libconftest.dylib && test 0 = "$_lt_result"; then + lt_cv_apple_cc_single_mod=yes + else + cat conftest.err >&5 + fi + rm -rf libconftest.dylib* + rm -f conftest.* + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 +$as_echo "$lt_cv_apple_cc_single_mod" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 +$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } +if ${lt_cv_ld_exported_symbols_list+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_ld_exported_symbols_list=no + save_LDFLAGS=$LDFLAGS + echo "_main" > conftest.sym + LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + lt_cv_ld_exported_symbols_list=yes +else + lt_cv_ld_exported_symbols_list=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 +$as_echo "$lt_cv_ld_exported_symbols_list" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 +$as_echo_n "checking for -force_load linker flag... " >&6; } +if ${lt_cv_ld_force_load+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_ld_force_load=no + cat > conftest.c << _LT_EOF +int forced_loaded() { return 2;} +_LT_EOF + echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 + $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 + echo "$AR cru libconftest.a conftest.o" >&5 + $AR cru libconftest.a conftest.o 2>&5 + echo "$RANLIB libconftest.a" >&5 + $RANLIB libconftest.a 2>&5 + cat > conftest.c << _LT_EOF +int main() { return 0;} +_LT_EOF + echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5 + $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err + _lt_result=$? + if test -s conftest.err && $GREP force_load conftest.err; then + cat conftest.err >&5 + elif test -f conftest && test 0 = "$_lt_result" && $GREP forced_load conftest >/dev/null 2>&1; then + lt_cv_ld_force_load=yes + else + cat conftest.err >&5 + fi + rm -f conftest.err libconftest.a conftest conftest.c + rm -rf conftest.dSYM + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 +$as_echo "$lt_cv_ld_force_load" >&6; } + case $host_os in + rhapsody* | darwin1.[012]) + _lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;; + darwin1.*) + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; + darwin*) # darwin 5.x on + # if running on 10.5 or later, the deployment target defaults + # to the OS version, if on x86, and 10.4, the deployment + # target defaults to 10.4. Don't you love it? + case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in + 10.0,*86*-darwin8*|10.0,*-darwin[91]*) + _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; + 10.[012][,.]*) + _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; + 10.*) + _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; + esac + ;; + esac + if test yes = "$lt_cv_apple_cc_single_mod"; then + _lt_dar_single_mod='$single_module' + fi + if test yes = "$lt_cv_ld_exported_symbols_list"; then + _lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym' + else + _lt_dar_export_syms='~$NMEDIT -s $output_objdir/$libname-symbols.expsym $lib' + fi + if test : != "$DSYMUTIL" && test no = "$lt_cv_ld_force_load"; then + _lt_dsymutil='~$DSYMUTIL $lib || :' + else + _lt_dsymutil= + fi + ;; + esac + +# func_munge_path_list VARIABLE PATH +# ----------------------------------- +# VARIABLE is name of variable containing _space_ separated list of +# directories to be munged by the contents of PATH, which is string +# having a format: +# "DIR[:DIR]:" +# string "DIR[ DIR]" will be prepended to VARIABLE +# ":DIR[:DIR]" +# string "DIR[ DIR]" will be appended to VARIABLE +# "DIRP[:DIRP]::[DIRA:]DIRA" +# string "DIRP[ DIRP]" will be prepended to VARIABLE and string +# "DIRA[ DIRA]" will be appended to VARIABLE +# "DIR[:DIR]" +# VARIABLE will be replaced by "DIR[ DIR]" +func_munge_path_list () +{ + case x$2 in + x) + ;; + *:) + eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\" + ;; + x:*) + eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\" + ;; + *::*) + eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" + eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\" + ;; + *) + eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\" + ;; + esac +} ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -7128,7 +6910,7 @@ if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then - if test "${ac_cv_prog_CPP+set}" = set; then : + if ${ac_cv_prog_CPP+:} false; then : $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded @@ -7158,7 +6940,7 @@ else # Broken: fails on valid input. continue fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. @@ -7174,11 +6956,11 @@ else ac_preproc_ok=: break fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext +rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : break fi @@ -7217,7 +6999,7 @@ else # Broken: fails on valid input. continue fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. @@ -7233,18 +7015,18 @@ else ac_preproc_ok=: break fi -rm -f conftest.err conftest.$ac_ext +rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.err conftest.$ac_ext +rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error "C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details." "$LINENO" 5; } +as_fn_error $? "C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5; } fi ac_ext=c @@ -7254,139 +7036,9 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 -$as_echo_n "checking for grep that handles long lines and -e... " >&6; } -if test "${ac_cv_path_GREP+set}" = set; then : - $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 - as_fn_arith $ac_count + 1 && ac_count=$as_val - 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_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_GREP=$GREP -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 -$as_echo "$ac_cv_path_GREP" >&6; } - GREP="$ac_cv_path_GREP" - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 -$as_echo_n "checking for egrep... " >&6; } -if test "${ac_cv_path_EGREP+set}" = set; then : - $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 - as_fn_arith $ac_count + 1 && ac_count=$as_val - 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_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_EGREP=$EGREP -fi - - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 -$as_echo "$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } -if test "${ac_cv_header_stdc+set}" = set; then : +if ${ac_cv_header_stdc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -7496,47 +7148,6 @@ $as_echo "#define STDC_HEADERS 1" >>confdefs.h fi -{ $as_echo "$as_me:${as_lineno-$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 confdefs.h - <<_ACEOF >conftest.$ac_ext -/* 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 -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_sys_wait_h=yes -else - ac_cv_header_sys_wait_h=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_sys_wait_h" >&5 -$as_echo "$ac_cv_header_sys_wait_h" >&6; } -if test $ac_cv_header_sys_wait_h = yes; then - -$as_echo "#define HAVE_SYS_WAIT_H 1" >>confdefs.h - -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 @@ -7544,8 +7155,7 @@ do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default " -eval as_val=\$$as_ac_Header - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -7555,12 +7165,12716 @@ fi done -for ac_header in inttypes.h libintl.h limits.h locale.h malloc.h netinet/in.h regex.h stddef.h stdlib.h string.h strings.h unistd.h +for ac_header in dlfcn.h +do : + ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default +" +if test "x$ac_cv_header_dlfcn_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_DLFCN_H 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; lt_p=${PACKAGE-default} + case $withval in + yes|no) pic_mode=$withval ;; + *) + pic_mode=default + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for lt_pkg in $withval; do + IFS=$lt_save_ifs + if test "X$lt_pkg" = "X$lt_p"; then + pic_mode=yes + fi + done + IFS=$lt_save_ifs + ;; + esac +else + pic_mode=default +fi + + + + + + + + + # Check whether --enable-fast-install was given. +if test "${enable_fast_install+set}" = set; then : + enableval=$enable_fast_install; p=${PACKAGE-default} + case $enableval in + yes) enable_fast_install=yes ;; + no) enable_fast_install=no ;; + *) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR, + for pkg in $enableval; do + IFS=$lt_save_ifs + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS=$lt_save_ifs + ;; + esac +else + enable_fast_install=yes +fi + + + + + + + + + shared_archive_member_spec= +case $host,$enable_shared in +power*-*-aix[5-9]*,yes) + { $as_echo "$as_me:${as_lineno-$LINENO}: checking which variant of shared library versioning to provide" >&5 +$as_echo_n "checking which variant of shared library versioning to provide... " >&6; } + +# Check whether --with-aix-soname was given. +if test "${with_aix_soname+set}" = set; then : + withval=$with_aix_soname; case $withval in + aix|svr4|both) + ;; + *) + as_fn_error $? "Unknown argument to --with-aix-soname" "$LINENO" 5 + ;; + esac + lt_cv_with_aix_soname=$with_aix_soname +else + if ${lt_cv_with_aix_soname+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_with_aix_soname=aix +fi + + with_aix_soname=$lt_cv_with_aix_soname +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_aix_soname" >&5 +$as_echo "$with_aix_soname" >&6; } + if test aix != "$with_aix_soname"; then + # For the AIX way of multilib, we name the shared archive member + # based on the bitwidth used, traditionally 'shr.o' or 'shr_64.o', + # and 'shr.imp' or 'shr_64.imp', respectively, for the Import File. + # Even when GNU compilers ignore OBJECT_MODE but need '-maix64' flag, + # the AIX toolchain works better with OBJECT_MODE set (default 32). + if test 64 = "${OBJECT_MODE-32}"; then + shared_archive_member_spec=shr_64 + else + shared_archive_member_spec=shr + fi + fi + ;; +*) + with_aix_soname=aix + ;; +esac + + + + + + + + + + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS=$ltmain + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +test -z "$LN_S" && LN_S="ln -s" + + + + + + + + + + + + + + +if test -n "${ZSH_VERSION+set}"; then + setopt NO_GLOB_SUBST +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 +$as_echo_n "checking for objdir... " >&6; } +if ${lt_cv_objdir+:} false; then : + $as_echo_n "(cached) " >&6 +else + rm -f .libs 2>/dev/null +mkdir .libs 2>/dev/null +if test -d .libs; then + lt_cv_objdir=.libs +else + # MS-DOS does not allow filenames that begin with a dot. + lt_cv_objdir=_libs +fi +rmdir .libs 2>/dev/null +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 +$as_echo "$lt_cv_objdir" >&6; } +objdir=$lt_cv_objdir + + + + + +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 set != "${COLLECT_NAMES+set}"; then + COLLECT_NAMES= + export COLLECT_NAMES + fi + ;; +esac + +# 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 + +func_cc_basename $compiler +cc_basename=$func_cc_basename_result + + +# Only perform the check for file, if the check method requires it +test -z "$MAGIC_CMD" && MAGIC_CMD=file +case $deplibs_check_method in +file_magic*) + if test "$file_magic_cmd" = '$MAGIC_CMD'; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 +$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } +if ${lt_cv_path_MAGIC_CMD+:} false; 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:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 +$as_echo "$MAGIC_CMD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + + +if test -z "$lt_cv_path_MAGIC_CMD"; then + if test -n "$ac_tool_prefix"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 +$as_echo_n "checking for file... " >&6; } +if ${lt_cv_path_MAGIC_CMD+:} false; 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:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 +$as_echo "$MAGIC_CMD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + else + MAGIC_CMD=: + fi +fi + + fi + ;; +esac + +# Use C for the default configuration in the libtool script + +lt_save_CC=$CC +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +# Source file extension for C test sources. +ac_ext=c + +# Object file extension for compiled C test sources. +objext=o +objext=$objext + +# Code to be used in simple compile tests +lt_simple_compile_test_code="int some_variable = 0;" + +# Code to be used in simple link tests +lt_simple_link_test_code='int main(){return(0);}' + + + + + + + +# If no C compiler was specified, use CC. +LTCC=${LTCC-"$CC"} + +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + +# Allow CC to be a program name with arguments. +compiler=$CC + +# Save the default compiler, since it gets overwritten when the other +# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. +compiler_DEFAULT=$CC + +# save warnings/boilerplate of simple test code +ac_outfile=conftest.$ac_objext +echo "$lt_simple_compile_test_code" >conftest.$ac_ext +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_compiler_boilerplate=`cat conftest.err` +$RM conftest* + +ac_outfile=conftest.$ac_objext +echo "$lt_simple_link_test_code" >conftest.$ac_ext +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +_lt_linker_boilerplate=`cat conftest.err` +$RM -r conftest* + + +## CAVEAT EMPTOR: +## There is no encapsulation within the following macros, do not change +## the running order or otherwise move them around unless you know exactly +## what you are doing... +if test -n "$compiler"; then + +lt_prog_compiler_no_builtin_flag= + +if test yes = "$GCC"; then + case $cc_basename in + nvcc*) + lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;; + *) + lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;; + esac + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 +$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } +if ${lt_cv_prog_compiler_rtti_exceptions+:} false; 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" ## exclude from sc_useless_quotes_in_assignment + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_rtti_exceptions=yes + fi + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 +$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } + +if test yes = "$lt_cv_prog_compiler_rtti_exceptions"; 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= + + + if test yes = "$GCC"; then + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_static='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + fi + lt_prog_compiler_pic='-fPIC' + ;; + + 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' + case $host_os in + os2*) + lt_prog_compiler_static='$wl-static' + ;; + esac + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + ;; + + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + lt_prog_compiler_static= + ;; + + hpux*) + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag + # sets the default TLS model and affects inlining. + case $host_cpu in + hppa*64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + ;; + + interix[3-9]*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + + msdosdjgpp*) + # Just because we use GCC doesn't mean we suddenly get shared libraries + # on systems that don't support them. + lt_prog_compiler_can_build_shared=no + enable_shared=no + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic='-fPIC -shared' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic=-Kconform_pic + fi + ;; + + *) + lt_prog_compiler_pic='-fPIC' + ;; + esac + + case $cc_basename in + nvcc*) # Cuda Compiler Driver 2.2 + lt_prog_compiler_wl='-Xlinker ' + if test -n "$lt_prog_compiler_pic"; then + lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic" + fi + ;; + 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 ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static='-Bstatic' + else + lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' + fi + ;; + + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic='-fno-common' + case $cc_basename in + nagfor*) + # NAG Fortran compiler + lt_prog_compiler_wl='-Wl,-Wl,,' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + esac + ;; + + 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' + case $host_os in + os2*) + lt_prog_compiler_static='$wl-static' + ;; + esac + ;; + + hpux9* | hpux10* | hpux11*) + lt_prog_compiler_wl='-Wl,' + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but + # not for PA HP-UX. + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic='+Z' + ;; + esac + # Is there a better lt_prog_compiler_static that works with the bundled CC? + lt_prog_compiler_static='$wl-a ${wl}archive' + ;; + + irix5* | irix6* | nonstopux*) + lt_prog_compiler_wl='-Wl,' + # PIC (with -KPIC) is the default. + lt_prog_compiler_static='-non_shared' + ;; + + linux* | k*bsd*-gnu | kopensolaris*-gnu | 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' + ;; + nagfor*) + # NAG Fortran compiler + lt_prog_compiler_wl='-Wl,-Wl,,' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; + pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group compilers (*not* the Pentium gcc compiler, + # which looks to be a dead project) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + ccc*) + lt_prog_compiler_wl='-Wl,' + # All Alpha code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + xl* | bgxl* | bgf* | mpixl*) + # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-qpic' + lt_prog_compiler_static='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) + # Sun Fortran 8.3 passes all unrecognized flags to the linker + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='' + ;; + *Sun\ F* | *Sun*Fortran*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='-Qoption ld ' + ;; + *Sun\ C*) + # Sun C 5.9 + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='-Wl,' + ;; + *Intel*\ [CF]*Compiler*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; + *Portland\ Group*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; + esac + ;; + esac + ;; + + newsos6) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + *nto* | *qnx*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic='-fPIC -shared' + ;; + + osf3* | osf4* | osf5*) + lt_prog_compiler_wl='-Wl,' + # All OSF/1 code is PIC. + lt_prog_compiler_static='-non_shared' + ;; + + rdos*) + lt_prog_compiler_static='-non_shared' + ;; + + solaris*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + case $cc_basename in + f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) + lt_prog_compiler_wl='-Qoption ld ';; + *) + lt_prog_compiler_wl='-Wl,';; + esac + ;; + + sunos4*) + lt_prog_compiler_wl='-Qoption ld ' + lt_prog_compiler_pic='-PIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4 | sysv4.2uw2* | sysv4.3*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + sysv4*MP*) + if test -d /usr/nec; then + lt_prog_compiler_pic='-Kconform_pic' + lt_prog_compiler_static='-Bstatic' + fi + ;; + + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + ;; + + unicos*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_can_build_shared=no + ;; + + uts4*) + lt_prog_compiler_pic='-pic' + lt_prog_compiler_static='-Bstatic' + ;; + + *) + lt_prog_compiler_can_build_shared=no + ;; + esac + fi + +case $host_os in + # For platforms that do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic= + ;; + *) + lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" + ;; +esac + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 +$as_echo_n "checking for $compiler option to produce PIC... " >&6; } +if ${lt_cv_prog_compiler_pic+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic=$lt_prog_compiler_pic +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 +$as_echo "$lt_cv_prog_compiler_pic" >&6; } +lt_prog_compiler_pic=$lt_cv_prog_compiler_pic + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 +$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } +if ${lt_cv_prog_compiler_pic_works+:} false; 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" ## exclude from sc_useless_quotes_in_assignment + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_pic_works=yes + fi + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 +$as_echo "$lt_cv_prog_compiler_pic_works" >&6; } + +if test yes = "$lt_cv_prog_compiler_pic_works"; then + case $lt_prog_compiler_pic in + "" | " "*) ;; + *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; + esac +else + lt_prog_compiler_pic= + lt_prog_compiler_can_build_shared=no +fi + +fi + + + + + + + + + + + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } +if ${lt_cv_prog_compiler_static_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_static_works=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_static_works=yes + fi + else + lt_cv_prog_compiler_static_works=yes + fi + fi + $RM -r conftest* + LDFLAGS=$save_LDFLAGS + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 +$as_echo "$lt_cv_prog_compiler_static_works" >&6; } + +if test yes = "$lt_cv_prog_compiler_static_works"; then + : +else + lt_prog_compiler_static= +fi + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 +$as_echo "$lt_cv_prog_compiler_c_o" >&6; } + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 +$as_echo "$lt_cv_prog_compiler_c_o" >&6; } + + + + +hard_links=nottested +if test no = "$lt_cv_prog_compiler_c_o" && test no != "$need_locks"; then + # do not overwrite the value of need_locks provided by the user + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 +$as_echo_n "checking if we can lock with hard links... " >&6; } + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 +$as_echo "$hard_links" >&6; } + if test no = "$hard_links"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 +$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + + runpath_var= + allow_undefined_flag= + always_export_symbols=no + archive_cmds= + archive_expsym_cmds= + compiler_needs_object=no + enable_shared_with_static_runtimes=no + export_dynamic_flag_spec= + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + hardcode_automatic=no + hardcode_direct=no + hardcode_direct_absolute=no + hardcode_libdir_flag_spec= + hardcode_libdir_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 yes != "$GCC"; then + with_gnu_ld=no + fi + ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; + openbsd* | bitrig*) + with_gnu_ld=no + ;; + linux* | k*bsd*-gnu | gnu*) + link_all_deplibs=no + ;; + esac + + ld_shlibs=yes + + # On some targets, GNU ld is compatible enough with the native linker + # that we're better off using the native interface for both. + lt_use_gnu_ld_interface=no + if test yes = "$with_gnu_ld"; then + case $host_os in + aix*) + # The AIX port of GNU ld has always aspired to compatibility + # with the native linker. However, as the warning in the GNU ld + # block says, versions before 2.19.5* couldn't really create working + # shared libraries, regardless of the interface used. + case `$LD -v 2>&1` in + *\ \(GNU\ Binutils\)\ 2.19.5*) ;; + *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; + *\ \(GNU\ Binutils\)\ [3-9]*) ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + ;; + *) + lt_use_gnu_ld_interface=yes + ;; + esac + fi + + if test yes = "$lt_use_gnu_ld_interface"; 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 | $SED -e 's/(^)\+)\s\+//' 2>&1` in + *GNU\ gold*) supports_anon_versioning=yes ;; + *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... + *\ 2.11.*) ;; # other 2.11 versions + *) supports_anon_versioning=yes ;; + esac + + # See if GNU ld supports shared libraries. + case $host_os in + aix[3-9]*) + # On AIX/PPC, the GNU linker is very broken + if test ia64 != "$host_cpu"; then + ld_shlibs=no + cat <<_LT_EOF 1>&2 + +*** Warning: the GNU linker, at least up to release 2.19, is reported +*** to be unable to reliably create shared libraries on AIX. +*** Therefore, libtool is disabling shared libraries support. If you +*** really care for shared libraries, you may want to install binutils +*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. +*** You will then need to restart the configuration process. + +_LT_EOF + fi + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='' + ;; + m68k) + archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + ;; + esac + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + else + ld_shlibs=no + fi + ;; + + cygwin* | mingw* | pw32* | cegcc*) + # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec='-L$libdir' + export_dynamic_flag_spec='$wl--export-all-symbols' + allow_undefined_flag=unsupported + always_export_symbols=no + enable_shared_with_static_runtimes=yes + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' + exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' + + 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, use it as + # is; otherwise, prepend EXPORTS... + archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp $export_symbols $output_objdir/$soname.def; + else + echo EXPORTS > $output_objdir/$soname.def; + cat $export_symbols >> $output_objdir/$soname.def; + fi~ + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' + else + ld_shlibs=no + fi + ;; + + haiku*) + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + link_all_deplibs=yes + ;; + + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + allow_undefined_flag=unsupported + shrext_cmds=.dll + archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + enable_shared_with_static_runtimes=yes + ;; + + interix[3-9]*) + hardcode_direct=no + hardcode_shlibpath_var=no + hardcode_libdir_flag_spec='$wl-rpath,$libdir' + export_dynamic_flag_spec='$wl-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + archive_expsym_cmds='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + + gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) + tmp_diet=no + if test linux-dietlibc = "$host_os"; 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 no = "$tmp_diet" + then + tmp_addflag=' $pic_flag' + tmp_sharedflag='-shared' + case $cc_basename,$host_cpu in + pgcc*) # Portland Group C compiler + whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + tmp_addflag=' $pic_flag' + ;; + pgf77* | pgf90* | pgf95* | pgfortran*) + # Portland Group f77 and f90 compilers + whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + tmp_addflag=' $pic_flag -Mnomain' ;; + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 + tmp_addflag=' -i_dynamic' ;; + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 + tmp_addflag=' -i_dynamic -nofor_main' ;; + ifc* | ifort*) # Intel Fortran compiler + tmp_addflag=' -nofor_main' ;; + lf95*) # Lahey Fortran 8.1 + whole_archive_flag_spec= + tmp_sharedflag='--shared' ;; + nagfor*) # NAGFOR 5.3 + tmp_sharedflag='-Wl,-shared' ;; + xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) + tmp_sharedflag='-qmkshrobj' + tmp_addflag= ;; + nvcc*) # Cuda Compiler Driver 2.2 + whole_archive_flag_spec='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + compiler_needs_object=yes + ;; + esac + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) # Sun C 5.9 + whole_archive_flag_spec='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + compiler_needs_object=yes + tmp_sharedflag='-G' ;; + *Sun\ F*) # Sun Fortran 8.3 + tmp_sharedflag='-G' ;; + esac + archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + + if test yes = "$supports_anon_versioning"; 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 + tcc*) + export_dynamic_flag_spec='-rdynamic' + ;; + xlf* | bgf* | bgxlf* | mpixlf*) + # IBM XL Fortran 10.1 on PPC cannot create shared libs itself + whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' + if test yes = "$supports_anon_versioning"; then + archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ + echo "local: *; };" >> $output_objdir/$libname.ver~ + $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' + fi + ;; + esac + else + ld_shlibs=no + fi + ;; + + netbsd* | netbsdelf*-gnu) + 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 $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $pic_flag $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 $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $pic_flag $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 cannot +*** 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 $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds='$CC -shared $pic_flag $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 no = "$ld_shlibs"; 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 yes = "$GCC" && 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 ia64 = "$host_cpu"; 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 GNU nm, but means don't demangle to AIX nm. + # Without the "-l" option, or with the "-B" option, AIX nm treats + # weak defined symbols like other global defined symbols, whereas + # GNU nm marks them as "W". + # While the 'weak' keyword is ignored in the Export File, we need + # it in the Import File for the 'aix-soname' feature, so we have + # to replace the "-B" option with "-P" for AIX 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") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | 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 + # have runtime linking enabled, and use it for executables. + # For shared libraries, we enable/disable runtime linking + # depending on the kind of the shared library created - + # when "with_aix_soname,aix_use_runtimelinking" is: + # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables + # "aix,yes" lib.so shared, rtl:yes, for executables + # lib.a static archive + # "both,no" lib.so.V(shr.o) shared, rtl:yes + # lib.a(lib.so.V) shared, rtl:no, for executables + # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a(lib.so.V) shared, rtl:no + # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a static archive + case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) + for ld_flag in $LDFLAGS; do + if (test x-brtl = "x$ld_flag" || test x-Wl,-brtl = "x$ld_flag"); then + aix_use_runtimelinking=yes + break + fi + done + if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then + # With aix-soname=svr4, we create the lib.so.V shared archives only, + # so we don't have lib.a shared libs to link our executables. + # We have to force runtime linking in this case. + aix_use_runtimelinking=yes + LDFLAGS="$LDFLAGS -Wl,-brtl" + fi + ;; + 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,' + case $with_aix_soname,$aix_use_runtimelinking in + aix,*) ;; # traditional, no import file + svr4,* | *,yes) # use import file + # The Import File defines what to hardcode. + hardcode_direct=no + hardcode_direct_absolute=no + ;; + esac + + if test yes = "$GCC"; 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 yes = "$aix_use_runtimelinking"; then + shared_flag="$shared_flag "'$wl-G' + fi + # Need to ensure runtime linking is disabled for the traditional + # shared library, or the linker may eventually find shared libraries + # /with/ Import File - we do not want to mix them. + shared_flag_aix='-shared' + shared_flag_svr4='-shared $wl-G' + else + # not using gcc + if test ia64 = "$host_cpu"; 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 yes = "$aix_use_runtimelinking"; then + shared_flag='$wl-G' + else + shared_flag='$wl-bM:SRE' + fi + shared_flag_aix='$wl-bM:SRE' + shared_flag_svr4='$wl-G' + 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,yes = "$with_aix_soname,$aix_use_runtimelinking"; 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. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath_+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_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 "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath_ +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 -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag + else + if test ia64 = "$host_cpu"; 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. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath_+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_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 "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath_"; then + lt_cv_aix_libpath_=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath_ +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' + if test yes = "$with_gnu_ld"; then + # We only use this code for GNU lds that support --whole-archive. + whole_archive_flag_spec='$wl--whole-archive$convenience $wl--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec='$convenience' + fi + archive_cmds_need_lc=yes + archive_expsym_cmds='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' + # -brtl affects multiple linker settings, -berok does not and is overridden later + compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' + if test svr4 != "$with_aix_soname"; then + # This is similar to how AIX traditionally builds its shared libraries. + archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' + fi + if test aix != "$with_aix_soname"; then + archive_expsym_cmds="$archive_expsym_cmds"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' + else + # used by -dlpreopen to get the symbols + archive_expsym_cmds="$archive_expsym_cmds"'~$MV $output_objdir/$realname.d/$soname $output_objdir' + fi + archive_expsym_cmds="$archive_expsym_cmds"'~$RM -r $output_objdir/$realname.d' + 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. + case $cc_basename in + cl*) + # Native MSVC + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + always_export_symbols=yes + file_list_spec='@' + # 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 $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' + archive_expsym_cmds='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp "$export_symbols" "$output_objdir/$soname.def"; + echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; + else + $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, )='true' + enable_shared_with_static_runtimes=yes + exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' + # Don't use ranlib + old_postinstall_cmds='chmod 644 $oldlib' + postlink_cmds='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile=$lt_outputfile.exe + lt_tool_outputfile=$lt_tool_outputfile.exe + ;; + esac~ + if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # Assume MSVC wrapper + hardcode_libdir_flag_spec=' ' + allow_undefined_flag=unsupported + # Tell ltmain to make .lib files, not .a files. + libext=lib + # Tell ltmain to make .dll files, not .so files. + shrext_cmds=.dll + # FIXME: Setting linknames here is a bad hack. + archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' + # The linker will automatically build a .lib file if we build a DLL. + old_archive_from_new_cmds='true' + # FIXME: Should let the user specify the lib program. + old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' + enable_shared_with_static_runtimes=yes + ;; + esac + ;; + + darwin* | rhapsody*) + + + archive_cmds_need_lc=no + hardcode_direct=no + hardcode_automatic=yes + hardcode_shlibpath_var=unsupported + if test yes = "$lt_cv_ld_force_load"; then + whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' + + else + whole_archive_flag_spec='' + fi + link_all_deplibs=yes + allow_undefined_flag=$_lt_dar_allow_undefined + case $cc_basename in + ifort*|nagfor*) _lt_dar_can_shared=yes ;; + *) _lt_dar_can_shared=$GCC ;; + esac + if test yes = "$_lt_dar_can_shared"; then + output_verbose_link_cmd=func_echo_all + archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" + module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" + archive_expsym_cmds="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil" + module_expsym_cmds="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" + + 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 + ;; + + # 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 $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='-R$libdir' + hardcode_direct=yes + hardcode_shlibpath_var=no + ;; + + hpux9*) + if test yes = "$GCC"; then + archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test "x$output_objdir/$soname" = "x$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 "x$output_objdir/$soname" = "x$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 yes,no = "$GCC,$with_gnu_ld"; then + archive_cmds='$CC -shared $pic_flag $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 no = "$with_gnu_ld"; then + hardcode_libdir_flag_spec='$wl+b $wl$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 yes,no = "$GCC,$with_gnu_ld"; 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 $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds='$CC -shared $pic_flag $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' + ;; + *) + + # Older versions of the 11.00 compiler do not understand -b yet + # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 +$as_echo_n "checking if $CC understands -b... " >&6; } +if ${lt_cv_prog_compiler__b+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler__b=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -b" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler__b=yes + fi + else + lt_cv_prog_compiler__b=yes + fi + fi + $RM -r conftest* + LDFLAGS=$save_LDFLAGS + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 +$as_echo "$lt_cv_prog_compiler__b" >&6; } + +if test yes = "$lt_cv_prog_compiler__b"; then + archive_cmds='$CC -b $wl+h $wl$soname $wl+b $wl$install_libdir -o $lib $libobjs $deplibs $compiler_flags' +else + archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' +fi + + ;; + esac + fi + if test no = "$with_gnu_ld"; 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 yes = "$GCC"; then + archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + # 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. + # This should be the same for all languages, so no per-tag cache variable. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 +$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } +if ${lt_cv_irix_exported_symbol+:} false; then : + $as_echo_n "(cached) " >&6 +else + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -shared $wl-exported_symbol ${wl}foo $wl-update_registry $wl/dev/null" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int foo (void) { return 0; } +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + lt_cv_irix_exported_symbol=yes +else + lt_cv_irix_exported_symbol=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 +$as_echo "$lt_cv_irix_exported_symbol" >&6; } + if test yes = "$lt_cv_irix_exported_symbol"; then + archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib' + fi + link_all_deplibs=no + else + archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib' + fi + archive_cmds_need_lc='no' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + hardcode_libdir_separator=: + inherit_rpath=yes + link_all_deplibs=yes + ;; + + linux*) + case $cc_basename in + tcc*) + # Fabrice Bellard et al's Tiny C Compiler + ld_shlibs=yes + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + netbsd* | netbsdelf*-gnu) + 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* | bitrig*) + 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__`"; 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 + archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + hardcode_libdir_flag_spec='$wl-rpath,$libdir' + fi + else + ld_shlibs=no + fi + ;; + + os2*) + hardcode_libdir_flag_spec='-L$libdir' + hardcode_minus_L=yes + allow_undefined_flag=unsupported + shrext_cmds=.dll + archive_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + archive_expsym_cmds='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + enable_shared_with_static_runtimes=yes + ;; + + osf3*) + if test yes = "$GCC"; then + allow_undefined_flag=' $wl-expect_unresolved $wl\*' + archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + fi + archive_cmds_need_lc='no' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + hardcode_libdir_separator=: + ;; + + osf4* | osf5*) # as osf3* with the addition of -msym flag + if test yes = "$GCC"; then + allow_undefined_flag=' $wl-expect_unresolved $wl\*' + archive_cmds='$CC -shared$allow_undefined_flag $pic_flag $libobjs $deplibs $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + hardcode_libdir_flag_spec='$wl-rpath $wl$libdir' + else + allow_undefined_flag=' -expect_unresolved \*' + archive_cmds='$CC -shared$allow_undefined_flag $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ + $CC -shared$allow_undefined_flag $wl-input $wl$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~$RM $lib.exp' + + # 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 yes = "$GCC"; then + wlarc='$wl' + archive_cmds='$CC -shared $pic_flag $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 $pic_flag $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 yes = "$GCC"; 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 sequent = "$host_vendor"; 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 yes = "$GCC"; 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 CANNOT 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 yes = "$GCC"; 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 sni = "$host_vendor"; then + case $host in + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + export_dynamic_flag_spec='$wl-Blargedynsym' + ;; + esac + fi + fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 +$as_echo "$ld_shlibs" >&6; } +test no = "$ld_shlibs" && 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 yes,yes = "$GCC,$enable_shared"; then + case $archive_cmds in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 +$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } +if ${lt_cv_archive_cmds_need_lc+:} false; then : + $as_echo_n "(cached) " >&6 +else + $RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl + pic_flag=$lt_prog_compiler_pic + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag + allow_undefined_flag= + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 + (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + then + lt_cv_archive_cmds_need_lc=no + else + lt_cv_archive_cmds_need_lc=yes + fi + allow_undefined_flag=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 +$as_echo "$lt_cv_archive_cmds_need_lc" >&6; } + archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc + ;; + esac + fi + ;; +esac + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 +$as_echo_n "checking dynamic linker characteristics... " >&6; } + +if test yes = "$GCC"; then + case $host_os in + darwin*) lt_awk_arg='/^libraries:/,/LR/' ;; + *) lt_awk_arg='/^libraries:/' ;; + esac + case $host_os in + mingw* | cegcc*) lt_sed_strip_eq='s|=\([A-Za-z]:\)|\1|g' ;; + *) lt_sed_strip_eq='s|=/|/|g' ;; + esac + lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` + case $lt_search_path_spec in + *\;*) + # if the path contains ";" then we assume it to be the separator + # otherwise default to the standard path separator (i.e. ":") - it is + # assumed that no part of a normal pathname contains ";" but that should + # okay in the real world where ";" in dirpaths is itself problematic. + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` + ;; + *) + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` + ;; + esac + # Ok, now we have the path, separated by spaces, we can step through it + # and add multilib dir if necessary... + lt_tmp_lt_search_path_spec= + lt_multi_os_dir=/`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` + # ...but if some path component already ends with the multilib dir we assume + # that all is fine and trust -print-search-dirs as is (GCC 4.2? or newer). + case "$lt_multi_os_dir; $lt_search_path_spec " in + "/; "* | "/.; "* | "/./; "* | *"$lt_multi_os_dir "* | *"$lt_multi_os_dir/ "*) + lt_multi_os_dir= + ;; + esac + 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" + elif test -n "$lt_multi_os_dir"; then + test -d "$lt_sys_path" && \ + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" + fi + done + lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' +BEGIN {RS = " "; FS = "/|\n";} { + lt_foo = ""; + lt_count = 0; + for (lt_i = NF; lt_i > 0; lt_i--) { + if ($lt_i != "" && $lt_i != ".") { + if ($lt_i == "..") { + lt_count++; + } else { + if (lt_count == 0) { + lt_foo = "/" $lt_i lt_foo; + } else { + lt_count--; + } + } + } + } + if (lt_foo != "") { lt_freq[lt_foo]++; } + if (lt_freq[lt_foo] == 1) { print lt_foo; } +}'` + # AWK program above erroneously prepends '/' to C:/dos/paths + # for these hosts. + case $host_os in + mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ + $SED 's|/\([A-Za-z]:\)|\1|g'` ;; + esac + sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` +else + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +fi +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 # correct to gnu/linux during the next big refactor + 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 # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test ia64 = "$host_cpu"; 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 + # Using Import Files as archive members, it is possible to support + # filename-based versioning of shared library archives on AIX. While + # this would work for both with and without runtime linking, it will + # prevent static linking of such archives. So we do filename-based + # shared library versioning with .so extension only, which is used + # when both runtime linking and shared linking is enabled. + # Unfortunately, runtime linking may impact performance, so we do + # not want this to be the default eventually. Also, we use the + # versioned .so libs for executables only if there is the -brtl + # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. + # To allow for filename-based versioning support, we need to create + # libNAME.so.V as an archive file, containing: + # *) an Import File, referring to the versioned filename of the + # archive as well as the shared archive member, telling the + # bitwidth (32 or 64) of that shared object, and providing the + # list of exported symbols of that shared object, eventually + # decorated with the 'weak' keyword + # *) the shared object with the F_LOADONLY flag set, to really avoid + # it being seen by the linker. + # At run time we better use the real file rather than another symlink, + # but for link time we create the symlink libNAME.so -> libNAME.so.V + + case $with_aix_soname,$aix_use_runtimelinking in + # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + aix,yes) # traditional libtool + dynamic_linker='AIX unversionable lib.so' + # 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' + ;; + aix,no) # traditional AIX only + dynamic_linker='AIX lib.a(lib.so.V)' + # 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' + ;; + svr4,*) # full svr4 only + dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,yes) # both, prefer svr4 + dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # unpreferred sharedlib libNAME.a needs extra handling + postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"' + postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,no) # both, prefer aix + dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling + postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)' + postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"' + ;; + esac + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + case $host_cpu in + powerpc) + # Since July 2007 AmigaOS4 officially supports .so libraries. + # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + m68k) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $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 # correct to gnu/linux during the next big refactor + 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,$cc_basename in + yes,*) + # gcc + library_names_spec='$libname.dll.a' + # DLL is installed to $(libdir)/../bin by postinstall_cmds + postinstall_cmds='base_file=`basename \$file`~ + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~ + dldir=$destdir/`dirname \$dlpath`~ + test -d \$dldir || mkdir -p \$dldir~ + $install_prog $dir/$dlname \$dldir/$dlname~ + chmod a+x \$dldir/$dlname~ + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; + fi' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + + case $host_os in + cygwin*) + # Cygwin DLLs use 'cyg' prefix rather than 'lib' + soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" + ;; + mingw* | cegcc*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + ;; + esac + dynamic_linker='Win32 ld.exe' + ;; + + *,cl*) + # Native MSVC + libname_spec='$name' + soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + library_names_spec='$libname.dll.lib' + + case $build_os in + mingw*) + sys_lib_search_path_spec= + lt_save_ifs=$IFS + IFS=';' + for lt_path in $LIB + do + IFS=$lt_save_ifs + # Let DOS variable expansion print the short 8.3 style file name. + lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` + sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" + done + IFS=$lt_save_ifs + # Convert to MSYS style. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` + ;; + cygwin*) + # Convert to unix form, then to dos form, then back to unix form + # but this time dos style (no spaces!) so that the unix form looks + # like /cygdrive/c/PROGRA~1:/cygdr... + sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` + sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` + sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + ;; + *) + sys_lib_search_path_spec=$LIB + if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH. + 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 + # FIXME: find the short name or the path components, as spaces are + # common. (e.g. "Program Files" -> "PROGRA~1") + ;; + esac + + # 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' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + dynamic_linker='Win32 link.exe' + ;; + + *) + # Assume MSVC wrapper + library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' + dynamic_linker='Win32 ld.exe' + ;; + esac + # 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 # correct to gnu/linux during the next big refactor + 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 + ;; + +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[23].*) 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$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + 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 + ;; + +haiku*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + dynamic_linker="$host_os runtime_loader" + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LIBRARY_PATH + shlibpath_overrides_runpath=no + sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + 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 32 = "$HPUX_IA64_MODE"; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + sys_lib_dlsearch_path_spec=/usr/lib/hpux32 + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + sys_lib_dlsearch_path_spec=/usr/lib/hpux64 + fi + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555, ... + postinstall_cmds='chmod 555 $lib' + # or fails outright, so override atomically: + install_override_mode=555 + ;; + +interix[3-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + 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 yes = "$lt_cv_prog_gnu_ld"; then + version_type=linux # correct to gnu/linux during the next big refactor + 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 + ;; + +linux*android*) + version_type=none # Android doesn't support versioned libraries. + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext' + soname_spec='$libname$release$shared_ext' + finish_cmds= + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + + # 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 + + dynamic_linker='Android linker' + # Don't embed -rpath directories since the linker doesn't support them. + hardcode_libdir_flag_spec='-L$libdir' + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + version_type=linux # correct to gnu/linux during the next big refactor + 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 + if ${lt_cv_shlibpath_overrides_runpath+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_shlibpath_overrides_runpath=no + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir + eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ + LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : + lt_cv_shlibpath_overrides_runpath=yes +fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir + +fi + + shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Ideally, we could use ldconfig to report *all* directores which are + # searched for libraries, however this is still not possible. Aside from not + # being certain /sbin/ldconfig is available, command + # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, + # even though it is searched at run-time. Try to do the best guess by + # appending ld.so.conf contents (and includes) to the search path. + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-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 + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_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 # correct to gnu/linux during the next big refactor + 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* | bitrig*) + version_type=sunos + sys_lib_dlsearch_path_spec=/usr/lib + need_lib_prefix=no + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + need_version=no + else + need_version=yes + fi + 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 + shlibpath_overrides_runpath=yes + ;; + +os2*) + libname_spec='$name' + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + # OS/2 can only load a DLL with a base name of 8 characters or less. + soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; + v=$($ECHO $release$versuffix | tr -d .-); + n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); + $ECHO $n$v`$shared_ext' + library_names_spec='${libname}_dll.$libext' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=BEGINLIBPATH + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + 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' + ;; + +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 # correct to gnu/linux during the next big refactor + 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 yes = "$with_gnu_ld"; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux # correct to gnu/linux during the next big refactor + 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 # correct to gnu/linux during the next big refactor + 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=sco + 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 yes = "$with_gnu_ld"; 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 # correct to gnu/linux during the next big refactor + 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 # correct to gnu/linux during the next big refactor + 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:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 +$as_echo "$dynamic_linker" >&6; } +test no = "$dynamic_linker" && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test yes = "$GCC"; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then + sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec +fi + +if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then + sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec +fi + +# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... +configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec + +# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code +func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" + +# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool +configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 +$as_echo_n "checking how to hardcode library paths into programs... " >&6; } +hardcode_action= +if test -n "$hardcode_libdir_flag_spec" || + test -n "$runpath_var" || + test yes = "$hardcode_automatic"; then + + # We can hardcode non-existent directories. + if test no != "$hardcode_direct" && + # 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 no != "$_LT_TAGVAR(hardcode_shlibpath_var, )" && + test no != "$hardcode_minus_L"; then + # Linking always hardcodes the temporary library directory. + hardcode_action=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action=unsupported +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 +$as_echo "$hardcode_action" >&6; } + +if test relink = "$hardcode_action" || + test yes = "$inherit_rpath"; then + # Fast installation is not supported + enable_fast_install=no +elif test yes = "$shlibpath_overrides_runpath" || + test no = "$enable_shared"; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + + + + + + if test yes != "$enable_dlopen"; then + enable_dlopen=unknown + enable_dlopen_self=unknown + enable_dlopen_self_static=unknown +else + lt_cv_dlopen=no + lt_cv_dlopen_libs= + + case $host_os in + beos*) + lt_cv_dlopen=load_add_on + lt_cv_dlopen_libs= + lt_cv_dlopen_self=yes + ;; + + mingw* | pw32* | cegcc*) + lt_cv_dlopen=LoadLibrary + lt_cv_dlopen_libs= + ;; + + cygwin*) + lt_cv_dlopen=dlopen + lt_cv_dlopen_libs= + ;; + + darwin*) + # if libdl is installed we need to link against it + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 +$as_echo_n "checking for dlopen in -ldl... " >&6; } +if ${ac_cv_lib_dl_dlopen+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dl_dlopen=yes +else + ac_cv_lib_dl_dlopen=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 +$as_echo "$ac_cv_lib_dl_dlopen" >&6; } +if test "x$ac_cv_lib_dl_dlopen" = xyes; 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 + + ;; + + tpf*) + # Don't try to run any link tests for TPF. We know it's impossible + # because TPF is a cross-compiler, and we know how we open DSOs. + lt_cv_dlopen=dlopen + lt_cv_dlopen_libs= + lt_cv_dlopen_self=no + ;; + + *) + ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" +if test "x$ac_cv_func_shl_load" = xyes; then : + lt_cv_dlopen=shl_load +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 +$as_echo_n "checking for shl_load in -ldld... " >&6; } +if ${ac_cv_lib_dld_shl_load+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shl_load (); +int +main () +{ +return shl_load (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dld_shl_load=yes +else + ac_cv_lib_dld_shl_load=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 +$as_echo "$ac_cv_lib_dld_shl_load" >&6; } +if test "x$ac_cv_lib_dld_shl_load" = xyes; then : + lt_cv_dlopen=shl_load lt_cv_dlopen_libs=-ldld +else + ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" +if test "x$ac_cv_func_dlopen" = xyes; then : + lt_cv_dlopen=dlopen +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 +$as_echo_n "checking for dlopen in -ldl... " >&6; } +if ${ac_cv_lib_dl_dlopen+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldl $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dl_dlopen=yes +else + ac_cv_lib_dl_dlopen=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 +$as_echo "$ac_cv_lib_dl_dlopen" >&6; } +if test "x$ac_cv_lib_dl_dlopen" = xyes; then : + lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-ldl +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 +$as_echo_n "checking for dlopen in -lsvld... " >&6; } +if ${ac_cv_lib_svld_dlopen+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsvld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_svld_dlopen=yes +else + ac_cv_lib_svld_dlopen=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 +$as_echo "$ac_cv_lib_svld_dlopen" >&6; } +if test "x$ac_cv_lib_svld_dlopen" = xyes; then : + lt_cv_dlopen=dlopen lt_cv_dlopen_libs=-lsvld +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 +$as_echo_n "checking for dld_link in -ldld... " >&6; } +if ${ac_cv_lib_dld_dld_link+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldld $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dld_link (); +int +main () +{ +return dld_link (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_dld_dld_link=yes +else + ac_cv_lib_dld_dld_link=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 +$as_echo "$ac_cv_lib_dld_dld_link" >&6; } +if test "x$ac_cv_lib_dld_dld_link" = xyes; then : + lt_cv_dlopen=dld_link lt_cv_dlopen_libs=-ldld +fi + + +fi + + +fi + + +fi + + +fi + + +fi + + ;; + esac + + if test no = "$lt_cv_dlopen"; then + enable_dlopen=no + else + enable_dlopen=yes + fi + + case $lt_cv_dlopen in + dlopen) + save_CPPFLAGS=$CPPFLAGS + test yes = "$ac_cv_header_dlfcn_h" && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" + + save_LDFLAGS=$LDFLAGS + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + + save_LIBS=$LIBS + LIBS="$lt_cv_dlopen_libs $LIBS" + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 +$as_echo_n "checking whether a program can dlopen itself... " >&6; } +if ${lt_cv_dlopen_self+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test yes = "$cross_compiling"; then : + lt_cv_dlopen_self=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +#line $LINENO "configure" +#include "confdefs.h" + +#if HAVE_DLFCN_H +#include +#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 + +/* When -fvisibility=hidden is used, assume the code has been annotated + correspondingly for the symbols needed. */ +#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +int fnord () __attribute__((visibility("default"))); +#endif + +int fnord () { return 42; } +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else + { + if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + else puts (dlerror ()); + } + /* dlclose (self); */ + } + else + puts (dlerror ()); + + return status; +} +_LT_EOF + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self=no + fi +fi +rm -fr conftest* + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 +$as_echo "$lt_cv_dlopen_self" >&6; } + + if test yes = "$lt_cv_dlopen_self"; then + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 +$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } +if ${lt_cv_dlopen_self_static+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test yes = "$cross_compiling"; then : + lt_cv_dlopen_self_static=cross +else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +#line $LINENO "configure" +#include "confdefs.h" + +#if HAVE_DLFCN_H +#include +#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 + +/* When -fvisibility=hidden is used, assume the code has been annotated + correspondingly for the symbols needed. */ +#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) +int fnord () __attribute__((visibility("default"))); +#endif + +int fnord () { return 42; } +int main () +{ + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); + int status = $lt_dlunknown; + + if (self) + { + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; + else + { + if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; + else puts (dlerror ()); + } + /* dlclose (self); */ + } + else + puts (dlerror ()); + + return status; +} +_LT_EOF + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + (eval $ac_link) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && test -s "conftest$ac_exeext" 2>/dev/null; then + (./conftest; exit; ) >&5 2>/dev/null + lt_status=$? + case x$lt_status in + x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; + x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; + esac + else : + # compilation failed + lt_cv_dlopen_self_static=no + fi +fi +rm -fr conftest* + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 +$as_echo "$lt_cv_dlopen_self_static" >&6; } + fi + + CPPFLAGS=$save_CPPFLAGS + LDFLAGS=$save_LDFLAGS + LIBS=$save_LIBS + ;; + esac + + case $lt_cv_dlopen_self in + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; + *) enable_dlopen_self=unknown ;; + esac + + case $lt_cv_dlopen_self_static in + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; + *) enable_dlopen_self_static=unknown ;; + esac +fi + + + + + + + + + + + + + + + + + +striplib= +old_striplib= +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 +$as_echo_n "checking whether stripping libraries is possible... " >&6; } +if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else +# FIXME - insert some real tests, host_os isn't really good enough + case $host_os in + darwin*) + if test -n "$STRIP"; then + striplib="$STRIP -x" + old_striplib="$STRIP -S" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + fi + ;; + *) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + ;; + esac +fi + + + + + + + + + + + + + # Report what library types will actually be built + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 +$as_echo_n "checking if libtool supports shared libraries... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 +$as_echo "$can_build_shared" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 +$as_echo_n "checking whether to build shared libraries... " >&6; } + test no = "$can_build_shared" && 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 yes = "$enable_shared" && enable_static=no + if test -n "$RANLIB"; then + archive_cmds="$archive_cmds~\$RANLIB \$lib" + postinstall_cmds='$RANLIB $lib' + fi + ;; + + aix[4-9]*) + if test ia64 != "$host_cpu"; then + case $enable_shared,$with_aix_soname,$aix_use_runtimelinking in + yes,aix,yes) ;; # shared object as lib.so file only + yes,svr4,*) ;; # shared object as lib.so archive member only + yes,*) enable_static=no ;; # shared object in lib.a archive as well + esac + fi + ;; + esac + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 +$as_echo "$enable_shared" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 +$as_echo_n "checking whether to build static libraries... " >&6; } + # Make sure either enable_shared or enable_static is yes. + test yes = "$enable_shared" || enable_static=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 +$as_echo "$enable_static" >&6; } + + + + +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +CC=$lt_save_CC + + + + + + + + + + + + + + + + ac_config_commands="$ac_config_commands libtool" + + + + +# Only expand once: + + +am__api_version='1.15' + +# 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:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 +$as_echo_n "checking for a BSD-compatible install... " >&6; } +if test -z "$INSTALL"; then +if ${ac_cv_path_install+:} false; 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 as_fn_executable_p "$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:${as_lineno-$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:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 +$as_echo_n "checking whether build environment is sane... " >&6; } +# 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_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; +esac +case $srcdir in + *[\\\"\#\$\&\'\`$am_lf\ \ ]*) + as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; +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 ( + am_has_slept=no + for am_try in 1 2; do + echo "timestamp, slept: $am_has_slept" > conftest.file + 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 + 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_fn_error $? "ls -t appears to fail. Make sure there is not a broken + alias in your environment" "$LINENO" 5 + fi + if test "$2" = conftest.file || test $am_try -eq 2; then + break + fi + # Just in case. + sleep 1 + am_has_slept=yes + done + test "$2" = conftest.file + ) +then + # Ok. + : +else + as_fn_error $? "newly created file is older than distributed files! +Check your system clock" "$LINENO" 5 +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +# If we didn't sleep, we still need to ensure time stamps of config.status and +# generated files are strictly newer. +am_sleep_pid= +if grep 'slept: no' conftest.file >/dev/null 2>&1; then + ( sleep 1 ) & + am_sleep_pid=$! +fi + +rm -f conftest.file + +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"` + +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 --is-lightweight"; then + am_missing_run="$MISSING " +else + am_missing_run= + { $as_echo "$as_me:${as_lineno-$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+set}" != 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:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_STRIP+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_STRIP="${ac_tool_prefix}strip" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +STRIP=$ac_cv_prog_STRIP +if test -n "$STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 +$as_echo "$STRIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_STRIP"; then + ac_ct_STRIP=$STRIP + # Extract the first word of "strip", so it can be a program name with args. +set dummy strip; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_STRIP+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_STRIP="strip" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP +if test -n "$ac_ct_STRIP"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 +$as_echo "$ac_ct_STRIP" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_STRIP" = x; then + STRIP=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + STRIP=$ac_ct_STRIP + fi +else + STRIP="$ac_cv_prog_STRIP" +fi + +fi +INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 +$as_echo_n "checking for a thread-safe mkdir -p... " >&6; } +if test -z "$MKDIR_P"; then + if ${ac_cv_path_mkdir+:} false; 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 + as_fn_executable_p "$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 + + test -d ./--version && rmdir ./--version + 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. + MKDIR_P="$ac_install_sh -d" + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 +$as_echo "$MKDIR_P" >&6; } + +{ $as_echo "$as_me:${as_lineno-$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 eval \${ac_cv_prog_make_${ac_make}_set+:} false; 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:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + SET_MAKE= +else + { $as_echo "$as_me:${as_lineno-$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 + +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:${as_lineno-$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:${as_lineno-$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='\' + am__nodep='_no' +fi + if test "x$enable_dependency_tracking" != xno; then + AMDEP_TRUE= + AMDEP_FALSE='#' +else + AMDEP_TRUE='#' + AMDEP_FALSE= +fi + + +# Check whether --enable-silent-rules was given. +if test "${enable_silent_rules+set}" = set; then : + enableval=$enable_silent_rules; +fi + +case $enable_silent_rules in # ((( + yes) AM_DEFAULT_VERBOSITY=0;; + no) AM_DEFAULT_VERBOSITY=1;; + *) AM_DEFAULT_VERBOSITY=1;; +esac +am_make=${MAKE-make} +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 +$as_echo_n "checking whether $am_make supports nested variables... " >&6; } +if ${am_cv_make_support_nested_variables+:} false; then : + $as_echo_n "(cached) " >&6 +else + if $as_echo 'TRUE=$(BAR$(V)) +BAR0=false +BAR1=true +V=1 +am__doit: + @$(TRUE) +.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then + am_cv_make_support_nested_variables=yes +else + am_cv_make_support_nested_variables=no +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 +$as_echo "$am_cv_make_support_nested_variables" >&6; } +if test $am_cv_make_support_nested_variables = yes; then + AM_V='$(V)' + AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' +else + AM_V=$AM_DEFAULT_VERBOSITY + AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY +fi +AM_BACKSLASH='\' + +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_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 + 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='flex' + VERSION='2.6.4' + + +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"} + +# For better backward compatibility. To be removed once Automake 1.9.x +# dies out for good. For more background, see: +# +# +mkdir_p='$(MKDIR_P)' + +# We need awk for the "check" target (and possibly the TAP driver). The +# system "awk" is bad on some platforms. +# Always define AMTAR for backward compatibility. Yes, it's still used +# in the wild :-( We should find a proper way to deprecate it ... +AMTAR='$${TAR-tar}' + + +# We'll loop over all known methods to create a tar archive until one works. +_am_tools='gnutar pax cpio none' + +am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' + + + + + +depcc="$CC" am_compiler_list= + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 +$as_echo_n "checking dependency style of $depcc... " >&6; } +if ${am_cv_CC_dependencies_compiler_type+:} false; 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". + rm -rf conftest.dir + 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 10 /bin/sh. + echo '/* dummy */' > 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 + ;; + msvc7 | msvc7msys | 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:${as_lineno-$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 + + + +# POSIX will say in a future version that running "rm -f" with no argument +# is OK; and we want to be able to make that assumption in our Makefile +# recipes. So use an aggressive probe to check that the usage we want is +# actually supported "in the wild" to an acceptable degree. +# See automake bug#10828. +# To make any issue more visible, cause the running configure to be aborted +# by default if the 'rm' program in use doesn't match our expectations; the +# user can still override this though. +if rm -f && rm -fr && rm -rf; then : OK; else + cat >&2 <<'END' +Oops! + +Your 'rm' program seems unable to run without file operands specified +on the command line, even when the '-f' option is present. This is contrary +to the behaviour of most rm programs out there, and not conforming with +the upcoming POSIX standard: + +Please tell bug-automake@gnu.org about your system, including the value +of your $PATH and any error possibly output before this message. This +can help us improve future automake versions. + +END + if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then + echo 'Configuration will proceed anyway, since you have set the' >&2 + echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 + echo >&2 + else + cat >&2 <<'END' +Aborting the configuration process, to ensure you take notice of the issue. + +You can download and install GNU coreutils to get an 'rm' implementation +that behaves properly: . + +If you want to complete the configuration process using your problematic +'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM +to "yes", and re-run configure. + +END + as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5 + fi +fi + +ac_config_headers="$ac_config_headers src/config.h" + + + +SHARED_VERSION_INFO="2:0:0" + + +# checks for programs + + +mkdir_p="$MKDIR_P" +case $mkdir_p in + [\\/$]* | ?:[\\/]*) ;; + */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; +esac + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5 +$as_echo_n "checking whether NLS is requested... " >&6; } + # Check whether --enable-nls was given. +if test "${enable_nls+set}" = set; then : + enableval=$enable_nls; USE_NLS=$enableval +else + USE_NLS=yes +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 +$as_echo "$USE_NLS" >&6; } + + + + + GETTEXT_MACRO_VERSION=0.18 + + + + +# Prepare PATH_SEPARATOR. +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Find out how to test for executable files. Don't use a zero-byte file, +# as systems may use methods other than mode bits to determine executability. +cat >conf$$.file <<_ASEOF +#! /bin/sh +exit 0 +_ASEOF +chmod +x conf$$.file +if test -x conf$$.file >/dev/null 2>&1; then + ac_executable_p="test -x" +else + ac_executable_p="test -f" +fi +rm -f conf$$.file + +# Extract the first word of "msgfmt", so it can be a program name with args. +set dummy msgfmt; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_MSGFMT+:} false; then : + $as_echo_n "(cached) " >&6 +else + case "$MSGFMT" in + [\\/]* | ?:[\\/]*) + ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. + ;; + *) + ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$ac_save_IFS" + test -z "$ac_dir" && ac_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then + echo "$as_me: trying $ac_dir/$ac_word..." >&5 + if $ac_dir/$ac_word --statistics /dev/null >&5 2>&1 && + (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then + ac_cv_path_MSGFMT="$ac_dir/$ac_word$ac_exec_ext" + break 2 + fi + fi + done + done + IFS="$ac_save_IFS" + test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":" + ;; +esac +fi +MSGFMT="$ac_cv_path_MSGFMT" +if test "$MSGFMT" != ":"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5 +$as_echo "$MSGFMT" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + # Extract the first word of "gmsgfmt", so it can be a program name with args. +set dummy gmsgfmt; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_GMSGFMT+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" + ;; +esac +fi +GMSGFMT=$ac_cv_path_GMSGFMT +if test -n "$GMSGFMT"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5 +$as_echo "$GMSGFMT" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; + *) MSGFMT_015=$MSGFMT ;; + esac + + case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; + *) GMSGFMT_015=$GMSGFMT ;; + esac + + + +# Prepare PATH_SEPARATOR. +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Find out how to test for executable files. Don't use a zero-byte file, +# as systems may use methods other than mode bits to determine executability. +cat >conf$$.file <<_ASEOF +#! /bin/sh +exit 0 +_ASEOF +chmod +x conf$$.file +if test -x conf$$.file >/dev/null 2>&1; then + ac_executable_p="test -x" +else + ac_executable_p="test -f" +fi +rm -f conf$$.file + +# Extract the first word of "xgettext", so it can be a program name with args. +set dummy xgettext; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_XGETTEXT+:} false; then : + $as_echo_n "(cached) " >&6 +else + case "$XGETTEXT" in + [\\/]* | ?:[\\/]*) + ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. + ;; + *) + ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$ac_save_IFS" + test -z "$ac_dir" && ac_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then + echo "$as_me: trying $ac_dir/$ac_word..." >&5 + if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&5 2>&1 && + (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then + ac_cv_path_XGETTEXT="$ac_dir/$ac_word$ac_exec_ext" + break 2 + fi + fi + done + done + IFS="$ac_save_IFS" + test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" + ;; +esac +fi +XGETTEXT="$ac_cv_path_XGETTEXT" +if test "$XGETTEXT" != ":"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5 +$as_echo "$XGETTEXT" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + rm -f messages.po + + case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in + '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; + *) XGETTEXT_015=$XGETTEXT ;; + esac + + + +# Prepare PATH_SEPARATOR. +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Find out how to test for executable files. Don't use a zero-byte file, +# as systems may use methods other than mode bits to determine executability. +cat >conf$$.file <<_ASEOF +#! /bin/sh +exit 0 +_ASEOF +chmod +x conf$$.file +if test -x conf$$.file >/dev/null 2>&1; then + ac_executable_p="test -x" +else + ac_executable_p="test -f" +fi +rm -f conf$$.file + +# Extract the first word of "msgmerge", so it can be a program name with args. +set dummy msgmerge; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_MSGMERGE+:} false; then : + $as_echo_n "(cached) " >&6 +else + case "$MSGMERGE" in + [\\/]* | ?:[\\/]*) + ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path. + ;; + *) + ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$ac_save_IFS" + test -z "$ac_dir" && ac_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then + echo "$as_me: trying $ac_dir/$ac_word..." >&5 + if $ac_dir/$ac_word --update -q /dev/null /dev/null >&5 2>&1; then + ac_cv_path_MSGMERGE="$ac_dir/$ac_word$ac_exec_ext" + break 2 + fi + fi + done + done + IFS="$ac_save_IFS" + test -z "$ac_cv_path_MSGMERGE" && ac_cv_path_MSGMERGE=":" + ;; +esac +fi +MSGMERGE="$ac_cv_path_MSGMERGE" +if test "$MSGMERGE" != ":"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5 +$as_echo "$MSGMERGE" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$localedir" || localedir='${datadir}/locale' + + + test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS= + + + ac_config_commands="$ac_config_commands po-directories" + + + + if test "X$prefix" = "XNONE"; then + acl_final_prefix="$ac_default_prefix" + else + acl_final_prefix="$prefix" + fi + if test "X$exec_prefix" = "XNONE"; then + acl_final_exec_prefix='${prefix}' + else + acl_final_exec_prefix="$exec_prefix" + fi + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" + prefix="$acl_save_prefix" + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then : + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +# Prepare PATH_SEPARATOR. +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi +ac_prog=ld +if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by GCC" >&5 +$as_echo_n "checking for ld used by GCC... " >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | [A-Za-z]:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the path of ld + ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test "$with_gnu_ld" = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 +$as_echo_n "checking for GNU ld... " >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 +$as_echo_n "checking for non-GNU ld... " >&6; } +fi +if ${acl_cv_path_LD+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$LD"; then + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" + for ac_dir in $PATH; do + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + acl_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some GNU ld's only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in + *GNU* | *'with BFD'*) + test "$with_gnu_ld" != no && break ;; + *) + test "$with_gnu_ld" != yes && break ;; + esac + fi + done + IFS="$ac_save_ifs" +else + acl_cv_path_LD="$LD" # Let the user override the test with a path. +fi +fi + +LD="$acl_cv_path_LD" +if test -n "$LD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 +$as_echo "$LD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 +$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } +if ${acl_cv_prog_gnu_ld+:} false; 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:${as_lineno-$LINENO}: checking for shared library run path origin" >&5 +$as_echo_n "checking for shared library run path origin... " >&6; } +if ${acl_cv_rpath+:} false; then : + $as_echo_n "(cached) " >&6 +else + + CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ + ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh + . ./conftest.sh + rm -f ./conftest.sh + acl_cv_rpath=done + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5 +$as_echo "$acl_cv_rpath" >&6; } + wl="$acl_cv_wl" + acl_libext="$acl_cv_libext" + acl_shlibext="$acl_cv_shlibext" + acl_libname_spec="$acl_cv_libname_spec" + acl_library_names_spec="$acl_cv_library_names_spec" + acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" + acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" + acl_hardcode_direct="$acl_cv_hardcode_direct" + acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" + # Check whether --enable-rpath was given. +if test "${enable_rpath+set}" = set; then : + enableval=$enable_rpath; : +else + enable_rpath=yes +fi + + + + + acl_libdirstem=lib + acl_libdirstem2= + case "$host_os" in + solaris*) + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit host" >&5 +$as_echo_n "checking for 64-bit host... " >&6; } +if ${gl_cv_solaris_64bit+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#ifdef _LP64 +sixtyfour bits +#endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "sixtyfour bits" >/dev/null 2>&1; then : + gl_cv_solaris_64bit=yes +else + gl_cv_solaris_64bit=no +fi +rm -f conftest* + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_solaris_64bit" >&5 +$as_echo "$gl_cv_solaris_64bit" >&6; } + if test $gl_cv_solaris_64bit = yes; then + acl_libdirstem=lib/64 + case "$host_cpu" in + sparc*) acl_libdirstem2=lib/sparcv9 ;; + i*86 | x86_64) acl_libdirstem2=lib/amd64 ;; + esac + fi + ;; + *) + searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` + if test -n "$searchpath"; then + acl_save_IFS="${IFS= }"; IFS=":" + for searchdir in $searchpath; do + if test -d "$searchdir"; then + case "$searchdir" in + */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; + */../ | */.. ) + # Better ignore directories of this form. They are misleading. + ;; + *) searchdir=`cd "$searchdir" && pwd` + case "$searchdir" in + */lib64 ) acl_libdirstem=lib64 ;; + esac ;; + esac + fi + done + IFS="$acl_save_IFS" + fi + ;; + esac + test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" + + + + + + + + + + + + + use_additional=yes + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + +# Check whether --with-libiconv-prefix was given. +if test "${with_libiconv_prefix+set}" = set; then : + withval=$with_libiconv_prefix; + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + else + additional_includedir="$withval/include" + additional_libdir="$withval/$acl_libdirstem" + if test "$acl_libdirstem2" != "$acl_libdirstem" \ + && ! test -d "$withval/$acl_libdirstem"; then + additional_libdir="$withval/$acl_libdirstem2" + fi + fi + fi + +fi + + LIBICONV= + LTLIBICONV= + INCICONV= + LIBICONV_PREFIX= + HAVE_LIBICONV= + rpathdirs= + ltrpathdirs= + names_already_handled= + names_next_round='iconv ' + while test -n "$names_next_round"; do + names_this_round="$names_next_round" + names_next_round= + for name in $names_this_round; do + already_handled= + for n in $names_already_handled; do + if test "$n" = "$name"; then + already_handled=yes + break + fi + done + if test -z "$already_handled"; then + names_already_handled="$names_already_handled $name" + uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` + eval value=\"\$HAVE_LIB$uppername\" + if test -n "$value"; then + if test "$value" = yes; then + eval value=\"\$LIB$uppername\" + test -z "$value" || LIBICONV="${LIBICONV}${LIBICONV:+ }$value" + eval value=\"\$LTLIB$uppername\" + test -z "$value" || LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$value" + else + : + fi + else + found_dir= + found_la= + found_so= + found_a= + eval libname=\"$acl_libname_spec\" # typically: libname=lib$name + if test -n "$acl_shlibext"; then + shrext=".$acl_shlibext" # typically: shrext=.so + else + shrext= + fi + if test $use_additional = yes; then + dir="$additional_libdir" + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + fi + if test "X$found_dir" = "X"; then + for x in $LDFLAGS $LTLIBICONV; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + case "$x" in + -L*) + dir=`echo "X$x" | sed -e 's/^X-L//'` + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + ;; + esac + if test "X$found_dir" != "X"; then + break + fi + done + fi + if test "X$found_dir" != "X"; then + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name" + if test "X$found_so" != "X"; then + if test "$enable_rpath" = no \ + || test "X$found_dir" = "X/usr/$acl_libdirstem" \ + || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" + else + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $found_dir" + fi + if test "$acl_hardcode_direct" = yes; then + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" + else + if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $found_dir" + fi + else + haveit= + for x in $LDFLAGS $LIBICONV; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir" + fi + if test "$acl_hardcode_minus_L" != no; then + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" + else + LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" + fi + fi + fi + fi + else + if test "X$found_a" != "X"; then + LIBICONV="${LIBICONV}${LIBICONV:+ }$found_a" + else + LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir -l$name" + fi + fi + additional_includedir= + case "$found_dir" in + */$acl_libdirstem | */$acl_libdirstem/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` + if test "$name" = 'iconv'; then + LIBICONV_PREFIX="$basedir" + fi + additional_includedir="$basedir/include" + ;; + */$acl_libdirstem2 | */$acl_libdirstem2/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` + if test "$name" = 'iconv'; then + LIBICONV_PREFIX="$basedir" + fi + additional_includedir="$basedir/include" + ;; + esac + if test "X$additional_includedir" != "X"; then + if test "X$additional_includedir" != "X/usr/include"; then + haveit= + if test "X$additional_includedir" = "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + for x in $CPPFLAGS $INCICONV; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + INCICONV="${INCICONV}${INCICONV:+ }-I$additional_includedir" + fi + fi + fi + fi + fi + if test -n "$found_la"; then + save_libdir="$libdir" + case "$found_la" in + */* | *\\*) . "$found_la" ;; + *) . "./$found_la" ;; + esac + libdir="$save_libdir" + for dep in $dependency_libs; do + case "$dep" in + -L*) + additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` + if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ + && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then + haveit= + if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ + || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + haveit= + for x in $LDFLAGS $LIBICONV; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LIBICONV="${LIBICONV}${LIBICONV:+ }-L$additional_libdir" + fi + fi + haveit= + for x in $LDFLAGS $LTLIBICONV; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$additional_libdir" + fi + fi + fi + fi + ;; + -R*) + dir=`echo "X$dep" | sed -e 's/^X-R//'` + if test "$enable_rpath" != no; then + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $dir" + fi + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $dir" + fi + fi + ;; + -l*) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` + ;; + *.la) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` + ;; + *) + LIBICONV="${LIBICONV}${LIBICONV:+ }$dep" + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$dep" + ;; + esac + done + fi + else + LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-l$name" + fi + fi + fi + done + done + if test "X$rpathdirs" != "X"; then + if test -n "$acl_hardcode_libdir_separator"; then + alldirs= + for found_dir in $rpathdirs; do + alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" + done + acl_save_libdir="$libdir" + libdir="$alldirs" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" + else + for found_dir in $rpathdirs; do + acl_save_libdir="$libdir" + libdir="$found_dir" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" + done + fi + fi + if test "X$ltrpathdirs" != "X"; then + for found_dir in $ltrpathdirs; do + LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-R$found_dir" + done + fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFPreferencesCopyAppValue" >&5 +$as_echo_n "checking for CFPreferencesCopyAppValue... " >&6; } +if ${gt_cv_func_CFPreferencesCopyAppValue+:} false; then : + $as_echo_n "(cached) " >&6 +else + gt_save_LIBS="$LIBS" + LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +CFPreferencesCopyAppValue(NULL, NULL) + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + gt_cv_func_CFPreferencesCopyAppValue=yes +else + gt_cv_func_CFPreferencesCopyAppValue=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$gt_save_LIBS" +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5 +$as_echo "$gt_cv_func_CFPreferencesCopyAppValue" >&6; } + if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then + +$as_echo "#define HAVE_CFPREFERENCESCOPYAPPVALUE 1" >>confdefs.h + + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFLocaleCopyCurrent" >&5 +$as_echo_n "checking for CFLocaleCopyCurrent... " >&6; } +if ${gt_cv_func_CFLocaleCopyCurrent+:} false; then : + $as_echo_n "(cached) " >&6 +else + gt_save_LIBS="$LIBS" + LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +CFLocaleCopyCurrent(); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + gt_cv_func_CFLocaleCopyCurrent=yes +else + gt_cv_func_CFLocaleCopyCurrent=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$gt_save_LIBS" +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFLocaleCopyCurrent" >&5 +$as_echo "$gt_cv_func_CFLocaleCopyCurrent" >&6; } + if test $gt_cv_func_CFLocaleCopyCurrent = yes; then + +$as_echo "#define HAVE_CFLOCALECOPYCURRENT 1" >>confdefs.h + + fi + INTL_MACOSX_LIBS= + if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then + INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" + fi + + + + + + + LIBINTL= + LTLIBINTL= + POSUB= + + case " $gt_needs " in + *" need-formatstring-macros "*) gt_api_version=3 ;; + *" need-ngettext "*) gt_api_version=2 ;; + *) gt_api_version=1 ;; + esac + gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc" + gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl" + + if test "$USE_NLS" = "yes"; then + gt_use_preinstalled_gnugettext=no + + + if test $gt_api_version -ge 3; then + gt_revision_test_code=' +#ifndef __GNU_GETTEXT_SUPPORTED_REVISION +#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) +#endif +typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; +' + else + gt_revision_test_code= + fi + if test $gt_api_version -ge 2; then + gt_expression_test_code=' + * ngettext ("", "", 0)' + else + gt_expression_test_code= + fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libc" >&5 +$as_echo_n "checking for GNU gettext in libc... " >&6; } +if eval \${$gt_func_gnugettext_libc+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* 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 +if ac_fn_c_try_link "$LINENO"; then : + eval "$gt_func_gnugettext_libc=yes" +else + eval "$gt_func_gnugettext_libc=no" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$gt_func_gnugettext_libc + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + + if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then + + + + + + am_save_CPPFLAGS="$CPPFLAGS" + + for element in $INCICONV; do + haveit= + for x in $CPPFLAGS; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X$element"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" + fi + done + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5 +$as_echo_n "checking for iconv... " >&6; } +if ${am_cv_func_iconv+:} false; then : + $as_echo_n "(cached) " >&6 +else + + am_cv_func_iconv="no, consider installing GNU libiconv" + am_cv_lib_iconv=no + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +int +main () +{ +iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + am_cv_func_iconv=yes +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test "$am_cv_func_iconv" != yes; then + am_save_LIBS="$LIBS" + LIBS="$LIBS $LIBICONV" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +int +main () +{ +iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + am_cv_lib_iconv=yes + am_cv_func_iconv=yes +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$am_save_LIBS" + fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5 +$as_echo "$am_cv_func_iconv" >&6; } + if test "$am_cv_func_iconv" = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working iconv" >&5 +$as_echo_n "checking for working iconv... " >&6; } +if ${am_cv_func_iconv_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + + am_save_LIBS="$LIBS" + if test $am_cv_lib_iconv = yes; then + LIBS="$LIBS $LIBICONV" + fi + if test "$cross_compiling" = yes; then : + case "$host_os" in + aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; + *) am_cv_func_iconv_works="guessing yes" ;; + esac +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#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; + } + } + /* Test against Solaris 10 bug: Failures are not distinguishable from + successful returns. */ + { + iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646"); + if (cd_ascii_to_88591 != (iconv_t)(-1)) + { + static const char input[] = "\263"; + char buf[10]; + const char *inptr = input; + size_t inbytesleft = strlen (input); + char *outptr = buf; + size_t outbytesleft = sizeof (buf); + size_t res = iconv (cd_ascii_to_88591, + (char **) &inptr, &inbytesleft, + &outptr, &outbytesleft); + if (res == 0) + return 1; + } + } +#if 0 /* This bug could be worked around by the caller. */ + /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ + { + iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); + if (cd_88591_to_utf8 != (iconv_t)(-1)) + { + static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; + char buf[50]; + const char *inptr = input; + size_t inbytesleft = strlen (input); + char *outptr = buf; + size_t outbytesleft = sizeof (buf); + size_t res = iconv (cd_88591_to_utf8, + (char **) &inptr, &inbytesleft, + &outptr, &outbytesleft); + if ((int)res > 0) + return 1; + } + } +#endif + /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is + provided. */ + if (/* Try standardized names. */ + iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1) + /* Try IRIX, OSF/1 names. */ + && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1) + /* Try AIX names. */ + && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) + /* Try HP-UX names. */ + && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) + return 1; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + am_cv_func_iconv_works=yes +else + am_cv_func_iconv_works=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + + LIBS="$am_save_LIBS" + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv_works" >&5 +$as_echo "$am_cv_func_iconv_works" >&6; } + case "$am_cv_func_iconv_works" in + *no) am_func_iconv=no am_cv_lib_iconv=no ;; + *) am_func_iconv=yes ;; + esac + else + am_func_iconv=no am_cv_lib_iconv=no + fi + if test "$am_func_iconv" = yes; then + +$as_echo "#define HAVE_ICONV 1" >>confdefs.h + + fi + if test "$am_cv_lib_iconv" = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5 +$as_echo_n "checking how to link with libiconv... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5 +$as_echo "$LIBICONV" >&6; } + else + CPPFLAGS="$am_save_CPPFLAGS" + LIBICONV= + LTLIBICONV= + fi + + + + + + + + + + + + use_additional=yes + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + +# Check whether --with-libintl-prefix was given. +if test "${with_libintl_prefix+set}" = set; then : + withval=$with_libintl_prefix; + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + else + additional_includedir="$withval/include" + additional_libdir="$withval/$acl_libdirstem" + if test "$acl_libdirstem2" != "$acl_libdirstem" \ + && ! test -d "$withval/$acl_libdirstem"; then + additional_libdir="$withval/$acl_libdirstem2" + fi + fi + fi + +fi + + LIBINTL= + LTLIBINTL= + INCINTL= + LIBINTL_PREFIX= + HAVE_LIBINTL= + rpathdirs= + ltrpathdirs= + names_already_handled= + names_next_round='intl ' + while test -n "$names_next_round"; do + names_this_round="$names_next_round" + names_next_round= + for name in $names_this_round; do + already_handled= + for n in $names_already_handled; do + if test "$n" = "$name"; then + already_handled=yes + break + fi + done + if test -z "$already_handled"; then + names_already_handled="$names_already_handled $name" + uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` + eval value=\"\$HAVE_LIB$uppername\" + if test -n "$value"; then + if test "$value" = yes; then + eval value=\"\$LIB$uppername\" + test -z "$value" || LIBINTL="${LIBINTL}${LIBINTL:+ }$value" + eval value=\"\$LTLIB$uppername\" + test -z "$value" || LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$value" + else + : + fi + else + found_dir= + found_la= + found_so= + found_a= + eval libname=\"$acl_libname_spec\" # typically: libname=lib$name + if test -n "$acl_shlibext"; then + shrext=".$acl_shlibext" # typically: shrext=.so + else + shrext= + fi + if test $use_additional = yes; then + dir="$additional_libdir" + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + fi + if test "X$found_dir" = "X"; then + for x in $LDFLAGS $LTLIBINTL; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + case "$x" in + -L*) + dir=`echo "X$x" | sed -e 's/^X-L//'` + if test -n "$acl_shlibext"; then + if test -f "$dir/$libname$shrext"; then + found_dir="$dir" + found_so="$dir/$libname$shrext" + else + if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then + ver=`(cd "$dir" && \ + for f in "$libname$shrext".*; do echo "$f"; done \ + | sed -e "s,^$libname$shrext\\\\.,," \ + | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ + | sed 1q ) 2>/dev/null` + if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then + found_dir="$dir" + found_so="$dir/$libname$shrext.$ver" + fi + else + eval library_names=\"$acl_library_names_spec\" + for f in $library_names; do + if test -f "$dir/$f"; then + found_dir="$dir" + found_so="$dir/$f" + break + fi + done + fi + fi + fi + if test "X$found_dir" = "X"; then + if test -f "$dir/$libname.$acl_libext"; then + found_dir="$dir" + found_a="$dir/$libname.$acl_libext" + fi + fi + if test "X$found_dir" != "X"; then + if test -f "$dir/$libname.la"; then + found_la="$dir/$libname.la" + fi + fi + ;; + esac + if test "X$found_dir" != "X"; then + break + fi + done + fi + if test "X$found_dir" != "X"; then + LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$found_dir -l$name" + if test "X$found_so" != "X"; then + if test "$enable_rpath" = no \ + || test "X$found_dir" = "X/usr/$acl_libdirstem" \ + || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then + LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" + else + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $found_dir" + fi + if test "$acl_hardcode_direct" = yes; then + LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" + else + if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then + LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $found_dir" + fi + else + haveit= + for x in $LDFLAGS $LIBINTL; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir" + fi + if test "$acl_hardcode_minus_L" != no; then + LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" + else + LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" + fi + fi + fi + fi + else + if test "X$found_a" != "X"; then + LIBINTL="${LIBINTL}${LIBINTL:+ }$found_a" + else + LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir -l$name" + fi + fi + additional_includedir= + case "$found_dir" in + */$acl_libdirstem | */$acl_libdirstem/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` + if test "$name" = 'intl'; then + LIBINTL_PREFIX="$basedir" + fi + additional_includedir="$basedir/include" + ;; + */$acl_libdirstem2 | */$acl_libdirstem2/) + basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` + if test "$name" = 'intl'; then + LIBINTL_PREFIX="$basedir" + fi + additional_includedir="$basedir/include" + ;; + esac + if test "X$additional_includedir" != "X"; then + if test "X$additional_includedir" != "X/usr/include"; then + haveit= + if test "X$additional_includedir" = "X/usr/local/include"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + for x in $CPPFLAGS $INCINTL; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_includedir"; then + INCINTL="${INCINTL}${INCINTL:+ }-I$additional_includedir" + fi + fi + fi + fi + fi + if test -n "$found_la"; then + save_libdir="$libdir" + case "$found_la" in + */* | *\\*) . "$found_la" ;; + *) . "./$found_la" ;; + esac + libdir="$save_libdir" + for dep in $dependency_libs; do + case "$dep" in + -L*) + additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` + if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ + && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then + haveit= + if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ + || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then + if test -n "$GCC"; then + case $host_os in + linux* | gnu* | k*bsd*-gnu) haveit=yes;; + esac + fi + fi + if test -z "$haveit"; then + haveit= + for x in $LDFLAGS $LIBINTL; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LIBINTL="${LIBINTL}${LIBINTL:+ }-L$additional_libdir" + fi + fi + haveit= + for x in $LDFLAGS $LTLIBINTL; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + if test -d "$additional_libdir"; then + LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$additional_libdir" + fi + fi + fi + fi + ;; + -R*) + dir=`echo "X$dep" | sed -e 's/^X-R//'` + if test "$enable_rpath" != no; then + haveit= + for x in $rpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + rpathdirs="$rpathdirs $dir" + fi + haveit= + for x in $ltrpathdirs; do + if test "X$x" = "X$dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + ltrpathdirs="$ltrpathdirs $dir" + fi + fi + ;; + -l*) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` + ;; + *.la) + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` + ;; + *) + LIBINTL="${LIBINTL}${LIBINTL:+ }$dep" + LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$dep" + ;; + esac + done + fi + else + LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" + LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-l$name" + fi + fi + fi + done + done + if test "X$rpathdirs" != "X"; then + if test -n "$acl_hardcode_libdir_separator"; then + alldirs= + for found_dir in $rpathdirs; do + alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" + done + acl_save_libdir="$libdir" + libdir="$alldirs" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" + else + for found_dir in $rpathdirs; do + acl_save_libdir="$libdir" + libdir="$found_dir" + eval flag=\"$acl_hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" + done + fi + fi + if test "X$ltrpathdirs" != "X"; then + for found_dir in $ltrpathdirs; do + LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-R$found_dir" + done + fi + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libintl" >&5 +$as_echo_n "checking for GNU gettext in libintl... " >&6; } +if eval \${$gt_func_gnugettext_libintl+:} false; then : + $as_echo_n "(cached) " >&6 +else + gt_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $INCINTL" + gt_save_LIBS="$LIBS" + LIBS="$LIBS $LIBINTL" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +$gt_revision_test_code +extern int _nl_msg_cat_cntr; +extern +#ifdef __cplusplus +"C" +#endif +const char *_nl_expand_alias (const char *); +int +main () +{ +bindtextdomain ("", ""); +return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("") + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + eval "$gt_func_gnugettext_libintl=yes" +else + eval "$gt_func_gnugettext_libintl=no" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then + LIBS="$LIBS $LIBICONV" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +$gt_revision_test_code +extern int _nl_msg_cat_cntr; +extern +#ifdef __cplusplus +"C" +#endif +const char *_nl_expand_alias (const char *); +int +main () +{ +bindtextdomain ("", ""); +return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("") + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + LIBINTL="$LIBINTL $LIBICONV" + LTLIBINTL="$LTLIBINTL $LTLIBICONV" + eval "$gt_func_gnugettext_libintl=yes" + +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + fi + CPPFLAGS="$gt_save_CPPFLAGS" + LIBS="$gt_save_LIBS" +fi +eval ac_res=\$$gt_func_gnugettext_libintl + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + fi + + if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \ + || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \ + && test "$PACKAGE" != gettext-runtime \ + && test "$PACKAGE" != gettext-tools; }; then + gt_use_preinstalled_gnugettext=yes + else + LIBINTL= + LTLIBINTL= + INCINTL= + fi + + + + if test -n "$INTL_MACOSX_LIBS"; then + if test "$gt_use_preinstalled_gnugettext" = "yes" \ + || test "$nls_cv_use_gnu_gettext" = "yes"; then + LIBINTL="$LIBINTL $INTL_MACOSX_LIBS" + LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS" + fi + fi + + if test "$gt_use_preinstalled_gnugettext" = "yes" \ + || test "$nls_cv_use_gnu_gettext" = "yes"; then + +$as_echo "#define ENABLE_NLS 1" >>confdefs.h + + else + USE_NLS=no + fi + fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use NLS" >&5 +$as_echo_n "checking whether to use NLS... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 +$as_echo "$USE_NLS" >&6; } + if test "$USE_NLS" = "yes"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking where the gettext function comes from" >&5 +$as_echo_n "checking where the gettext function comes from... " >&6; } + if test "$gt_use_preinstalled_gnugettext" = "yes"; then + if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then + gt_source="external libintl" + else + gt_source="libc" + fi + else + gt_source="included intl directory" + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_source" >&5 +$as_echo "$gt_source" >&6; } + fi + + if test "$USE_NLS" = "yes"; then + + if test "$gt_use_preinstalled_gnugettext" = "yes"; then + if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libintl" >&5 +$as_echo_n "checking how to link with libintl... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBINTL" >&5 +$as_echo "$LIBINTL" >&6; } + + for element in $INCINTL; do + haveit= + for x in $CPPFLAGS; do + + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + eval x=\"$x\" + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + + if test "X$x" = "X$element"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" + fi + done + + fi + + +$as_echo "#define HAVE_GETTEXT 1" >>confdefs.h + + +$as_echo "#define HAVE_DCGETTEXT 1" >>confdefs.h + + fi + + POSUB=po + fi + + + + INTLLIBS="$LIBINTL" + + + + + + + +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:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_YACC+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_YACC="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +YACC=$ac_cv_prog_YACC +if test -n "$YACC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $YACC" >&5 +$as_echo "$YACC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$YACC" && break +done +test -n "$YACC" || YACC="yacc" + +if test "$YACC" != 'bison -y'; then : + + YACC="\${top_srcdir}/build-aux/missing bison -y" + { $as_echo "$as_me:${as_lineno-$LINENO}: no bison program found: only required for maintainers" >&5 +$as_echo "$as_me: no bison program found: only required for maintainers" >&6;} + +fi + if test "$YACC" = 'bison -y'; then + HAVE_BISON_TRUE= + HAVE_BISON_FALSE='#' +else + HAVE_BISON_TRUE='#' + HAVE_BISON_FALSE= +fi + +for ac_prog in flex lex +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_LEX+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$LEX"; then + ac_cv_prog_LEX="$LEX" # 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_LEX="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +LEX=$ac_cv_prog_LEX +if test -n "$LEX"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LEX" >&5 +$as_echo "$LEX" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$LEX" && break +done +test -n "$LEX" || LEX=":" + +if test "x$LEX" != "x:"; then + cat >conftest.l <<_ACEOF +%% +a { ECHO; } +b { REJECT; } +c { yymore (); } +d { yyless (1); } +e { /* IRIX 6.5 flex 2.5.4 underquotes its yyless argument. */ + yyless ((input () != 0)); } +f { unput (yytext[0]); } +. { BEGIN INITIAL; } +%% +#ifdef YYTEXT_POINTER +extern char *yytext; +#endif +int +main (void) +{ + return ! yylex () + ! yywrap (); +} +_ACEOF +{ { ac_try="$LEX conftest.l" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$LEX conftest.l") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking lex output file root" >&5 +$as_echo_n "checking lex output file root... " >&6; } +if ${ac_cv_prog_lex_root+:} false; then : + $as_echo_n "(cached) " >&6 +else + +if test -f lex.yy.c; then + ac_cv_prog_lex_root=lex.yy +elif test -f lexyy.c; then + ac_cv_prog_lex_root=lexyy +else + as_fn_error $? "cannot find output from $LEX; giving up" "$LINENO" 5 +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_lex_root" >&5 +$as_echo "$ac_cv_prog_lex_root" >&6; } +LEX_OUTPUT_ROOT=$ac_cv_prog_lex_root + +if test -z "${LEXLIB+set}"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking lex library" >&5 +$as_echo_n "checking lex library... " >&6; } +if ${ac_cv_lib_lex+:} false; then : + $as_echo_n "(cached) " >&6 +else + + ac_save_LIBS=$LIBS + ac_cv_lib_lex='none needed' + for ac_lib in '' -lfl -ll; do + LIBS="$ac_lib $ac_save_LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +`cat $LEX_OUTPUT_ROOT.c` +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_lex=$ac_lib +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + test "$ac_cv_lib_lex" != 'none needed' && break + done + LIBS=$ac_save_LIBS + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lex" >&5 +$as_echo "$ac_cv_lib_lex" >&6; } + test "$ac_cv_lib_lex" != 'none needed' && LEXLIB=$ac_cv_lib_lex +fi + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether yytext is a pointer" >&5 +$as_echo_n "checking whether yytext is a pointer... " >&6; } +if ${ac_cv_prog_lex_yytext_pointer+:} false; then : + $as_echo_n "(cached) " >&6 +else + # POSIX says lex can declare yytext either as a pointer or an array; the +# default is implementation-dependent. Figure out which it is, since +# not all implementations provide the %pointer and %array declarations. +ac_cv_prog_lex_yytext_pointer=no +ac_save_LIBS=$LIBS +LIBS="$LEXLIB $ac_save_LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #define YYTEXT_POINTER 1 +`cat $LEX_OUTPUT_ROOT.c` +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_prog_lex_yytext_pointer=yes +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_save_LIBS + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_lex_yytext_pointer" >&5 +$as_echo "$ac_cv_prog_lex_yytext_pointer" >&6; } +if test $ac_cv_prog_lex_yytext_pointer = yes; then + +$as_echo "#define YYTEXT_POINTER 1" >>confdefs.h + +fi +rm -f conftest.l $LEX_OUTPUT_ROOT.c + +fi +if test "$LEX" = :; then + LEX=${am_missing_run}flex +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:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_CC+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="gcc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +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:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + fi +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_CC+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi + + +test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "no acceptable C compiler found in \$PATH +See \`config.log' for more details" "$LINENO" 5; } + +# Provide some information about the compiler. +$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +for ac_option in --version -v -V -qversion; do + { { ac_try="$ac_compiler $ac_option >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 +$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } +if ${ac_cv_c_compiler_gnu+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_compiler_gnu=yes +else + 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:${as_lineno-$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:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +$as_echo_n "checking whether $CC accepts -g... " >&6; } +if ${ac_cv_prog_cc_g+:} false; 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 confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_g=yes +else + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +else + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +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:${as_lineno-$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:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 +$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } +if ${ac_cv_prog_cc_c89+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +struct stat; +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_c89=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +$as_echo "none needed" >&6; } ;; + xno) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +$as_echo "unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; +esac +if test "x$ac_cv_prog_cc_c89" != xno; then : + +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_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:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 +$as_echo_n "checking whether $CC understands -c and -o together... " >&6; } +if ${am_cv_prog_cc_c_o+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF + # Make sure it works both with $CC and with simple cc. + # Following AC_PROG_CC_C_O, we do the test twice because some + # compilers refuse to overwrite an existing .o file with -o, + # though they will create one. + am_cv_prog_cc_c_o=yes + for am_i in 1 2; do + if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 + ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } \ + && test -f conftest2.$ac_objext; then + : OK + else + am_cv_prog_cc_c_o=no + break + fi + done + rm -f core conftest* + unset am_i +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 +$as_echo "$am_cv_prog_cc_c_o" >&6; } +if test "$am_cv_prog_cc_c_o" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC="$am_aux_dir/compile $CC" +fi +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 + + + + + +save_cross_compiling=$cross_compiling +save_ac_tool_prefix=$ac_tool_prefix +cross_compiling=no +ac_tool_prefix= + +ac_ext=c +ac_build_cpp='$CPP_FOR_BUILD $CPPFLAGS_FOR_BUILD' +ac_build_compile='$CC_FOR_BUILD -c $CFLAGS_FOR_BUILD $CPPFLAGS_FOR_BUILD conftest.$ac_ext >&5' +ac_build_link='$CC_FOR_BUILD -o conftest$ac_build_exeext $CFLAGS_FOR_BUILD $CPPFLAGS_FOR_BUILD $LDFLAGS_FOR_BUILD conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC_FOR_BUILD+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC_FOR_BUILD"; then + ac_cv_prog_CC_FOR_BUILD="$CC_FOR_BUILD" # 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC_FOR_BUILD="${ac_tool_prefix}gcc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC_FOR_BUILD=$ac_cv_prog_CC_FOR_BUILD +if test -n "$CC_FOR_BUILD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC_FOR_BUILD" >&5 +$as_echo "$CC_FOR_BUILD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC_FOR_BUILD"; then + ac_ct_CC_FOR_BUILD=$CC_FOR_BUILD + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_CC_FOR_BUILD+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_CC_FOR_BUILD"; then + ac_cv_prog_ac_ct_CC_FOR_BUILD="$ac_ct_CC_FOR_BUILD" # 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC_FOR_BUILD="gcc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC_FOR_BUILD=$ac_cv_prog_ac_ct_CC_FOR_BUILD +if test -n "$ac_ct_CC_FOR_BUILD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC_FOR_BUILD" >&5 +$as_echo "$ac_ct_CC_FOR_BUILD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_CC_FOR_BUILD" = x; then + CC_FOR_BUILD="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with build triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with build triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC_FOR_BUILD=$ac_ct_CC_FOR_BUILD + fi +else + CC_FOR_BUILD="$ac_cv_prog_CC_FOR_BUILD" +fi + +if test -z "$CC_FOR_BUILD"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC_FOR_BUILD+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC_FOR_BUILD"; then + ac_cv_prog_CC_FOR_BUILD="$CC_FOR_BUILD" # 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC_FOR_BUILD="${ac_tool_prefix}cc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC_FOR_BUILD=$ac_cv_prog_CC_FOR_BUILD +if test -n "$CC_FOR_BUILD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC_FOR_BUILD" >&5 +$as_echo "$CC_FOR_BUILD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + fi +fi +if test -z "$CC_FOR_BUILD"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC_FOR_BUILD+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC_FOR_BUILD"; then + ac_cv_prog_CC_FOR_BUILD="$CC_FOR_BUILD" # 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 as_fn_executable_p "$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_FOR_BUILD="cc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC_FOR_BUILD + 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_FOR_BUILD to just the basename; use the full file name. + shift + ac_cv_prog_CC_FOR_BUILD="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC_FOR_BUILD=$ac_cv_prog_CC_FOR_BUILD +if test -n "$CC_FOR_BUILD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC_FOR_BUILD" >&5 +$as_echo "$CC_FOR_BUILD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$CC_FOR_BUILD"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC_FOR_BUILD+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC_FOR_BUILD"; then + ac_cv_prog_CC_FOR_BUILD="$CC_FOR_BUILD" # 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC_FOR_BUILD="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC_FOR_BUILD=$ac_cv_prog_CC_FOR_BUILD +if test -n "$CC_FOR_BUILD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC_FOR_BUILD" >&5 +$as_echo "$CC_FOR_BUILD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$CC_FOR_BUILD" && break + done +fi +if test -z "$CC_FOR_BUILD"; then + ac_ct_CC_FOR_BUILD=$CC_FOR_BUILD + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_CC_FOR_BUILD+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_CC_FOR_BUILD"; then + ac_cv_prog_ac_ct_CC_FOR_BUILD="$ac_ct_CC_FOR_BUILD" # 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC_FOR_BUILD="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC_FOR_BUILD=$ac_cv_prog_ac_ct_CC_FOR_BUILD +if test -n "$ac_ct_CC_FOR_BUILD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC_FOR_BUILD" >&5 +$as_echo "$ac_ct_CC_FOR_BUILD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_CC_FOR_BUILD" && break +done + + if test "x$ac_ct_CC_FOR_BUILD" = x; then + CC_FOR_BUILD="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with build triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with build triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC_FOR_BUILD=$ac_ct_CC_FOR_BUILD + fi +fi + +fi + + +test -z "$CC_FOR_BUILD" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "no acceptable C compiler found in \$PATH +See \`config.log' for more details" "$LINENO" 5; } + +# Provide some information about the compiler. +$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 +set X $ac_build_compile +ac_compiler=$2 +for ac_option in --version -v -V -qversion; do + { { ac_try="$ac_compiler $ac_option >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 +$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } +if ${ac_cv_c_compiler_gnu+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_compiler_gnu=yes +else + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_build_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ $as_echo "$as_me:${as_lineno-$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_FOR_BUILD+set} +ac_save_CFLAGS=$CFLAGS_FOR_BUILD +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC_FOR_BUILD accepts -g" >&5 +$as_echo_n "checking whether $CC_FOR_BUILD accepts -g... " >&6; } +if ${ac_cv_build_prog_cc_g+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_build_prog_cc_g=no + CFLAGS_FOR_BUILD="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_build_prog_cc_g=yes +else + CFLAGS_FOR_BUILD="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +else + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS_FOR_BUILD="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_build_prog_cc_g=yes +fi +rm -f core conftest.err conftest.$ac_build_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_build_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_build_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build_prog_cc_g" >&5 +$as_echo "$ac_cv_build_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then + CFLAGS_FOR_BUILD=$ac_save_CFLAGS +elif test $ac_cv_build_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS_FOR_BUILD="-g -O2" + else + CFLAGS_FOR_BUILD="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS_FOR_BUILD="-O2" + else + CFLAGS_FOR_BUILD= + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC_FOR_BUILD option to accept ISO C89" >&5 +$as_echo_n "checking for $CC_FOR_BUILD option to accept ISO C89... " >&6; } +if ${ac_cv_prog_cc_c89+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC_FOR_BUILD +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +struct stat; +/* 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_FOR_BUILD="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_c89=$ac_arg +fi +rm -f core conftest.err conftest.$ac_build_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC_FOR_BUILD=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +$as_echo "none needed" >&6; } ;; + xno) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +$as_echo "unsupported" >&6; } ;; + *) + CC_FOR_BUILD="$CC_FOR_BUILD $ac_cv_prog_cc_c89" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; +esac +if test "x$ac_cv_prog_cc_c89" != xno; then : + +fi + +ac_ext=c +ac_build_cpp='$CPP_FOR_BUILD $CPPFLAGS_FOR_BUILD' +ac_build_compile='$CC_FOR_BUILD -c $CFLAGS_FOR_BUILD $CPPFLAGS_FOR_BUILD conftest.$ac_ext >&5' +ac_build_link='$CC_FOR_BUILD -o conftest$ac_build_exeext $CFLAGS_FOR_BUILD $CPPFLAGS_FOR_BUILD $LDFLAGS_FOR_BUILD conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +ac_ext=c +ac_build_cpp='$CPP_FOR_BUILD $CPPFLAGS_FOR_BUILD' +ac_build_compile='$CC_FOR_BUILD -c $CFLAGS_FOR_BUILD $CPPFLAGS_FOR_BUILD conftest.$ac_ext >&5' +ac_build_link='$CC_FOR_BUILD -o conftest$ac_build_exeext $CFLAGS_FOR_BUILD $CPPFLAGS_FOR_BUILD $LDFLAGS_FOR_BUILD conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC_FOR_BUILD understands -c and -o together" >&5 +$as_echo_n "checking whether $CC_FOR_BUILD understands -c and -o together... " >&6; } +if ${am_cv_prog_cc_c_o+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF + # Make sure it works both with $CC and with simple cc. + # Following AC_PROG_CC_C_O, we do the test twice because some + # compilers refuse to overwrite an existing .o file with -o, + # though they will create one. + am_cv_prog_cc_c_o=yes + for am_i in 1 2; do + if { echo "$as_me:$LINENO: $CC_FOR_BUILD -c conftest.$ac_ext -o conftest2.$ac_build_objext" >&5 + ($CC_FOR_BUILD -c conftest.$ac_ext -o conftest2.$ac_build_objext) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } \ + && test -f conftest2.$ac_build_objext; then + : OK + else + am_cv_prog_cc_c_o=no + break + fi + done + rm -f core conftest* + unset am_i +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 +$as_echo "$am_cv_prog_cc_c_o" >&6; } +if test "$am_cv_prog_cc_c_o" != yes; then + # Losing compiler, so override with the script. + # FIXME: It is wrong to rewrite CC. + # But if we don't then we get into trouble of one sort or another. + # A longer-term fix would be to have automake use am__CC in this case, + # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" + CC_FOR_BUILD="$am_aux_dir/compile $CC_FOR_BUILD" +fi +ac_ext=c +ac_build_cpp='$CPP_FOR_BUILD $CPPFLAGS_FOR_BUILD' +ac_build_compile='$CC_FOR_BUILD -c $CFLAGS_FOR_BUILD $CPPFLAGS_FOR_BUILD conftest.$ac_ext >&5' +ac_build_link='$CC_FOR_BUILD -o conftest$ac_build_exeext $CFLAGS_FOR_BUILD $CPPFLAGS_FOR_BUILD $LDFLAGS_FOR_BUILD conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +ac_ext=c +ac_build_cpp='$CPP_FOR_BUILD $CPPFLAGS_FOR_BUILD' +ac_build_compile='$CC_FOR_BUILD -c $CFLAGS_FOR_BUILD $CPPFLAGS_FOR_BUILD conftest.$ac_ext >&5' +ac_build_link='$CC_FOR_BUILD -o conftest$ac_build_exeext $CFLAGS_FOR_BUILD $CPPFLAGS_FOR_BUILD $LDFLAGS_FOR_BUILD conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ $as_echo "$as_me:${as_lineno-$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_FOR_BUILD" && test -d "$CPP_FOR_BUILD"; then + CPP_FOR_BUILD= +fi +if test -z "$CPP_FOR_BUILD"; then + if ${ac_cv_build_prog_CPP+:} false; then : + $as_echo_n "(cached) " >&6 +else + # Double quotes because CPP needs to be expanded + for CPP_FOR_BUILD in "$CC_FOR_BUILD -E" "$CC_FOR_BUILD -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 confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + break +fi + + done + ac_cv_build_prog_CPP=$CPP_FOR_BUILD + +fi + CPP_FOR_BUILD=$ac_cv_build_prog_CPP +else + ac_cv_build_prog_CPP=$CPP_FOR_BUILD +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP_FOR_BUILD" >&5 +$as_echo "$CPP_FOR_BUILD" >&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 confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + +else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "C preprocessor \"$CPP_FOR_BUILD\" fails sanity check +See \`config.log' for more details" "$LINENO" 5; } +fi + +ac_ext=c +ac_build_cpp='$CPP_FOR_BUILD $CPPFLAGS_FOR_BUILD' +ac_build_compile='$CC_FOR_BUILD -c $CFLAGS_FOR_BUILD $CPPFLAGS_FOR_BUILD conftest.$ac_ext >&5' +ac_build_link='$CC_FOR_BUILD -o conftest$ac_build_exeext $CFLAGS_FOR_BUILD $CPPFLAGS_FOR_BUILD $LDFLAGS_FOR_BUILD conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + +ac_tool_prefix=$save_ac_tool_prefix +cross_compiling=$save_cross_compiling + + +BUILD_EXEEXT=$ac_build_exeext +BUILD_OBJEXT=$ac_build_objext + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CXX"; then + ac_cv_prog_CXX="$CXX" # 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CXX=$ac_cv_prog_CXX +if test -n "$CXX"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 +$as_echo "$CXX" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_CXX"; then + ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CXX="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CXX=$ac_cv_prog_ac_ct_CXX +if test -n "$ac_ct_CXX"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 +$as_echo "$ac_ct_CXX" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +for ac_option in --version -v -V -qversion; do + { { ac_try="$ac_compiler $ac_option >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 +$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } +if ${ac_cv_cxx_compiler_gnu+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + ac_compiler_gnu=yes +else + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 +$as_echo "$ac_cv_cxx_compiler_gnu" >&6; } +if test $ac_compiler_gnu = yes; then + GXX=yes +else + GXX= +fi +ac_test_CXXFLAGS=${CXXFLAGS+set} +ac_save_CXXFLAGS=$CXXFLAGS +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 +$as_echo_n "checking whether $CXX accepts -g... " >&6; } +if ${ac_cv_prog_cxx_g+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + ac_cv_prog_cxx_g=yes +else + CXXFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + +else + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + ac_cv_prog_cxx_g=yes +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_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 +$as_echo "$ac_cv_prog_cxx_g" >&6; } +if test "$ac_test_CXXFLAGS" = set; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +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 + + + +func_stripname_cnf () +{ + case $2 in + .*) func_stripname_result=`$ECHO "$3" | $SED "s%^$1%%; s%\\\\$2\$%%"`;; + *) func_stripname_result=`$ECHO "$3" | $SED "s%^$1%%; s%$2\$%%"`;; + esac +} # func_stripname_cnf + + if test -n "$CXX" && ( test no != "$CXX" && + ( (test g++ = "$CXX" && `g++ -v >/dev/null 2>&1` ) || + (test g++ != "$CXX"))); then + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 +$as_echo_n "checking how to run the C++ preprocessor... " >&6; } +if test -z "$CXXCPP"; then + if ${ac_cv_prog_CXXCPP+:} false; then : + $as_echo_n "(cached) " >&6 +else + # Double quotes because CXXCPP needs to be expanded + for CXXCPP in "$CXX -E" "/lib/cpp" + do + ac_preproc_ok=false +for ac_cxx_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 confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + break +fi + + done + ac_cv_prog_CXXCPP=$CXXCPP + +fi + CXXCPP=$ac_cv_prog_CXXCPP +else + ac_cv_prog_CXXCPP=$CXXCPP +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 +$as_echo "$CXXCPP" >&6; } +ac_preproc_ok=false +for ac_cxx_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 confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + +else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5; } +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 + +else + _lt_caught_CXX_error=yes +fi + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + +archive_cmds_need_lc_CXX=no +allow_undefined_flag_CXX= +always_export_symbols_CXX=no +archive_expsym_cmds_CXX= +compiler_needs_object_CXX=no +export_dynamic_flag_spec_CXX= +hardcode_direct_CXX=no +hardcode_direct_absolute_CXX=no +hardcode_libdir_flag_spec_CXX= +hardcode_libdir_separator_CXX= +hardcode_minus_L_CXX=no +hardcode_shlibpath_var_CXX=unsupported +hardcode_automatic_CXX=no +inherit_rpath_CXX=no +module_cmds_CXX= +module_expsym_cmds_CXX= +link_all_deplibs_CXX=unknown +old_archive_cmds_CXX=$old_archive_cmds +reload_flag_CXX=$reload_flag +reload_cmds_CXX=$reload_cmds +no_undefined_flag_CXX= +whole_archive_flag_spec_CXX= +enable_shared_with_static_runtimes_CXX=no + +# Source file extension for C++ test sources. +ac_ext=cpp + +# Object file extension for compiled C++ test sources. +objext=o +objext_CXX=$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 yes != "$_lt_caught_CXX_error"; 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. + + + + + + +# 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 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* + + + # Allow CC to be a program name with arguments. + lt_save_CC=$CC + lt_save_CFLAGS=$CFLAGS + 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++"} + CFLAGS=$CXXFLAGS + compiler=$CC + compiler_CXX=$CC + func_cc_basename $compiler +cc_basename=$func_cc_basename_result + + + if test -n "$compiler"; then + # We don't want -fno-exception when compiling C++ code, so set the + # no_builtin_flag separately + if test yes = "$GXX"; then + lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' + else + lt_prog_compiler_no_builtin_flag_CXX= + fi + + if test yes = "$GXX"; then + # Set up default GNU C++ configuration + + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then : + withval=$with_gnu_ld; test no = "$withval" || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +ac_prog=ld +if test yes = "$GCC"; then + # Check if gcc -print-prog-name=ld gives a path. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 +$as_echo_n "checking for ld used by $CC... " >&6; } + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return, which upsets mingw + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $ac_prog in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` + while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do + ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` + done + test -z "$LD" && LD=$ac_prog + ;; + "") + # If it fails, then pretend we aren't using GCC. + ac_prog=ld + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac +elif test yes = "$with_gnu_ld"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 +$as_echo_n "checking for GNU ld... " >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 +$as_echo_n "checking for non-GNU ld... " >&6; } +fi +if ${lt_cv_path_LD+:} false; 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:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 +$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } +if ${lt_cv_prog_gnu_ld+:} false; 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 + + + + + + + + # 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 yes = "$with_gnu_ld"; then + archive_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + + hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' + export_dynamic_flag_spec_CXX='$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 + whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' + else + whole_archive_flag_spec_CXX= + 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. + archive_cmds_CXX='$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 -v "^Configured with:" | $GREP "\-L"' + + else + GXX=no + with_gnu_ld=no + wlarc= + fi + + # PORTME: fill in a description of your system's C++ link characteristics + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + ld_shlibs_CXX=yes + case $host_os in + aix3*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + aix[4-9]*) + if test ia64 = "$host_cpu"; 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 + # have runtime linking enabled, and use it for executables. + # For shared libraries, we enable/disable runtime linking + # depending on the kind of the shared library created - + # when "with_aix_soname,aix_use_runtimelinking" is: + # "aix,no" lib.a(lib.so.V) shared, rtl:no, for executables + # "aix,yes" lib.so shared, rtl:yes, for executables + # lib.a static archive + # "both,no" lib.so.V(shr.o) shared, rtl:yes + # lib.a(lib.so.V) shared, rtl:no, for executables + # "both,yes" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a(lib.so.V) shared, rtl:no + # "svr4,*" lib.so.V(shr.o) shared, rtl:yes, for executables + # lib.a static archive + 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 + if test svr4,no = "$with_aix_soname,$aix_use_runtimelinking"; then + # With aix-soname=svr4, we create the lib.so.V shared archives only, + # so we don't have lib.a shared libs to link our executables. + # We have to force runtime linking in this case. + aix_use_runtimelinking=yes + LDFLAGS="$LDFLAGS -Wl,-brtl" + fi + ;; + 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_CXX='' + hardcode_direct_CXX=yes + hardcode_direct_absolute_CXX=yes + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + file_list_spec_CXX='$wl-f,' + case $with_aix_soname,$aix_use_runtimelinking in + aix,*) ;; # no import file + svr4,* | *,yes) # use import file + # The Import File defines what to hardcode. + hardcode_direct_CXX=no + hardcode_direct_absolute_CXX=no + ;; + esac + + if test yes = "$GXX"; 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_CXX=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_CXX=yes + hardcode_libdir_flag_spec_CXX='-L$libdir' + hardcode_libdir_separator_CXX= + fi + esac + shared_flag='-shared' + if test yes = "$aix_use_runtimelinking"; then + shared_flag=$shared_flag' $wl-G' + fi + # Need to ensure runtime linking is disabled for the traditional + # shared library, or the linker may eventually find shared libraries + # /with/ Import File - we do not want to mix them. + shared_flag_aix='-shared' + shared_flag_svr4='-shared $wl-G' + else + # not using gcc + if test ia64 = "$host_cpu"; 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 yes = "$aix_use_runtimelinking"; then + shared_flag='$wl-G' + else + shared_flag='$wl-bM:SRE' + fi + shared_flag_aix='$wl-bM:SRE' + shared_flag_svr4='$wl-G' + fi + fi + + export_dynamic_flag_spec_CXX='$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_CXX=yes + if test aix,yes = "$with_aix_soname,$aix_use_runtimelinking"; then + # Warning - without using the other runtime loading flags (-brtl), + # -berok will link without error, but may produce a broken library. + # The "-G" linker flag allows undefined symbols. + no_undefined_flag_CXX='-bernotok' + # Determine the default libpath from the value encoded in an empty + # executable. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath__CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath__CXX=`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 "$lt_cv_aix_libpath__CXX"; then + lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath__CXX"; then + lt_cv_aix_libpath__CXX=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath__CXX +fi + + hardcode_libdir_flag_spec_CXX='$wl-blibpath:$libdir:'"$aix_libpath" + + archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs $wl'$no_entry_flag' $compiler_flags `if test -n "$allow_undefined_flag"; then func_echo_all "$wl$allow_undefined_flag"; else :; fi` $wl'$exp_sym_flag:\$export_symbols' '$shared_flag + else + if test ia64 = "$host_cpu"; then + hardcode_libdir_flag_spec_CXX='$wl-R $libdir:/usr/lib:/lib' + allow_undefined_flag_CXX="-z nodefs" + archive_expsym_cmds_CXX="\$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. + if test set = "${lt_cv_aix_libpath+set}"; then + aix_libpath=$lt_cv_aix_libpath +else + if ${lt_cv_aix_libpath__CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + + lt_aix_libpath_sed=' + /Import File Strings/,/^$/ { + /^0/ { + s/^0 *\([^ ]*\) *$/\1/ + p + } + }' + lt_cv_aix_libpath__CXX=`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 "$lt_cv_aix_libpath__CXX"; then + lt_cv_aix_libpath__CXX=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + if test -z "$lt_cv_aix_libpath__CXX"; then + lt_cv_aix_libpath__CXX=/usr/lib:/lib + fi + +fi + + aix_libpath=$lt_cv_aix_libpath__CXX +fi + + hardcode_libdir_flag_spec_CXX='$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_CXX=' $wl-bernotok' + allow_undefined_flag_CXX=' $wl-berok' + if test yes = "$with_gnu_ld"; then + # We only use this code for GNU lds that support --whole-archive. + whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive' + else + # Exported symbols can be pulled into shared objects from archives + whole_archive_flag_spec_CXX='$convenience' + fi + archive_cmds_need_lc_CXX=yes + archive_expsym_cmds_CXX='$RM -r $output_objdir/$realname.d~$MKDIR $output_objdir/$realname.d' + # -brtl affects multiple linker settings, -berok does not and is overridden later + compiler_flags_filtered='`func_echo_all "$compiler_flags " | $SED -e "s%-brtl\\([, ]\\)%-berok\\1%g"`' + if test svr4 != "$with_aix_soname"; then + # This is similar to how AIX traditionally builds its shared + # libraries. Need -bnortl late, we may have -brtl in LDFLAGS. + archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$CC '$shared_flag_aix' -o $output_objdir/$realname.d/$soname $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$realname.d/$soname' + fi + if test aix != "$with_aix_soname"; then + archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$CC '$shared_flag_svr4' -o $output_objdir/$realname.d/$shared_archive_member_spec.o $libobjs $deplibs $wl-bnoentry '$compiler_flags_filtered'$wl-bE:$export_symbols$allow_undefined_flag~$STRIP -e $output_objdir/$realname.d/$shared_archive_member_spec.o~( func_echo_all "#! $soname($shared_archive_member_spec.o)"; if test shr_64 = "$shared_archive_member_spec"; then func_echo_all "# 64"; else func_echo_all "# 32"; fi; cat $export_symbols ) > $output_objdir/$realname.d/$shared_archive_member_spec.imp~$AR $AR_FLAGS $output_objdir/$soname $output_objdir/$realname.d/$shared_archive_member_spec.o $output_objdir/$realname.d/$shared_archive_member_spec.imp' + else + # used by -dlpreopen to get the symbols + archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$MV $output_objdir/$realname.d/$soname $output_objdir' + fi + archive_expsym_cmds_CXX="$archive_expsym_cmds_CXX"'~$RM -r $output_objdir/$realname.d' + fi + fi + ;; + + beos*) + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then + allow_undefined_flag_CXX=unsupported + # Joseph Beckenbach says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + else + ld_shlibs_CXX=no + fi + ;; + + chorus*) + case $cc_basename in + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + cygwin* | mingw* | pw32* | cegcc*) + case $GXX,$cc_basename in + ,cl* | no,cl*) + # Native MSVC + # hardcode_libdir_flag_spec is actually meaningless, as there is + # no search path for DLLs. + hardcode_libdir_flag_spec_CXX=' ' + allow_undefined_flag_CXX=unsupported + always_export_symbols_CXX=yes + file_list_spec_CXX='@' + # 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_CXX='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' + archive_expsym_cmds_CXX='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; then + cp "$export_symbols" "$output_objdir/$soname.def"; + echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; + else + $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; + fi~ + $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + linknames=' + # The linker will not automatically build a static lib if we build a DLL. + # _LT_TAGVAR(old_archive_from_new_cmds, CXX)='true' + enable_shared_with_static_runtimes_CXX=yes + # Don't use ranlib + old_postinstall_cmds_CXX='chmod 644 $oldlib' + postlink_cmds_CXX='lt_outputfile="@OUTPUT@"~ + lt_tool_outputfile="@TOOL_OUTPUT@"~ + case $lt_outputfile in + *.exe|*.EXE) ;; + *) + lt_outputfile=$lt_outputfile.exe + lt_tool_outputfile=$lt_tool_outputfile.exe + ;; + esac~ + func_to_tool_file "$lt_outputfile"~ + if test : != "$MANIFEST_TOOL" && test -f "$lt_outputfile.manifest"; then + $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; + $RM "$lt_outputfile.manifest"; + fi' + ;; + *) + # g++ + # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, + # as there is no search path for DLLs. + hardcode_libdir_flag_spec_CXX='-L$libdir' + export_dynamic_flag_spec_CXX='$wl--export-all-symbols' + allow_undefined_flag_CXX=unsupported + always_export_symbols_CXX=no + enable_shared_with_static_runtimes_CXX=yes + + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then + archive_cmds_CXX='$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, use it as + # is; otherwise, prepend EXPORTS... + archive_expsym_cmds_CXX='if test DEF = "`$SED -n -e '\''s/^[ ]*//'\'' -e '\''/^\(;.*\)*$/d'\'' -e '\''s/^\(EXPORTS\|LIBRARY\)\([ ].*\)*$/DEF/p'\'' -e q $export_symbols`" ; 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 + ld_shlibs_CXX=no + fi + ;; + esac + ;; + darwin* | rhapsody*) + + + archive_cmds_need_lc_CXX=no + hardcode_direct_CXX=no + hardcode_automatic_CXX=yes + hardcode_shlibpath_var_CXX=unsupported + if test yes = "$lt_cv_ld_force_load"; then + whole_archive_flag_spec_CXX='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience $wl-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' + + else + whole_archive_flag_spec_CXX='' + fi + link_all_deplibs_CXX=yes + allow_undefined_flag_CXX=$_lt_dar_allow_undefined + case $cc_basename in + ifort*|nagfor*) _lt_dar_can_shared=yes ;; + *) _lt_dar_can_shared=$GCC ;; + esac + if test yes = "$_lt_dar_can_shared"; then + output_verbose_link_cmd=func_echo_all + archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil" + module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil" + archive_expsym_cmds_CXX="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_CXX="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil" + if test yes != "$lt_cv_apple_cc_single_mod"; then + archive_cmds_CXX="\$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" + archive_expsym_cmds_CXX="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 + ld_shlibs_CXX=no + fi + + ;; + + os2*) + hardcode_libdir_flag_spec_CXX='-L$libdir' + hardcode_minus_L_CXX=yes + allow_undefined_flag_CXX=unsupported + shrext_cmds=.dll + archive_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + emxexp $libobjs | $SED /"_DLL_InitTerm"/d >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + archive_expsym_cmds_CXX='$ECHO "LIBRARY ${soname%$shared_ext} INITINSTANCE TERMINSTANCE" > $output_objdir/$libname.def~ + $ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~ + $ECHO "DATA MULTIPLE NONSHARED" >> $output_objdir/$libname.def~ + $ECHO EXPORTS >> $output_objdir/$libname.def~ + prefix_cmds="$SED"~ + if test EXPORTS = "`$SED 1q $export_symbols`"; then + prefix_cmds="$prefix_cmds -e 1d"; + fi~ + prefix_cmds="$prefix_cmds -e \"s/^\(.*\)$/_\1/g\""~ + cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~ + $CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~ + emximp -o $lib $output_objdir/$libname.def' + old_archive_From_new_cmds_CXX='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def' + enable_shared_with_static_runtimes_CXX=yes + ;; + + dgux*) + case $cc_basename in + ec++*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + ghcx*) + # Green Hills C++ Compiler + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + freebsd2.*) + # C++ shared libraries reported to be fairly broken before + # switch to ELF + ld_shlibs_CXX=no + ;; + + freebsd-elf*) + archive_cmds_need_lc_CXX=no + ;; + + freebsd* | dragonfly*) + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF + # conventions + ld_shlibs_CXX=yes + ;; + + haiku*) + archive_cmds_CXX='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + link_all_deplibs_CXX=yes + ;; + + hpux9*) + hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir' + hardcode_libdir_separator_CXX=: + export_dynamic_flag_spec_CXX='$wl-E' + hardcode_direct_CXX=yes + hardcode_minus_L_CXX=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 + ld_shlibs_CXX=no + ;; + aCC*) + archive_cmds_CXX='$RM $output_objdir/$soname~$CC -b $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$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; func_echo_all "$list"' + ;; + *) + if test yes = "$GXX"; then + archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag $wl+b $wl$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test "x$output_objdir/$soname" = "x$lib" || mv $output_objdir/$soname $lib' + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + + hpux10*|hpux11*) + if test no = "$with_gnu_ld"; then + hardcode_libdir_flag_spec_CXX='$wl+b $wl$libdir' + hardcode_libdir_separator_CXX=: + + case $host_cpu in + hppa*64*|ia64*) + ;; + *) + export_dynamic_flag_spec_CXX='$wl-E' + ;; + esac + fi + case $host_cpu in + hppa*64*|ia64*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + ;; + *) + hardcode_direct_CXX=yes + hardcode_direct_absolute_CXX=yes + hardcode_minus_L_CXX=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 + ld_shlibs_CXX=no + ;; + aCC*) + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -b $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -b $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$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; func_echo_all "$list"' + ;; + *) + if test yes = "$GXX"; then + if test no = "$with_gnu_ld"; then + case $host_cpu in + hppa*64*) + archive_cmds_CXX='$CC -shared -nostdlib -fPIC $wl+h $wl$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + ia64*) + archive_cmds_CXX='$CC -shared -nostdlib $pic_flag $wl+h $wl$soname $wl+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared -nostdlib $pic_flag $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 + ld_shlibs_CXX=no + fi + ;; + esac + ;; + + interix[3-9]*) + hardcode_direct_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' + export_dynamic_flag_spec_CXX='$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_CXX='$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_CXX='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++ + archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + + # Archives containing C++ object files must be created using + # "CC -ar", where "CC" is the IRIX C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' + ;; + *) + if test yes = "$GXX"; then + if test no = "$with_gnu_ld"; then + archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + else + archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` -o $lib' + fi + fi + link_all_deplibs_CXX=yes + ;; + esac + hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' + hardcode_libdir_separator_CXX=: + inherit_rpath_CXX=yes + ;; + + linux* | k*bsd*-gnu | kopensolaris*-gnu | 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. + archive_cmds_CXX='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' + archive_expsym_cmds_CXX='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; func_echo_all "$list"' + + hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' + export_dynamic_flag_spec_CXX='$wl--export-dynamic' + + # Archives containing C++ object files must be created using + # "CC -Bstatic", where "CC" is the KAI C++ compiler. + old_archive_cmds_CXX='$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."*) + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$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 + archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac + archive_cmds_need_lc_CXX=no + hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' + export_dynamic_flag_spec_CXX='$wl--export-dynamic' + whole_archive_flag_spec_CXX='$wl--whole-archive$convenience $wl--no-whole-archive' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler + case `$CC -V` in + *pgCC\ [1-5].* | *pgcpp\ [1-5].*) + prelink_cmds_CXX='tpldir=Template.dir~ + rm -rf $tpldir~ + $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ + compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' + old_archive_cmds_CXX='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 | sort | $NL2SP`~ + $RANLIB $oldlib' + archive_cmds_CXX='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 | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='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 | sort | $NL2SP` $postdep_objects $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 6 and above use weak symbols + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$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 + + hardcode_libdir_flag_spec_CXX='$wl--rpath $wl$libdir' + export_dynamic_flag_spec_CXX='$wl--export-dynamic' + whole_archive_flag_spec_CXX='$wl--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + ;; + cxx*) + # Compaq C++ + archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname -o $lib' + archive_expsym_cmds_CXX='$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 + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + hardcode_libdir_separator_CXX=: + + # 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=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' + ;; + xl* | mpixl* | bgxl*) + # IBM XL 8.0 on PPC, with GNU ld + hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' + export_dynamic_flag_spec_CXX='$wl--export-dynamic' + archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + if test yes = "$supports_anon_versioning"; then + archive_expsym_cmds_CXX='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 + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file $wl$export_symbols' + hardcode_libdir_flag_spec_CXX='-R$libdir' + whole_archive_flag_spec_CXX='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive' + compiler_needs_object_CXX=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='func_echo_all' + + # 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. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + esac + ;; + esac + ;; + + lynxos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + + m88k*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + + mvs*) + case $cc_basename in + cxx*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + netbsd*) + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then + archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' + wlarc= + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=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*) + ld_shlibs_CXX=yes + ;; + + openbsd* | bitrig*) + if test -f /usr/libexec/ld.so; then + hardcode_direct_CXX=yes + hardcode_shlibpath_var_CXX=no + hardcode_direct_absolute_CXX=yes + archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`"; then + archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-retain-symbols-file,$export_symbols -o $lib' + export_dynamic_flag_spec_CXX='$wl-E' + whole_archive_flag_spec_CXX=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive' + fi + output_verbose_link_cmd=func_echo_all + else + ld_shlibs_CXX=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. + archive_cmds_CXX='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' + + hardcode_libdir_flag_spec_CXX='$wl-rpath,$libdir' + hardcode_libdir_separator_CXX=: + + # Archives containing C++ object files must be created using + # the KAI C++ compiler. + case $host in + osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; + *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;; + esac + ;; + RCC*) + # Rational C++ 2.4.1 + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + cxx*) + case $host in + osf3*) + allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*' + archive_cmds_CXX='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $soname `test -n "$verstring" && func_echo_all "$wl-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' + ;; + *) + allow_undefined_flag_CXX=' -expect_unresolved \*' + archive_cmds_CXX='$CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' + archive_expsym_cmds_CXX='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 "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib~ + $RM $lib.exp' + hardcode_libdir_flag_spec_CXX='-rpath $libdir' + ;; + esac + + hardcode_libdir_separator_CXX=: + + # 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=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + ;; + *) + if test yes,no = "$GXX,$with_gnu_ld"; then + allow_undefined_flag_CXX=' $wl-expect_unresolved $wl\*' + case $host in + osf3*) + archive_cmds_CXX='$CC -shared -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + ;; + *) + archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-msym $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations -o $lib' + ;; + esac + + hardcode_libdir_flag_spec_CXX='$wl-rpath $wl$libdir' + hardcode_libdir_separator_CXX=: + + # 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 -v "^Configured with:" | $GREP "\-L"' + + else + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + fi + ;; + esac + ;; + + psos*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + lcc*) + # Lucid + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + solaris*) + case $cc_basename in + CC* | sunCC*) + # Sun C++ 4.2, 5.x and Centerline C++ + archive_cmds_need_lc_CXX=yes + no_undefined_flag_CXX=' -zdefs' + archive_cmds_CXX='$CC -G$allow_undefined_flag -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + archive_expsym_cmds_CXX='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' + + hardcode_libdir_flag_spec_CXX='-R$libdir' + hardcode_shlibpath_var_CXX=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?) + whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract' + ;; + esac + link_all_deplibs_CXX=yes + + output_verbose_link_cmd='func_echo_all' + + # Archives containing C++ object files must be created using + # "CC -xar", where "CC" is the Sun C++ compiler. This is + # necessary to make sure instantiated templates are included + # in the archive. + old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' + ;; + gcx*) + # Green Hills C++ Compiler + archive_cmds_CXX='$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. + old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' + ;; + *) + # GNU C++ compiler with Solaris linker + if test yes,no = "$GXX,$with_gnu_ld"; then + no_undefined_flag_CXX=' $wl-z ${wl}defs' + if $CC --version | $GREP -v '^2\.7' > /dev/null; then + archive_cmds_CXX='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ + $CC -shared $pic_flag -nostdlib $wl-M $wl$lib.exp $wl-h $wl$soname -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 -v "^Configured with:" | $GREP "\-L"' + else + # g++ 2.7 appears to require '-G' NOT '-shared' on this + # platform. + archive_cmds_CXX='$CC -G -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags $wl-h $wl$soname -o $lib' + archive_expsym_cmds_CXX='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 $wl-h $wl$soname -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 -v "^Configured with:" | $GREP "\-L"' + fi + + hardcode_libdir_flag_spec_CXX='$wl-R $wl$libdir' + case $host_os in + solaris2.[0-5] | solaris2.[0-5].*) ;; + *) + whole_archive_flag_spec_CXX='$wl-z ${wl}allextract$convenience $wl-z ${wl}defaultextract' + ;; + esac + fi + ;; + esac + ;; + + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) + no_undefined_flag_CXX='$wl-z,text' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -shared $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; + + sysv5* | sco3.2v5* | sco5v6*) + # Note: We CANNOT 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_CXX='$wl-z,text' + allow_undefined_flag_CXX='$wl-z,nodefs' + archive_cmds_need_lc_CXX=no + hardcode_shlibpath_var_CXX=no + hardcode_libdir_flag_spec_CXX='$wl-R,$libdir' + hardcode_libdir_separator_CXX=':' + link_all_deplibs_CXX=yes + export_dynamic_flag_spec_CXX='$wl-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + archive_cmds_CXX='$CC -G $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$CC -G $wl-Bexport:$export_symbols $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + old_archive_cmds_CXX='$CC -Tprelink_objects $oldobjs~ + '"$old_archive_cmds_CXX" + reload_cmds_CXX='$CC -Tprelink_objects $reload_objs~ + '"$reload_cmds_CXX" + ;; + *) + archive_cmds_CXX='$CC -shared $wl-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + archive_expsym_cmds_CXX='$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 + ld_shlibs_CXX=no + ;; + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + ;; + + vxworks*) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + + *) + # FIXME: insert proper C++ library support + ld_shlibs_CXX=no + ;; + esac + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 +$as_echo "$ld_shlibs_CXX" >&6; } + test no = "$ld_shlibs_CXX" && can_build_shared=no + + GCC_CXX=$GXX + LD_CXX=$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... + # Dependencies to place before and after the object being linked: +predep_objects_CXX= +postdep_objects_CXX= +predeps_CXX= +postdeps_CXX= +compiler_lib_search_path_CXX= + +cat > conftest.$ac_ext <<_LT_EOF +class Foo +{ +public: + Foo (void) { a = 0; } +private: + int a; +}; +_LT_EOF + + +_lt_libdeps_save_CFLAGS=$CFLAGS +case "$CC $CFLAGS " in #( +*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; +*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; +*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; +esac + +if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + # 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 $prev$p in + + -L* | -R* | -l*) + # Some compilers place space between "-{L,R}" and the path. + # Remove the space. + if test x-L = "$p" || + test x-R = "$p"; then + prev=$p + continue + fi + + # Expand the sysroot to ease extracting the directories later. + if test -z "$prev"; then + case $p in + -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; + -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; + -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; + esac + fi + case $p in + =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; + esac + if test no = "$pre_test_object_deps_done"; then + case $prev 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 "$compiler_lib_search_path_CXX"; then + compiler_lib_search_path_CXX=$prev$p + else + compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} $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 "$postdeps_CXX"; then + postdeps_CXX=$prev$p + else + postdeps_CXX="${postdeps_CXX} $prev$p" + fi + fi + prev= + ;; + + *.lto.$objext) ;; # Ignore GCC LTO objects + *.$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 no = "$pre_test_object_deps_done"; then + if test -z "$predep_objects_CXX"; then + predep_objects_CXX=$p + else + predep_objects_CXX="$predep_objects_CXX $p" + fi + else + if test -z "$postdep_objects_CXX"; then + postdep_objects_CXX=$p + else + postdep_objects_CXX="$postdep_objects_CXX $p" + fi + fi + ;; + + *) ;; # Ignore the rest. + + esac + done + + # Clean up. + rm -f a.out a.exe +else + echo "libtool.m4: error: problem compiling CXX test program" +fi + +$RM -f confest.$objext +CFLAGS=$_lt_libdeps_save_CFLAGS + +# PORTME: override above test on systems where it is broken +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. + predep_objects_CXX= + postdep_objects_CXX= + postdeps_CXX= + ;; +esac + + +case " $postdeps_CXX " in +*" -lc "*) archive_cmds_need_lc_CXX=no ;; +esac + compiler_lib_search_dirs_CXX= +if test -n "${compiler_lib_search_path_CXX}"; then + compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | $SED -e 's! -L! !g' -e 's!^ !!'` +fi + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + lt_prog_compiler_wl_CXX= +lt_prog_compiler_pic_CXX= +lt_prog_compiler_static_CXX= + + + # C++ specific cases for pic, static, wl, etc. + if test yes = "$GXX"; then + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-static' + + case $host_os in + aix*) + # All AIX code is PIC. + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + fi + lt_prog_compiler_pic_CXX='-fPIC' + ;; + + amigaos*) + case $host_cpu in + powerpc) + # see comment about AmigaOS4 .so support + lt_prog_compiler_pic_CXX='-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_CXX='-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 + lt_prog_compiler_pic_CXX='-DDLL_EXPORT' + case $host_os in + os2*) + lt_prog_compiler_static_CXX='$wl-static' + ;; + esac + ;; + darwin* | rhapsody*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + lt_prog_compiler_pic_CXX='-fno-common' + ;; + *djgpp*) + # DJGPP does not support shared libraries at all + lt_prog_compiler_pic_CXX= + ;; + haiku*) + # PIC is the default for Haiku. + # The "-static" flag exists, but is broken. + lt_prog_compiler_static_CXX= + ;; + 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_prog_compiler_pic_CXX=-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_prog_compiler_pic_CXX='-fPIC' + ;; + esac + ;; + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic_CXX='-fPIC -shared' + ;; + *) + lt_prog_compiler_pic_CXX='-fPIC' + ;; + esac + else + case $host_os in + aix[4-9]*) + # All AIX code is PIC. + if test ia64 = "$host_cpu"; then + # AIX 5 now supports IA64 processor + lt_prog_compiler_static_CXX='-Bstatic' + else + lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' + fi + ;; + chorus*) + case $cc_basename in + cxch68*) + # Green Hills C++ Compiler + # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--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 + ;; + 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). + lt_prog_compiler_pic_CXX='-DDLL_EXPORT' + ;; + dgux*) + case $cc_basename in + ec++*) + lt_prog_compiler_pic_CXX='-KPIC' + ;; + ghcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + freebsd* | dragonfly*) + # FreeBSD uses GNU C++ + ;; + hpux9* | hpux10* | hpux11*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='$wl-a ${wl}archive' + if test ia64 != "$host_cpu"; then + lt_prog_compiler_pic_CXX='+Z' + fi + ;; + aCC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='$wl-a ${wl}archive' + case $host_cpu in + hppa*64*|ia64*) + # +Z the default + ;; + *) + lt_prog_compiler_pic_CXX='+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_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_static_CXX='-non_shared' + # CC pic flag -KPIC is the default. + ;; + *) + ;; + esac + ;; + linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + case $cc_basename in + KCC*) + # KAI C++ Compiler + lt_prog_compiler_wl_CXX='--backend -Wl,' + lt_prog_compiler_pic_CXX='-fPIC' + ;; + ecpc* ) + # old Intel C++ for x86_64, which still supported -KPIC. + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-static' + ;; + icpc* ) + # Intel C++, used to be incompatible with GCC. + # ICC 10 doesn't accept -KPIC any more. + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-fPIC' + lt_prog_compiler_static_CXX='-static' + ;; + pgCC* | pgcpp*) + # Portland Group C++ compiler + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-fpic' + lt_prog_compiler_static_CXX='-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_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + xlc* | xlC* | bgxl[cC]* | mpixl[cC]*) + # IBM XL 8.0, 9.0 on PPC and BlueGene + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-qpic' + lt_prog_compiler_static_CXX='-qstaticlink' + ;; + *) + case `$CC -V 2>&1 | sed 5q` in + *Sun\ C*) + # Sun C++ 5.9 + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + esac + ;; + esac + ;; + lynxos*) + ;; + m88k*) + ;; + mvs*) + case $cc_basename in + cxx*) + lt_prog_compiler_pic_CXX='-W c,exportall' + ;; + *) + ;; + esac + ;; + netbsd* | netbsdelf*-gnu) + ;; + *qnx* | *nto*) + # QNX uses GNU C++, but need to define -shared option too, otherwise + # it will coredump. + lt_prog_compiler_pic_CXX='-fPIC -shared' + ;; + osf3* | osf4* | osf5*) + case $cc_basename in + KCC*) + lt_prog_compiler_wl_CXX='--backend -Wl,' + ;; + RCC*) + # Rational C++ 2.4.1 + lt_prog_compiler_pic_CXX='-pic' + ;; + cxx*) + # Digital/Compaq C++ + lt_prog_compiler_wl_CXX='-Wl,' + # Make sure the PIC flag is empty. It appears that all Alpha + # Linux and Compaq Tru64 Unix objects are PIC. + lt_prog_compiler_pic_CXX= + lt_prog_compiler_static_CXX='-non_shared' + ;; + *) + ;; + esac + ;; + psos*) + ;; + solaris*) + case $cc_basename in + CC* | sunCC*) + # Sun C++ 4.2, 5.x and Centerline C++ + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + lt_prog_compiler_wl_CXX='-Qoption ld ' + ;; + gcx*) + # Green Hills C++ Compiler + lt_prog_compiler_pic_CXX='-PIC' + ;; + *) + ;; + esac + ;; + sunos4*) + case $cc_basename in + CC*) + # Sun C++ 4.x + lt_prog_compiler_pic_CXX='-pic' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + lcc*) + # Lucid + lt_prog_compiler_pic_CXX='-pic' + ;; + *) + ;; + esac + ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + lt_prog_compiler_wl_CXX='-Wl,' + lt_prog_compiler_pic_CXX='-KPIC' + lt_prog_compiler_static_CXX='-Bstatic' + ;; + esac + ;; + tandem*) + case $cc_basename in + NCC*) + # NonStop-UX NCC 3.20 + lt_prog_compiler_pic_CXX='-KPIC' + ;; + *) + ;; + esac + ;; + vxworks*) + ;; + *) + lt_prog_compiler_can_build_shared_CXX=no + ;; + esac + fi + +case $host_os in + # For platforms that do not support PIC, -DPIC is meaningless: + *djgpp*) + lt_prog_compiler_pic_CXX= + ;; + *) + lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" + ;; +esac + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 +$as_echo_n "checking for $compiler option to produce PIC... " >&6; } +if ${lt_cv_prog_compiler_pic_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic_CXX=$lt_prog_compiler_pic_CXX +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_CXX" >&5 +$as_echo "$lt_cv_prog_compiler_pic_CXX" >&6; } +lt_prog_compiler_pic_CXX=$lt_cv_prog_compiler_pic_CXX + +# +# Check to make sure the PIC flag actually works. +# +if test -n "$lt_prog_compiler_pic_CXX"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 +$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; } +if ${lt_cv_prog_compiler_pic_works_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_pic_works_CXX=no + ac_outfile=conftest.$ac_objext + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" ## exclude from sc_useless_quotes_in_assignment + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + # The option is referenced via a variable to avoid confusing sed. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_pic_works_CXX=yes + fi + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5 +$as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; } + +if test yes = "$lt_cv_prog_compiler_pic_works_CXX"; then + case $lt_prog_compiler_pic_CXX in + "" | " "*) ;; + *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; + esac +else + lt_prog_compiler_pic_CXX= + lt_prog_compiler_can_build_shared_CXX=no +fi + +fi + + + + + +# +# Check to make sure the static flag actually works. +# +wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 +$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } +if ${lt_cv_prog_compiler_static_works_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_static_works_CXX=no + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS $lt_tmp_static_flag" + echo "$lt_simple_link_test_code" > conftest.$ac_ext + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then + # The linker can only warn and ignore the option if not recognized + # So say no if there are warnings + if test -s conftest.err; then + # Append any errors to the config.log. + cat conftest.err 1>&5 + $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if diff conftest.exp conftest.er2 >/dev/null; then + lt_cv_prog_compiler_static_works_CXX=yes + fi + else + lt_cv_prog_compiler_static_works_CXX=yes + fi + fi + $RM -r conftest* + LDFLAGS=$save_LDFLAGS + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5 +$as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; } + +if test yes = "$lt_cv_prog_compiler_static_works_CXX"; then + : +else + lt_prog_compiler_static_CXX= +fi + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o_CXX=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_CXX=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 +$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } +if ${lt_cv_prog_compiler_c_o_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_prog_compiler_c_o_CXX=no + $RM -r conftest 2>/dev/null + mkdir conftest + cd conftest + mkdir out + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + lt_compiler_flag="-o out/conftest2.$ac_objext" + # Insert the option either (1) after the last *FLAGS variable, or + # (2) before a word containing "conftest.", or (3) at the end. + # Note that $ac_compile itself does not contain backslashes and begins + # with a dollar sign (not a hyphen), so the echo should work correctly. + lt_compile=`echo "$ac_compile" | $SED \ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` + (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings + $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then + lt_cv_prog_compiler_c_o_CXX=yes + fi + fi + chmod u+w . 2>&5 + $RM conftest* + # SGI C++ compiler will create directory out/ii_files/ for + # template instantiation + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files + $RM out/* && rmdir out + cd .. + $RM -r conftest + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5 +$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } + + + + +hard_links=nottested +if test no = "$lt_cv_prog_compiler_c_o_CXX" && test no != "$need_locks"; then + # do not overwrite the value of need_locks provided by the user + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 +$as_echo_n "checking if we can lock with hard links... " >&6; } + hard_links=yes + $RM conftest* + ln conftest.a conftest.b 2>/dev/null && hard_links=no + touch conftest.a + ln conftest.a conftest.b 2>&5 || hard_links=no + ln conftest.a conftest.b 2>/dev/null && hard_links=no + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 +$as_echo "$hard_links" >&6; } + if test no = "$hard_links"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&5 +$as_echo "$as_me: WARNING: '$CC' does not support '-c -o', so 'make -j' may be unsafe" >&2;} + need_locks=warn + fi +else + need_locks=no +fi + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 +$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } + + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' + 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 GNU nm, but means don't demangle to AIX nm. + # Without the "-l" option, or with the "-B" option, AIX nm treats + # weak defined symbols like other global defined symbols, whereas + # GNU nm marks them as "W". + # While the 'weak' keyword is ignored in the Export File, we need + # it in the Import File for the 'aix-soname' feature, so we have + # to replace the "-B" option with "-P" for AIX nm. + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then + export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols' + else + export_symbols_cmds_CXX='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols' + fi + ;; + pw32*) + export_symbols_cmds_CXX=$ltdll_cmds + ;; + cygwin* | mingw* | cegcc*) + case $cc_basename in + cl*) + exclude_expsyms_CXX='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' + ;; + *) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' + exclude_expsyms_CXX='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' + ;; + esac + ;; + linux* | k*bsd*-gnu | gnu*) + link_all_deplibs_CXX=no + ;; + *) + export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' + ;; + esac + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5 +$as_echo "$ld_shlibs_CXX" >&6; } +test no = "$ld_shlibs_CXX" && can_build_shared=no + +with_gnu_ld_CXX=$with_gnu_ld + + + + + + +# +# Do we need to explicitly link libc? +# +case "x$archive_cmds_need_lc_CXX" in +x|xyes) + # Assume -lc should be added + archive_cmds_need_lc_CXX=yes + + if test yes,yes = "$GCC,$enable_shared"; then + case $archive_cmds_CXX in + *'~'*) + # FIXME: we may have to deal with multi-command sequences. + ;; + '$CC '*) + # Test whether the compiler implicitly links with -lc since on some + # systems, -lgcc has to come before -lc. If gcc already passes -lc + # to ld, don't add -lc before -lgcc. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 +$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } +if ${lt_cv_archive_cmds_need_lc_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + $RM conftest* + echo "$lt_simple_compile_test_code" > conftest.$ac_ext + + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } 2>conftest.err; then + soname=conftest + lib=conftest + libobjs=conftest.$ac_objext + deplibs= + wl=$lt_prog_compiler_wl_CXX + pic_flag=$lt_prog_compiler_pic_CXX + compiler_flags=-v + linker_flags=-v + verstring= + output_objdir=. + libname=conftest + lt_save_allow_undefined_flag=$allow_undefined_flag_CXX + allow_undefined_flag_CXX= + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 + (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + then + lt_cv_archive_cmds_need_lc_CXX=no + else + lt_cv_archive_cmds_need_lc_CXX=yes + fi + allow_undefined_flag_CXX=$lt_save_allow_undefined_flag + else + cat conftest.err 1>&5 + fi + $RM conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc_CXX" >&5 +$as_echo "$lt_cv_archive_cmds_need_lc_CXX" >&6; } + archive_cmds_need_lc_CXX=$lt_cv_archive_cmds_need_lc_CXX + ;; + esac + fi + ;; +esac + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 +$as_echo_n "checking dynamic linker characteristics... " >&6; } + +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 # correct to gnu/linux during the next big refactor + 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 # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + hardcode_into_libs=yes + if test ia64 = "$host_cpu"; 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 + # Using Import Files as archive members, it is possible to support + # filename-based versioning of shared library archives on AIX. While + # this would work for both with and without runtime linking, it will + # prevent static linking of such archives. So we do filename-based + # shared library versioning with .so extension only, which is used + # when both runtime linking and shared linking is enabled. + # Unfortunately, runtime linking may impact performance, so we do + # not want this to be the default eventually. Also, we use the + # versioned .so libs for executables only if there is the -brtl + # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only. + # To allow for filename-based versioning support, we need to create + # libNAME.so.V as an archive file, containing: + # *) an Import File, referring to the versioned filename of the + # archive as well as the shared archive member, telling the + # bitwidth (32 or 64) of that shared object, and providing the + # list of exported symbols of that shared object, eventually + # decorated with the 'weak' keyword + # *) the shared object with the F_LOADONLY flag set, to really avoid + # it being seen by the linker. + # At run time we better use the real file rather than another symlink, + # but for link time we create the symlink libNAME.so -> libNAME.so.V + + case $with_aix_soname,$aix_use_runtimelinking in + # AIX (on Power*) has no versioning support, so currently we cannot hardcode correct + # soname into executable. Probably we can add versioning support to + # collect2, so additional links can be useful in future. + aix,yes) # traditional libtool + dynamic_linker='AIX unversionable lib.so' + # 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' + ;; + aix,no) # traditional AIX only + dynamic_linker='AIX lib.a(lib.so.V)' + # 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' + ;; + svr4,*) # full svr4 only + dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o)" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,yes) # both, prefer svr4 + dynamic_linker="AIX lib.so.V($shared_archive_member_spec.o), lib.a(lib.so.V)" + library_names_spec='$libname$release$shared_ext$major $libname$shared_ext' + # unpreferred sharedlib libNAME.a needs extra handling + postinstall_cmds='test -n "$linkname" || linkname="$realname"~func_stripname "" ".so" "$linkname"~$install_shared_prog "$dir/$func_stripname_result.$libext" "$destdir/$func_stripname_result.$libext"~test -z "$tstripme" || test -z "$striplib" || $striplib "$destdir/$func_stripname_result.$libext"' + postuninstall_cmds='for n in $library_names $old_library; do :; done~func_stripname "" ".so" "$n"~test "$func_stripname_result" = "$n" || func_append rmfiles " $odir/$func_stripname_result.$libext"' + # We do not specify a path in Import Files, so LIBPATH fires. + shlibpath_overrides_runpath=yes + ;; + *,no) # both, prefer aix + dynamic_linker="AIX lib.a(lib.so.V), lib.so.V($shared_archive_member_spec.o)" + library_names_spec='$libname$release.a $libname.a' + soname_spec='$libname$release$shared_ext$major' + # unpreferred sharedlib libNAME.so.V and symlink libNAME.so need extra handling + postinstall_cmds='test -z "$dlname" || $install_shared_prog $dir/$dlname $destdir/$dlname~test -z "$tstripme" || test -z "$striplib" || $striplib $destdir/$dlname~test -n "$linkname" || linkname=$realname~func_stripname "" ".a" "$linkname"~(cd "$destdir" && $LN_S -f $dlname $func_stripname_result.so)' + postuninstall_cmds='test -z "$dlname" || func_append rmfiles " $odir/$dlname"~for n in $old_library $library_names; do :; done~func_stripname "" ".a" "$n"~func_append rmfiles " $odir/$func_stripname_result.so"' + ;; + esac + shlibpath_var=LIBPATH + fi + ;; + +amigaos*) + case $host_cpu in + powerpc) + # Since July 2007 AmigaOS4 officially supports .so libraries. + # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + ;; + m68k) + library_names_spec='$libname.ixlibrary $libname.a' + # Create ${libname}_ixlibrary.a entries in /sys/libs. + finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; $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 # correct to gnu/linux during the next big refactor + 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,$cc_basename in + yes,*) + # gcc + 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' + + ;; + mingw* | cegcc*) + # MinGW DLLs use traditional 'lib' prefix + soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + ;; + pw32*) + # pw32 DLLs use 'pw' prefix rather than 'lib' + library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + ;; + esac + dynamic_linker='Win32 ld.exe' + ;; + + *,cl*) + # Native MSVC + libname_spec='$name' + soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + library_names_spec='$libname.dll.lib' + + case $build_os in + mingw*) + sys_lib_search_path_spec= + lt_save_ifs=$IFS + IFS=';' + for lt_path in $LIB + do + IFS=$lt_save_ifs + # Let DOS variable expansion print the short 8.3 style file name. + lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` + sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" + done + IFS=$lt_save_ifs + # Convert to MSYS style. + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` + ;; + cygwin*) + # Convert to unix form, then to dos form, then back to unix form + # but this time dos style (no spaces!) so that the unix form looks + # like /cygdrive/c/PROGRA~1:/cygdr... + sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` + sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` + sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` + ;; + *) + sys_lib_search_path_spec=$LIB + if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then + # It is most probably a Windows format PATH. + 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 + # FIXME: find the short name or the path components, as spaces are + # common. (e.g. "Program Files" -> "PROGRA~1") + ;; + esac + + # 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' + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ + dlpath=$dir/\$dldll~ + $RM \$dlpath' + shlibpath_overrides_runpath=yes + dynamic_linker='Win32 link.exe' + ;; + + *) + # Assume MSVC wrapper + library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib' + dynamic_linker='Win32 ld.exe' + ;; + esac + # 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_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' + ;; + +dgux*) + version_type=linux # correct to gnu/linux during the next big refactor + 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 + ;; + +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[23].*) 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$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + 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 + ;; + +haiku*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + dynamic_linker="$host_os runtime_loader" + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LIBRARY_PATH + shlibpath_overrides_runpath=no + sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' + hardcode_into_libs=yes + ;; + +hpux9* | hpux10* | hpux11*) + # Give a soname corresponding to the major version so that dld.sl refuses to + # link against other versions. + 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 32 = "$HPUX_IA64_MODE"; then + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" + sys_lib_dlsearch_path_spec=/usr/lib/hpux32 + else + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" + sys_lib_dlsearch_path_spec=/usr/lib/hpux64 + fi + ;; + hppa*64*) + shrext_cmds='.sl' + hardcode_into_libs=yes + dynamic_linker="$host_os dld.sl" + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + ;; + *) + shrext_cmds='.sl' + dynamic_linker="$host_os dld.sl" + shlibpath_var=SHLIB_PATH + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + ;; + esac + # HP-UX runs *really* slowly unless shared libraries are mode 555, ... + postinstall_cmds='chmod 555 $lib' + # or fails outright, so override atomically: + install_override_mode=555 + ;; + +interix[3-9]*) + version_type=linux # correct to gnu/linux during the next big refactor + 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 yes = "$lt_cv_prog_gnu_ld"; then + version_type=linux # correct to gnu/linux during the next big refactor + 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 + ;; + +linux*android*) + version_type=none # Android doesn't support versioned libraries. + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext' + soname_spec='$libname$release$shared_ext' + finish_cmds= + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=yes + + # 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 + + dynamic_linker='Android linker' + # Don't embed -rpath directories since the linker doesn't support them. + hardcode_libdir_flag_spec_CXX='-L$libdir' + ;; + +# This must be glibc/ELF. +linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) + version_type=linux # correct to gnu/linux during the next big refactor + 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 + if ${lt_cv_shlibpath_overrides_runpath+:} false; then : + $as_echo_n "(cached) " >&6 +else + lt_cv_shlibpath_overrides_runpath=no + save_LDFLAGS=$LDFLAGS + save_libdir=$libdir + eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \ + LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\"" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : + lt_cv_shlibpath_overrides_runpath=yes +fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$save_LDFLAGS + libdir=$save_libdir + +fi + + shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath + + # This implies no fast_install, which is unacceptable. + # Some rework will be needed to allow for fast_install + # before this can be enabled. + hardcode_into_libs=yes + + # Ideally, we could use ldconfig to report *all* directores which are + # searched for libraries, however this is still not possible. Aside from not + # being certain /sbin/ldconfig is available, command + # 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64, + # even though it is searched at run-time. Try to do the best guess by + # appending ld.so.conf contents (and includes) to the search path. + if test -f /etc/ld.so.conf; then + lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" + fi + + # We used to test for /lib/ld.so.1 and disable shared libraries on + # powerpc, because MkLinux only supported shared libraries with the + # GNU dynamic linker. Since this was broken with cross compilers, + # most powerpc-linux boxes support dynamic linking these days and + # people can always --disable-shared, the test was removed, and we + # assume the GNU/Linux dynamic linker is in use. + dynamic_linker='GNU/Linux ld.so' + ;; + +netbsdelf*-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 + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_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 # correct to gnu/linux during the next big refactor + 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* | bitrig*) + version_type=sunos + sys_lib_dlsearch_path_spec=/usr/lib + need_lib_prefix=no + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then + need_version=no + else + need_version=yes + fi + 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 + shlibpath_overrides_runpath=yes + ;; + +os2*) + libname_spec='$name' + version_type=windows + shrext_cmds=.dll + need_version=no + need_lib_prefix=no + # OS/2 can only load a DLL with a base name of 8 characters or less. + soname_spec='`test -n "$os2dllname" && libname="$os2dllname"; + v=$($ECHO $release$versuffix | tr -d .-); + n=$($ECHO $libname | cut -b -$((8 - ${#v})) | tr . _); + $ECHO $n$v`$shared_ext' + library_names_spec='${libname}_dll.$libext' + dynamic_linker='OS/2 ld.exe' + shlibpath_var=BEGINLIBPATH + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec + 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' + ;; + +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 # correct to gnu/linux during the next big refactor + 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 yes = "$with_gnu_ld"; then + need_lib_prefix=no + fi + need_version=yes + ;; + +sysv4 | sysv4.3*) + version_type=linux # correct to gnu/linux during the next big refactor + 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 # correct to gnu/linux during the next big refactor + 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=sco + 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 yes = "$with_gnu_ld"; 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 # correct to gnu/linux during the next big refactor + 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 # correct to gnu/linux during the next big refactor + 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:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 +$as_echo "$dynamic_linker" >&6; } +test no = "$dynamic_linker" && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test yes = "$GCC"; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi + +if test set = "${lt_cv_sys_lib_search_path_spec+set}"; then + sys_lib_search_path_spec=$lt_cv_sys_lib_search_path_spec +fi + +if test set = "${lt_cv_sys_lib_dlsearch_path_spec+set}"; then + sys_lib_dlsearch_path_spec=$lt_cv_sys_lib_dlsearch_path_spec +fi + +# remember unaugmented sys_lib_dlsearch_path content for libtool script decls... +configure_time_dlsearch_path=$sys_lib_dlsearch_path_spec + +# ... but it needs LT_SYS_LIBRARY_PATH munging for other configure-time code +func_munge_path_list sys_lib_dlsearch_path_spec "$LT_SYS_LIBRARY_PATH" + +# to be used as default LT_SYS_LIBRARY_PATH value in generated libtool +configure_time_lt_sys_library_path=$LT_SYS_LIBRARY_PATH + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 +$as_echo_n "checking how to hardcode library paths into programs... " >&6; } +hardcode_action_CXX= +if test -n "$hardcode_libdir_flag_spec_CXX" || + test -n "$runpath_var_CXX" || + test yes = "$hardcode_automatic_CXX"; then + + # We can hardcode non-existent directories. + if test no != "$hardcode_direct_CXX" && + # 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 no != "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" && + test no != "$hardcode_minus_L_CXX"; then + # Linking always hardcodes the temporary library directory. + hardcode_action_CXX=relink + else + # We can link without hardcoding, and we can hardcode nonexisting dirs. + hardcode_action_CXX=immediate + fi +else + # We cannot hardcode anything, or else we can only hardcode existing + # directories. + hardcode_action_CXX=unsupported +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5 +$as_echo "$hardcode_action_CXX" >&6; } + +if test relink = "$hardcode_action_CXX" || + test yes = "$inherit_rpath_CXX"; then + # Fast installation is not supported + enable_fast_install=no +elif test yes = "$shlibpath_overrides_runpath" || + test no = "$enable_shared"; then + # Fast installation is not necessary + enable_fast_install=needless +fi + + + + + + + + fi # test -n "$compiler" + + CC=$lt_save_CC + CFLAGS=$lt_save_CFLAGS + 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 yes != "$_lt_caught_CXX_error" + +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="$CXX" am_compiler_list= + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 +$as_echo_n "checking dependency style of $depcc... " >&6; } +if ${am_cv_CXX_dependencies_compiler_type+:} false; 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". + rm -rf conftest.dir + 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_CXX_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 10 /bin/sh. + echo '/* dummy */' > 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 + ;; + msvc7 | msvc7msys | 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_CXX_dependencies_compiler_type=$depmode + break + fi + fi + done + + cd .. + rm -rf conftest.dir +else + am_cv_CXX_dependencies_compiler_type=none +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5 +$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; } +CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type + + if + test "x$enable_dependency_tracking" != xno \ + && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then + am__fastdepCXX_TRUE= + am__fastdepCXX_FALSE='#' +else + am__fastdepCXX_TRUE='#' + am__fastdepCXX_FALSE= +fi + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 +$as_echo_n "checking whether ln -s works... " >&6; } +LN_S=$as_ln_s +if test "$LN_S" = "ln -s"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 +$as_echo "no, using $LN_S" >&6; } +fi + +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:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_AWK+:} false; 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_AWK="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 +$as_echo "$AWK" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$AWK" && break +done + + + +# allow passing a variable `WARNINGFLAGS', +# either when invoking `configure', or when invoking `make' +# default to something useful if GCC was detected + +# Check whether --enable-warnings was given. +if test "${enable_warnings+set}" = set; then : + enableval=$enable_warnings; if test "x$GCC" = xyes; then : + : ${WARNINGFLAGS="-Wall -Wextra -Wmissing-prototypes -Wstrict-prototypes -Wnested-externs -Wold-style-definition -Wredundant-decls -Wconversion -Wno-unused-but-set-variable"} +fi +fi + + + + +# Check whether --enable-libfl was given. +if test "${enable_libfl+set}" = set; then : + enableval=$enable_libfl; +else + enable_libfl=yes +fi + + if test "x$enable_libfl" = xyes; then + ENABLE_LIBFL_TRUE= + ENABLE_LIBFL_FALSE='#' +else + ENABLE_LIBFL_TRUE='#' + ENABLE_LIBFL_FALSE= +fi + + +# --disable-bootstrap is intended only to workaround problems with bootstrap +# (e.g. when cross-compiling flex or when bootstrapping has bugs). +# Ideally we should be able to bootstrap even when cross-compiling. +# Check whether --enable-bootstrap was given. +if test "${enable_bootstrap+set}" = set; then : + enableval=$enable_bootstrap; +else + enable_bootstrap=yes +fi + + if test "x$enable_bootstrap" = xyes; then + ENABLE_BOOTSTRAP_TRUE= + ENABLE_BOOTSTRAP_FALSE='#' +else + ENABLE_BOOTSTRAP_TRUE='#' + ENABLE_BOOTSTRAP_FALSE= +fi + + + if test "x$cross_compiling" = xyes; then + CROSS_TRUE= + CROSS_FALSE='#' +else + CROSS_TRUE='#' + CROSS_FALSE= +fi + + +# Extract the first word of "help2man", so it can be a program name with args. +set dummy help2man; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_HELP2MAN+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $HELP2MAN in + [\\/]* | ?:[\\/]*) + ac_cv_path_HELP2MAN="$HELP2MAN" # 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_HELP2MAN="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + test -z "$ac_cv_path_HELP2MAN" && ac_cv_path_HELP2MAN="\${top_srcdir}/build-aux/missing help2man" + ;; +esac +fi +HELP2MAN=$ac_cv_path_HELP2MAN +if test -n "$HELP2MAN"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $HELP2MAN" >&5 +$as_echo "$HELP2MAN" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + if test "$HELP2MAN" = "\${top_srcdir}/build-aux/missing help2man"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: help2man: program not found: building man page will not work" >&5 +$as_echo "$as_me: WARNING: help2man: program not found: building man page will not work" >&2;} + +fi + +for ac_prog in gtexi2dvi texi2dvi +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_TEXI2DVI+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $TEXI2DVI in + [\\/]* | ?:[\\/]*) + ac_cv_path_TEXI2DVI="$TEXI2DVI" # 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_TEXI2DVI="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +TEXI2DVI=$ac_cv_path_TEXI2DVI +if test -n "$TEXI2DVI"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TEXI2DVI" >&5 +$as_echo "$TEXI2DVI" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$TEXI2DVI" && break +done +test -n "$TEXI2DVI" || TEXI2DVI="\${top_srcdir}/build-aux/missing texi2dvi" + + if test "$TEXI2DVI" = "\${top_srcdir}/build-aux/missing texi2dvi"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: texi2dvi: program not found: building pdf version of manual will not work" >&5 +$as_echo "$as_me: WARNING: texi2dvi: program not found: building pdf version of manual will not work" >&2;} + +fi + +# Check for a m4 that supports -P + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for m4 that supports -P" >&5 +$as_echo_n "checking for m4 that supports -P... " >&6; } +if ${ac_cv_path_M4+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$M4"; then + ac_path_M4_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 gm4 gnum4 m4; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_M4="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_M4" || continue +m4out=`echo 'm''4_divnum' | $ac_path_M4 -P` + test "x$m4out" = x0 \ + && ac_cv_path_M4=$ac_path_M4 ac_path_M4_found=: + $ac_path_M4_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_M4"; then + as_fn_error $? "could not find m4 that supports -P" "$LINENO" 5 + fi +else + ac_cv_path_M4=$M4 +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_M4" >&5 +$as_echo "$ac_cv_path_M4" >&6; } +M4=$ac_cv_path_M4 + + +cat >>confdefs.h <<_ACEOF +#define M4 "$M4" +_ACEOF + + +# Extract the first word of "indent", so it can be a program name with args. +set dummy indent; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_INDENT+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $INDENT in + [\\/]* | ?:[\\/]*) + ac_cv_path_INDENT="$INDENT" # 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 as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_INDENT="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + test -z "$ac_cv_path_INDENT" && ac_cv_path_INDENT="\${top_srcdir}/build-aux/missing indent" + ;; +esac +fi +INDENT=$ac_cv_path_INDENT +if test -n "$INDENT"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INDENT" >&5 +$as_echo "$INDENT" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $INDENT is GNU indent" >&5 +$as_echo_n "checking if $INDENT is GNU indent... " >&6; } + if $INDENT --version 2>/dev/null | head -n 1 | grep "GNU indent" >/dev/null; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $INDENT does not appear to be GNU indent; 'make indent' may not function properly" >&5 +$as_echo "$as_me: WARNING: $INDENT does not appear to be GNU indent; 'make indent' may not function properly" >&2;} + +fi + +# checks for headers + +for ac_header in regex.h strings.h sys/stat.h sys/wait.h unistd.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -eval as_val=\$$as_ac_Header - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +else + as_fn_error $? "required header not found on your system" "$LINENO" 5 +fi + +done + + +for ac_header in inttypes.h libintl.h limits.h locale.h malloc.h netinet/in.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF @@ -7576,9 +19890,10 @@ done # all we need is the preprocessor symbol defined since we don't need # LIBS to include libpthread for building flex. +LIBPTHREAD='' { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_mutex_lock in -lpthread" >&5 $as_echo_n "checking for pthread_mutex_lock in -lpthread... " >&6; } -if test "${ac_cv_lib_pthread_pthread_mutex_lock+set}" = set; then : +if ${ac_cv_lib_pthread_pthread_mutex_lock+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -7612,33 +19927,32 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_mutex_lock" >&5 $as_echo "$ac_cv_lib_pthread_pthread_mutex_lock" >&6; } -if test "x$ac_cv_lib_pthread_pthread_mutex_lock" = x""yes; then : - -$as_echo "#define HAVE_LIBPTHREAD 1" >>confdefs.h - -else - -$as_echo "#define HAVE_LIBPTHREAD 0" >>confdefs.h - - -fi - -for ac_header in pthread.h +if test "x$ac_cv_lib_pthread_pthread_mutex_lock" = xyes; then : + for ac_header in pthread.h do : ac_fn_c_check_header_mongrel "$LINENO" "pthread.h" "ac_cv_header_pthread_h" "$ac_includes_default" -if test "x$ac_cv_header_pthread_h" = x""yes; then : +if test "x$ac_cv_header_pthread_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_PTHREAD_H 1 _ACEOF - + LIBPTHREAD=-lpthread +else + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: pthread tests will be skipped" >&5 +$as_echo "$as_me: WARNING: pthread tests will be skipped" >&2;} fi done +else + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: pthread tests will be skipped" >&5 +$as_echo "$as_me: WARNING: pthread tests will be skipped" >&2;} +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for log10 in -lm" >&5 $as_echo_n "checking for log10 in -lm... " >&6; } -if test "${ac_cv_lib_m_log10+set}" = set; then : +if ${ac_cv_lib_m_log10+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@ -7672,7 +19986,7 @@ LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_log10" >&5 $as_echo "$ac_cv_lib_m_log10" >&6; } -if test "x$ac_cv_lib_m_log10" = x""yes; then : +if test "x$ac_cv_lib_m_log10" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBM 1 _ACEOF @@ -7686,84 +20000,66 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdbool.h that conforms to C99" >&5 $as_echo_n "checking for stdbool.h that conforms to C99... " >&6; } -if test "${ac_cv_header_stdbool_h+set}" = set; then : +if ${ac_cv_header_stdbool_h+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include -#ifndef bool - "error: bool is not defined" -#endif -#ifndef false - "error: false is not defined" -#endif -#if false - "error: false is not 0" -#endif -#ifndef true - "error: true is not defined" -#endif -#if true != 1 - "error: true is not 1" -#endif -#ifndef __bool_true_false_are_defined - "error: __bool_true_false_are_defined is not defined" -#endif + #include + #ifndef bool + "error: bool is not defined" + #endif + #ifndef false + "error: false is not defined" + #endif + #if false + "error: false is not 0" + #endif + #ifndef true + "error: true is not defined" + #endif + #if true != 1 + "error: true is not 1" + #endif + #ifndef __bool_true_false_are_defined + "error: __bool_true_false_are_defined is not defined" + #endif - struct s { _Bool s: 1; _Bool t; } s; + struct s { _Bool s: 1; _Bool t; } s; - char a[true == 1 ? 1 : -1]; - char b[false == 0 ? 1 : -1]; - char c[__bool_true_false_are_defined == 1 ? 1 : -1]; - char d[(bool) 0.5 == true ? 1 : -1]; - bool e = &s; - char f[(_Bool) 0.0 == false ? 1 : -1]; - char g[true]; - char h[sizeof (_Bool)]; - char i[sizeof s.t]; - enum { j = false, k = true, l = false * true, m = true * 256 }; - /* The following fails for - HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003]. */ - _Bool n[m]; - char o[sizeof n == m * sizeof n[0] ? 1 : -1]; - char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1]; -# if defined __xlc__ || defined __GNUC__ - /* Catch a bug in IBM AIX xlc compiler version 6.0.0.0 - reported by James Lemley on 2005-10-05; see - http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html - This test is not quite right, since xlc is allowed to - reject this program, as the initializer for xlcbug is - not one of the forms that C requires support for. - However, doing the test right would require a runtime - test, and that would make cross-compilation harder. - Let us hope that IBM fixes the xlc bug, and also adds - support for this kind of constant expression. In the - meantime, this test will reject xlc, which is OK, since - our stdbool.h substitute should suffice. We also test - this with GCC, where it should work, to detect more - quickly whether someone messes up the test in the - future. */ - char digs[] = "0123456789"; - int xlcbug = 1 / (&(digs + 5)[-2 + (bool) 1] == &digs[4] ? 1 : -1); -# endif - /* Catch a bug in an HP-UX C compiler. See - http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html - http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html - */ - _Bool q = true; - _Bool *pq = &q; + char a[true == 1 ? 1 : -1]; + char b[false == 0 ? 1 : -1]; + char c[__bool_true_false_are_defined == 1 ? 1 : -1]; + char d[(bool) 0.5 == true ? 1 : -1]; + /* See body of main program for 'e'. */ + char f[(_Bool) 0.0 == false ? 1 : -1]; + char g[true]; + char h[sizeof (_Bool)]; + char i[sizeof s.t]; + enum { j = false, k = true, l = false * true, m = true * 256 }; + /* The following fails for + HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003]. */ + _Bool n[m]; + char o[sizeof n == m * sizeof n[0] ? 1 : -1]; + char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1]; + /* Catch a bug in an HP-UX C compiler. See + http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html + http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html + */ + _Bool q = true; + _Bool *pq = &q; int main () { - *pq |= q; - *pq |= ! q; - /* Refer to every declared value, to avoid compiler optimizations. */ - return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l - + !m + !n + !o + !p + !q + !pq); + bool e = &s; + *pq |= q; + *pq |= ! q; + /* Refer to every declared value, to avoid compiler optimizations. */ + return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l + + !m + !n + !o + !p + !q + !pq); ; return 0; @@ -7778,8 +20074,8 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdbool_h" >&5 $as_echo "$ac_cv_header_stdbool_h" >&6; } -ac_fn_c_check_type "$LINENO" "_Bool" "ac_cv_type__Bool" "$ac_includes_default" -if test "x$ac_cv_type__Bool" = x""yes; then : + ac_fn_c_check_type "$LINENO" "_Bool" "ac_cv_type__Bool" "$ac_includes_default" +if test "x$ac_cv_type__Bool" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE__BOOL 1 @@ -7788,6 +20084,7 @@ _ACEOF fi + if test $ac_cv_header_stdbool_h = yes; then $as_echo "#define HAVE_STDBOOL_H 1" >>confdefs.h @@ -7796,7 +20093,7 @@ fi { $as_echo "$as_me:${as_lineno-$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 : +if ${ac_cv_c_const+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -7805,11 +20102,11 @@ else int main () { -/* FIXME: Include the comments suggested by Paul. */ + #ifndef __cplusplus - /* Ultrix mips cc rejects this. */ + /* Ultrix mips cc rejects this sort of thing. */ typedef int charset[2]; - const charset cs; + const charset cs = { 0, 0 }; /* SunOS 4.1.1 cc rejects this. */ char const *const *pcpcc; char **ppc; @@ -7826,8 +20123,9 @@ main () ++pcpcc; ppc = (char**) pcpcc; pcpcc = (char const *const *) ppc; - { /* SCO 3.2v4 cc rejects this. */ - char *t; + { /* SCO 3.2v4 cc rejects this sort of thing. */ + char tx; + char *t = &tx; char const *s = 0 ? (char *) 0 : (char const *) 0; *t++ = 0; @@ -7843,10 +20141,10 @@ main () iptr p = 0; ++p; } - { /* AIX XL C 1.02.0.0 rejects this saying + { /* AIX XL C 1.02.0.0 rejects this sort of thing, 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; + struct s { int j; const int *ap[3]; } bx; + struct s *b = &bx; b->j = 5; } { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ const int foo = 10; @@ -7875,7 +20173,7 @@ $as_echo "#define const /**/" >>confdefs.h fi ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" -if test "x$ac_cv_type_size_t" = x""yes; then : +if test "x$ac_cv_type_size_t" = xyes; then : else @@ -7892,7 +20190,7 @@ fi # for constant arguments. Useless! { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5 $as_echo_n "checking for working alloca.h... " >&6; } -if test "${ac_cv_working_alloca_h+set}" = set; then : +if ${ac_cv_working_alloca_h+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -7925,7 +20223,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5 $as_echo_n "checking for alloca... " >&6; } -if test "${ac_cv_func_alloca_works+set}" = set; then : +if ${ac_cv_func_alloca_works+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -7944,7 +20242,7 @@ else #pragma alloca # else # ifndef alloca /* predefined by HP cc +Olibcalls */ -char *alloca (); +void *alloca (size_t); # endif # endif # endif @@ -7988,7 +20286,7 @@ $as_echo "#define C_ALLOCA 1" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5 $as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; } -if test "${ac_cv_os_cray+set}" = set; then : +if ${ac_cv_os_cray+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -8015,8 +20313,7 @@ if test $ac_cv_os_cray = yes; then for ac_func in _getb67 GETB67 getb67; do as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -eval as_val=\$$as_ac_var - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define CRAY_STACKSEG_END $ac_func @@ -8030,7 +20327,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5 $as_echo_n "checking stack direction for C alloca... " >&6; } -if test "${ac_cv_c_stack_direction+set}" = set; then : +if ${ac_cv_c_stack_direction+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : @@ -8040,23 +20337,20 @@ else /* end confdefs.h. */ $ac_includes_default int -find_stack_direction () +find_stack_direction (int *addr, int depth) { - static char *addr = 0; - auto char dummy; - if (addr == 0) - { - addr = &dummy; - return find_stack_direction (); - } - else - return (&dummy > addr) ? 1 : -1; + int dir, dummy = 0; + if (! addr) + addr = &dummy; + *addr = addr < &dummy ? 1 : addr == &dummy ? 0 : -1; + dir = depth ? find_stack_direction (addr, depth - 1) : 0; + return dir + dummy; } int -main () +main (int argc, char **argv) { - return find_stack_direction () < 0; + return find_stack_direction (0, argc + !argv + 20) < 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : @@ -8079,7 +20373,7 @@ _ACEOF fi ac_fn_c_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$ac_includes_default" -if test "x$ac_cv_type_pid_t" = x""yes; then : +if test "x$ac_cv_type_pid_t" = xyes; then : else @@ -8092,7 +20386,7 @@ fi for ac_header in vfork.h do : ac_fn_c_check_header_mongrel "$LINENO" "vfork.h" "ac_cv_header_vfork_h" "$ac_includes_default" -if test "x$ac_cv_header_vfork_h" = x""yes; then : +if test "x$ac_cv_header_vfork_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_VFORK_H 1 _ACEOF @@ -8105,8 +20399,7 @@ for ac_func in fork vfork do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -eval as_val=\$$as_ac_var - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -8117,7 +20410,7 @@ done if test "x$ac_cv_func_fork" = xyes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working fork" >&5 $as_echo_n "checking for working fork... " >&6; } -if test "${ac_cv_func_fork_works+set}" = set; then : +if ${ac_cv_func_fork_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : @@ -8170,7 +20463,7 @@ ac_cv_func_vfork_works=$ac_cv_func_vfork if test "x$ac_cv_func_vfork" = xyes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working vfork" >&5 $as_echo_n "checking for working vfork... " >&6; } -if test "${ac_cv_func_vfork_works+set}" = set; then : +if ${ac_cv_func_vfork_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : @@ -8306,7 +20599,7 @@ fi for ac_header in stdlib.h do : ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default" -if test "x$ac_cv_header_stdlib_h" = x""yes; then : +if test "x$ac_cv_header_stdlib_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STDLIB_H 1 _ACEOF @@ -8317,7 +20610,7 @@ done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible malloc" >&5 $as_echo_n "checking for GNU libc compatible malloc... " >&6; } -if test "${ac_cv_func_malloc_0_nonnull+set}" = set; then : +if ${ac_cv_func_malloc_0_nonnull+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : @@ -8370,10 +20663,14 @@ $as_echo "#define malloc rpl_malloc" >>confdefs.h fi +if test "$cross_compiling" = yes; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: result $ac_cv_func_malloc_0_nonnull guessed because of cross compilation" >&5 +$as_echo "$as_me: WARNING: result $ac_cv_func_malloc_0_nonnull guessed because of cross compilation" >&2;} +fi for ac_header in stdlib.h do : ac_fn_c_check_header_mongrel "$LINENO" "stdlib.h" "ac_cv_header_stdlib_h" "$ac_includes_default" -if test "x$ac_cv_header_stdlib_h" = x""yes; then : +if test "x$ac_cv_header_stdlib_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STDLIB_H 1 _ACEOF @@ -8384,7 +20681,7 @@ done { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU libc compatible realloc" >&5 $as_echo_n "checking for GNU libc compatible realloc... " >&6; } -if test "${ac_cv_func_realloc_0_nonnull+set}" = set; then : +if ${ac_cv_func_realloc_0_nonnull+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : @@ -8437,12 +20734,32 @@ $as_echo "#define realloc rpl_realloc" >>confdefs.h fi -for ac_func in dup2 isascii memset pow regcomp setlocale strchr strtol +if test "$cross_compiling" = yes; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: result $ac_cv_func_realloc_0_nonnull guessed because of cross compilation" >&5 +$as_echo "$as_me: WARNING: result $ac_cv_func_realloc_0_nonnull guessed because of cross compilation" >&2;} +fi + +for ac_func in dup2 memset regcomp strcasecmp strchr strdup strtol do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -eval as_val=\$$as_ac_var - if test "x$as_val" = x""yes; then : +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +else + as_fn_error $? "required library function not found on your system" "$LINENO" 5 +fi +done + + +# Optional library functions +for ac_func in pow setlocale reallocarray +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF @@ -8451,7 +20768,7 @@ fi done -ac_config_files="$ac_config_files Makefile doc/Makefile examples/Makefile examples/fastwc/Makefile examples/manual/Makefile lib/Makefile po/Makefile.in tools/Makefile tests/Makefile tests/TEMPLATE/Makefile tests/test-array-nr/Makefile tests/test-array-r/Makefile tests/test-basic-nr/Makefile tests/test-basic-r/Makefile tests/test-bison-yylloc/Makefile tests/test-bison-yylval/Makefile tests/test-c-cpp-nr/Makefile tests/test-c-cpp-r/Makefile tests/test-header-nr/Makefile tests/test-header-r/Makefile tests/test-include-by-buffer/Makefile tests/test-include-by-push/Makefile tests/test-include-by-reentrant/Makefile tests/test-multiple-scanners-nr/Makefile tests/test-multiple-scanners-r/Makefile tests/test-noansi-nr/Makefile tests/test-noansi-r/Makefile tests/test-prefix-nr/Makefile tests/test-prefix-r/Makefile tests/test-pthread/Makefile tests/test-string-nr/Makefile tests/test-string-r/Makefile tests/test-yyextra/Makefile tests/test-alloc-extra/Makefile tests/test-lineno-nr/Makefile tests/test-lineno-r/Makefile tests/test-linedir-r/Makefile tests/test-debug-r/Makefile tests/test-debug-nr/Makefile tests/test-mem-nr/Makefile tests/test-mem-r/Makefile tests/test-posix/Makefile tests/test-posixly-correct/Makefile tests/test-table-opts/Makefile tests/test-c++-basic/Makefile tests/test-bison-nr/Makefile tests/test-reject/Makefile tests/test-c++-multiple-scanners/Makefile tests/test-top/Makefile tests/test-rescan-nr/Makefile tests/test-rescan-r/Makefile tests/test-quotes/Makefile tests/test-ccl/Makefile tests/test-extended/Makefile tests/test-c++-yywrap/Makefile tests/test-concatenated-options/Makefile" +ac_config_files="$ac_config_files Makefile doc/Makefile examples/Makefile examples/fastwc/Makefile examples/manual/Makefile po/Makefile.in src/Makefile tools/Makefile tests/Makefile" cat >confcache <<\_ACEOF @@ -8518,10 +20835,21 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&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" && + if test "x$cache_file" != "x/dev/null"; then { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 $as_echo "$as_me: updating cache $cache_file" >&6;} - cat confcache >$cache_file + if test ! -f "$cache_file" || test -h "$cache_file"; then + cat confcache >"$cache_file" + else + case $cache_file in #( + */* | ?:*) + mv -f confcache "$cache_file"$$ && + mv -f "$cache_file"$$ "$cache_file" ;; #( + *) + mv -f confcache "$cache_file" ;; + esac + fi + fi else { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} @@ -8537,6 +20865,7 @@ DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= +U= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' @@ -8551,6 +20880,22 @@ LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 +$as_echo_n "checking that generated files are newer than configure... " >&6; } + if test -n "$am_sleep_pid"; then + # Hide warnings about reused PIDs. + wait $am_sleep_pid 2>/dev/null + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 +$as_echo "done" >&6; } +if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then + as_fn_error $? "conditional \"AMDEP\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then + as_fn_error $? "conditional \"am__fastdepCC\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi if test -n "$EXEEXT"; then am__EXEEXT_TRUE= am__EXEEXT_FALSE='#' @@ -8559,24 +20904,28 @@ else am__EXEEXT_FALSE= fi -if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then - as_fn_error "conditional \"AMDEP\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - as_fn_error "conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - as_fn_error "conditional \"am__fastdepCC\" was never defined. +if test -z "${HAVE_BISON_TRUE}" && test -z "${HAVE_BISON_FALSE}"; then + as_fn_error $? "conditional \"HAVE_BISON\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then - as_fn_error "conditional \"am__fastdepCXX\" was never defined. + as_fn_error $? "conditional \"am__fastdepCXX\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${ENABLE_LIBFL_TRUE}" && test -z "${ENABLE_LIBFL_FALSE}"; then + as_fn_error $? "conditional \"ENABLE_LIBFL\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${ENABLE_BOOTSTRAP_TRUE}" && test -z "${ENABLE_BOOTSTRAP_FALSE}"; then + as_fn_error $? "conditional \"ENABLE_BOOTSTRAP\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${CROSS_TRUE}" && test -z "${CROSS_FALSE}"; then + as_fn_error $? "conditional \"CROSS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi -: ${CONFIG_STATUS=./config.status} +: "${CONFIG_STATUS=./config.status}" ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" @@ -8677,6 +21026,7 @@ fi IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. +as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -8722,19 +21072,19 @@ export LANGUAGE (unset CDPATH) >/dev/null 2>&1 && unset CDPATH -# as_fn_error ERROR [LINENO LOG_FD] -# --------------------------------- +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with status $?, using 1 if that was 0. +# script with STATUS, using 1 if that was 0. as_fn_error () { - as_status=$?; test $as_status -eq 0 && as_status=1 - if test "$3"; then - as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3 + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi - $as_echo "$as_me: error: $1" >&2 + $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error @@ -8872,16 +21222,16 @@ if (echo >conf$$.file) 2>/dev/null; then # ... 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'. + # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' + as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else - as_ln_s='cp -p' + as_ln_s='cp -pR' fi else - as_ln_s='cp -p' + as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null @@ -8930,7 +21280,7 @@ $as_echo X"$as_dir" | test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p @@ -8941,28 +21291,16 @@ else 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 + +# as_fn_executable_p FILE +# ----------------------- +# Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} # as_fn_executable_p +as_test_x='test -x' +as_executable_p=as_fn_executable_p # 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'" @@ -8983,8 +21321,8 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by the fast lexical analyser generator $as_me 2.5.37, which was -generated by GNU Autoconf 2.65. Invocation command line was +This file was extended by the fast lexical analyser generator $as_me 2.6.4, which was +generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -9049,11 +21387,11 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -the fast lexical analyser generator config.status 2.5.37 -configured by $0, generated by GNU Autoconf 2.65, +the fast lexical analyser generator config.status 2.6.4 +configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" -Copyright (C) 2009 Free Software Foundation, Inc. +Copyright (C) 2012 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." @@ -9071,11 +21409,16 @@ 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=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg= + ac_shift=: + ;; *) ac_option=$1 ac_optarg=$2 @@ -9097,6 +21440,7 @@ do $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; @@ -9109,7 +21453,7 @@ do ac_need_defaults=false;; --he | --h) # Conflict between --help and --header - as_fn_error "ambiguous option: \`$1' + as_fn_error $? "ambiguous option: \`$1' Try \`$0 --help' for more information.";; --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; @@ -9118,7 +21462,7 @@ Try \`$0 --help' for more information.";; ac_cs_silent=: ;; # This is an error. - -*) as_fn_error "unrecognized option: \`$1' + -*) as_fn_error $? "unrecognized option: \`$1' Try \`$0 --help' for more information." ;; *) as_fn_append ac_config_targets " $1" @@ -9138,7 +21482,7 @@ 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 + 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' @@ -9162,14 +21506,395 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # # INIT-COMMANDS # + + +# 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 "$macro_version" | $SED "$delay_single_quote_subst"`' +macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`' +enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`' +enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`' +pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`' +enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`' +shared_archive_member_spec='`$ECHO "$shared_archive_member_spec" | $SED "$delay_single_quote_subst"`' +SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`' +ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`' +PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`' +host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`' +host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`' +host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`' +build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`' +build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`' +build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`' +SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`' +Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`' +GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`' +EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`' +FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`' +LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`' +NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`' +LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`' +max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`' +ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`' +exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' +lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`' +lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`' +lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`' +lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`' +lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' +reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' +reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' +OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`' +deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' +file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' +file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`' +want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`' +DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`' +sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' +AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' +AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' +archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' +STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' +RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`' +old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`' +old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`' +old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`' +lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`' +CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`' +CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`' +compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`' +GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_import='`$ECHO "$lt_cv_sys_global_symbol_to_import" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`' +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`' +lt_cv_nm_interface='`$ECHO "$lt_cv_nm_interface" | $SED "$delay_single_quote_subst"`' +nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`' +lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`' +lt_cv_truncate_bin='`$ECHO "$lt_cv_truncate_bin" | $SED "$delay_single_quote_subst"`' +objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`' +MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`' +lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`' +need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`' +MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`' +DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`' +NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`' +LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`' +OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`' +OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`' +libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`' +shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`' +extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`' +archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`' +enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`' +export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`' +whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`' +compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`' +old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`' +old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`' +archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`' +archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`' +module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`' +module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`' +with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`' +allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`' +no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`' +hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`' +hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`' +hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`' +hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`' +hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`' +inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`' +link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`' +always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`' +export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`' +exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`' +include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`' +prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`' +postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`' +file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`' +variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`' +need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`' +need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`' +version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`' +runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`' +shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`' +shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`' +libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`' +library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`' +soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`' +install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`' +postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`' +postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`' +finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`' +finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`' +hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`' +sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`' +configure_time_dlsearch_path='`$ECHO "$configure_time_dlsearch_path" | $SED "$delay_single_quote_subst"`' +configure_time_lt_sys_library_path='`$ECHO "$configure_time_lt_sys_library_path" | $SED "$delay_single_quote_subst"`' +hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`' +enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`' +enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`' +enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`' +old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`' +striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_dirs='`$ECHO "$compiler_lib_search_dirs" | $SED "$delay_single_quote_subst"`' +predep_objects='`$ECHO "$predep_objects" | $SED "$delay_single_quote_subst"`' +postdep_objects='`$ECHO "$postdep_objects" | $SED "$delay_single_quote_subst"`' +predeps='`$ECHO "$predeps" | $SED "$delay_single_quote_subst"`' +postdeps='`$ECHO "$postdeps" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_path='`$ECHO "$compiler_lib_search_path" | $SED "$delay_single_quote_subst"`' +LD_CXX='`$ECHO "$LD_CXX" | $SED "$delay_single_quote_subst"`' +reload_flag_CXX='`$ECHO "$reload_flag_CXX" | $SED "$delay_single_quote_subst"`' +reload_cmds_CXX='`$ECHO "$reload_cmds_CXX" | $SED "$delay_single_quote_subst"`' +old_archive_cmds_CXX='`$ECHO "$old_archive_cmds_CXX" | $SED "$delay_single_quote_subst"`' +compiler_CXX='`$ECHO "$compiler_CXX" | $SED "$delay_single_quote_subst"`' +GCC_CXX='`$ECHO "$GCC_CXX" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "$lt_prog_compiler_no_builtin_flag_CXX" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_pic_CXX='`$ECHO "$lt_prog_compiler_pic_CXX" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_wl_CXX='`$ECHO "$lt_prog_compiler_wl_CXX" | $SED "$delay_single_quote_subst"`' +lt_prog_compiler_static_CXX='`$ECHO "$lt_prog_compiler_static_CXX" | $SED "$delay_single_quote_subst"`' +lt_cv_prog_compiler_c_o_CXX='`$ECHO "$lt_cv_prog_compiler_c_o_CXX" | $SED "$delay_single_quote_subst"`' +archive_cmds_need_lc_CXX='`$ECHO "$archive_cmds_need_lc_CXX" | $SED "$delay_single_quote_subst"`' +enable_shared_with_static_runtimes_CXX='`$ECHO "$enable_shared_with_static_runtimes_CXX" | $SED "$delay_single_quote_subst"`' +export_dynamic_flag_spec_CXX='`$ECHO "$export_dynamic_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' +whole_archive_flag_spec_CXX='`$ECHO "$whole_archive_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' +compiler_needs_object_CXX='`$ECHO "$compiler_needs_object_CXX" | $SED "$delay_single_quote_subst"`' +old_archive_from_new_cmds_CXX='`$ECHO "$old_archive_from_new_cmds_CXX" | $SED "$delay_single_quote_subst"`' +old_archive_from_expsyms_cmds_CXX='`$ECHO "$old_archive_from_expsyms_cmds_CXX" | $SED "$delay_single_quote_subst"`' +archive_cmds_CXX='`$ECHO "$archive_cmds_CXX" | $SED "$delay_single_quote_subst"`' +archive_expsym_cmds_CXX='`$ECHO "$archive_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`' +module_cmds_CXX='`$ECHO "$module_cmds_CXX" | $SED "$delay_single_quote_subst"`' +module_expsym_cmds_CXX='`$ECHO "$module_expsym_cmds_CXX" | $SED "$delay_single_quote_subst"`' +with_gnu_ld_CXX='`$ECHO "$with_gnu_ld_CXX" | $SED "$delay_single_quote_subst"`' +allow_undefined_flag_CXX='`$ECHO "$allow_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`' +no_undefined_flag_CXX='`$ECHO "$no_undefined_flag_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_flag_spec_CXX='`$ECHO "$hardcode_libdir_flag_spec_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_libdir_separator_CXX='`$ECHO "$hardcode_libdir_separator_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_direct_CXX='`$ECHO "$hardcode_direct_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_direct_absolute_CXX='`$ECHO "$hardcode_direct_absolute_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_minus_L_CXX='`$ECHO "$hardcode_minus_L_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_shlibpath_var_CXX='`$ECHO "$hardcode_shlibpath_var_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_automatic_CXX='`$ECHO "$hardcode_automatic_CXX" | $SED "$delay_single_quote_subst"`' +inherit_rpath_CXX='`$ECHO "$inherit_rpath_CXX" | $SED "$delay_single_quote_subst"`' +link_all_deplibs_CXX='`$ECHO "$link_all_deplibs_CXX" | $SED "$delay_single_quote_subst"`' +always_export_symbols_CXX='`$ECHO "$always_export_symbols_CXX" | $SED "$delay_single_quote_subst"`' +export_symbols_cmds_CXX='`$ECHO "$export_symbols_cmds_CXX" | $SED "$delay_single_quote_subst"`' +exclude_expsyms_CXX='`$ECHO "$exclude_expsyms_CXX" | $SED "$delay_single_quote_subst"`' +include_expsyms_CXX='`$ECHO "$include_expsyms_CXX" | $SED "$delay_single_quote_subst"`' +prelink_cmds_CXX='`$ECHO "$prelink_cmds_CXX" | $SED "$delay_single_quote_subst"`' +postlink_cmds_CXX='`$ECHO "$postlink_cmds_CXX" | $SED "$delay_single_quote_subst"`' +file_list_spec_CXX='`$ECHO "$file_list_spec_CXX" | $SED "$delay_single_quote_subst"`' +hardcode_action_CXX='`$ECHO "$hardcode_action_CXX" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_dirs_CXX='`$ECHO "$compiler_lib_search_dirs_CXX" | $SED "$delay_single_quote_subst"`' +predep_objects_CXX='`$ECHO "$predep_objects_CXX" | $SED "$delay_single_quote_subst"`' +postdep_objects_CXX='`$ECHO "$postdep_objects_CXX" | $SED "$delay_single_quote_subst"`' +predeps_CXX='`$ECHO "$predeps_CXX" | $SED "$delay_single_quote_subst"`' +postdeps_CXX='`$ECHO "$postdeps_CXX" | $SED "$delay_single_quote_subst"`' +compiler_lib_search_path_CXX='`$ECHO "$compiler_lib_search_path_CXX" | $SED "$delay_single_quote_subst"`' + +LTCC='$LTCC' +LTCFLAGS='$LTCFLAGS' +compiler='$compiler_DEFAULT' + +# A function that is used when there is no print builtin or printf. +func_fallback_echo () +{ + eval 'cat <<_LTECHO_EOF +\$1 +_LTECHO_EOF' +} + +# Quote evaled strings. +for var in SHELL \ +ECHO \ +PATH_SEPARATOR \ +SED \ +GREP \ +EGREP \ +FGREP \ +LD \ +NM \ +LN_S \ +lt_SP2NL \ +lt_NL2SP \ +reload_flag \ +OBJDUMP \ +deplibs_check_method \ +file_magic_cmd \ +file_magic_glob \ +want_nocaseglob \ +DLLTOOL \ +sharedlib_from_linklib_cmd \ +AR \ +AR_FLAGS \ +archiver_list_spec \ +STRIP \ +RANLIB \ +CC \ +CFLAGS \ +compiler \ +lt_cv_sys_global_symbol_pipe \ +lt_cv_sys_global_symbol_to_cdecl \ +lt_cv_sys_global_symbol_to_import \ +lt_cv_sys_global_symbol_to_c_name_address \ +lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ +lt_cv_nm_interface \ +nm_file_list_spec \ +lt_cv_truncate_bin \ +lt_prog_compiler_no_builtin_flag \ +lt_prog_compiler_pic \ +lt_prog_compiler_wl \ +lt_prog_compiler_static \ +lt_cv_prog_compiler_c_o \ +need_locks \ +MANIFEST_TOOL \ +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_separator \ +exclude_expsyms \ +include_expsyms \ +file_list_spec \ +variables_saved_for_relink \ +libname_spec \ +library_names_spec \ +soname_spec \ +install_override_mode \ +finish_eval \ +old_striplib \ +striplib \ +compiler_lib_search_dirs \ +predep_objects \ +postdep_objects \ +predeps \ +postdeps \ +compiler_lib_search_path \ +LD_CXX \ +reload_flag_CXX \ +compiler_CXX \ +lt_prog_compiler_no_builtin_flag_CXX \ +lt_prog_compiler_pic_CXX \ +lt_prog_compiler_wl_CXX \ +lt_prog_compiler_static_CXX \ +lt_cv_prog_compiler_c_o_CXX \ +export_dynamic_flag_spec_CXX \ +whole_archive_flag_spec_CXX \ +compiler_needs_object_CXX \ +with_gnu_ld_CXX \ +allow_undefined_flag_CXX \ +no_undefined_flag_CXX \ +hardcode_libdir_flag_spec_CXX \ +hardcode_libdir_separator_CXX \ +exclude_expsyms_CXX \ +include_expsyms_CXX \ +file_list_spec_CXX \ +compiler_lib_search_dirs_CXX \ +predep_objects_CXX \ +postdep_objects_CXX \ +predeps_CXX \ +postdeps_CXX \ +compiler_lib_search_path_CXX; do + case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in + *[\\\\\\\`\\"\\\$]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes + ;; + *) + 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 \ +postlink_cmds \ +postinstall_cmds \ +postuninstall_cmds \ +finish_cmds \ +sys_lib_search_path_spec \ +configure_time_dlsearch_path \ +configure_time_lt_sys_library_path \ +reload_cmds_CXX \ +old_archive_cmds_CXX \ +old_archive_from_new_cmds_CXX \ +old_archive_from_expsyms_cmds_CXX \ +archive_cmds_CXX \ +archive_expsym_cmds_CXX \ +module_cmds_CXX \ +module_expsym_cmds_CXX \ +export_symbols_cmds_CXX \ +prelink_cmds_CXX \ +postlink_cmds_CXX; do + case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in + *[\\\\\\\`\\"\\\$]*) + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ## exclude from sc_prohibit_nested_quotes + ;; + *) + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" + ;; + esac +done + +ac_aux_dir='$ac_aux_dir' + +# See if we are running on zsh, and set the options that 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' + RM='$RM' + ofile='$ofile' + + + + + +AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" # Capture the value of obsolete ALL_LINGUAS because we need it to compute - # POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES, CATALOGS. But hide it - # from automake. + # 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%}" -AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" _ACEOF @@ -9179,67 +21904,21 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 for ac_config_target in $ac_config_targets do case $ac_config_target in - "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h:conf.in" ;; - "default-1") CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;; + "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; + "src/config.h") CONFIG_HEADERS="$CONFIG_HEADERS src/config.h" ;; + "po-directories") CONFIG_COMMANDS="$CONFIG_COMMANDS po-directories" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; "examples/Makefile") CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;; "examples/fastwc/Makefile") CONFIG_FILES="$CONFIG_FILES examples/fastwc/Makefile" ;; "examples/manual/Makefile") CONFIG_FILES="$CONFIG_FILES examples/manual/Makefile" ;; - "lib/Makefile") CONFIG_FILES="$CONFIG_FILES lib/Makefile" ;; "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;; + "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; "tools/Makefile") CONFIG_FILES="$CONFIG_FILES tools/Makefile" ;; "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;; - "tests/TEMPLATE/Makefile") CONFIG_FILES="$CONFIG_FILES tests/TEMPLATE/Makefile" ;; - "tests/test-array-nr/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-array-nr/Makefile" ;; - "tests/test-array-r/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-array-r/Makefile" ;; - "tests/test-basic-nr/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-basic-nr/Makefile" ;; - "tests/test-basic-r/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-basic-r/Makefile" ;; - "tests/test-bison-yylloc/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-bison-yylloc/Makefile" ;; - "tests/test-bison-yylval/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-bison-yylval/Makefile" ;; - "tests/test-c-cpp-nr/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-c-cpp-nr/Makefile" ;; - "tests/test-c-cpp-r/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-c-cpp-r/Makefile" ;; - "tests/test-header-nr/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-header-nr/Makefile" ;; - "tests/test-header-r/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-header-r/Makefile" ;; - "tests/test-include-by-buffer/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-include-by-buffer/Makefile" ;; - "tests/test-include-by-push/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-include-by-push/Makefile" ;; - "tests/test-include-by-reentrant/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-include-by-reentrant/Makefile" ;; - "tests/test-multiple-scanners-nr/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-multiple-scanners-nr/Makefile" ;; - "tests/test-multiple-scanners-r/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-multiple-scanners-r/Makefile" ;; - "tests/test-noansi-nr/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-noansi-nr/Makefile" ;; - "tests/test-noansi-r/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-noansi-r/Makefile" ;; - "tests/test-prefix-nr/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-prefix-nr/Makefile" ;; - "tests/test-prefix-r/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-prefix-r/Makefile" ;; - "tests/test-pthread/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-pthread/Makefile" ;; - "tests/test-string-nr/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-string-nr/Makefile" ;; - "tests/test-string-r/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-string-r/Makefile" ;; - "tests/test-yyextra/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-yyextra/Makefile" ;; - "tests/test-alloc-extra/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-alloc-extra/Makefile" ;; - "tests/test-lineno-nr/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-lineno-nr/Makefile" ;; - "tests/test-lineno-r/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-lineno-r/Makefile" ;; - "tests/test-linedir-r/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-linedir-r/Makefile" ;; - "tests/test-debug-r/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-debug-r/Makefile" ;; - "tests/test-debug-nr/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-debug-nr/Makefile" ;; - "tests/test-mem-nr/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-mem-nr/Makefile" ;; - "tests/test-mem-r/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-mem-r/Makefile" ;; - "tests/test-posix/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-posix/Makefile" ;; - "tests/test-posixly-correct/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-posixly-correct/Makefile" ;; - "tests/test-table-opts/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-table-opts/Makefile" ;; - "tests/test-c++-basic/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-c++-basic/Makefile" ;; - "tests/test-bison-nr/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-bison-nr/Makefile" ;; - "tests/test-reject/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-reject/Makefile" ;; - "tests/test-c++-multiple-scanners/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-c++-multiple-scanners/Makefile" ;; - "tests/test-top/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-top/Makefile" ;; - "tests/test-rescan-nr/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-rescan-nr/Makefile" ;; - "tests/test-rescan-r/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-rescan-r/Makefile" ;; - "tests/test-quotes/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-quotes/Makefile" ;; - "tests/test-ccl/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-ccl/Makefile" ;; - "tests/test-extended/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-extended/Makefile" ;; - "tests/test-c++-yywrap/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-c++-yywrap/Makefile" ;; - "tests/test-concatenated-options/Makefile") CONFIG_FILES="$CONFIG_FILES tests/test-concatenated-options/Makefile" ;; - *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;; + *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac done @@ -9262,9 +21941,10 @@ fi # after its creation but before its name has been assigned to `$tmp'. $debug || { - tmp= + tmp= ac_tmp= trap 'exit_status=$? - { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status + : "${ac_tmp:=$tmp}" + { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status ' 0 trap 'as_fn_exit 1' 1 2 13 15 } @@ -9272,12 +21952,13 @@ $debug || { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && - test -n "$tmp" && test -d "$tmp" + test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") -} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5 +} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 +ac_tmp=$tmp # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. @@ -9294,12 +21975,12 @@ if test "x$ac_cr" = x; then fi 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' + ac_cs_awk_cr='\\r' else ac_cs_awk_cr=$ac_cr fi -echo 'BEGIN {' >"$tmp/subs1.awk" && +echo 'BEGIN {' >"$ac_tmp/subs1.awk" && _ACEOF @@ -9308,18 +21989,18 @@ _ACEOF echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || - as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 -ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'` + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 +ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || - as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then - as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5 + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi @@ -9327,7 +22008,7 @@ done rm -f conf$$subs.sh cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -cat >>"\$tmp/subs1.awk" <<\\_ACAWK && +cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' h @@ -9375,7 +22056,7 @@ t delim rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK -cat >>"\$tmp/subs1.awk" <<_ACAWK && +cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" @@ -9407,21 +22088,29 @@ 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_fn_error "could not setup config files machinery" "$LINENO" 5 +fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ + || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 _ACEOF -# VPATH may cause trouble with some makes, so we remove $(srcdir), -# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +# VPATH may cause trouble with some makes, so we remove sole $(srcdir), +# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=/{ -s/:*\$(srcdir):*/:/ -s/:*\${srcdir}:*/:/ -s/:*@srcdir@:*/:/ -s/^\([^=]*=[ ]*\):*/\1/ + ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ +h +s/// +s/^/:/ +s/[ ]*$/:/ +s/:\$(srcdir):/:/g +s/:\${srcdir}:/:/g +s/:@srcdir@:/:/g +s/^:*// s/:*$// +x +s/\(=[ ]*\).*/\1/ +G +s/\n// s/^[^=]*=[ ]*$// }' fi @@ -9433,7 +22122,7 @@ fi # test -n "$CONFIG_FILES" # 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 || +cat >"$ac_tmp/defines.awk" <<\_ACAWK || BEGIN { _ACEOF @@ -9445,11 +22134,11 @@ _ACEOF # 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 + ac_tt=`sed -n "/$ac_delim/p" confdefs.h` + if test -z "$ac_tt"; then break elif $ac_last_try; then - as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5 + as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi @@ -9534,7 +22223,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - as_fn_error "could not setup config headers machinery" "$LINENO" 5 + as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 fi # test -n "$CONFIG_HEADERS" @@ -9547,7 +22236,7 @@ do esac case $ac_mode$ac_tag in :[FHL]*:*);; - :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;; + :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac @@ -9566,7 +22255,7 @@ do for ac_f do case $ac_f in - -) ac_f="$tmp/stdin";; + -) ac_f="$ac_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 `:'. @@ -9575,7 +22264,7 @@ do [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || - as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;; + as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" @@ -9601,8 +22290,8 @@ $as_echo "$as_me: creating $ac_file" >&6;} esac case $ac_tag in - *:-:* | *:-) cat >"$tmp/stdin" \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 ;; + *:-:* | *:-) cat >"$ac_tmp/stdin" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac @@ -9738,23 +22427,24 @@ 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_fn_error "could not create $ac_file" "$LINENO" 5 +eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ + >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && - { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && - { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && + { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ + "$ac_tmp/out"`; test -z "$ac_out"; } && { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined." >&5 +which seems to be undefined. Please make sure it is defined" >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined." >&2;} +which seems to be undefined. Please make sure it is defined" >&2;} - rm -f "$tmp/stdin" + rm -f "$ac_tmp/stdin" case $ac_file in - -) cat "$tmp/out" && rm -f "$tmp/out";; - *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; + -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; + *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; esac \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; :H) # @@ -9763,21 +22453,21 @@ which seems to be undefined. Please make sure it is defined." >&2;} if test x"$ac_file" != x-; then { $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" - } >"$tmp/config.h" \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 - if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" + } >"$ac_tmp/config.h" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 $as_echo "$as_me: $ac_file is unchanged" >&6;} else rm -f "$ac_file" - mv "$tmp/config.h" "$ac_file" \ - || as_fn_error "could not create $ac_file" "$LINENO" 5 + mv "$ac_tmp/config.h" "$ac_file" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 fi else $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \ - || as_fn_error "could not create -" "$LINENO" 5 + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ + || as_fn_error $? "could not create -" "$LINENO" 5 fi # Compute "$ac_file"'s index in $config_headers. _am_arg="$ac_file" @@ -9822,7 +22512,810 @@ $as_echo "$as_me: executing $ac_file commands" >&6;} case $ac_file$ac_mode in - "default-1":C) + "libtool":C) + + # See if we are running on zsh, and set the options that 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 +# Generated automatically by $as_me ($PACKAGE) $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. + +# Provide generalized library-building support services. +# Written by Gordon Matzigkeit, 1996 + +# Copyright (C) 2014 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 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 this program. If not, see . + + +# The names of the tagged configurations supported by this script. +available_tags='CXX ' + +# Configured defaults for sys_lib_dlsearch_path munging. +: \${LT_SYS_LIBRARY_PATH="$configure_time_lt_sys_library_path"} + +# ### 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 + +# Shared archive member basename,for filename based shared library versioning on AIX. +shared_archive_member_spec=$shared_archive_member_spec + +# Shell to use when invoking shell scripts. +SHELL=$lt_SHELL + +# An echo program that protects backslashes. +ECHO=$lt_ECHO + +# The PATH separator for the build system. +PATH_SEPARATOR=$lt_PATH_SEPARATOR + +# 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 + +# convert \$build file names to \$host format. +to_host_file_cmd=$lt_cv_to_host_file_cmd + +# convert \$build files to toolchain format. +to_tool_file_cmd=$lt_cv_to_tool_file_cmd + +# 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 + +# How to find potential files when deplibs_check_method = "file_magic". +file_magic_glob=$lt_file_magic_glob + +# Find potential files using nocaseglob when deplibs_check_method = "file_magic". +want_nocaseglob=$lt_want_nocaseglob + +# DLL creation program. +DLLTOOL=$lt_DLLTOOL + +# Command to associate shared and link libraries. +sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd + +# The archiver. +AR=$lt_AR + +# Flags to create an archive. +AR_FLAGS=$lt_AR_FLAGS + +# How to feed a file listing to the archiver. +archiver_list_spec=$lt_archiver_list_spec + +# 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 + +# Whether to use a lock for old archive extraction. +lock_old_archive_extraction=$lock_old_archive_extraction + +# 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 into a list of symbols to manually relocate. +global_symbol_to_import=$lt_lt_cv_sys_global_symbol_to_import + +# 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 lister interface. +nm_interface=$lt_lt_cv_nm_interface + +# Specify filename containing input files for \$NM. +nm_file_list_spec=$lt_nm_file_list_spec + +# The root where to search for dependent libraries,and where our libraries should be installed. +lt_sysroot=$lt_sysroot + +# Command to truncate a binary pipe. +lt_truncate_bin=$lt_lt_cv_truncate_bin + +# The name of the directory that contains temporary libtool files. +objdir=$objdir + +# 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 + +# Manifest tool. +MANIFEST_TOOL=$lt_MANIFEST_TOOL + +# 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 + +# Permission mode override for installation of shared libraries. +install_override_mode=$lt_install_override_mode + +# Command to use after installation of a shared archive. +postinstall_cmds=$lt_postinstall_cmds + +# 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 + +# Detected run-time system search path for libraries. +sys_lib_dlsearch_path_spec=$lt_configure_time_dlsearch_path + +# Explicit LT_SYS_LIBRARY_PATH set during ./configure time. +configure_time_lt_sys_library_path=$lt_configure_time_lt_sys_library_path + +# 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 + +# How to create reloadable object files. +reload_flag=$lt_reload_flag +reload_cmds=$lt_reload_cmds + +# Commands used to build an old-style archive. +old_archive_cmds=$lt_old_archive_cmds + +# 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 + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl + +# 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 + +# 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 + +# 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 + +# Commands necessary for finishing linking programs. +postlink_cmds=$lt_postlink_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 + +# The directories searched by this compiler when creating a shared library. +compiler_lib_search_dirs=$lt_compiler_lib_search_dirs + +# Dependencies to place before and after the objects being linked to +# create a shared library. +predep_objects=$lt_predep_objects +postdep_objects=$lt_postdep_objects +predeps=$lt_predeps +postdeps=$lt_postdeps + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path + +# ### END LIBTOOL CONFIG + +_LT_EOF + + cat <<'_LT_EOF' >> "$cfgfile" + +# ### BEGIN FUNCTIONS SHARED WITH CONFIGURE + +# func_munge_path_list VARIABLE PATH +# ----------------------------------- +# VARIABLE is name of variable containing _space_ separated list of +# directories to be munged by the contents of PATH, which is string +# having a format: +# "DIR[:DIR]:" +# string "DIR[ DIR]" will be prepended to VARIABLE +# ":DIR[:DIR]" +# string "DIR[ DIR]" will be appended to VARIABLE +# "DIRP[:DIRP]::[DIRA:]DIRA" +# string "DIRP[ DIRP]" will be prepended to VARIABLE and string +# "DIRA[ DIRA]" will be appended to VARIABLE +# "DIR[:DIR]" +# VARIABLE will be replaced by "DIR[ DIR]" +func_munge_path_list () +{ + case x$2 in + x) + ;; + *:) + eval $1=\"`$ECHO $2 | $SED 's/:/ /g'` \$$1\" + ;; + x:*) + eval $1=\"\$$1 `$ECHO $2 | $SED 's/:/ /g'`\" + ;; + *::*) + eval $1=\"\$$1\ `$ECHO $2 | $SED -e 's/.*:://' -e 's/:/ /g'`\" + eval $1=\"`$ECHO $2 | $SED -e 's/::.*//' -e 's/:/ /g'`\ \$$1\" + ;; + *) + eval $1=\"`$ECHO $2 | $SED 's/:/ /g'`\" + ;; + esac +} + + +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +func_cc_basename () +{ + for cc_temp in $*""; do + case $cc_temp in + compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; + distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; + \-*) ;; + *) break;; + esac + done + func_cc_basename_result=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` +} + + +# ### END FUNCTIONS SHARED WITH CONFIGURE + +_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 set != "${COLLECT_NAMES+set}"; 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 '$q' "$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" + +# ### BEGIN LIBTOOL TAG CONFIG: CXX + +# The linker used to build libraries. +LD=$lt_LD_CXX + +# How to create reloadable object files. +reload_flag=$lt_reload_flag_CXX +reload_cmds=$lt_reload_cmds_CXX + +# Commands used to build an old-style archive. +old_archive_cmds=$lt_old_archive_cmds_CXX + +# A language specific compiler. +CC=$lt_compiler_CXX + +# Is the compiler the GNU compiler? +with_gcc=$GCC_CXX + +# Compiler flag to turn off builtin functions. +no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX + +# Additional compiler flags for building library objects. +pic_flag=$lt_lt_prog_compiler_pic_CXX + +# How to pass a linker flag through the compiler. +wl=$lt_lt_prog_compiler_wl_CXX + +# Compiler flag to prevent dynamic linking. +link_static_flag=$lt_lt_prog_compiler_static_CXX + +# Does compiler simultaneously support -c and -o options? +compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX + +# Whether or not to add -lc for building shared libraries. +build_libtool_need_lc=$archive_cmds_need_lc_CXX + +# Whether or not to disallow shared libs when runtime libs are static. +allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX + +# Compiler flag to allow reflexive dlopens. +export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX + +# Compiler flag to generate shared objects directly from archives. +whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX + +# Whether the compiler copes with passing no objects directly. +compiler_needs_object=$lt_compiler_needs_object_CXX + +# Create an old-style archive from a shared archive. +old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX + +# Create a temporary old-style archive to link instead of a shared archive. +old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX + +# Commands used to build a shared archive. +archive_cmds=$lt_archive_cmds_CXX +archive_expsym_cmds=$lt_archive_expsym_cmds_CXX + +# Commands used to build a loadable module if different from building +# a shared archive. +module_cmds=$lt_module_cmds_CXX +module_expsym_cmds=$lt_module_expsym_cmds_CXX + +# Whether we are building with GNU ld or not. +with_gnu_ld=$lt_with_gnu_ld_CXX + +# Flag that allows shared libraries with undefined symbols to be built. +allow_undefined_flag=$lt_allow_undefined_flag_CXX + +# Flag that enforces no undefined symbols. +no_undefined_flag=$lt_no_undefined_flag_CXX + +# 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_CXX + +# Whether we need a single "-rpath" flag with a separated argument. +hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX + +# Set to "yes" if using DIR/libNAME\$shared_ext during linking hardcodes +# DIR into the resulting binary. +hardcode_direct=$hardcode_direct_CXX + +# 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_CXX + +# Set to "yes" if using the -LDIR flag during linking hardcodes DIR +# into the resulting binary. +hardcode_minus_L=$hardcode_minus_L_CXX + +# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +# into the resulting binary. +hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX + +# 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_CXX + +# Set to yes if linker adds runtime paths of dependent libraries +# to runtime path list. +inherit_rpath=$inherit_rpath_CXX + +# Whether libtool must link a program against all its dependency libraries. +link_all_deplibs=$link_all_deplibs_CXX + +# Set to "yes" if exported symbols are required. +always_export_symbols=$always_export_symbols_CXX + +# The commands to list exported symbols. +export_symbols_cmds=$lt_export_symbols_cmds_CXX + +# Symbols that should not be listed in the preloaded symbols. +exclude_expsyms=$lt_exclude_expsyms_CXX + +# Symbols that must always be exported. +include_expsyms=$lt_include_expsyms_CXX + +# Commands necessary for linking programs (against libraries) with templates. +prelink_cmds=$lt_prelink_cmds_CXX + +# Commands necessary for finishing linking programs. +postlink_cmds=$lt_postlink_cmds_CXX + +# Specify filename containing input files. +file_list_spec=$lt_file_list_spec_CXX + +# How to hardcode a shared library path into an executable. +hardcode_action=$hardcode_action_CXX + +# The directories searched by this compiler when creating a shared library. +compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX + +# Dependencies to place before and after the objects being linked to +# create a shared library. +predep_objects=$lt_predep_objects_CXX +postdep_objects=$lt_postdep_objects_CXX +predeps=$lt_predeps_CXX +postdeps=$lt_postdeps_CXX + +# The library search path used internally by the compiler when linking +# a shared library. +compiler_lib_search_path=$lt_compiler_lib_search_path_CXX + +# ### END LIBTOOL TAG CONFIG: CXX +_LT_EOF + + ;; + "depfiles":C) test x"$AMDEP_TRUE" != x"" || { + # Older Autoconf 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"` + # 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'`; 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; as_fn_mkdir_p + # echo "creating $dirpart/$file" + echo '# dummy' > "$dirpart/$file" + done + done +} + ;; + "po-directories":C) for ac_file in $CONFIG_FILES; do # Support "outfile[:infile[:infile...]]" case "$ac_file" in @@ -9842,12 +23335,15 @@ $as_echo "$as_me: executing $ac_file commands" >&6;} /*) 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, GMOFILES, UPDATEPOFILES, DUMMYPOFILES depend + # 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 @@ -9855,27 +23351,36 @@ $as_echo "$as_me: executing $ac_file commands" >&6;} 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" "$ac_given_srcdir/$ac_dir/LINGUAS"` - # Hide the ALL_LINGUAS assigment from automake. + 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= - GMOFILES= UPDATEPOFILES= DUMMYPOFILES= + GMOFILES= for lang in $ALL_LINGUAS; do POFILES="$POFILES $srcdirpre$lang.po" - GMOFILES="$GMOFILES $srcdirpre$lang.gmo" 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. @@ -9910,7 +23415,7 @@ $as_echo "$as_me: executing $ac_file commands" >&6;} 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|@GMOFILES@|$GMOFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$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 @@ -9923,101 +23428,6 @@ $as_echo "$as_me: executing $ac_file commands" >&6;} ;; esac done ;; - "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; as_fn_mkdir_p - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done - done -} - ;; esac done # for ac_tag @@ -10028,7 +23438,7 @@ _ACEOF ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || - as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5 + as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 # configure is writing to config.log, and then calls config.status. @@ -10049,7 +23459,7 @@ if test "$no_create" != yes; then exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. - $ac_cs_success || as_fn_exit $? + $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 diff --git a/configure.ac b/configure.ac new file mode 100644 index 000000000000..55e774b014be --- /dev/null +++ b/configure.ac @@ -0,0 +1,184 @@ +# -*- Autoconf -*- +# Process this file with autoconf to produce a configure script. + +# This file is part of flex. + +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: + +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. + +# Neither the name of the University nor the names of its contributors +# may be used to endorse or promote products derived from this software +# without specific prior written permission. + +# THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED +# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE. + +# autoconf requirements and initialization + +AC_INIT([the fast lexical analyser generator],[2.6.4],[flex-help@lists.sourceforge.net],[flex]) +AC_CONFIG_SRCDIR([src/scan.l]) +AC_CONFIG_AUX_DIR([build-aux]) +LT_INIT +AM_INIT_AUTOMAKE([1.11.3 -Wno-portability foreign check-news std-options dist-lzip parallel-tests subdir-objects]) +AC_CONFIG_HEADER([src/config.h]) +AC_CONFIG_LIBOBJ_DIR([lib]) +AC_CONFIG_MACRO_DIR([m4]) +SHARED_VERSION_INFO="2:0:0" +AC_SUBST(SHARED_VERSION_INFO) + +# checks for programs + +AM_GNU_GETTEXT([external]) +AM_GNU_GETTEXT_VERSION([0.18]) +AC_PROG_YACC +AS_IF([test "$YACC" != 'bison -y'], [ + YACC="\${top_srcdir}/build-aux/missing bison -y" + AC_MSG_NOTICE(no bison program found: only required for maintainers) + ]) +AM_CONDITIONAL([HAVE_BISON], [test "$YACC" = 'bison -y']) +AM_PROG_LEX +AC_PROG_CC +AX_PROG_CC_FOR_BUILD +AC_PROG_CXX +AM_PROG_CC_C_O +AC_PROG_LN_S +AC_PROG_AWK +AC_PROG_INSTALL + +# allow passing a variable `WARNINGFLAGS', +# either when invoking `configure', or when invoking `make' +# default to something useful if GCC was detected + +AC_ARG_ENABLE([warnings], + [AS_HELP_STRING([--enable-warnings], + [enable a bunch of compiler warning flags (defaults to GCC warning flags).])], + [AS_IF([test "x$GCC" = xyes], + [ : ${WARNINGFLAGS="-Wall -Wextra -Wmissing-prototypes -Wstrict-prototypes -Wnested-externs -Wold-style-definition -Wredundant-decls -Wconversion -Wno-unused-but-set-variable"} ])]) + +AC_SUBST([WARNINGFLAGS]) + +AC_ARG_ENABLE([libfl], + [AS_HELP_STRING([--disable-libfl], + [do not build -lfl runtime support library])], + [], [enable_libfl=yes]) +AM_CONDITIONAL([ENABLE_LIBFL], [test "x$enable_libfl" = xyes]) + +# --disable-bootstrap is intended only to workaround problems with bootstrap +# (e.g. when cross-compiling flex or when bootstrapping has bugs). +# Ideally we should be able to bootstrap even when cross-compiling. +AC_ARG_ENABLE([bootstrap], + [AS_HELP_STRING([--disable-bootstrap], + [don't perform a bootstrap when building flex])], + [], [enable_bootstrap=yes]) +AM_CONDITIONAL([ENABLE_BOOTSTRAP], [test "x$enable_bootstrap" = xyes]) + +AM_CONDITIONAL([CROSS], [test "x$cross_compiling" = xyes]) + +AC_PATH_PROG([HELP2MAN], help2man, [\${top_srcdir}/build-aux/missing help2man]) + AS_IF([test "$HELP2MAN" = "\${top_srcdir}/build-aux/missing help2man"], + AC_MSG_WARN(help2man: program not found: building man page will not work) + ) + +AC_PATH_PROGS([TEXI2DVI], [gtexi2dvi texi2dvi], [\${top_srcdir}/build-aux/missing texi2dvi]) + AS_IF([test "$TEXI2DVI" = "\${top_srcdir}/build-aux/missing texi2dvi"], + AC_MSG_WARN(texi2dvi: program not found: building pdf version of manual will not work) + ) + +# Check for a m4 that supports -P + +AC_CACHE_CHECK([for m4 that supports -P], [ac_cv_path_M4], +[AC_PATH_PROGS_FEATURE_CHECK([M4], [gm4 gnum4 m4], + [[m4out=`echo 'm''4_divnum' | $ac_path_M4 -P`] + [test "x$m4out" = x0 \ + && ac_cv_path_M4=$ac_path_M4 ac_path_M4_found=:]], + [AC_MSG_ERROR([could not find m4 that supports -P])])]) +AC_SUBST([M4], [$ac_cv_path_M4]) +AC_DEFINE_UNQUOTED([M4], ["$M4"], [Define to the m4 executable name.]) + +AC_PATH_PROG([INDENT], indent, [\${top_srcdir}/build-aux/missing indent]) + AC_MSG_CHECKING(if $INDENT is GNU indent) + AS_IF([$INDENT --version 2>/dev/null | head -n 1 | grep "GNU indent" >/dev/null], + [AC_MSG_RESULT(yes)], + [AC_MSG_RESULT(no) + AC_MSG_WARN($INDENT does not appear to be GNU indent; 'make indent' may not function properly) + ]) + +# checks for headers + +AC_CHECK_HEADERS([regex.h strings.h sys/stat.h sys/wait.h unistd.h], [], + [AC_MSG_ERROR(required header not found on your system)]) + +AC_CHECK_HEADERS([inttypes.h libintl.h limits.h locale.h malloc.h netinet/in.h]) + +# checks for libraries + +# The test test-pthread uses libpthread, so we check for it here, but +# all we need is the preprocessor symbol defined since we don't need +# LIBS to include libpthread for building flex. + +LIBPTHREAD='' +AC_CHECK_LIB(pthread, pthread_mutex_lock, + [AC_CHECK_HEADERS([pthread.h], [LIBPTHREAD=-lpthread], + [AC_MSG_WARN([pthread tests will be skipped])])], + [AC_MSG_WARN([pthread tests will be skipped])]) +AC_SUBST([LIBPTHREAD]) + +AC_CHECK_LIB(m, log10) + +# Checks for typedefs, structures, and compiler characteristics. + +AC_HEADER_STDBOOL +AC_C_CONST +AC_TYPE_SIZE_T + +# Checks for library functions. + +AC_FUNC_ALLOCA +AC_FUNC_FORK +dnl Autoconf bug: AC_FUNC_MALLOC and AC_FUNC_REALLOC might not warn of cross +dnl compilation. Workaround this. +AC_FUNC_MALLOC +AS_IF([test "$cross_compiling" = yes], + AC_MSG_WARN([result $ac_cv_func_malloc_0_nonnull guessed because of cross compilation])) +AC_FUNC_REALLOC +AS_IF([test "$cross_compiling" = yes], + AC_MSG_WARN([result $ac_cv_func_realloc_0_nonnull guessed because of cross compilation])) + +AC_CHECK_FUNCS([dup2 dnl +memset dnl +regcomp dnl +strcasecmp dnl +strchr dnl +strdup dnl +strtol dnl +], [], [AC_MSG_ERROR(required library function not found on your system)]) + +# Optional library functions +AC_CHECK_FUNCS([dnl +pow dnl Used only by "examples/manual/expr" +setlocale dnl Needed only if NLS is enabled +reallocarray dnl OpenBSD function. We have replacement if not available. +]) + +AC_CONFIG_FILES( +Makefile +doc/Makefile +examples/Makefile +examples/fastwc/Makefile +examples/manual/Makefile +po/Makefile.in +src/Makefile +tools/Makefile +tests/Makefile +) + +AC_OUTPUT diff --git a/configure.in b/configure.in deleted file mode 100644 index 61f541201a6b..000000000000 --- a/configure.in +++ /dev/null @@ -1,170 +0,0 @@ -# -*- Autoconf -*- -# Process this file with autoconf to produce a configure script. - -# This file is part of flex. - -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: - -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. - -# Neither the name of the University nor the names of its contributors -# may be used to endorse or promote products derived from this software -# without specific prior written permission. - -# THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED -# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -# PURPOSE. - -# autoconf requirements and initialization - -AC_INIT([the fast lexical analyser generator], [2.5.37], -[flex-help@lists.sourceforge.net], [flex]) -AC_CONFIG_SRCDIR([scan.l]) -AM_INIT_AUTOMAKE([gnits dist-bzip2 1.10]) -AC_CONFIG_HEADER([config.h:conf.in]) -AC_CONFIG_LIBOBJ_DIR([lib]) - -# checks for programs - -AM_GNU_GETTEXT([external]) -AM_GNU_GETTEXT_VERSION(0.12) -AC_PROG_YACC -AM_PROG_LEX -AC_PROG_CC -AC_PROG_CXX -AM_PROG_CC_C_O -AC_PROG_LN_S -AC_PROG_RANLIB -AC_PROG_AWK -AC_PROG_INSTALL - -AC_PATH_PROG(BISON, bison,bison) -AC_PATH_PROG(HELP2MAN, help2man, help2man) - -# Check for a m4 that supports -P - -AC_CACHE_CHECK([for m4 that supports -P], [ac_cv_path_M4], -[AC_PATH_PROGS_FEATURE_CHECK([M4], [gm4 gnum4 m4], - [[m4out=`echo 'm''4_divnum' | $ac_path_M4 -P`] - [test "x$m4out" = x0 \ - && ac_cv_path_M4=$ac_path_M4 ac_path_M4_found=:]], - [AC_MSG_ERROR([could not find m4 that supports -P])])]) -AC_SUBST([M4], [$ac_cv_path_M4]) -AC_DEFINE_UNQUOTED([M4], ["$M4"], [Define to the m4 executable name.]) - -AC_PATH_PROG(INDENT, indent, indent) -# if INDENT is set to 'indent' then we didn't find indent -if test "$INDENT" != indent ; then - AC_MSG_CHECKING(if $INDENT is GNU indent) - if $INDENT --version 2>/dev/null | head -n 1|grep "GNU indent" > /dev/null ; then - AC_MSG_RESULT(yes) - else - AC_MSG_RESULT(no) - AC_MSG_WARN($INDENT does not appear to be GNU indent.) - fi -else - AC_MSG_WARN(no indent program found: make indent target will not function) -fi - -# checks for headers - -AC_HEADER_STDC -AC_HEADER_SYS_WAIT -AC_CHECK_HEADERS([inttypes.h libintl.h limits.h locale.h malloc.h netinet/in.h regex.h stddef.h stdlib.h string.h strings.h unistd.h]) - -# checks for libraries - -# The test test-pthread uses libpthread, so we check for it here, but -# all we need is the preprocessor symbol defined since we don't need -# LIBS to include libpthread for building flex. - -AC_CHECK_LIB(pthread, pthread_mutex_lock, -AC_DEFINE([HAVE_LIBPTHREAD], 1, [pthread library] ), -AC_DEFINE([HAVE_LIBPTHREAD], 0, [pthread library] ) -) -AC_CHECK_HEADERS([pthread.h]) - -AC_CHECK_LIB(m, log10) - -# Checks for typedefs, structures, and compiler characteristics. - -AC_HEADER_STDBOOL -AC_C_CONST -AC_TYPE_SIZE_T - -# Checks for library functions. - -AC_FUNC_ALLOCA -AC_FUNC_FORK -AC_FUNC_MALLOC -AC_FUNC_REALLOC -AC_CHECK_FUNCS([dup2 isascii memset pow regcomp setlocale strchr strtol]) - -AC_CONFIG_FILES( -Makefile -doc/Makefile -examples/Makefile -examples/fastwc/Makefile -examples/manual/Makefile -lib/Makefile -po/Makefile.in -tools/Makefile -tests/Makefile -tests/TEMPLATE/Makefile -tests/test-array-nr/Makefile -tests/test-array-r/Makefile -tests/test-basic-nr/Makefile -tests/test-basic-r/Makefile -tests/test-bison-yylloc/Makefile -tests/test-bison-yylval/Makefile -tests/test-c-cpp-nr/Makefile -tests/test-c-cpp-r/Makefile -tests/test-header-nr/Makefile -tests/test-header-r/Makefile -tests/test-include-by-buffer/Makefile -tests/test-include-by-push/Makefile -tests/test-include-by-reentrant/Makefile -tests/test-multiple-scanners-nr/Makefile -tests/test-multiple-scanners-r/Makefile -tests/test-noansi-nr/Makefile -tests/test-noansi-r/Makefile -tests/test-prefix-nr/Makefile -tests/test-prefix-r/Makefile -tests/test-pthread/Makefile -tests/test-string-nr/Makefile -tests/test-string-r/Makefile -tests/test-yyextra/Makefile -tests/test-alloc-extra/Makefile -tests/test-lineno-nr/Makefile -tests/test-lineno-r/Makefile -tests/test-linedir-r/Makefile -tests/test-debug-r/Makefile -tests/test-debug-nr/Makefile -tests/test-mem-nr/Makefile -tests/test-mem-r/Makefile -tests/test-posix/Makefile -tests/test-posixly-correct/Makefile -tests/test-table-opts/Makefile -tests/test-c++-basic/Makefile -tests/test-bison-nr/Makefile -tests/test-reject/Makefile -tests/test-c++-multiple-scanners/Makefile -tests/test-top/Makefile -tests/test-rescan-nr/Makefile -tests/test-rescan-r/Makefile -tests/test-quotes/Makefile -tests/test-ccl/Makefile -tests/test-extended/Makefile -tests/test-c++-yywrap/Makefile -tests/test-concatenated-options/Makefile -dnl --new-test-here-- This line is processed by tests/create-test. -) - -AC_OUTPUT diff --git a/depcomp b/depcomp deleted file mode 100755 index df8eea7e4ce8..000000000000 --- a/depcomp +++ /dev/null @@ -1,630 +0,0 @@ -#! /bin/sh -# depcomp - compile a program generating dependencies as side-effects - -scriptversion=2009-04-28.21; # UTC - -# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free -# Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -# 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 Alexandre Oliva . - -case $1 in - '') - echo "$0: No command. Try \`$0 --help' for more information." 1>&2 - exit 1; - ;; - -h | --h*) - cat <<\EOF -Usage: depcomp [--help] [--version] PROGRAM [ARGS] - -Run PROGRAMS ARGS to compile a file, generating dependencies -as side-effects. - -Environment variables: - depmode Dependency tracking mode. - source Source file read by `PROGRAMS ARGS'. - object Object file output by `PROGRAMS ARGS'. - DEPDIR directory where to store dependencies. - depfile Dependency file to output. - tmpdepfile Temporary file to use when outputing dependencies. - libtool Whether libtool is used (yes/no). - -Report bugs to . -EOF - exit $? - ;; - -v | --v*) - echo "depcomp $scriptversion" - exit $? - ;; -esac - -if test -z "$depmode" || test -z "$source" || test -z "$object"; then - echo "depcomp: Variables source, object and depmode must be set" 1>&2 - exit 1 -fi - -# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. -depfile=${depfile-`echo "$object" | - sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} -tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} - -rm -f "$tmpdepfile" - -# Some modes work just like other modes, but use different flags. We -# parameterize here, but still list the modes in the big case below, -# to make depend.m4 easier to write. Note that we *cannot* use a case -# here, because this file can only contain one case statement. -if test "$depmode" = hp; then - # HP compiler uses -M and no extra arg. - gccflag=-M - depmode=gcc -fi - -if test "$depmode" = dashXmstdout; then - # This is just like dashmstdout with a different argument. - dashmflag=-xM - depmode=dashmstdout -fi - -cygpath_u="cygpath -u -f -" -if test "$depmode" = msvcmsys; then - # This is just like msvisualcpp but w/o cygpath translation. - # Just convert the backslash-escaped backslashes to single forward - # slashes to satisfy depend.m4 - cygpath_u="sed s,\\\\\\\\,/,g" - depmode=msvisualcpp -fi - -case "$depmode" in -gcc3) -## gcc 3 implements dependency tracking that does exactly what -## we want. Yay! Note: for some reason libtool 1.4 doesn't like -## it if -MD -MP comes after the -MF stuff. Hmm. -## Unfortunately, FreeBSD c89 acceptance of flags depends upon -## the command line argument order; so add the flags where they -## appear in depend2.am. Note that the slowdown incurred here -## affects only configure: in makefiles, %FASTDEP% shortcuts this. - for arg - do - case $arg in - -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; - *) set fnord "$@" "$arg" ;; - esac - shift # fnord - shift # $arg - done - "$@" - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - mv "$tmpdepfile" "$depfile" - ;; - -gcc) -## There are various ways to get dependency output from gcc. Here's -## why we pick this rather obscure method: -## - Don't want to use -MD because we'd like the dependencies to end -## up in a subdir. Having to rename by hand is ugly. -## (We might end up doing this anyway to support other compilers.) -## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like -## -MM, not -M (despite what the docs say). -## - Using -M directly means running the compiler twice (even worse -## than renaming). - if test -z "$gccflag"; then - gccflag=-MD, - fi - "$@" -Wp,"$gccflag$tmpdepfile" - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - echo "$object : \\" > "$depfile" - alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz -## The second -e expression handles DOS-style file names with drive letters. - sed -e 's/^[^:]*: / /' \ - -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" -## This next piece of magic avoids the `deleted header file' problem. -## The problem is that when a header file which appears in a .P file -## is deleted, the dependency causes make to die (because there is -## typically no way to rebuild the header). We avoid this by adding -## dummy dependencies for each header file. Too bad gcc doesn't do -## this for us directly. - tr ' ' ' -' < "$tmpdepfile" | -## Some versions of gcc put a space before the `:'. On the theory -## that the space means something, we add a space to the output as -## well. -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -hp) - # This case exists only to let depend.m4 do its work. It works by - # looking at the text of this script. This case will never be run, - # since it is checked for above. - exit 1 - ;; - -sgi) - if test "$libtool" = yes; then - "$@" "-Wp,-MDupdate,$tmpdepfile" - else - "$@" -MDupdate "$tmpdepfile" - fi - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - - if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files - echo "$object : \\" > "$depfile" - - # Clip off the initial element (the dependent). Don't try to be - # clever and replace this with sed code, as IRIX sed won't handle - # lines with more than a fixed number of characters (4096 in - # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; - # the IRIX cc adds comments like `#:fec' to the end of the - # dependency line. - tr ' ' ' -' < "$tmpdepfile" \ - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ - tr ' -' ' ' >> "$depfile" - echo >> "$depfile" - - # The second pass generates a dummy entry for each header file. - tr ' ' ' -' < "$tmpdepfile" \ - | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ - >> "$depfile" - else - # The sourcefile does not contain any dependencies, so just - # store a dummy comment line, to avoid errors with the Makefile - # "include basename.Plo" scheme. - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" - ;; - -aix) - # The C for AIX Compiler uses -M and outputs the dependencies - # in a .u file. In older versions, this file always lives in the - # current directory. Also, the AIX compiler puts `$object:' at the - # start of each line; $object doesn't have directory information. - # Version 6 uses the directory in both cases. - dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` - test "x$dir" = "x$object" && dir= - base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` - if test "$libtool" = yes; then - tmpdepfile1=$dir$base.u - tmpdepfile2=$base.u - tmpdepfile3=$dir.libs/$base.u - "$@" -Wc,-M - else - tmpdepfile1=$dir$base.u - tmpdepfile2=$dir$base.u - tmpdepfile3=$dir$base.u - "$@" -M - fi - stat=$? - - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" - exit $stat - fi - - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" - do - test -f "$tmpdepfile" && break - done - if test -f "$tmpdepfile"; then - # Each line is of the form `foo.o: dependent.h'. - # Do two passes, one to just change these to - # `$object: dependent.h' and one to simply `dependent.h:'. - sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" - # That's a tab and a space in the []. - sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" - else - # The sourcefile does not contain any dependencies, so just - # store a dummy comment line, to avoid errors with the Makefile - # "include basename.Plo" scheme. - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" - ;; - -icc) - # Intel's C compiler understands `-MD -MF file'. However on - # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c - # ICC 7.0 will fill foo.d with something like - # foo.o: sub/foo.c - # foo.o: sub/foo.h - # which is wrong. We want: - # sub/foo.o: sub/foo.c - # sub/foo.o: sub/foo.h - # sub/foo.c: - # sub/foo.h: - # ICC 7.1 will output - # foo.o: sub/foo.c sub/foo.h - # and will wrap long lines using \ : - # foo.o: sub/foo.c ... \ - # sub/foo.h ... \ - # ... - - "$@" -MD -MF "$tmpdepfile" - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - # Each line is of the form `foo.o: dependent.h', - # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. - # Do two passes, one to just change these to - # `$object: dependent.h' and one to simply `dependent.h:'. - sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" - # Some versions of the HPUX 10.20 sed can't process this invocation - # correctly. Breaking it into two sed invocations is a workaround. - sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | - sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -hp2) - # The "hp" stanza above does not work with aCC (C++) and HP's ia64 - # compilers, which have integrated preprocessors. The correct option - # to use with these is +Maked; it writes dependencies to a file named - # 'foo.d', which lands next to the object file, wherever that - # happens to be. - # Much of this is similar to the tru64 case; see comments there. - dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` - test "x$dir" = "x$object" && dir= - base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` - if test "$libtool" = yes; then - tmpdepfile1=$dir$base.d - tmpdepfile2=$dir.libs/$base.d - "$@" -Wc,+Maked - else - tmpdepfile1=$dir$base.d - tmpdepfile2=$dir$base.d - "$@" +Maked - fi - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile1" "$tmpdepfile2" - exit $stat - fi - - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" - do - test -f "$tmpdepfile" && break - done - if test -f "$tmpdepfile"; then - sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" - # Add `dependent.h:' lines. - sed -ne '2,${ - s/^ *// - s/ \\*$// - s/$/:/ - p - }' "$tmpdepfile" >> "$depfile" - else - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" "$tmpdepfile2" - ;; - -tru64) - # The Tru64 compiler uses -MD to generate dependencies as a side - # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. - # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put - # dependencies in `foo.d' instead, so we check for that too. - # Subdirectories are respected. - dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` - test "x$dir" = "x$object" && dir= - base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` - - if test "$libtool" = yes; then - # With Tru64 cc, shared objects can also be used to make a - # static library. This mechanism is used in libtool 1.4 series to - # handle both shared and static libraries in a single compilation. - # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d. - # - # With libtool 1.5 this exception was removed, and libtool now - # generates 2 separate objects for the 2 libraries. These two - # compilations output dependencies in $dir.libs/$base.o.d and - # in $dir$base.o.d. We have to check for both files, because - # one of the two compilations can be disabled. We should prefer - # $dir$base.o.d over $dir.libs/$base.o.d because the latter is - # automatically cleaned when .libs/ is deleted, while ignoring - # the former would cause a distcleancheck panic. - tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4 - tmpdepfile2=$dir$base.o.d # libtool 1.5 - tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5 - tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504 - "$@" -Wc,-MD - else - tmpdepfile1=$dir$base.o.d - tmpdepfile2=$dir$base.d - tmpdepfile3=$dir$base.d - tmpdepfile4=$dir$base.d - "$@" -MD - fi - - stat=$? - if test $stat -eq 0; then : - else - rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" - exit $stat - fi - - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" - do - test -f "$tmpdepfile" && break - done - if test -f "$tmpdepfile"; then - sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" - # That's a tab and a space in the []. - sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" - else - echo "#dummy" > "$depfile" - fi - rm -f "$tmpdepfile" - ;; - -#nosideeffect) - # This comment above is used by automake to tell side-effect - # dependency tracking mechanisms from slower ones. - -dashmstdout) - # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout, regardless of -o. - "$@" || exit $? - - # Remove the call to Libtool. - if test "$libtool" = yes; then - while test "X$1" != 'X--mode=compile'; do - shift - done - shift - fi - - # Remove `-o $object'. - IFS=" " - for arg - do - case $arg in - -o) - shift - ;; - $object) - shift - ;; - *) - set fnord "$@" "$arg" - shift # fnord - shift # $arg - ;; - esac - done - - test -z "$dashmflag" && dashmflag=-M - # Require at least two characters before searching for `:' - # in the target name. This is to cope with DOS-style filenames: - # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. - "$@" $dashmflag | - sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" - rm -f "$depfile" - cat < "$tmpdepfile" > "$depfile" - tr ' ' ' -' < "$tmpdepfile" | \ -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -dashXmstdout) - # This case only exists to satisfy depend.m4. It is never actually - # run, as this mode is specially recognized in the preamble. - exit 1 - ;; - -makedepend) - "$@" || exit $? - # Remove any Libtool call - if test "$libtool" = yes; then - while test "X$1" != 'X--mode=compile'; do - shift - done - shift - fi - # X makedepend - shift - cleared=no eat=no - for arg - do - case $cleared in - no) - set ""; shift - cleared=yes ;; - esac - if test $eat = yes; then - eat=no - continue - fi - case "$arg" in - -D*|-I*) - set fnord "$@" "$arg"; shift ;; - # Strip any option that makedepend may not understand. Remove - # the object too, otherwise makedepend will parse it as a source file. - -arch) - eat=yes ;; - -*|$object) - ;; - *) - set fnord "$@" "$arg"; shift ;; - esac - done - obj_suffix=`echo "$object" | sed 's/^.*\././'` - touch "$tmpdepfile" - ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" - rm -f "$depfile" - cat < "$tmpdepfile" > "$depfile" - sed '1,2d' "$tmpdepfile" | tr ' ' ' -' | \ -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" "$tmpdepfile".bak - ;; - -cpp) - # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout. - "$@" || exit $? - - # Remove the call to Libtool. - if test "$libtool" = yes; then - while test "X$1" != 'X--mode=compile'; do - shift - done - shift - fi - - # Remove `-o $object'. - IFS=" " - for arg - do - case $arg in - -o) - shift - ;; - $object) - shift - ;; - *) - set fnord "$@" "$arg" - shift # fnord - shift # $arg - ;; - esac - done - - "$@" -E | - sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ - -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | - sed '$ s: \\$::' > "$tmpdepfile" - rm -f "$depfile" - echo "$object : \\" > "$depfile" - cat < "$tmpdepfile" >> "$depfile" - sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -msvisualcpp) - # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout. - "$@" || exit $? - - # Remove the call to Libtool. - if test "$libtool" = yes; then - while test "X$1" != 'X--mode=compile'; do - shift - done - shift - fi - - IFS=" " - for arg - do - case "$arg" in - -o) - shift - ;; - $object) - shift - ;; - "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") - set fnord "$@" - shift - shift - ;; - *) - set fnord "$@" "$arg" - shift - shift - ;; - esac - done - "$@" -E 2>/dev/null | - sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" - rm -f "$depfile" - echo "$object : \\" > "$depfile" - sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" - echo " " >> "$depfile" - sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -msvcmsys) - # This case exists only to let depend.m4 do its work. It works by - # looking at the text of this script. This case will never be run, - # since it is checked for above. - exit 1 - ;; - -none) - exec "$@" - ;; - -*) - echo "Unknown depmode $depmode" 1>&2 - exit 1 - ;; -esac - -exit 0 - -# Local Variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" -# time-stamp-end: "; # UTC" -# End: diff --git a/install-sh b/install-sh deleted file mode 100755 index 6781b987bdbc..000000000000 --- a/install-sh +++ /dev/null @@ -1,520 +0,0 @@ -#!/bin/sh -# install - install a program, script, or datafile - -scriptversion=2009-04-28.21; # UTC - -# 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. - -nl=' -' -IFS=" "" $nl" - -# set DOITPROG to echo to test this script - -# Don't use :- since 4.3BSD and earlier shells don't like it. -doit=${DOITPROG-} -if test -z "$doit"; then - doit_exec=exec -else - doit_exec=$doit -fi - -# Put in absolute file names if you don't have them in your path; -# or use environment vars. - -chgrpprog=${CHGRPPROG-chgrp} -chmodprog=${CHMODPROG-chmod} -chownprog=${CHOWNPROG-chown} -cmpprog=${CMPPROG-cmp} -cpprog=${CPPROG-cp} -mkdirprog=${MKDIRPROG-mkdir} -mvprog=${MVPROG-mv} -rmprog=${RMPROG-rm} -stripprog=${STRIPPROG-strip} - -posix_glob='?' -initialize_posix_glob=' - test "$posix_glob" != "?" || { - if (set -f) 2>/dev/null; then - posix_glob= - else - posix_glob=: - fi - } -' - -posix_mkdir= - -# Desired mode of installed file. -mode=0755 - -chgrpcmd= -chmodcmd=$chmodprog -chowncmd= -mvcmd=$mvprog -rmcmd="$rmprog -f" -stripcmd= - -src= -dst= -dir_arg= -dst_arg= - -copy_on_change=false -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: - --help display this help and exit. - --version display version info and exit. - - -c (ignored) - -C install only if different (preserve the last data modification time) - -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. - -Environment variables override the default commands: - CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG - RMPROG STRIPPROG -" - -while test $# -ne 0; do - case $1 in - -c) ;; - - -C) copy_on_change=true;; - - -d) dir_arg=true;; - - -g) chgrpcmd="$chgrpprog $2" - shift;; - - --help) echo "$usage"; exit $?;; - - -m) mode=$2 - case $mode in - *' '* | *' '* | *' -'* | *'*'* | *'?'* | *'['*) - echo "$0: invalid mode: $mode" >&2 - exit 1;; - esac - shift;; - - -o) chowncmd="$chownprog $2" - shift;; - - -s) stripcmd=$stripprog;; - - -t) dst_arg=$2 - shift;; - - -T) no_target_directory=true;; - - --version) echo "$0 $scriptversion"; exit $?;; - - --) shift - break;; - - -*) echo "$0: invalid option: $1" >&2 - exit 1;; - - *) break;; - esac - shift -done - -if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then - # When -d is used, all remaining arguments are directories to create. - # When -t is used, the destination is already specified. - # Otherwise, the last argument is the destination. Remove it from $@. - for arg - do - if test -n "$dst_arg"; then - # $@ is not empty: it contains at least $arg. - set fnord "$@" "$dst_arg" - shift # fnord - fi - shift # arg - dst_arg=$arg - done -fi - -if test $# -eq 0; 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 - -if test -z "$dir_arg"; then - trap '(exit $?); exit' 1 2 13 15 - - # Set umask so as not to create temps with too-generous modes. - # However, 'strip' requires both read and write access to temps. - case $mode in - # Optimize common cases. - *644) cp_umask=133;; - *755) cp_umask=22;; - - *[0-7]) - if test -z "$stripcmd"; then - u_plus_rw= - else - u_plus_rw='% 200' - fi - cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; - *) - if test -z "$stripcmd"; then - u_plus_rw= - else - u_plus_rw=,u+rw - fi - cp_umask=$mode$u_plus_rw;; - esac -fi - -for src -do - # Protect names starting with `-'. - case $src in - -*) src=./$src;; - esac - - if test -n "$dir_arg"; then - dst=$src - dstdir=$dst - test -d "$dstdir" - dstdir_status=$? - else - - # Waiting for this to be detected by the "$cpprog $src $dsttmp" command - # might cause directories to be created, which would be especially bad - # if $src (and thus $dsttmp) contains '*'. - if test ! -f "$src" && test ! -d "$src"; then - echo "$0: $src does not exist." >&2 - exit 1 - fi - - if test -z "$dst_arg"; then - echo "$0: no destination specified." >&2 - exit 1 - fi - - dst=$dst_arg - # 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: $dst_arg: Is a directory" >&2 - exit 1 - fi - dstdir=$dst - dst=$dstdir/`basename "$src"` - dstdir_status=0 - else - # Prefer dirname, but fall back on a substitute if dirname fails. - dstdir=` - (dirname "$dst") 2>/dev/null || - expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$dst" : 'X\(//\)[^/]' \| \ - X"$dst" : 'X\(//\)$' \| \ - X"$dst" : 'X\(/\)' \| . 2>/dev/null || - echo X"$dst" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q' - ` - - test -d "$dstdir" - dstdir_status=$? - fi - fi - - obsolete_mkdir_used=false - - if test $dstdir_status != 0; then - case $posix_mkdir in - '') - # Create intermediate dirs using mode 755 as modified by the umask. - # This is like FreeBSD 'install' as of 1997-10-28. - umask=`umask` - case $stripcmd.$umask in - # Optimize common cases. - *[2367][2367]) mkdir_umask=$umask;; - .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; - - *[0-7]) - mkdir_umask=`expr $umask + 22 \ - - $umask % 100 % 40 + $umask % 20 \ - - $umask % 10 % 4 + $umask % 2 - `;; - *) mkdir_umask=$umask,go-w;; - esac - - # With -d, create the new directory with the user-specified mode. - # Otherwise, rely on $mkdir_umask. - if test -n "$dir_arg"; then - mkdir_mode=-m$mode - else - mkdir_mode= - fi - - posix_mkdir=false - case $umask in - *[123567][0-7][0-7]) - # POSIX mkdir -p sets u+wx bits regardless of umask, which - # is incompatible with FreeBSD 'install' when (umask & 300) != 0. - ;; - *) - tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ - trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 - - if (umask $mkdir_umask && - exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 - then - if test -z "$dir_arg" || { - # Check for POSIX incompatibilities with -m. - # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or - # other-writeable bit of parent directory when it shouldn't. - # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. - ls_ld_tmpdir=`ls -ld "$tmpdir"` - case $ls_ld_tmpdir in - d????-?r-*) different_mode=700;; - d????-?--*) different_mode=755;; - *) false;; - esac && - $mkdirprog -m$different_mode -p -- "$tmpdir" && { - ls_ld_tmpdir_1=`ls -ld "$tmpdir"` - test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" - } - } - then posix_mkdir=: - fi - rmdir "$tmpdir/d" "$tmpdir" - else - # Remove any dirs left behind by ancient mkdir implementations. - rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null - fi - trap '' 0;; - esac;; - esac - - if - $posix_mkdir && ( - umask $mkdir_umask && - $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" - ) - then : - else - - # The umask is ridiculous, or mkdir does not conform to POSIX, - # or it failed possibly due to a race condition. Create the - # directory the slow way, step by step, checking for races as we go. - - case $dstdir in - /*) prefix='/';; - -*) prefix='./';; - *) prefix='';; - esac - - eval "$initialize_posix_glob" - - oIFS=$IFS - IFS=/ - $posix_glob set -f - set fnord $dstdir - shift - $posix_glob set +f - IFS=$oIFS - - prefixes= - - for d - do - test -z "$d" && continue - - prefix=$prefix$d - if test -d "$prefix"; then - prefixes= - else - if $posix_mkdir; then - (umask=$mkdir_umask && - $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break - # Don't fail if two instances are running concurrently. - test -d "$prefix" || exit 1 - else - case $prefix in - *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; - *) qprefix=$prefix;; - esac - prefixes="$prefixes '$qprefix'" - fi - fi - prefix=$prefix/ - done - - if test -n "$prefixes"; then - # Don't fail if two instances are running concurrently. - (umask $mkdir_umask && - eval "\$doit_exec \$mkdirprog $prefixes") || - test -d "$dstdir" || exit 1 - obsolete_mkdir_used=true - fi - fi - fi - - if test -n "$dir_arg"; then - { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && - { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && - { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || - test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 - else - - # 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 - - # Copy the file name to the temp name. - (umask $cp_umask && $doit_exec $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 $mode "$dsttmp"; } && - - # If -C, don't bother to copy if it wouldn't change the file. - if $copy_on_change && - old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && - new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && - - eval "$initialize_posix_glob" && - $posix_glob set -f && - set X $old && old=:$2:$4:$5:$6 && - set X $new && new=:$2:$4:$5:$6 && - $posix_glob set +f && - - test "$old" = "$new" && - $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 - then - rm -f "$dsttmp" - else - # Rename the file to the real destination. - $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || - - # The rename failed, perhaps because mv can't rename something else - # to itself, or perhaps because mv is so ancient that it does not - # support -f. - { - # 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. - { - test ! -f "$dst" || - $doit $rmcmd -f "$dst" 2>/dev/null || - { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && - { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } - } || - { echo "$0: cannot unlink or rename $dst" >&2 - (exit 1); exit 1 - } - } && - - # Now rename the file to the real destination. - $doit $mvcmd "$dsttmp" "$dst" - } - fi || exit 1 - - trap '' 0 - fi -done - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" -# time-stamp-end: "; # UTC" -# End: diff --git a/missing b/missing deleted file mode 100755 index 28055d2ae6f2..000000000000 --- a/missing +++ /dev/null @@ -1,376 +0,0 @@ -#! /bin/sh -# Common stub for a few missing GNU programs while installing. - -scriptversion=2009-04-28.21; # UTC - -# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006, -# 2008, 2009 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, see . - -# 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=: -sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p' -sed_minuso='s/.* -o \([^ ]*\).*/\1/p' - -# 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' - autom4te touch the output file, or create a stub one - 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] - -Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and -\`g' are ignored when checking the name. - -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 - -# normalize program name to check for. -program=`echo "$1" | sed ' - s/^gnu-//; t - s/^gnu//; t - s/^g//; t'` - -# 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). This is about non-GNU programs, so use $1 not -# $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 $program 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 "$sed_output"` - test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` - 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 test $# -ne 1; then - eval LASTARG="\${$#}" - case $LASTARG in - *.y) - SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` - if test -f "$SRCFILE"; then - cp "$SRCFILE" y.tab.c - fi - SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` - if test -f "$SRCFILE"; then - cp "$SRCFILE" y.tab.h - fi - ;; - esac - fi - if test ! -f y.tab.h; then - echo >y.tab.h - fi - if test ! -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 test $# -ne 1; then - eval LASTARG="\${$#}" - case $LASTARG in - *.l) - SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` - if test -f "$SRCFILE"; then - cp "$SRCFILE" lex.yy.c - fi - ;; - esac - fi - if test ! -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 "$sed_output"` - test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` - if test -f "$file"; then - touch $file - else - test -z "$file" || exec >$file - echo ".ab help2man is required to generate this page" - exit $? - 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 "$sed_output"` - test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` - 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-time-zone: "UTC" -# time-stamp-end: "; # UTC" -# End: diff --git a/mkinstalldirs b/mkinstalldirs deleted file mode 100755 index d2d5f21b6112..000000000000 --- a/mkinstalldirs +++ /dev/null @@ -1,111 +0,0 @@ -#! /bin/sh -# mkinstalldirs --- make directory hierarchy -# Author: Noah Friedman -# Created: 1993-05-16 -# Public domain - -errstatus=0 -dirmode="" - -usage="\ -Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..." - -# process command line arguments -while test $# -gt 0 ; do - case $1 in - -h | --help | --h*) # -h for help - echo "$usage" 1>&2 - exit 0 - ;; - -m) # -m PERM arg - shift - test $# -eq 0 && { echo "$usage" 1>&2; exit 1; } - dirmode=$1 - shift - ;; - --) # stop option processing - shift - break - ;; - -*) # unknown option - echo "$usage" 1>&2 - exit 1 - ;; - *) # first non-opt arg - break - ;; - esac -done - -for file -do - if test -d "$file"; then - shift - else - break - fi -done - -case $# in - 0) exit 0 ;; -esac - -case $dirmode in - '') - if mkdir -p -- . 2>/dev/null; then - echo "mkdir -p -- $*" - exec mkdir -p -- "$@" - fi - ;; - *) - if mkdir -m "$dirmode" -p -- . 2>/dev/null; then - echo "mkdir -m $dirmode -p -- $*" - exec mkdir -m "$dirmode" -p -- "$@" - fi - ;; -esac - -for file -do - set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` - shift - - pathcomp= - for d - do - pathcomp="$pathcomp$d" - case $pathcomp in - -*) pathcomp=./$pathcomp ;; - esac - - if test ! -d "$pathcomp"; then - echo "mkdir $pathcomp" - - mkdir "$pathcomp" || lasterr=$? - - if test ! -d "$pathcomp"; then - errstatus=$lasterr - else - if test ! -z "$dirmode"; then - echo "chmod $dirmode $pathcomp" - lasterr="" - chmod "$dirmode" "$pathcomp" || lasterr=$? - - if test ! -z "$lasterr"; then - errstatus=$lasterr - fi - fi - fi - fi - - pathcomp="$pathcomp/" - done -done - -exit $errstatus - -# Local Variables: -# mode: shell-script -# sh-indentation: 2 -# End: -# mkinstalldirs ends here diff --git a/scan.c b/scan.c deleted file mode 100644 index 1c5894d9b0e6..000000000000 --- a/scan.c +++ /dev/null @@ -1,5198 +0,0 @@ - -#line 3 "scan.c" - -#define YY_INT_ALIGNED short int - -/* A lexical scanner generated by flex */ - -#define FLEX_SCANNER -#define YY_FLEX_MAJOR_VERSION 2 -#define YY_FLEX_MINOR_VERSION 5 -#define YY_FLEX_SUBMINOR_VERSION 36 -#if YY_FLEX_SUBMINOR_VERSION > 0 -#define FLEX_BETA -#endif - -/* First, we deal with platform-specific or compiler-specific issues. */ - -/* begin standard C headers. */ -#include -#include -#include -#include - -/* end standard C headers. */ - -/* flex integer type definitions */ - -#ifndef FLEXINT_H -#define FLEXINT_H - -/* C99 systems have . Non-C99 systems may or may not. */ - -#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L - -/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, - * if you want the limit (max/min) macros for int types. - */ -#ifndef __STDC_LIMIT_MACROS -#define __STDC_LIMIT_MACROS 1 -#endif - -#include -typedef int8_t flex_int8_t; -typedef uint8_t flex_uint8_t; -typedef int16_t flex_int16_t; -typedef uint16_t flex_uint16_t; -typedef int32_t flex_int32_t; -typedef uint32_t flex_uint32_t; -#else -typedef signed char flex_int8_t; -typedef short int flex_int16_t; -typedef int flex_int32_t; -typedef unsigned char flex_uint8_t; -typedef unsigned short int flex_uint16_t; -typedef unsigned int flex_uint32_t; - -/* Limits of integral types. */ -#ifndef INT8_MIN -#define INT8_MIN (-128) -#endif -#ifndef INT16_MIN -#define INT16_MIN (-32767-1) -#endif -#ifndef INT32_MIN -#define INT32_MIN (-2147483647-1) -#endif -#ifndef INT8_MAX -#define INT8_MAX (127) -#endif -#ifndef INT16_MAX -#define INT16_MAX (32767) -#endif -#ifndef INT32_MAX -#define INT32_MAX (2147483647) -#endif -#ifndef UINT8_MAX -#define UINT8_MAX (255U) -#endif -#ifndef UINT16_MAX -#define UINT16_MAX (65535U) -#endif -#ifndef UINT32_MAX -#define UINT32_MAX (4294967295U) -#endif - -#endif /* ! C99 */ - -#endif /* ! FLEXINT_H */ - -#ifdef __cplusplus - -/* The "const" storage-class-modifier is valid. */ -#define YY_USE_CONST - -#else /* ! __cplusplus */ - -/* C99 requires __STDC__ to be defined as 1. */ -#if defined (__STDC__) - -#define YY_USE_CONST - -#endif /* defined (__STDC__) */ -#endif /* ! __cplusplus */ - -#ifdef YY_USE_CONST -#define yyconst const -#else -#define yyconst -#endif - -/* Returned upon end-of-file. */ -#define YY_NULL 0 - -/* Promotes a possibly negative, possibly signed char to an unsigned - * integer for use as an array index. If the signed char is negative, - * we want to instead treat it as an 8-bit unsigned char, hence the - * double cast. - */ -#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) - -/* Enter a start condition. This macro really ought to take a parameter, - * but we do it the disgusting crufty way forced on us by the ()-less - * definition of BEGIN. - */ -#define BEGIN (yy_start) = 1 + 2 * - -/* Translate the current start state into a value that can be later handed - * to BEGIN to return to the state. The YYSTATE alias is for lex - * compatibility. - */ -#define YY_START (((yy_start) - 1) / 2) -#define YYSTATE YY_START - -/* Action number for EOF rule of a given start state. */ -#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) - -/* Special action meaning "start processing a new file". */ -#define YY_NEW_FILE yyrestart(yyin ) - -#define YY_END_OF_BUFFER_CHAR 0 - -/* Size of default input buffer. */ -#ifndef YY_BUF_SIZE -#define YY_BUF_SIZE 16384 -#endif - -/* The state buf must be large enough to hold one state per character in the main buffer. - */ -#define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type)) - -#ifndef YY_TYPEDEF_YY_BUFFER_STATE -#define YY_TYPEDEF_YY_BUFFER_STATE -typedef struct yy_buffer_state *YY_BUFFER_STATE; -#endif - -#ifndef YY_TYPEDEF_YY_SIZE_T -#define YY_TYPEDEF_YY_SIZE_T -typedef size_t yy_size_t; -#endif - -extern yy_size_t yyleng; - -extern FILE *yyin, *yyout; - -#define EOB_ACT_CONTINUE_SCAN 0 -#define EOB_ACT_END_OF_FILE 1 -#define EOB_ACT_LAST_MATCH 2 - - #define YY_LESS_LINENO(n) - -/* Return all but the first "n" matched characters back to the input stream. */ -#define yyless(n) \ - do \ - { \ - /* Undo effects of setting up yytext. */ \ - int yyless_macro_arg = (n); \ - YY_LESS_LINENO(yyless_macro_arg);\ - *yy_cp = (yy_hold_char); \ - YY_RESTORE_YY_MORE_OFFSET \ - (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \ - YY_DO_BEFORE_ACTION; /* set up yytext again */ \ - } \ - while ( 0 ) - -#define unput(c) yyunput( c, (yytext_ptr) ) - -#ifndef YY_STRUCT_YY_BUFFER_STATE -#define YY_STRUCT_YY_BUFFER_STATE -struct yy_buffer_state - { - FILE *yy_input_file; - - char *yy_ch_buf; /* input buffer */ - char *yy_buf_pos; /* current position in input buffer */ - - /* Size of input buffer in bytes, not including room for EOB - * characters. - */ - yy_size_t yy_buf_size; - - /* Number of characters read into yy_ch_buf, not including EOB - * characters. - */ - yy_size_t yy_n_chars; - - /* Whether we "own" the buffer - i.e., we know we created it, - * and can realloc() it to grow it, and should free() it to - * delete it. - */ - int yy_is_our_buffer; - - /* Whether this is an "interactive" input source; if so, and - * if we're using stdio for input, then we want to use getc() - * instead of fread(), to make sure we stop fetching input after - * each newline. - */ - int yy_is_interactive; - - /* Whether we're considered to be at the beginning of a line. - * If so, '^' rules will be active on the next match, otherwise - * not. - */ - int yy_at_bol; - - int yy_bs_lineno; /**< The line count. */ - int yy_bs_column; /**< The column count. */ - - /* Whether to try to fill the input buffer when we reach the - * end of it. - */ - int yy_fill_buffer; - - int yy_buffer_status; - -#define YY_BUFFER_NEW 0 -#define YY_BUFFER_NORMAL 1 - /* When an EOF's been seen but there's still some text to process - * then we mark the buffer as YY_EOF_PENDING, to indicate that we - * shouldn't try reading from the input source any more. We might - * still have a bunch of tokens to match, though, because of - * possible backing-up. - * - * When we actually see the EOF, we change the status to "new" - * (via yyrestart()), so that the user can continue scanning by - * just pointing yyin at a new input file. - */ -#define YY_BUFFER_EOF_PENDING 2 - - }; -#endif /* !YY_STRUCT_YY_BUFFER_STATE */ - -/* Stack of input buffers. */ -static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */ -static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */ -static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */ - -/* We provide macros for accessing buffer states in case in the - * future we want to put the buffer states in a more general - * "scanner state". - * - * Returns the top of the stack, or NULL. - */ -#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \ - ? (yy_buffer_stack)[(yy_buffer_stack_top)] \ - : NULL) - -/* Same as previous macro, but useful when we know that the buffer stack is not - * NULL or when we need an lvalue. For internal use only. - */ -#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)] - -/* yy_hold_char holds the character lost when yytext is formed. */ -static char yy_hold_char; -static yy_size_t yy_n_chars; /* number of characters read into yy_ch_buf */ -yy_size_t yyleng; - -/* Points to current character in buffer. */ -static char *yy_c_buf_p = (char *) 0; -static int yy_init = 0; /* whether we need to initialize */ -static int yy_start = 0; /* start state number */ - -/* Flag which is used to allow yywrap()'s to do buffer switches - * instead of setting up a fresh yyin. A bit of a hack ... - */ -static int yy_did_buffer_switch_on_eof; - -void yyrestart (FILE *input_file ); -void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ); -YY_BUFFER_STATE yy_create_buffer (FILE *file,int size ); -void yy_delete_buffer (YY_BUFFER_STATE b ); -void yy_flush_buffer (YY_BUFFER_STATE b ); -void yypush_buffer_state (YY_BUFFER_STATE new_buffer ); -void yypop_buffer_state (void ); - -static void yyensure_buffer_stack (void ); -static void yy_load_buffer_state (void ); -static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file ); - -#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER ) - -YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size ); -YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str ); -YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len ); - -void *yyalloc (yy_size_t ); -void *yyrealloc (void *,yy_size_t ); -void yyfree (void * ); - -#define yy_new_buffer yy_create_buffer - -#define yy_set_interactive(is_interactive) \ - { \ - if ( ! YY_CURRENT_BUFFER ){ \ - yyensure_buffer_stack (); \ - YY_CURRENT_BUFFER_LVALUE = \ - yy_create_buffer(yyin,YY_BUF_SIZE ); \ - } \ - YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \ - } - -#define yy_set_bol(at_bol) \ - { \ - if ( ! YY_CURRENT_BUFFER ){\ - yyensure_buffer_stack (); \ - YY_CURRENT_BUFFER_LVALUE = \ - yy_create_buffer(yyin,YY_BUF_SIZE ); \ - } \ - YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ - } - -#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) - -/* Begin user sect3 */ - -typedef unsigned char YY_CHAR; - -FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0; - -typedef int yy_state_type; - -extern int yylineno; - -int yylineno = 1; - -extern char *yytext; -#define yytext_ptr yytext - -static yy_state_type yy_get_previous_state (void ); -static yy_state_type yy_try_NUL_trans (yy_state_type current_state ); -static int yy_get_next_buffer (void ); -static void yy_fatal_error (yyconst char msg[] ); - -/* Done after the current pattern has been matched and before the - * corresponding action - sets up yytext. - */ -#define YY_DO_BEFORE_ACTION \ - (yytext_ptr) = yy_bp; \ - (yytext_ptr) -= (yy_more_len); \ - yyleng = (size_t) (yy_cp - (yytext_ptr)); \ - (yy_hold_char) = *yy_cp; \ - *yy_cp = '\0'; \ - (yy_c_buf_p) = yy_cp; - -#define YY_NUM_RULES 251 -#define YY_END_OF_BUFFER 252 -/* This struct is not used in this scanner, - but its presence is necessary. */ -struct yy_trans_info - { - flex_int32_t yy_verify; - flex_int32_t yy_nxt; - }; -static yyconst flex_int16_t yy_acclist[1223] = - { 0, - 248, 248, 252, 250, 251, 9, 250, 251, 20, 250, - 251, 250, 251, 18, 250, 251, 1, 9, 250, 251, - 19, 20, 250, 251, 250, 251, 250, 251, 250, 251, - 250, 251, 17, 18, 250, 251, 164, 250, 251, 149, - 164, 250, 251, 150, 250, 251, 164, 250, 251, 142, - 164, 250, 251, 164, 250, 251, 161, 163, 164, 250, - 251, 162, 163, 164, 250, 251, 163, 164, 250, 251, - 163, 164, 250, 251, 164, 250, 251, 164, 250, 251, - 164, 250, 251, 163, 164, 250, 251, 148, 149, 164, - 250, 251, 138, 150, 250, 251, 164, 250, 251, 164, - - 250, 251, 140, 164, 250, 251, 141, 164, 250, 251, - 136, 250, 251, 137, 250, 251, 136, 250, 251, 135, - 136, 250, 251, 134, 136, 250, 251, 135, 136, 250, - 251, 248, 249, 250, 251, 248, 249, 250, 251, 249, - 250, 251, 249, 250, 251, 41, 250, 251, 42, 250, - 251, 41, 250, 251, 41, 250, 251, 41, 250, 251, - 41, 250, 251, 41, 250, 251, 41, 250, 251, 50, - 250, 251, 49, 250, 251, 51, 250, 251, 250, 251, - 170, 250, 251, 170, 250, 251, 165, 250, 251, 170, - 250, 251, 166, 170, 250, 251, 167, 170, 250, 251, - - 169, 170, 250, 251, 171, 250, 251, 219, 250, 251, - 220, 250, 251, 219, 250, 251, 217, 219, 250, 251, - 216, 219, 250, 251, 218, 219, 250, 251, 172, 250, - 251, 174, 250, 251, 172, 250, 251, 173, 250, 251, - 172, 250, 251, 186, 250, 251, 186, 250, 251, 186, - 250, 251, 186, 250, 251, 188, 190, 250, 251, 190, - 250, 251, 188, 190, 250, 251, 188, 190, 250, 251, - 188, 190, 250, 251, 188, 190, 250, 251, 189, 190, - 250, 251, 233, 239, 250, 251, 238, 250, 251, 233, - 239, 250, 251, 237, 239, 250, 251, 239, 250, 251, - - 239, 250, 251, 235, 239, 250, 251, 235, 239, 250, - 251, 235, 239, 250, 251, 234, 239, 250, 251, 234, - 239, 250, 251, 229, 239, 250, 251, 230, 239, 250, - 251, 250, 251, 131, 250, 251, 250, 251, 25, 250, - 251, 26, 250, 251, 25, 250, 251, 22, 250, 251, - 25, 250, 251, 25, 250, 251, 240, 244, 250, 251, - 242, 250, 251, 240, 244, 250, 251, 243, 244, 250, - 251, 244, 250, 251, 227, 250, 251, 227, 250, 251, - 228, 250, 251, 227, 250, 251, 227, 250, 251, 227, - 250, 251, 227, 250, 251, 227, 250, 251, 227, 250, - - 251, 227, 250, 251, 130, 250, 251, 53, 130, 250, - 251, 52, 250, 251, 130, 250, 251, 130, 250, 251, - 130, 250, 251, 130, 250, 251, 54, 130, 250, 251, - 130, 250, 251, 130, 250, 251, 130, 250, 251, 130, - 250, 251, 130, 250, 251, 130, 250, 251, 130, 250, - 251, 130, 250, 251, 130, 250, 251, 130, 250, 251, - 130, 250, 251, 130, 250, 251, 130, 250, 251, 130, - 250, 251, 130, 250, 251, 130, 250, 251, 130, 250, - 251, 130, 250, 251, 130, 250, 251, 130, 250, 251, - 130, 250, 251, 37, 250, 251, 34, 250, 251, 37, - - 250, 251, 35, 37, 250, 251, 48, 250, 251, 45, - 250, 251, 250, 251, 48, 250, 251, 48, 250, 251, - 44, 250, 251, 43, 250, 251, 176, 250, 251, 175, - 250, 251, 177, 250, 251, 178, 250, 251, 179, 250, - 251, 180, 250, 251, 181, 250, 251, 182, 250, 251, - 183, 250, 251, 32, 250, 251, 33, 250, 251, 32, - 250, 251, 31, 250, 251, 29, 250, 251, 30, 250, - 251, 29, 250, 251, 28, 250, 251, 9, 20, 18, - 1, 9, 19, 20, 16, 10, 16, 4, 16, 5, - 2, 17, 18, 149, 150, 144, 160, 158, 154, 154, - - 245, 245, 245, 143, 148, 149, 138, 150, 140, 141, - 153, 139, 137, 135, 134, 134, 132, 135, 133, 135, - 248, 248, 246, 247, 42, 39, 40, 50, 49, 51, - 165, 165, 168, 169, 220, 216, 174, 184, 185, 190, - 187, 233, 238, 236, 222, 235, 235, 235, 231, 232, - 131, 26, 21, 23, 24, 240, 242, 241, 228, 221, - 225, 226, 53, 52, 129, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 55, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 36, 35, 45, - - 46, 47, 32, 33, 30, 27, 16, 10, 16, 14, - 4, 16, 5, 6, 145, 146, 159, 154, 154, 154, - 154, 154, 245, 245, 156, 155, 157, 139, 145, 147, - 153, 132, 135, 133, 135, 38, 235, 235, 221, 130, - 130, 130, 130, 130, 130, 130, 67, 130, 130, 130, - 130, 72, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 14, 15, 4, - 8, 16, 5, 154, 154, 154, 154, 154, 154, 154, - - 245, 157, 235, 235, 56, 57, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 130, 73, 130, 74, - 130, 130, 130, 130, 130, 79, 130, 130, 130, 130, - 130, 130, 130, 130, 84, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 93, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 15, 8, 16, 8, - 16, 8, 16, 154, 154, 154, 154, 154, 154, 154, - 215, 235, 235, 58, 130, 130, 130, 60, 130, 130, - 64, 130, 130, 130, 130, 130, 70, 130, 130, 130, - 130, 75, 130, 130, 130, 130, 130, 130, 130, 130, - - 130, 130, 130, 130, 87, 130, 130, 130, 130, 130, - 91, 130, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 3, 8, 16, 7, 8, 16, 154, 154, - 154, 223, 224, 223, 235, 224, 235, 130, 130, 130, - 63, 130, 130, 130, 130, 130, 130, 130, 130, 126, - 130, 130, 130, 130, 130, 130, 130, 130, 130, 124, - 130, 130, 86, 130, 130, 89, 130, 130, 90, 130, - 130, 130, 130, 105, 130, 130, 95, 130, 130, 96, - 130, 12, 13, 152, 151, 152, 130, 130, 130, 130, - 130, 130, 130, 68, 130, 130, 71, 130, 130, 130, - - 130, 130, 130, 130, 123, 130, 130, 83, 130, 130, - 130, 88, 130, 130, 92, 130, 103, 130, 125, 130, - 130, 130, 151, 130, 130, 130, 130, 130, 130, 130, - 69, 130, 130, 130, 130, 130, 80, 130, 130, 130, - 130, 130, 130, 130, 114, 94, 130, 130, 115, 11, - 191, 215, 192, 215, 193, 215, 194, 215, 195, 215, - 196, 215, 197, 215, 198, 215, 199, 215, 200, 215, - 201, 215, 130, 130, 130, 130, 130, 130, 130, 130, - 130, 130, 130, 130, 130, 130, 85, 130, 130, 130, - 116, 104, 130, 117, 202, 215, 203, 215, 204, 215, - - 205, 215, 206, 215, 207, 215, 208, 215, 209, 215, - 210, 215, 211, 215, 212, 215, 213, 215, 130, 130, - 130, 130, 130, 130, 130, 122, 130, 130, 130, 77, - 130, 130, 130, 130, 130, 130, 110, 120, 118, 111, - 121, 119, 214, 215, 130, 130, 130, 130, 130, 130, - 130, 126, 130, 76, 130, 130, 82, 130, 130, 127, - 130, 130, 106, 108, 107, 109, 130, 130, 130, 65, - 130, 130, 130, 130, 130, 78, 130, 130, 112, 113, - 98, 99, 130, 130, 130, 130, 130, 130, 130, 128, - 130, 97, 101, 130, 130, 130, 130, 130, 68, 130, - - 130, 100, 102, 130, 130, 62, 130, 66, 130, 130, - 130, 130, 61, 130, 69, 130, 130, 130, 81, 130, - 59, 130 - } ; - -static yyconst flex_int16_t yy_accept[1108] = - { 0, - 1, 1, 1, 1, 1, 1, 1, 2, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, - 6, 9, 12, 14, 17, 21, 25, 27, 29, 31, - 33, 37, 40, 44, 47, 50, 54, 57, 62, 67, - 71, 75, 78, 81, 84, 88, 93, 97, 100, 103, - 107, 111, 114, 117, 120, 124, 128, 132, 136, 140, - 143, 146, 149, 152, 155, 158, 161, 164, 167, 170, - - 173, 176, 179, 181, 184, 187, 190, 193, 197, 201, - 205, 208, 211, 214, 217, 221, 225, 229, 232, 235, - 238, 241, 244, 247, 250, 253, 256, 260, 263, 267, - 271, 275, 279, 283, 287, 290, 294, 298, 301, 304, - 308, 312, 316, 320, 324, 328, 332, 334, 337, 339, - 342, 345, 348, 351, 354, 357, 361, 364, 368, 372, - 375, 378, 381, 384, 387, 390, 393, 396, 399, 402, - 405, 408, 412, 415, 418, 421, 424, 427, 431, 434, - 437, 440, 443, 446, 449, 452, 455, 458, 461, 464, - 467, 470, 473, 476, 479, 482, 485, 488, 491, 494, - - 497, 500, 503, 507, 510, 513, 515, 518, 521, 524, - 527, 530, 533, 536, 539, 542, 545, 548, 551, 554, - 557, 560, 563, 566, 569, 572, 575, 578, 579, 580, - 580, 581, 583, 585, 585, 585, 585, 586, 588, 588, - 588, 588, 588, 589, 590, 591, 591, 592, 594, 595, - 596, 596, 596, 596, 597, 597, 598, 599, 599, 600, - 601, 601, 602, 603, 604, 604, 604, 605, 605, 607, - 609, 609, 609, 609, 610, 611, 612, 613, 613, 614, - 615, 616, 617, 619, 621, 622, 623, 624, 625, 626, - 626, 626, 627, 628, 628, 629, 630, 631, 631, 632, - - 632, 633, 634, 635, 636, 637, 638, 638, 639, 640, - 641, 642, 643, 644, 644, 645, 645, 646, 647, 648, - 649, 650, 651, 651, 652, 652, 653, 654, 655, 656, - 657, 658, 659, 659, 659, 660, 661, 662, 663, 664, - 665, 665, 666, 666, 666, 667, 668, 669, 670, 671, - 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, - 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, - 692, 693, 694, 695, 696, 697, 698, 698, 699, 700, - 701, 702, 703, 704, 705, 706, 707, 707, 708, 710, - 710, 711, 711, 711, 711, 711, 711, 712, 713, 714, - - 714, 715, 715, 716, 716, 717, 717, 718, 718, 719, - 720, 720, 721, 722, 723, 724, 725, 726, 727, 727, - 728, 730, 731, 731, 732, 732, 734, 736, 736, 736, - 736, 737, 737, 737, 737, 737, 737, 737, 737, 737, - 737, 737, 737, 737, 737, 738, 739, 740, 740, 740, - 741, 742, 743, 744, 745, 746, 747, 749, 750, 751, - 752, 754, 755, 756, 757, 758, 759, 760, 761, 762, - 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, - 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, - 783, 784, 785, 786, 787, 788, 788, 788, 788, 788, - - 790, 790, 790, 790, 790, 790, 790, 791, 793, 794, - 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, - 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, - 803, 803, 803, 803, 803, 803, 803, 803, 803, 803, - 803, 803, 803, 803, 803, 803, 804, 805, 806, 807, - 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, - 818, 820, 822, 823, 824, 825, 826, 828, 829, 830, - 831, 832, 833, 834, 835, 837, 838, 839, 840, 841, - 842, 843, 844, 845, 846, 848, 849, 850, 851, 852, - 853, 854, 855, 856, 857, 857, 857, 857, 857, 858, - - 858, 858, 858, 858, 858, 860, 862, 864, 864, 865, - 866, 867, 868, 869, 870, 871, 871, 871, 871, 871, - 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, - 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, - 872, 872, 872, 872, 873, 874, 876, 877, 878, 880, - 881, 883, 884, 885, 886, 887, 889, 890, 891, 892, - 894, 895, 896, 897, 898, 899, 900, 901, 902, 903, - 904, 905, 907, 908, 909, 910, 911, 913, 914, 915, - 916, 917, 918, 919, 920, 921, 922, 923, 923, 923, - 923, 923, 924, 924, 924, 924, 926, 927, 929, 929, - - 930, 931, 932, 932, 932, 933, 934, 934, 934, 934, - 934, 934, 934, 934, 934, 934, 934, 934, 934, 934, - 934, 934, 934, 934, 934, 934, 934, 934, 934, 934, - 934, 936, 938, 939, 940, 941, 943, 944, 945, 946, - 947, 948, 949, 950, 952, 953, 954, 955, 956, 957, - 958, 959, 960, 962, 963, 965, 966, 968, 969, 971, - 972, 973, 974, 976, 976, 977, 979, 980, 980, 982, - 982, 982, 982, 982, 982, 983, 983, 984, 984, 985, - 985, 987, 987, 987, 987, 987, 987, 987, 987, 987, - 987, 987, 987, 987, 987, 987, 987, 987, 987, 987, - - 987, 987, 987, 987, 987, 987, 988, 989, 990, 991, - 992, 993, 994, 996, 997, 999, 1000, 1001, 1002, 1003, - 1004, 1005, 1007, 1008, 1010, 1011, 1012, 1014, 1015, 1017, - 1019, 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1022, 1023, - 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1023, - 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, - 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, 1024, - 1024, 1024, 1024, 1024, 1024, 1025, 1026, 1027, 1028, 1029, - 1030, 1031, 1033, 1034, 1035, 1036, 1037, 1039, 1040, 1041, - 1042, 1043, 1044, 1045, 1045, 1045, 1046, 1046, 1046, 1046, - - 1046, 1046, 1046, 1048, 1049, 1049, 1049, 1050, 1050, 1050, - 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1051, 1051, 1053, - 1055, 1057, 1059, 1061, 1063, 1065, 1067, 1069, 1071, 1073, - 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, - 1073, 1073, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080, - 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1089, 1090, 1091, - 1091, 1091, 1091, 1091, 1091, 1091, 1092, 1092, 1094, 1094, - 1094, 1094, 1094, 1094, 1095, 1095, 1095, 1095, 1095, 1095, - 1097, 1099, 1101, 1103, 1105, 1107, 1109, 1111, 1113, 1115, - 1117, 1119, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, - - 1128, 1129, 1130, 1132, 1133, 1134, 1135, 1136, 1137, 1137, - 1137, 1138, 1138, 1139, 1140, 1141, 1141, 1141, 1141, 1142, - 1143, 1143, 1143, 1143, 1143, 1143, 1143, 1145, 1146, 1147, - 1148, 1149, 1150, 1151, 1152, 1154, 1156, 1157, 1159, 1160, - 1162, 1163, 1164, 1165, 1165, 1166, 1167, 1167, 1167, 1167, - 1167, 1167, 1167, 1167, 1168, 1169, 1170, 1172, 1173, 1174, - 1175, 1176, 1178, 1179, 1180, 1181, 1182, 1182, 1182, 1182, - 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1192, - 1193, 1193, 1194, 1194, 1195, 1196, 1197, 1198, 1199, 1201, - 1202, 1203, 1204, 1205, 1206, 1208, 1210, 1211, 1212, 1213, - - 1215, 1217, 1218, 1219, 1221, 1223, 1223 - } ; - -static yyconst flex_int32_t yy_ec[256] = - { 0, - 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, - 4, 4, 5, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 2, 1, 6, 7, 8, 9, 1, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 19, 19, - 19, 19, 19, 19, 20, 21, 22, 23, 1, 24, - 25, 26, 27, 1, 28, 29, 30, 31, 32, 33, - 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, - 44, 45, 46, 47, 48, 49, 50, 51, 52, 44, - 53, 54, 55, 56, 57, 1, 58, 59, 60, 61, - - 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, - 72, 73, 44, 74, 75, 76, 77, 78, 79, 80, - 81, 44, 82, 83, 84, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1 - } ; - -static yyconst flex_int32_t yy_meta[85] = - { 0, - 1, 1, 2, 1, 3, 4, 1, 1, 1, 5, - 1, 6, 1, 7, 1, 8, 1, 5, 9, 9, - 9, 9, 10, 1, 1, 1, 1, 11, 11, 11, - 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, - 12, 12, 13, 14, 15, 1, 16, 11, 11, 11, - 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, - 12, 5, 1, 17 - } ; - -static yyconst flex_int16_t yy_base[1201] = - { 0, - 0, 84, 167, 250, 171, 184, 174, 179, 192, 233, - 196, 200, 334, 0, 3343, 3340, 203, 416, 206, 211, - 187, 216, 276, 417, 500, 0, 210, 223, 421, 427, - 436, 440, 583, 588, 669, 0, 277, 299, 584, 751, - 579, 580, 576, 732, 279, 305, 310, 444, 3378, 3975, - 228, 3975, 3371, 0, 322, 3975, 3358, 423, 827, 3328, - 0, 3975, 755, 3975, 3337, 3975, 448, 3312, 3975, 3975, - 3323, 3291, 222, 408, 444, 764, 3975, 3311, 230, 3289, - 3975, 3975, 3975, 3306, 0, 3306, 164, 3304, 3975, 3236, - 3217, 3975, 3975, 3266, 239, 119, 3215, 3212, 3180, 0, - - 3248, 3975, 3243, 3975, 476, 3227, 3222, 3975, 3168, 0, - 3975, 3975, 3975, 3203, 3975, 464, 3975, 3975, 3975, 3186, - 3975, 742, 3975, 3161, 751, 180, 3975, 3975, 3171, 0, - 3149, 757, 3975, 0, 3975, 3149, 3975, 200, 3138, 0, - 429, 241, 3097, 3092, 3975, 3975, 306, 3975, 323, 3975, - 3975, 3126, 3108, 3072, 3069, 0, 3975, 3115, 3975, 0, - 3975, 446, 3975, 3114, 3031, 3098, 435, 371, 3045, 3026, - 3975, 3076, 3975, 3074, 3070, 439, 440, 3975, 578, 751, - 586, 562, 735, 752, 0, 572, 577, 588, 786, 749, - 396, 809, 727, 582, 747, 753, 764, 769, 580, 3975, - - 3975, 3067, 588, 3975, 3975, 3053, 3002, 2996, 3975, 3975, - 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 0, - 3975, 3046, 3975, 3975, 3975, 3018, 2986, 837, 3975, 2998, - 0, 847, 3975, 2997, 817, 777, 0, 0, 891, 903, - 912, 924, 0, 774, 0, 451, 3975, 0, 858, 3975, - 2996, 2914, 472, 3975, 2974, 2953, 3975, 791, 236, 822, - 899, 3975, 275, 0, 2873, 2872, 3975, 2871, 949, 3975, - 2949, 2850, 2918, 2906, 3975, 0, 3975, 796, 3975, 0, - 0, 2925, 0, 0, 2597, 3975, 3975, 3975, 3975, 795, - 794, 3975, 3975, 484, 0, 2597, 3975, 877, 2596, 2594, - - 2594, 3975, 0, 3975, 918, 3975, 1005, 3975, 3975, 3975, - 3975, 0, 3975, 611, 3975, 0, 3975, 0, 853, 851, - 3975, 3975, 490, 3975, 608, 3975, 3975, 3975, 3975, 0, - 3975, 3975, 596, 2510, 3975, 0, 3975, 3975, 2588, 3975, - 2581, 3975, 894, 906, 0, 911, 717, 727, 923, 728, - 2571, 882, 930, 889, 902, 916, 917, 940, 928, 923, - 940, 933, 0, 932, 3975, 935, 939, 951, 956, 1059, - 964, 965, 1052, 955, 957, 1099, 2578, 3975, 1078, 3975, - 3975, 3975, 0, 3975, 3975, 3975, 987, 0, 0, 1087, - 3975, 2576, 1132, 985, 1046, 1058, 0, 1058, 0, 1009, - - 3975, 1016, 3975, 1057, 3975, 1099, 3975, 1068, 731, 1088, - 1095, 1178, 1244, 1280, 988, 0, 3975, 3975, 2492, 1162, - 3975, 3975, 1081, 0, 1086, 0, 0, 1098, 1105, 1100, - 3975, 1167, 1245, 1246, 1247, 1250, 2539, 1248, 1249, 1258, - 1244, 1251, 1259, 1321, 1233, 1224, 0, 1072, 1228, 1243, - 1261, 1287, 1298, 1289, 1298, 1287, 0, 1299, 1228, 1308, - 0, 1280, 1298, 1307, 1316, 1314, 1316, 2532, 1322, 1337, - 1338, 1340, 1342, 1342, 1348, 1353, 1356, 1347, 1357, 1362, - 1366, 1358, 1353, 1356, 1377, 1366, 1370, 1371, 1367, 1383, - 1384, 1379, 1391, 1392, 1381, 1388, 1397, 1275, 1455, 3975, - - 1439, 1463, 1444, 1415, 1412, 1415, 0, 1409, 0, 1429, - 1492, 1558, 1594, 1524, 2449, 1564, 1639, 3975, 3975, 1537, - 1556, 1560, 1407, 2427, 1558, 1563, 1559, 1564, 1572, 1584, - 1574, 1562, 1615, 1619, 1609, 1625, 1626, 1643, 1614, 1651, - 1662, 1658, 1664, 1665, 1616, 1616, 1637, 3975, 3975, 1638, - 1631, 2352, 1634, 1641, 1655, 1650, 1677, 1679, 1671, 1689, - 0, 0, 1690, 1677, 1681, 1697, 0, 2348, 1684, 1694, - 2274, 1686, 1685, 1695, 0, 1692, 1711, 1704, 1703, 1701, - 1713, 1703, 1704, 1712, 0, 1717, 1731, 1731, 1719, 1723, - 1722, 1741, 1726, 1742, 1734, 1747, 1741, 2241, 3975, 1464, - - 1485, 1729, 1743, 1740, 0, 1721, 1591, 2173, 1585, 2139, - 1771, 1807, 1417, 962, 1426, 1755, 2049, 1745, 1769, 3975, - 1774, 1782, 1789, 1775, 1796, 1791, 1810, 1800, 1820, 1822, - 1821, 1823, 1832, 1831, 1838, 1840, 1853, 1856, 1854, 1855, - 1863, 1865, 1861, 1846, 1862, 0, 1853, 1864, 0, 1857, - 0, 2008, 1866, 1862, 1869, 0, 1874, 1893, 1870, 0, - 1888, 1875, 1886, 1882, 1880, 1878, 1897, 1876, 1882, 1889, - 1889, 0, 1904, 1895, 1899, 1919, 0, 1907, 1909, 1908, - 1923, 1791, 1924, 1925, 1919, 1747, 1917, 1918, 1918, 1938, - 1924, 1726, 1599, 1927, 1937, 1970, 3975, 1702, 1652, 1923, - - 1755, 1941, 1625, 1618, 3975, 3975, 1961, 1977, 1966, 1969, - 1956, 1979, 1983, 1986, 1989, 1984, 1992, 1987, 1994, 1990, - 1988, 1995, 2007, 2004, 2016, 2022, 1996, 2028, 2018, 2026, - 0, 0, 1620, 1990, 2009, 0, 2035, 2020, 2035, 2029, - 2024, 2025, 2029, 1589, 2049, 2041, 2052, 2048, 2053, 2054, - 2044, 2057, 0, 2064, 0, 2048, 0, 1576, 0, 2064, - 2070, 2056, 0, 2096, 2062, 0, 2067, 2108, 0, 1531, - 2072, 2078, 1438, 1853, 3975, 2105, 3975, 2068, 3975, 1463, - 3975, 1407, 1402, 1348, 1345, 1314, 1307, 1269, 1260, 1256, - 1210, 1158, 2106, 2111, 2097, 2118, 2122, 2129, 2125, 2140, - - 2131, 2136, 2141, 2143, 2156, 2131, 2138, 2147, 2101, 2151, - 2138, 2153, 0, 2141, 0, 2144, 2165, 2153, 2159, 2158, - 2165, 0, 2165, 0, 2167, 2169, 0, 2178, 0, 0, - 0, 2183, 2167, 2179, 2210, 2178, 2189, 2188, 2189, 2202, - 2186, 2194, 2218, 2196, 2202, 1119, 1114, 2206, 2118, 3975, - 1106, 1100, 1081, 1068, 1065, 1061, 1057, 972, 968, 965, - 914, 925, 893, 881, 874, 869, 865, 861, 854, 843, - 807, 802, 776, 2235, 2212, 2226, 2221, 2227, 2239, 2238, - 2228, 0, 2228, 2239, 2242, 2252, 0, 2238, 2244, 2249, - 2244, 2258, 2263, 2269, 2255, 3975, 2263, 2265, 2265, 2281, - - 2265, 2262, 0, 2285, 2288, 2274, 3975, 2277, 2280, 2295, - 2279, 2280, 2283, 2303, 2283, 2330, 3975, 2335, 3975, 3975, - 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 735, - 612, 608, 598, 441, 374, 261, 245, 202, 152, 149, - 137, 165, 2296, 2303, 2304, 2320, 2326, 2316, 2324, 2329, - 2324, 2316, 2319, 2335, 2324, 2327, 0, 2332, 2328, 2327, - 2332, 2345, 2348, 2352, 2344, 3975, 2338, 0, 2338, 2343, - 2357, 2362, 2357, 3975, 2371, 2356, 2359, 2358, 2380, 3975, - 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, 3975, - 3975, 128, 2384, 2382, 2373, 2387, 2376, 2378, 2378, 0, - - 2395, 2396, 0, 2385, 2384, 2405, 2403, 2401, 2405, 2413, - 3975, 2401, 3975, 3975, 3975, 2409, 2416, 2404, 3975, 3975, - 2400, 2422, 2422, 2414, 2417, 2417, 3975, 2421, 2421, 2418, - 2424, 2441, 2442, 2443, 0, 0, 2453, 0, 2436, 0, - 2451, 3975, 3975, 2445, 3975, 3975, 2446, 2457, 2445, 2461, - 2464, 2462, 2468, 2473, 2466, 2460, 0, 2462, 2459, 2461, - 2483, 0, 2463, 3975, 3975, 3975, 2484, 2488, 2476, 2482, - 3975, 2495, 2485, 2497, 2495, 2501, 2506, 2493, 0, 3975, - 2496, 3975, 2508, 2498, 2506, 2503, 2506, 2505, 0, 2520, - 3975, 3975, 2522, 2514, 0, 0, 2529, 2514, 2515, 0, - - 0, 2533, 2539, 0, 0, 3975, 2601, 2618, 2635, 2652, - 2669, 2686, 2703, 2720, 2737, 2754, 2771, 2788, 2805, 2822, - 2839, 2856, 2873, 2890, 2907, 2917, 2933, 2942, 2958, 2975, - 2986, 3002, 3019, 3036, 3053, 3063, 3079, 3096, 3113, 3127, - 3137, 3153, 3170, 3187, 3204, 3215, 2009, 3227, 3244, 3254, - 3270, 3287, 3294, 3300, 3316, 3326, 3342, 3359, 3376, 2564, - 3386, 3403, 3420, 3437, 3454, 3471, 3488, 3505, 3522, 3532, - 3548, 3562, 3572, 3588, 3605, 3622, 3639, 3650, 3662, 3679, - 3696, 3713, 3730, 3740, 3749, 3765, 3782, 3799, 2571, 3809, - 3826, 3843, 3860, 3877, 3885, 3890, 3906, 3923, 3940, 3957 - - } ; - -static yyconst flex_int16_t yy_def[1201] = - { 0, - 1106, 1106, 1107, 1107, 1108, 1109, 1110, 1110, 1111, 1111, - 1112, 1112, 1106, 13, 1113, 1113, 1114, 1114, 1115, 1115, - 1116, 1116, 1117, 1117, 1106, 25, 1118, 1118, 1119, 1119, - 1120, 1120, 1121, 1121, 1106, 35, 1122, 1122, 1123, 1123, - 1113, 1113, 1113, 1113, 1124, 1124, 1125, 1125, 1106, 1106, - 1106, 1106, 1106, 1126, 1106, 1106, 1106, 1106, 1127, 1106, - 1128, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, - 1106, 1106, 1129, 1130, 1131, 1106, 1106, 1106, 1106, 1106, - 1106, 1106, 1106, 1106, 1132, 1133, 1132, 1134, 1106, 1106, - 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1135, - - 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1136, - 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, - 1106, 1130, 1106, 1106, 1130, 1137, 1106, 1106, 1106, 1138, - 1106, 1130, 1106, 1139, 1106, 1139, 1106, 1140, 1106, 1141, - 1141, 1141, 1106, 1106, 1106, 1106, 1142, 1106, 1142, 1106, - 1106, 1106, 1106, 1106, 1106, 1143, 1106, 1143, 1106, 1144, - 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, - 1106, 1106, 1106, 1106, 1145, 1106, 1106, 1106, 1146, 1146, - 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1147, - 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1106, - - 1106, 1148, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, - 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1149, - 1106, 1149, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, - 1150, 1106, 1106, 1106, 1106, 1106, 1151, 1152, 1106, 1106, - 1106, 1106, 1153, 1151, 1154, 1155, 1106, 1156, 1106, 1106, - 1106, 1106, 1157, 1106, 1106, 1106, 1106, 1106, 1158, 1158, - 1159, 1106, 1106, 1160, 1106, 1106, 1106, 1161, 1106, 1106, - 1106, 1106, 1106, 1106, 1106, 1162, 1106, 1106, 1106, 1163, - 1164, 1164, 1165, 1166, 1167, 1106, 1106, 1106, 1106, 1106, - 1106, 1106, 1106, 1168, 1169, 1106, 1106, 1106, 1106, 1106, - - 1106, 1106, 1170, 1106, 1106, 1106, 1106, 1106, 1106, 1106, - 1106, 1171, 1106, 1172, 1106, 1172, 1106, 1173, 1173, 1173, - 1106, 1106, 1174, 1106, 1174, 1106, 1106, 1106, 1106, 1175, - 1106, 1106, 1106, 1106, 1106, 1176, 1106, 1106, 1106, 1106, - 1177, 1106, 1106, 1106, 1178, 1178, 1178, 1178, 1178, 1178, - 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, - 1178, 1178, 1178, 1178, 1106, 1178, 1178, 1178, 1178, 1178, - 1178, 1178, 1178, 1178, 1178, 1178, 1179, 1106, 1106, 1106, - 1106, 1106, 1180, 1106, 1106, 1106, 1106, 1181, 1182, 1183, - 1106, 1106, 1106, 1106, 1106, 1106, 1184, 1181, 1185, 1186, - - 1106, 1186, 1106, 1187, 1106, 1187, 1106, 1106, 1188, 1188, - 1188, 1106, 1188, 1188, 1106, 1189, 1106, 1106, 1190, 1106, - 1106, 1106, 1106, 1191, 1106, 1192, 1193, 1106, 1106, 1194, - 1106, 1194, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, - 1195, 1195, 1195, 1195, 1196, 1196, 1197, 1106, 1106, 1178, - 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, - 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, - 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, - 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, - 1178, 1178, 1178, 1178, 1178, 1106, 1106, 1183, 1183, 1106, - - 1183, 1183, 1106, 1106, 1106, 1106, 1184, 1198, 1185, 1106, - 1106, 1188, 414, 412, 412, 1188, 414, 1106, 1106, 1106, - 1106, 1106, 1106, 1106, 1195, 1195, 1195, 1195, 1195, 1195, - 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, - 1195, 1195, 1195, 1195, 1195, 1196, 1196, 1106, 1106, 1178, - 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, - 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, - 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, - 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, - 1178, 1178, 1178, 1178, 1106, 1106, 1106, 1106, 1106, 1183, - - 1183, 1106, 1106, 1106, 1198, 1198, 1198, 1106, 511, 511, - 1188, 414, 1188, 1188, 1188, 1106, 1106, 1106, 1106, 1106, - 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, - 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, - 1195, 1195, 1195, 1196, 1196, 1178, 1178, 1178, 1178, 1178, - 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, - 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, - 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, - 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1106, 1106, 1106, - 1106, 1106, 1199, 1106, 1106, 1198, 1106, 1198, 1106, 1188, - - 1188, 1188, 1106, 1106, 1106, 1106, 1195, 1195, 1195, 1195, - 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, - 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, - 1196, 1196, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, - 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, - 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, - 1178, 1178, 1178, 1106, 1178, 1178, 1178, 1106, 1178, 1106, - 1106, 1106, 1106, 1199, 1106, 1199, 1106, 1106, 1106, 1106, - 1106, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, - 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, - - 1195, 1195, 1195, 1195, 1195, 1178, 1178, 1178, 1178, 1178, - 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, - 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, - 1178, 1106, 1106, 1106, 1106, 1106, 1106, 1178, 1178, 1106, - 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1200, 1106, - 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, - 1106, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, - 1195, 1195, 1195, 1195, 1178, 1178, 1178, 1178, 1178, 1178, - 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, - 1178, 1178, 1178, 1106, 1106, 1106, 1106, 1106, 1106, 1106, - - 1106, 1106, 1178, 1178, 1106, 1106, 1106, 1106, 1106, 1106, - 1106, 1106, 1106, 1106, 1106, 1200, 1106, 1200, 1106, 1106, - 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, - 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, - 1106, 1195, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, - 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1106, - 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1178, 1106, 1106, - 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, - 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, - 1106, 1106, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, - - 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1106, 1106, - 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, - 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1178, 1178, 1178, - 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, - 1178, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, - 1106, 1106, 1106, 1178, 1178, 1178, 1178, 1178, 1178, 1178, - 1178, 1178, 1178, 1106, 1106, 1106, 1106, 1106, 1106, 1106, - 1106, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1106, - 1106, 1106, 1106, 1178, 1178, 1178, 1178, 1178, 1178, 1178, - 1106, 1106, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, - - 1178, 1178, 1178, 1178, 1178, 0, 1106, 1106, 1106, 1106, - 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, - 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, - 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, - 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, - 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, - 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, - 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, - 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, - 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106 - - } ; - -static yyconst flex_int16_t yy_nxt[4060] = - { 0, - 50, 51, 52, 50, 53, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 54, 54, 54, - 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, - 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, - 54, 54, 50, 50, 50, 50, 54, 54, 54, 54, - 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, - 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, - 54, 50, 50, 50, 50, 55, 56, 50, 57, 50, - 58, 50, 59, 50, 50, 50, 50, 50, 50, 50, - - 50, 60, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 50, 50, 50, 50, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 50, 50, 50, 63, 64, - 291, 65, 66, 83, 67, 84, 89, 68, 69, 70, - 70, 89, 1027, 70, 71, 86, 83, 992, 84, 50, - 72, 991, 87, 70, 93, 309, 94, 101, 102, 291, - - 103, 101, 102, 990, 103, 113, 989, 114, 119, 315, - 120, 121, 148, 119, 149, 120, 121, 115, 50, 73, - 74, 116, 116, 116, 116, 148, 90, 149, 91, 228, - 229, 90, 230, 91, 309, 93, 95, 94, 276, 124, - 125, 99, 126, 96, 97, 283, 98, 284, 75, 70, - 70, 76, 77, 316, 78, 66, 988, 67, 79, 122, - 68, 69, 70, 70, 122, 95, 70, 71, 124, 125, - 290, 126, 96, 80, 260, 261, 70, 95, 128, 201, - 129, 221, 202, 222, 96, 97, 117, 98, 410, 411, - 223, 130, 320, 415, 415, 203, 203, 203, 203, 987, - - 290, 201, 73, 74, 202, 81, 95, 221, 324, 222, - 325, 277, 225, 96, 226, 986, 223, 203, 203, 203, - 203, 320, 227, 232, 233, 324, 234, 325, 131, 132, - 133, 75, 70, 70, 104, 105, 106, 104, 107, 104, - 104, 104, 104, 104, 104, 104, 108, 104, 108, 104, - 104, 104, 104, 104, 104, 104, 104, 104, 104, 109, - 104, 110, 110, 110, 110, 110, 110, 110, 110, 110, - 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, - 110, 110, 110, 110, 110, 110, 104, 104, 104, 104, - 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, - - 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, - 110, 110, 110, 110, 110, 104, 104, 104, 113, 128, - 114, 129, 291, 151, 235, 152, 263, 263, 985, 151, - 115, 152, 130, 153, 116, 116, 116, 116, 157, 153, - 158, 159, 157, 366, 158, 159, 225, 333, 226, 254, - 254, 291, 255, 401, 334, 402, 227, 265, 264, 266, - 319, 236, 267, 267, 267, 267, 290, 343, 344, 131, - 132, 133, 366, 154, 405, 155, 406, 298, 299, 154, - 300, 155, 305, 305, 305, 305, 431, 264, 432, 160, - 319, 236, 324, 160, 325, 984, 290, 343, 344, 117, - - 134, 134, 135, 134, 136, 137, 134, 134, 134, 138, - 134, 134, 134, 134, 134, 134, 134, 139, 134, 134, - 134, 134, 134, 134, 134, 134, 134, 140, 140, 140, - 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, - 140, 140, 140, 140, 141, 140, 140, 140, 140, 140, - 140, 142, 143, 134, 144, 134, 140, 140, 140, 140, - 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, - 140, 140, 140, 141, 140, 140, 140, 140, 140, 140, - 142, 145, 134, 146, 162, 163, 205, 164, 206, 162, - 163, 165, 164, 353, 211, 211, 165, 333, 216, 351, - - 166, 212, 212, 358, 334, 166, 379, 379, 379, 379, - 324, 217, 325, 352, 213, 213, 346, 359, 347, 360, - 315, 218, 348, 353, 214, 214, 219, 167, 371, 215, - 215, 376, 167, 358, 168, 169, 207, 170, 208, 168, - 169, 217, 170, 352, 213, 213, 346, 359, 347, 360, - 218, 348, 983, 214, 214, 219, 167, 371, 215, 215, - 376, 167, 982, 168, 316, 209, 981, 210, 168, 171, - 172, 173, 171, 174, 175, 171, 171, 171, 171, 171, - 171, 171, 171, 171, 171, 171, 171, 171, 176, 177, - 171, 171, 171, 178, 171, 171, 179, 180, 181, 182, - - 183, 184, 185, 186, 187, 185, 185, 188, 189, 190, - 191, 192, 185, 193, 194, 195, 196, 197, 198, 185, - 199, 171, 171, 171, 171, 171, 179, 180, 181, 182, - 183, 184, 185, 186, 187, 185, 185, 188, 189, 190, - 191, 192, 193, 194, 195, 196, 197, 198, 185, 199, - 171, 171, 171, 205, 216, 206, 249, 250, 370, 251, - 263, 263, 452, 252, 354, 269, 270, 217, 271, 263, - 263, 453, 272, 456, 372, 263, 263, 218, 349, 356, - 364, 273, 219, 410, 411, 355, 350, 274, 370, 980, - 365, 452, 264, 373, 354, 374, 375, 217, 941, 357, - - 453, 264, 456, 207, 372, 208, 218, 264, 349, 356, - 364, 219, 387, 361, 355, 398, 350, 362, 235, 275, - 365, 264, 408, 373, 940, 374, 375, 425, 357, 939, - 264, 428, 209, 429, 210, 238, 264, 253, 228, 229, - 367, 230, 387, 361, 412, 398, 253, 362, 232, 233, - 368, 234, 408, 369, 239, 236, 240, 425, 240, 249, - 250, 428, 251, 429, 240, 938, 252, 240, 241, 242, - 367, 240, 243, 244, 410, 411, 937, 245, 298, 299, - 368, 300, 369, 936, 239, 236, 240, 935, 240, 445, - 446, 934, 390, 391, 240, 392, 933, 240, 241, 242, - - 240, 243, 244, 932, 390, 391, 245, 392, 246, 393, - 393, 393, 393, 390, 391, 931, 392, 413, 413, 445, - 446, 393, 393, 393, 393, 390, 391, 458, 392, 448, - 393, 393, 393, 393, 461, 394, 305, 305, 305, 305, - 253, 449, 393, 393, 393, 393, 450, 930, 462, 414, - 269, 270, 454, 271, 395, 464, 458, 272, 459, 448, - 451, 463, 460, 461, 394, 396, 273, 465, 929, 455, - 466, 449, 274, 468, 467, 469, 450, 462, 414, 470, - 471, 472, 454, 473, 395, 464, 474, 476, 459, 451, - 463, 480, 460, 482, 481, 396, 475, 465, 455, 485, - - 466, 486, 468, 467, 275, 469, 262, 262, 470, 471, - 472, 401, 473, 402, 410, 411, 474, 476, 401, 928, - 402, 480, 927, 482, 481, 475, 926, 497, 485, 504, - 486, 253, 433, 434, 435, 436, 437, 437, 438, 437, - 437, 437, 437, 439, 437, 437, 437, 440, 437, 437, - 441, 437, 442, 437, 437, 443, 437, 497, 504, 405, - 444, 406, 433, 434, 435, 436, 437, 437, 438, 437, - 437, 437, 437, 439, 437, 437, 437, 440, 437, 441, - 437, 442, 437, 437, 443, 437, 477, 483, 499, 500, - 478, 501, 505, 506, 484, 479, 379, 379, 379, 379, - - 508, 405, 431, 406, 432, 502, 502, 502, 502, 510, - 511, 925, 520, 512, 512, 924, 477, 483, 548, 923, - 478, 505, 922, 506, 484, 479, 487, 521, 488, 522, - 508, 489, 490, 503, 391, 921, 392, 491, 492, 510, - 410, 411, 520, 493, 494, 513, 523, 548, 495, 409, - 393, 393, 393, 393, 920, 496, 487, 521, 488, 522, - 919, 489, 490, 519, 519, 519, 519, 491, 492, 431, - 914, 432, 493, 494, 513, 913, 523, 495, 409, 409, - 861, 409, 409, 409, 409, 409, 409, 409, 409, 409, - 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, - - 409, 409, 409, 409, 409, 514, 514, 514, 514, 514, - 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, - 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, - 410, 411, 860, 515, 409, 514, 514, 514, 514, 514, - 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, - 514, 514, 514, 514, 514, 514, 514, 514, 514, 409, - 409, 409, 516, 516, 546, 547, 524, 524, 524, 524, - 524, 524, 524, 524, 549, 558, 550, 599, 859, 600, - 524, 524, 858, 525, 526, 528, 533, 527, 551, 535, - 530, 857, 529, 534, 546, 547, 410, 411, 517, 517, - - 517, 517, 531, 549, 558, 532, 550, 517, 517, 517, - 517, 517, 517, 525, 526, 528, 533, 527, 551, 535, - 530, 529, 552, 534, 560, 553, 554, 555, 556, 856, - 557, 531, 410, 411, 532, 559, 855, 517, 517, 517, - 517, 517, 517, 1106, 561, 562, 563, 565, 536, 537, - 538, 539, 552, 560, 540, 553, 554, 555, 556, 541, - 557, 564, 567, 542, 568, 559, 543, 854, 544, 569, - 853, 545, 570, 561, 571, 562, 563, 565, 536, 537, - 538, 539, 572, 573, 540, 574, 575, 576, 577, 541, - 564, 578, 567, 542, 568, 543, 581, 544, 582, 569, - - 545, 579, 570, 583, 571, 584, 585, 580, 586, 587, - 606, 588, 572, 573, 589, 574, 575, 576, 577, 590, - 591, 578, 592, 593, 852, 594, 581, 582, 598, 851, - 595, 579, 583, 596, 597, 584, 585, 580, 586, 587, - 588, 500, 602, 600, 589, 503, 391, 603, 392, 590, - 591, 619, 592, 593, 594, 604, 499, 500, 598, 501, - 595, 608, 596, 597, 601, 500, 599, 501, 600, 410, - 411, 259, 602, 502, 502, 502, 502, 603, 410, 411, - 619, 502, 502, 502, 502, 604, 601, 500, 850, 501, - 607, 608, 409, 409, 848, 409, 409, 409, 409, 409, - - 409, 409, 409, 409, 409, 409, 409, 409, 409, 409, - 409, 409, 409, 409, 409, 409, 409, 409, 409, 609, - 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, - 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, - 609, 609, 609, 609, 410, 411, 613, 610, 409, 609, - 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, - 609, 609, 609, 609, 609, 609, 609, 609, 609, 609, - 609, 609, 609, 409, 409, 409, 611, 611, 616, 409, - 524, 524, 614, 614, 524, 524, 524, 845, 617, 618, - 623, 828, 696, 697, 524, 698, 524, 625, 621, 626, - - 622, 775, 629, 776, 817, 624, 524, 700, 616, 628, - 410, 411, 612, 612, 612, 612, 410, 411, 617, 618, - 623, 612, 612, 612, 612, 612, 612, 625, 621, 626, - 622, 524, 629, 627, 624, 806, 524, 524, 524, 628, - 409, 524, 630, 781, 632, 644, 643, 524, 524, 636, - 780, 612, 612, 612, 612, 612, 612, 615, 615, 615, - 615, 631, 627, 633, 634, 524, 615, 615, 615, 615, - 615, 615, 630, 524, 632, 644, 643, 779, 646, 636, - 524, 645, 647, 635, 524, 649, 524, 524, 650, 651, - 652, 631, 653, 633, 634, 637, 615, 615, 615, 615, - - 615, 615, 639, 638, 697, 640, 641, 642, 646, 654, - 645, 647, 656, 635, 649, 655, 658, 650, 657, 651, - 652, 659, 606, 660, 637, 661, 662, 692, 664, 665, - 669, 639, 667, 638, 640, 668, 641, 642, 670, 654, - 671, 672, 656, 673, 675, 655, 658, 657, 674, 676, - 677, 659, 660, 678, 661, 679, 662, 664, 680, 665, - 669, 667, 681, 683, 668, 682, 684, 670, 685, 687, - 671, 672, 686, 673, 675, 688, 690, 674, 676, 677, - 693, 689, 691, 678, 694, 679, 695, 703, 680, 701, - 701, 705, 681, 683, 682, 684, 524, 524, 685, 687, - - 706, 686, 607, 768, 524, 688, 690, 410, 411, 693, - 689, 524, 691, 524, 694, 695, 708, 703, 524, 710, - 705, 707, 524, 410, 411, 702, 702, 702, 702, 709, - 706, 711, 524, 712, 702, 702, 702, 702, 702, 702, - 714, 713, 524, 524, 524, 524, 708, 764, 710, 715, - 707, 716, 717, 524, 524, 775, 718, 776, 721, 709, - 524, 711, 524, 712, 702, 702, 702, 702, 702, 702, - 714, 713, 719, 723, 720, 524, 524, 524, 524, 715, - 724, 716, 717, 524, 722, 524, 718, 524, 721, 726, - 728, 752, 731, 732, 734, 727, 730, 748, 733, 736, - - 741, 738, 719, 723, 720, 725, 735, 729, 743, 740, - 724, 739, 742, 722, 744, 745, 746, 747, 749, 726, - 728, 731, 750, 732, 734, 727, 730, 733, 751, 736, - 741, 738, 753, 754, 725, 755, 735, 729, 740, 756, - 739, 757, 742, 744, 758, 745, 746, 747, 749, 759, - 761, 750, 760, 762, 763, 765, 766, 767, 751, 769, - 770, 753, 754, 771, 755, 772, 773, 777, 778, 756, - 757, 696, 697, 758, 698, 410, 411, 409, 524, 759, - 761, 760, 762, 524, 763, 765, 766, 767, 524, 769, - 770, 524, 771, 410, 411, 772, 773, 777, 778, 524, - - 782, 524, 786, 784, 783, 524, 524, 785, 524, 524, - 524, 524, 524, 787, 524, 791, 524, 524, 524, 363, - 363, 807, 793, 737, 795, 802, 524, 788, 796, 524, - 782, 786, 789, 784, 783, 790, 792, 785, 524, 797, - 524, 794, 798, 787, 524, 791, 799, 800, 524, 804, - 524, 807, 793, 808, 795, 802, 788, 803, 796, 805, - 811, 789, 801, 809, 790, 792, 812, 813, 797, 814, - 794, 815, 798, 810, 704, 816, 799, 800, 818, 804, - 819, 820, 808, 821, 822, 823, 825, 803, 824, 805, - 811, 826, 801, 809, 827, 829, 812, 813, 814, 830, - - 815, 831, 838, 810, 816, 839, 846, 775, 818, 776, - 819, 820, 849, 821, 822, 823, 825, 824, 847, 524, - 917, 826, 918, 827, 864, 829, 832, 833, 524, 830, - 831, 834, 838, 524, 835, 839, 846, 836, 840, 841, - 524, 849, 837, 842, 524, 878, 843, 524, 847, 844, - 863, 524, 862, 524, 864, 865, 832, 833, 524, 868, - 866, 834, 524, 524, 835, 524, 875, 836, 840, 841, - 876, 837, 872, 842, 878, 867, 843, 870, 524, 844, - 863, 862, 871, 880, 869, 865, 882, 873, 877, 868, - 866, 874, 879, 881, 409, 883, 875, 884, 699, 885, - - 876, 886, 872, 887, 867, 888, 870, 889, 890, 891, - 892, 871, 880, 869, 894, 882, 873, 895, 877, 896, - 902, 874, 879, 881, 883, 901, 893, 884, 885, 903, - 904, 886, 887, 905, 907, 888, 906, 889, 890, 891, - 892, 897, 692, 911, 894, 898, 895, 912, 899, 896, - 902, 915, 943, 908, 901, 893, 909, 524, 900, 903, - 904, 944, 946, 905, 907, 906, 910, 945, 947, 948, - 950, 897, 911, 949, 951, 898, 912, 952, 899, 953, - 915, 942, 943, 908, 954, 955, 909, 900, 956, 666, - 957, 944, 946, 958, 959, 910, 945, 960, 947, 948, - - 950, 961, 949, 962, 951, 963, 964, 952, 965, 953, - 942, 966, 967, 954, 968, 955, 969, 971, 956, 957, - 970, 972, 973, 958, 959, 974, 975, 960, 976, 979, - 961, 977, 917, 962, 918, 963, 964, 917, 965, 918, - 966, 967, 993, 994, 968, 995, 969, 971, 978, 970, - 996, 972, 973, 997, 974, 975, 998, 976, 979, 999, - 1000, 977, 1001, 663, 1002, 1003, 1004, 648, 1005, 1006, - 1007, 993, 1008, 994, 1009, 995, 1010, 978, 1011, 1012, - 996, 1013, 1014, 997, 1015, 1016, 998, 1017, 1018, 999, - 1000, 1019, 1001, 1002, 1003, 1020, 1004, 1005, 1021, 1006, - - 1007, 1008, 1022, 1009, 1025, 1010, 1023, 1026, 1011, 1012, - 1024, 1013, 1014, 1015, 1016, 1028, 1017, 1029, 1018, 1030, - 1031, 1019, 1032, 1033, 1034, 1020, 1035, 1036, 1021, 1037, - 1038, 1022, 1039, 1025, 1040, 1023, 1041, 1026, 1042, 1024, - 1043, 1044, 1045, 1046, 1047, 1028, 1048, 1029, 1030, 1049, - 1031, 1032, 1033, 1034, 1050, 1057, 1035, 1036, 1037, 1038, - 1051, 1052, 1039, 1053, 1040, 1054, 1041, 1055, 1042, 1056, - 1043, 1044, 1045, 1046, 1047, 1048, 1058, 1059, 1060, 1049, - 1061, 620, 1062, 1063, 1050, 1057, 1064, 1065, 1066, 1051, - 1052, 1067, 1053, 1068, 1054, 1069, 1055, 1070, 1056, 1071, - - 1072, 1073, 1074, 1075, 409, 1076, 1058, 1059, 1060, 1077, - 1061, 1062, 1078, 1063, 1079, 1080, 1064, 1065, 1066, 1081, - 1067, 1082, 1083, 1068, 1084, 1069, 1085, 1070, 1086, 1071, - 1072, 1073, 1074, 1075, 1076, 1087, 1088, 1089, 1077, 1090, - 1091, 1092, 1078, 1079, 1093, 1080, 1094, 566, 1095, 1081, - 1082, 1096, 1083, 1097, 1084, 1098, 1085, 1099, 1086, 1100, - 1101, 524, 1102, 1103, 1104, 1087, 1088, 1089, 1090, 1091, - 1105, 1092, 416, 1093, 416, 420, 1094, 1095, 391, 518, - 1096, 518, 1097, 378, 457, 1098, 342, 1099, 1100, 339, - 1101, 1102, 1103, 336, 1104, 301, 299, 301, 296, 286, - - 1105, 62, 62, 62, 62, 62, 62, 62, 62, 62, - 62, 62, 62, 62, 62, 62, 62, 62, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 85, 85, 85, 85, 85, - 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, - 85, 85, 88, 88, 88, 88, 88, 88, 88, 88, - 88, 88, 88, 88, 88, 88, 88, 88, 88, 92, - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 92, 92, 92, 92, 92, 100, 100, 100, 100, - 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, - - 100, 100, 100, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 112, 112, 112, 112, 112, 112, 112, 112, 112, 112, - 112, 112, 112, 112, 112, 112, 112, 118, 118, 118, - 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, - 118, 118, 118, 118, 123, 123, 123, 123, 123, 123, - 123, 123, 123, 123, 123, 123, 123, 123, 123, 123, - 123, 127, 127, 127, 127, 127, 127, 127, 127, 127, - 127, 127, 127, 127, 127, 127, 127, 127, 147, 147, - 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, - - 147, 147, 147, 147, 147, 150, 150, 150, 150, 150, - 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, - 150, 150, 156, 156, 156, 156, 156, 156, 156, 156, - 156, 156, 156, 156, 156, 156, 156, 156, 156, 161, - 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, - 161, 161, 161, 161, 161, 161, 200, 200, 200, 200, - 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, - 200, 200, 200, 204, 204, 204, 204, 204, 204, 204, - 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, - 220, 220, 220, 220, 220, 220, 220, 220, 220, 220, - - 220, 220, 220, 220, 220, 220, 220, 224, 224, 224, - 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, - 224, 224, 224, 224, 231, 231, 282, 231, 231, 423, - 422, 421, 231, 237, 237, 237, 237, 237, 237, 237, - 237, 237, 237, 237, 237, 237, 237, 237, 237, 248, - 248, 270, 248, 248, 420, 418, 417, 248, 259, 407, - 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, - 259, 259, 259, 259, 259, 262, 254, 262, 262, 262, - 262, 262, 262, 262, 262, 262, 262, 262, 262, 262, - 262, 262, 268, 268, 268, 403, 268, 268, 250, 233, - - 229, 268, 280, 386, 280, 280, 280, 280, 280, 280, - 280, 280, 280, 280, 280, 280, 280, 280, 280, 281, - 385, 281, 281, 281, 281, 281, 281, 281, 281, 281, - 281, 281, 281, 281, 281, 281, 285, 285, 285, 285, - 285, 285, 285, 285, 285, 285, 285, 285, 384, 285, - 382, 285, 285, 295, 381, 380, 295, 295, 295, 295, - 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, - 303, 303, 378, 303, 303, 342, 340, 339, 303, 308, - 338, 308, 308, 308, 308, 308, 308, 308, 308, 308, - 308, 308, 308, 308, 308, 308, 311, 337, 311, 311, - - 311, 311, 311, 311, 311, 311, 311, 311, 311, 311, - 317, 311, 311, 312, 336, 312, 335, 331, 312, 312, - 312, 312, 312, 329, 328, 327, 312, 314, 326, 314, - 314, 314, 314, 314, 314, 314, 314, 314, 314, 314, - 314, 314, 314, 314, 318, 318, 322, 318, 318, 321, - 317, 313, 318, 323, 323, 323, 323, 323, 323, 323, - 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, - 330, 307, 330, 310, 330, 330, 330, 330, 330, 330, - 330, 330, 330, 307, 330, 330, 330, 332, 306, 332, - 332, 332, 332, 332, 332, 332, 332, 332, 332, 332, - - 332, 332, 332, 332, 341, 304, 341, 341, 341, 341, - 341, 341, 341, 341, 341, 341, 341, 341, 341, 341, - 341, 345, 345, 302, 299, 345, 345, 377, 301, 377, - 377, 377, 377, 377, 377, 377, 377, 377, 377, 377, - 377, 377, 377, 377, 383, 297, 383, 383, 383, 296, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, - 383, 231, 231, 294, 231, 231, 293, 292, 289, 231, - 388, 288, 388, 388, 388, 388, 388, 388, 388, 388, - 388, 388, 388, 388, 388, 388, 388, 389, 287, 389, - 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, - - 389, 389, 389, 389, 397, 397, 286, 282, 279, 397, - 399, 399, 278, 270, 258, 399, 400, 400, 400, 400, - 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, - 400, 400, 400, 248, 248, 257, 248, 248, 256, 250, - 247, 248, 404, 404, 404, 404, 404, 404, 404, 404, - 404, 404, 404, 404, 404, 404, 404, 404, 404, 409, - 233, 409, 409, 409, 409, 409, 409, 409, 409, 409, - 409, 409, 409, 229, 409, 409, 259, 1106, 259, 259, - 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, - 259, 259, 259, 419, 419, 111, 419, 419, 111, 1106, - - 1106, 419, 419, 424, 1106, 424, 424, 424, 424, 424, - 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, - 280, 1106, 280, 280, 280, 280, 280, 280, 280, 280, - 280, 280, 280, 280, 280, 280, 280, 281, 1106, 281, - 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, - 281, 281, 281, 281, 426, 1106, 426, 426, 426, 426, - 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, - 426, 427, 1106, 427, 427, 427, 427, 427, 427, 427, - 427, 427, 427, 427, 427, 427, 427, 427, 285, 285, - 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, - - 1106, 285, 1106, 285, 285, 430, 430, 430, 430, 430, - 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, - 430, 430, 295, 1106, 1106, 295, 295, 295, 295, 295, - 295, 295, 295, 295, 295, 295, 295, 295, 295, 303, - 303, 1106, 303, 303, 1106, 1106, 1106, 303, 312, 1106, - 312, 1106, 1106, 312, 312, 312, 312, 312, 1106, 1106, - 1106, 312, 314, 1106, 314, 314, 314, 314, 314, 314, - 314, 314, 314, 314, 314, 314, 314, 314, 314, 318, - 318, 1106, 318, 318, 1106, 1106, 1106, 318, 323, 323, - 323, 323, 323, 323, 323, 323, 323, 323, 323, 323, - - 323, 323, 323, 323, 323, 330, 1106, 330, 1106, 330, - 330, 330, 330, 330, 330, 330, 330, 330, 1106, 330, - 330, 330, 447, 1106, 447, 447, 447, 447, 447, 447, - 447, 447, 447, 447, 447, 447, 447, 447, 447, 341, - 1106, 341, 341, 341, 341, 341, 341, 341, 341, 341, - 341, 341, 341, 341, 341, 341, 345, 345, 1106, 1106, - 345, 345, 377, 1106, 377, 377, 377, 377, 377, 377, - 377, 377, 377, 377, 377, 377, 377, 377, 377, 383, - 1106, 383, 383, 383, 1106, 383, 383, 383, 383, 383, - 383, 383, 383, 383, 383, 383, 388, 1106, 388, 388, - - 388, 388, 388, 388, 388, 388, 388, 388, 388, 388, - 388, 388, 388, 389, 1106, 389, 389, 389, 389, 389, - 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, - 498, 498, 498, 498, 498, 498, 498, 498, 498, 498, - 498, 498, 498, 498, 498, 498, 498, 507, 507, 1106, - 507, 507, 1106, 1106, 1106, 507, 509, 509, 1106, 509, - 509, 1106, 1106, 1106, 509, 400, 400, 400, 400, 400, - 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, - 400, 400, 404, 404, 404, 404, 404, 404, 404, 404, - 404, 404, 404, 404, 404, 404, 404, 404, 404, 409, - - 1106, 409, 409, 409, 409, 409, 409, 409, 409, 409, - 409, 409, 409, 1106, 409, 409, 419, 419, 1106, 419, - 419, 1106, 1106, 1106, 419, 419, 424, 1106, 424, 424, - 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, - 424, 424, 424, 426, 1106, 426, 426, 426, 426, 426, - 426, 426, 426, 426, 426, 426, 426, 426, 426, 426, - 427, 1106, 427, 427, 427, 427, 427, 427, 427, 427, - 427, 427, 427, 427, 427, 427, 427, 430, 430, 430, - 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, - 430, 430, 430, 430, 437, 437, 437, 318, 318, 1106, - - 318, 318, 1106, 1106, 1106, 318, 447, 1106, 447, 447, - 447, 447, 447, 447, 447, 447, 447, 447, 447, 447, - 447, 447, 447, 605, 1106, 605, 605, 605, 605, 605, - 605, 605, 605, 605, 605, 605, 605, 605, 605, 605, - 774, 774, 774, 774, 774, 774, 774, 774, 774, 774, - 774, 774, 774, 774, 774, 774, 774, 916, 916, 916, - 916, 916, 916, 916, 916, 916, 916, 916, 916, 916, - 916, 916, 916, 916, 49, 1106, 1106, 1106, 1106, 1106, - 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, - 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, - - 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, - 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, - 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, - 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, - 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, - 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106 - } ; - -static yyconst flex_int16_t yy_chk[4060] = - { 0, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, - 96, 3, 3, 5, 3, 5, 7, 3, 3, 3, - 3, 8, 992, 3, 3, 6, 6, 942, 6, 21, - 3, 941, 6, 3, 9, 126, 9, 11, 11, 96, - - 11, 12, 12, 940, 12, 17, 939, 17, 19, 138, - 19, 19, 27, 20, 27, 20, 20, 17, 22, 3, - 3, 17, 17, 17, 17, 28, 7, 28, 7, 51, - 51, 8, 51, 8, 126, 10, 9, 10, 79, 21, - 21, 10, 21, 9, 9, 87, 9, 87, 3, 3, - 3, 4, 4, 138, 4, 4, 938, 4, 4, 19, - 4, 4, 4, 4, 20, 9, 4, 4, 22, 22, - 95, 22, 9, 4, 73, 73, 4, 10, 23, 37, - 23, 45, 37, 45, 10, 10, 17, 10, 259, 259, - 45, 23, 142, 263, 263, 37, 37, 37, 37, 937, - - 95, 38, 4, 4, 38, 4, 10, 46, 147, 46, - 147, 79, 47, 10, 47, 936, 46, 38, 38, 38, - 38, 142, 47, 55, 55, 149, 55, 149, 23, 23, - 23, 4, 4, 4, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 18, 24, - 18, 24, 168, 29, 58, 29, 74, 74, 935, 30, - 18, 30, 24, 29, 18, 18, 18, 18, 31, 30, - 31, 31, 32, 191, 32, 32, 48, 162, 48, 67, - 67, 168, 67, 246, 162, 246, 48, 75, 74, 75, - 141, 58, 75, 75, 75, 75, 167, 176, 177, 24, - 24, 24, 191, 29, 253, 29, 253, 105, 105, 30, - 105, 30, 116, 116, 116, 116, 294, 74, 294, 31, - 141, 58, 323, 32, 323, 934, 167, 176, 177, 18, - - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 33, 33, 39, 33, 39, 34, - 34, 33, 34, 182, 41, 42, 34, 333, 43, 181, - - 33, 41, 42, 186, 333, 34, 203, 203, 203, 203, - 325, 43, 325, 181, 41, 42, 179, 187, 179, 188, - 314, 43, 179, 182, 41, 42, 43, 33, 194, 41, - 42, 199, 34, 186, 33, 33, 39, 33, 39, 34, - 34, 43, 34, 181, 41, 42, 179, 187, 179, 188, - 43, 179, 933, 41, 42, 43, 33, 194, 41, 42, - 199, 34, 932, 33, 314, 39, 931, 39, 34, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, - 35, 35, 35, 40, 44, 40, 63, 63, 193, 63, - 122, 122, 347, 63, 183, 76, 76, 44, 76, 125, - 125, 348, 76, 350, 195, 132, 132, 44, 180, 184, - 190, 76, 44, 409, 409, 183, 180, 76, 193, 930, - 190, 347, 122, 196, 183, 197, 198, 44, 873, 184, - - 348, 125, 350, 40, 195, 40, 44, 132, 180, 184, - 190, 44, 236, 189, 183, 244, 180, 189, 235, 76, - 190, 122, 258, 196, 872, 197, 198, 278, 184, 871, - 125, 290, 40, 291, 40, 59, 132, 63, 228, 228, - 192, 228, 236, 189, 260, 244, 76, 189, 232, 232, - 192, 232, 258, 192, 59, 235, 59, 278, 59, 249, - 249, 290, 249, 291, 59, 870, 249, 59, 59, 59, - 192, 59, 59, 59, 260, 260, 869, 59, 298, 298, - 192, 298, 192, 868, 59, 235, 59, 867, 59, 319, - 320, 866, 239, 239, 59, 239, 865, 59, 59, 59, - - 59, 59, 59, 864, 240, 240, 59, 240, 59, 239, - 239, 239, 239, 241, 241, 863, 241, 261, 261, 319, - 320, 240, 240, 240, 240, 242, 242, 352, 242, 343, - 241, 241, 241, 241, 354, 239, 305, 305, 305, 305, - 249, 344, 242, 242, 242, 242, 346, 862, 355, 261, - 269, 269, 349, 269, 241, 357, 352, 269, 353, 343, - 346, 356, 353, 354, 239, 242, 269, 358, 861, 349, - 359, 344, 269, 360, 359, 361, 346, 355, 261, 362, - 364, 366, 349, 367, 241, 357, 368, 369, 353, 346, - 356, 371, 353, 372, 371, 242, 368, 358, 349, 374, - - 359, 375, 360, 359, 269, 361, 415, 415, 362, 364, - 366, 400, 367, 400, 614, 614, 368, 369, 402, 860, - 402, 371, 859, 372, 371, 368, 858, 387, 374, 394, - 375, 269, 307, 307, 307, 307, 307, 307, 307, 307, - 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, - 307, 307, 307, 307, 307, 307, 307, 387, 394, 404, - 307, 404, 307, 307, 307, 307, 307, 307, 307, 307, - 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, - 307, 307, 307, 307, 307, 307, 370, 373, 390, 390, - 370, 390, 395, 396, 373, 370, 379, 379, 379, 379, - - 398, 406, 430, 406, 430, 390, 390, 390, 390, 408, - 410, 857, 423, 411, 411, 856, 370, 373, 448, 855, - 370, 395, 854, 396, 373, 370, 376, 425, 376, 428, - 398, 376, 376, 393, 393, 853, 393, 376, 376, 408, - 410, 410, 423, 376, 376, 411, 429, 448, 376, 411, - 393, 393, 393, 393, 852, 376, 376, 425, 376, 428, - 851, 376, 376, 420, 420, 420, 420, 376, 376, 432, - 847, 432, 376, 376, 411, 846, 429, 376, 412, 412, - 792, 412, 412, 412, 412, 412, 412, 412, 412, 412, - 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, - - 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, - 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, - 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, - 412, 412, 791, 412, 412, 412, 412, 412, 412, 412, - 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, - 412, 412, 412, 412, 412, 412, 412, 412, 412, 412, - 412, 412, 413, 413, 445, 446, 441, 433, 434, 435, - 438, 439, 436, 442, 449, 459, 450, 498, 790, 498, - 440, 443, 789, 433, 434, 436, 441, 435, 451, 443, - 439, 788, 438, 442, 445, 446, 413, 413, 414, 414, - - 414, 414, 440, 449, 459, 440, 450, 414, 414, 414, - 414, 414, 414, 433, 434, 436, 441, 435, 451, 443, - 439, 438, 452, 442, 462, 453, 454, 455, 456, 787, - 458, 440, 414, 414, 440, 460, 786, 414, 414, 414, - 414, 414, 414, 444, 463, 464, 465, 467, 444, 444, - 444, 444, 452, 462, 444, 453, 454, 455, 456, 444, - 458, 466, 469, 444, 470, 460, 444, 785, 444, 471, - 784, 444, 472, 463, 473, 464, 465, 467, 444, 444, - 444, 444, 474, 475, 444, 476, 477, 478, 479, 444, - 466, 480, 469, 444, 470, 444, 482, 444, 483, 471, - - 444, 481, 472, 484, 473, 485, 486, 481, 487, 488, - 508, 489, 474, 475, 490, 476, 477, 478, 479, 491, - 492, 480, 493, 494, 783, 495, 482, 483, 497, 782, - 496, 481, 484, 496, 496, 485, 486, 481, 487, 488, - 489, 501, 504, 501, 490, 503, 503, 505, 503, 491, - 492, 523, 493, 494, 495, 506, 499, 499, 497, 499, - 496, 510, 496, 496, 502, 502, 600, 502, 600, 613, - 613, 613, 504, 499, 499, 499, 499, 505, 615, 615, - 523, 502, 502, 502, 502, 506, 601, 601, 780, 601, - 508, 510, 511, 511, 773, 511, 511, 511, 511, 511, - - 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, - 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, - 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, - 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, - 511, 511, 511, 511, 511, 511, 514, 511, 511, 511, - 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, - 511, 511, 511, 511, 511, 511, 511, 511, 511, 511, - 511, 511, 511, 511, 511, 511, 512, 512, 520, 514, - 525, 527, 516, 516, 532, 526, 528, 770, 521, 522, - 526, 758, 607, 607, 529, 607, 531, 528, 525, 529, - - 525, 693, 532, 693, 744, 527, 530, 609, 520, 531, - 512, 512, 513, 513, 513, 513, 516, 516, 521, 522, - 526, 513, 513, 513, 513, 513, 513, 528, 525, 529, - 525, 535, 532, 530, 527, 733, 539, 533, 545, 531, - 609, 534, 533, 704, 535, 546, 545, 536, 537, 539, - 703, 513, 513, 513, 513, 513, 513, 517, 517, 517, - 517, 534, 530, 536, 537, 538, 517, 517, 517, 517, - 517, 517, 533, 540, 535, 546, 545, 699, 550, 539, - 542, 547, 551, 538, 541, 553, 543, 544, 554, 555, - 556, 534, 557, 536, 537, 540, 517, 517, 517, 517, - - 517, 517, 542, 541, 698, 542, 543, 544, 550, 557, - 547, 551, 558, 538, 553, 557, 560, 554, 559, 555, - 556, 563, 606, 564, 540, 565, 566, 692, 569, 570, - 574, 542, 572, 541, 542, 573, 543, 544, 576, 557, - 577, 578, 558, 579, 581, 557, 560, 559, 580, 582, - 583, 563, 564, 584, 565, 586, 566, 569, 587, 570, - 574, 572, 588, 590, 573, 589, 591, 576, 592, 594, - 577, 578, 593, 579, 581, 595, 596, 580, 582, 583, - 602, 595, 597, 584, 603, 586, 604, 616, 587, 611, - 611, 618, 588, 590, 589, 591, 621, 624, 592, 594, - - 619, 593, 606, 686, 622, 595, 596, 701, 701, 602, - 595, 623, 597, 626, 603, 604, 622, 616, 625, 624, - 618, 621, 628, 611, 611, 612, 612, 612, 612, 623, - 619, 625, 627, 626, 612, 612, 612, 612, 612, 612, - 628, 627, 629, 631, 630, 632, 622, 682, 624, 629, - 621, 630, 631, 634, 633, 774, 632, 774, 634, 623, - 635, 625, 636, 626, 612, 612, 612, 612, 612, 612, - 628, 627, 633, 636, 633, 637, 639, 640, 638, 629, - 637, 630, 631, 643, 635, 641, 632, 642, 634, 639, - 641, 668, 644, 645, 648, 640, 643, 664, 647, 650, - - 655, 653, 633, 636, 633, 638, 648, 642, 658, 654, - 637, 653, 657, 635, 659, 661, 662, 663, 665, 639, - 641, 644, 666, 645, 648, 640, 643, 647, 667, 650, - 655, 653, 669, 670, 638, 671, 648, 642, 654, 673, - 653, 674, 657, 659, 675, 661, 662, 663, 665, 676, - 679, 666, 678, 680, 681, 683, 684, 685, 667, 687, - 688, 669, 670, 689, 671, 690, 691, 694, 695, 673, - 674, 696, 696, 675, 696, 700, 700, 700, 711, 676, - 679, 678, 680, 707, 681, 683, 684, 685, 709, 687, - 688, 710, 689, 702, 702, 690, 691, 694, 695, 708, - - 707, 712, 711, 709, 708, 713, 716, 710, 714, 718, - 721, 715, 720, 712, 717, 716, 719, 722, 727, 1147, - 1147, 734, 718, 652, 720, 727, 724, 713, 721, 723, - 707, 711, 714, 709, 708, 715, 717, 710, 725, 722, - 729, 719, 723, 712, 726, 716, 724, 725, 730, 729, - 728, 734, 718, 735, 720, 727, 713, 728, 721, 730, - 738, 714, 726, 737, 715, 717, 739, 740, 722, 741, - 719, 742, 723, 737, 617, 743, 724, 725, 745, 729, - 746, 747, 735, 748, 749, 750, 752, 728, 751, 730, - 738, 754, 726, 737, 756, 760, 739, 740, 741, 761, - - 742, 762, 765, 737, 743, 767, 771, 776, 745, 776, - 746, 747, 778, 748, 749, 750, 752, 751, 772, 795, - 849, 754, 849, 756, 795, 760, 764, 764, 793, 761, - 762, 764, 765, 794, 764, 767, 771, 764, 768, 768, - 796, 778, 764, 768, 797, 809, 768, 799, 772, 768, - 794, 798, 793, 801, 795, 796, 764, 764, 802, 799, - 797, 764, 800, 803, 764, 804, 806, 764, 768, 768, - 807, 764, 803, 768, 809, 798, 768, 801, 805, 768, - 794, 793, 802, 811, 800, 796, 814, 804, 808, 799, - 797, 805, 810, 812, 610, 816, 806, 817, 608, 818, - - 807, 819, 803, 820, 798, 821, 801, 823, 825, 826, - 828, 802, 811, 800, 832, 814, 804, 833, 808, 834, - 837, 805, 810, 812, 816, 836, 828, 817, 818, 838, - 839, 819, 820, 840, 842, 821, 841, 823, 825, 826, - 828, 835, 598, 844, 832, 835, 833, 845, 835, 834, - 837, 848, 875, 843, 836, 828, 843, 874, 835, 838, - 839, 876, 878, 840, 842, 841, 843, 877, 879, 880, - 883, 835, 844, 881, 884, 835, 845, 885, 835, 886, - 848, 874, 875, 843, 888, 889, 843, 835, 890, 571, - 891, 876, 878, 892, 893, 843, 877, 894, 879, 880, - - 883, 895, 881, 897, 884, 898, 899, 885, 900, 886, - 874, 901, 902, 888, 904, 889, 905, 908, 890, 891, - 906, 909, 910, 892, 893, 911, 912, 894, 913, 915, - 895, 914, 916, 897, 916, 898, 899, 918, 900, 918, - 901, 902, 943, 944, 904, 945, 905, 908, 914, 906, - 946, 909, 910, 947, 911, 912, 948, 913, 915, 949, - 950, 914, 951, 568, 952, 953, 954, 552, 955, 956, - 958, 943, 959, 944, 960, 945, 961, 914, 962, 963, - 946, 964, 965, 947, 967, 969, 948, 970, 971, 949, - 950, 972, 951, 952, 953, 973, 954, 955, 975, 956, - - 958, 959, 976, 960, 978, 961, 977, 979, 962, 963, - 977, 964, 965, 967, 969, 993, 970, 994, 971, 995, - 996, 972, 997, 998, 999, 973, 1001, 1002, 975, 1004, - 1005, 976, 1006, 978, 1007, 977, 1008, 979, 1009, 977, - 1010, 1012, 1016, 1017, 1018, 993, 1021, 994, 995, 1022, - 996, 997, 998, 999, 1023, 1031, 1001, 1002, 1004, 1005, - 1024, 1025, 1006, 1026, 1007, 1028, 1008, 1029, 1009, 1030, - 1010, 1012, 1016, 1017, 1018, 1021, 1032, 1033, 1034, 1022, - 1037, 524, 1039, 1041, 1023, 1031, 1044, 1047, 1048, 1024, - 1025, 1049, 1026, 1050, 1028, 1051, 1029, 1052, 1030, 1053, - - 1054, 1055, 1056, 1058, 515, 1059, 1032, 1033, 1034, 1060, - 1037, 1039, 1061, 1041, 1063, 1067, 1044, 1047, 1048, 1068, - 1049, 1069, 1070, 1050, 1072, 1051, 1073, 1052, 1074, 1053, - 1054, 1055, 1056, 1058, 1059, 1075, 1076, 1077, 1060, 1078, - 1081, 1083, 1061, 1063, 1084, 1067, 1085, 468, 1086, 1068, - 1069, 1087, 1070, 1088, 1072, 1090, 1073, 1093, 1074, 1094, - 1097, 437, 1098, 1099, 1102, 1075, 1076, 1077, 1078, 1081, - 1103, 1083, 1160, 1084, 1160, 419, 1085, 1086, 392, 1189, - 1087, 1189, 1088, 377, 351, 1090, 341, 1093, 1094, 339, - 1097, 1098, 1099, 334, 1102, 301, 300, 299, 296, 285, - - 1103, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, - 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1108, 1108, - 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, - 1108, 1108, 1108, 1108, 1108, 1109, 1109, 1109, 1109, 1109, - 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, 1109, - 1109, 1109, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, - 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1111, - 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, - 1111, 1111, 1111, 1111, 1111, 1111, 1112, 1112, 1112, 1112, - 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, 1112, - - 1112, 1112, 1112, 1113, 1113, 1113, 1113, 1113, 1113, 1113, - 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, - 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, - 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1115, 1115, 1115, - 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, - 1115, 1115, 1115, 1115, 1116, 1116, 1116, 1116, 1116, 1116, - 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, - 1116, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, - 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1118, 1118, - 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, - - 1118, 1118, 1118, 1118, 1118, 1119, 1119, 1119, 1119, 1119, - 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, - 1119, 1119, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, - 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1121, - 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, - 1121, 1121, 1121, 1121, 1121, 1121, 1122, 1122, 1122, 1122, - 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, - 1122, 1122, 1122, 1123, 1123, 1123, 1123, 1123, 1123, 1123, - 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, - 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, - - 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1125, 1125, 1125, - 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, - 1125, 1125, 1125, 1125, 1126, 1126, 282, 1126, 1126, 274, - 273, 272, 1126, 1127, 1127, 1127, 1127, 1127, 1127, 1127, - 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1128, - 1128, 271, 1128, 1128, 268, 266, 265, 1128, 1129, 256, - 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, - 1129, 1129, 1129, 1129, 1129, 1130, 255, 1130, 1130, 1130, - 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, - 1130, 1130, 1131, 1131, 1131, 252, 1131, 1131, 251, 234, - - 230, 1131, 1132, 227, 1132, 1132, 1132, 1132, 1132, 1132, - 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1133, - 226, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, - 1133, 1133, 1133, 1133, 1133, 1133, 1134, 1134, 1134, 1134, - 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 222, 1134, - 208, 1134, 1134, 1135, 207, 206, 1135, 1135, 1135, 1135, - 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, 1135, - 1136, 1136, 202, 1136, 1136, 175, 174, 172, 1136, 1137, - 170, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, - 1137, 1137, 1137, 1137, 1137, 1137, 1138, 169, 1138, 1138, - - 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, - 166, 1138, 1138, 1139, 165, 1139, 164, 158, 1139, 1139, - 1139, 1139, 1139, 155, 154, 153, 1139, 1140, 152, 1140, - 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, 1140, - 1140, 1140, 1140, 1140, 1141, 1141, 144, 1141, 1141, 143, - 139, 136, 1141, 1142, 1142, 1142, 1142, 1142, 1142, 1142, - 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, - 1143, 131, 1143, 129, 1143, 1143, 1143, 1143, 1143, 1143, - 1143, 1143, 1143, 124, 1143, 1143, 1143, 1144, 120, 1144, - 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, - - 1144, 1144, 1144, 1144, 1145, 114, 1145, 1145, 1145, 1145, - 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, - 1145, 1146, 1146, 109, 107, 1146, 1146, 1148, 106, 1148, - 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, 1148, - 1148, 1148, 1148, 1148, 1149, 103, 1149, 1149, 1149, 101, - 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, - 1149, 1150, 1150, 99, 1150, 1150, 98, 97, 94, 1150, - 1151, 91, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, - 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1152, 90, 1152, - 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, - - 1152, 1152, 1152, 1152, 1153, 1153, 88, 86, 84, 1153, - 1154, 1154, 80, 78, 72, 1154, 1155, 1155, 1155, 1155, - 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, - 1155, 1155, 1155, 1156, 1156, 71, 1156, 1156, 68, 65, - 60, 1156, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, - 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1157, 1158, - 57, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, - 1158, 1158, 1158, 53, 1158, 1158, 1159, 49, 1159, 1159, - 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, - 1159, 1159, 1159, 1161, 1161, 16, 1161, 1161, 15, 0, - - 0, 1161, 1161, 1162, 0, 1162, 1162, 1162, 1162, 1162, - 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, - 1163, 0, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, - 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1164, 0, 1164, - 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, - 1164, 1164, 1164, 1164, 1165, 0, 1165, 1165, 1165, 1165, - 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, - 1165, 1166, 0, 1166, 1166, 1166, 1166, 1166, 1166, 1166, - 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1167, 1167, - 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, 1167, - - 0, 1167, 0, 1167, 1167, 1168, 1168, 1168, 1168, 1168, - 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, - 1168, 1168, 1169, 0, 0, 1169, 1169, 1169, 1169, 1169, - 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1169, 1170, - 1170, 0, 1170, 1170, 0, 0, 0, 1170, 1171, 0, - 1171, 0, 0, 1171, 1171, 1171, 1171, 1171, 0, 0, - 0, 1171, 1172, 0, 1172, 1172, 1172, 1172, 1172, 1172, - 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1173, - 1173, 0, 1173, 1173, 0, 0, 0, 1173, 1174, 1174, - 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, 1174, - - 1174, 1174, 1174, 1174, 1174, 1175, 0, 1175, 0, 1175, - 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 0, 1175, - 1175, 1175, 1176, 0, 1176, 1176, 1176, 1176, 1176, 1176, - 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1177, - 0, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1178, 1178, 0, 0, - 1178, 1178, 1179, 0, 1179, 1179, 1179, 1179, 1179, 1179, - 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1180, - 0, 1180, 1180, 1180, 0, 1180, 1180, 1180, 1180, 1180, - 1180, 1180, 1180, 1180, 1180, 1180, 1181, 0, 1181, 1181, - - 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, - 1181, 1181, 1181, 1182, 0, 1182, 1182, 1182, 1182, 1182, - 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, - 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1183, - 1183, 1183, 1183, 1183, 1183, 1183, 1183, 1184, 1184, 0, - 1184, 1184, 0, 0, 0, 1184, 1185, 1185, 0, 1185, - 1185, 0, 0, 0, 1185, 1186, 1186, 1186, 1186, 1186, - 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, 1186, - 1186, 1186, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, - 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1188, - - 0, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, 1188, - 1188, 1188, 1188, 0, 1188, 1188, 1190, 1190, 0, 1190, - 1190, 0, 0, 0, 1190, 1190, 1191, 0, 1191, 1191, - 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, - 1191, 1191, 1191, 1192, 0, 1192, 1192, 1192, 1192, 1192, - 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, - 1193, 0, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, - 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1194, 1194, 1194, - 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, - 1194, 1194, 1194, 1194, 1195, 1195, 1195, 1196, 1196, 0, - - 1196, 1196, 0, 0, 0, 1196, 1197, 0, 1197, 1197, - 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, - 1197, 1197, 1197, 1198, 0, 1198, 1198, 1198, 1198, 1198, - 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, - 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, - 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1200, 1200, 1200, - 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, - 1200, 1200, 1200, 1200, 1106, 1106, 1106, 1106, 1106, 1106, - 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, - 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, - - 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, - 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, - 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, - 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, - 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, - 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106, 1106 - } ; - -extern int yy_flex_debug; -int yy_flex_debug = 0; - -static yy_state_type *yy_state_buf=0, *yy_state_ptr=0; -static char *yy_full_match; -static int yy_lp; -#define REJECT \ -{ \ -*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ \ -yy_cp = (yy_full_match); /* restore poss. backed-over text */ \ -++(yy_lp); \ -goto find_rule; \ -} - -static int yy_more_flag = 0; -static int yy_more_len = 0; -#define yymore() ((yy_more_flag) = 1) -#define YY_MORE_ADJ (yy_more_len) -#define YY_RESTORE_YY_MORE_OFFSET -char *yytext; -#line 1 "scan.l" -/* scan.l - scanner for flex input -*-C-*- */ -#line 4 "scan.l" -/* Copyright (c) 1990 The Regents of the University of California. */ -/* All rights reserved. */ - -/* This code is derived from software contributed to Berkeley by */ -/* Vern Paxson. */ - -/* The United States Government has rights in this work pursuant */ -/* to contract no. DE-AC03-76SF00098 between the United States */ -/* Department of Energy and the University of California. */ - -/* This file is part of flex. */ - -/* Redistribution and use in source and binary forms, with or without */ -/* modification, are permitted provided that the following conditions */ -/* are met: */ - -/* 1. Redistributions of source code must retain the above copyright */ -/* notice, this list of conditions and the following disclaimer. */ -/* 2. Redistributions in binary form must reproduce the above copyright */ -/* notice, this list of conditions and the following disclaimer in the */ -/* documentation and/or other materials provided with the distribution. */ - -/* Neither the name of the University nor the names of its contributors */ -/* may be used to endorse or promote products derived from this software */ -/* without specific prior written permission. */ - -/* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR */ -/* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED */ -/* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR */ -/* PURPOSE. */ - -#include "flexdef.h" -#include "parse.h" -extern bool tablesverify, tablesext; -extern int trlcontxt; /* Set in parse.y for each rule. */ -extern const char *escaped_qstart, *escaped_qend; - -#define ACTION_ECHO add_action( yytext ) -#define ACTION_IFDEF(def, should_define) \ - { \ - if ( should_define ) \ - action_define( def, 1 ); \ - } - -#define ACTION_ECHO_QSTART add_action (escaped_qstart) -#define ACTION_ECHO_QEND add_action (escaped_qend) - -#define ACTION_M4_IFDEF(def, should_define) \ - do{ \ - if ( should_define ) \ - buf_m4_define( &m4defs_buf, def, NULL);\ - else \ - buf_m4_undefine( &m4defs_buf, def);\ - } while(0) - -#define MARK_END_OF_PROLOG mark_prolog(); - -#define YY_DECL \ - int flexscan() - -#define RETURNCHAR \ - yylval = (unsigned char) yytext[0]; \ - return CHAR; - -#define RETURNNAME \ - if(yyleng < MAXLINE) \ - { \ - strcpy( nmstr, yytext ); \ - } \ - else \ - { \ - synerr(_("Input line too long\n")); \ - FLEX_EXIT(EXIT_FAILURE); \ - } \ - return NAME; - -#define PUT_BACK_STRING(str, start) \ - for ( i = strlen( str ) - 1; i >= start; --i ) \ - unput((str)[i]) - -#define CHECK_REJECT(str) \ - if ( all_upper( str ) ) \ - reject = true; - -#define CHECK_YYMORE(str) \ - if ( all_lower( str ) ) \ - yymore_used = true; - -#define YY_USER_INIT \ - if ( getenv("POSIXLY_CORRECT") ) \ - posix_compat = true; - - - - - - - - -#line 1978 "scan.c" - -#define INITIAL 0 -#define SECT2 1 -#define SECT2PROLOG 2 -#define SECT3 3 -#define CODEBLOCK 4 -#define PICKUPDEF 5 -#define SC 6 -#define CARETISBOL 7 -#define NUM 8 -#define QUOTE 9 -#define FIRSTCCL 10 -#define CCL 11 -#define ACTION 12 -#define RECOVER 13 -#define COMMENT 14 -#define ACTION_STRING 15 -#define PERCENT_BRACE_ACTION 16 -#define OPTION 17 -#define LINEDIR 18 -#define CODEBLOCK_MATCH_BRACE 19 -#define GROUP_WITH_PARAMS 20 -#define GROUP_MINUS_PARAMS 21 -#define EXTENDED_COMMENT 22 -#define COMMENT_DISCARD 23 - -#ifndef YY_NO_UNISTD_H -/* Special case for "unistd.h", since it is non-ANSI. We include it way - * down here because we want the user's section 1 to have been scanned first. - * The user has a chance to override it with an option. - */ -#include -#endif - -#ifndef YY_EXTRA_TYPE -#define YY_EXTRA_TYPE void * -#endif - -static int yy_init_globals (void ); - -/* Accessor methods to globals. - These are made visible to non-reentrant scanners for convenience. */ - -int yylex_destroy (void ); - -int yyget_debug (void ); - -void yyset_debug (int debug_flag ); - -YY_EXTRA_TYPE yyget_extra (void ); - -void yyset_extra (YY_EXTRA_TYPE user_defined ); - -FILE *yyget_in (void ); - -void yyset_in (FILE * in_str ); - -FILE *yyget_out (void ); - -void yyset_out (FILE * out_str ); - -yy_size_t yyget_leng (void ); - -char *yyget_text (void ); - -int yyget_lineno (void ); - -void yyset_lineno (int line_number ); - -/* Macros after this point can all be overridden by user definitions in - * section 1. - */ - -#ifndef YY_SKIP_YYWRAP -#ifdef __cplusplus -extern "C" int yywrap (void ); -#else -extern int yywrap (void ); -#endif -#endif - - static void yyunput (int c,char *buf_ptr ); - -#ifndef yytext_ptr -static void yy_flex_strncpy (char *,yyconst char *,int ); -#endif - -#ifdef YY_NEED_STRLEN -static int yy_flex_strlen (yyconst char * ); -#endif - -#ifndef YY_NO_INPUT - -#ifdef __cplusplus -static int yyinput (void ); -#else -static int input (void ); -#endif - -#endif - - static int yy_start_stack_ptr = 0; - static int yy_start_stack_depth = 0; - static int *yy_start_stack = NULL; - - static void yy_push_state (int new_state ); - - static void yy_pop_state (void ); - -/* Amount of stuff to slurp up with each read. */ -#ifndef YY_READ_BUF_SIZE -#define YY_READ_BUF_SIZE 8192 -#endif - -/* Copy whatever the last rule matched to the standard output. */ -#ifndef ECHO -/* This used to be an fputs(), but since the string might contain NUL's, - * we now use fwrite(). - */ -#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0) -#endif - -/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, - * is returned in "result". - */ -#ifndef YY_INPUT -#define YY_INPUT(buf,result,max_size) \ - if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ - { \ - int c = '*'; \ - size_t n; \ - for ( n = 0; n < max_size && \ - (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ - buf[n] = (char) c; \ - if ( c == '\n' ) \ - buf[n++] = (char) c; \ - if ( c == EOF && ferror( yyin ) ) \ - YY_FATAL_ERROR( "input in flex scanner failed" ); \ - result = n; \ - } \ - else \ - { \ - errno=0; \ - while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \ - { \ - if( errno != EINTR) \ - { \ - YY_FATAL_ERROR( "input in flex scanner failed" ); \ - break; \ - } \ - errno=0; \ - clearerr(yyin); \ - } \ - }\ -\ - -#endif - -/* No semi-colon after return; correct usage is to write "yyterminate();" - - * we don't want an extra ';' after the "return" because that will cause - * some compilers to complain about unreachable statements. - */ -#ifndef yyterminate -#define yyterminate() return YY_NULL -#endif - -/* Number of entries by which start-condition stack grows. */ -#ifndef YY_START_STACK_INCR -#define YY_START_STACK_INCR 25 -#endif - -/* Report a fatal error. */ -#ifndef YY_FATAL_ERROR -#define YY_FATAL_ERROR(msg) yy_fatal_error( msg ) -#endif - -/* end tables serialization structures and prototypes */ - -/* Default declaration of generated scanner - a define so the user can - * easily add parameters. - */ -#ifndef YY_DECL -#define YY_DECL_IS_OURS 1 - -extern int yylex (void); - -#define YY_DECL int yylex (void) -#endif /* !YY_DECL */ - -/* Code executed at the beginning of each rule, after yytext and yyleng - * have been set up. - */ -#ifndef YY_USER_ACTION -#define YY_USER_ACTION -#endif - -/* Code executed at the end of each rule. */ -#ifndef YY_BREAK -#define YY_BREAK break; -#endif - -#define YY_RULE_SETUP \ - if ( yyleng > 0 ) \ - YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \ - (yytext[yyleng - 1] == '\n'); \ - YY_USER_ACTION - -/** The main scanner function which does all the work. - */ -YY_DECL -{ - register yy_state_type yy_current_state; - register char *yy_cp, *yy_bp; - register int yy_act; - -#line 131 "scan.l" - - static int bracelevel, didadef, indented_code; - static int doing_rule_action = false; - static int option_sense; - - int doing_codeblock = false; - int i, brace_depth=0, brace_start_line=0; - Char nmdef[MAXLINE]; - - -#line 2205 "scan.c" - - if ( !(yy_init) ) - { - (yy_init) = 1; - -#ifdef YY_USER_INIT - YY_USER_INIT; -#endif - - /* Create the reject buffer large enough to save one state per allowed character. */ - if ( ! (yy_state_buf) ) - (yy_state_buf) = (yy_state_type *)yyalloc(YY_STATE_BUF_SIZE ); - if ( ! (yy_state_buf) ) - YY_FATAL_ERROR( "out of dynamic memory in yylex()" ); - - if ( ! (yy_start) ) - (yy_start) = 1; /* first start state */ - - if ( ! yyin ) - yyin = stdin; - - if ( ! yyout ) - yyout = stdout; - - if ( ! YY_CURRENT_BUFFER ) { - yyensure_buffer_stack (); - YY_CURRENT_BUFFER_LVALUE = - yy_create_buffer(yyin,YY_BUF_SIZE ); - } - - yy_load_buffer_state( ); - } - - while ( 1 ) /* loops until end-of-file is reached */ - { - (yy_more_len) = 0; - if ( (yy_more_flag) ) - { - (yy_more_len) = (yy_c_buf_p) - (yytext_ptr); - (yy_more_flag) = 0; - } - yy_cp = (yy_c_buf_p); - - /* Support of yytext. */ - *yy_cp = (yy_hold_char); - - /* yy_bp points to the position in yy_ch_buf of the start of - * the current run. - */ - yy_bp = yy_cp; - - yy_current_state = (yy_start); - yy_current_state += YY_AT_BOL(); - - (yy_state_ptr) = (yy_state_buf); - *(yy_state_ptr)++ = yy_current_state; - -yy_match: - do - { - register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; - while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) - { - yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1107 ) - yy_c = yy_meta[(unsigned int) yy_c]; - } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - *(yy_state_ptr)++ = yy_current_state; - ++yy_cp; - } - while ( yy_base[yy_current_state] != 3975 ); - -yy_find_action: - yy_current_state = *--(yy_state_ptr); - (yy_lp) = yy_accept[yy_current_state]; -find_rule: /* we branch to this label when backing up */ - for ( ; ; ) /* until we find what rule we matched */ - { - if ( (yy_lp) && (yy_lp) < yy_accept[yy_current_state + 1] ) - { - yy_act = yy_acclist[(yy_lp)]; - { - (yy_full_match) = yy_cp; - break; - } - } - --yy_cp; - yy_current_state = *--(yy_state_ptr); - (yy_lp) = yy_accept[yy_current_state]; - } - - YY_DO_BEFORE_ACTION; - -do_action: /* This label is used only to access EOF actions. */ - - switch ( yy_act ) - { /* beginning of action switch */ - -case 1: -YY_RULE_SETUP -#line 142 "scan.l" -indented_code = true; BEGIN(CODEBLOCK); - YY_BREAK -case 2: -YY_RULE_SETUP -#line 143 "scan.l" -ACTION_ECHO; yy_push_state( COMMENT ); - YY_BREAK -case 3: -YY_RULE_SETUP -#line 144 "scan.l" -yy_push_state( LINEDIR ); - YY_BREAK -case 4: -YY_RULE_SETUP -#line 145 "scan.l" -return SCDECL; - YY_BREAK -case 5: -YY_RULE_SETUP -#line 146 "scan.l" -return XSCDECL; - YY_BREAK -case 6: -/* rule 6 can match eol */ -YY_RULE_SETUP -#line 147 "scan.l" -{ - ++linenum; - line_directive_out( (FILE *) 0, 1 ); - indented_code = false; - BEGIN(CODEBLOCK); - } - YY_BREAK -case 7: -/* rule 7 can match eol */ -YY_RULE_SETUP -#line 153 "scan.l" -{ - brace_start_line = linenum; - ++linenum; - buf_linedir( &top_buf, infilename?infilename:"", linenum); - brace_depth = 1; - yy_push_state(CODEBLOCK_MATCH_BRACE); - } - YY_BREAK -case 8: -YY_RULE_SETUP -#line 161 "scan.l" -synerr( _("malformed '%top' directive") ); - YY_BREAK -case 9: -YY_RULE_SETUP -#line 163 "scan.l" -/* discard */ - YY_BREAK -case 10: -YY_RULE_SETUP -#line 165 "scan.l" -{ - sectnum = 2; - bracelevel = 0; - mark_defs1(); - line_directive_out( (FILE *) 0, 1 ); - BEGIN(SECT2PROLOG); - return SECTEND; - } - YY_BREAK -case 11: -/* rule 11 can match eol */ -YY_RULE_SETUP -#line 174 "scan.l" -yytext_is_array = false; ++linenum; - YY_BREAK -case 12: -/* rule 12 can match eol */ -YY_RULE_SETUP -#line 175 "scan.l" -yytext_is_array = true; ++linenum; - YY_BREAK -case 13: -YY_RULE_SETUP -#line 177 "scan.l" -BEGIN(OPTION); return OPTION_OP; - YY_BREAK -case 14: -/* rule 14 can match eol */ -YY_RULE_SETUP -#line 179 "scan.l" -++linenum; /* ignore */ - YY_BREAK -case 15: -/* rule 15 can match eol */ -YY_RULE_SETUP -#line 180 "scan.l" -++linenum; /* ignore */ - YY_BREAK -/* xgettext: no-c-format */ -case 16: -/* rule 16 can match eol */ -YY_RULE_SETUP -#line 183 "scan.l" -synerr( _( "unrecognized '%' directive" ) ); - YY_BREAK -case 17: -YY_RULE_SETUP -#line 185 "scan.l" -{ - if(yyleng < MAXLINE) - { - strcpy( nmstr, yytext ); - } - else - { - synerr( _("Definition name too long\n")); - FLEX_EXIT(EXIT_FAILURE); - } - - didadef = false; - BEGIN(PICKUPDEF); - } - YY_BREAK -case 18: -YY_RULE_SETUP -#line 200 "scan.l" -RETURNNAME; - YY_BREAK -case 19: -/* rule 19 can match eol */ -YY_RULE_SETUP -#line 201 "scan.l" -++linenum; /* allows blank lines in section 1 */ - YY_BREAK -case 20: -/* rule 20 can match eol */ -YY_RULE_SETUP -#line 202 "scan.l" -ACTION_ECHO; ++linenum; /* maybe end of comment line */ - YY_BREAK - - -case 21: -YY_RULE_SETUP -#line 207 "scan.l" -ACTION_ECHO; yy_pop_state(); - YY_BREAK -case 22: -YY_RULE_SETUP -#line 208 "scan.l" -ACTION_ECHO; - YY_BREAK -case 23: -YY_RULE_SETUP -#line 209 "scan.l" -ACTION_ECHO_QSTART; - YY_BREAK -case 24: -YY_RULE_SETUP -#line 210 "scan.l" -ACTION_ECHO_QEND; - YY_BREAK -case 25: -YY_RULE_SETUP -#line 211 "scan.l" -ACTION_ECHO; - YY_BREAK -case 26: -/* rule 26 can match eol */ -YY_RULE_SETUP -#line 212 "scan.l" -++linenum; ACTION_ECHO; - YY_BREAK - - -/* This is the same as COMMENT, but is discarded rather than output. */ -case 27: -YY_RULE_SETUP -#line 217 "scan.l" -yy_pop_state(); - YY_BREAK -case 28: -YY_RULE_SETUP -#line 218 "scan.l" -; - YY_BREAK -case 29: -YY_RULE_SETUP -#line 219 "scan.l" -; - YY_BREAK -case 30: -/* rule 30 can match eol */ -YY_RULE_SETUP -#line 220 "scan.l" -++linenum; - YY_BREAK - - -case 31: -YY_RULE_SETUP -#line 224 "scan.l" -yy_pop_state(); - YY_BREAK -case 32: -YY_RULE_SETUP -#line 225 "scan.l" -; - YY_BREAK -case 33: -/* rule 33 can match eol */ -YY_RULE_SETUP -#line 226 "scan.l" -++linenum; - YY_BREAK - - -case 34: -/* rule 34 can match eol */ -YY_RULE_SETUP -#line 230 "scan.l" -yy_pop_state(); - YY_BREAK -case 35: -YY_RULE_SETUP -#line 231 "scan.l" -linenum = myctoi( yytext ); - YY_BREAK -case 36: -YY_RULE_SETUP -#line 233 "scan.l" -{ - flex_free( (void *) infilename ); - infilename = copy_string( yytext + 1 ); - infilename[strlen( infilename ) - 1] = '\0'; - } - YY_BREAK -case 37: -YY_RULE_SETUP -#line 238 "scan.l" -/* ignore spurious characters */ - YY_BREAK - - -case 38: -/* rule 38 can match eol */ -YY_RULE_SETUP -#line 242 "scan.l" -++linenum; BEGIN(INITIAL); - YY_BREAK -case 39: -YY_RULE_SETUP -#line 244 "scan.l" -ACTION_ECHO_QSTART; - YY_BREAK -case 40: -YY_RULE_SETUP -#line 245 "scan.l" -ACTION_ECHO_QEND; - YY_BREAK -case 41: -YY_RULE_SETUP -#line 246 "scan.l" -ACTION_ECHO; - YY_BREAK -case 42: -/* rule 42 can match eol */ -YY_RULE_SETUP -#line 248 "scan.l" -{ - ++linenum; - ACTION_ECHO; - if ( indented_code ) - BEGIN(INITIAL); - } - YY_BREAK - - -case 43: -YY_RULE_SETUP -#line 257 "scan.l" -{ - if( --brace_depth == 0){ - /* TODO: Matched. */ - yy_pop_state(); - }else - buf_strnappend(&top_buf, yytext, yyleng); - } - YY_BREAK -case 44: -YY_RULE_SETUP -#line 265 "scan.l" -{ - brace_depth++; - buf_strnappend(&top_buf, yytext, yyleng); - } - YY_BREAK -case 45: -/* rule 45 can match eol */ -YY_RULE_SETUP -#line 270 "scan.l" -{ - ++linenum; - buf_strnappend(&top_buf, yytext, yyleng); - } - YY_BREAK -case 46: -YY_RULE_SETUP -#line 275 "scan.l" -buf_strnappend(&top_buf, escaped_qstart, strlen(escaped_qstart)); - YY_BREAK -case 47: -YY_RULE_SETUP -#line 276 "scan.l" -buf_strnappend(&top_buf, escaped_qend, strlen(escaped_qend)); - YY_BREAK -case 48: -YY_RULE_SETUP -#line 278 "scan.l" -{ - buf_strnappend(&top_buf, yytext, yyleng); - } - YY_BREAK -case YY_STATE_EOF(CODEBLOCK_MATCH_BRACE): -#line 282 "scan.l" -{ - linenum = brace_start_line; - synerr(_("Unmatched '{'")); - yyterminate(); - } - YY_BREAK - - -case 49: -YY_RULE_SETUP -#line 291 "scan.l" -/* separates name and definition */ - YY_BREAK -case 50: -YY_RULE_SETUP -#line 293 "scan.l" -{ - if(yyleng < MAXLINE) - { - strcpy( (char *) nmdef, yytext ); - } - else - { - format_synerr( _("Definition value for {%s} too long\n"), nmstr); - FLEX_EXIT(EXIT_FAILURE); - } - /* Skip trailing whitespace. */ - for ( i = strlen( (char *) nmdef ) - 1; - i >= 0 && (nmdef[i] == ' ' || nmdef[i] == '\t'); - --i ) - ; - - nmdef[i + 1] = '\0'; - - ndinstal( nmstr, nmdef ); - didadef = true; - } - YY_BREAK -case 51: -/* rule 51 can match eol */ -YY_RULE_SETUP -#line 315 "scan.l" -{ - if ( ! didadef ) - synerr( _( "incomplete name definition" ) ); - BEGIN(INITIAL); - ++linenum; - } - YY_BREAK - - -case 52: -/* rule 52 can match eol */ -YY_RULE_SETUP -#line 325 "scan.l" -++linenum; BEGIN(INITIAL); - YY_BREAK -case 53: -YY_RULE_SETUP -#line 326 "scan.l" -option_sense = true; - YY_BREAK -case 54: -YY_RULE_SETUP -#line 328 "scan.l" -return '='; - YY_BREAK -case 55: -YY_RULE_SETUP -#line 330 "scan.l" -option_sense = ! option_sense; - YY_BREAK -case 56: -YY_RULE_SETUP -#line 332 "scan.l" -csize = option_sense ? 128 : 256; - YY_BREAK -case 57: -YY_RULE_SETUP -#line 333 "scan.l" -csize = option_sense ? 256 : 128; - YY_BREAK -case 58: -YY_RULE_SETUP -#line 335 "scan.l" -long_align = option_sense; - YY_BREAK -case 59: -YY_RULE_SETUP -#line 336 "scan.l" -{ - ACTION_M4_IFDEF( "M4""_YY_ALWAYS_INTERACTIVE", option_sense ); - interactive = option_sense; - } - YY_BREAK -case 60: -YY_RULE_SETUP -#line 340 "scan.l" -yytext_is_array = option_sense; - YY_BREAK -case 61: -YY_RULE_SETUP -#line 341 "scan.l" -ansi_func_defs = option_sense; - YY_BREAK -case 62: -YY_RULE_SETUP -#line 342 "scan.l" -ansi_func_protos = option_sense; - YY_BREAK -case 63: -YY_RULE_SETUP -#line 343 "scan.l" -backing_up_report = option_sense; - YY_BREAK -case 64: -YY_RULE_SETUP -#line 344 "scan.l" -interactive = ! option_sense; - YY_BREAK -case 65: -YY_RULE_SETUP -#line 345 "scan.l" -bison_bridge_lval = option_sense; - YY_BREAK -case 66: -YY_RULE_SETUP -#line 346 "scan.l" -{ if((bison_bridge_lloc = option_sense)) - bison_bridge_lval = true; - } - YY_BREAK -case 67: -YY_RULE_SETUP -#line 349 "scan.l" -C_plus_plus = option_sense; - YY_BREAK -case 68: -YY_RULE_SETUP -#line 350 "scan.l" -sf_set_case_ins(!option_sense); - YY_BREAK -case 69: -YY_RULE_SETUP -#line 351 "scan.l" -sf_set_case_ins(option_sense); - YY_BREAK -case 70: -YY_RULE_SETUP -#line 352 "scan.l" -ddebug = option_sense; - YY_BREAK -case 71: -YY_RULE_SETUP -#line 353 "scan.l" -spprdflt = ! option_sense; - YY_BREAK -case 72: -YY_RULE_SETUP -#line 354 "scan.l" -useecs = option_sense; - YY_BREAK -case 73: -YY_RULE_SETUP -#line 355 "scan.l" -{ - useecs = usemecs = false; - use_read = fullspd = true; - } - YY_BREAK -case 74: -YY_RULE_SETUP -#line 359 "scan.l" -{ - useecs = usemecs = false; - use_read = fulltbl = true; - } - YY_BREAK -case 75: -YY_RULE_SETUP -#line 363 "scan.l" -ACTION_IFDEF("YY_NO_INPUT", ! option_sense); - YY_BREAK -case 76: -YY_RULE_SETUP -#line 364 "scan.l" -interactive = option_sense; - YY_BREAK -case 77: -YY_RULE_SETUP -#line 365 "scan.l" -lex_compat = option_sense; - YY_BREAK -case 78: -YY_RULE_SETUP -#line 366 "scan.l" -posix_compat = option_sense; - YY_BREAK -case 79: -YY_RULE_SETUP -#line 367 "scan.l" -{ - ACTION_M4_IFDEF( "M4""_YY_MAIN", option_sense); - /* Override yywrap */ - if( option_sense == true ) - do_yywrap = false; - } - YY_BREAK -case 80: -YY_RULE_SETUP -#line 373 "scan.l" -usemecs = option_sense; - YY_BREAK -case 81: -YY_RULE_SETUP -#line 374 "scan.l" -{ - ACTION_M4_IFDEF( "M4""_YY_NEVER_INTERACTIVE", option_sense ); - interactive = !option_sense; - } - YY_BREAK -case 82: -YY_RULE_SETUP -#line 378 "scan.l" -performance_report += option_sense ? 1 : -1; - YY_BREAK -case 83: -YY_RULE_SETUP -#line 379 "scan.l" -yytext_is_array = ! option_sense; - YY_BREAK -case 84: -YY_RULE_SETUP -#line 380 "scan.l" -use_read = option_sense; - YY_BREAK -case 85: -YY_RULE_SETUP -#line 381 "scan.l" -reentrant = option_sense; - YY_BREAK -case 86: -YY_RULE_SETUP -#line 382 "scan.l" -reject_really_used = option_sense; - YY_BREAK -case 87: -YY_RULE_SETUP -#line 383 "scan.l" -ACTION_M4_IFDEF( "M4""_YY_STACK_USED", option_sense ); - YY_BREAK -case 88: -YY_RULE_SETUP -#line 384 "scan.l" -do_stdinit = option_sense; - YY_BREAK -case 89: -YY_RULE_SETUP -#line 385 "scan.l" -use_stdout = option_sense; - YY_BREAK -case 90: -YY_RULE_SETUP -#line 386 "scan.l" -ACTION_IFDEF("YY_NO_UNISTD_H", ! option_sense); - YY_BREAK -case 91: -YY_RULE_SETUP -#line 387 "scan.l" -ACTION_M4_IFDEF("M4""_YY_NO_UNPUT", ! option_sense); - YY_BREAK -case 92: -YY_RULE_SETUP -#line 388 "scan.l" -printstats = option_sense; - YY_BREAK -case 93: -YY_RULE_SETUP -#line 389 "scan.l" -nowarn = ! option_sense; - YY_BREAK -case 94: -YY_RULE_SETUP -#line 390 "scan.l" -do_yylineno = option_sense; ACTION_M4_IFDEF("M4""_YY_USE_LINENO", option_sense); - YY_BREAK -case 95: -YY_RULE_SETUP -#line 391 "scan.l" -yymore_really_used = option_sense; - YY_BREAK -case 96: -YY_RULE_SETUP -#line 392 "scan.l" -do_yywrap = option_sense; - YY_BREAK -case 97: -YY_RULE_SETUP -#line 394 "scan.l" -ACTION_M4_IFDEF("M4""_YY_NO_PUSH_STATE", ! option_sense); - YY_BREAK -case 98: -YY_RULE_SETUP -#line 395 "scan.l" -ACTION_M4_IFDEF("M4""_YY_NO_POP_STATE", ! option_sense); - YY_BREAK -case 99: -YY_RULE_SETUP -#line 396 "scan.l" -ACTION_M4_IFDEF("M4""_YY_NO_TOP_STATE", ! option_sense); - YY_BREAK -case 100: -YY_RULE_SETUP -#line 398 "scan.l" -ACTION_M4_IFDEF("M4""_YY_NO_SCAN_BUFFER", ! option_sense); - YY_BREAK -case 101: -YY_RULE_SETUP -#line 399 "scan.l" -ACTION_M4_IFDEF("M4""_YY_NO_SCAN_BYTES", ! option_sense); - YY_BREAK -case 102: -YY_RULE_SETUP -#line 400 "scan.l" -ACTION_M4_IFDEF("M4""_YY_NO_SCAN_STRING", ! option_sense); - YY_BREAK -case 103: -YY_RULE_SETUP -#line 402 "scan.l" -ACTION_M4_IFDEF("M4""_YY_NO_FLEX_ALLOC", ! option_sense); - YY_BREAK -case 104: -YY_RULE_SETUP -#line 403 "scan.l" -ACTION_M4_IFDEF("M4""_YY_NO_FLEX_REALLOC", ! option_sense); - YY_BREAK -case 105: -YY_RULE_SETUP -#line 404 "scan.l" -ACTION_M4_IFDEF("M4""_YY_NO_FLEX_FREE", ! option_sense); - YY_BREAK -case 106: -YY_RULE_SETUP -#line 406 "scan.l" -ACTION_M4_IFDEF("M4""_YY_NO_GET_DEBUG", ! option_sense); - YY_BREAK -case 107: -YY_RULE_SETUP -#line 407 "scan.l" -ACTION_M4_IFDEF("M4""_YY_NO_SET_DEBUG", ! option_sense); - YY_BREAK -case 108: -YY_RULE_SETUP -#line 408 "scan.l" -ACTION_M4_IFDEF("M4""_YY_NO_GET_EXTRA", ! option_sense); - YY_BREAK -case 109: -YY_RULE_SETUP -#line 409 "scan.l" -ACTION_M4_IFDEF("M4""_YY_NO_SET_EXTRA", ! option_sense); - YY_BREAK -case 110: -YY_RULE_SETUP -#line 410 "scan.l" -ACTION_M4_IFDEF("M4""_YY_NO_GET_LENG", ! option_sense); - YY_BREAK -case 111: -YY_RULE_SETUP -#line 411 "scan.l" -ACTION_M4_IFDEF("M4""_YY_NO_GET_TEXT", ! option_sense); - YY_BREAK -case 112: -YY_RULE_SETUP -#line 412 "scan.l" -ACTION_M4_IFDEF("M4""_YY_NO_GET_LINENO", ! option_sense); - YY_BREAK -case 113: -YY_RULE_SETUP -#line 413 "scan.l" -ACTION_M4_IFDEF("M4""_YY_NO_SET_LINENO", ! option_sense); - YY_BREAK -case 114: -YY_RULE_SETUP -#line 414 "scan.l" -ACTION_M4_IFDEF("M4""_YY_NO_GET_IN", ! option_sense); - YY_BREAK -case 115: -YY_RULE_SETUP -#line 415 "scan.l" -ACTION_M4_IFDEF("M4""_YY_NO_SET_IN", ! option_sense); - YY_BREAK -case 116: -YY_RULE_SETUP -#line 416 "scan.l" -ACTION_M4_IFDEF("M4""_YY_NO_GET_OUT", ! option_sense); - YY_BREAK -case 117: -YY_RULE_SETUP -#line 417 "scan.l" -ACTION_M4_IFDEF("M4""_YY_NO_SET_OUT", ! option_sense); - YY_BREAK -case 118: -YY_RULE_SETUP -#line 418 "scan.l" -ACTION_M4_IFDEF("M4""_YY_NO_GET_LVAL", ! option_sense); - YY_BREAK -case 119: -YY_RULE_SETUP -#line 419 "scan.l" -ACTION_M4_IFDEF("M4""_YY_NO_SET_LVAL", ! option_sense); - YY_BREAK -case 120: -YY_RULE_SETUP -#line 420 "scan.l" -ACTION_M4_IFDEF("M4""_YY_NO_GET_LLOC", ! option_sense); - YY_BREAK -case 121: -YY_RULE_SETUP -#line 421 "scan.l" -ACTION_M4_IFDEF("M4""_YY_NO_SET_LLOC", ! option_sense); - YY_BREAK -case 122: -YY_RULE_SETUP -#line 423 "scan.l" -return OPT_EXTRA_TYPE; - YY_BREAK -case 123: -YY_RULE_SETUP -#line 424 "scan.l" -return OPT_OUTFILE; - YY_BREAK -case 124: -YY_RULE_SETUP -#line 425 "scan.l" -return OPT_PREFIX; - YY_BREAK -case 125: -YY_RULE_SETUP -#line 426 "scan.l" -return OPT_YYCLASS; - YY_BREAK -case 126: -YY_RULE_SETUP -#line 427 "scan.l" -return OPT_HEADER; - YY_BREAK -case 127: -YY_RULE_SETUP -#line 428 "scan.l" -return OPT_TABLES; - YY_BREAK -case 128: -YY_RULE_SETUP -#line 429 "scan.l" -{ - tablesverify = option_sense; - if(!tablesext && option_sense) - tablesext = true; - } - YY_BREAK -case 129: -YY_RULE_SETUP -#line 436 "scan.l" -{ - if(yyleng-1 < MAXLINE) - { - strcpy( nmstr, yytext + 1 ); - } - else - { - synerr( _("Option line too long\n")); - FLEX_EXIT(EXIT_FAILURE); - } - nmstr[strlen( nmstr ) - 1] = '\0'; - return NAME; - } - YY_BREAK -case 130: -YY_RULE_SETUP -#line 450 "scan.l" -{ - format_synerr( _( "unrecognized %%option: %s" ), - yytext ); - BEGIN(RECOVER); - } - YY_BREAK - -case 131: -/* rule 131 can match eol */ -YY_RULE_SETUP -#line 457 "scan.l" -++linenum; BEGIN(INITIAL); - YY_BREAK - -case 132: -YY_RULE_SETUP -#line 461 "scan.l" -++bracelevel; yyless( 2 ); /* eat only %{ */ - YY_BREAK -case 133: -YY_RULE_SETUP -#line 462 "scan.l" ---bracelevel; yyless( 2 ); /* eat only %} */ - YY_BREAK -case 134: -YY_RULE_SETUP -#line 464 "scan.l" -ACTION_ECHO; /* indented code in prolog */ - YY_BREAK -case 135: -YY_RULE_SETUP -#line 466 "scan.l" -{ /* non-indented code */ - if ( bracelevel <= 0 ) - { /* not in %{ ... %} */ - yyless( 0 ); /* put it all back */ - yy_set_bol( 1 ); - mark_prolog(); - BEGIN(SECT2); - } - else - ACTION_ECHO; - } - YY_BREAK -case 136: -YY_RULE_SETUP -#line 478 "scan.l" -ACTION_ECHO; - YY_BREAK -case 137: -/* rule 137 can match eol */ -YY_RULE_SETUP -#line 479 "scan.l" -++linenum; ACTION_ECHO; - YY_BREAK -case YY_STATE_EOF(SECT2PROLOG): -#line 481 "scan.l" -{ - mark_prolog(); - sectnum = 0; - yyterminate(); /* to stop the parser */ - } - YY_BREAK - - -case 138: -/* rule 138 can match eol */ -YY_RULE_SETUP -#line 489 "scan.l" -++linenum; /* allow blank lines in section 2 */ - YY_BREAK -case 139: -YY_RULE_SETUP -#line 491 "scan.l" -{ - indented_code = false; - doing_codeblock = true; - bracelevel = 1; - BEGIN(PERCENT_BRACE_ACTION); - } - YY_BREAK -case 140: -YY_RULE_SETUP -#line 498 "scan.l" -{ - /* Allow "<" to appear in (?x) patterns. */ - if (!sf_skip_ws()) - BEGIN(SC); - return '<'; - } - YY_BREAK -case 141: -YY_RULE_SETUP -#line 504 "scan.l" -return '^'; - YY_BREAK -case 142: -YY_RULE_SETUP -#line 505 "scan.l" -BEGIN(QUOTE); return '"'; - YY_BREAK -case 143: -*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ -(yy_c_buf_p) = yy_cp = yy_bp + 1; -YY_DO_BEFORE_ACTION; /* set up yytext again */ -YY_RULE_SETUP -#line 506 "scan.l" -{ - BEGIN(NUM); - if ( lex_compat || posix_compat ) - return BEGIN_REPEAT_POSIX; - else - return BEGIN_REPEAT_FLEX; - } - YY_BREAK -case 144: -/* rule 144 can match eol */ -*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ -(yy_c_buf_p) = yy_cp = yy_bp + 1; -YY_DO_BEFORE_ACTION; /* set up yytext again */ -YY_RULE_SETUP -#line 513 "scan.l" -return '$'; - YY_BREAK -case 145: -YY_RULE_SETUP -#line 515 "scan.l" -{ - bracelevel = 1; - BEGIN(PERCENT_BRACE_ACTION); - - if ( in_rule ) - { - doing_rule_action = true; - in_rule = false; - return '\n'; - } - } - YY_BREAK -case 146: -/* rule 146 can match eol */ -YY_RULE_SETUP -#line 526 "scan.l" -{ - if (sf_skip_ws()){ - /* We're in the middle of a (?x: ) pattern. */ - /* Push back everything starting at the "|" */ - size_t amt; - amt = strchr (yytext, '|') - yytext; - yyless(amt); - } - else { - continued_action = true; - ++linenum; - return '\n'; - } - } - YY_BREAK -case 147: -YY_RULE_SETUP -#line 541 "scan.l" -{ - - if (sf_skip_ws()){ - /* We're in the middle of a (?x: ) pattern. */ - yy_push_state(COMMENT_DISCARD); - } - else{ - yyless( yyleng - 2 ); /* put back '/', '*' */ - bracelevel = 0; - continued_action = false; - BEGIN(ACTION); - } - } - YY_BREAK -case 148: -YY_RULE_SETUP -#line 555 "scan.l" -/* allow indented rules */ ; - YY_BREAK -case 149: -YY_RULE_SETUP -#line 557 "scan.l" -{ - if (sf_skip_ws()){ - /* We're in the middle of a (?x: ) pattern. */ - } - else{ - /* This rule is separate from the one below because - * otherwise we get variable trailing context, so - * we can't build the scanner using -{f,F}. - */ - bracelevel = 0; - continued_action = false; - BEGIN(ACTION); - - if ( in_rule ) - { - doing_rule_action = true; - in_rule = false; - return '\n'; - } - } - } - YY_BREAK -case 150: -/* rule 150 can match eol */ -YY_RULE_SETUP -#line 579 "scan.l" -{ - if (sf_skip_ws()){ - /* We're in the middle of a (?x: ) pattern. */ - ++linenum; - } - else{ - bracelevel = 0; - continued_action = false; - BEGIN(ACTION); - unput( '\n' ); /* so sees it */ - - if ( in_rule ) - { - doing_rule_action = true; - in_rule = false; - return '\n'; - } - } - } - YY_BREAK -case 151: -#line 600 "scan.l" -case 152: -YY_RULE_SETUP -#line 600 "scan.l" -return EOF_OP; - YY_BREAK -case 153: -YY_RULE_SETUP -#line 602 "scan.l" -{ - sectnum = 3; - BEGIN(SECT3); - outn("/* Begin user sect3 */"); - yyterminate(); /* to stop the parser */ - } - YY_BREAK -case 154: -YY_RULE_SETUP -#line 609 "scan.l" -{ - int cclval; - - if(yyleng < MAXLINE) - { - strcpy( nmstr, yytext ); - } - else - { - synerr( _("Input line too long\n")); - FLEX_EXIT(EXIT_FAILURE); - } - - /* Check to see if we've already encountered this - * ccl. - */ - if (0 /* <--- This "0" effectively disables the reuse of a - * character class (purely based on its source text). - * The reason it was disabled is so yacc/bison can parse - * ccl operations, such as ccl difference and union. - */ - && (cclval = ccllookup( (Char *) nmstr )) != 0 ) - { - if ( input() != ']' ) - synerr( _( "bad character class" ) ); - - yylval = cclval; - ++cclreuse; - return PREVCCL; - } - else - { - /* We fudge a bit. We know that this ccl will - * soon be numbered as lastccl + 1 by cclinit. - */ - cclinstal( (Char *) nmstr, lastccl + 1 ); - - /* Push back everything but the leading bracket - * so the ccl can be rescanned. - */ - yyless( 1 ); - - BEGIN(FIRSTCCL); - return '['; - } - } - YY_BREAK -case 155: -YY_RULE_SETUP -#line 655 "scan.l" -return CCL_OP_DIFF; - YY_BREAK -case 156: -YY_RULE_SETUP -#line 656 "scan.l" -return CCL_OP_UNION; - YY_BREAK -/* Check for :space: at the end of the rule so we don't - * wrap the expanded regex in '(' ')' -- breaking trailing - * context. - */ -case 157: -/* rule 157 can match eol */ -YY_RULE_SETUP -#line 663 "scan.l" -{ - register Char *nmdefptr; - int end_is_ws, end_ch; - - end_ch = yytext[yyleng-1]; - end_is_ws = end_ch != '}' ? 1 : 0; - - if(yyleng-1 < MAXLINE) - { - strcpy( nmstr, yytext + 1 ); - } - else - { - synerr( _("Input line too long\n")); - FLEX_EXIT(EXIT_FAILURE); - } -nmstr[yyleng - 2 - end_is_ws] = '\0'; /* chop trailing brace */ - - if ( (nmdefptr = ndlookup( nmstr )) == 0 ) - format_synerr( - _( "undefined definition {%s}" ), - nmstr ); - - else - { /* push back name surrounded by ()'s */ - int len = strlen( (char *) nmdefptr ); - if (end_is_ws) - unput(end_ch); - - if ( lex_compat || nmdefptr[0] == '^' || - (len > 0 && nmdefptr[len - 1] == '$') - || (end_is_ws && trlcontxt && !sf_skip_ws())) - { /* don't use ()'s after all */ - PUT_BACK_STRING((char *) nmdefptr, 0); - - if ( nmdefptr[0] == '^' ) - BEGIN(CARETISBOL); - } - - else - { - unput(')'); - PUT_BACK_STRING((char *) nmdefptr, 0); - unput('('); - } - } - } - YY_BREAK -case 158: -YY_RULE_SETUP -#line 711 "scan.l" -{ - if (sf_skip_ws()) - yy_push_state(COMMENT_DISCARD); - else{ - /* Push back the "*" and return "/" as usual. */ - yyless(1); - return '/'; - } - } - YY_BREAK -case 159: -YY_RULE_SETUP -#line 721 "scan.l" -{ - if (lex_compat || posix_compat){ - /* Push back the "?#" and treat it like a normal parens. */ - yyless(1); - sf_push(); - return '('; - } - else - yy_push_state(EXTENDED_COMMENT); - } - YY_BREAK -case 160: -YY_RULE_SETUP -#line 731 "scan.l" -{ - sf_push(); - if (lex_compat || posix_compat) - /* Push back the "?" and treat it like a normal parens. */ - yyless(1); - else - BEGIN(GROUP_WITH_PARAMS); - return '('; - } - YY_BREAK -case 161: -YY_RULE_SETUP -#line 740 "scan.l" -sf_push(); return '('; - YY_BREAK -case 162: -YY_RULE_SETUP -#line 741 "scan.l" -sf_pop(); return ')'; - YY_BREAK -case 163: -YY_RULE_SETUP -#line 743 "scan.l" -return (unsigned char) yytext[0]; - YY_BREAK -case 164: -YY_RULE_SETUP -#line 744 "scan.l" -RETURNCHAR; - YY_BREAK - - -case 165: -/* rule 165 can match eol */ -YY_RULE_SETUP -#line 749 "scan.l" -++linenum; /* Allow blank lines & continuations */ - YY_BREAK -case 166: -YY_RULE_SETUP -#line 750 "scan.l" -return (unsigned char) yytext[0]; - YY_BREAK -case 167: -YY_RULE_SETUP -#line 751 "scan.l" -BEGIN(SECT2); return '>'; - YY_BREAK -case 168: -*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ -(yy_c_buf_p) = yy_cp = yy_bp + 1; -YY_DO_BEFORE_ACTION; /* set up yytext again */ -YY_RULE_SETUP -#line 752 "scan.l" -BEGIN(CARETISBOL); return '>'; - YY_BREAK -case 169: -YY_RULE_SETUP -#line 753 "scan.l" -RETURNNAME; - YY_BREAK -case 170: -YY_RULE_SETUP -#line 754 "scan.l" -{ - format_synerr( _( "bad : %s" ), - yytext ); - } - YY_BREAK - -case 171: -YY_RULE_SETUP -#line 760 "scan.l" -BEGIN(SECT2); return '^'; - YY_BREAK - -case 172: -YY_RULE_SETUP -#line 764 "scan.l" -RETURNCHAR; - YY_BREAK -case 173: -YY_RULE_SETUP -#line 765 "scan.l" -BEGIN(SECT2); return '"'; - YY_BREAK -case 174: -/* rule 174 can match eol */ -YY_RULE_SETUP -#line 767 "scan.l" -{ - synerr( _( "missing quote" ) ); - BEGIN(SECT2); - ++linenum; - return '"'; - } - YY_BREAK - - -case 175: -YY_RULE_SETUP -#line 776 "scan.l" -BEGIN(SECT2); - YY_BREAK -case 176: -YY_RULE_SETUP -#line 777 "scan.l" -BEGIN(GROUP_MINUS_PARAMS); - YY_BREAK -case 177: -YY_RULE_SETUP -#line 778 "scan.l" -sf_set_case_ins(1); - YY_BREAK -case 178: -YY_RULE_SETUP -#line 779 "scan.l" -sf_set_dot_all(1); - YY_BREAK -case 179: -YY_RULE_SETUP -#line 780 "scan.l" -sf_set_skip_ws(1); - YY_BREAK - - -case 180: -YY_RULE_SETUP -#line 783 "scan.l" -BEGIN(SECT2); - YY_BREAK -case 181: -YY_RULE_SETUP -#line 784 "scan.l" -sf_set_case_ins(0); - YY_BREAK -case 182: -YY_RULE_SETUP -#line 785 "scan.l" -sf_set_dot_all(0); - YY_BREAK -case 183: -YY_RULE_SETUP -#line 786 "scan.l" -sf_set_skip_ws(0); - YY_BREAK - - -case 184: -*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ -(yy_c_buf_p) = yy_cp = yy_bp + 1; -YY_DO_BEFORE_ACTION; /* set up yytext again */ -YY_RULE_SETUP -#line 790 "scan.l" -BEGIN(CCL); return '^'; - YY_BREAK -case 185: -*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ -(yy_c_buf_p) = yy_cp = yy_bp + 1; -YY_DO_BEFORE_ACTION; /* set up yytext again */ -YY_RULE_SETUP -#line 791 "scan.l" -return '^'; - YY_BREAK -case 186: -YY_RULE_SETUP -#line 792 "scan.l" -BEGIN(CCL); RETURNCHAR; - YY_BREAK - - -case 187: -*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ -(yy_c_buf_p) = yy_cp = yy_bp + 1; -YY_DO_BEFORE_ACTION; /* set up yytext again */ -YY_RULE_SETUP -#line 796 "scan.l" -return '-'; - YY_BREAK -case 188: -YY_RULE_SETUP -#line 797 "scan.l" -RETURNCHAR; - YY_BREAK -case 189: -YY_RULE_SETUP -#line 798 "scan.l" -BEGIN(SECT2); return ']'; - YY_BREAK -case 190: -/* rule 190 can match eol */ -YY_RULE_SETUP -#line 799 "scan.l" -{ - synerr( _( "bad character class" ) ); - BEGIN(SECT2); - return ']'; - } - YY_BREAK - - -case 191: -YY_RULE_SETUP -#line 807 "scan.l" -BEGIN(CCL); return CCE_ALNUM; - YY_BREAK -case 192: -YY_RULE_SETUP -#line 808 "scan.l" -BEGIN(CCL); return CCE_ALPHA; - YY_BREAK -case 193: -YY_RULE_SETUP -#line 809 "scan.l" -BEGIN(CCL); return CCE_BLANK; - YY_BREAK -case 194: -YY_RULE_SETUP -#line 810 "scan.l" -BEGIN(CCL); return CCE_CNTRL; - YY_BREAK -case 195: -YY_RULE_SETUP -#line 811 "scan.l" -BEGIN(CCL); return CCE_DIGIT; - YY_BREAK -case 196: -YY_RULE_SETUP -#line 812 "scan.l" -BEGIN(CCL); return CCE_GRAPH; - YY_BREAK -case 197: -YY_RULE_SETUP -#line 813 "scan.l" -BEGIN(CCL); return CCE_LOWER; - YY_BREAK -case 198: -YY_RULE_SETUP -#line 814 "scan.l" -BEGIN(CCL); return CCE_PRINT; - YY_BREAK -case 199: -YY_RULE_SETUP -#line 815 "scan.l" -BEGIN(CCL); return CCE_PUNCT; - YY_BREAK -case 200: -YY_RULE_SETUP -#line 816 "scan.l" -BEGIN(CCL); return CCE_SPACE; - YY_BREAK -case 201: -YY_RULE_SETUP -#line 817 "scan.l" -BEGIN(CCL); return CCE_UPPER; - YY_BREAK -case 202: -YY_RULE_SETUP -#line 818 "scan.l" -BEGIN(CCL); return CCE_XDIGIT; - YY_BREAK -case 203: -YY_RULE_SETUP -#line 820 "scan.l" -BEGIN(CCL); return CCE_NEG_ALNUM; - YY_BREAK -case 204: -YY_RULE_SETUP -#line 821 "scan.l" -BEGIN(CCL); return CCE_NEG_ALPHA; - YY_BREAK -case 205: -YY_RULE_SETUP -#line 822 "scan.l" -BEGIN(CCL); return CCE_NEG_BLANK; - YY_BREAK -case 206: -YY_RULE_SETUP -#line 823 "scan.l" -BEGIN(CCL); return CCE_NEG_CNTRL; - YY_BREAK -case 207: -YY_RULE_SETUP -#line 824 "scan.l" -BEGIN(CCL); return CCE_NEG_DIGIT; - YY_BREAK -case 208: -YY_RULE_SETUP -#line 825 "scan.l" -BEGIN(CCL); return CCE_NEG_GRAPH; - YY_BREAK -case 209: -YY_RULE_SETUP -#line 826 "scan.l" -BEGIN(CCL); return CCE_NEG_LOWER; - YY_BREAK -case 210: -YY_RULE_SETUP -#line 827 "scan.l" -BEGIN(CCL); return CCE_NEG_PRINT; - YY_BREAK -case 211: -YY_RULE_SETUP -#line 828 "scan.l" -BEGIN(CCL); return CCE_NEG_PUNCT; - YY_BREAK -case 212: -YY_RULE_SETUP -#line 829 "scan.l" -BEGIN(CCL); return CCE_NEG_SPACE; - YY_BREAK -case 213: -YY_RULE_SETUP -#line 830 "scan.l" -BEGIN(CCL); return CCE_NEG_UPPER; - YY_BREAK -case 214: -YY_RULE_SETUP -#line 831 "scan.l" -BEGIN(CCL); return CCE_NEG_XDIGIT; - YY_BREAK -case 215: -YY_RULE_SETUP -#line 832 "scan.l" -{ - format_synerr( - _( "bad character class expression: %s" ), - yytext ); - BEGIN(CCL); return CCE_ALNUM; - } - YY_BREAK - - -case 216: -YY_RULE_SETUP -#line 841 "scan.l" -{ - yylval = myctoi( yytext ); - return NUMBER; - } - YY_BREAK -case 217: -YY_RULE_SETUP -#line 846 "scan.l" -return ','; - YY_BREAK -case 218: -YY_RULE_SETUP -#line 847 "scan.l" -{ - BEGIN(SECT2); - if ( lex_compat || posix_compat ) - return END_REPEAT_POSIX; - else - return END_REPEAT_FLEX; - } - YY_BREAK -case 219: -YY_RULE_SETUP -#line 855 "scan.l" -{ - synerr( _( "bad character inside {}'s" ) ); - BEGIN(SECT2); - return '}'; - } - YY_BREAK -case 220: -/* rule 220 can match eol */ -YY_RULE_SETUP -#line 861 "scan.l" -{ - synerr( _( "missing }" ) ); - BEGIN(SECT2); - ++linenum; - return '}'; - } - YY_BREAK - - -case 221: -YY_RULE_SETUP -#line 871 "scan.l" -bracelevel = 0; - YY_BREAK -case 222: -YY_RULE_SETUP -#line 873 "scan.l" -ACTION_ECHO; yy_push_state( COMMENT ); - YY_BREAK - -case 223: -YY_RULE_SETUP -#line 876 "scan.l" -{ - ACTION_ECHO; - CHECK_REJECT(yytext); - } - YY_BREAK -case 224: -YY_RULE_SETUP -#line 880 "scan.l" -{ - ACTION_ECHO; - CHECK_YYMORE(yytext); - } - YY_BREAK - -case 225: -YY_RULE_SETUP -#line 886 "scan.l" -ACTION_ECHO_QSTART; - YY_BREAK -case 226: -YY_RULE_SETUP -#line 887 "scan.l" -ACTION_ECHO_QEND; - YY_BREAK -case 227: -YY_RULE_SETUP -#line 888 "scan.l" -ACTION_ECHO; - YY_BREAK -case 228: -/* rule 228 can match eol */ -YY_RULE_SETUP -#line 889 "scan.l" -{ - ++linenum; - ACTION_ECHO; - if ( bracelevel == 0 || - (doing_codeblock && indented_code) ) - { - if ( doing_rule_action ) - add_action( "\tYY_BREAK\n" ); - - doing_rule_action = doing_codeblock = false; - BEGIN(SECT2); - } - } - YY_BREAK - -/* Reject and YYmore() are checked for above, in PERCENT_BRACE_ACTION */ - -case 229: -YY_RULE_SETUP -#line 907 "scan.l" -ACTION_ECHO; ++bracelevel; - YY_BREAK -case 230: -YY_RULE_SETUP -#line 908 "scan.l" -ACTION_ECHO; --bracelevel; - YY_BREAK -case 231: -YY_RULE_SETUP -#line 909 "scan.l" -ACTION_ECHO_QSTART; - YY_BREAK -case 232: -YY_RULE_SETUP -#line 910 "scan.l" -ACTION_ECHO_QEND; - YY_BREAK -case 233: -YY_RULE_SETUP -#line 911 "scan.l" -ACTION_ECHO; - YY_BREAK -case 234: -YY_RULE_SETUP -#line 912 "scan.l" -ACTION_ECHO; - YY_BREAK -case 235: -YY_RULE_SETUP -#line 913 "scan.l" -ACTION_ECHO; - YY_BREAK -case 236: -YY_RULE_SETUP -#line 914 "scan.l" -ACTION_ECHO; /* character constant */ - YY_BREAK -case 237: -YY_RULE_SETUP -#line 915 "scan.l" -ACTION_ECHO; BEGIN(ACTION_STRING); - YY_BREAK -case 238: -/* rule 238 can match eol */ -YY_RULE_SETUP -#line 916 "scan.l" -{ - ++linenum; - ACTION_ECHO; - if ( bracelevel == 0 ) - { - if ( doing_rule_action ) - add_action( "\tYY_BREAK\n" ); - - doing_rule_action = false; - BEGIN(SECT2); - } - } - YY_BREAK -case 239: -YY_RULE_SETUP -#line 928 "scan.l" -ACTION_ECHO; - YY_BREAK - - -case 240: -YY_RULE_SETUP -#line 932 "scan.l" -ACTION_ECHO; - YY_BREAK -case 241: -YY_RULE_SETUP -#line 933 "scan.l" -ACTION_ECHO; - YY_BREAK -case 242: -/* rule 242 can match eol */ -YY_RULE_SETUP -#line 934 "scan.l" -++linenum; ACTION_ECHO; BEGIN(ACTION); - YY_BREAK -case 243: -YY_RULE_SETUP -#line 935 "scan.l" -ACTION_ECHO; BEGIN(ACTION); - YY_BREAK -case 244: -YY_RULE_SETUP -#line 936 "scan.l" -ACTION_ECHO; - YY_BREAK - -case YY_STATE_EOF(COMMENT): -case YY_STATE_EOF(COMMENT_DISCARD): -case YY_STATE_EOF(ACTION): -case YY_STATE_EOF(ACTION_STRING): -#line 939 "scan.l" -{ - synerr( _( "EOF encountered inside an action" ) ); - yyterminate(); - } - YY_BREAK -case YY_STATE_EOF(EXTENDED_COMMENT): -case YY_STATE_EOF(GROUP_WITH_PARAMS): -case YY_STATE_EOF(GROUP_MINUS_PARAMS): -#line 944 "scan.l" -{ - synerr( _( "EOF encountered inside pattern" ) ); - yyterminate(); - } - YY_BREAK -case 245: -YY_RULE_SETUP -#line 949 "scan.l" -{ - yylval = myesc( (Char *) yytext ); - - if ( YY_START == FIRSTCCL ) - BEGIN(CCL); - - return CHAR; - } - YY_BREAK - -case 246: -YY_RULE_SETUP -#line 960 "scan.l" -fwrite (escaped_qstart, 1, strlen(escaped_qstart), yyout); - YY_BREAK -case 247: -YY_RULE_SETUP -#line 961 "scan.l" -fwrite (escaped_qend, 1, strlen(escaped_qend), yyout); - YY_BREAK -case 248: -/* rule 248 can match eol */ -YY_RULE_SETUP -#line 962 "scan.l" -ECHO; - YY_BREAK -case 249: -/* rule 249 can match eol */ -YY_RULE_SETUP -#line 963 "scan.l" -ECHO; - YY_BREAK -case YY_STATE_EOF(SECT3): -#line 964 "scan.l" -sectnum = 0; yyterminate(); - YY_BREAK - -case 250: -/* rule 250 can match eol */ -YY_RULE_SETUP -#line 967 "scan.l" -format_synerr( _( "bad character: %s" ), yytext ); - YY_BREAK -case 251: -YY_RULE_SETUP -#line 969 "scan.l" -YY_FATAL_ERROR( "flex scanner jammed" ); - YY_BREAK -#line 4112 "scan.c" - case YY_STATE_EOF(INITIAL): - case YY_STATE_EOF(SECT2): - case YY_STATE_EOF(CODEBLOCK): - case YY_STATE_EOF(PICKUPDEF): - case YY_STATE_EOF(SC): - case YY_STATE_EOF(CARETISBOL): - case YY_STATE_EOF(NUM): - case YY_STATE_EOF(QUOTE): - case YY_STATE_EOF(FIRSTCCL): - case YY_STATE_EOF(CCL): - case YY_STATE_EOF(RECOVER): - case YY_STATE_EOF(PERCENT_BRACE_ACTION): - case YY_STATE_EOF(OPTION): - case YY_STATE_EOF(LINEDIR): - yyterminate(); - - case YY_END_OF_BUFFER: - { - /* Amount of text matched not including the EOB char. */ - int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1; - - /* Undo the effects of YY_DO_BEFORE_ACTION. */ - *yy_cp = (yy_hold_char); - YY_RESTORE_YY_MORE_OFFSET - - if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW ) - { - /* We're scanning a new file or input source. It's - * possible that this happened because the user - * just pointed yyin at a new source and called - * yylex(). If so, then we have to assure - * consistency between YY_CURRENT_BUFFER and our - * globals. Here is the right place to do so, because - * this is the first action (other than possibly a - * back-up) that will match for the new input source. - */ - (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; - YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin; - YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL; - } - - /* Note that here we test for yy_c_buf_p "<=" to the position - * of the first EOB in the buffer, since yy_c_buf_p will - * already have been incremented past the NUL character - * (since all states make transitions on EOB to the - * end-of-buffer state). Contrast this with the test - * in input(). - */ - if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) - { /* This was really a NUL. */ - yy_state_type yy_next_state; - - (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text; - - yy_current_state = yy_get_previous_state( ); - - /* Okay, we're now positioned to make the NUL - * transition. We couldn't have - * yy_get_previous_state() go ahead and do it - * for us because it doesn't know how to deal - * with the possibility of jamming (and we don't - * want to build jamming into it because then it - * will run more slowly). - */ - - yy_next_state = yy_try_NUL_trans( yy_current_state ); - - yy_bp = (yytext_ptr) + YY_MORE_ADJ; - - if ( yy_next_state ) - { - /* Consume the NUL. */ - yy_cp = ++(yy_c_buf_p); - yy_current_state = yy_next_state; - goto yy_match; - } - - else - { - yy_cp = (yy_c_buf_p); - goto yy_find_action; - } - } - - else switch ( yy_get_next_buffer( ) ) - { - case EOB_ACT_END_OF_FILE: - { - (yy_did_buffer_switch_on_eof) = 0; - - if ( yywrap( ) ) - { - /* Note: because we've taken care in - * yy_get_next_buffer() to have set up - * yytext, we can now set up - * yy_c_buf_p so that if some total - * hoser (like flex itself) wants to - * call the scanner after we return the - * YY_NULL, it'll still work - another - * YY_NULL will get returned. - */ - (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ; - - yy_act = YY_STATE_EOF(YY_START); - goto do_action; - } - - else - { - if ( ! (yy_did_buffer_switch_on_eof) ) - YY_NEW_FILE; - } - break; - } - - case EOB_ACT_CONTINUE_SCAN: - (yy_c_buf_p) = - (yytext_ptr) + yy_amount_of_matched_text; - - yy_current_state = yy_get_previous_state( ); - - yy_cp = (yy_c_buf_p); - yy_bp = (yytext_ptr) + YY_MORE_ADJ; - goto yy_match; - - case EOB_ACT_LAST_MATCH: - (yy_c_buf_p) = - &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)]; - - yy_current_state = yy_get_previous_state( ); - - yy_cp = (yy_c_buf_p); - yy_bp = (yytext_ptr) + YY_MORE_ADJ; - goto yy_find_action; - } - break; - } - - default: - YY_FATAL_ERROR( - "fatal flex scanner internal error--no action found" ); - } /* end of action switch */ - } /* end of scanning one token */ -} /* end of yylex */ - -/* yy_get_next_buffer - try to read in a new buffer - * - * Returns a code representing an action: - * EOB_ACT_LAST_MATCH - - * EOB_ACT_CONTINUE_SCAN - continue scanning from current position - * EOB_ACT_END_OF_FILE - end of file - */ -static int yy_get_next_buffer (void) -{ - register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; - register char *source = (yytext_ptr); - register int number_to_move, i; - int ret_val; - - if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] ) - YY_FATAL_ERROR( - "fatal flex scanner internal error--end of buffer missed" ); - - if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 ) - { /* Don't try to fill the buffer, so this is an EOF. */ - if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 ) - { - /* We matched a single character, the EOB, so - * treat this as a final EOF. - */ - return EOB_ACT_END_OF_FILE; - } - - else - { - /* We matched some text prior to the EOB, first - * process it. - */ - return EOB_ACT_LAST_MATCH; - } - } - - /* Try to read more data. */ - - /* First move last chars to start of buffer. */ - number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1; - - for ( i = 0; i < number_to_move; ++i ) - *(dest++) = *(source++); - - if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING ) - /* don't do the read, it's not guaranteed to return an EOF, - * just force an EOF - */ - YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0; - - else - { - yy_size_t num_to_read = - YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; - - while ( num_to_read <= 0 ) - { /* Not enough room in the buffer - grow it. */ - - YY_FATAL_ERROR( -"input buffer overflow, can't enlarge buffer because scanner uses REJECT" ); - - } - - if ( num_to_read > YY_READ_BUF_SIZE ) - num_to_read = YY_READ_BUF_SIZE; - - /* Read in more data. */ - YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), - (yy_n_chars), num_to_read ); - - YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); - } - - if ( (yy_n_chars) == 0 ) - { - if ( number_to_move == YY_MORE_ADJ ) - { - ret_val = EOB_ACT_END_OF_FILE; - yyrestart(yyin ); - } - - else - { - ret_val = EOB_ACT_LAST_MATCH; - YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = - YY_BUFFER_EOF_PENDING; - } - } - - else - ret_val = EOB_ACT_CONTINUE_SCAN; - - if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { - /* Extend the array by 50%, plus the number we really need. */ - yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); - YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ); - if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) - YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); - } - - (yy_n_chars) += number_to_move; - YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR; - YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR; - - (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0]; - - return ret_val; -} - -/* yy_get_previous_state - get the state just before the EOB char was reached */ - - static yy_state_type yy_get_previous_state (void) -{ - register yy_state_type yy_current_state; - register char *yy_cp; - - yy_current_state = (yy_start); - yy_current_state += YY_AT_BOL(); - - (yy_state_ptr) = (yy_state_buf); - *(yy_state_ptr)++ = yy_current_state; - - for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp ) - { - register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); - while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) - { - yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1107 ) - yy_c = yy_meta[(unsigned int) yy_c]; - } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - *(yy_state_ptr)++ = yy_current_state; - } - - return yy_current_state; -} - -/* yy_try_NUL_trans - try to make a transition on the NUL character - * - * synopsis - * next_state = yy_try_NUL_trans( current_state ); - */ - static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state ) -{ - register int yy_is_jam; - - register YY_CHAR yy_c = 1; - while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) - { - yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1107 ) - yy_c = yy_meta[(unsigned int) yy_c]; - } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - yy_is_jam = (yy_current_state == 1106); - if ( ! yy_is_jam ) - *(yy_state_ptr)++ = yy_current_state; - - return yy_is_jam ? 0 : yy_current_state; -} - - static void yyunput (int c, register char * yy_bp ) -{ - register char *yy_cp; - - yy_cp = (yy_c_buf_p); - - /* undo effects of setting up yytext */ - *yy_cp = (yy_hold_char); - - if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) - { /* need to shift things up to make room */ - /* +2 for EOB chars. */ - register yy_size_t number_to_move = (yy_n_chars) + 2; - register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[ - YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2]; - register char *source = - &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]; - - while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) - *--dest = *--source; - - yy_cp += (int) (dest - source); - yy_bp += (int) (dest - source); - YY_CURRENT_BUFFER_LVALUE->yy_n_chars = - (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size; - - if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) - YY_FATAL_ERROR( "flex scanner push-back overflow" ); - } - - *--yy_cp = (char) c; - - (yytext_ptr) = yy_bp; - (yy_hold_char) = *yy_cp; - (yy_c_buf_p) = yy_cp; -} - -#ifndef YY_NO_INPUT -#ifdef __cplusplus - static int yyinput (void) -#else - static int input (void) -#endif - -{ - int c; - - *(yy_c_buf_p) = (yy_hold_char); - - if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR ) - { - /* yy_c_buf_p now points to the character we want to return. - * If this occurs *before* the EOB characters, then it's a - * valid NUL; if not, then we've hit the end of the buffer. - */ - if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) - /* This was really a NUL. */ - *(yy_c_buf_p) = '\0'; - - else - { /* need more input */ - yy_size_t offset = (yy_c_buf_p) - (yytext_ptr); - ++(yy_c_buf_p); - - switch ( yy_get_next_buffer( ) ) - { - case EOB_ACT_LAST_MATCH: - /* This happens because yy_g_n_b() - * sees that we've accumulated a - * token and flags that we need to - * try matching the token before - * proceeding. But for input(), - * there's no matching to consider. - * So convert the EOB_ACT_LAST_MATCH - * to EOB_ACT_END_OF_FILE. - */ - - /* Reset buffer status. */ - yyrestart(yyin ); - - /*FALLTHROUGH*/ - - case EOB_ACT_END_OF_FILE: - { - if ( yywrap( ) ) - return EOF; - - if ( ! (yy_did_buffer_switch_on_eof) ) - YY_NEW_FILE; -#ifdef __cplusplus - return yyinput(); -#else - return input(); -#endif - } - - case EOB_ACT_CONTINUE_SCAN: - (yy_c_buf_p) = (yytext_ptr) + offset; - break; - } - } - } - - c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */ - *(yy_c_buf_p) = '\0'; /* preserve yytext */ - (yy_hold_char) = *++(yy_c_buf_p); - - YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n'); - - return c; -} -#endif /* ifndef YY_NO_INPUT */ - -/** Immediately switch to a different input stream. - * @param input_file A readable stream. - * - * @note This function does not reset the start condition to @c INITIAL . - */ - void yyrestart (FILE * input_file ) -{ - - if ( ! YY_CURRENT_BUFFER ){ - yyensure_buffer_stack (); - YY_CURRENT_BUFFER_LVALUE = - yy_create_buffer(yyin,YY_BUF_SIZE ); - } - - yy_init_buffer(YY_CURRENT_BUFFER,input_file ); - yy_load_buffer_state( ); -} - -/** Switch to a different input buffer. - * @param new_buffer The new input buffer. - * - */ - void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ) -{ - - /* TODO. We should be able to replace this entire function body - * with - * yypop_buffer_state(); - * yypush_buffer_state(new_buffer); - */ - yyensure_buffer_stack (); - if ( YY_CURRENT_BUFFER == new_buffer ) - return; - - if ( YY_CURRENT_BUFFER ) - { - /* Flush out information for old buffer. */ - *(yy_c_buf_p) = (yy_hold_char); - YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); - YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); - } - - YY_CURRENT_BUFFER_LVALUE = new_buffer; - yy_load_buffer_state( ); - - /* We don't actually know whether we did this switch during - * EOF (yywrap()) processing, but the only time this flag - * is looked at is after yywrap() is called, so it's safe - * to go ahead and always set it. - */ - (yy_did_buffer_switch_on_eof) = 1; -} - -static void yy_load_buffer_state (void) -{ - (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; - (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; - yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file; - (yy_hold_char) = *(yy_c_buf_p); -} - -/** Allocate and initialize an input buffer state. - * @param file A readable stream. - * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE. - * - * @return the allocated buffer state. - */ - YY_BUFFER_STATE yy_create_buffer (FILE * file, int size ) -{ - YY_BUFFER_STATE b; - - b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) ); - if ( ! b ) - YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); - - b->yy_buf_size = size; - - /* yy_ch_buf has to be 2 characters longer than the size given because - * we need to put in 2 end-of-buffer characters. - */ - b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2 ); - if ( ! b->yy_ch_buf ) - YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); - - b->yy_is_our_buffer = 1; - - yy_init_buffer(b,file ); - - return b; -} - -/** Destroy the buffer. - * @param b a buffer created with yy_create_buffer() - * - */ - void yy_delete_buffer (YY_BUFFER_STATE b ) -{ - - if ( ! b ) - return; - - if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */ - YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0; - - if ( b->yy_is_our_buffer ) - yyfree((void *) b->yy_ch_buf ); - - yyfree((void *) b ); -} - -/* Initializes or reinitializes a buffer. - * This function is sometimes called more than once on the same buffer, - * such as during a yyrestart() or at EOF. - */ - static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file ) - -{ - int oerrno = errno; - - yy_flush_buffer(b ); - - b->yy_input_file = file; - b->yy_fill_buffer = 1; - - /* If b is the current buffer, then yy_init_buffer was _probably_ - * called from yyrestart() or through yy_get_next_buffer. - * In that case, we don't want to reset the lineno or column. - */ - if (b != YY_CURRENT_BUFFER){ - b->yy_bs_lineno = 1; - b->yy_bs_column = 0; - } - - b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; - - errno = oerrno; -} - -/** Discard all buffered characters. On the next scan, YY_INPUT will be called. - * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER. - * - */ - void yy_flush_buffer (YY_BUFFER_STATE b ) -{ - if ( ! b ) - return; - - b->yy_n_chars = 0; - - /* We always need two end-of-buffer characters. The first causes - * a transition to the end-of-buffer state. The second causes - * a jam in that state. - */ - b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR; - b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR; - - b->yy_buf_pos = &b->yy_ch_buf[0]; - - b->yy_at_bol = 1; - b->yy_buffer_status = YY_BUFFER_NEW; - - if ( b == YY_CURRENT_BUFFER ) - yy_load_buffer_state( ); -} - -/** Pushes the new state onto the stack. The new state becomes - * the current state. This function will allocate the stack - * if necessary. - * @param new_buffer The new state. - * - */ -void yypush_buffer_state (YY_BUFFER_STATE new_buffer ) -{ - if (new_buffer == NULL) - return; - - yyensure_buffer_stack(); - - /* This block is copied from yy_switch_to_buffer. */ - if ( YY_CURRENT_BUFFER ) - { - /* Flush out information for old buffer. */ - *(yy_c_buf_p) = (yy_hold_char); - YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); - YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); - } - - /* Only push if top exists. Otherwise, replace top. */ - if (YY_CURRENT_BUFFER) - (yy_buffer_stack_top)++; - YY_CURRENT_BUFFER_LVALUE = new_buffer; - - /* copied from yy_switch_to_buffer. */ - yy_load_buffer_state( ); - (yy_did_buffer_switch_on_eof) = 1; -} - -/** Removes and deletes the top of the stack, if present. - * The next element becomes the new top. - * - */ -void yypop_buffer_state (void) -{ - if (!YY_CURRENT_BUFFER) - return; - - yy_delete_buffer(YY_CURRENT_BUFFER ); - YY_CURRENT_BUFFER_LVALUE = NULL; - if ((yy_buffer_stack_top) > 0) - --(yy_buffer_stack_top); - - if (YY_CURRENT_BUFFER) { - yy_load_buffer_state( ); - (yy_did_buffer_switch_on_eof) = 1; - } -} - -/* Allocates the stack if it does not exist. - * Guarantees space for at least one push. - */ -static void yyensure_buffer_stack (void) -{ - yy_size_t num_to_alloc; - - if (!(yy_buffer_stack)) { - - /* First allocation is just for 2 elements, since we don't know if this - * scanner will even need a stack. We use 2 instead of 1 to avoid an - * immediate realloc on the next call. - */ - num_to_alloc = 1; - (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc - (num_to_alloc * sizeof(struct yy_buffer_state*) - ); - if ( ! (yy_buffer_stack) ) - YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); - - memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*)); - - (yy_buffer_stack_max) = num_to_alloc; - (yy_buffer_stack_top) = 0; - return; - } - - if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){ - - /* Increase the buffer to prepare for a possible push. */ - int grow_size = 8 /* arbitrary grow size */; - - num_to_alloc = (yy_buffer_stack_max) + grow_size; - (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc - ((yy_buffer_stack), - num_to_alloc * sizeof(struct yy_buffer_state*) - ); - if ( ! (yy_buffer_stack) ) - YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); - - /* zero only the new slots.*/ - memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*)); - (yy_buffer_stack_max) = num_to_alloc; - } -} - -/** Setup the input buffer state to scan directly from a user-specified character buffer. - * @param base the character buffer - * @param size the size in bytes of the character buffer - * - * @return the newly allocated buffer state object. - */ -YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size ) -{ - YY_BUFFER_STATE b; - - if ( size < 2 || - base[size-2] != YY_END_OF_BUFFER_CHAR || - base[size-1] != YY_END_OF_BUFFER_CHAR ) - /* They forgot to leave room for the EOB's. */ - return 0; - - b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) ); - if ( ! b ) - YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" ); - - b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ - b->yy_buf_pos = b->yy_ch_buf = base; - b->yy_is_our_buffer = 0; - b->yy_input_file = 0; - b->yy_n_chars = b->yy_buf_size; - b->yy_is_interactive = 0; - b->yy_at_bol = 1; - b->yy_fill_buffer = 0; - b->yy_buffer_status = YY_BUFFER_NEW; - - yy_switch_to_buffer(b ); - - return b; -} - -/** Setup the input buffer state to scan a string. The next call to yylex() will - * scan from a @e copy of @a str. - * @param yystr a NUL-terminated string to scan - * - * @return the newly allocated buffer state object. - * @note If you want to scan bytes that may contain NUL values, then use - * yy_scan_bytes() instead. - */ -YY_BUFFER_STATE yy_scan_string (yyconst char * yystr ) -{ - - return yy_scan_bytes(yystr,strlen(yystr) ); -} - -/** Setup the input buffer state to scan the given bytes. The next call to yylex() will - * scan from a @e copy of @a bytes. - * @param yybytes the byte buffer to scan - * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes. - * - * @return the newly allocated buffer state object. - */ -YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len ) -{ - YY_BUFFER_STATE b; - char *buf; - yy_size_t n; - int i; - - /* Get memory for full buffer, including space for trailing EOB's. */ - n = _yybytes_len + 2; - buf = (char *) yyalloc(n ); - if ( ! buf ) - YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" ); - - for ( i = 0; i < _yybytes_len; ++i ) - buf[i] = yybytes[i]; - - buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR; - - b = yy_scan_buffer(buf,n ); - if ( ! b ) - YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" ); - - /* It's okay to grow etc. this buffer, and we should throw it - * away when we're done. - */ - b->yy_is_our_buffer = 1; - - return b; -} - - static void yy_push_state (int new_state ) -{ - if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) ) - { - yy_size_t new_size; - - (yy_start_stack_depth) += YY_START_STACK_INCR; - new_size = (yy_start_stack_depth) * sizeof( int ); - - if ( ! (yy_start_stack) ) - (yy_start_stack) = (int *) yyalloc(new_size ); - - else - (yy_start_stack) = (int *) yyrealloc((void *) (yy_start_stack),new_size ); - - if ( ! (yy_start_stack) ) - YY_FATAL_ERROR( "out of memory expanding start-condition stack" ); - } - - (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START; - - BEGIN(new_state); -} - - static void yy_pop_state (void) -{ - if ( --(yy_start_stack_ptr) < 0 ) - YY_FATAL_ERROR( "start-condition stack underflow" ); - - BEGIN((yy_start_stack)[(yy_start_stack_ptr)]); -} - -#ifndef YY_EXIT_FAILURE -#define YY_EXIT_FAILURE 2 -#endif - -static void yy_fatal_error (yyconst char* msg ) -{ - (void) fprintf( stderr, "%s\n", msg ); - exit( YY_EXIT_FAILURE ); -} - -/* Redefine yyless() so it works in section 3 code. */ - -#undef yyless -#define yyless(n) \ - do \ - { \ - /* Undo effects of setting up yytext. */ \ - int yyless_macro_arg = (n); \ - YY_LESS_LINENO(yyless_macro_arg);\ - yytext[yyleng] = (yy_hold_char); \ - (yy_c_buf_p) = yytext + yyless_macro_arg; \ - (yy_hold_char) = *(yy_c_buf_p); \ - *(yy_c_buf_p) = '\0'; \ - yyleng = yyless_macro_arg; \ - } \ - while ( 0 ) - -/* Accessor methods (get/set functions) to struct members. */ - -/** Get the current line number. - * - */ -int yyget_lineno (void) -{ - - return yylineno; -} - -/** Get the input stream. - * - */ -FILE *yyget_in (void) -{ - return yyin; -} - -/** Get the output stream. - * - */ -FILE *yyget_out (void) -{ - return yyout; -} - -/** Get the length of the current token. - * - */ -yy_size_t yyget_leng (void) -{ - return yyleng; -} - -/** Get the current token. - * - */ - -char *yyget_text (void) -{ - return yytext; -} - -/** Set the current line number. - * @param line_number - * - */ -void yyset_lineno (int line_number ) -{ - - yylineno = line_number; -} - -/** Set the input stream. This does not discard the current - * input buffer. - * @param in_str A readable stream. - * - * @see yy_switch_to_buffer - */ -void yyset_in (FILE * in_str ) -{ - yyin = in_str ; -} - -void yyset_out (FILE * out_str ) -{ - yyout = out_str ; -} - -int yyget_debug (void) -{ - return yy_flex_debug; -} - -void yyset_debug (int bdebug ) -{ - yy_flex_debug = bdebug ; -} - -static int yy_init_globals (void) -{ - /* Initialization is the same as for the non-reentrant scanner. - * This function is called from yylex_destroy(), so don't allocate here. - */ - - (yy_buffer_stack) = 0; - (yy_buffer_stack_top) = 0; - (yy_buffer_stack_max) = 0; - (yy_c_buf_p) = (char *) 0; - (yy_init) = 0; - (yy_start) = 0; - - (yy_start_stack_ptr) = 0; - (yy_start_stack_depth) = 0; - (yy_start_stack) = NULL; - - (yy_state_buf) = 0; - (yy_state_ptr) = 0; - (yy_full_match) = 0; - (yy_lp) = 0; - -/* Defined in main.c */ -#ifdef YY_STDINIT - yyin = stdin; - yyout = stdout; -#else - yyin = (FILE *) 0; - yyout = (FILE *) 0; -#endif - - /* For future reference: Set errno on error, since we are called by - * yylex_init() - */ - return 0; -} - -/* yylex_destroy is for both reentrant and non-reentrant scanners. */ -int yylex_destroy (void) -{ - - /* Pop the buffer stack, destroying each element. */ - while(YY_CURRENT_BUFFER){ - yy_delete_buffer(YY_CURRENT_BUFFER ); - YY_CURRENT_BUFFER_LVALUE = NULL; - yypop_buffer_state(); - } - - /* Destroy the stack itself. */ - yyfree((yy_buffer_stack) ); - (yy_buffer_stack) = NULL; - - /* Destroy the start condition stack. */ - yyfree((yy_start_stack) ); - (yy_start_stack) = NULL; - - yyfree ( (yy_state_buf) ); - (yy_state_buf) = NULL; - - /* Reset the globals. This is important in a non-reentrant scanner so the next time - * yylex() is called, initialization will occur. */ - yy_init_globals( ); - - return 0; -} - -/* - * Internal utility routines. - */ - -#ifndef yytext_ptr -static void yy_flex_strncpy (char* s1, yyconst char * s2, int n ) -{ - register int i; - for ( i = 0; i < n; ++i ) - s1[i] = s2[i]; -} -#endif - -#ifdef YY_NEED_STRLEN -static int yy_flex_strlen (yyconst char * s ) -{ - register int n; - for ( n = 0; s[n]; ++n ) - ; - - return n; -} -#endif - -void *yyalloc (yy_size_t size ) -{ - return (void *) malloc( size ); -} - -void *yyrealloc (void * ptr, yy_size_t size ) -{ - /* The cast to (char *) in the following accommodates both - * implementations that use char* generic pointers, and those - * that use void* generic pointers. It works with the latter - * because both ANSI C and C++ allow castless assignment from - * any pointer type to void*, and deal with argument conversions - * as though doing an assignment. - */ - return (void *) realloc( (char *) ptr, size ); -} - -void yyfree (void * ptr ) -{ - free( (char *) ptr ); /* see yyrealloc() for (char *) cast */ -} - -#define YYTABLES_NAME "yytables" - -#line 969 "scan.l" - - - - -int yywrap() - { - if ( --num_input_files > 0 ) - { - set_input_file( *++input_files ); - return 0; - } - - else - return 1; - } - - -/* set_input_file - open the given file (if NULL, stdin) for scanning */ - -void set_input_file( file ) -char *file; - { - if ( file && strcmp( file, "-" ) ) - { - infilename = copy_string( file ); - yyin = fopen( infilename, "r" ); - - if ( yyin == NULL ) - lerrsf( _( "can't open %s" ), file ); - } - - else - { - yyin = stdin; - infilename = copy_string( "" ); - } - - linenum = 1; - } - - -/* Wrapper routines for accessing the scanner's malloc routines. */ - -void *flex_alloc( size ) -size_t size; - { - return (void *) malloc( size ); - } - -void *flex_realloc( ptr, size ) -void *ptr; -size_t size; - { - return (void *) realloc( ptr, size ); - } - -void flex_free( ptr ) -void *ptr; - { - if ( ptr ) - free( ptr ); - } - diff --git a/src/FlexLexer.h b/src/FlexLexer.h new file mode 100644 index 000000000000..c4dad2b1421d --- /dev/null +++ b/src/FlexLexer.h @@ -0,0 +1,220 @@ +// -*-C++-*- +// FlexLexer.h -- define interfaces for lexical analyzer classes generated +// by flex + +// Copyright (c) 1993 The Regents of the University of California. +// All rights reserved. +// +// This code is derived from software contributed to Berkeley by +// Kent Williams and Tom Epperly. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: + +// 1. Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. + +// Neither the name of the University nor the names of its contributors +// may be used to endorse or promote products derived from this software +// without specific prior written permission. + +// THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +// PURPOSE. + +// This file defines FlexLexer, an abstract class which specifies the +// external interface provided to flex C++ lexer objects, and yyFlexLexer, +// which defines a particular lexer class. +// +// If you want to create multiple lexer classes, you use the -P flag +// to rename each yyFlexLexer to some other xxFlexLexer. You then +// include in your other sources once per lexer class: +// +// #undef yyFlexLexer +// #define yyFlexLexer xxFlexLexer +// #include +// +// #undef yyFlexLexer +// #define yyFlexLexer zzFlexLexer +// #include +// ... + +#ifndef __FLEX_LEXER_H +// Never included before - need to define base class. +#define __FLEX_LEXER_H + +#include + +extern "C++" { + +struct yy_buffer_state; +typedef int yy_state_type; + +class FlexLexer +{ +public: + virtual ~FlexLexer() { } + + const char* YYText() const { return yytext; } + int YYLeng() const { return yyleng; } + + virtual void + yy_switch_to_buffer( yy_buffer_state* new_buffer ) = 0; + virtual yy_buffer_state* yy_create_buffer( std::istream* s, int size ) = 0; + virtual yy_buffer_state* yy_create_buffer( std::istream& s, int size ) = 0; + virtual void yy_delete_buffer( yy_buffer_state* b ) = 0; + virtual void yyrestart( std::istream* s ) = 0; + virtual void yyrestart( std::istream& s ) = 0; + + virtual int yylex() = 0; + + // Call yylex with new input/output sources. + int yylex( std::istream& new_in, std::ostream& new_out ) + { + switch_streams( new_in, new_out ); + return yylex(); + } + + int yylex( std::istream* new_in, std::ostream* new_out = 0) + { + switch_streams( new_in, new_out ); + return yylex(); + } + + // Switch to new input/output streams. A nil stream pointer + // indicates "keep the current one". + virtual void switch_streams( std::istream* new_in, + std::ostream* new_out ) = 0; + virtual void switch_streams( std::istream& new_in, + std::ostream& new_out ) = 0; + + int lineno() const { return yylineno; } + + int debug() const { return yy_flex_debug; } + void set_debug( int flag ) { yy_flex_debug = flag; } + +protected: + char* yytext; + int yyleng; + int yylineno; // only maintained if you use %option yylineno + int yy_flex_debug; // only has effect with -d or "%option debug" +}; + +} +#endif // FLEXLEXER_H + +#if defined(yyFlexLexer) || ! defined(yyFlexLexerOnce) +// Either this is the first time through (yyFlexLexerOnce not defined), +// or this is a repeated include to define a different flavor of +// yyFlexLexer, as discussed in the flex manual. +# define yyFlexLexerOnce + +extern "C++" { + +class yyFlexLexer : public FlexLexer { +public: + // arg_yyin and arg_yyout default to the cin and cout, but we + // only make that assignment when initializing in yylex(). + yyFlexLexer( std::istream& arg_yyin, std::ostream& arg_yyout ); + yyFlexLexer( std::istream* arg_yyin = 0, std::ostream* arg_yyout = 0 ); +private: + void ctor_common(); + +public: + + virtual ~yyFlexLexer(); + + void yy_switch_to_buffer( yy_buffer_state* new_buffer ); + yy_buffer_state* yy_create_buffer( std::istream* s, int size ); + yy_buffer_state* yy_create_buffer( std::istream& s, int size ); + void yy_delete_buffer( yy_buffer_state* b ); + void yyrestart( std::istream* s ); + void yyrestart( std::istream& s ); + + void yypush_buffer_state( yy_buffer_state* new_buffer ); + void yypop_buffer_state(); + + virtual int yylex(); + virtual void switch_streams( std::istream& new_in, std::ostream& new_out ); + virtual void switch_streams( std::istream* new_in = 0, std::ostream* new_out = 0 ); + virtual int yywrap(); + +protected: + virtual int LexerInput( char* buf, int max_size ); + virtual void LexerOutput( const char* buf, int size ); + virtual void LexerError( const char* msg ); + + void yyunput( int c, char* buf_ptr ); + int yyinput(); + + void yy_load_buffer_state(); + void yy_init_buffer( yy_buffer_state* b, std::istream& s ); + void yy_flush_buffer( yy_buffer_state* b ); + + int yy_start_stack_ptr; + int yy_start_stack_depth; + int* yy_start_stack; + + void yy_push_state( int new_state ); + void yy_pop_state(); + int yy_top_state(); + + yy_state_type yy_get_previous_state(); + yy_state_type yy_try_NUL_trans( yy_state_type current_state ); + int yy_get_next_buffer(); + + std::istream yyin; // input source for default LexerInput + std::ostream yyout; // output sink for default LexerOutput + + // yy_hold_char holds the character lost when yytext is formed. + char yy_hold_char; + + // Number of characters read into yy_ch_buf. + int yy_n_chars; + + // Points to current character in buffer. + char* yy_c_buf_p; + + int yy_init; // whether we need to initialize + int yy_start; // start state number + + // Flag which is used to allow yywrap()'s to do buffer switches + // instead of setting up a fresh yyin. A bit of a hack ... + int yy_did_buffer_switch_on_eof; + + + size_t yy_buffer_stack_top; /**< index of top of stack. */ + size_t yy_buffer_stack_max; /**< capacity of stack. */ + yy_buffer_state ** yy_buffer_stack; /**< Stack as an array. */ + void yyensure_buffer_stack(void); + + // The following are not always needed, but may be depending + // on use of certain flex features (like REJECT or yymore()). + + yy_state_type yy_last_accepting_state; + char* yy_last_accepting_cpos; + + yy_state_type* yy_state_buf; + yy_state_type* yy_state_ptr; + + char* yy_full_match; + int* yy_full_state; + int yy_full_lp; + + int yy_lp; + int yy_looking_for_trail_begin; + + int yy_more_flag; + int yy_more_len; + int yy_more_offset; + int yy_prev_more_offset; +}; + +} + +#endif // yyFlexLexer || ! yyFlexLexerOnce diff --git a/src/Makefile.am b/src/Makefile.am new file mode 100644 index 000000000000..e379692c7d74 --- /dev/null +++ b/src/Makefile.am @@ -0,0 +1,168 @@ +AM_YFLAGS = -d +AM_CPPFLAGS = -DLOCALEDIR=\"$(localedir)\" +LIBS = @LIBS@ + +m4 = @M4@ + +bin_PROGRAMS = flex +if ENABLE_BOOTSTRAP +noinst_PROGRAMS = stage1flex +endif + +if ENABLE_LIBFL +lib_LTLIBRARIES = libfl.la +endif +libfl_la_SOURCES = \ + libmain.c \ + libyywrap.c +libfl_la_LDFLAGS = -version-info @SHARED_VERSION_INFO@ + +stage1flex_SOURCES = \ + scan.l \ + $(COMMON_SOURCES) + +if CROSS +stage1flex_LDADD = +stage1flex_SOURCES += \ + ../lib/malloc.c \ + ../lib/realloc.c +stage1flex_LINK = $(LIBTOOL) --tag=CC --mode=link $(CC_FOR_BUILD) \ + $(CFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) -o $@ + +$(stage1flex_OBJECTS): CC=$(CC_FOR_BUILD) +$(stage1flex_OBJECTS): CFLAGS=$(CFLAGS_FOR_BUILD) +$(stage1flex_OBJECTS): CPP=$(CPP_FOR_BUILD) +$(stage1flex_OBJECTS): CPPFLAGS=$(CPPFLAGS_FOR_BUILD) +$(stage1flex_OBJECTS): LDFLAGS=$(LDFLAGS_FOR_BUILD) +else +stage1flex_LDADD = $(LDADD) +stage1flex_LINK = $(LINK) +stage1flex_CFLAGS = $(AM_CFLAGS) +endif + +flex_SOURCES = \ + $(COMMON_SOURCES) + +nodist_flex_SOURCES = \ + stage1scan.c + +flex_CFLAGS = $(AM_CFLAGS) $(WARNINGFLAGS) + +COMMON_SOURCES = \ + buf.c \ + ccl.c \ + dfa.c \ + ecs.c \ + filter.c \ + flexdef.h \ + flexint.h \ + gen.c \ + main.c \ + misc.c \ + nfa.c \ + options.c \ + options.h \ + parse.y \ + regex.c \ + scanflags.c \ + scanopt.c \ + scanopt.h \ + skel.c \ + sym.c \ + tables.c \ + tables.h \ + tables_shared.c \ + tables_shared.h \ + tblcmp.c \ + version.h \ + yylex.c + +LDADD = $(LIBOBJS) @LIBINTL@ + +include_HEADERS = \ + FlexLexer.h + +EXTRA_DIST = \ + flex.skl \ + mkskel.sh \ + gettext.h + +CLEANFILES = stage1scan.c stage1flex$(EXEEXT) + +MAINTAINERCLEANFILES = skel.c + +skel.c: flex.skl mkskel.sh flexint.h tables_shared.h tables_shared.c + $(SHELL) $(srcdir)/mkskel.sh $(srcdir) $(m4) $(VERSION) > $@.tmp + mv $@.tmp $@ + +if ENABLE_BOOTSTRAP +stage1scan.c: scan.l stage1flex$(EXEEXT) + ./stage1flex$(EXEEXT) $(AM_LFLAGS) $(LFLAGS) -o $@ $(srcdir)/scan.l +else +stage1scan.c: scan.c + sed 's|^\(#line .*\)"'`printf %s $< | sed 's|[][\\\\.*]|\\\\&|g'`'"|\1"$@"|g' $< > $@ +endif + +dist-hook: scan.l flex$(EXEEXT) + chmod u+w $(distdir)/scan.c && \ + ./flex$(EXEEXT) -o scan.c $< && \ + mv scan.c $(distdir) + +# make needs to be told to make parse.h so that parallelized runs will +# not fail. + +stage1flex-main.$(OBJEXT): parse.h +flex-main.$(OBJEXT): parse.h + +stage1flex-yylex.$(OBJEXT): parse.h +flex-yylex.$(OBJEXT): parse.h + +stage1flex-scan.$(OBJEXT): parse.h +flex-stage1scan.$(OBJEXT): parse.h + +# Run GNU indent on sources. Don't run this unless all the sources compile cleanly. +# +# Whole idea: +# 1. Check for .indent.pro, otherwise indent will use unknown +# settings, or worse, the GNU defaults.) +# 2. Check that this is GNU indent. +# 3. Make sure to process only the NON-generated .c and .h files. +# 4. Run indent twice per file. The first time is a test. +# Otherwise, indent overwrites your file even if it fails! +indentfiles = \ + buf.c \ + ccl.c \ + dfa.c \ + ecs.c \ + scanflags.c \ + filter.c \ + flexdef.h \ + gen.c \ + libmain.c \ + libyywrap.c \ + main.c \ + misc.c \ + nfa.c \ + options.c \ + options.h \ + regex.c \ + scanopt.c \ + scanopt.h \ + sym.c \ + tables.c \ + tables.h \ + tables_shared.c \ + tables_shared.h \ + tblcmp.c + +indent: $(top_srcdir)/.indent.pro + cd $(top_srcdir) && \ + for f in $(indentfiles); do \ + f=src/$$f; \ + echo indenting $$f; \ + INDENT_PROFILE=.indent.pro $(INDENT) <$$f >/dev/null && \ + INDENT_PROFILE=.indent.pro $(INDENT) $$f || \ + echo $$f FAILED to indent; \ + done; + +.PHONY: indent diff --git a/src/Makefile.in b/src/Makefile.in new file mode 100644 index 000000000000..e570b8745196 --- /dev/null +++ b/src/Makefile.in @@ -0,0 +1,1731 @@ +# Makefile.in generated by automake 1.15 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2014 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@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +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@ +bin_PROGRAMS = flex$(EXEEXT) +@ENABLE_BOOTSTRAP_TRUE@noinst_PROGRAMS = stage1flex$(EXEEXT) +@CROSS_TRUE@am__append_1 = \ +@CROSS_TRUE@ ../lib/malloc.c \ +@CROSS_TRUE@ ../lib/realloc.c + +subdir = src +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/ax_prog_cc_for_build.m4 \ + $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/iconv.m4 \ + $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/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)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(include_HEADERS) \ + $(am__DIST_COMMON) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = config.h +CONFIG_CLEAN_FILES = +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__uninstall_files_from_dir = { \ + test -z "$$files" \ + || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ + || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ + $(am__cd) "$$dir" && rm -f $$files; }; \ + } +am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" \ + "$(DESTDIR)$(includedir)" +LTLIBRARIES = $(lib_LTLIBRARIES) +libfl_la_LIBADD = +am_libfl_la_OBJECTS = libmain.lo libyywrap.lo +libfl_la_OBJECTS = $(am_libfl_la_OBJECTS) +AM_V_lt = $(am__v_lt_@AM_V@) +am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) +am__v_lt_0 = --silent +am__v_lt_1 = +libfl_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(libfl_la_LDFLAGS) $(LDFLAGS) -o $@ +@ENABLE_LIBFL_TRUE@am_libfl_la_rpath = -rpath $(libdir) +PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS) +LIBOBJDIR = ../lib/ +am__objects_1 = flex-buf.$(OBJEXT) flex-ccl.$(OBJEXT) \ + flex-dfa.$(OBJEXT) flex-ecs.$(OBJEXT) flex-filter.$(OBJEXT) \ + flex-gen.$(OBJEXT) flex-main.$(OBJEXT) flex-misc.$(OBJEXT) \ + flex-nfa.$(OBJEXT) flex-options.$(OBJEXT) flex-parse.$(OBJEXT) \ + flex-regex.$(OBJEXT) flex-scanflags.$(OBJEXT) \ + flex-scanopt.$(OBJEXT) flex-skel.$(OBJEXT) flex-sym.$(OBJEXT) \ + flex-tables.$(OBJEXT) flex-tables_shared.$(OBJEXT) \ + flex-tblcmp.$(OBJEXT) flex-yylex.$(OBJEXT) +am_flex_OBJECTS = $(am__objects_1) +nodist_flex_OBJECTS = flex-stage1scan.$(OBJEXT) +flex_OBJECTS = $(am_flex_OBJECTS) $(nodist_flex_OBJECTS) +flex_LDADD = $(LDADD) +flex_DEPENDENCIES = $(LIBOBJS) +flex_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(flex_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +am__stage1flex_SOURCES_DIST = scan.l buf.c ccl.c dfa.c ecs.c filter.c \ + flexdef.h flexint.h gen.c main.c misc.c nfa.c options.c \ + options.h parse.y regex.c scanflags.c scanopt.c scanopt.h \ + skel.c sym.c tables.c tables.h tables_shared.c tables_shared.h \ + tblcmp.c version.h yylex.c ../lib/malloc.c ../lib/realloc.c +am__objects_2 = stage1flex-buf.$(OBJEXT) stage1flex-ccl.$(OBJEXT) \ + stage1flex-dfa.$(OBJEXT) stage1flex-ecs.$(OBJEXT) \ + stage1flex-filter.$(OBJEXT) stage1flex-gen.$(OBJEXT) \ + stage1flex-main.$(OBJEXT) stage1flex-misc.$(OBJEXT) \ + stage1flex-nfa.$(OBJEXT) stage1flex-options.$(OBJEXT) \ + stage1flex-parse.$(OBJEXT) stage1flex-regex.$(OBJEXT) \ + stage1flex-scanflags.$(OBJEXT) stage1flex-scanopt.$(OBJEXT) \ + stage1flex-skel.$(OBJEXT) stage1flex-sym.$(OBJEXT) \ + stage1flex-tables.$(OBJEXT) stage1flex-tables_shared.$(OBJEXT) \ + stage1flex-tblcmp.$(OBJEXT) stage1flex-yylex.$(OBJEXT) +am__dirstamp = $(am__leading_dot)dirstamp +@CROSS_TRUE@am__objects_3 = ../lib/stage1flex-malloc.$(OBJEXT) \ +@CROSS_TRUE@ ../lib/stage1flex-realloc.$(OBJEXT) +am_stage1flex_OBJECTS = stage1flex-scan.$(OBJEXT) $(am__objects_2) \ + $(am__objects_3) +stage1flex_OBJECTS = $(am_stage1flex_OBJECTS) +am__DEPENDENCIES_1 = $(LIBOBJS) +@CROSS_FALSE@stage1flex_DEPENDENCIES = $(am__DEPENDENCIES_1) +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I.@am__isrc@ +depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp +am__depfiles_maybe = depfiles +am__mv = mv -f +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +AM_V_CC = $(am__v_CC_@AM_V@) +am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) +am__v_CC_0 = @echo " CC " $@; +am__v_CC_1 = +CCLD = $(CC) +LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CCLD = $(am__v_CCLD_@AM_V@) +am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) +am__v_CCLD_0 = @echo " CCLD " $@; +am__v_CCLD_1 = +LEXCOMPILE = $(LEX) $(AM_LFLAGS) $(LFLAGS) +LTLEXCOMPILE = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(LEX) $(AM_LFLAGS) $(LFLAGS) +AM_V_LEX = $(am__v_LEX_@AM_V@) +am__v_LEX_ = $(am__v_LEX_@AM_DEFAULT_V@) +am__v_LEX_0 = @echo " LEX " $@; +am__v_LEX_1 = +YLWRAP = $(top_srcdir)/build-aux/ylwrap +am__yacc_c2h = sed -e s/cc$$/hh/ -e s/cpp$$/hpp/ -e s/cxx$$/hxx/ \ + -e s/c++$$/h++/ -e s/c$$/h/ +YACCCOMPILE = $(YACC) $(AM_YFLAGS) $(YFLAGS) +LTYACCCOMPILE = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(YACC) $(AM_YFLAGS) $(YFLAGS) +AM_V_YACC = $(am__v_YACC_@AM_V@) +am__v_YACC_ = $(am__v_YACC_@AM_DEFAULT_V@) +am__v_YACC_0 = @echo " YACC " $@; +am__v_YACC_1 = +SOURCES = $(libfl_la_SOURCES) $(flex_SOURCES) $(nodist_flex_SOURCES) \ + $(stage1flex_SOURCES) +DIST_SOURCES = $(libfl_la_SOURCES) $(flex_SOURCES) \ + $(am__stage1flex_SOURCES_DIST) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +HEADERS = $(include_HEADERS) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \ + $(LISP)config.h.in +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +ETAGS = etags +CTAGS = ctags +am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \ + $(top_srcdir)/build-aux/depcomp $(top_srcdir)/build-aux/ylwrap \ + $(top_srcdir)/lib/malloc.c $(top_srcdir)/lib/realloc.c parse.c \ + parse.h scan.c +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +ALLOCA = @ALLOCA@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +BUILD_EXEEXT = @BUILD_EXEEXT@ +BUILD_OBJEXT = @BUILD_OBJEXT@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CC_FOR_BUILD = @CC_FOR_BUILD@ +CFLAGS = @CFLAGS@ +CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@ +CPP_FOR_BUILD = @CPP_FOR_BUILD@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +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@ +HELP2MAN = @HELP2MAN@ +INDENT = @INDENT@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INTLLIBS = @INTLLIBS@ +INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@ +LEX = @LEX@ +LEXLIB = @LEXLIB@ +LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ +LIBICONV = @LIBICONV@ +LIBINTL = @LIBINTL@ +LIBOBJS = @LIBOBJS@ +LIBPTHREAD = @LIBPTHREAD@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBINTL = @LTLIBINTL@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +M4 = @M4@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +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@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +POSUB = @POSUB@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHARED_VERSION_INFO = @SHARED_VERSION_INFO@ +SHELL = @SHELL@ +STRIP = @STRIP@ +TEXI2DVI = @TEXI2DVI@ +USE_NLS = @USE_NLS@ +VERSION = @VERSION@ +WARNINGFLAGS = @WARNINGFLAGS@ +XGETTEXT = @XGETTEXT@ +XGETTEXT_015 = @XGETTEXT_015@ +XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ +YACC = @YACC@ +YFLAGS = @YFLAGS@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CC_FOR_BUILD = @ac_ct_CC_FOR_BUILD@ +ac_ct_CXX = @ac_ct_CXX@ +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@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +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@ +AM_YFLAGS = -d +AM_CPPFLAGS = -DLOCALEDIR=\"$(localedir)\" +m4 = @M4@ +@ENABLE_LIBFL_TRUE@lib_LTLIBRARIES = libfl.la +libfl_la_SOURCES = \ + libmain.c \ + libyywrap.c + +libfl_la_LDFLAGS = -version-info @SHARED_VERSION_INFO@ +stage1flex_SOURCES = scan.l $(COMMON_SOURCES) $(am__append_1) +@CROSS_FALSE@stage1flex_LDADD = $(LDADD) +@CROSS_TRUE@stage1flex_LDADD = +@CROSS_FALSE@stage1flex_LINK = $(LINK) +@CROSS_TRUE@stage1flex_LINK = $(LIBTOOL) --tag=CC --mode=link $(CC_FOR_BUILD) \ +@CROSS_TRUE@ $(CFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) -o $@ + +@CROSS_FALSE@stage1flex_CFLAGS = $(AM_CFLAGS) +flex_SOURCES = \ + $(COMMON_SOURCES) + +nodist_flex_SOURCES = \ + stage1scan.c + +flex_CFLAGS = $(AM_CFLAGS) $(WARNINGFLAGS) +COMMON_SOURCES = \ + buf.c \ + ccl.c \ + dfa.c \ + ecs.c \ + filter.c \ + flexdef.h \ + flexint.h \ + gen.c \ + main.c \ + misc.c \ + nfa.c \ + options.c \ + options.h \ + parse.y \ + regex.c \ + scanflags.c \ + scanopt.c \ + scanopt.h \ + skel.c \ + sym.c \ + tables.c \ + tables.h \ + tables_shared.c \ + tables_shared.h \ + tblcmp.c \ + version.h \ + yylex.c + +LDADD = $(LIBOBJS) @LIBINTL@ +include_HEADERS = \ + FlexLexer.h + +EXTRA_DIST = \ + flex.skl \ + mkskel.sh \ + gettext.h + +CLEANFILES = stage1scan.c stage1flex$(EXEEXT) +MAINTAINERCLEANFILES = skel.c + +# Run GNU indent on sources. Don't run this unless all the sources compile cleanly. +# +# Whole idea: +# 1. Check for .indent.pro, otherwise indent will use unknown +# settings, or worse, the GNU defaults.) +# 2. Check that this is GNU indent. +# 3. Make sure to process only the NON-generated .c and .h files. +# 4. Run indent twice per file. The first time is a test. +# Otherwise, indent overwrites your file even if it fails! +indentfiles = \ + buf.c \ + ccl.c \ + dfa.c \ + ecs.c \ + scanflags.c \ + filter.c \ + flexdef.h \ + gen.c \ + libmain.c \ + libyywrap.c \ + main.c \ + misc.c \ + nfa.c \ + options.c \ + options.h \ + regex.c \ + scanopt.c \ + scanopt.h \ + sym.c \ + tables.c \ + tables.h \ + tables_shared.c \ + tables_shared.h \ + tblcmp.c + +all: config.h + $(MAKE) $(AM_MAKEFLAGS) all-am + +.SUFFIXES: +.SUFFIXES: .c .l .lo .o .obj .y +$(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) --foreign src/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign src/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): + +config.h: stamp-h1 + @test -f $@ || rm -f stamp-h1 + @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1 + +stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status + @rm -f stamp-h1 + cd $(top_builddir) && $(SHELL) ./config.status src/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 + +install-libLTLIBRARIES: $(lib_LTLIBRARIES) + @$(NORMAL_INSTALL) + @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 " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \ + 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)'; \ + locs=`for p in $$list; do echo $$p; done | \ + sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ + sort -u`; \ + test -z "$$locs" || { \ + echo rm -f $${locs}; \ + rm -f $${locs}; \ + } + +libfl.la: $(libfl_la_OBJECTS) $(libfl_la_DEPENDENCIES) $(EXTRA_libfl_la_DEPENDENCIES) + $(AM_V_CCLD)$(libfl_la_LINK) $(am_libfl_la_rpath) $(libfl_la_OBJECTS) $(libfl_la_LIBADD) $(LIBS) +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ + fi; \ + 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)'; 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: + @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 + +installcheck-binPROGRAMS: $(bin_PROGRAMS) + bad=0; pid=$$$$; list="$(bin_PROGRAMS)"; for p in $$list; do \ + case ' $(AM_INSTALLCHECK_STD_OPTIONS_EXEMPT) ' in \ + *" $$p "* | *" $(srcdir)/$$p "*) continue;; \ + esac; \ + f=`echo "$$p" | \ + sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ + for opt in --help --version; do \ + if "$(DESTDIR)$(bindir)/$$f" $$opt >c$${pid}_.out \ + 2>c$${pid}_.err &2; bad=1; fi; \ + done; \ + done; rm -f c$${pid}_.???; exit $$bad + +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 +parse.h: parse.c + @if test ! -f $@; then rm -f parse.c; else :; fi + @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) parse.c; else :; fi + +flex$(EXEEXT): $(flex_OBJECTS) $(flex_DEPENDENCIES) $(EXTRA_flex_DEPENDENCIES) + @rm -f flex$(EXEEXT) + $(AM_V_CCLD)$(flex_LINK) $(flex_OBJECTS) $(flex_LDADD) $(LIBS) +../lib/$(am__dirstamp): + @$(MKDIR_P) ../lib + @: > ../lib/$(am__dirstamp) +../lib/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) ../lib/$(DEPDIR) + @: > ../lib/$(DEPDIR)/$(am__dirstamp) +../lib/stage1flex-malloc.$(OBJEXT): ../lib/$(am__dirstamp) \ + ../lib/$(DEPDIR)/$(am__dirstamp) +../lib/stage1flex-realloc.$(OBJEXT): ../lib/$(am__dirstamp) \ + ../lib/$(DEPDIR)/$(am__dirstamp) + +stage1flex$(EXEEXT): $(stage1flex_OBJECTS) $(stage1flex_DEPENDENCIES) $(EXTRA_stage1flex_DEPENDENCIES) + @rm -f stage1flex$(EXEEXT) + $(AM_V_GEN)$(stage1flex_LINK) $(stage1flex_OBJECTS) $(stage1flex_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + -rm -f ../lib/*.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@../lib/$(DEPDIR)/malloc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@../lib/$(DEPDIR)/realloc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@../lib/$(DEPDIR)/stage1flex-malloc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@../lib/$(DEPDIR)/stage1flex-realloc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/flex-buf.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/flex-ccl.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/flex-dfa.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/flex-ecs.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/flex-filter.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/flex-gen.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/flex-main.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/flex-misc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/flex-nfa.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/flex-options.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/flex-parse.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/flex-regex.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/flex-scanflags.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/flex-scanopt.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/flex-skel.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/flex-stage1scan.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/flex-sym.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/flex-tables.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/flex-tables_shared.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/flex-tblcmp.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/flex-yylex.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmain.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libyywrap.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stage1flex-buf.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stage1flex-ccl.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stage1flex-dfa.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stage1flex-ecs.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stage1flex-filter.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stage1flex-gen.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stage1flex-main.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stage1flex-misc.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stage1flex-nfa.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stage1flex-options.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stage1flex-parse.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stage1flex-regex.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stage1flex-scan.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stage1flex-scanflags.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stage1flex-scanopt.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stage1flex-skel.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stage1flex-sym.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stage1flex-tables.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stage1flex-tables_shared.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stage1flex-tblcmp.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stage1flex-yylex.Po@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< + +.c.obj: +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< + +flex-buf.o: buf.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -MT flex-buf.o -MD -MP -MF $(DEPDIR)/flex-buf.Tpo -c -o flex-buf.o `test -f 'buf.c' || echo '$(srcdir)/'`buf.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/flex-buf.Tpo $(DEPDIR)/flex-buf.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='buf.c' object='flex-buf.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -c -o flex-buf.o `test -f 'buf.c' || echo '$(srcdir)/'`buf.c + +flex-buf.obj: buf.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -MT flex-buf.obj -MD -MP -MF $(DEPDIR)/flex-buf.Tpo -c -o flex-buf.obj `if test -f 'buf.c'; then $(CYGPATH_W) 'buf.c'; else $(CYGPATH_W) '$(srcdir)/buf.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/flex-buf.Tpo $(DEPDIR)/flex-buf.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='buf.c' object='flex-buf.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -c -o flex-buf.obj `if test -f 'buf.c'; then $(CYGPATH_W) 'buf.c'; else $(CYGPATH_W) '$(srcdir)/buf.c'; fi` + +flex-ccl.o: ccl.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -MT flex-ccl.o -MD -MP -MF $(DEPDIR)/flex-ccl.Tpo -c -o flex-ccl.o `test -f 'ccl.c' || echo '$(srcdir)/'`ccl.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/flex-ccl.Tpo $(DEPDIR)/flex-ccl.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ccl.c' object='flex-ccl.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -c -o flex-ccl.o `test -f 'ccl.c' || echo '$(srcdir)/'`ccl.c + +flex-ccl.obj: ccl.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -MT flex-ccl.obj -MD -MP -MF $(DEPDIR)/flex-ccl.Tpo -c -o flex-ccl.obj `if test -f 'ccl.c'; then $(CYGPATH_W) 'ccl.c'; else $(CYGPATH_W) '$(srcdir)/ccl.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/flex-ccl.Tpo $(DEPDIR)/flex-ccl.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ccl.c' object='flex-ccl.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -c -o flex-ccl.obj `if test -f 'ccl.c'; then $(CYGPATH_W) 'ccl.c'; else $(CYGPATH_W) '$(srcdir)/ccl.c'; fi` + +flex-dfa.o: dfa.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -MT flex-dfa.o -MD -MP -MF $(DEPDIR)/flex-dfa.Tpo -c -o flex-dfa.o `test -f 'dfa.c' || echo '$(srcdir)/'`dfa.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/flex-dfa.Tpo $(DEPDIR)/flex-dfa.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='dfa.c' object='flex-dfa.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -c -o flex-dfa.o `test -f 'dfa.c' || echo '$(srcdir)/'`dfa.c + +flex-dfa.obj: dfa.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -MT flex-dfa.obj -MD -MP -MF $(DEPDIR)/flex-dfa.Tpo -c -o flex-dfa.obj `if test -f 'dfa.c'; then $(CYGPATH_W) 'dfa.c'; else $(CYGPATH_W) '$(srcdir)/dfa.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/flex-dfa.Tpo $(DEPDIR)/flex-dfa.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='dfa.c' object='flex-dfa.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -c -o flex-dfa.obj `if test -f 'dfa.c'; then $(CYGPATH_W) 'dfa.c'; else $(CYGPATH_W) '$(srcdir)/dfa.c'; fi` + +flex-ecs.o: ecs.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -MT flex-ecs.o -MD -MP -MF $(DEPDIR)/flex-ecs.Tpo -c -o flex-ecs.o `test -f 'ecs.c' || echo '$(srcdir)/'`ecs.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/flex-ecs.Tpo $(DEPDIR)/flex-ecs.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ecs.c' object='flex-ecs.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -c -o flex-ecs.o `test -f 'ecs.c' || echo '$(srcdir)/'`ecs.c + +flex-ecs.obj: ecs.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -MT flex-ecs.obj -MD -MP -MF $(DEPDIR)/flex-ecs.Tpo -c -o flex-ecs.obj `if test -f 'ecs.c'; then $(CYGPATH_W) 'ecs.c'; else $(CYGPATH_W) '$(srcdir)/ecs.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/flex-ecs.Tpo $(DEPDIR)/flex-ecs.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ecs.c' object='flex-ecs.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -c -o flex-ecs.obj `if test -f 'ecs.c'; then $(CYGPATH_W) 'ecs.c'; else $(CYGPATH_W) '$(srcdir)/ecs.c'; fi` + +flex-filter.o: filter.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -MT flex-filter.o -MD -MP -MF $(DEPDIR)/flex-filter.Tpo -c -o flex-filter.o `test -f 'filter.c' || echo '$(srcdir)/'`filter.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/flex-filter.Tpo $(DEPDIR)/flex-filter.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='filter.c' object='flex-filter.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -c -o flex-filter.o `test -f 'filter.c' || echo '$(srcdir)/'`filter.c + +flex-filter.obj: filter.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -MT flex-filter.obj -MD -MP -MF $(DEPDIR)/flex-filter.Tpo -c -o flex-filter.obj `if test -f 'filter.c'; then $(CYGPATH_W) 'filter.c'; else $(CYGPATH_W) '$(srcdir)/filter.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/flex-filter.Tpo $(DEPDIR)/flex-filter.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='filter.c' object='flex-filter.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -c -o flex-filter.obj `if test -f 'filter.c'; then $(CYGPATH_W) 'filter.c'; else $(CYGPATH_W) '$(srcdir)/filter.c'; fi` + +flex-gen.o: gen.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -MT flex-gen.o -MD -MP -MF $(DEPDIR)/flex-gen.Tpo -c -o flex-gen.o `test -f 'gen.c' || echo '$(srcdir)/'`gen.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/flex-gen.Tpo $(DEPDIR)/flex-gen.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gen.c' object='flex-gen.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -c -o flex-gen.o `test -f 'gen.c' || echo '$(srcdir)/'`gen.c + +flex-gen.obj: gen.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -MT flex-gen.obj -MD -MP -MF $(DEPDIR)/flex-gen.Tpo -c -o flex-gen.obj `if test -f 'gen.c'; then $(CYGPATH_W) 'gen.c'; else $(CYGPATH_W) '$(srcdir)/gen.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/flex-gen.Tpo $(DEPDIR)/flex-gen.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gen.c' object='flex-gen.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -c -o flex-gen.obj `if test -f 'gen.c'; then $(CYGPATH_W) 'gen.c'; else $(CYGPATH_W) '$(srcdir)/gen.c'; fi` + +flex-main.o: main.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -MT flex-main.o -MD -MP -MF $(DEPDIR)/flex-main.Tpo -c -o flex-main.o `test -f 'main.c' || echo '$(srcdir)/'`main.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/flex-main.Tpo $(DEPDIR)/flex-main.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='main.c' object='flex-main.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -c -o flex-main.o `test -f 'main.c' || echo '$(srcdir)/'`main.c + +flex-main.obj: main.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -MT flex-main.obj -MD -MP -MF $(DEPDIR)/flex-main.Tpo -c -o flex-main.obj `if test -f 'main.c'; then $(CYGPATH_W) 'main.c'; else $(CYGPATH_W) '$(srcdir)/main.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/flex-main.Tpo $(DEPDIR)/flex-main.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='main.c' object='flex-main.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -c -o flex-main.obj `if test -f 'main.c'; then $(CYGPATH_W) 'main.c'; else $(CYGPATH_W) '$(srcdir)/main.c'; fi` + +flex-misc.o: misc.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -MT flex-misc.o -MD -MP -MF $(DEPDIR)/flex-misc.Tpo -c -o flex-misc.o `test -f 'misc.c' || echo '$(srcdir)/'`misc.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/flex-misc.Tpo $(DEPDIR)/flex-misc.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='misc.c' object='flex-misc.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -c -o flex-misc.o `test -f 'misc.c' || echo '$(srcdir)/'`misc.c + +flex-misc.obj: misc.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -MT flex-misc.obj -MD -MP -MF $(DEPDIR)/flex-misc.Tpo -c -o flex-misc.obj `if test -f 'misc.c'; then $(CYGPATH_W) 'misc.c'; else $(CYGPATH_W) '$(srcdir)/misc.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/flex-misc.Tpo $(DEPDIR)/flex-misc.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='misc.c' object='flex-misc.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -c -o flex-misc.obj `if test -f 'misc.c'; then $(CYGPATH_W) 'misc.c'; else $(CYGPATH_W) '$(srcdir)/misc.c'; fi` + +flex-nfa.o: nfa.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -MT flex-nfa.o -MD -MP -MF $(DEPDIR)/flex-nfa.Tpo -c -o flex-nfa.o `test -f 'nfa.c' || echo '$(srcdir)/'`nfa.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/flex-nfa.Tpo $(DEPDIR)/flex-nfa.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='nfa.c' object='flex-nfa.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -c -o flex-nfa.o `test -f 'nfa.c' || echo '$(srcdir)/'`nfa.c + +flex-nfa.obj: nfa.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -MT flex-nfa.obj -MD -MP -MF $(DEPDIR)/flex-nfa.Tpo -c -o flex-nfa.obj `if test -f 'nfa.c'; then $(CYGPATH_W) 'nfa.c'; else $(CYGPATH_W) '$(srcdir)/nfa.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/flex-nfa.Tpo $(DEPDIR)/flex-nfa.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='nfa.c' object='flex-nfa.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -c -o flex-nfa.obj `if test -f 'nfa.c'; then $(CYGPATH_W) 'nfa.c'; else $(CYGPATH_W) '$(srcdir)/nfa.c'; fi` + +flex-options.o: options.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -MT flex-options.o -MD -MP -MF $(DEPDIR)/flex-options.Tpo -c -o flex-options.o `test -f 'options.c' || echo '$(srcdir)/'`options.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/flex-options.Tpo $(DEPDIR)/flex-options.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='options.c' object='flex-options.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -c -o flex-options.o `test -f 'options.c' || echo '$(srcdir)/'`options.c + +flex-options.obj: options.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -MT flex-options.obj -MD -MP -MF $(DEPDIR)/flex-options.Tpo -c -o flex-options.obj `if test -f 'options.c'; then $(CYGPATH_W) 'options.c'; else $(CYGPATH_W) '$(srcdir)/options.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/flex-options.Tpo $(DEPDIR)/flex-options.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='options.c' object='flex-options.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -c -o flex-options.obj `if test -f 'options.c'; then $(CYGPATH_W) 'options.c'; else $(CYGPATH_W) '$(srcdir)/options.c'; fi` + +flex-parse.o: parse.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -MT flex-parse.o -MD -MP -MF $(DEPDIR)/flex-parse.Tpo -c -o flex-parse.o `test -f 'parse.c' || echo '$(srcdir)/'`parse.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/flex-parse.Tpo $(DEPDIR)/flex-parse.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='parse.c' object='flex-parse.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -c -o flex-parse.o `test -f 'parse.c' || echo '$(srcdir)/'`parse.c + +flex-parse.obj: parse.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -MT flex-parse.obj -MD -MP -MF $(DEPDIR)/flex-parse.Tpo -c -o flex-parse.obj `if test -f 'parse.c'; then $(CYGPATH_W) 'parse.c'; else $(CYGPATH_W) '$(srcdir)/parse.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/flex-parse.Tpo $(DEPDIR)/flex-parse.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='parse.c' object='flex-parse.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -c -o flex-parse.obj `if test -f 'parse.c'; then $(CYGPATH_W) 'parse.c'; else $(CYGPATH_W) '$(srcdir)/parse.c'; fi` + +flex-regex.o: regex.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -MT flex-regex.o -MD -MP -MF $(DEPDIR)/flex-regex.Tpo -c -o flex-regex.o `test -f 'regex.c' || echo '$(srcdir)/'`regex.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/flex-regex.Tpo $(DEPDIR)/flex-regex.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='regex.c' object='flex-regex.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -c -o flex-regex.o `test -f 'regex.c' || echo '$(srcdir)/'`regex.c + +flex-regex.obj: regex.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -MT flex-regex.obj -MD -MP -MF $(DEPDIR)/flex-regex.Tpo -c -o flex-regex.obj `if test -f 'regex.c'; then $(CYGPATH_W) 'regex.c'; else $(CYGPATH_W) '$(srcdir)/regex.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/flex-regex.Tpo $(DEPDIR)/flex-regex.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='regex.c' object='flex-regex.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -c -o flex-regex.obj `if test -f 'regex.c'; then $(CYGPATH_W) 'regex.c'; else $(CYGPATH_W) '$(srcdir)/regex.c'; fi` + +flex-scanflags.o: scanflags.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -MT flex-scanflags.o -MD -MP -MF $(DEPDIR)/flex-scanflags.Tpo -c -o flex-scanflags.o `test -f 'scanflags.c' || echo '$(srcdir)/'`scanflags.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/flex-scanflags.Tpo $(DEPDIR)/flex-scanflags.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='scanflags.c' object='flex-scanflags.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -c -o flex-scanflags.o `test -f 'scanflags.c' || echo '$(srcdir)/'`scanflags.c + +flex-scanflags.obj: scanflags.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -MT flex-scanflags.obj -MD -MP -MF $(DEPDIR)/flex-scanflags.Tpo -c -o flex-scanflags.obj `if test -f 'scanflags.c'; then $(CYGPATH_W) 'scanflags.c'; else $(CYGPATH_W) '$(srcdir)/scanflags.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/flex-scanflags.Tpo $(DEPDIR)/flex-scanflags.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='scanflags.c' object='flex-scanflags.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -c -o flex-scanflags.obj `if test -f 'scanflags.c'; then $(CYGPATH_W) 'scanflags.c'; else $(CYGPATH_W) '$(srcdir)/scanflags.c'; fi` + +flex-scanopt.o: scanopt.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -MT flex-scanopt.o -MD -MP -MF $(DEPDIR)/flex-scanopt.Tpo -c -o flex-scanopt.o `test -f 'scanopt.c' || echo '$(srcdir)/'`scanopt.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/flex-scanopt.Tpo $(DEPDIR)/flex-scanopt.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='scanopt.c' object='flex-scanopt.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -c -o flex-scanopt.o `test -f 'scanopt.c' || echo '$(srcdir)/'`scanopt.c + +flex-scanopt.obj: scanopt.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -MT flex-scanopt.obj -MD -MP -MF $(DEPDIR)/flex-scanopt.Tpo -c -o flex-scanopt.obj `if test -f 'scanopt.c'; then $(CYGPATH_W) 'scanopt.c'; else $(CYGPATH_W) '$(srcdir)/scanopt.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/flex-scanopt.Tpo $(DEPDIR)/flex-scanopt.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='scanopt.c' object='flex-scanopt.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -c -o flex-scanopt.obj `if test -f 'scanopt.c'; then $(CYGPATH_W) 'scanopt.c'; else $(CYGPATH_W) '$(srcdir)/scanopt.c'; fi` + +flex-skel.o: skel.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -MT flex-skel.o -MD -MP -MF $(DEPDIR)/flex-skel.Tpo -c -o flex-skel.o `test -f 'skel.c' || echo '$(srcdir)/'`skel.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/flex-skel.Tpo $(DEPDIR)/flex-skel.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='skel.c' object='flex-skel.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -c -o flex-skel.o `test -f 'skel.c' || echo '$(srcdir)/'`skel.c + +flex-skel.obj: skel.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -MT flex-skel.obj -MD -MP -MF $(DEPDIR)/flex-skel.Tpo -c -o flex-skel.obj `if test -f 'skel.c'; then $(CYGPATH_W) 'skel.c'; else $(CYGPATH_W) '$(srcdir)/skel.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/flex-skel.Tpo $(DEPDIR)/flex-skel.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='skel.c' object='flex-skel.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -c -o flex-skel.obj `if test -f 'skel.c'; then $(CYGPATH_W) 'skel.c'; else $(CYGPATH_W) '$(srcdir)/skel.c'; fi` + +flex-sym.o: sym.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -MT flex-sym.o -MD -MP -MF $(DEPDIR)/flex-sym.Tpo -c -o flex-sym.o `test -f 'sym.c' || echo '$(srcdir)/'`sym.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/flex-sym.Tpo $(DEPDIR)/flex-sym.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sym.c' object='flex-sym.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -c -o flex-sym.o `test -f 'sym.c' || echo '$(srcdir)/'`sym.c + +flex-sym.obj: sym.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -MT flex-sym.obj -MD -MP -MF $(DEPDIR)/flex-sym.Tpo -c -o flex-sym.obj `if test -f 'sym.c'; then $(CYGPATH_W) 'sym.c'; else $(CYGPATH_W) '$(srcdir)/sym.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/flex-sym.Tpo $(DEPDIR)/flex-sym.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sym.c' object='flex-sym.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -c -o flex-sym.obj `if test -f 'sym.c'; then $(CYGPATH_W) 'sym.c'; else $(CYGPATH_W) '$(srcdir)/sym.c'; fi` + +flex-tables.o: tables.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -MT flex-tables.o -MD -MP -MF $(DEPDIR)/flex-tables.Tpo -c -o flex-tables.o `test -f 'tables.c' || echo '$(srcdir)/'`tables.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/flex-tables.Tpo $(DEPDIR)/flex-tables.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='tables.c' object='flex-tables.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -c -o flex-tables.o `test -f 'tables.c' || echo '$(srcdir)/'`tables.c + +flex-tables.obj: tables.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -MT flex-tables.obj -MD -MP -MF $(DEPDIR)/flex-tables.Tpo -c -o flex-tables.obj `if test -f 'tables.c'; then $(CYGPATH_W) 'tables.c'; else $(CYGPATH_W) '$(srcdir)/tables.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/flex-tables.Tpo $(DEPDIR)/flex-tables.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='tables.c' object='flex-tables.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -c -o flex-tables.obj `if test -f 'tables.c'; then $(CYGPATH_W) 'tables.c'; else $(CYGPATH_W) '$(srcdir)/tables.c'; fi` + +flex-tables_shared.o: tables_shared.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -MT flex-tables_shared.o -MD -MP -MF $(DEPDIR)/flex-tables_shared.Tpo -c -o flex-tables_shared.o `test -f 'tables_shared.c' || echo '$(srcdir)/'`tables_shared.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/flex-tables_shared.Tpo $(DEPDIR)/flex-tables_shared.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='tables_shared.c' object='flex-tables_shared.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -c -o flex-tables_shared.o `test -f 'tables_shared.c' || echo '$(srcdir)/'`tables_shared.c + +flex-tables_shared.obj: tables_shared.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -MT flex-tables_shared.obj -MD -MP -MF $(DEPDIR)/flex-tables_shared.Tpo -c -o flex-tables_shared.obj `if test -f 'tables_shared.c'; then $(CYGPATH_W) 'tables_shared.c'; else $(CYGPATH_W) '$(srcdir)/tables_shared.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/flex-tables_shared.Tpo $(DEPDIR)/flex-tables_shared.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='tables_shared.c' object='flex-tables_shared.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -c -o flex-tables_shared.obj `if test -f 'tables_shared.c'; then $(CYGPATH_W) 'tables_shared.c'; else $(CYGPATH_W) '$(srcdir)/tables_shared.c'; fi` + +flex-tblcmp.o: tblcmp.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -MT flex-tblcmp.o -MD -MP -MF $(DEPDIR)/flex-tblcmp.Tpo -c -o flex-tblcmp.o `test -f 'tblcmp.c' || echo '$(srcdir)/'`tblcmp.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/flex-tblcmp.Tpo $(DEPDIR)/flex-tblcmp.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='tblcmp.c' object='flex-tblcmp.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -c -o flex-tblcmp.o `test -f 'tblcmp.c' || echo '$(srcdir)/'`tblcmp.c + +flex-tblcmp.obj: tblcmp.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -MT flex-tblcmp.obj -MD -MP -MF $(DEPDIR)/flex-tblcmp.Tpo -c -o flex-tblcmp.obj `if test -f 'tblcmp.c'; then $(CYGPATH_W) 'tblcmp.c'; else $(CYGPATH_W) '$(srcdir)/tblcmp.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/flex-tblcmp.Tpo $(DEPDIR)/flex-tblcmp.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='tblcmp.c' object='flex-tblcmp.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -c -o flex-tblcmp.obj `if test -f 'tblcmp.c'; then $(CYGPATH_W) 'tblcmp.c'; else $(CYGPATH_W) '$(srcdir)/tblcmp.c'; fi` + +flex-yylex.o: yylex.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -MT flex-yylex.o -MD -MP -MF $(DEPDIR)/flex-yylex.Tpo -c -o flex-yylex.o `test -f 'yylex.c' || echo '$(srcdir)/'`yylex.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/flex-yylex.Tpo $(DEPDIR)/flex-yylex.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='yylex.c' object='flex-yylex.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -c -o flex-yylex.o `test -f 'yylex.c' || echo '$(srcdir)/'`yylex.c + +flex-yylex.obj: yylex.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -MT flex-yylex.obj -MD -MP -MF $(DEPDIR)/flex-yylex.Tpo -c -o flex-yylex.obj `if test -f 'yylex.c'; then $(CYGPATH_W) 'yylex.c'; else $(CYGPATH_W) '$(srcdir)/yylex.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/flex-yylex.Tpo $(DEPDIR)/flex-yylex.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='yylex.c' object='flex-yylex.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -c -o flex-yylex.obj `if test -f 'yylex.c'; then $(CYGPATH_W) 'yylex.c'; else $(CYGPATH_W) '$(srcdir)/yylex.c'; fi` + +flex-stage1scan.o: stage1scan.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -MT flex-stage1scan.o -MD -MP -MF $(DEPDIR)/flex-stage1scan.Tpo -c -o flex-stage1scan.o `test -f 'stage1scan.c' || echo '$(srcdir)/'`stage1scan.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/flex-stage1scan.Tpo $(DEPDIR)/flex-stage1scan.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='stage1scan.c' object='flex-stage1scan.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -c -o flex-stage1scan.o `test -f 'stage1scan.c' || echo '$(srcdir)/'`stage1scan.c + +flex-stage1scan.obj: stage1scan.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -MT flex-stage1scan.obj -MD -MP -MF $(DEPDIR)/flex-stage1scan.Tpo -c -o flex-stage1scan.obj `if test -f 'stage1scan.c'; then $(CYGPATH_W) 'stage1scan.c'; else $(CYGPATH_W) '$(srcdir)/stage1scan.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/flex-stage1scan.Tpo $(DEPDIR)/flex-stage1scan.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='stage1scan.c' object='flex-stage1scan.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(flex_CFLAGS) $(CFLAGS) -c -o flex-stage1scan.obj `if test -f 'stage1scan.c'; then $(CYGPATH_W) 'stage1scan.c'; else $(CYGPATH_W) '$(srcdir)/stage1scan.c'; fi` + +stage1flex-scan.o: scan.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -MT stage1flex-scan.o -MD -MP -MF $(DEPDIR)/stage1flex-scan.Tpo -c -o stage1flex-scan.o `test -f 'scan.c' || echo '$(srcdir)/'`scan.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/stage1flex-scan.Tpo $(DEPDIR)/stage1flex-scan.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='scan.c' object='stage1flex-scan.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -c -o stage1flex-scan.o `test -f 'scan.c' || echo '$(srcdir)/'`scan.c + +stage1flex-scan.obj: scan.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -MT stage1flex-scan.obj -MD -MP -MF $(DEPDIR)/stage1flex-scan.Tpo -c -o stage1flex-scan.obj `if test -f 'scan.c'; then $(CYGPATH_W) 'scan.c'; else $(CYGPATH_W) '$(srcdir)/scan.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/stage1flex-scan.Tpo $(DEPDIR)/stage1flex-scan.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='scan.c' object='stage1flex-scan.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -c -o stage1flex-scan.obj `if test -f 'scan.c'; then $(CYGPATH_W) 'scan.c'; else $(CYGPATH_W) '$(srcdir)/scan.c'; fi` + +stage1flex-buf.o: buf.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -MT stage1flex-buf.o -MD -MP -MF $(DEPDIR)/stage1flex-buf.Tpo -c -o stage1flex-buf.o `test -f 'buf.c' || echo '$(srcdir)/'`buf.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/stage1flex-buf.Tpo $(DEPDIR)/stage1flex-buf.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='buf.c' object='stage1flex-buf.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -c -o stage1flex-buf.o `test -f 'buf.c' || echo '$(srcdir)/'`buf.c + +stage1flex-buf.obj: buf.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -MT stage1flex-buf.obj -MD -MP -MF $(DEPDIR)/stage1flex-buf.Tpo -c -o stage1flex-buf.obj `if test -f 'buf.c'; then $(CYGPATH_W) 'buf.c'; else $(CYGPATH_W) '$(srcdir)/buf.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/stage1flex-buf.Tpo $(DEPDIR)/stage1flex-buf.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='buf.c' object='stage1flex-buf.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -c -o stage1flex-buf.obj `if test -f 'buf.c'; then $(CYGPATH_W) 'buf.c'; else $(CYGPATH_W) '$(srcdir)/buf.c'; fi` + +stage1flex-ccl.o: ccl.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -MT stage1flex-ccl.o -MD -MP -MF $(DEPDIR)/stage1flex-ccl.Tpo -c -o stage1flex-ccl.o `test -f 'ccl.c' || echo '$(srcdir)/'`ccl.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/stage1flex-ccl.Tpo $(DEPDIR)/stage1flex-ccl.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ccl.c' object='stage1flex-ccl.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -c -o stage1flex-ccl.o `test -f 'ccl.c' || echo '$(srcdir)/'`ccl.c + +stage1flex-ccl.obj: ccl.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -MT stage1flex-ccl.obj -MD -MP -MF $(DEPDIR)/stage1flex-ccl.Tpo -c -o stage1flex-ccl.obj `if test -f 'ccl.c'; then $(CYGPATH_W) 'ccl.c'; else $(CYGPATH_W) '$(srcdir)/ccl.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/stage1flex-ccl.Tpo $(DEPDIR)/stage1flex-ccl.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ccl.c' object='stage1flex-ccl.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -c -o stage1flex-ccl.obj `if test -f 'ccl.c'; then $(CYGPATH_W) 'ccl.c'; else $(CYGPATH_W) '$(srcdir)/ccl.c'; fi` + +stage1flex-dfa.o: dfa.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -MT stage1flex-dfa.o -MD -MP -MF $(DEPDIR)/stage1flex-dfa.Tpo -c -o stage1flex-dfa.o `test -f 'dfa.c' || echo '$(srcdir)/'`dfa.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/stage1flex-dfa.Tpo $(DEPDIR)/stage1flex-dfa.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='dfa.c' object='stage1flex-dfa.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -c -o stage1flex-dfa.o `test -f 'dfa.c' || echo '$(srcdir)/'`dfa.c + +stage1flex-dfa.obj: dfa.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -MT stage1flex-dfa.obj -MD -MP -MF $(DEPDIR)/stage1flex-dfa.Tpo -c -o stage1flex-dfa.obj `if test -f 'dfa.c'; then $(CYGPATH_W) 'dfa.c'; else $(CYGPATH_W) '$(srcdir)/dfa.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/stage1flex-dfa.Tpo $(DEPDIR)/stage1flex-dfa.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='dfa.c' object='stage1flex-dfa.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -c -o stage1flex-dfa.obj `if test -f 'dfa.c'; then $(CYGPATH_W) 'dfa.c'; else $(CYGPATH_W) '$(srcdir)/dfa.c'; fi` + +stage1flex-ecs.o: ecs.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -MT stage1flex-ecs.o -MD -MP -MF $(DEPDIR)/stage1flex-ecs.Tpo -c -o stage1flex-ecs.o `test -f 'ecs.c' || echo '$(srcdir)/'`ecs.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/stage1flex-ecs.Tpo $(DEPDIR)/stage1flex-ecs.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ecs.c' object='stage1flex-ecs.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -c -o stage1flex-ecs.o `test -f 'ecs.c' || echo '$(srcdir)/'`ecs.c + +stage1flex-ecs.obj: ecs.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -MT stage1flex-ecs.obj -MD -MP -MF $(DEPDIR)/stage1flex-ecs.Tpo -c -o stage1flex-ecs.obj `if test -f 'ecs.c'; then $(CYGPATH_W) 'ecs.c'; else $(CYGPATH_W) '$(srcdir)/ecs.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/stage1flex-ecs.Tpo $(DEPDIR)/stage1flex-ecs.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='ecs.c' object='stage1flex-ecs.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -c -o stage1flex-ecs.obj `if test -f 'ecs.c'; then $(CYGPATH_W) 'ecs.c'; else $(CYGPATH_W) '$(srcdir)/ecs.c'; fi` + +stage1flex-filter.o: filter.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -MT stage1flex-filter.o -MD -MP -MF $(DEPDIR)/stage1flex-filter.Tpo -c -o stage1flex-filter.o `test -f 'filter.c' || echo '$(srcdir)/'`filter.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/stage1flex-filter.Tpo $(DEPDIR)/stage1flex-filter.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='filter.c' object='stage1flex-filter.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -c -o stage1flex-filter.o `test -f 'filter.c' || echo '$(srcdir)/'`filter.c + +stage1flex-filter.obj: filter.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -MT stage1flex-filter.obj -MD -MP -MF $(DEPDIR)/stage1flex-filter.Tpo -c -o stage1flex-filter.obj `if test -f 'filter.c'; then $(CYGPATH_W) 'filter.c'; else $(CYGPATH_W) '$(srcdir)/filter.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/stage1flex-filter.Tpo $(DEPDIR)/stage1flex-filter.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='filter.c' object='stage1flex-filter.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -c -o stage1flex-filter.obj `if test -f 'filter.c'; then $(CYGPATH_W) 'filter.c'; else $(CYGPATH_W) '$(srcdir)/filter.c'; fi` + +stage1flex-gen.o: gen.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -MT stage1flex-gen.o -MD -MP -MF $(DEPDIR)/stage1flex-gen.Tpo -c -o stage1flex-gen.o `test -f 'gen.c' || echo '$(srcdir)/'`gen.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/stage1flex-gen.Tpo $(DEPDIR)/stage1flex-gen.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gen.c' object='stage1flex-gen.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -c -o stage1flex-gen.o `test -f 'gen.c' || echo '$(srcdir)/'`gen.c + +stage1flex-gen.obj: gen.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -MT stage1flex-gen.obj -MD -MP -MF $(DEPDIR)/stage1flex-gen.Tpo -c -o stage1flex-gen.obj `if test -f 'gen.c'; then $(CYGPATH_W) 'gen.c'; else $(CYGPATH_W) '$(srcdir)/gen.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/stage1flex-gen.Tpo $(DEPDIR)/stage1flex-gen.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gen.c' object='stage1flex-gen.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -c -o stage1flex-gen.obj `if test -f 'gen.c'; then $(CYGPATH_W) 'gen.c'; else $(CYGPATH_W) '$(srcdir)/gen.c'; fi` + +stage1flex-main.o: main.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -MT stage1flex-main.o -MD -MP -MF $(DEPDIR)/stage1flex-main.Tpo -c -o stage1flex-main.o `test -f 'main.c' || echo '$(srcdir)/'`main.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/stage1flex-main.Tpo $(DEPDIR)/stage1flex-main.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='main.c' object='stage1flex-main.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -c -o stage1flex-main.o `test -f 'main.c' || echo '$(srcdir)/'`main.c + +stage1flex-main.obj: main.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -MT stage1flex-main.obj -MD -MP -MF $(DEPDIR)/stage1flex-main.Tpo -c -o stage1flex-main.obj `if test -f 'main.c'; then $(CYGPATH_W) 'main.c'; else $(CYGPATH_W) '$(srcdir)/main.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/stage1flex-main.Tpo $(DEPDIR)/stage1flex-main.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='main.c' object='stage1flex-main.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -c -o stage1flex-main.obj `if test -f 'main.c'; then $(CYGPATH_W) 'main.c'; else $(CYGPATH_W) '$(srcdir)/main.c'; fi` + +stage1flex-misc.o: misc.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -MT stage1flex-misc.o -MD -MP -MF $(DEPDIR)/stage1flex-misc.Tpo -c -o stage1flex-misc.o `test -f 'misc.c' || echo '$(srcdir)/'`misc.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/stage1flex-misc.Tpo $(DEPDIR)/stage1flex-misc.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='misc.c' object='stage1flex-misc.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -c -o stage1flex-misc.o `test -f 'misc.c' || echo '$(srcdir)/'`misc.c + +stage1flex-misc.obj: misc.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -MT stage1flex-misc.obj -MD -MP -MF $(DEPDIR)/stage1flex-misc.Tpo -c -o stage1flex-misc.obj `if test -f 'misc.c'; then $(CYGPATH_W) 'misc.c'; else $(CYGPATH_W) '$(srcdir)/misc.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/stage1flex-misc.Tpo $(DEPDIR)/stage1flex-misc.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='misc.c' object='stage1flex-misc.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -c -o stage1flex-misc.obj `if test -f 'misc.c'; then $(CYGPATH_W) 'misc.c'; else $(CYGPATH_W) '$(srcdir)/misc.c'; fi` + +stage1flex-nfa.o: nfa.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -MT stage1flex-nfa.o -MD -MP -MF $(DEPDIR)/stage1flex-nfa.Tpo -c -o stage1flex-nfa.o `test -f 'nfa.c' || echo '$(srcdir)/'`nfa.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/stage1flex-nfa.Tpo $(DEPDIR)/stage1flex-nfa.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='nfa.c' object='stage1flex-nfa.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -c -o stage1flex-nfa.o `test -f 'nfa.c' || echo '$(srcdir)/'`nfa.c + +stage1flex-nfa.obj: nfa.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -MT stage1flex-nfa.obj -MD -MP -MF $(DEPDIR)/stage1flex-nfa.Tpo -c -o stage1flex-nfa.obj `if test -f 'nfa.c'; then $(CYGPATH_W) 'nfa.c'; else $(CYGPATH_W) '$(srcdir)/nfa.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/stage1flex-nfa.Tpo $(DEPDIR)/stage1flex-nfa.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='nfa.c' object='stage1flex-nfa.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -c -o stage1flex-nfa.obj `if test -f 'nfa.c'; then $(CYGPATH_W) 'nfa.c'; else $(CYGPATH_W) '$(srcdir)/nfa.c'; fi` + +stage1flex-options.o: options.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -MT stage1flex-options.o -MD -MP -MF $(DEPDIR)/stage1flex-options.Tpo -c -o stage1flex-options.o `test -f 'options.c' || echo '$(srcdir)/'`options.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/stage1flex-options.Tpo $(DEPDIR)/stage1flex-options.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='options.c' object='stage1flex-options.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -c -o stage1flex-options.o `test -f 'options.c' || echo '$(srcdir)/'`options.c + +stage1flex-options.obj: options.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -MT stage1flex-options.obj -MD -MP -MF $(DEPDIR)/stage1flex-options.Tpo -c -o stage1flex-options.obj `if test -f 'options.c'; then $(CYGPATH_W) 'options.c'; else $(CYGPATH_W) '$(srcdir)/options.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/stage1flex-options.Tpo $(DEPDIR)/stage1flex-options.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='options.c' object='stage1flex-options.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -c -o stage1flex-options.obj `if test -f 'options.c'; then $(CYGPATH_W) 'options.c'; else $(CYGPATH_W) '$(srcdir)/options.c'; fi` + +stage1flex-parse.o: parse.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -MT stage1flex-parse.o -MD -MP -MF $(DEPDIR)/stage1flex-parse.Tpo -c -o stage1flex-parse.o `test -f 'parse.c' || echo '$(srcdir)/'`parse.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/stage1flex-parse.Tpo $(DEPDIR)/stage1flex-parse.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='parse.c' object='stage1flex-parse.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -c -o stage1flex-parse.o `test -f 'parse.c' || echo '$(srcdir)/'`parse.c + +stage1flex-parse.obj: parse.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -MT stage1flex-parse.obj -MD -MP -MF $(DEPDIR)/stage1flex-parse.Tpo -c -o stage1flex-parse.obj `if test -f 'parse.c'; then $(CYGPATH_W) 'parse.c'; else $(CYGPATH_W) '$(srcdir)/parse.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/stage1flex-parse.Tpo $(DEPDIR)/stage1flex-parse.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='parse.c' object='stage1flex-parse.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -c -o stage1flex-parse.obj `if test -f 'parse.c'; then $(CYGPATH_W) 'parse.c'; else $(CYGPATH_W) '$(srcdir)/parse.c'; fi` + +stage1flex-regex.o: regex.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -MT stage1flex-regex.o -MD -MP -MF $(DEPDIR)/stage1flex-regex.Tpo -c -o stage1flex-regex.o `test -f 'regex.c' || echo '$(srcdir)/'`regex.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/stage1flex-regex.Tpo $(DEPDIR)/stage1flex-regex.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='regex.c' object='stage1flex-regex.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -c -o stage1flex-regex.o `test -f 'regex.c' || echo '$(srcdir)/'`regex.c + +stage1flex-regex.obj: regex.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -MT stage1flex-regex.obj -MD -MP -MF $(DEPDIR)/stage1flex-regex.Tpo -c -o stage1flex-regex.obj `if test -f 'regex.c'; then $(CYGPATH_W) 'regex.c'; else $(CYGPATH_W) '$(srcdir)/regex.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/stage1flex-regex.Tpo $(DEPDIR)/stage1flex-regex.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='regex.c' object='stage1flex-regex.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -c -o stage1flex-regex.obj `if test -f 'regex.c'; then $(CYGPATH_W) 'regex.c'; else $(CYGPATH_W) '$(srcdir)/regex.c'; fi` + +stage1flex-scanflags.o: scanflags.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -MT stage1flex-scanflags.o -MD -MP -MF $(DEPDIR)/stage1flex-scanflags.Tpo -c -o stage1flex-scanflags.o `test -f 'scanflags.c' || echo '$(srcdir)/'`scanflags.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/stage1flex-scanflags.Tpo $(DEPDIR)/stage1flex-scanflags.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='scanflags.c' object='stage1flex-scanflags.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -c -o stage1flex-scanflags.o `test -f 'scanflags.c' || echo '$(srcdir)/'`scanflags.c + +stage1flex-scanflags.obj: scanflags.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -MT stage1flex-scanflags.obj -MD -MP -MF $(DEPDIR)/stage1flex-scanflags.Tpo -c -o stage1flex-scanflags.obj `if test -f 'scanflags.c'; then $(CYGPATH_W) 'scanflags.c'; else $(CYGPATH_W) '$(srcdir)/scanflags.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/stage1flex-scanflags.Tpo $(DEPDIR)/stage1flex-scanflags.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='scanflags.c' object='stage1flex-scanflags.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -c -o stage1flex-scanflags.obj `if test -f 'scanflags.c'; then $(CYGPATH_W) 'scanflags.c'; else $(CYGPATH_W) '$(srcdir)/scanflags.c'; fi` + +stage1flex-scanopt.o: scanopt.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -MT stage1flex-scanopt.o -MD -MP -MF $(DEPDIR)/stage1flex-scanopt.Tpo -c -o stage1flex-scanopt.o `test -f 'scanopt.c' || echo '$(srcdir)/'`scanopt.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/stage1flex-scanopt.Tpo $(DEPDIR)/stage1flex-scanopt.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='scanopt.c' object='stage1flex-scanopt.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -c -o stage1flex-scanopt.o `test -f 'scanopt.c' || echo '$(srcdir)/'`scanopt.c + +stage1flex-scanopt.obj: scanopt.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -MT stage1flex-scanopt.obj -MD -MP -MF $(DEPDIR)/stage1flex-scanopt.Tpo -c -o stage1flex-scanopt.obj `if test -f 'scanopt.c'; then $(CYGPATH_W) 'scanopt.c'; else $(CYGPATH_W) '$(srcdir)/scanopt.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/stage1flex-scanopt.Tpo $(DEPDIR)/stage1flex-scanopt.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='scanopt.c' object='stage1flex-scanopt.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -c -o stage1flex-scanopt.obj `if test -f 'scanopt.c'; then $(CYGPATH_W) 'scanopt.c'; else $(CYGPATH_W) '$(srcdir)/scanopt.c'; fi` + +stage1flex-skel.o: skel.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -MT stage1flex-skel.o -MD -MP -MF $(DEPDIR)/stage1flex-skel.Tpo -c -o stage1flex-skel.o `test -f 'skel.c' || echo '$(srcdir)/'`skel.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/stage1flex-skel.Tpo $(DEPDIR)/stage1flex-skel.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='skel.c' object='stage1flex-skel.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -c -o stage1flex-skel.o `test -f 'skel.c' || echo '$(srcdir)/'`skel.c + +stage1flex-skel.obj: skel.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -MT stage1flex-skel.obj -MD -MP -MF $(DEPDIR)/stage1flex-skel.Tpo -c -o stage1flex-skel.obj `if test -f 'skel.c'; then $(CYGPATH_W) 'skel.c'; else $(CYGPATH_W) '$(srcdir)/skel.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/stage1flex-skel.Tpo $(DEPDIR)/stage1flex-skel.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='skel.c' object='stage1flex-skel.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -c -o stage1flex-skel.obj `if test -f 'skel.c'; then $(CYGPATH_W) 'skel.c'; else $(CYGPATH_W) '$(srcdir)/skel.c'; fi` + +stage1flex-sym.o: sym.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -MT stage1flex-sym.o -MD -MP -MF $(DEPDIR)/stage1flex-sym.Tpo -c -o stage1flex-sym.o `test -f 'sym.c' || echo '$(srcdir)/'`sym.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/stage1flex-sym.Tpo $(DEPDIR)/stage1flex-sym.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sym.c' object='stage1flex-sym.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -c -o stage1flex-sym.o `test -f 'sym.c' || echo '$(srcdir)/'`sym.c + +stage1flex-sym.obj: sym.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -MT stage1flex-sym.obj -MD -MP -MF $(DEPDIR)/stage1flex-sym.Tpo -c -o stage1flex-sym.obj `if test -f 'sym.c'; then $(CYGPATH_W) 'sym.c'; else $(CYGPATH_W) '$(srcdir)/sym.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/stage1flex-sym.Tpo $(DEPDIR)/stage1flex-sym.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='sym.c' object='stage1flex-sym.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -c -o stage1flex-sym.obj `if test -f 'sym.c'; then $(CYGPATH_W) 'sym.c'; else $(CYGPATH_W) '$(srcdir)/sym.c'; fi` + +stage1flex-tables.o: tables.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -MT stage1flex-tables.o -MD -MP -MF $(DEPDIR)/stage1flex-tables.Tpo -c -o stage1flex-tables.o `test -f 'tables.c' || echo '$(srcdir)/'`tables.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/stage1flex-tables.Tpo $(DEPDIR)/stage1flex-tables.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='tables.c' object='stage1flex-tables.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -c -o stage1flex-tables.o `test -f 'tables.c' || echo '$(srcdir)/'`tables.c + +stage1flex-tables.obj: tables.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -MT stage1flex-tables.obj -MD -MP -MF $(DEPDIR)/stage1flex-tables.Tpo -c -o stage1flex-tables.obj `if test -f 'tables.c'; then $(CYGPATH_W) 'tables.c'; else $(CYGPATH_W) '$(srcdir)/tables.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/stage1flex-tables.Tpo $(DEPDIR)/stage1flex-tables.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='tables.c' object='stage1flex-tables.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -c -o stage1flex-tables.obj `if test -f 'tables.c'; then $(CYGPATH_W) 'tables.c'; else $(CYGPATH_W) '$(srcdir)/tables.c'; fi` + +stage1flex-tables_shared.o: tables_shared.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -MT stage1flex-tables_shared.o -MD -MP -MF $(DEPDIR)/stage1flex-tables_shared.Tpo -c -o stage1flex-tables_shared.o `test -f 'tables_shared.c' || echo '$(srcdir)/'`tables_shared.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/stage1flex-tables_shared.Tpo $(DEPDIR)/stage1flex-tables_shared.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='tables_shared.c' object='stage1flex-tables_shared.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -c -o stage1flex-tables_shared.o `test -f 'tables_shared.c' || echo '$(srcdir)/'`tables_shared.c + +stage1flex-tables_shared.obj: tables_shared.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -MT stage1flex-tables_shared.obj -MD -MP -MF $(DEPDIR)/stage1flex-tables_shared.Tpo -c -o stage1flex-tables_shared.obj `if test -f 'tables_shared.c'; then $(CYGPATH_W) 'tables_shared.c'; else $(CYGPATH_W) '$(srcdir)/tables_shared.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/stage1flex-tables_shared.Tpo $(DEPDIR)/stage1flex-tables_shared.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='tables_shared.c' object='stage1flex-tables_shared.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -c -o stage1flex-tables_shared.obj `if test -f 'tables_shared.c'; then $(CYGPATH_W) 'tables_shared.c'; else $(CYGPATH_W) '$(srcdir)/tables_shared.c'; fi` + +stage1flex-tblcmp.o: tblcmp.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -MT stage1flex-tblcmp.o -MD -MP -MF $(DEPDIR)/stage1flex-tblcmp.Tpo -c -o stage1flex-tblcmp.o `test -f 'tblcmp.c' || echo '$(srcdir)/'`tblcmp.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/stage1flex-tblcmp.Tpo $(DEPDIR)/stage1flex-tblcmp.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='tblcmp.c' object='stage1flex-tblcmp.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -c -o stage1flex-tblcmp.o `test -f 'tblcmp.c' || echo '$(srcdir)/'`tblcmp.c + +stage1flex-tblcmp.obj: tblcmp.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -MT stage1flex-tblcmp.obj -MD -MP -MF $(DEPDIR)/stage1flex-tblcmp.Tpo -c -o stage1flex-tblcmp.obj `if test -f 'tblcmp.c'; then $(CYGPATH_W) 'tblcmp.c'; else $(CYGPATH_W) '$(srcdir)/tblcmp.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/stage1flex-tblcmp.Tpo $(DEPDIR)/stage1flex-tblcmp.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='tblcmp.c' object='stage1flex-tblcmp.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -c -o stage1flex-tblcmp.obj `if test -f 'tblcmp.c'; then $(CYGPATH_W) 'tblcmp.c'; else $(CYGPATH_W) '$(srcdir)/tblcmp.c'; fi` + +stage1flex-yylex.o: yylex.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -MT stage1flex-yylex.o -MD -MP -MF $(DEPDIR)/stage1flex-yylex.Tpo -c -o stage1flex-yylex.o `test -f 'yylex.c' || echo '$(srcdir)/'`yylex.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/stage1flex-yylex.Tpo $(DEPDIR)/stage1flex-yylex.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='yylex.c' object='stage1flex-yylex.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -c -o stage1flex-yylex.o `test -f 'yylex.c' || echo '$(srcdir)/'`yylex.c + +stage1flex-yylex.obj: yylex.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -MT stage1flex-yylex.obj -MD -MP -MF $(DEPDIR)/stage1flex-yylex.Tpo -c -o stage1flex-yylex.obj `if test -f 'yylex.c'; then $(CYGPATH_W) 'yylex.c'; else $(CYGPATH_W) '$(srcdir)/yylex.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/stage1flex-yylex.Tpo $(DEPDIR)/stage1flex-yylex.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='yylex.c' object='stage1flex-yylex.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -c -o stage1flex-yylex.obj `if test -f 'yylex.c'; then $(CYGPATH_W) 'yylex.c'; else $(CYGPATH_W) '$(srcdir)/yylex.c'; fi` + +../lib/stage1flex-malloc.o: ../lib/malloc.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -MT ../lib/stage1flex-malloc.o -MD -MP -MF ../lib/$(DEPDIR)/stage1flex-malloc.Tpo -c -o ../lib/stage1flex-malloc.o `test -f '../lib/malloc.c' || echo '$(srcdir)/'`../lib/malloc.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../lib/$(DEPDIR)/stage1flex-malloc.Tpo ../lib/$(DEPDIR)/stage1flex-malloc.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../lib/malloc.c' object='../lib/stage1flex-malloc.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -c -o ../lib/stage1flex-malloc.o `test -f '../lib/malloc.c' || echo '$(srcdir)/'`../lib/malloc.c + +../lib/stage1flex-malloc.obj: ../lib/malloc.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -MT ../lib/stage1flex-malloc.obj -MD -MP -MF ../lib/$(DEPDIR)/stage1flex-malloc.Tpo -c -o ../lib/stage1flex-malloc.obj `if test -f '../lib/malloc.c'; then $(CYGPATH_W) '../lib/malloc.c'; else $(CYGPATH_W) '$(srcdir)/../lib/malloc.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../lib/$(DEPDIR)/stage1flex-malloc.Tpo ../lib/$(DEPDIR)/stage1flex-malloc.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../lib/malloc.c' object='../lib/stage1flex-malloc.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -c -o ../lib/stage1flex-malloc.obj `if test -f '../lib/malloc.c'; then $(CYGPATH_W) '../lib/malloc.c'; else $(CYGPATH_W) '$(srcdir)/../lib/malloc.c'; fi` + +../lib/stage1flex-realloc.o: ../lib/realloc.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -MT ../lib/stage1flex-realloc.o -MD -MP -MF ../lib/$(DEPDIR)/stage1flex-realloc.Tpo -c -o ../lib/stage1flex-realloc.o `test -f '../lib/realloc.c' || echo '$(srcdir)/'`../lib/realloc.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../lib/$(DEPDIR)/stage1flex-realloc.Tpo ../lib/$(DEPDIR)/stage1flex-realloc.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../lib/realloc.c' object='../lib/stage1flex-realloc.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -c -o ../lib/stage1flex-realloc.o `test -f '../lib/realloc.c' || echo '$(srcdir)/'`../lib/realloc.c + +../lib/stage1flex-realloc.obj: ../lib/realloc.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -MT ../lib/stage1flex-realloc.obj -MD -MP -MF ../lib/$(DEPDIR)/stage1flex-realloc.Tpo -c -o ../lib/stage1flex-realloc.obj `if test -f '../lib/realloc.c'; then $(CYGPATH_W) '../lib/realloc.c'; else $(CYGPATH_W) '$(srcdir)/../lib/realloc.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) ../lib/$(DEPDIR)/stage1flex-realloc.Tpo ../lib/$(DEPDIR)/stage1flex-realloc.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='../lib/realloc.c' object='../lib/stage1flex-realloc.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stage1flex_CFLAGS) $(CFLAGS) -c -o ../lib/stage1flex-realloc.obj `if test -f '../lib/realloc.c'; then $(CYGPATH_W) '../lib/realloc.c'; else $(CYGPATH_W) '$(srcdir)/../lib/realloc.c'; fi` + +.l.c: + $(AM_V_LEX)$(am__skiplex) $(SHELL) $(YLWRAP) $< $(LEX_OUTPUT_ROOT).c $@ -- $(LEXCOMPILE) + +.y.c: + $(AM_V_YACC)$(am__skipyacc) $(SHELL) $(YLWRAP) $< y.tab.c $@ y.tab.h `echo $@ | $(am__yacc_c2h)` y.output $*.output -- $(YACCCOMPILE) + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +install-includeHEADERS: $(include_HEADERS) + @$(NORMAL_INSTALL) + @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(includedir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(includedir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includedir)'"; \ + $(INSTALL_HEADER) $$files "$(DESTDIR)$(includedir)" || exit $$?; \ + done + +uninstall-includeHEADERS: + @$(NORMAL_UNINSTALL) + @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(includedir)'; $(am__uninstall_files_from_dir) + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + 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-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + 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" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +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 + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$(top_distdir)" distdir="$(distdir)" \ + dist-hook +check-am: all-am +check: check-am +all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(HEADERS) config.h +install-binPROGRAMS: install-libLTLIBRARIES + +installdirs: + for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(includedir)"; 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: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + -test -z "$(LIBOBJS)" || rm -f $(LIBOBJS) + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + -rm -f ../lib/$(DEPDIR)/$(am__dirstamp) + -rm -f ../lib/$(am__dirstamp) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." + -rm -f parse.c + -rm -f parse.h + -rm -f scan.c + -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) +clean: clean-am + +clean-am: clean-binPROGRAMS clean-generic clean-libLTLIBRARIES \ + clean-libtool clean-noinstPROGRAMS mostlyclean-am + +distclean: distclean-am + -rm -rf ../lib/$(DEPDIR) ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-hdr distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: install-includeHEADERS + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: install-binPROGRAMS 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: installcheck-binPROGRAMS + +maintainer-clean: maintainer-clean-am + -rm -rf ../lib/$(DEPDIR) ./$(DEPDIR) + -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-binPROGRAMS uninstall-includeHEADERS \ + uninstall-libLTLIBRARIES + +.MAKE: all install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \ + clean-binPROGRAMS clean-generic clean-libLTLIBRARIES \ + clean-libtool clean-noinstPROGRAMS cscopelist-am ctags \ + ctags-am dist-hook distclean distclean-compile \ + distclean-generic distclean-hdr distclean-libtool \ + distclean-tags distdir 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-html install-html-am \ + install-includeHEADERS install-info install-info-am \ + install-libLTLIBRARIES install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installcheck-binPROGRAMS installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ + pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \ + uninstall-binPROGRAMS uninstall-includeHEADERS \ + uninstall-libLTLIBRARIES + +.PRECIOUS: Makefile + + +@CROSS_TRUE@$(stage1flex_OBJECTS): CC=$(CC_FOR_BUILD) +@CROSS_TRUE@$(stage1flex_OBJECTS): CFLAGS=$(CFLAGS_FOR_BUILD) +@CROSS_TRUE@$(stage1flex_OBJECTS): CPP=$(CPP_FOR_BUILD) +@CROSS_TRUE@$(stage1flex_OBJECTS): CPPFLAGS=$(CPPFLAGS_FOR_BUILD) +@CROSS_TRUE@$(stage1flex_OBJECTS): LDFLAGS=$(LDFLAGS_FOR_BUILD) + +skel.c: flex.skl mkskel.sh flexint.h tables_shared.h tables_shared.c + $(SHELL) $(srcdir)/mkskel.sh $(srcdir) $(m4) $(VERSION) > $@.tmp + mv $@.tmp $@ + +@ENABLE_BOOTSTRAP_TRUE@stage1scan.c: scan.l stage1flex$(EXEEXT) +@ENABLE_BOOTSTRAP_TRUE@ ./stage1flex$(EXEEXT) $(AM_LFLAGS) $(LFLAGS) -o $@ $(srcdir)/scan.l +@ENABLE_BOOTSTRAP_FALSE@stage1scan.c: scan.c +@ENABLE_BOOTSTRAP_FALSE@ sed 's|^\(#line .*\)"'`printf %s $< | sed 's|[][\\\\.*]|\\\\&|g'`'"|\1"$@"|g' $< > $@ + +dist-hook: scan.l flex$(EXEEXT) + chmod u+w $(distdir)/scan.c && \ + ./flex$(EXEEXT) -o scan.c $< && \ + mv scan.c $(distdir) + +# make needs to be told to make parse.h so that parallelized runs will +# not fail. + +stage1flex-main.$(OBJEXT): parse.h +flex-main.$(OBJEXT): parse.h + +stage1flex-yylex.$(OBJEXT): parse.h +flex-yylex.$(OBJEXT): parse.h + +stage1flex-scan.$(OBJEXT): parse.h +flex-stage1scan.$(OBJEXT): parse.h + +indent: $(top_srcdir)/.indent.pro + cd $(top_srcdir) && \ + for f in $(indentfiles); do \ + f=src/$$f; \ + echo indenting $$f; \ + INDENT_PROFILE=.indent.pro $(INDENT) <$$f >/dev/null && \ + INDENT_PROFILE=.indent.pro $(INDENT) $$f || \ + echo $$f FAILED to indent; \ + done; + +.PHONY: indent + +# 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 --git a/buf.c b/src/buf.c similarity index 76% rename from buf.c rename to src/buf.c index e5deb4e81c3a..185083c4f8da 100644 --- a/buf.c +++ b/src/buf.c @@ -73,12 +73,13 @@ struct Buf *buf_prints (struct Buf *buf, const char *fmt, const char *s) char *t; size_t tsz; - t = flex_alloc (tsz = strlen (fmt) + strlen (s) + 1); + tsz = strlen(fmt) + strlen(s) + 1; + t = malloc(tsz); if (!t) flexfatal (_("Allocation of buffer to print string failed")); snprintf (t, tsz, fmt, s); buf = buf_strappend (buf, t); - flex_free (t); + free(t); return buf; } @@ -90,22 +91,28 @@ struct Buf *buf_prints (struct Buf *buf, const char *fmt, const char *s) */ struct Buf *buf_linedir (struct Buf *buf, const char* filename, int lineno) { - char *dst, *src, *t; + char *dst, *t; + const char *src; + size_t tsz; - t = flex_alloc (strlen ("#line \"\"\n") + /* constant parts */ - 2 * strlen (filename) + /* filename with possibly all backslashes escaped */ - (int) (1 + log10 (abs (lineno))) + /* line number */ - 1); /* NUL */ + if (gen_line_dirs) + return buf; + + tsz = strlen("#line \"\"\n") + /* constant parts */ + 2 * strlen (filename) + /* filename with possibly all backslashes escaped */ + (size_t) (1 + ceil (log10 (abs (lineno)))) + /* line number */ + 1; /* NUL */ + t = malloc(tsz); if (!t) flexfatal (_("Allocation of buffer for line directive failed")); - for (dst = t + sprintf (t, "#line %d \"", lineno), src = filename; *src; *dst++ = *src++) + for (dst = t + snprintf (t, tsz, "#line %d \"", lineno), src = filename; *src; *dst++ = *src++) if (*src == '\\') /* escape backslashes */ *dst++ = '\\'; *dst++ = '"'; *dst++ = '\n'; *dst = '\0'; buf = buf_strappend (buf, t); - flex_free (t); + free(t); return buf; } @@ -123,10 +130,7 @@ struct Buf *buf_concat(struct Buf* dest, const struct Buf* src) /* Appends n characters in str to buf. */ -struct Buf *buf_strnappend (buf, str, n) - struct Buf *buf; - const char *str; - int n; +struct Buf *buf_strnappend (struct Buf *buf, const char *str, int n) { buf_append (buf, str, n + 1); @@ -137,18 +141,13 @@ struct Buf *buf_strnappend (buf, str, n) } /* Appends characters in str to buf. */ -struct Buf *buf_strappend (buf, str) - struct Buf *buf; - const char *str; +struct Buf *buf_strappend (struct Buf *buf, const char *str) { - return buf_strnappend (buf, str, strlen (str)); + return buf_strnappend (buf, str, (int) strlen (str)); } /* appends "#define str def\n" */ -struct Buf *buf_strdefine (buf, str, def) - struct Buf *buf; - const char *str; - const char *def; +struct Buf *buf_strdefine (struct Buf *buf, const char *str, const char *def) { buf_strappend (buf, "#define "); buf_strappend (buf, " "); @@ -167,12 +166,13 @@ struct Buf *buf_strdefine (buf, str, def) */ struct Buf *buf_m4_define (struct Buf *buf, const char* def, const char* val) { - const char * fmt = "m4_define( [[%s]], [[%s]])m4_dnl\n"; + const char * fmt = "m4_define( [[%s]], [[[[%s]]]])m4_dnl\n"; char * str; size_t strsz; val = val?val:""; - str = (char*)flex_alloc(strsz = strlen(fmt) + strlen(def) + strlen(val) + 2); + strsz = strlen(fmt) + strlen(def) + strlen(val) + 2; + str = malloc(strsz); if (!str) flexfatal (_("Allocation of buffer for m4 def failed")); @@ -192,7 +192,8 @@ struct Buf *buf_m4_undefine (struct Buf *buf, const char* def) char * str; size_t strsz; - str = (char*)flex_alloc(strsz = strlen(fmt) + strlen(def) + 2); + strsz = strlen(fmt) + strlen(def) + 2; + str = malloc(strsz); if (!str) flexfatal (_("Allocation of buffer for m4 undef failed")); @@ -202,23 +203,21 @@ struct Buf *buf_m4_undefine (struct Buf *buf, const char* def) } /* create buf with 0 elements, each of size elem_size. */ -void buf_init (buf, elem_size) - struct Buf *buf; - size_t elem_size; +void buf_init (struct Buf *buf, size_t elem_size) { - buf->elts = (void *) 0; + buf->elts = NULL; buf->nelts = 0; buf->elt_size = elem_size; buf->nmax = 0; } /* frees memory */ -void buf_destroy (buf) - struct Buf *buf; +void buf_destroy (struct Buf *buf) { - if (buf && buf->elts) - flex_free (buf->elts); - buf->elts = (void *) 0; + if (buf) { + free(buf->elts); + buf->elts = NULL; + } } @@ -228,10 +227,7 @@ void buf_destroy (buf) * We grow by mod(512) boundaries. */ -struct Buf *buf_append (buf, ptr, n_elem) - struct Buf *buf; - const void *ptr; - int n_elem; +struct Buf *buf_append (struct Buf *buf, const void *ptr, int n_elem) { int n_alloc = 0; @@ -241,30 +237,30 @@ struct Buf *buf_append (buf, ptr, n_elem) /* May need to alloc more. */ if (n_elem + buf->nelts > buf->nmax) { - /* exact amount needed... */ - n_alloc = (n_elem + buf->nelts) * buf->elt_size; + /* exact count needed... */ + n_alloc = n_elem + buf->nelts; /* ...plus some extra */ - if (((n_alloc * buf->elt_size) % 512) != 0 + if ((((size_t) n_alloc * buf->elt_size) % 512) != 0 && buf->elt_size < 512) - n_alloc += - (512 - - ((n_alloc * buf->elt_size) % 512)) / - buf->elt_size; + n_alloc += (int) + ((512 - + (((size_t) n_alloc * buf->elt_size) % 512)) / + buf->elt_size); if (!buf->elts) buf->elts = - allocate_array (n_alloc, buf->elt_size); + allocate_array ((int) n_alloc, buf->elt_size); else buf->elts = - reallocate_array (buf->elts, n_alloc, + reallocate_array (buf->elts, (int) n_alloc, buf->elt_size); buf->nmax = n_alloc; } - memcpy ((char *) buf->elts + buf->nelts * buf->elt_size, ptr, - n_elem * buf->elt_size); + memcpy ((char *) buf->elts + (size_t) buf->nelts * buf->elt_size, ptr, + (size_t) n_elem * buf->elt_size); buf->nelts += n_elem; return buf; diff --git a/ccl.c b/src/ccl.c similarity index 95% rename from ccl.c rename to src/ccl.c index 8d66bb62b18f..ff9a2134ee33 100644 --- a/ccl.c +++ b/src/ccl.c @@ -52,9 +52,7 @@ ccl_contains (const int cclp, const int ch) /* ccladd - add a single character to a ccl */ -void ccladd (cclp, ch) - int cclp; - int ch; +void ccladd (int cclp, int ch) { int ind, len, newpos, i; @@ -85,20 +83,20 @@ void ccladd (cclp, ch) } ccllen[cclp] = len + 1; - ccltbl[newpos] = ch; + ccltbl[newpos] = (unsigned char) ch; } /* dump_cclp - same thing as list_character_set, but for cclps. */ static void dump_cclp (FILE* file, int cclp) { - register int i; + int i; putc ('[', file); for (i = 0; i < csize; ++i) { if (ccl_contains(cclp, i)){ - register int start_char = i; + int start_char = i; putc (' ', file); @@ -185,7 +183,7 @@ ccl_set_union (int a, int b) /* cclinit - return an empty ccl */ -int cclinit () +int cclinit (void) { if (++lastccl >= current_maxccls) { current_maxccls += MAX_CCLS_INCREMENT; @@ -225,8 +223,7 @@ int cclinit () /* cclnegate - negate the given ccl */ -void cclnegate (cclp) - int cclp; +void cclnegate (int cclp) { cclng[cclp] = 1; ccl_has_nl[cclp] = !ccl_has_nl[cclp]; @@ -240,17 +237,15 @@ void cclnegate (cclp) * has a non-zero value in the cset array. */ -void list_character_set (file, cset) - FILE *file; - int cset[]; +void list_character_set (FILE *file, int cset[]) { - register int i; + int i; putc ('[', file); for (i = 0; i < csize; ++i) { if (cset[i]) { - register int start_char = i; + int start_char = i; putc (' ', file); diff --git a/conf.in b/src/config.h.in similarity index 71% rename from conf.in rename to src/config.h.in index 984b5436844a..475650558e37 100644 --- a/conf.in +++ b/src/config.h.in @@ -1,4 +1,4 @@ -/* conf.in. Generated from configure.in by autoheader. */ +/* src/config.h.in. Generated from configure.ac by autoheader. */ /* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP systems. This function is required for `alloca.c' support on those systems. @@ -19,27 +19,59 @@ */ #undef HAVE_ALLOCA_H +/* Define to 1 if you have the `available.' function. */ +#undef HAVE_AVAILABLE_ + +/* Define to 1 if you have the `by' function. */ +#undef HAVE_BY + +/* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the + CoreFoundation framework. */ +#undef HAVE_CFLOCALECOPYCURRENT + +/* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in + the CoreFoundation framework. */ +#undef HAVE_CFPREFERENCESCOPYAPPVALUE + /* Define if the GNU dcgettext() function is already present or preinstalled. */ #undef HAVE_DCGETTEXT +/* Define to 1 if you have the header file. */ +#undef HAVE_DLFCN_H + +/* Define to 1 if you have the `dnl' function. */ +#undef HAVE_DNL + /* Define to 1 if you have the `dup2' function. */ #undef HAVE_DUP2 +/* Define to 1 if you have the `enabled' function. */ +#undef HAVE_ENABLED + /* Define to 1 if you have the `fork' function. */ #undef HAVE_FORK +/* Define to 1 if you have the `function.' function. */ +#undef HAVE_FUNCTION_ + /* Define if the GNU gettext() function is already present or preinstalled. */ #undef HAVE_GETTEXT -/* Define if you have the iconv() function. */ +/* Define to 1 if you have the `have' function. */ +#undef HAVE_HAVE + +/* Define if you have the iconv() function and it works. */ #undef HAVE_ICONV +/* Define to 1 if you have the `if' function. */ +#undef HAVE_IF + /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H -/* Define to 1 if you have the `isascii' function. */ -#undef HAVE_ISASCII +/* Define to 1 if you have the `is' function. */ +#undef HAVE_IS /* Define to 1 if you have the header file. */ #undef HAVE_LIBINTL_H @@ -47,9 +79,6 @@ /* Define to 1 if you have the `m' library (-lm). */ #undef HAVE_LIBM -/* pthread library */ -#undef HAVE_LIBPTHREAD - /* Define to 1 if you have the header file. */ #undef HAVE_LIMITS_H @@ -69,9 +98,24 @@ /* Define to 1 if you have the `memset' function. */ #undef HAVE_MEMSET +/* Define to 1 if you have the `Needed' function. */ +#undef HAVE_NEEDED + /* Define to 1 if you have the header file. */ #undef HAVE_NETINET_IN_H +/* Define to 1 if you have the `NLS' function. */ +#undef HAVE_NLS + +/* Define to 1 if you have the `not' function. */ +#undef HAVE_NOT + +/* Define to 1 if you have the `only' function. */ +#undef HAVE_ONLY + +/* Define to 1 if you have the `OpenBSD' function. */ +#undef HAVE_OPENBSD + /* Define to 1 if you have the `pow' function. */ #undef HAVE_POW @@ -82,30 +126,39 @@ and to 0 otherwise. */ #undef HAVE_REALLOC +/* Define to 1 if you have the `reallocarray' function. */ +#undef HAVE_REALLOCARRAY + /* Define to 1 if you have the `regcomp' function. */ #undef HAVE_REGCOMP /* Define to 1 if you have the header file. */ #undef HAVE_REGEX_H +/* Define to 1 if you have the `replacement' function. */ +#undef HAVE_REPLACEMENT + /* Define to 1 if you have the `setlocale' function. */ #undef HAVE_SETLOCALE /* Define to 1 if stdbool.h conforms to C99. */ #undef HAVE_STDBOOL_H -/* Define to 1 if you have the header file. */ -#undef HAVE_STDDEF_H - /* 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 `strcasecmp' function. */ +#undef HAVE_STRCASECMP + /* Define to 1 if you have the `strchr' function. */ #undef HAVE_STRCHR +/* Define to 1 if you have the `strdup' function. */ +#undef HAVE_STRDUP + /* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H @@ -121,18 +174,24 @@ /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H -/* Define to 1 if you have that is POSIX.1 compatible. */ +/* Define to 1 if you have the header file. */ #undef HAVE_SYS_WAIT_H /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H +/* Define to 1 if you have the `Used' function. */ +#undef HAVE_USED + /* Define to 1 if you have the `vfork' function. */ #undef HAVE_VFORK /* Define to 1 if you have the header file. */ #undef HAVE_VFORK_H +/* Define to 1 if you have the `We' function. */ +#undef HAVE_WE + /* Define to 1 if `fork' works. */ #undef HAVE_WORKING_FORK @@ -142,12 +201,12 @@ /* Define to 1 if the system has the type `_Bool'. */ #undef HAVE__BOOL +/* Define to the sub-directory where libtool stores uninstalled libraries. */ +#undef LT_OBJDIR + /* Define to the m4 executable name. */ #undef M4 -/* Define to 1 if your C compiler doesn't accept -c and -o together. */ -#undef NO_MINUS_C_MINUS_O - /* Name of package */ #undef PACKAGE diff --git a/dfa.c b/src/dfa.c similarity index 91% rename from dfa.c rename to src/dfa.c index b8b68ebad8eb..ab103143c0f0 100644 --- a/dfa.c +++ b/src/dfa.c @@ -34,10 +34,10 @@ /* declare functions that have forward references */ -void dump_associated_rules PROTO ((FILE *, int)); -void dump_transitions PROTO ((FILE *, int[])); -void sympartition PROTO ((int[], int, int[], int[])); -int symfollowset PROTO ((int[], int, int, int[])); +void dump_associated_rules(FILE *, int); +void dump_transitions(FILE *, int[]); +void sympartition(int[], int, int[], int[]); +int symfollowset(int[], int, int, int[]); /* check_for_backing_up - check a DFA state for backing up @@ -49,9 +49,7 @@ int symfollowset PROTO ((int[], int, int, int[])); * indexed by equivalence class. */ -void check_for_backing_up (ds, state) - int ds; - int state[]; +void check_for_backing_up (int ds, int state[]) { if ((reject && !dfaacc[ds].dfaacc_set) || (!reject && !dfaacc[ds].dfaacc_state)) { /* state is non-accepting */ ++num_backing_up; @@ -96,17 +94,14 @@ void check_for_backing_up (ds, state) * accset[1 .. nacc] is the list of accepting numbers for the DFA state. */ -void check_trailing_context (nfa_states, num_states, accset, nacc) - int *nfa_states, num_states; - int *accset; - int nacc; +void check_trailing_context (int *nfa_states, int num_states, int *accset, int nacc) { - register int i, j; + int i, j; for (i = 1; i <= num_states; ++i) { int ns = nfa_states[i]; - register int type = state_type[ns]; - register int ar = assoc_rule[ns]; + int type = state_type[ns]; + int ar = assoc_rule[ns]; if (type == STATE_NORMAL || rule_type[ar] != RULE_VARIABLE) { /* do nothing */ } @@ -137,18 +132,16 @@ void check_trailing_context (nfa_states, num_states, accset, nacc) * and writes a report to the given file. */ -void dump_associated_rules (file, ds) - FILE *file; - int ds; +void dump_associated_rules (FILE *file, int ds) { - register int i, j; - register int num_associated_rules = 0; - int rule_set[MAX_ASSOC_RULES + 1]; - int *dset = dss[ds]; - int size = dfasiz[ds]; + int i, j; + int num_associated_rules = 0; + int rule_set[MAX_ASSOC_RULES + 1]; + int *dset = dss[ds]; + int size = dfasiz[ds]; for (i = 1; i <= size; ++i) { - register int rule_num = rule_linenum[assoc_rule[dset[i]]]; + int rule_num = rule_linenum[assoc_rule[dset[i]]]; for (j = 1; j <= num_associated_rules; ++j) if (rule_num == rule_set[j]) @@ -161,7 +154,7 @@ void dump_associated_rules (file, ds) } } - qsort (&rule_set [1], num_associated_rules, sizeof (rule_set [1]), intcmp); + qsort (&rule_set [1], (size_t) num_associated_rules, sizeof (rule_set [1]), intcmp); fprintf (file, _(" associated rule line numbers:")); @@ -187,12 +180,10 @@ void dump_associated_rules (file, ds) * is done to the given file. */ -void dump_transitions (file, state) - FILE *file; - int state[]; +void dump_transitions (FILE *file, int state[]) { - register int i, ec; - int out_char_set[CSIZE]; + int i, ec; + int out_char_set[CSIZE]; for (i = 0; i < csize; ++i) { ec = ABS (ecgroup[i]); @@ -235,10 +226,9 @@ void dump_transitions (file, state) * hashval is the hash value for the dfa corresponding to the state set. */ -int *epsclosure (t, ns_addr, accset, nacc_addr, hv_addr) - int *t, *ns_addr, accset[], *nacc_addr, *hv_addr; +int *epsclosure (int *t, int *ns_addr, int accset[], int *nacc_addr, int *hv_addr) { - register int stkpos, ns, tsp; + int stkpos, ns, tsp; int numstates = *ns_addr, nacc, hashval, transsym, nfaccnum; int stkend, nstate; static int did_stk_init = false, *stk; @@ -351,7 +341,7 @@ ADD_STATE(state); \ /* increase_max_dfas - increase the maximum number of DFAs */ -void increase_max_dfas () +void increase_max_dfas (void) { current_max_dfas += MAX_DFAS_INCREMENT; @@ -378,7 +368,7 @@ void increase_max_dfas () * dfa starts out in state #1. */ -void ntod () +void ntod (void) { int *accset, ds, nacc, newds; int sym, hashval, numstates, dsize; @@ -400,7 +390,7 @@ void ntod () * from 1 to CSIZE, so their size must be CSIZE + 1. */ int duplist[CSIZE + 1], state[CSIZE + 1]; - int targfreq[CSIZE + 1], targstate[CSIZE + 1]; + int targfreq[CSIZE + 1] = {0}, targstate[CSIZE + 1]; /* accset needs to be large enough to hold all of the rules present * in the input, *plus* their YY_TRAILING_HEAD_MASK variants. @@ -473,14 +463,9 @@ void ntod () /* We still may want to use the table if numecs * is a power of 2. */ - int power_of_two; - - for (power_of_two = 1; power_of_two <= csize; - power_of_two *= 2) - if (numecs == power_of_two) { - use_NUL_table = true; - break; - } + if (numecs <= csize && is_power_of_2(numecs)) { + use_NUL_table = true; + } } if (use_NUL_table) @@ -521,15 +506,13 @@ void ntod () * So we'll have to realloc() on the way... * we'll wait until we can calculate yynxt_tbl->td_hilen. */ - yynxt_tbl = - (struct yytbl_data *) calloc (1, - sizeof (struct - yytbl_data)); + yynxt_tbl = calloc(1, sizeof (struct yytbl_data)); + yytbl_data_init (yynxt_tbl, YYTD_ID_NXT); yynxt_tbl->td_hilen = 1; - yynxt_tbl->td_lolen = num_full_table_rows; + yynxt_tbl->td_lolen = (flex_uint32_t) num_full_table_rows; yynxt_tbl->td_data = yynxt_data = - (flex_int32_t *) calloc (yynxt_tbl->td_lolen * + calloc(yynxt_tbl->td_lolen * yynxt_tbl->td_hilen, sizeof (flex_int32_t)); yynxt_curr = 0; @@ -543,12 +526,12 @@ void ntod () */ if (gentables) out_str_dec - ("static yyconst %s yy_nxt[][%d] =\n {\n", + ("static const %s yy_nxt[][%d] =\n {\n", long_align ? "flex_int32_t" : "flex_int16_t", num_full_table_rows); else { out_dec ("#undef YY_NXT_LOLEN\n#define YY_NXT_LOLEN (%d)\n", num_full_table_rows); - out_str ("static yyconst %s *yy_nxt =0;\n", + out_str ("static const %s *yy_nxt =0;\n", long_align ? "flex_int32_t" : "flex_int16_t"); } @@ -713,7 +696,7 @@ void ntod () /* Each time we hit here, it's another td_hilen, so we realloc. */ yynxt_tbl->td_hilen++; yynxt_tbl->td_data = yynxt_data = - (flex_int32_t *) realloc (yynxt_data, + realloc (yynxt_data, yynxt_tbl->td_hilen * yynxt_tbl->td_lolen * sizeof (flex_int32_t)); @@ -805,8 +788,8 @@ void ntod () mkdeftbl (); } - flex_free ((void *) accset); - flex_free ((void *) nset); + free(accset); + free(nset); } @@ -820,12 +803,11 @@ void ntod () * On return, the dfa state number is in newds. */ -int snstods (sns, numstates, accset, nacc, hashval, newds_addr) - int sns[], numstates, accset[], nacc, hashval, *newds_addr; +int snstods (int sns[], int numstates, int accset[], int nacc, int hashval, int *newds_addr) { - int didsort = 0; - register int i, j; - int newds, *oldsns; + int didsort = 0; + int i, j; + int newds, *oldsns; for (i = 1; i <= lastdfa; ++i) if (hashval == dhash[i]) { @@ -836,7 +818,7 @@ int snstods (sns, numstates, accset, nacc, hashval, newds_addr) /* We sort the states in sns so we * can compare it to oldsns quickly. */ - qsort (&sns [1], numstates, sizeof (sns [1]), intcmp); + qsort (&sns [1], (size_t) numstates, sizeof (sns [1]), intcmp); didsort = 1; } @@ -871,7 +853,7 @@ int snstods (sns, numstates, accset, nacc, hashval, newds_addr) */ if (!didsort) - qsort (&sns [1], numstates, sizeof (sns [1]), intcmp); + qsort (&sns [1], (size_t) numstates, sizeof (sns [1]), intcmp); for (i = 1; i <= numstates; ++i) dss[newds][i] = sns[i]; @@ -881,7 +863,7 @@ int snstods (sns, numstates, accset, nacc, hashval, newds_addr) if (nacc == 0) { if (reject) - dfaacc[newds].dfaacc_set = (int *) 0; + dfaacc[newds].dfaacc_set = NULL; else dfaacc[newds].dfaacc_state = 0; @@ -894,7 +876,7 @@ int snstods (sns, numstates, accset, nacc, hashval, newds_addr) * match in the event of ties will work. */ - qsort (&accset [1], nacc, sizeof (accset [1]), intcmp); + qsort (&accset [1], (size_t) nacc, sizeof (accset [1]), intcmp); dfaacc[newds].dfaacc_set = allocate_integer_array (nacc + 1); @@ -942,8 +924,7 @@ int snstods (sns, numstates, accset, nacc, hashval, newds_addr) * int transsym, int nset[current_max_dfa_size] ); */ -int symfollowset (ds, dsize, transsym, nset) - int ds[], dsize, transsym, nset[]; +int symfollowset (int ds[], int dsize, int transsym, int nset[]) { int ns, tsp, sym, i, j, lenccl, ch, numstates, ccllist; @@ -1020,9 +1001,7 @@ int symfollowset (ds, dsize, transsym, nset) * int symlist[numecs], int duplist[numecs] ); */ -void sympartition (ds, numstates, symlist, duplist) - int ds[], numstates; - int symlist[], duplist[]; +void sympartition (int ds[], int numstates, int symlist[], int duplist[]) { int tch, i, j, k, ns, dupfwd[CSIZE + 1], lenccl, cclp, ich; diff --git a/ecs.c b/src/ecs.c similarity index 90% rename from ecs.c rename to src/ecs.c index e2abbe486239..dc68360d7292 100644 --- a/ecs.c +++ b/src/ecs.c @@ -36,7 +36,7 @@ /* ccl2ecl - convert character classes to set of equivalence classes */ -void ccl2ecl () +void ccl2ecl (void) { int i, ich, newlen, cclp, ccls, cclmec; @@ -56,7 +56,8 @@ void ccl2ecl () cclmec = ecgroup[ich]; if (cclmec > 0) { - ccltbl[cclp + newlen] = cclmec; + /* Note: range 1..256 is mapped to 1..255,0 */ + ccltbl[cclp + newlen] = (unsigned char) cclmec; ++newlen; } } @@ -74,8 +75,7 @@ void ccl2ecl () * Returned is the number of classes. */ -int cre8ecs (fwd, bck, num) - int fwd[], bck[], num; +int cre8ecs (int fwd[], int bck[], int num) { int i, j, numcl; @@ -100,9 +100,9 @@ int cre8ecs (fwd, bck, num) /* mkeccl - update equivalence classes based on character class xtions * * synopsis - * Char ccls[]; + * unsigned char ccls[]; * int lenccl, fwd[llsiz], bck[llsiz], llsiz, NUL_mapping; - * void mkeccl( Char ccls[], int lenccl, int fwd[llsiz], int bck[llsiz], + * void mkeccl( unsigned char ccls[], int lenccl, int fwd[llsiz], int bck[llsiz], * int llsiz, int NUL_mapping ); * * ccls contains the elements of the character class, lenccl is the @@ -112,9 +112,7 @@ int cre8ecs (fwd, bck, num) * NUL_mapping is the value which NUL (0) should be mapped to. */ -void mkeccl (ccls, lenccl, fwd, bck, llsiz, NUL_mapping) - Char ccls[]; - int lenccl, fwd[], bck[], llsiz, NUL_mapping; +void mkeccl (unsigned char ccls[], int lenccl, int fwd[], int bck[], int llsiz, int NUL_mapping) { int cclp, oldec, newec; int cclm, i, j; @@ -139,7 +137,7 @@ void mkeccl (ccls, lenccl, fwd, bck, llsiz, NUL_mapping) for (i = fwd[cclm]; i != NIL && i <= llsiz; i = fwd[i]) { /* look for the symbol in the character class */ for (; j < lenccl; ++j) { - register int ccl_char; + int ccl_char; if (NUL_mapping && ccls[j] == 0) ccl_char = NUL_mapping; @@ -191,7 +189,7 @@ void mkeccl (ccls, lenccl, fwd, bck, llsiz, NUL_mapping) /* Find next ccl member to process. */ - for (++cclp; cclflags[cclp] && cclp < lenccl; ++cclp) { + for (++cclp; cclp < lenccl && cclflags[cclp]; ++cclp) { /* Reset "doesn't need processing" flag. */ cclflags[cclp] = 0; } @@ -201,8 +199,7 @@ void mkeccl (ccls, lenccl, fwd, bck, llsiz, NUL_mapping) /* mkechar - create equivalence class for single character */ -void mkechar (tch, fwd, bck) - int tch, fwd[], bck[]; +void mkechar (int tch, int fwd[], int bck[]) { /* If until now the character has been a proper subset of * an equivalence class, break it away to create a new ec diff --git a/filter.c b/src/filter.c similarity index 88% rename from filter.c rename to src/filter.c index c82f7f8938a1..71f3635fe520 100644 --- a/filter.c +++ b/src/filter.c @@ -47,9 +47,9 @@ struct filter *filter_create_ext (struct filter *chain, const char *cmd, va_list ap; /* allocate and initialize new filter */ - f = (struct filter *) flex_alloc (sizeof (struct filter)); + f = malloc(sizeof(struct filter)); if (!f) - flexerror (_("flex_alloc failed (f) in filter_create_ext")); + flexerror(_("malloc failed (f) in filter_create_ext")); memset (f, 0, sizeof (*f)); f->filter_func = NULL; f->extra = NULL; @@ -66,23 +66,16 @@ struct filter *filter_create_ext (struct filter *chain, const char *cmd, /* allocate argv, and populate it with the argument list. */ max_args = 8; - f->argv = - (const char **) flex_alloc (sizeof (char *) * - (max_args + 1)); + f->argv = malloc(sizeof(char *) * (size_t) (max_args + 1)); if (!f->argv) - flexerror (_("flex_alloc failed (f->argv) in filter_create_ext")); + flexerror(_("malloc failed (f->argv) in filter_create_ext")); f->argv[f->argc++] = cmd; va_start (ap, cmd); while ((s = va_arg (ap, const char *)) != NULL) { if (f->argc >= max_args) { max_args += 8; - f->argv = - (const char **) flex_realloc (f->argv, - sizeof (char - *) * - (max_args + - 1)); + f->argv = realloc(f->argv, sizeof(char*) * (size_t) (max_args + 1)); } f->argv[f->argc++] = s; } @@ -107,9 +100,9 @@ struct filter *filter_create_int (struct filter *chain, struct filter *f; /* allocate and initialize new filter */ - f = (struct filter *) flex_alloc (sizeof (struct filter)); + f = malloc(sizeof(struct filter)); if (!f) - flexerror (_("flex_alloc failed in filter_create_int")); + flexerror(_("malloc failed in filter_create_int")); memset (f, 0, sizeof (*f)); f->next = NULL; f->argc = 0; @@ -135,9 +128,6 @@ struct filter *filter_create_int (struct filter *chain, bool filter_apply_chain (struct filter * chain) { int pid, pipes[2]; - int r; - const int readsz = 512; - char *buf; /* Tricky recursion, since we want to begin the chain @@ -177,6 +167,8 @@ clearerr(stdin); flexfatal (_("dup2(pipes[0],0)")); close (pipes[0]); fseek (stdin, 0, SEEK_CUR); + ungetc(' ', stdin); /* still an evil hack, but one that works better */ + (void)fgetc(stdin); /* on NetBSD than the fseek attempt does */ /* run as a filter, either internally or by exec */ if (chain->filter_func) { @@ -184,16 +176,16 @@ clearerr(stdin); if ((r = chain->filter_func (chain)) == -1) flexfatal (_("filter_func failed")); - exit (0); + FLEX_EXIT (0); } else { execvp (chain->argv[0], (char **const) (chain->argv)); - lerrsf_fatal ( _("exec of %s failed"), + lerr_fatal ( _("exec of %s failed"), chain->argv[0]); } - exit (1); + FLEX_EXIT (1); } /* Parent */ @@ -291,9 +283,9 @@ int filter_tee_header (struct filter *chain) fprintf (to_c, "m4_define( [[M4_YY_OUTFILE_NAME]],[[%s]])m4_dnl\n", outfilename ? outfilename : ""); - buf = (char *) flex_alloc (readsz); + buf = malloc((size_t) readsz); if (!buf) - flexerror (_("flex_alloc failed in filter_tee_header")); + flexerror(_("malloc failed in filter_tee_header")); while (fgets (buf, readsz, stdin)) { fputs (buf, to_c); if (write_header) @@ -304,7 +296,8 @@ int filter_tee_header (struct filter *chain) fprintf (to_h, "\n"); /* write a fake line number. It will get fixed by the linedir filter. */ - fprintf (to_h, "#line 4000 \"M4_YY_OUTFILE_NAME\"\n"); + if (gen_line_dirs) + fprintf (to_h, "#line 4000 \"M4_YY_OUTFILE_NAME\"\n"); fprintf (to_h, "#undef %sIN_HEADER\n", prefix); fprintf (to_h, "#endif /* %sHEADER_H */\n", prefix); @@ -312,26 +305,26 @@ int filter_tee_header (struct filter *chain) fflush (to_h); if (ferror (to_h)) - lerrsf (_("error writing output file %s"), + lerr (_("error writing output file %s"), (char *) chain->extra); else if (fclose (to_h)) - lerrsf (_("error closing output file %s"), + lerr (_("error closing output file %s"), (char *) chain->extra); } fflush (to_c); if (ferror (to_c)) - lerrsf (_("error writing output file %s"), + lerr (_("error writing output file %s"), outfilename ? outfilename : ""); else if (fclose (to_c)) - lerrsf (_("error closing output file %s"), + lerr (_("error closing output file %s"), outfilename ? outfilename : ""); while (wait (0) > 0) ; - exit (0); + FLEX_EXIT (0); return 0; } @@ -344,7 +337,7 @@ int filter_tee_header (struct filter *chain) int filter_fix_linedirs (struct filter *chain) { char *buf; - const int readsz = 512; + const size_t readsz = 512; int lineno = 1; bool in_gen = true; /* in generated code */ bool last_was_blank = false; @@ -352,11 +345,11 @@ int filter_fix_linedirs (struct filter *chain) if (!chain) return 0; - buf = (char *) flex_alloc (readsz); + buf = malloc(readsz); if (!buf) - flexerror (_("flex_alloc failed in filter_fix_linedirs")); + flexerror(_("malloc failed in filter_fix_linedirs")); - while (fgets (buf, readsz, stdin)) { + while (fgets (buf, (int) readsz, stdin)) { regmatch_t m[10]; @@ -364,11 +357,9 @@ int filter_fix_linedirs (struct filter *chain) if (buf[0] == '#' && regexec (®ex_linedir, buf, 3, m, 0) == 0) { - int num; char *fname; /* extract the line number and filename */ - num = regmatch_strtol (&m[1], buf, NULL, 0); fname = regmatch_dup (&m[2], buf); if (strcmp (fname, @@ -400,7 +391,7 @@ int filter_fix_linedirs (struct filter *chain) /* Adjust the line directives. */ in_gen = true; snprintf (buf, readsz, "#line %d \"%s\"\n", - lineno + 1, filename); + lineno, filename); } else { /* it's a #line directive for code we didn't write */ @@ -431,11 +422,11 @@ int filter_fix_linedirs (struct filter *chain) } fflush (stdout); if (ferror (stdout)) - lerrsf (_("error writing output file %s"), + lerr (_("error writing output file %s"), outfilename ? outfilename : ""); else if (fclose (stdout)) - lerrsf (_("error closing output file %s"), + lerr (_("error closing output file %s"), outfilename ? outfilename : ""); return 0; diff --git a/flex.skl b/src/flex.skl similarity index 84% rename from flex.skl rename to src/flex.skl index c981b1082b9a..786c977589cd 100644 --- a/flex.skl +++ b/src/flex.skl @@ -6,17 +6,18 @@ %# pre-compilation stage of flex. Only macros starting %# with `m4preproc_' are processed, and quoting is normal. %# -%# 2. The preprocessed skeleton is translated verbatim into a -%# C array, saved as "skel.c" and compiled into the flex binary. +%# 2. The preprocessed skeleton is translated into a C array, saved +%# as "skel.c" and compiled into the flex binary. The %# comment +%# lines are removed. %# %# 3. At runtime, the skeleton is generated and filtered (again) %# through m4. Macros beginning with `m4_' will be processed. %# The quoting is "[[" and "]]" so we don't interfere with %# user code. -%# +%# %# All generate macros for the m4 stage contain the text "m4" or "M4" %# in them. This is to distinguish them from CPP macros. -%# The exception to this rule is YY_G, which is an m4 macro, +%# The exception to this rule is YY_G, which is an m4 macro, %# but it needs to be remain short because it is used everywhere. %# /* A lexical scanner generated by flex */ @@ -29,7 +30,7 @@ m4_changecom m4_changequote m4_changequote([[, ]]) -%# +%# %# Lines in this skeleton starting with a "%" character are "control lines" %# and affect the generation of the scanner. The possible control codes are %# listed and processed in misc.c. @@ -61,11 +62,17 @@ m4_changequote([[, ]]) m4_ifelse(M4_YY_PREFIX,yy,, #define yy_create_buffer M4_YY_PREFIX[[_create_buffer]] #define yy_delete_buffer M4_YY_PREFIX[[_delete_buffer]] -#define yy_flex_debug M4_YY_PREFIX[[_flex_debug]] +#define yy_scan_buffer M4_YY_PREFIX[[_scan_buffer]] +#define yy_scan_string M4_YY_PREFIX[[_scan_string]] +#define yy_scan_bytes M4_YY_PREFIX[[_scan_bytes]] #define yy_init_buffer M4_YY_PREFIX[[_init_buffer]] #define yy_flush_buffer M4_YY_PREFIX[[_flush_buffer]] #define yy_load_buffer_state M4_YY_PREFIX[[_load_buffer_state]] #define yy_switch_to_buffer M4_YY_PREFIX[[_switch_to_buffer]] +#define yypush_buffer_state M4_YY_PREFIX[[push_buffer_state]] +#define yypop_buffer_state M4_YY_PREFIX[[pop_buffer_state]] +#define yyensure_buffer_stack M4_YY_PREFIX[[ensure_buffer_stack]] +#define yy_flex_debug M4_YY_PREFIX[[_flex_debug]] #define yyin M4_YY_PREFIX[[in]] #define yyleng M4_YY_PREFIX[[leng]] #define yylex M4_YY_PREFIX[[lex]] @@ -105,8 +112,16 @@ m4_ifdef( [[M4_YY_REENTRANT]], [[m4_define([[M4_YY_HAS_START_STACK_VARS]])]]) m4_ifdef( [[M4_YY_PREFIX]],, [[m4_define([[M4_YY_PREFIX]], [[yy]])]]) -m4preproc_define(`M4_GEN_PREFIX', - ``m4_define(yy[[$1]], [[M4_YY_PREFIX[[$1]]m4_ifelse($'`#,0,,[[($'`@)]])]])'') +m4preproc_define(`M4_GEN_PREFIX',`` +[[#ifdef yy$1 +#define ]]M4_YY_PREFIX[[$1_ALREADY_DEFINED +#else +#define yy$1 ]]M4_YY_PREFIX[[$1 +#endif]] +'m4preproc_divert(1)` +[[#ifndef ]]M4_YY_PREFIX[[$1_ALREADY_DEFINED +#undef yy$1 +#endif]]'m4preproc_divert(0)') %if-c++-only /* The c++ scanner is a mess. The FlexLexer.h header file relies on the @@ -119,6 +134,7 @@ m4preproc_define(`M4_GEN_PREFIX', %endif %if-c-only +m4_ifelse(M4_YY_PREFIX,yy,, M4_GEN_PREFIX(`_create_buffer') M4_GEN_PREFIX(`_delete_buffer') M4_GEN_PREFIX(`_scan_buffer') @@ -154,6 +170,7 @@ m4preproc_define(`M4_GEN_PREFIX', M4_GEN_PREFIX(`set_column') ]]) M4_GEN_PREFIX(`wrap') +) %endif m4_ifdef( [[M4_YY_BISON_LVAL]], @@ -169,11 +186,14 @@ m4_ifdef( [[]], ]]) +m4_ifelse(M4_YY_PREFIX,yy,, M4_GEN_PREFIX(`alloc') M4_GEN_PREFIX(`realloc') M4_GEN_PREFIX(`free') +) %if-c-only +m4_ifelse(M4_YY_PREFIX,yy,, m4_ifdef( [[M4_YY_NOT_REENTRANT]], [[ M4_GEN_PREFIX(`text') @@ -183,6 +203,7 @@ m4_ifdef( [[M4_YY_NOT_REENTRANT]], M4_GEN_PREFIX(`_flex_debug') M4_GEN_PREFIX(`lineno') ]]) +) %endif @@ -213,9 +234,9 @@ m4_ifdef( [[M4_YY_TABLES_EXTERNAL]], m4preproc_include(`flexint.h') %endif -%if-c++-only /* begin standard C++ headers. */ -#include +%if-c++-only +#include #include #include #include @@ -223,45 +244,14 @@ m4preproc_include(`flexint.h') /* end standard C++ headers. */ %endif -#ifdef __cplusplus - -/* The "const" storage-class-modifier is valid. */ -#define YY_USE_CONST - -#else /* ! __cplusplus */ - -/* C99 requires __STDC__ to be defined as 1. */ -#if defined (__STDC__) - -#define YY_USE_CONST - -#endif /* defined (__STDC__) */ -#endif /* ! __cplusplus */ - -#ifdef YY_USE_CONST +/* TODO: this is always defined, so inline it */ #define yyconst const -#else -#define yyconst -#endif -%# For compilers that can not handle prototypes. -%# e.g., -%# The function prototype -%# int foo(int x, char* y); -%# -%# ...should be written as -%# int foo M4_YY_PARAMS(int x, char* y); -%# -%# ...which could possibly generate -%# int foo (); -%# -m4_ifdef( [[M4_YY_NO_ANSI_FUNC_PROTOS]], -[[ - m4_define( [[M4_YY_PARAMS]], [[()]]) -]], -[[ - m4_define( [[M4_YY_PARAMS]], [[($*)]]) -]]) +#if defined(__GNUC__) && __GNUC__ >= 3 +#define yynoreturn __attribute__((__noreturn__)) +#else +#define yynoreturn +#endif %not-for-header /* Returned upon end-of-file. */ @@ -269,12 +259,10 @@ m4_ifdef( [[M4_YY_NO_ANSI_FUNC_PROTOS]], %ok-for-header %not-for-header -/* Promotes a possibly negative, possibly signed char to an unsigned - * integer for use as an array index. If the signed char is negative, - * we want to instead treat it as an 8-bit unsigned char, hence the - * double cast. +/* Promotes a possibly negative, possibly signed char to an + * integer in range [0..255] for use as an array index. */ -#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) +#define YY_SC_TO_UI(c) ((YY_CHAR) (c)) %ok-for-header @@ -298,16 +286,8 @@ m4_define( [[YY_G]], [[yyg->$1]]) m4_define( [[M4_YY_PROTO_LAST_ARG]], [[, yyscan_t yyscanner]]) m4_define( [[M4_YY_PROTO_ONLY_ARG]], [[yyscan_t yyscanner]]) -%# For use in function definitions to append the additional argument. -m4_ifdef( [[M4_YY_NO_ANSI_FUNC_DEFS]], -[[ - m4_define( [[M4_YY_DEF_LAST_ARG]], [[, yyscanner]]) - m4_define( [[M4_YY_DEF_ONLY_ARG]], [[yyscanner]]) -]], -[[ - m4_define( [[M4_YY_DEF_LAST_ARG]], [[, yyscan_t yyscanner]]) - m4_define( [[M4_YY_DEF_ONLY_ARG]], [[yyscan_t yyscanner]]) -]]) +m4_define( [[M4_YY_DEF_LAST_ARG]], [[, yyscan_t yyscanner]]) +m4_define( [[M4_YY_DEF_ONLY_ARG]], [[yyscan_t yyscanner]]) m4_define( [[M4_YY_DECL_LAST_ARG]], [[yyscan_t yyscanner;]]) %# For use in function calls to pass the additional argument. @@ -329,7 +309,7 @@ m4_define( [[M4_YY_DOC_PARAM]], [[@param yyscanner The scanner object.]]) #define yy_flex_debug YY_G(yy_flex_debug_r) m4_define( [[M4_YY_INCR_LINENO]], -[[ +[[ do{ yylineno++; yycolumn=0; }while(0) @@ -342,7 +322,7 @@ m4_define( [[M4_YY_INCR_LINENO]], %if-not-reentrant m4_define( [[M4_YY_INCR_LINENO]], -[[ +[[ yylineno++; ]]) @@ -354,60 +334,19 @@ m4_define( [[M4_YY_PROTO_LAST_ARG]]) m4_define( [[M4_YY_PROTO_ONLY_ARG]], [[void]]) m4_define( [[M4_YY_DEF_LAST_ARG]]) -m4_ifdef( [[M4_YY_NO_ANSI_FUNC_DEFS]], -[[ - m4_define( [[M4_YY_DEF_ONLY_ARG]]) -]], -[[ - m4_define( [[M4_YY_DEF_ONLY_ARG]], [[void]]) -]]) +m4_define( [[M4_YY_DEF_ONLY_ARG]], [[void]]) m4_define([[M4_YY_DECL_LAST_ARG]]) m4_define([[M4_YY_CALL_LAST_ARG]]) m4_define([[M4_YY_CALL_ONLY_ARG]]) -m4_define( [[M4_YY_DOC_PARAM]], [[]]) +m4_define( [[M4_YY_DOC_PARAM]], ) %endif -m4_ifdef( [[M4_YY_NO_ANSI_FUNC_DEFS]], -[[ -%# For compilers that need traditional function definitions. -%# e.g., -%# The function prototype taking 2 arguments -%# int foo (int x, char* y) -%# -%# ...should be written as -%# int foo YYFARGS2(int,x, char*,y) -%# -%# ...which could possibly generate -%# int foo (x,y,yyscanner) -%# int x; -%# char * y; -%# yyscan_t yyscanner; -%# -%# Generate traditional function defs - m4_define( [[YYFARGS0]], [[(M4_YY_DEF_ONLY_ARG) [[\]] - M4_YY_DECL_LAST_ARG]]) - m4_define( [[YYFARGS1]], [[($2 M4_YY_DEF_LAST_ARG) [[\]] - $1 $2; [[\]] - M4_YY_DECL_LAST_ARG]]) - m4_define( [[YYFARGS2]], [[($2,$4 M4_YY_DEF_LAST_ARG) [[\]] - $1 $2; [[\]] - $3 $4; [[\]] - M4_YY_DECL_LAST_ARG]]) - m4_define( [[YYFARGS3]], [[($2,$4,$6 M4_YY_DEF_LAST_ARG) [[\]] - $1 $2; [[\]] - $3 $4; [[\]] - $5 $6; [[\]] - M4_YY_DECL_LAST_ARG]]) -]], -[[ %# Generate C99 function defs. - m4_define( [[YYFARGS0]], [[(M4_YY_DEF_ONLY_ARG)]]) - m4_define( [[YYFARGS1]], [[($1 $2 M4_YY_DEF_LAST_ARG)]]) - m4_define( [[YYFARGS2]], [[($1 $2, $3 $4 M4_YY_DEF_LAST_ARG)]]) - m4_define( [[YYFARGS3]], [[($1 $2, $3 $4, $5 $6 M4_YY_DEF_LAST_ARG)]]) -]]) +m4_define( [[YYFARGS1]], [[($1 $2 M4_YY_DEF_LAST_ARG)]]) +m4_define( [[YYFARGS2]], [[($1 $2, $3 $4 M4_YY_DEF_LAST_ARG)]]) +m4_define( [[YYFARGS3]], [[($1 $2, $3 $4, $5 $6 M4_YY_DEF_LAST_ARG)]]) m4_ifdef( [[M4_YY_NOT_IN_HEADER]], [[ @@ -416,38 +355,30 @@ m4_ifdef( [[M4_YY_NOT_IN_HEADER]], * definition of BEGIN. */ #define BEGIN YY_G(yy_start) = 1 + 2 * -]]) - -m4_ifdef( [[M4_YY_NOT_IN_HEADER]], -[[ /* Translate the current start state into a value that can be later handed * to BEGIN to return to the state. The YYSTATE alias is for lex * compatibility. */ #define YY_START ((YY_G(yy_start) - 1) / 2) #define YYSTATE YY_START -]]) - -m4_ifdef( [[M4_YY_NOT_IN_HEADER]], -[[ /* Action number for EOF rule of a given start state. */ #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) -]]) - -m4_ifdef( [[M4_YY_NOT_IN_HEADER]], -[[ /* Special action meaning "start processing a new file". */ #define YY_NEW_FILE yyrestart( yyin M4_YY_CALL_LAST_ARG ) -]]) - -m4_ifdef( [[M4_YY_NOT_IN_HEADER]], -[[ #define YY_END_OF_BUFFER_CHAR 0 ]]) /* Size of default input buffer. */ #ifndef YY_BUF_SIZE +#ifdef __ia64__ +/* On IA-64, the buffer size is 16k, not 8k. + * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case. + * Ditto for the __ia64__ case accordingly. + */ +#define YY_BUF_SIZE 32768 +#else #define YY_BUF_SIZE 16384 +#endif /* __ia64__ */ #endif m4_ifdef( [[M4_YY_NOT_IN_HEADER]], @@ -469,7 +400,7 @@ typedef size_t yy_size_t; #endif %if-not-reentrant -extern yy_size_t yyleng; +extern int yyleng; %endif %if-c-only @@ -483,15 +414,11 @@ m4_ifdef( [[M4_YY_NOT_IN_HEADER]], #define EOB_ACT_CONTINUE_SCAN 0 #define EOB_ACT_END_OF_FILE 1 #define EOB_ACT_LAST_MATCH 2 -]]) - -m4_ifdef( [[M4_YY_NOT_IN_HEADER]], -[[ m4_ifdef( [[M4_YY_USE_LINENO]], [[ /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires * access to the local variable yy_act. Since yyless() is a macro, it would break - * existing scanners that call yyless() from OUTSIDE yylex. + * existing scanners that call yyless() from OUTSIDE yylex. * One obvious solution it to make yy_act a global. I tried that, and saw * a 5% performance hit in a non-yylineno scanner, because yy_act is * normally declared as a register variable-- so it is not worth it. @@ -503,14 +430,18 @@ m4_ifdef( [[M4_YY_NOT_IN_HEADER]], if ( yytext[yyl] == '\n' )\ --yylineno;\ }while(0) + #define YY_LINENO_REWIND_TO(dst) \ + do {\ + const char *p;\ + for ( p = yy_cp-1; p >= (dst); --p)\ + if ( *p == '\n' )\ + --yylineno;\ + }while(0) ]], [[ #define YY_LESS_LINENO(n) + #define YY_LINENO_REWIND_TO(ptr) ]]) -]]) - -m4_ifdef( [[M4_YY_NOT_IN_HEADER]], -[[ /* Return all but the first "n" matched characters back to the input stream. */ #define yyless(n) \ do \ @@ -524,10 +455,6 @@ m4_ifdef( [[M4_YY_NOT_IN_HEADER]], YY_DO_BEFORE_ACTION; /* set up yytext again */ \ } \ while ( 0 ) -]]) - -m4_ifdef( [[M4_YY_NOT_IN_HEADER]], -[[ #define unput(c) yyunput( c, YY_G(yytext_ptr) M4_YY_CALL_LAST_ARG ) ]]) @@ -540,7 +467,7 @@ struct yy_buffer_state %endif %if-c++-only - std::istream* yy_input_file; + std::streambuf* yy_input_file; %endif @@ -550,12 +477,12 @@ struct yy_buffer_state /* Size of input buffer in bytes, not including room for EOB * characters. */ - yy_size_t yy_buf_size; + int yy_buf_size; /* Number of characters read into yy_ch_buf, not including EOB * characters. */ - yy_size_t yy_n_chars; + int yy_n_chars; /* Whether we "own" the buffer - i.e., we know we created it, * and can realloc() it to grow it, and should free() it to @@ -578,7 +505,7 @@ struct yy_buffer_state int yy_bs_lineno; /**< The line count. */ int yy_bs_column; /**< The column count. */ - + /* Whether to try to fill the input buffer when we reach the * end of it. @@ -612,7 +539,7 @@ m4_ifdef( [[M4_YY_NOT_IN_HEADER]], /* Stack of input buffers. */ static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */ static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */ -static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */ +static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */ %endif %ok-for-header %endif @@ -628,10 +555,6 @@ m4_ifdef( [[M4_YY_NOT_IN_HEADER]], #define YY_CURRENT_BUFFER ( YY_G(yy_buffer_stack) \ ? YY_G(yy_buffer_stack)[YY_G(yy_buffer_stack_top)] \ : NULL) -]]) - -m4_ifdef( [[M4_YY_NOT_IN_HEADER]], -[[ /* Same as previous macro, but useful when we know that the buffer stack is not * NULL or when we need an lvalue. For internal use only. */ @@ -644,11 +567,11 @@ m4_ifdef( [[M4_YY_NOT_IN_HEADER]], %not-for-header /* yy_hold_char holds the character lost when yytext is formed. */ static char yy_hold_char; -static yy_size_t yy_n_chars; /* number of characters read into yy_ch_buf */ -yy_size_t yyleng; +static int yy_n_chars; /* number of characters read into yy_ch_buf */ +int yyleng; /* Points to current character in buffer. */ -static char *yy_c_buf_p = (char *) 0; +static char *yy_c_buf_p = NULL; static int yy_init = 0; /* whether we need to initialize */ static int yy_start = 0; /* start state number */ @@ -659,43 +582,35 @@ static int yy_did_buffer_switch_on_eof; %ok-for-header %endif -void yyrestart M4_YY_PARAMS( FILE *input_file M4_YY_PROTO_LAST_ARG ); -void yy_switch_to_buffer M4_YY_PARAMS( YY_BUFFER_STATE new_buffer M4_YY_PROTO_LAST_ARG ); -YY_BUFFER_STATE yy_create_buffer M4_YY_PARAMS( FILE *file, int size M4_YY_PROTO_LAST_ARG ); -void yy_delete_buffer M4_YY_PARAMS( YY_BUFFER_STATE b M4_YY_PROTO_LAST_ARG ); -void yy_flush_buffer M4_YY_PARAMS( YY_BUFFER_STATE b M4_YY_PROTO_LAST_ARG ); -void yypush_buffer_state M4_YY_PARAMS( YY_BUFFER_STATE new_buffer M4_YY_PROTO_LAST_ARG ); -void yypop_buffer_state M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG ); - -m4_ifdef( [[M4_YY_NOT_IN_HEADER]], -[[ -static void yyensure_buffer_stack M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG ); -static void yy_load_buffer_state M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG ); -static void yy_init_buffer M4_YY_PARAMS( YY_BUFFER_STATE b, FILE *file M4_YY_PROTO_LAST_ARG ); -]]) +void yyrestart ( FILE *input_file M4_YY_PROTO_LAST_ARG ); +void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer M4_YY_PROTO_LAST_ARG ); +YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size M4_YY_PROTO_LAST_ARG ); +void yy_delete_buffer ( YY_BUFFER_STATE b M4_YY_PROTO_LAST_ARG ); +void yy_flush_buffer ( YY_BUFFER_STATE b M4_YY_PROTO_LAST_ARG ); +void yypush_buffer_state ( YY_BUFFER_STATE new_buffer M4_YY_PROTO_LAST_ARG ); +void yypop_buffer_state ( M4_YY_PROTO_ONLY_ARG ); m4_ifdef( [[M4_YY_NOT_IN_HEADER]], [[ +static void yyensure_buffer_stack ( M4_YY_PROTO_ONLY_ARG ); +static void yy_load_buffer_state ( M4_YY_PROTO_ONLY_ARG ); +static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file M4_YY_PROTO_LAST_ARG ); #define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER M4_YY_CALL_LAST_ARG) ]]) -YY_BUFFER_STATE yy_scan_buffer M4_YY_PARAMS( char *base, yy_size_t size M4_YY_PROTO_LAST_ARG ); -YY_BUFFER_STATE yy_scan_string M4_YY_PARAMS( yyconst char *yy_str M4_YY_PROTO_LAST_ARG ); -YY_BUFFER_STATE yy_scan_bytes M4_YY_PARAMS( yyconst char *bytes, yy_size_t len M4_YY_PROTO_LAST_ARG ); +YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size M4_YY_PROTO_LAST_ARG ); +YY_BUFFER_STATE yy_scan_string ( const char *yy_str M4_YY_PROTO_LAST_ARG ); +YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len M4_YY_PROTO_LAST_ARG ); %endif -void *yyalloc M4_YY_PARAMS( yy_size_t M4_YY_PROTO_LAST_ARG ); -void *yyrealloc M4_YY_PARAMS( void *, yy_size_t M4_YY_PROTO_LAST_ARG ); -void yyfree M4_YY_PARAMS( void * M4_YY_PROTO_LAST_ARG ); +void *yyalloc ( yy_size_t M4_YY_PROTO_LAST_ARG ); +void *yyrealloc ( void *, yy_size_t M4_YY_PROTO_LAST_ARG ); +void yyfree ( void * M4_YY_PROTO_LAST_ARG ); m4_ifdef( [[M4_YY_NOT_IN_HEADER]], [[ #define yy_new_buffer yy_create_buffer -]]) - -m4_ifdef( [[M4_YY_NOT_IN_HEADER]], -[[ #define yy_set_interactive(is_interactive) \ { \ if ( ! YY_CURRENT_BUFFER ){ \ @@ -705,10 +620,6 @@ m4_ifdef( [[M4_YY_NOT_IN_HEADER]], } \ YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \ } -]]) - -m4_ifdef( [[M4_YY_NOT_IN_HEADER]], -[[ #define yy_set_bol(at_bol) \ { \ if ( ! YY_CURRENT_BUFFER ){\ @@ -718,10 +629,6 @@ m4_ifdef( [[M4_YY_NOT_IN_HEADER]], } \ YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ } -]]) - -m4_ifdef( [[M4_YY_NOT_IN_HEADER]], -[[ #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) ]]) @@ -736,10 +643,10 @@ m4_ifdef( [[M4_YY_NOT_IN_HEADER]], m4_ifdef( [[M4_YY_NOT_IN_HEADER]], [[ -static yy_state_type yy_get_previous_state M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG ); -static yy_state_type yy_try_NUL_trans M4_YY_PARAMS( yy_state_type current_state M4_YY_PROTO_LAST_ARG); -static int yy_get_next_buffer M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG ); -static void yy_fatal_error M4_YY_PARAMS( yyconst char msg[] M4_YY_PROTO_LAST_ARG ); +static yy_state_type yy_get_previous_state ( M4_YY_PROTO_ONLY_ARG ); +static yy_state_type yy_try_NUL_trans ( yy_state_type current_state M4_YY_PROTO_LAST_ARG); +static int yy_get_next_buffer ( M4_YY_PROTO_ONLY_ARG ); +static void yynoreturn yy_fatal_error ( const char* msg M4_YY_PROTO_LAST_ARG ); ]]) %endif @@ -756,10 +663,6 @@ m4_ifdef( [[M4_YY_NOT_IN_HEADER]], *yy_cp = '\0'; \ %% [3.0] code to copy yytext_ptr to yytext[] goes here, if %array \ YY_G(yy_c_buf_p) = yy_cp; -]]) - -m4_ifdef( [[M4_YY_NOT_IN_HEADER]], -[[ %% [4.0] data tables for the DFA and the user's section 1 definitions go here ]]) @@ -812,8 +715,8 @@ struct yyguts_t size_t yy_buffer_stack_max; /**< capacity of stack. */ YY_BUFFER_STATE * yy_buffer_stack; /**< Stack as an array. */ char yy_hold_char; - yy_size_t yy_n_chars; - yy_size_t yyleng_r; + int yy_n_chars; + int yyleng_r; char *yy_c_buf_p; int yy_init; int yy_start; @@ -871,7 +774,7 @@ m4_ifdef( [[]], %if-c-only m4_ifdef( [[M4_YY_NOT_IN_HEADER]], [[ -static int yy_init_globals M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG ); +static int yy_init_globals ( M4_YY_PROTO_ONLY_ARG ); ]]) %endif @@ -892,9 +795,9 @@ m4_ifdef( [[M4_YY_NOT_IN_HEADER]], ]]) ]]) -int yylex_init M4_YY_PARAMS(yyscan_t* scanner); +int yylex_init (yyscan_t* scanner); -int yylex_init_extra M4_YY_PARAMS( YY_EXTRA_TYPE user_defined, yyscan_t* scanner); +int yylex_init_extra ( YY_EXTRA_TYPE user_defined, yyscan_t* scanner); %endif @@ -905,74 +808,74 @@ int yylex_init_extra M4_YY_PARAMS( YY_EXTRA_TYPE user_defined, yyscan_t* scanner m4_ifdef( [[M4_YY_NO_DESTROY]],, [[ -int yylex_destroy M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG ); +int yylex_destroy ( M4_YY_PROTO_ONLY_ARG ); ]]) m4_ifdef( [[M4_YY_NO_GET_DEBUG]],, [[ -int yyget_debug M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG ); +int yyget_debug ( M4_YY_PROTO_ONLY_ARG ); ]]) m4_ifdef( [[M4_YY_NO_SET_DEBUG]],, [[ -void yyset_debug M4_YY_PARAMS( int debug_flag M4_YY_PROTO_LAST_ARG ); +void yyset_debug ( int debug_flag M4_YY_PROTO_LAST_ARG ); ]]) m4_ifdef( [[M4_YY_NO_GET_EXTRA]],, [[ -YY_EXTRA_TYPE yyget_extra M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG ); +YY_EXTRA_TYPE yyget_extra ( M4_YY_PROTO_ONLY_ARG ); ]]) m4_ifdef( [[M4_YY_NO_SET_EXTRA]],, [[ -void yyset_extra M4_YY_PARAMS( YY_EXTRA_TYPE user_defined M4_YY_PROTO_LAST_ARG ); +void yyset_extra ( YY_EXTRA_TYPE user_defined M4_YY_PROTO_LAST_ARG ); ]]) m4_ifdef( [[M4_YY_NO_GET_IN]],, [[ -FILE *yyget_in M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG ); +FILE *yyget_in ( M4_YY_PROTO_ONLY_ARG ); ]]) m4_ifdef( [[M4_YY_NO_SET_IN]],, [[ -void yyset_in M4_YY_PARAMS( FILE * in_str M4_YY_PROTO_LAST_ARG ); +void yyset_in ( FILE * _in_str M4_YY_PROTO_LAST_ARG ); ]]) m4_ifdef( [[M4_YY_NO_GET_OUT]],, [[ -FILE *yyget_out M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG ); +FILE *yyget_out ( M4_YY_PROTO_ONLY_ARG ); ]]) m4_ifdef( [[M4_YY_NO_SET_OUT]],, [[ -void yyset_out M4_YY_PARAMS( FILE * out_str M4_YY_PROTO_LAST_ARG ); +void yyset_out ( FILE * _out_str M4_YY_PROTO_LAST_ARG ); ]]) m4_ifdef( [[M4_YY_NO_GET_LENG]],, [[ -yy_size_t yyget_leng M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG ); + int yyget_leng ( M4_YY_PROTO_ONLY_ARG ); ]]) m4_ifdef( [[M4_YY_NO_GET_TEXT]],, [[ -char *yyget_text M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG ); +char *yyget_text ( M4_YY_PROTO_ONLY_ARG ); ]]) m4_ifdef( [[M4_YY_NO_GET_LINENO]],, [[ -int yyget_lineno M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG ); +int yyget_lineno ( M4_YY_PROTO_ONLY_ARG ); ]]) m4_ifdef( [[M4_YY_NO_SET_LINENO]],, [[ -void yyset_lineno M4_YY_PARAMS( int line_number M4_YY_PROTO_LAST_ARG ); +void yyset_lineno ( int _line_number M4_YY_PROTO_LAST_ARG ); ]]) m4_ifdef( [[M4_YY_REENTRANT]], [[ m4_ifdef( [[M4_YY_NO_GET_COLUMN]],, [[ -int yyget_column M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG ); +int yyget_column ( M4_YY_PROTO_ONLY_ARG ); ]]) ]]) @@ -980,28 +883,28 @@ m4_ifdef( [[M4_YY_REENTRANT]], [[ m4_ifdef( [[M4_YY_NO_SET_COLUMN]],, [[ -void yyset_column M4_YY_PARAMS( int column_no M4_YY_PROTO_LAST_ARG ); +void yyset_column ( int _column_no M4_YY_PROTO_LAST_ARG ); ]]) ]]) %if-bison-bridge m4_ifdef( [[M4_YY_NO_GET_LVAL]],, [[ -YYSTYPE * yyget_lval M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG ); +YYSTYPE * yyget_lval ( M4_YY_PROTO_ONLY_ARG ); ]]) -void yyset_lval M4_YY_PARAMS( YYSTYPE * yylval_param M4_YY_PROTO_LAST_ARG ); +void yyset_lval ( YYSTYPE * yylval_param M4_YY_PROTO_LAST_ARG ); m4_ifdef( [[]], [[ m4_ifdef( [[M4_YY_NO_GET_LLOC]],, [[ - YYLTYPE *yyget_lloc M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG ); + YYLTYPE *yyget_lloc ( M4_YY_PROTO_ONLY_ARG ); ]]) m4_ifdef( [[M4_YY_NO_SET_LLOC]],, [[ - void yyset_lloc M4_YY_PARAMS( YYLTYPE * yylloc_param M4_YY_PROTO_LAST_ARG ); + void yyset_lloc ( YYLTYPE * yylloc_param M4_YY_PROTO_LAST_ARG ); ]]) ]]) %endif @@ -1012,35 +915,37 @@ m4_ifdef( [[]], #ifndef YY_SKIP_YYWRAP #ifdef __cplusplus -extern "C" int yywrap M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG ); +extern "C" int yywrap ( M4_YY_PROTO_ONLY_ARG ); #else -extern int yywrap M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG ); +extern int yywrap ( M4_YY_PROTO_ONLY_ARG ); #endif #endif %not-for-header +#ifndef YY_NO_UNPUT m4_ifdef( [[M4_YY_NO_UNPUT]],, [[ - static void yyunput M4_YY_PARAMS( int c, char *buf_ptr M4_YY_PROTO_LAST_ARG); + static void yyunput ( int c, char *buf_ptr M4_YY_PROTO_LAST_ARG); ]]) +#endif %ok-for-header %endif #ifndef yytext_ptr -static void yy_flex_strncpy M4_YY_PARAMS( char *, yyconst char *, int M4_YY_PROTO_LAST_ARG); +static void yy_flex_strncpy ( char *, const char *, int M4_YY_PROTO_LAST_ARG); #endif #ifdef YY_NEED_STRLEN -static int yy_flex_strlen M4_YY_PARAMS( yyconst char * M4_YY_PROTO_LAST_ARG); +static int yy_flex_strlen ( const char * M4_YY_PROTO_LAST_ARG); #endif #ifndef YY_NO_INPUT %if-c-only Standard (non-C++) definition %not-for-header #ifdef __cplusplus -static int yyinput M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG ); +static int yyinput ( M4_YY_PROTO_ONLY_ARG ); #else -static int input M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG ); +static int input ( M4_YY_PROTO_ONLY_ARG ); #endif %ok-for-header %endif @@ -1066,15 +971,15 @@ m4_ifdef( [[M4_YY_NOT_IN_HEADER]], [[ m4_ifdef( [[M4_YY_NO_PUSH_STATE]],, [[ - static void yy_push_state M4_YY_PARAMS( int new_state M4_YY_PROTO_LAST_ARG); + static void yy_push_state ( int _new_state M4_YY_PROTO_LAST_ARG); ]]) m4_ifdef( [[M4_YY_NO_POP_STATE]],, [[ - static void yy_pop_state M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG ); + static void yy_pop_state ( M4_YY_PROTO_ONLY_ARG ); ]]) m4_ifdef( [[M4_YY_NO_TOP_STATE]],, [[ - static int yy_top_state M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG ); + static int yy_top_state ( M4_YY_PROTO_ONLY_ARG ); ]]) ]]) @@ -1088,7 +993,12 @@ m4_define( [[M4_YY_NO_TOP_STATE]]) /* Amount of stuff to slurp up with each read. */ #ifndef YY_READ_BUF_SIZE +#ifdef __ia64__ +/* On IA-64, the buffer size is 16k, not 8k */ +#define YY_READ_BUF_SIZE 16384 +#else #define YY_READ_BUF_SIZE 8192 +#endif /* __ia64__ */ #endif m4_ifdef( [[M4_YY_NOT_IN_HEADER]], @@ -1099,7 +1009,7 @@ m4_ifdef( [[M4_YY_NOT_IN_HEADER]], /* This used to be an fputs(), but since the string might contain NUL's, * we now use fwrite(). */ -#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0) +#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0) %endif %if-c++-only C++ definition #define ECHO LexerOutput( yytext, yyleng ) @@ -1117,7 +1027,7 @@ m4_ifdef( [[M4_YY_NOT_IN_HEADER]], %% [5.0] fread()/read() definition of YY_INPUT goes here unless we're doing C++ \ \ %if-c++-only C++ definition \ - if ( (result = LexerInput( (char *) buf, max_size )) < 0 ) \ + if ( (int)(result = LexerInput( (char *) buf, max_size )) < 0 ) \ YY_FATAL_ERROR( "input in flex scanner failed" ); %endif @@ -1157,15 +1067,15 @@ m4_ifdef( [[M4_YY_NOT_IN_HEADER]], m4preproc_include(`tables_shared.h') /* Load the DFA tables from the given stream. */ -int yytables_fload M4_YY_PARAMS(FILE * fp M4_YY_PROTO_LAST_ARG); +int yytables_fload (FILE * fp M4_YY_PROTO_LAST_ARG); /* Unload the tables from memory. */ -int yytables_destroy M4_YY_PARAMS(M4_YY_PROTO_ONLY_ARG); +int yytables_destroy (M4_YY_PROTO_ONLY_ARG); %not-for-header /** Describes a mapping from a serialized table id to its deserialized state in * this scanner. This is the bridge between our "generic" deserialization code - * and the specifics of this scanner. + * and the specifics of this scanner. */ struct yytbl_dmap { enum yytbl_id dm_id;/**< table identifier */ @@ -1199,8 +1109,8 @@ struct yytbl_reader { %if-c-only Standard (non-C++) definition -m4_define( [[M4_YY_LEX_PROTO]], [[M4_YY_PARAMS(M4_YY_PROTO_ONLY_ARG)]]) -m4_define( [[M4_YY_LEX_DECLARATION]], [[YYFARGS0(void)]]) +m4_define( [[M4_YY_LEX_PROTO]], [[(M4_YY_PROTO_ONLY_ARG)]]) +m4_define( [[M4_YY_LEX_DECLARATION]], [[(M4_YY_DEF_ONLY_ARG)]]) m4_ifdef( [[M4_YY_BISON_LVAL]], [[ @@ -1208,7 +1118,7 @@ m4_ifdef( [[M4_YY_BISON_LVAL]], m4_dnl accept the lval parameter. m4_define( [[M4_YY_LEX_PROTO]], [[\]] - [[M4_YY_PARAMS(YYSTYPE * yylval_param M4_YY_PROTO_LAST_ARG)]]) + [[(YYSTYPE * yylval_param M4_YY_PROTO_LAST_ARG)]]) m4_define( [[M4_YY_LEX_DECLARATION]], [[\]] [[YYFARGS1(YYSTYPE *,yylval_param)]]) ]]) @@ -1218,7 +1128,7 @@ m4_ifdef( [[]], m4_dnl Locations are used. yylex should also accept the ylloc parameter. m4_define( [[M4_YY_LEX_PROTO]], [[\]] - [[M4_YY_PARAMS(YYSTYPE * yylval_param, YYLTYPE * yylloc_param M4_YY_PROTO_LAST_ARG)]]) + [[(YYSTYPE * yylval_param, YYLTYPE * yylloc_param M4_YY_PROTO_LAST_ARG)]]) m4_define( [[M4_YY_LEX_DECLARATION]], [[\]] [[YYFARGS2(YYSTYPE *,yylval_param, YYLTYPE *,yylloc_param)]]) ]]) @@ -1246,7 +1156,7 @@ m4_ifdef( [[M4_YY_NOT_IN_HEADER]], [[ /* Code executed at the end of each rule. */ #ifndef YY_BREAK -#define YY_BREAK break; +#define YY_BREAK /*LINTED*/break; #endif ]]) @@ -1260,9 +1170,9 @@ m4_ifdef( [[M4_YY_NOT_IN_HEADER]], */ YY_DECL { - register yy_state_type yy_current_state; - register char *yy_cp, *yy_bp; - register int yy_act; + yy_state_type yy_current_state; + char *yy_cp, *yy_bp; + int yy_act; M4_YY_DECL_GUTS_VAR(); m4_ifdef( [[M4_YY_NOT_REENTRANT]], @@ -1277,8 +1187,6 @@ m4_ifdef( [[M4_YY_NOT_REENTRANT]], ]]) ]]) -%% [7.0] user's declarations go here - m4_ifdef( [[M4_YY_BISON_LVAL]], [[ yylval = yylval_param; @@ -1314,7 +1222,7 @@ m4_ifdef( [[M4_YY_USES_REJECT]], yyin = stdin; %endif %if-c++-only - yyin = & std::cin; + yyin.rdbuf(std::cin.rdbuf()); %endif if ( ! yyout ) @@ -1322,7 +1230,7 @@ m4_ifdef( [[M4_YY_USES_REJECT]], yyout = stdout; %endif %if-c++-only - yyout = & std::cout; + yyout.rdbuf(std::cout.rdbuf()); %endif if ( ! YY_CURRENT_BUFFER ) { @@ -1334,7 +1242,10 @@ m4_ifdef( [[M4_YY_USES_REJECT]], yy_load_buffer_state( M4_YY_CALL_ONLY_ARG ); } - while ( 1 ) /* loops until end-of-file is reached */ + { +%% [7.0] user's declarations go here + + while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { %% [8.0] yymore()-related code goes here yy_cp = YY_G(yy_c_buf_p); @@ -1385,7 +1296,12 @@ do_action: /* This label is used only to access EOF actions. */ * back-up) that will match for the new input source. */ YY_G(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; +%if-c-only YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin; +%endif +%if-c++-only + YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin.rdbuf(); +%endif YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL; } @@ -1491,17 +1407,36 @@ do_action: /* This label is used only to access EOF actions. */ "fatal flex scanner internal error--no action found" ); } /* end of action switch */ } /* end of scanning one token */ + } /* end of user's declarations */ } /* end of yylex */ %ok-for-header %if-c++-only %not-for-header /* The contents of this function are C++ specific, so the YY_G macro is not used. + * This constructor simply maintains backward compatibility. + * DEPRECATED */ -yyFlexLexer::yyFlexLexer( std::istream* arg_yyin, std::ostream* arg_yyout ) +yyFlexLexer::yyFlexLexer( std::istream* arg_yyin, std::ostream* arg_yyout ): + yyin(arg_yyin ? arg_yyin->rdbuf() : std::cin.rdbuf()), + yyout(arg_yyout ? arg_yyout->rdbuf() : std::cout.rdbuf()) +{ + ctor_common(); +} + +/* The contents of this function are C++ specific, so the YY_G macro is not used. + */ +yyFlexLexer::yyFlexLexer( std::istream& arg_yyin, std::ostream& arg_yyout ): + yyin(arg_yyin.rdbuf()), + yyout(arg_yyout.rdbuf()) +{ + ctor_common(); +} + +/* The contents of this function are C++ specific, so the YY_G macro is not used. + */ +void yyFlexLexer::ctor_common() { - yyin = arg_yyin; - yyout = arg_yyout; yy_c_buf_p = 0; yy_init = 0; yy_start = 0; @@ -1518,7 +1453,7 @@ yyFlexLexer::yyFlexLexer( std::istream* arg_yyin, std::ostream* arg_yyout ) yy_start_stack_ptr = yy_start_stack_depth = 0; yy_start_stack = NULL; - yy_buffer_stack = 0; + yy_buffer_stack = NULL; yy_buffer_stack_top = 0; yy_buffer_stack_max = 0; @@ -1542,18 +1477,31 @@ yyFlexLexer::~yyFlexLexer() yyfree( yy_buffer_stack M4_YY_CALL_LAST_ARG ); } +/* The contents of this function are C++ specific, so the YY_G macro is not used. + */ +void yyFlexLexer::switch_streams( std::istream& new_in, std::ostream& new_out ) +{ + // was if( new_in ) + yy_delete_buffer( YY_CURRENT_BUFFER M4_YY_CALL_LAST_ARG); + yy_switch_to_buffer( yy_create_buffer( new_in, YY_BUF_SIZE M4_YY_CALL_LAST_ARG) M4_YY_CALL_LAST_ARG); + + // was if( new_out ) + yyout.rdbuf(new_out.rdbuf()); +} + /* The contents of this function are C++ specific, so the YY_G macro is not used. */ void yyFlexLexer::switch_streams( std::istream* new_in, std::ostream* new_out ) { - if ( new_in ) - { - yy_delete_buffer( YY_CURRENT_BUFFER M4_YY_CALL_LAST_ARG); - yy_switch_to_buffer( yy_create_buffer( new_in, YY_BUF_SIZE M4_YY_CALL_LAST_ARG) M4_YY_CALL_LAST_ARG); - } + if( ! new_in ) { + new_in = &yyin; + } - if ( new_out ) - yyout = new_out; + if ( ! new_out ) { + new_out = &yyout; + } + + switch_streams(*new_in, *new_out); } #ifdef YY_INTERACTIVE @@ -1562,33 +1510,33 @@ int yyFlexLexer::LexerInput( char* buf, int /* max_size */ ) int yyFlexLexer::LexerInput( char* buf, int max_size ) #endif { - if ( yyin->eof() || yyin->fail() ) + if ( yyin.eof() || yyin.fail() ) return 0; #ifdef YY_INTERACTIVE - yyin->get( buf[0] ); + yyin.get( buf[0] ); - if ( yyin->eof() ) + if ( yyin.eof() ) return 0; - if ( yyin->bad() ) + if ( yyin.bad() ) return -1; return 1; #else - (void) yyin->read( buf, max_size ); + (void) yyin.read( buf, max_size ); - if ( yyin->bad() ) + if ( yyin.bad() ) return -1; else - return yyin->gcount(); + return yyin.gcount(); #endif } void yyFlexLexer::LexerOutput( const char* buf, int size ) { - (void) yyout->write( buf, size ); + (void) yyout.write( buf, size ); } %ok-for-header %endif @@ -1603,16 +1551,16 @@ m4_ifdef( [[M4_YY_NOT_IN_HEADER]], * EOB_ACT_END_OF_FILE - end of file */ %if-c-only -static int yy_get_next_buffer YYFARGS0(void) +static int yy_get_next_buffer (M4_YY_DEF_ONLY_ARG) %endif %if-c++-only int yyFlexLexer::yy_get_next_buffer() %endif { M4_YY_DECL_GUTS_VAR(); - register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; - register char *source = YY_G(yytext_ptr); - register int number_to_move, i; + char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; + char *source = YY_G(yytext_ptr); + int number_to_move, i; int ret_val; if ( YY_G(yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[YY_G(yy_n_chars) + 1] ) @@ -1641,7 +1589,7 @@ int yyFlexLexer::yy_get_next_buffer() /* Try to read more data. */ /* First move last chars to start of buffer. */ - number_to_move = (int) (YY_G(yy_c_buf_p) - YY_G(yytext_ptr)) - 1; + number_to_move = (int) (YY_G(yy_c_buf_p) - YY_G(yytext_ptr) - 1); for ( i = 0; i < number_to_move; ++i ) *(dest++) = *(source++); @@ -1654,7 +1602,7 @@ int yyFlexLexer::yy_get_next_buffer() else { - yy_size_t num_to_read = + int num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; while ( num_to_read <= 0 ) @@ -1673,7 +1621,7 @@ m4_ifdef( [[M4_YY_USES_REJECT]], if ( b->yy_is_our_buffer ) { - yy_size_t new_size = b->yy_buf_size * 2; + int new_size = b->yy_buf_size * 2; if ( new_size <= 0 ) b->yy_buf_size += b->yy_buf_size / 8; @@ -1683,11 +1631,11 @@ m4_ifdef( [[M4_YY_USES_REJECT]], b->yy_ch_buf = (char *) /* Include room in for 2 EOB chars. */ yyrealloc( (void *) b->yy_ch_buf, - b->yy_buf_size + 2 M4_YY_CALL_LAST_ARG ); + (yy_size_t) (b->yy_buf_size + 2) M4_YY_CALL_LAST_ARG ); } else /* Can't grow it, we don't own it. */ - b->yy_ch_buf = 0; + b->yy_ch_buf = NULL; if ( ! b->yy_ch_buf ) YY_FATAL_ERROR( @@ -1729,13 +1677,15 @@ m4_ifdef( [[M4_YY_USES_REJECT]], else ret_val = EOB_ACT_CONTINUE_SCAN; - if ((yy_size_t) (YY_G(yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { + if ((YY_G(yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { /* Extend the array by 50%, plus the number we really need. */ - yy_size_t new_size = YY_G(yy_n_chars) + number_to_move + (YY_G(yy_n_chars) >> 1); + int new_size = YY_G(yy_n_chars) + number_to_move + (YY_G(yy_n_chars) >> 1); YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc( - (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, new_size M4_YY_CALL_LAST_ARG ); + (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size M4_YY_CALL_LAST_ARG ); if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); + /* "- 2" to take care of EOB's */ + YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2); } YY_G(yy_n_chars) += number_to_move; @@ -1752,14 +1702,14 @@ m4_ifdef( [[M4_YY_USES_REJECT]], %if-c-only %not-for-header - static yy_state_type yy_get_previous_state YYFARGS0(void) + static yy_state_type yy_get_previous_state (M4_YY_DEF_ONLY_ARG) %endif %if-c++-only yy_state_type yyFlexLexer::yy_get_previous_state() %endif { - register yy_state_type yy_current_state; - register char *yy_cp; + yy_state_type yy_current_state; + char *yy_cp; M4_YY_DECL_GUTS_VAR(); %% [15.0] code to get the start state into yy_current_state goes here @@ -1785,7 +1735,7 @@ m4_ifdef( [[M4_YY_USES_REJECT]], yy_state_type yyFlexLexer::yy_try_NUL_trans( yy_state_type yy_current_state ) %endif { - register int yy_is_jam; + int yy_is_jam; M4_YY_DECL_GUTS_VAR(); /* This var may be unused depending upon options. */ %% [17.0] code to find the next state, and perhaps do backing up, goes here @@ -1794,16 +1744,17 @@ m4_ifdef( [[M4_YY_USES_REJECT]], } +#ifndef YY_NO_UNPUT %if-c-only m4_ifdef( [[M4_YY_NO_UNPUT]],, [[ - static void yyunput YYFARGS2( int,c, register char *,yy_bp) + static void yyunput YYFARGS2( int,c, char *,yy_bp) %endif %if-c++-only - void yyFlexLexer::yyunput( int c, register char* yy_bp) + void yyFlexLexer::yyunput( int c, char* yy_bp) %endif { - register char *yy_cp; + char *yy_cp; M4_YY_DECL_GUTS_VAR(); yy_cp = YY_G(yy_c_buf_p); @@ -1814,10 +1765,10 @@ m4_ifdef( [[M4_YY_NO_UNPUT]],, if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) { /* need to shift things up to make room */ /* +2 for EOB chars. */ - register yy_size_t number_to_move = YY_G(yy_n_chars) + 2; - register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[ + int number_to_move = YY_G(yy_n_chars) + 2; + char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[ YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2]; - register char *source = + char *source = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]; while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) @@ -1826,7 +1777,7 @@ m4_ifdef( [[M4_YY_NO_UNPUT]],, yy_cp += (int) (dest - source); yy_bp += (int) (dest - source); YY_CURRENT_BUFFER_LVALUE->yy_n_chars = - YY_G(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size; + YY_G(yy_n_chars) = (int) YY_CURRENT_BUFFER_LVALUE->yy_buf_size; if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) YY_FATAL_ERROR( "flex scanner push-back overflow" ); @@ -1849,13 +1800,14 @@ m4_ifdef( [[M4_YY_USE_LINENO]], %if-c-only ]]) %endif +#endif %if-c-only #ifndef YY_NO_INPUT #ifdef __cplusplus - static int yyinput YYFARGS0(void) + static int yyinput (M4_YY_DEF_ONLY_ARG) #else - static int input YYFARGS0(void) + static int input (M4_YY_DEF_ONLY_ARG) #endif %endif @@ -1880,7 +1832,7 @@ m4_ifdef( [[M4_YY_USE_LINENO]], else { /* need more input */ - yy_size_t offset = YY_G(yy_c_buf_p) - YY_G(yytext_ptr); + int offset = (int) (YY_G(yy_c_buf_p) - YY_G(yytext_ptr)); ++YY_G(yy_c_buf_p); switch ( yy_get_next_buffer( M4_YY_CALL_ONLY_ARG ) ) @@ -1904,7 +1856,7 @@ m4_ifdef( [[M4_YY_USE_LINENO]], case EOB_ACT_END_OF_FILE: { if ( yywrap( M4_YY_CALL_ONLY_ARG ) ) - return EOF; + return 0; if ( ! YY_G(yy_did_buffer_switch_on_eof) ) YY_NEW_FILE; @@ -1943,7 +1895,7 @@ m4_ifdef( [[M4_YY_USE_LINENO]], void yyrestart YYFARGS1( FILE *,input_file) %endif %if-c++-only - void yyFlexLexer::yyrestart( std::istream* input_file ) + void yyFlexLexer::yyrestart( std::istream& input_file ) %endif { M4_YY_DECL_GUTS_VAR(); @@ -1958,6 +1910,21 @@ m4_ifdef( [[M4_YY_USE_LINENO]], yy_load_buffer_state( M4_YY_CALL_ONLY_ARG ); } +%if-c++-only +/** Delegate to the new version that takes an istream reference. + * @param input_file A readable stream. + * M4_YY_DOC_PARAM + * @note This function does not reset the start condition to @c INITIAL . + */ +void yyFlexLexer::yyrestart( std::istream* input_file ) +{ + if( ! input_file ) { + input_file = &yyin; + } + yyrestart( *input_file ); +} +%endif + /** Switch to a different input buffer. * @param new_buffer The new input buffer. * M4_YY_DOC_PARAM @@ -2001,7 +1968,7 @@ m4_ifdef( [[M4_YY_USE_LINENO]], %if-c-only -static void yy_load_buffer_state YYFARGS0(void) +static void yy_load_buffer_state (M4_YY_DEF_ONLY_ARG) %endif %if-c++-only void yyFlexLexer::yy_load_buffer_state() @@ -2010,7 +1977,12 @@ static void yy_load_buffer_state YYFARGS0(void) M4_YY_DECL_GUTS_VAR(); YY_G(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; YY_G(yytext_ptr) = YY_G(yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; +%if-c-only yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file; +%endif +%if-c++-only + yyin.rdbuf(YY_CURRENT_BUFFER_LVALUE->yy_input_file); +%endif YY_G(yy_hold_char) = *YY_G(yy_c_buf_p); } @@ -2024,7 +1996,7 @@ static void yy_load_buffer_state YYFARGS0(void) YY_BUFFER_STATE yy_create_buffer YYFARGS2( FILE *,file, int ,size) %endif %if-c++-only - YY_BUFFER_STATE yyFlexLexer::yy_create_buffer( std::istream* file, int size ) + YY_BUFFER_STATE yyFlexLexer::yy_create_buffer( std::istream& file, int size ) %endif { YY_BUFFER_STATE b; @@ -2039,7 +2011,7 @@ static void yy_load_buffer_state YYFARGS0(void) /* yy_ch_buf has to be 2 characters longer than the size given because * we need to put in 2 end-of-buffer characters. */ - b->yy_ch_buf = (char *) yyalloc( b->yy_buf_size + 2 M4_YY_CALL_LAST_ARG ); + b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) M4_YY_CALL_LAST_ARG ); if ( ! b->yy_ch_buf ) YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); @@ -2050,6 +2022,19 @@ static void yy_load_buffer_state YYFARGS0(void) return b; } +%if-c++-only +/** Delegate creation of buffers to the new version that takes an istream reference. + * @param file A readable stream. + * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE. + * M4_YY_DOC_PARAM + * @return the allocated buffer state. + */ + YY_BUFFER_STATE yyFlexLexer::yy_create_buffer( std::istream* file, int size ) +{ + return yy_create_buffer( *file, size ); +} +%endif + /** Destroy the buffer. * @param b a buffer created with yy_create_buffer() * M4_YY_DOC_PARAM @@ -2084,7 +2069,7 @@ static void yy_load_buffer_state YYFARGS0(void) static void yy_init_buffer YYFARGS2( YY_BUFFER_STATE ,b, FILE *,file) %endif %if-c++-only - void yyFlexLexer::yy_init_buffer( YY_BUFFER_STATE b, std::istream* file ) + void yyFlexLexer::yy_init_buffer( YY_BUFFER_STATE b, std::istream& file ) %endif { @@ -2093,7 +2078,12 @@ static void yy_load_buffer_state YYFARGS0(void) yy_flush_buffer( b M4_YY_CALL_LAST_ARG); +%if-c-only b->yy_input_file = file; +%endif +%if-c++-only + b->yy_input_file = file.rdbuf(); +%endif b->yy_fill_buffer = 1; /* If b is the current buffer, then yy_init_buffer was _probably_ @@ -2206,7 +2196,7 @@ void yyFlexLexer::yypush_buffer_state (YY_BUFFER_STATE new_buffer) * M4_YY_DOC_PARAM */ %if-c-only -void yypop_buffer_state YYFARGS0(void) +void yypop_buffer_state (M4_YY_DEF_ONLY_ARG) %endif %if-c++-only void yyFlexLexer::yypop_buffer_state (void) @@ -2234,7 +2224,7 @@ void yyFlexLexer::yypop_buffer_state (void) * Guarantees space for at least one push. */ %if-c-only -static void yyensure_buffer_stack YYFARGS0(void) +static void yyensure_buffer_stack (M4_YY_DEF_ONLY_ARG) %endif %if-c++-only void yyFlexLexer::yyensure_buffer_stack(void) @@ -2249,16 +2239,16 @@ void yyFlexLexer::yyensure_buffer_stack(void) * scanner will even need a stack. We use 2 instead of 1 to avoid an * immediate realloc on the next call. */ - num_to_alloc = 1; + num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */ YY_G(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc (num_to_alloc * sizeof(struct yy_buffer_state*) M4_YY_CALL_LAST_ARG); if ( ! YY_G(yy_buffer_stack) ) YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); - - + + memset(YY_G(yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*)); - + YY_G(yy_buffer_stack_max) = num_to_alloc; YY_G(yy_buffer_stack_top) = 0; return; @@ -2267,7 +2257,7 @@ void yyFlexLexer::yyensure_buffer_stack(void) if (YY_G(yy_buffer_stack_top) >= (YY_G(yy_buffer_stack_max)) - 1){ /* Increase the buffer to prepare for a possible push. */ - int grow_size = 8 /* arbitrary grow size */; + yy_size_t grow_size = 8 /* arbitrary grow size */; num_to_alloc = YY_G(yy_buffer_stack_max) + grow_size; YY_G(yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc @@ -2294,7 +2284,7 @@ m4_ifdef( [[M4_YY_NO_SCAN_BUFFER]],, * @param base the character buffer * @param size the size in bytes of the character buffer * M4_YY_DOC_PARAM - * @return the newly allocated buffer state object. + * @return the newly allocated buffer state object. */ YY_BUFFER_STATE yy_scan_buffer YYFARGS2( char *,base, yy_size_t ,size) { @@ -2305,16 +2295,16 @@ YY_BUFFER_STATE yy_scan_buffer YYFARGS2( char *,base, yy_size_t ,size) base[size-2] != YY_END_OF_BUFFER_CHAR || base[size-1] != YY_END_OF_BUFFER_CHAR ) /* They forgot to leave room for the EOB's. */ - return 0; + return NULL; b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) M4_YY_CALL_LAST_ARG ); if ( ! b ) YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" ); - b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ + b->yy_buf_size = (int) (size - 2); /* "- 2" to take care of EOB's */ b->yy_buf_pos = b->yy_ch_buf = base; b->yy_is_our_buffer = 0; - b->yy_input_file = 0; + b->yy_input_file = NULL; b->yy_n_chars = b->yy_buf_size; b->yy_is_interactive = 0; b->yy_at_bol = 1; @@ -2340,11 +2330,11 @@ m4_ifdef( [[M4_YY_NO_SCAN_STRING]],, * @note If you want to scan bytes that may contain NUL values, then use * yy_scan_bytes() instead. */ -YY_BUFFER_STATE yy_scan_string YYFARGS1( yyconst char *, yystr) +YY_BUFFER_STATE yy_scan_string YYFARGS1( const char *, yystr) { m4_dnl M4_YY_DECL_GUTS_VAR(); - return yy_scan_bytes( yystr, strlen(yystr) M4_YY_CALL_LAST_ARG); + return yy_scan_bytes( yystr, (int) strlen(yystr) M4_YY_CALL_LAST_ARG); } %endif ]]) @@ -2360,16 +2350,16 @@ m4_ifdef( [[M4_YY_NO_SCAN_BYTES]],, * M4_YY_DOC_PARAM * @return the newly allocated buffer state object. */ -YY_BUFFER_STATE yy_scan_bytes YYFARGS2( yyconst char *,yybytes, yy_size_t ,_yybytes_len) +YY_BUFFER_STATE yy_scan_bytes YYFARGS2( const char *,yybytes, int ,_yybytes_len) { YY_BUFFER_STATE b; char *buf; yy_size_t n; - yy_size_t i; + int i; m4_dnl M4_YY_DECL_GUTS_VAR(); /* Get memory for full buffer, including space for trailing EOB's. */ - n = _yybytes_len + 2; + n = (yy_size_t) (_yybytes_len + 2); buf = (char *) yyalloc( n M4_YY_CALL_LAST_ARG ); if ( ! buf ) YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" ); @@ -2397,10 +2387,10 @@ YY_BUFFER_STATE yy_scan_bytes YYFARGS2( yyconst char *,yybytes, yy_size_t ,_yyb m4_ifdef( [[M4_YY_NO_PUSH_STATE]],, [[ %if-c-only - static void yy_push_state YYFARGS1( int ,new_state) + static void yy_push_state YYFARGS1( int ,_new_state) %endif %if-c++-only - void yyFlexLexer::yy_push_state( int new_state ) + void yyFlexLexer::yy_push_state( int _new_state ) %endif { M4_YY_DECL_GUTS_VAR(); @@ -2409,7 +2399,7 @@ m4_ifdef( [[M4_YY_NO_PUSH_STATE]],, yy_size_t new_size; YY_G(yy_start_stack_depth) += YY_START_STACK_INCR; - new_size = YY_G(yy_start_stack_depth) * sizeof( int ); + new_size = (yy_size_t) YY_G(yy_start_stack_depth) * sizeof( int ); if ( ! YY_G(yy_start_stack) ) YY_G(yy_start_stack) = (int *) yyalloc( new_size M4_YY_CALL_LAST_ARG ); @@ -2424,7 +2414,7 @@ m4_ifdef( [[M4_YY_NO_PUSH_STATE]],, YY_G(yy_start_stack)[YY_G(yy_start_stack_ptr)++] = YY_START; - BEGIN(new_state); + BEGIN(_new_state); } ]]) @@ -2432,7 +2422,7 @@ m4_ifdef( [[M4_YY_NO_PUSH_STATE]],, m4_ifdef( [[M4_YY_NO_POP_STATE]],, [[ %if-c-only - static void yy_pop_state YYFARGS0(void) + static void yy_pop_state (M4_YY_DEF_ONLY_ARG) %endif %if-c++-only void yyFlexLexer::yy_pop_state() @@ -2450,7 +2440,7 @@ m4_ifdef( [[M4_YY_NO_POP_STATE]],, m4_ifdef( [[M4_YY_NO_TOP_STATE]],, [[ %if-c-only - static int yy_top_state YYFARGS0(void) + static int yy_top_state (M4_YY_DEF_ONLY_ARG) %endif %if-c++-only int yyFlexLexer::yy_top_state() @@ -2466,15 +2456,16 @@ m4_ifdef( [[M4_YY_NO_TOP_STATE]],, #endif %if-c-only -static void yy_fatal_error YYFARGS1(yyconst char*, msg) +static void yynoreturn yy_fatal_error YYFARGS1(const char*, msg) { - m4_dnl M4_YY_DECL_GUTS_VAR(); - (void) fprintf( stderr, "%s\n", msg ); + M4_YY_DECL_GUTS_VAR(); + M4_YY_NOOP_GUTS_VAR(); + fprintf( stderr, "%s\n", msg ); exit( YY_EXIT_FAILURE ); } %endif %if-c++-only -void yyFlexLexer::LexerError( yyconst char msg[] ) +void yyFlexLexer::LexerError( const char* msg ) { M4_YY_DECL_GUTS_VAR(); std::cerr << msg << std::endl; @@ -2510,7 +2501,7 @@ m4_ifdef( [[M4_YY_NO_GET_EXTRA]],, /** Get the user-defined data for this scanner. * M4_YY_DOC_PARAM */ -YY_EXTRA_TYPE yyget_extra YYFARGS0(void) +YY_EXTRA_TYPE yyget_extra (M4_YY_DEF_ONLY_ARG) { M4_YY_DECL_GUTS_VAR(); return yyextra; @@ -2523,10 +2514,10 @@ m4_ifdef( [[M4_YY_NO_GET_LINENO]],, /** Get the current line number. * M4_YY_DOC_PARAM */ -int yyget_lineno YYFARGS0(void) +int yyget_lineno (M4_YY_DEF_ONLY_ARG) { M4_YY_DECL_GUTS_VAR(); - + m4_ifdef( [[M4_YY_REENTRANT]], [[ if (! YY_CURRENT_BUFFER) @@ -2543,10 +2534,10 @@ m4_ifdef( [[M4_YY_NO_GET_COLUMN]],, /** Get the current column number. * M4_YY_DOC_PARAM */ -int yyget_column YYFARGS0(void) +int yyget_column (M4_YY_DEF_ONLY_ARG) { M4_YY_DECL_GUTS_VAR(); - + m4_ifdef( [[M4_YY_REENTRANT]], [[ if (! YY_CURRENT_BUFFER) @@ -2562,7 +2553,7 @@ m4_ifdef( [[M4_YY_NO_GET_IN]],, /** Get the input stream. * M4_YY_DOC_PARAM */ -FILE *yyget_in YYFARGS0(void) +FILE *yyget_in (M4_YY_DEF_ONLY_ARG) { M4_YY_DECL_GUTS_VAR(); return yyin; @@ -2574,7 +2565,7 @@ m4_ifdef( [[M4_YY_NO_GET_OUT]],, /** Get the output stream. * M4_YY_DOC_PARAM */ -FILE *yyget_out YYFARGS0(void) +FILE *yyget_out (M4_YY_DEF_ONLY_ARG) { M4_YY_DECL_GUTS_VAR(); return yyout; @@ -2586,7 +2577,7 @@ m4_ifdef( [[M4_YY_NO_GET_LENG]],, /** Get the length of the current token. * M4_YY_DOC_PARAM */ -yy_size_t yyget_leng YYFARGS0(void) +int yyget_leng (M4_YY_DEF_ONLY_ARG) { M4_YY_DECL_GUTS_VAR(); return yyleng; @@ -2598,7 +2589,7 @@ yy_size_t yyget_leng YYFARGS0(void) */ m4_ifdef( [[M4_YY_NO_GET_TEXT]],, [[ -char *yyget_text YYFARGS0(void) +char *yyget_text (M4_YY_DEF_ONLY_ARG) { M4_YY_DECL_GUTS_VAR(); return yytext; @@ -2623,10 +2614,10 @@ void yyset_extra YYFARGS1( YY_EXTRA_TYPE ,user_defined) m4_ifdef( [[M4_YY_NO_SET_LINENO]],, [[ /** Set the current line number. - * @param line_number + * @param _line_number line number * M4_YY_DOC_PARAM */ -void yyset_lineno YYFARGS1( int ,line_number) +void yyset_lineno YYFARGS1( int ,_line_number) { M4_YY_DECL_GUTS_VAR(); @@ -2636,7 +2627,7 @@ void yyset_lineno YYFARGS1( int ,line_number) if (! YY_CURRENT_BUFFER ) YY_FATAL_ERROR( "yyset_lineno called with no buffer" ); ]]) - yylineno = line_number; + yylineno = _line_number; } ]]) @@ -2645,10 +2636,10 @@ m4_ifdef( [[M4_YY_REENTRANT]], m4_ifdef( [[M4_YY_NO_SET_COLUMN]],, [[ /** Set the current column. - * @param line_number + * @param _column_no column number * M4_YY_DOC_PARAM */ -void yyset_column YYFARGS1( int , column_no) +void yyset_column YYFARGS1( int , _column_no) { M4_YY_DECL_GUTS_VAR(); @@ -2658,7 +2649,7 @@ void yyset_column YYFARGS1( int , column_no) if (! YY_CURRENT_BUFFER ) YY_FATAL_ERROR( "yyset_column called with no buffer" ); ]]) - yycolumn = column_no; + yycolumn = _column_no; } ]]) ]]) @@ -2668,30 +2659,30 @@ m4_ifdef( [[M4_YY_NO_SET_IN]],, [[ /** Set the input stream. This does not discard the current * input buffer. - * @param in_str A readable stream. + * @param _in_str A readable stream. * M4_YY_DOC_PARAM * @see yy_switch_to_buffer */ -void yyset_in YYFARGS1( FILE * ,in_str) +void yyset_in YYFARGS1( FILE * ,_in_str) { M4_YY_DECL_GUTS_VAR(); - yyin = in_str ; + yyin = _in_str ; } ]]) m4_ifdef( [[M4_YY_NO_SET_OUT]],, [[ -void yyset_out YYFARGS1( FILE * ,out_str) +void yyset_out YYFARGS1( FILE * ,_out_str) { M4_YY_DECL_GUTS_VAR(); - yyout = out_str ; + yyout = _out_str ; } ]]) m4_ifdef( [[M4_YY_NO_GET_DEBUG]],, [[ -int yyget_debug YYFARGS0(void) +int yyget_debug (M4_YY_DEF_ONLY_ARG) { M4_YY_DECL_GUTS_VAR(); return yy_flex_debug; @@ -2700,10 +2691,10 @@ int yyget_debug YYFARGS0(void) m4_ifdef( [[M4_YY_NO_SET_DEBUG]],, [[ -void yyset_debug YYFARGS1( int ,bdebug) +void yyset_debug YYFARGS1( int ,_bdebug) { M4_YY_DECL_GUTS_VAR(); - yy_flex_debug = bdebug ; + yy_flex_debug = _bdebug ; } ]]) %endif @@ -2714,7 +2705,7 @@ void yyset_debug YYFARGS1( int ,bdebug) %if-bison-bridge m4_ifdef( [[M4_YY_NO_GET_LVAL]],, [[ -YYSTYPE * yyget_lval YYFARGS0(void) +YYSTYPE * yyget_lval (M4_YY_DEF_ONLY_ARG) { M4_YY_DECL_GUTS_VAR(); return yylval; @@ -2734,7 +2725,7 @@ m4_ifdef( [[]], [[ m4_ifdef( [[M4_YY_NO_GET_LLOC]],, [[ -YYLTYPE *yyget_lloc YYFARGS0(void) +YYLTYPE *yyget_lloc (M4_YY_DEF_ONLY_ARG) { M4_YY_DECL_GUTS_VAR(); return yylloc; @@ -2760,14 +2751,7 @@ void yyset_lloc YYFARGS1( YYLTYPE * ,yylloc_param) * the ONLY reentrant function that doesn't take the scanner as the last argument. * That's why we explicitly handle the declaration, instead of using our macros. */ -m4_ifdef( [[M4_YY_NO_ANSI_FUNC_DEFS]], -[[ -int yylex_init( ptr_yy_globals ) - yyscan_t* ptr_yy_globals; -]], -[[ int yylex_init(yyscan_t* ptr_yy_globals) -]]) { if (ptr_yy_globals == NULL){ errno = EINVAL; @@ -2795,15 +2779,7 @@ int yylex_init(yyscan_t* ptr_yy_globals) * The user defined value in the first argument will be available to yyalloc in * the yyextra field. */ -m4_ifdef( [[M4_YY_NO_ANSI_FUNC_DEFS]], -[[ -int yylex_init_extra( yy_user_defined, ptr_yy_globals ) - YY_EXTRA_TYPE yy_user_defined; - yyscan_t* ptr_yy_globals; -]], -[[ int yylex_init_extra( YY_EXTRA_TYPE yy_user_defined, yyscan_t* ptr_yy_globals ) -]]) { struct yyguts_t dummy_yyguts; @@ -2813,28 +2789,28 @@ int yylex_init_extra( YY_EXTRA_TYPE yy_user_defined, yyscan_t* ptr_yy_globals ) errno = EINVAL; return 1; } - + *ptr_yy_globals = (yyscan_t) yyalloc ( sizeof( struct yyguts_t ), &dummy_yyguts ); - + if (*ptr_yy_globals == NULL){ errno = ENOMEM; return 1; } - + /* By setting to 0xAA, we expose bugs in yy_init_globals. Leave at 0x00 for releases. */ memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t)); - + yyset_extra (yy_user_defined, *ptr_yy_globals); - + return yy_init_globals ( *ptr_yy_globals ); } %endif if-c-only - +%# Actually, that ended an if-rentrant section %if-c-only -static int yy_init_globals YYFARGS0(void) +static int yy_init_globals (M4_YY_DEF_ONLY_ARG) { M4_YY_DECL_GUTS_VAR(); /* Initialization is the same as for the non-reentrant scanner. @@ -2849,10 +2825,10 @@ m4_ifdef( [[M4_YY_USE_LINENO]], yylineno = 1; ]]) ]]) - YY_G(yy_buffer_stack) = 0; + YY_G(yy_buffer_stack) = NULL; YY_G(yy_buffer_stack_top) = 0; YY_G(yy_buffer_stack_max) = 0; - YY_G(yy_c_buf_p) = (char *) 0; + YY_G(yy_c_buf_p) = NULL; YY_G(yy_init) = 0; YY_G(yy_start) = 0; @@ -2883,8 +2859,8 @@ m4_ifdef( [[M4_YY_TEXT_IS_ARRAY]], yyin = stdin; yyout = stdout; #else - yyin = (FILE *) 0; - yyout = (FILE *) 0; + yyin = NULL; + yyout = NULL; #endif /* For future reference: Set errno on error, since we are called by @@ -2897,7 +2873,7 @@ m4_ifdef( [[M4_YY_TEXT_IS_ARRAY]], %if-c-only SNIP! this currently causes conflicts with the c++ scanner /* yylex_destroy is for both reentrant and non-reentrant scanners. */ -int yylex_destroy YYFARGS0(void) +int yylex_destroy (M4_YY_DEF_ONLY_ARG) { M4_YY_DECL_GUTS_VAR(); @@ -2949,9 +2925,12 @@ m4_ifdef( [[M4_YY_NOT_IN_HEADER]], m4_ifdef( [[M4_YY_NOT_IN_HEADER]], [[ #ifndef yytext_ptr -static void yy_flex_strncpy YYFARGS3( char*,s1, yyconst char *,s2, int,n) +static void yy_flex_strncpy YYFARGS3( char*,s1, const char *,s2, int,n) { - register int i; + M4_YY_DECL_GUTS_VAR(); + M4_YY_NOOP_GUTS_VAR(); + + int i; for ( i = 0; i < n; ++i ) s1[i] = s2[i]; } @@ -2961,9 +2940,9 @@ static void yy_flex_strncpy YYFARGS3( char*,s1, yyconst char *,s2, int,n) m4_ifdef( [[M4_YY_NOT_IN_HEADER]], [[ #ifdef YY_NEED_STRLEN -static int yy_flex_strlen YYFARGS1( yyconst char *,s) +static int yy_flex_strlen YYFARGS1( const char *,s) { - register int n; + int n; for ( n = 0; s[n]; ++n ) ; @@ -2976,7 +2955,9 @@ m4_ifdef( [[M4_YY_NO_FLEX_ALLOC]],, [[ void *yyalloc YYFARGS1( yy_size_t ,size) { - return (void *) malloc( size ); + M4_YY_DECL_GUTS_VAR(); + M4_YY_NOOP_GUTS_VAR(); + return malloc(size); } ]]) @@ -2984,6 +2965,9 @@ m4_ifdef( [[M4_YY_NO_FLEX_REALLOC]],, [[ void *yyrealloc YYFARGS2( void *,ptr, yy_size_t ,size) { + M4_YY_DECL_GUTS_VAR(); + M4_YY_NOOP_GUTS_VAR(); + /* The cast to (char *) in the following accommodates both * implementations that use char* generic pointers, and those * that use void* generic pointers. It works with the latter @@ -2991,7 +2975,7 @@ void *yyrealloc YYFARGS2( void *,ptr, yy_size_t ,size) * any pointer type to void*, and deal with argument conversions * as though doing an assignment. */ - return (void *) realloc( (char *) ptr, size ); + return realloc(ptr, size); } ]]) @@ -2999,6 +2983,8 @@ m4_ifdef( [[M4_YY_NO_FLEX_FREE]],, [[ void yyfree YYFARGS1( void *,ptr) { + M4_YY_DECL_GUTS_VAR(); + M4_YY_NOOP_GUTS_VAR(); free( (char *) ptr ); /* see yyrealloc() for (char *) cast */ } ]]) @@ -3013,7 +2999,7 @@ static int yytbl_read8 (void *v, struct yytbl_reader * rd) errno = EIO; return -1; } - rd->bread += sizeof(flex_uint8_t); + rd->bread += (flex_uint32_t) sizeof(flex_uint8_t); return 0; } @@ -3025,7 +3011,7 @@ static int yytbl_read16 (void *v, struct yytbl_reader * rd) return -1; } *((flex_uint16_t *) v) = ntohs (*((flex_uint16_t *) v)); - rd->bread += sizeof(flex_uint16_t); + rd->bread += (flex_uint32_t) sizeof(flex_uint16_t); return 0; } @@ -3037,14 +3023,14 @@ static int yytbl_read32 (void *v, struct yytbl_reader * rd) return -1; } *((flex_uint32_t *) v) = ntohl (*((flex_uint32_t *) v)); - rd->bread += sizeof(flex_uint32_t); + rd->bread += (flex_uint32_t) sizeof(flex_uint32_t); return 0; } /** Read the header */ static int yytbl_hdr_read YYFARGS2(struct yytbl_hdr *, th, struct yytbl_reader *, rd) { - int bytes; + size_t bytes; memset (th, 0, sizeof (struct yytbl_hdr)); if (yytbl_read32 (&(th->th_magic), rd) != 0) @@ -3080,7 +3066,7 @@ static int yytbl_hdr_read YYFARGS2(struct yytbl_hdr *, th, struct yytbl_reader * return -1; } else - rd->bread += bytes; + rd->bread += (flex_uint32_t) bytes; th->th_name = th->th_version + strlen (th->th_version) + 1; return 0; @@ -3093,15 +3079,18 @@ static int yytbl_hdr_read YYFARGS2(struct yytbl_hdr *, th, struct yytbl_reader * static struct yytbl_dmap *yytbl_dmap_lookup YYFARGS2(struct yytbl_dmap *, dmap, int, id) { + M4_YY_DECL_GUTS_VAR(); + M4_YY_NOOP_GUTS_VAR(); + while (dmap->dm_id) - if (dmap->dm_id == id) + if ((int)(dmap->dm_id) == id) return dmap; else dmap++; return NULL; } -/** Read a table while mapping its contents to the local array. +/** Read a table while mapping its contents to the local array. * @param dmap used to performing mapping * @return 0 on success */ @@ -3146,7 +3135,7 @@ static int yytbl_data_load YYFARGS2(struct yytbl_dmap *, dmap, struct yytbl_read if(M4_YY_TABLES_VERIFY) /* We point to the array itself */ - p = dmap->dm_arr; + p = dmap->dm_arr; else /* We point to the address of a pointer. */ *dmap->dm_arr = p = (void *) yyalloc (bytes M4_YY_CALL_LAST_ARG); @@ -3193,7 +3182,7 @@ static int yytbl_data_load YYFARGS2(struct yytbl_dmap *, dmap, struct yytbl_read rv = yytbl_read8 (&t8, rd); t32 = t8; break; - default: + default: YY_FATAL_ERROR( "invalid td_flags" ); /* TODO: not fatal. */ return -1; } @@ -3250,7 +3239,7 @@ static int yytbl_data_load YYFARGS2(struct yytbl_dmap *, dmap, struct yytbl_read YY_FATAL_ERROR( "transition table not found" ); /* TODO: not fatal. */ return -1; } - + if( M4_YY_TABLES_VERIFY) v = &(((struct yy_trans_info *) (transdmap->dm_arr))[t32]); else @@ -3261,7 +3250,7 @@ static int yytbl_data_load YYFARGS2(struct yytbl_dmap *, dmap, struct yytbl_read YY_FATAL_ERROR( "tables verification failed at YYTD_PTRANS" ); }else ((struct yy_trans_info **) p)[0] = v; - + /* increment p */ p = (struct yy_trans_info **) p + 1; } @@ -3376,8 +3365,8 @@ int yytables_fload YYFARGS1(FILE *, fp) } /** Destroy the loaded tables, freeing memory, etc.. */ -int yytables_destroy YYFARGS0(void) -{ +int yytables_destroy (M4_YY_DEF_ONLY_ARG) +{ struct yytbl_dmap *dmap=0; if(!M4_YY_TABLES_VERIFY){ @@ -3400,7 +3389,7 @@ int yytables_destroy YYFARGS0(void) m4_ifdef([[M4_YY_MAIN]], [[ -int main M4_YY_PARAMS(void); +int main (void); int main () { @@ -3434,4 +3423,5 @@ m4_ifdef( [[M4_YY_IN_HEADER]], #undef YY_DECL_IS_OURS #undef YY_DECL #endif +m4preproc_undivert(1) ]]) diff --git a/flexdef.h b/src/flexdef.h similarity index 76% rename from flexdef.h rename to src/flexdef.h index 046dd9aa794d..9dac6542863f 100644 --- a/flexdef.h +++ b/src/flexdef.h @@ -39,30 +39,15 @@ #include #endif -/* AIX requires this to be the first thing in the file. */ -#ifndef __GNUC__ -# if HAVE_ALLOCA_H -# include -# else -# ifdef _AIX - #pragma alloca -# else -# ifndef alloca /* predefined by HP cc +Olibcalls */ -char *alloca (); -# endif -# endif -# endif -#endif - -#ifdef STDC_HEADERS #include #include #include #include #include +#include /* for XPG version of basename(3) */ #include #include -#endif + #ifdef HAVE_ASSERT_H #include #else @@ -72,28 +57,24 @@ char *alloca (); #ifdef HAVE_LIMITS_H #include #endif -#ifdef HAVE_UNISTD_H +/* Required: dup() and dup2() in */ #include -#endif #ifdef HAVE_NETINET_IN_H #include #endif #ifdef HAVE_SYS_PARAMS_H #include #endif -#ifdef HAVE_SYS_WAIT_H +/* Required: stat() in */ +#include +/* Required: wait() in */ #include -#endif -#ifdef HAVE_STDBOOL_H #include -#else -#define bool int -#define true 1 -#define false 0 -#endif -#ifdef HAVE_REGEX_H +#include +/* Required: regcomp(), regexec() and regerror() in */ #include -#endif +/* Required: strcasecmp() in */ +#include #include "flexint.h" /* We use gettext. So, when we write strings which should be translated, we mark them with _() */ @@ -109,33 +90,12 @@ char *alloca (); /* Always be prepared to generate an 8-bit scanner. */ #define CSIZE 256 -#define Char unsigned char /* Size of input alphabet - should be size of ASCII set. */ #ifndef DEFAULT_CSIZE #define DEFAULT_CSIZE 128 #endif -#ifndef PROTO -#if defined(__STDC__) -#define PROTO(proto) proto -#else -#define PROTO(proto) () -#endif -#endif - -#ifdef VMS -#ifndef __VMS_POSIX -#define unlink remove -#define SHORT_FILE_NAMES -#endif -#endif - -#ifdef MS_DOS -#define SHORT_FILE_NAMES -#endif - - /* Maximum line length we'll have to deal with. */ #define MAXLINE 2048 @@ -149,11 +109,8 @@ char *alloca (); #define ABS(x) ((x) < 0 ? -(x) : (x)) #endif - -/* ANSI C does not guarantee that isascii() is defined */ -#ifndef isascii -#define isascii(c) ((c) <= 0177) -#endif +/* Whether an integer is a power of two */ +#define is_power_of_2(n) ((n) > 0 && ((n) & ((n) - 1)) == 0) #define unspecified -1 @@ -395,6 +352,7 @@ char *alloca (); * yymore_really_used - whether to treat yymore() as really used, regardless * of what we think based on references to it in the user's actions. * reject_really_used - same for REJECT + * trace_hex - use hexadecimal numbers in trace/debug outputs instead of octals */ extern int printstats, syntaxerror, eofseen, ddebug, trace, nowarn, @@ -403,13 +361,12 @@ extern int interactive, lex_compat, posix_compat, do_yylineno; extern int useecs, fulltbl, usemecs, fullspd; extern int gen_line_dirs, performance_report, backing_up_report; extern int reentrant, bison_bridge_lval, bison_bridge_lloc; -extern bool ansi_func_defs, ansi_func_protos; extern int C_plus_plus, long_align, use_read, yytext_is_array, do_yywrap; extern int csize; extern int yymore_used, reject, real_reject, continued_action, in_rule; extern int yymore_really_used, reject_really_used; - +extern int trace_hex; /* Variables used in the flex input routines: * datapos - characters on current output line @@ -444,7 +401,7 @@ extern int yymore_really_used, reject_really_used; */ extern int datapos, dataline, linenum; -extern FILE *skelfile, *yyin, *backing_up_file; +extern FILE *skelfile, *backing_up_file; extern const char *skel[]; extern int skel_ind; extern char *infilename, *outfilename, *headerfilename; @@ -646,7 +603,7 @@ extern int end_of_buffer_state; extern int lastccl, *cclmap, *ccllen, *cclng, cclreuse; extern int current_maxccls, current_max_ccl_tbl_size; -extern Char *ccltbl; +extern unsigned char *ccltbl; /* Variables for miscellaneous information: @@ -674,62 +631,54 @@ extern int sectnum, nummt, hshcol, dfaeql, numeps, eps2, num_reallocs; extern int tmpuses, totnst, peakpairs, numuniq, numdup, hshsave; extern int num_backing_up, bol_needed; -void *allocate_array PROTO ((int, size_t)); -void *reallocate_array PROTO ((void *, int, size_t)); +#ifndef HAVE_REALLOCARRAY +void *reallocarray(void *, size_t, size_t); +#endif -void *flex_alloc PROTO ((size_t)); -void *flex_realloc PROTO ((void *, size_t)); -void flex_free PROTO ((void *)); +void *allocate_array(int, size_t); +void *reallocate_array(void *, int, size_t); #define allocate_integer_array(size) \ - (int *) allocate_array( size, sizeof( int ) ) + allocate_array(size, sizeof(int)) #define reallocate_integer_array(array,size) \ - (int *) reallocate_array( (void *) array, size, sizeof( int ) ) + reallocate_array((void *) array, size, sizeof(int)) #define allocate_bool_array(size) \ - (bool *) allocate_array( size, sizeof( bool ) ) + allocate_array(size, sizeof(bool)) #define reallocate_bool_array(array,size) \ - (bool *) reallocate_array( (void *) array, size, sizeof( bool ) ) + reallocate_array((void *) array, size, sizeof(bool)) #define allocate_int_ptr_array(size) \ - (int **) allocate_array( size, sizeof( int * ) ) + allocate_array(size, sizeof(int *)) #define allocate_char_ptr_array(size) \ - (char **) allocate_array( size, sizeof( char * ) ) + allocate_array(size, sizeof(char *)) #define allocate_dfaacc_union(size) \ - (union dfaacc_union *) \ - allocate_array( size, sizeof( union dfaacc_union ) ) + allocate_array(size, sizeof(union dfaacc_union)) #define reallocate_int_ptr_array(array,size) \ - (int **) reallocate_array( (void *) array, size, sizeof( int * ) ) + reallocate_array((void *) array, size, sizeof(int *)) #define reallocate_char_ptr_array(array,size) \ - (char **) reallocate_array( (void *) array, size, sizeof( char * ) ) + reallocate_array((void *) array, size, sizeof(char *)) #define reallocate_dfaacc_union(array, size) \ - (union dfaacc_union *) \ - reallocate_array( (void *) array, size, sizeof( union dfaacc_union ) ) + reallocate_array((void *) array, size, sizeof(union dfaacc_union)) #define allocate_character_array(size) \ - (char *) allocate_array( size, sizeof( char ) ) + allocate_array( size, sizeof(char)) #define reallocate_character_array(array,size) \ - (char *) reallocate_array( (void *) array, size, sizeof( char ) ) + reallocate_array((void *) array, size, sizeof(char)) #define allocate_Character_array(size) \ - (Char *) allocate_array( size, sizeof( Char ) ) + allocate_array(size, sizeof(unsigned char)) #define reallocate_Character_array(array,size) \ - (Char *) reallocate_array( (void *) array, size, sizeof( Char ) ) - - -/* Used to communicate between scanner and parser. The type should really - * be YYSTYPE, but we can't easily get our hands on it. - */ -extern int yylval; + reallocate_array((void *) array, size, sizeof(unsigned char)) /* External functions that are cross-referenced among the flex source files. */ @@ -737,146 +686,143 @@ extern int yylval; /* from file ccl.c */ -extern void ccladd PROTO ((int, int)); /* add a single character to a ccl */ -extern int cclinit PROTO ((void)); /* make an empty ccl */ -extern void cclnegate PROTO ((int)); /* negate a ccl */ +extern void ccladd(int, int); /* add a single character to a ccl */ +extern int cclinit(void); /* make an empty ccl */ +extern void cclnegate(int); /* negate a ccl */ extern int ccl_set_diff (int a, int b); /* set difference of two ccls. */ extern int ccl_set_union (int a, int b); /* set union of two ccls. */ /* List the members of a set of characters in CCL form. */ -extern void list_character_set PROTO ((FILE *, int[])); +extern void list_character_set(FILE *, int[]); /* from file dfa.c */ /* Check a DFA state for backing up. */ -extern void check_for_backing_up PROTO ((int, int[])); +extern void check_for_backing_up(int, int[]); /* Check to see if NFA state set constitutes "dangerous" trailing context. */ -extern void check_trailing_context PROTO ((int *, int, int *, int)); +extern void check_trailing_context(int *, int, int *, int); /* Construct the epsilon closure of a set of ndfa states. */ -extern int *epsclosure PROTO ((int *, int *, int[], int *, int *)); +extern int *epsclosure(int *, int *, int[], int *, int *); /* Increase the maximum number of dfas. */ -extern void increase_max_dfas PROTO ((void)); +extern void increase_max_dfas(void); -extern void ntod PROTO ((void)); /* convert a ndfa to a dfa */ +extern void ntod(void); /* convert a ndfa to a dfa */ /* Converts a set of ndfa states into a dfa state. */ -extern int snstods PROTO ((int[], int, int[], int, int, int *)); +extern int snstods(int[], int, int[], int, int, int *); /* from file ecs.c */ /* Convert character classes to set of equivalence classes. */ -extern void ccl2ecl PROTO ((void)); +extern void ccl2ecl(void); /* Associate equivalence class numbers with class members. */ -extern int cre8ecs PROTO ((int[], int[], int)); +extern int cre8ecs(int[], int[], int); /* Update equivalence classes based on character class transitions. */ -extern void mkeccl PROTO ((Char[], int, int[], int[], int, int)); +extern void mkeccl(unsigned char[], int, int[], int[], int, int); /* Create equivalence class for single character. */ -extern void mkechar PROTO ((int, int[], int[])); +extern void mkechar(int, int[], int[]); /* from file gen.c */ -extern void do_indent PROTO ((void)); /* indent to the current level */ +extern void do_indent(void); /* indent to the current level */ /* Generate the code to keep backing-up information. */ -extern void gen_backing_up PROTO ((void)); +extern void gen_backing_up(void); /* Generate the code to perform the backing up. */ -extern void gen_bu_action PROTO ((void)); +extern void gen_bu_action(void); /* Generate full speed compressed transition table. */ -extern void genctbl PROTO ((void)); +extern void genctbl(void); /* Generate the code to find the action number. */ -extern void gen_find_action PROTO ((void)); +extern void gen_find_action(void); -extern void genftbl PROTO ((void)); /* generate full transition table */ +extern void genftbl(void); /* generate full transition table */ /* Generate the code to find the next compressed-table state. */ -extern void gen_next_compressed_state PROTO ((char *)); +extern void gen_next_compressed_state(char *); /* Generate the code to find the next match. */ -extern void gen_next_match PROTO ((void)); +extern void gen_next_match(void); /* Generate the code to find the next state. */ -extern void gen_next_state PROTO ((int)); +extern void gen_next_state(int); /* Generate the code to make a NUL transition. */ -extern void gen_NUL_trans PROTO ((void)); +extern void gen_NUL_trans(void); /* Generate the code to find the start state. */ -extern void gen_start_state PROTO ((void)); +extern void gen_start_state(void); /* Generate data statements for the transition tables. */ -extern void gentabs PROTO ((void)); +extern void gentabs(void); /* Write out a formatted string at the current indentation level. */ -extern void indent_put2s PROTO ((const char *, const char *)); +extern void indent_put2s(const char *, const char *); /* Write out a string + newline at the current indentation level. */ -extern void indent_puts PROTO ((const char *)); +extern void indent_puts(const char *); -extern void make_tables PROTO ((void)); /* generate transition tables */ +extern void make_tables(void); /* generate transition tables */ /* from file main.c */ -extern void check_options PROTO ((void)); -extern void flexend PROTO ((int)); -extern void usage PROTO ((void)); +extern void check_options(void); +extern void flexend(int); +extern void usage(void); /* from file misc.c */ /* Add a #define to the action file. */ -extern void action_define PROTO ((const char *defname, int value)); +extern void action_define(const char *defname, int value); /* Add the given text to the stored actions. */ -extern void add_action PROTO ((const char *new_text)); +extern void add_action(const char *new_text); /* True if a string is all lower case. */ -extern int all_lower PROTO ((register char *)); +extern int all_lower(char *); /* True if a string is all upper case. */ -extern int all_upper PROTO ((register char *)); +extern int all_upper(char *); /* Compare two integers for use by qsort. */ -extern int intcmp PROTO ((const void *, const void *)); +extern int intcmp(const void *, const void *); /* Check a character to make sure it's in the expected range. */ -extern void check_char PROTO ((int c)); +extern void check_char(int c); /* Replace upper-case letter to lower-case. */ -extern Char clower PROTO ((int)); +extern unsigned char clower(int); -/* Returns a dynamically allocated copy of a string. */ -extern char *copy_string PROTO ((register const char *)); - -/* Returns a dynamically allocated copy of a (potentially) unsigned string. */ -extern Char *copy_unsigned_string PROTO ((register Char *)); +/* strdup() that fails fatally on allocation failures. */ +extern char *xstrdup(const char *); /* Compare two characters for use by qsort with '\0' sorting last. */ -extern int cclcmp PROTO ((const void *, const void *)); +extern int cclcmp(const void *, const void *); /* Finish up a block of data declarations. */ -extern void dataend PROTO ((void)); +extern void dataend(void); /* Flush generated data statements. */ -extern void dataflush PROTO ((void)); +extern void dataflush(void); /* Report an error message and terminate. */ -extern void flexerror PROTO ((const char *)); +extern void flexerror(const char *); /* Report a fatal error message and terminate. */ -extern void flexfatal PROTO ((const char *)); +extern void flexfatal(const char *); /* Report a fatal error with a pinpoint, and terminate */ #if HAVE_DECL___FUNC__ @@ -899,203 +845,195 @@ extern void flexfatal PROTO ((const char *)); }while(0) #endif /* ! HAVE_DECL___func__ */ -/* Convert a hexadecimal digit string to an integer value. */ -extern int htoi PROTO ((Char[])); +/* Report an error message formatted */ +extern void lerr(const char *, ...) +#if defined(__GNUC__) && __GNUC__ >= 3 + __attribute__((__format__(__printf__, 1, 2))) +#endif +; -/* Report an error message formatted with one integer argument. */ -extern void lerrif PROTO ((const char *, int)); - -/* Report an error message formatted with one string argument. */ -extern void lerrsf PROTO ((const char *, const char *)); - -/* Like lerrsf, but also exit after displaying message. */ -extern void lerrsf_fatal PROTO ((const char *, const char *)); +/* Like lerr, but also exit after displaying message. */ +extern void lerr_fatal(const char *, ...) +#if defined(__GNUC__) && __GNUC__ >= 3 + __attribute__((__format__(__printf__, 1, 2))) +#endif +; /* Spit out a "#line" statement. */ -extern void line_directive_out PROTO ((FILE *, int)); +extern void line_directive_out(FILE *, int); /* Mark the current position in the action array as the end of the section 1 * user defs. */ -extern void mark_defs1 PROTO ((void)); +extern void mark_defs1(void); /* Mark the current position in the action array as the end of the prolog. */ -extern void mark_prolog PROTO ((void)); +extern void mark_prolog(void); /* Generate a data statment for a two-dimensional array. */ -extern void mk2data PROTO ((int)); +extern void mk2data(int); -extern void mkdata PROTO ((int)); /* generate a data statement */ +extern void mkdata(int); /* generate a data statement */ /* Return the integer represented by a string of digits. */ -extern int myctoi PROTO ((const char *)); +extern int myctoi(const char *); /* Return character corresponding to escape sequence. */ -extern Char myesc PROTO ((Char[])); - -/* Convert an octal digit string to an integer value. */ -extern int otoi PROTO ((Char[])); +extern unsigned char myesc(unsigned char[]); /* Output a (possibly-formatted) string to the generated scanner. */ -extern void out PROTO ((const char *)); -extern void out_dec PROTO ((const char *, int)); -extern void out_dec2 PROTO ((const char *, int, int)); -extern void out_hex PROTO ((const char *, unsigned int)); -extern void out_str PROTO ((const char *, const char *)); -extern void out_str3 -PROTO ((const char *, const char *, const char *, const char *)); -extern void out_str_dec PROTO ((const char *, const char *, int)); -extern void outc PROTO ((int)); -extern void outn PROTO ((const char *)); -extern void out_m4_define (const char* def, const char* val); +extern void out(const char *); +extern void out_dec(const char *, int); +extern void out_dec2(const char *, int, int); +extern void out_hex(const char *, unsigned int); +extern void out_str(const char *, const char *); +extern void out_str3(const char *, const char *, const char *, const char *); +extern void out_str_dec(const char *, const char *, int); +extern void outc(int); +extern void outn(const char *); +extern void out_m4_define(const char* def, const char* val); /* Return a printable version of the given character, which might be * 8-bit. */ -extern char *readable_form PROTO ((int)); +extern char *readable_form(int); /* Write out one section of the skeleton file. */ -extern void skelout PROTO ((void)); +extern void skelout(void); /* Output a yy_trans_info structure. */ -extern void transition_struct_out PROTO ((int, int)); +extern void transition_struct_out(int, int); /* Only needed when using certain broken versions of bison to build parse.c. */ -extern void *yy_flex_xmalloc PROTO ((int)); - -/* Set a region of memory to 0. */ -extern void zero_out PROTO ((char *, size_t)); +extern void *yy_flex_xmalloc(int); /* from file nfa.c */ /* Add an accepting state to a machine. */ -extern void add_accept PROTO ((int, int)); +extern void add_accept(int, int); /* Make a given number of copies of a singleton machine. */ -extern int copysingl PROTO ((int, int)); +extern int copysingl(int, int); /* Debugging routine to write out an nfa. */ -extern void dumpnfa PROTO ((int)); +extern void dumpnfa(int); /* Finish up the processing for a rule. */ -extern void finish_rule PROTO ((int, int, int, int, int)); +extern void finish_rule(int, int, int, int, int); /* Connect two machines together. */ -extern int link_machines PROTO ((int, int)); +extern int link_machines(int, int); /* Mark each "beginning" state in a machine as being a "normal" (i.e., * not trailing context associated) state. */ -extern void mark_beginning_as_normal PROTO ((register int)); +extern void mark_beginning_as_normal(int); /* Make a machine that branches to two machines. */ -extern int mkbranch PROTO ((int, int)); +extern int mkbranch(int, int); -extern int mkclos PROTO ((int)); /* convert a machine into a closure */ -extern int mkopt PROTO ((int)); /* make a machine optional */ +extern int mkclos(int); /* convert a machine into a closure */ +extern int mkopt(int); /* make a machine optional */ /* Make a machine that matches either one of two machines. */ -extern int mkor PROTO ((int, int)); +extern int mkor(int, int); /* Convert a machine into a positive closure. */ -extern int mkposcl PROTO ((int)); +extern int mkposcl(int); -extern int mkrep PROTO ((int, int, int)); /* make a replicated machine */ +extern int mkrep(int, int, int); /* make a replicated machine */ /* Create a state with a transition on a given symbol. */ -extern int mkstate PROTO ((int)); +extern int mkstate(int); -extern void new_rule PROTO ((void)); /* initialize for a new rule */ +extern void new_rule(void); /* initialize for a new rule */ /* from file parse.y */ /* Build the "<>" action for the active start conditions. */ -extern void build_eof_action PROTO ((void)); +extern void build_eof_action(void); /* Write out a message formatted with one string, pinpointing its location. */ -extern void format_pinpoint_message PROTO ((const char *, const char *)); +extern void format_pinpoint_message(const char *, const char *); /* Write out a message, pinpointing its location. */ -extern void pinpoint_message PROTO ((const char *)); +extern void pinpoint_message(const char *); /* Write out a warning, pinpointing it at the given line. */ -extern void line_warning PROTO ((const char *, int)); +extern void line_warning(const char *, int); /* Write out a message, pinpointing it at the given line. */ -extern void line_pinpoint PROTO ((const char *, int)); +extern void line_pinpoint(const char *, int); /* Report a formatted syntax error. */ -extern void format_synerr PROTO ((const char *, const char *)); -extern void synerr PROTO ((const char *)); /* report a syntax error */ -extern void format_warn PROTO ((const char *, const char *)); -extern void warn PROTO ((const char *)); /* report a warning */ -extern void yyerror PROTO ((const char *)); /* report a parse error */ -extern int yyparse PROTO ((void)); /* the YACC parser */ +extern void format_synerr(const char *, const char *); +extern void synerr(const char *); /* report a syntax error */ +extern void format_warn(const char *, const char *); +extern void lwarn(const char *); /* report a warning */ +extern void yyerror(const char *); /* report a parse error */ +extern int yyparse(void); /* the YACC parser */ /* from file scan.l */ /* The Flex-generated scanner for flex. */ -extern int flexscan PROTO ((void)); +extern int flexscan(void); /* Open the given file (if NULL, stdin) for scanning. */ -extern void set_input_file PROTO ((char *)); - -/* Wrapup a file in the lexical analyzer. */ -extern int yywrap PROTO ((void)); +extern void set_input_file(char *); /* from file sym.c */ /* Save the text of a character class. */ -extern void cclinstal PROTO ((Char[], int)); +extern void cclinstal(char[], int); /* Lookup the number associated with character class. */ -extern int ccllookup PROTO ((Char[])); +extern int ccllookup(char[]); -extern void ndinstal PROTO ((const char *, Char[])); /* install a name definition */ -extern Char *ndlookup PROTO ((const char *)); /* lookup a name definition */ +extern void ndinstal(const char *, char[]); /* install a name definition */ +extern char *ndlookup(const char *); /* lookup a name definition */ /* Increase maximum number of SC's. */ -extern void scextend PROTO ((void)); -extern void scinstal PROTO ((const char *, int)); /* make a start condition */ +extern void scextend(void); +extern void scinstal(const char *, int); /* make a start condition */ /* Lookup the number associated with a start condition. */ -extern int sclookup PROTO ((const char *)); +extern int sclookup(const char *); /* from file tblcmp.c */ /* Build table entries for dfa state. */ -extern void bldtbl PROTO ((int[], int, int, int, int)); +extern void bldtbl(int[], int, int, int, int); -extern void cmptmps PROTO ((void)); /* compress template table entries */ -extern void expand_nxt_chk PROTO ((void)); /* increase nxt/chk arrays */ +extern void cmptmps(void); /* compress template table entries */ +extern void expand_nxt_chk(void); /* increase nxt/chk arrays */ /* Finds a space in the table for a state to be placed. */ -extern int find_table_space PROTO ((int *, int)); -extern void inittbl PROTO ((void)); /* initialize transition tables */ +extern int find_table_space(int *, int); +extern void inittbl(void); /* initialize transition tables */ /* Make the default, "jam" table entries. */ -extern void mkdeftbl PROTO ((void)); +extern void mkdeftbl(void); /* Create table entries for a state (or state fragment) which has * only one out-transition. */ -extern void mk1tbl PROTO ((int, int, int, int)); +extern void mk1tbl(int, int, int, int); /* Place a state into full speed transition table. */ -extern void place_state PROTO ((int *, int, int)); +extern void place_state(int *, int, int); /* Save states with only one out-transition to be processed later. */ -extern void stack1 PROTO ((int, int, int, int)); +extern void stack1(int, int, int, int); /* from file yylex.c */ -extern int yylex PROTO ((void)); +extern int yylex(void); /* A growable array. See buf.c. */ struct Buf { @@ -1105,30 +1043,28 @@ struct Buf { int nmax; /* max capacity of elements. */ }; -extern void buf_init PROTO ((struct Buf * buf, size_t elem_size)); -extern void buf_destroy PROTO ((struct Buf * buf)); -extern struct Buf *buf_append -PROTO ((struct Buf * buf, const void *ptr, int n_elem)); -extern struct Buf *buf_concat PROTO((struct Buf* dest, const struct Buf* src)); -extern struct Buf *buf_strappend PROTO ((struct Buf *, const char *str)); -extern struct Buf *buf_strnappend -PROTO ((struct Buf *, const char *str, int nchars)); -extern struct Buf *buf_strdefine -PROTO ((struct Buf * buf, const char *str, const char *def)); -extern struct Buf *buf_prints PROTO((struct Buf *buf, const char *fmt, const char* s)); -extern struct Buf *buf_m4_define PROTO((struct Buf *buf, const char* def, const char* val)); -extern struct Buf *buf_m4_undefine PROTO((struct Buf *buf, const char* def)); -extern struct Buf *buf_print_strings PROTO((struct Buf * buf, FILE* out)); -extern struct Buf *buf_linedir PROTO((struct Buf *buf, const char* filename, int lineno)); +extern void buf_init(struct Buf * buf, size_t elem_size); +extern void buf_destroy(struct Buf * buf); +extern struct Buf *buf_append(struct Buf * buf, const void *ptr, int n_elem); +extern struct Buf *buf_concat(struct Buf* dest, const struct Buf* src); +extern struct Buf *buf_strappend(struct Buf *, const char *str); +extern struct Buf *buf_strnappend(struct Buf *, const char *str, int nchars); +extern struct Buf *buf_strdefine(struct Buf * buf, const char *str, const char *def); +extern struct Buf *buf_prints(struct Buf *buf, const char *fmt, const char* s); +extern struct Buf *buf_m4_define(struct Buf *buf, const char* def, const char* val); +extern struct Buf *buf_m4_undefine(struct Buf *buf, const char* def); +extern struct Buf *buf_print_strings(struct Buf * buf, FILE* out); +extern struct Buf *buf_linedir(struct Buf *buf, const char* filename, int lineno); extern struct Buf userdef_buf; /* a string buffer for #define's generated by user-options on cmd line. */ extern struct Buf defs_buf; /* a char* buffer to save #define'd some symbols generated by flex. */ extern struct Buf yydmap_buf; /* a string buffer to hold yydmap elements */ extern struct Buf m4defs_buf; /* Holds m4 definitions. */ extern struct Buf top_buf; /* contains %top code. String buffer. */ +extern bool no_section3_escape; /* True if the undocumented option --unsafe-no-m4-sect3-escape was passed */ /* For blocking out code from the header file. */ -#define OUT_BEGIN_CODE() outn("m4_ifdef( [[M4_YY_IN_HEADER]],,[[") +#define OUT_BEGIN_CODE() outn("m4_ifdef( [[M4_YY_IN_HEADER]],,[[m4_dnl") #define OUT_END_CODE() outn("]])") /* For setjmp/longjmp (instead of calling exit(2)). Linkage in main.c */ @@ -1181,14 +1117,14 @@ struct filter { /* output filter chain */ extern struct filter * output_chain; -extern struct filter *filter_create_ext PROTO((struct filter * chain, const char *cmd, ...)); -struct filter *filter_create_int PROTO((struct filter *chain, +extern struct filter *filter_create_ext (struct filter * chain, const char *cmd, ...); +struct filter *filter_create_int(struct filter *chain, int (*filter_func) (struct filter *), - void *extra)); -extern bool filter_apply_chain PROTO((struct filter * chain)); -extern int filter_truncate (struct filter * chain, int max_len); -extern int filter_tee_header PROTO((struct filter *chain)); -extern int filter_fix_linedirs PROTO((struct filter *chain)); + void *extra); +extern bool filter_apply_chain(struct filter * chain); +extern int filter_truncate(struct filter * chain, int max_len); +extern int filter_tee_header(struct filter *chain); +extern int filter_fix_linedirs(struct filter *chain); /* @@ -1208,9 +1144,9 @@ bool regmatch_empty (regmatch_t * m); typedef unsigned int scanflags_t; extern scanflags_t* _sf_stk; extern size_t _sf_top_ix, _sf_max; /**< stack of scanner flags. */ -#define _SF_CASE_INS 0x0001 -#define _SF_DOT_ALL 0x0002 -#define _SF_SKIP_WS 0x0004 +#define _SF_CASE_INS ((scanflags_t) 0x0001) +#define _SF_DOT_ALL ((scanflags_t) 0x0002) +#define _SF_SKIP_WS ((scanflags_t) 0x0004) #define sf_top() (_sf_stk[_sf_top_ix]) #define sf_case_ins() (sf_top() & _SF_CASE_INS) #define sf_dot_all() (sf_top() & _SF_DOT_ALL) diff --git a/flexint.h b/src/flexint.h similarity index 95% rename from flexint.h rename to src/flexint.h index f9fa80cb08c0..43bb3a8276b0 100644 --- a/flexint.h +++ b/src/flexint.h @@ -58,6 +58,10 @@ typedef unsigned int flex_uint32_t; #define UINT32_MAX (4294967295U) #endif +#ifndef SIZE_MAX +#define SIZE_MAX (~(size_t)0) +#endif + #endif /* ! C99 */ #endif /* ! FLEXINT_H */ diff --git a/gen.c b/src/gen.c similarity index 87% rename from gen.c rename to src/gen.c index 8261951c065e..590e5d8d1cc7 100644 --- a/gen.c +++ b/src/gen.c @@ -37,16 +37,11 @@ /* declare functions that have forward references */ -void gen_next_state PROTO ((int)); -void genecs PROTO ((void)); -void indent_put2s PROTO ((const char *, const char *)); -void indent_puts PROTO ((const char *)); +void genecs(void); static int indent_level = 0; /* each level is 8 spaces */ -#define indent_up() (++indent_level) -#define indent_down() (--indent_level) #define set_indent(indent_val) indent_level = indent_val /* Almost everything is done in terms of arrays starting at 1, so provide @@ -58,30 +53,37 @@ static int indent_level = 0; /* each level is 8 spaces */ static const char *get_int16_decl (void) { return (gentables) - ? "static yyconst flex_int16_t %s[%d] =\n { 0,\n" - : "static yyconst flex_int16_t * %s = 0;\n"; + ? "static const flex_int16_t %s[%d] =\n { 0,\n" + : "static const flex_int16_t * %s = 0;\n"; } static const char *get_int32_decl (void) { return (gentables) - ? "static yyconst flex_int32_t %s[%d] =\n { 0,\n" - : "static yyconst flex_int32_t * %s = 0;\n"; + ? "static const flex_int32_t %s[%d] =\n { 0,\n" + : "static const flex_int32_t * %s = 0;\n"; } static const char *get_state_decl (void) { return (gentables) - ? "static yyconst yy_state_type %s[%d] =\n { 0,\n" - : "static yyconst yy_state_type * %s = 0;\n"; + ? "static const yy_state_type %s[%d] =\n { 0,\n" + : "static const yy_state_type * %s = 0;\n"; +} + +static const char *get_yy_char_decl (void) +{ + return (gentables) + ? "static const YY_CHAR %s[%d] =\n { 0,\n" + : "static const YY_CHAR * %s = 0;\n"; } /* Indent to the current level. */ -void do_indent () +void do_indent (void) { - register int i = indent_level * 8; + int i = indent_level * 8; while (i >= 8) { outc ('\t'); @@ -104,12 +106,12 @@ static struct yytbl_data *mkeoltbl (void) flex_int8_t *tdata = 0; struct yytbl_data *tbl; - tbl = (struct yytbl_data *) calloc (1, sizeof (struct yytbl_data)); + tbl = calloc(1, sizeof (struct yytbl_data)); yytbl_data_init (tbl, YYTD_ID_RULE_CAN_MATCH_EOL); tbl->td_flags = YYTD_DATA8; - tbl->td_lolen = num_rules + 1; + tbl->td_lolen = (flex_uint32_t) (num_rules + 1); tbl->td_data = tdata = - (flex_int8_t *) calloc (tbl->td_lolen, sizeof (flex_int8_t)); + calloc(tbl->td_lolen, sizeof (flex_int8_t)); for (i = 1; i <= num_rules; i++) tdata[i] = rule_has_nl[i] ? 1 : 0; @@ -121,7 +123,7 @@ static struct yytbl_data *mkeoltbl (void) } /* Generate the table for possible eol matches. */ -static void geneoltbl () +static void geneoltbl (void) { int i; @@ -145,7 +147,7 @@ static void geneoltbl () /* Generate the code to keep backing-up information. */ -void gen_backing_up () +void gen_backing_up (void) { if (reject || num_backing_up == 0) return; @@ -155,18 +157,18 @@ void gen_backing_up () else indent_puts ("if ( yy_accept[yy_current_state] )"); - indent_up (); + ++indent_level; indent_puts ("{"); indent_puts ("YY_G(yy_last_accepting_state) = yy_current_state;"); indent_puts ("YY_G(yy_last_accepting_cpos) = yy_cp;"); indent_puts ("}"); - indent_down (); + --indent_level; } /* Generate the code to perform the backing up. */ -void gen_bu_action () +void gen_bu_action (void) { if (reject || num_backing_up == 0) return; @@ -201,7 +203,7 @@ void gen_bu_action () static struct yytbl_data *mkctbl (void) { - register int i; + int i; struct yytbl_data *tbl = 0; flex_int32_t *tdata = 0, curr = 0; int end_of_buffer_action = num_rules + 1; @@ -211,14 +213,14 @@ static struct yytbl_data *mkctbl (void) ((tblend + numecs + 1) >= INT16_MAX || long_align) ? "flex_int32_t" : "flex_int16_t"); - tbl = (struct yytbl_data *) calloc (1, sizeof (struct yytbl_data)); + tbl = calloc(1, sizeof (struct yytbl_data)); yytbl_data_init (tbl, YYTD_ID_TRANSITION); tbl->td_flags = YYTD_DATA32 | YYTD_STRUCT; tbl->td_hilen = 0; - tbl->td_lolen = tblend + numecs + 1; /* number of structs */ + tbl->td_lolen = (flex_uint32_t) (tblend + numecs + 1); /* number of structs */ tbl->td_data = tdata = - (flex_int32_t *) calloc (tbl->td_lolen * 2, sizeof (flex_int32_t)); + calloc(tbl->td_lolen * 2, sizeof (flex_int32_t)); /* We want the transition to be represented as the offset to the * next state, not the actual state number, which is what it currently @@ -307,14 +309,14 @@ static struct yytbl_data *mkssltbl (void) flex_int32_t *tdata = 0; flex_int32_t i; - tbl = (struct yytbl_data *) calloc (1, sizeof (struct yytbl_data)); + tbl = calloc(1, sizeof (struct yytbl_data)); yytbl_data_init (tbl, YYTD_ID_START_STATE_LIST); tbl->td_flags = YYTD_DATA32 | YYTD_PTRANS; tbl->td_hilen = 0; - tbl->td_lolen = lastsc * 2 + 1; + tbl->td_lolen = (flex_uint32_t) (lastsc * 2 + 1); tbl->td_data = tdata = - (flex_int32_t *) calloc (tbl->td_lolen, sizeof (flex_int32_t)); + calloc(tbl->td_lolen, sizeof (flex_int32_t)); for (i = 0; i <= lastsc * 2; ++i) tdata[i] = base[i]; @@ -330,16 +332,16 @@ static struct yytbl_data *mkssltbl (void) /* genctbl - generates full speed compressed transition table */ -void genctbl () +void genctbl (void) { - register int i; + int i; int end_of_buffer_action = num_rules + 1; /* Table of verify for transition and offset to next state. */ if (gentables) - out_dec ("static yyconst struct yy_trans_info yy_transition[%d] =\n {\n", tblend + numecs + 1); + out_dec ("static const struct yy_trans_info yy_transition[%d] =\n {\n", tblend + numecs + 1); else - outn ("static yyconst struct yy_trans_info *yy_transition = 0;"); + outn ("static const struct yy_trans_info *yy_transition = 0;"); /* We want the transition to be represented as the offset to the * next state, not the actual state number, which is what it currently @@ -411,9 +413,9 @@ void genctbl () /* Table of pointers to start states. */ if (gentables) - out_dec ("static yyconst struct yy_trans_info *yy_start_state_list[%d] =\n", lastsc * 2 + 1); + out_dec ("static const struct yy_trans_info *yy_start_state_list[%d] =\n", lastsc * 2 + 1); else - outn ("static yyconst struct yy_trans_info **yy_start_state_list =0;"); + outn ("static const struct yy_trans_info **yy_start_state_list =0;"); if (gentables) { outn (" {"); @@ -431,20 +433,20 @@ void genctbl () /* mkecstbl - Make equivalence-class tables. */ -struct yytbl_data *mkecstbl (void) +static struct yytbl_data *mkecstbl (void) { - register int i; + int i; struct yytbl_data *tbl = 0; flex_int32_t *tdata = 0; - tbl = (struct yytbl_data *) calloc (1, sizeof (struct yytbl_data)); + tbl = calloc(1, sizeof (struct yytbl_data)); yytbl_data_init (tbl, YYTD_ID_EC); tbl->td_flags |= YYTD_DATA32; tbl->td_hilen = 0; - tbl->td_lolen = csize; + tbl->td_lolen = (flex_uint32_t) csize; tbl->td_data = tdata = - (flex_int32_t *) calloc (tbl->td_lolen, sizeof (flex_int32_t)); + calloc(tbl->td_lolen, sizeof (flex_int32_t)); for (i = 1; i < csize; ++i) { ecgroup[i] = ABS (ecgroup[i]); @@ -453,19 +455,19 @@ struct yytbl_data *mkecstbl (void) buf_prints (&yydmap_buf, "\t{YYTD_ID_EC, (void**)&yy_ec, sizeof(%s)},\n", - "flex_int32_t"); + "YY_CHAR"); return tbl; } /* Generate equivalence-class tables. */ -void genecs () +void genecs (void) { - register int i, j; + int i, j; int numrows; - out_str_dec (get_int32_decl (), "yy_ec", csize); + out_str_dec (get_yy_char_decl (), "yy_ec", csize); for (i = 1; i < csize; ++i) { ecgroup[i] = ABS (ecgroup[i]); @@ -495,7 +497,7 @@ void genecs () /* Generate the code to find the action number. */ -void gen_find_action () +void gen_find_action (void) { if (fullspd) indent_puts ("yy_act = yy_current_state[-1].yy_nxt;"); @@ -507,18 +509,23 @@ void gen_find_action () indent_puts ("yy_current_state = *--YY_G(yy_state_ptr);"); indent_puts ("YY_G(yy_lp) = yy_accept[yy_current_state];"); - outn ("find_rule: /* we branch to this label when backing up */"); + if (!variable_trailing_context_rules) + outn ("m4_ifdef( [[M4_YY_USES_REJECT]],\n[["); + if(reject_really_used) + outn ("find_rule: /* we branch to this label when backing up */"); + if (!variable_trailing_context_rules) + outn ("]])\n"); indent_puts ("for ( ; ; ) /* until we find what rule we matched */"); - indent_up (); + ++indent_level; indent_puts ("{"); indent_puts ("if ( YY_G(yy_lp) && YY_G(yy_lp) < yy_accept[yy_current_state + 1] )"); - indent_up (); + ++indent_level; indent_puts ("{"); indent_puts ("yy_act = yy_acclist[YY_G(yy_lp)];"); @@ -526,25 +533,25 @@ void gen_find_action () indent_puts ("if ( yy_act & YY_TRAILING_HEAD_MASK ||"); indent_puts (" YY_G(yy_looking_for_trail_begin) )"); - indent_up (); + ++indent_level; indent_puts ("{"); indent_puts ("if ( yy_act == YY_G(yy_looking_for_trail_begin) )"); - indent_up (); + ++indent_level; indent_puts ("{"); indent_puts ("YY_G(yy_looking_for_trail_begin) = 0;"); indent_puts ("yy_act &= ~YY_TRAILING_HEAD_MASK;"); indent_puts ("break;"); indent_puts ("}"); - indent_down (); + --indent_level; indent_puts ("}"); - indent_down (); + --indent_level; indent_puts ("else if ( yy_act & YY_TRAILING_MASK )"); - indent_up (); + ++indent_level; indent_puts ("{"); indent_puts ("YY_G(yy_looking_for_trail_begin) = yy_act & ~YY_TRAILING_MASK;"); @@ -563,10 +570,10 @@ void gen_find_action () } indent_puts ("}"); - indent_down (); + --indent_level; indent_puts ("else"); - indent_up (); + ++indent_level; indent_puts ("{"); indent_puts ("YY_G(yy_full_match) = yy_cp;"); indent_puts @@ -574,7 +581,7 @@ void gen_find_action () indent_puts ("YY_G(yy_full_lp) = YY_G(yy_lp);"); indent_puts ("break;"); indent_puts ("}"); - indent_down (); + --indent_level; indent_puts ("++YY_G(yy_lp);"); indent_puts ("goto find_rule;"); @@ -584,16 +591,16 @@ void gen_find_action () /* Remember matched text in case we back up due to * trailing context plus REJECT. */ - indent_up (); + ++indent_level; indent_puts ("{"); indent_puts ("YY_G(yy_full_match) = yy_cp;"); indent_puts ("break;"); indent_puts ("}"); - indent_down (); + --indent_level; } indent_puts ("}"); - indent_down (); + --indent_level; indent_puts ("--yy_cp;"); @@ -606,7 +613,7 @@ void gen_find_action () indent_puts ("}"); - indent_down (); + --indent_level; } else { /* compressed */ @@ -617,7 +624,7 @@ void gen_find_action () * the match. */ indent_puts ("if ( yy_act == 0 )"); - indent_up (); + ++indent_level; indent_puts ("{ /* have to back up */"); indent_puts ("yy_cp = YY_G(yy_last_accepting_cpos);"); @@ -626,7 +633,7 @@ void gen_find_action () indent_puts ("yy_act = yy_accept[yy_current_state];"); indent_puts ("}"); - indent_down (); + --indent_level; } } } @@ -637,24 +644,24 @@ void gen_find_action () struct yytbl_data *mkftbl (void) { - register int i; + int i; int end_of_buffer_action = num_rules + 1; struct yytbl_data *tbl; flex_int32_t *tdata = 0; - tbl = (struct yytbl_data *) calloc (1, sizeof (struct yytbl_data)); + tbl = calloc(1, sizeof (struct yytbl_data)); yytbl_data_init (tbl, YYTD_ID_ACCEPT); tbl->td_flags |= YYTD_DATA32; tbl->td_hilen = 0; /* it's a one-dimensional array */ - tbl->td_lolen = lastdfa + 1; + tbl->td_lolen = (flex_uint32_t) (lastdfa + 1); tbl->td_data = tdata = - (flex_int32_t *) calloc (tbl->td_lolen, sizeof (flex_int32_t)); + calloc(tbl->td_lolen, sizeof (flex_int32_t)); dfaacc[end_of_buffer_state].dfaacc_state = end_of_buffer_action; for (i = 1; i <= lastdfa; ++i) { - register int anum = dfaacc[i].dfaacc_state; + int anum = dfaacc[i].dfaacc_state; tdata[i] = anum; @@ -672,9 +679,9 @@ struct yytbl_data *mkftbl (void) /* genftbl - generate full transition table */ -void genftbl () +void genftbl (void) { - register int i; + int i; int end_of_buffer_action = num_rules + 1; out_str_dec (long_align ? get_int32_decl () : get_int16_decl (), @@ -683,7 +690,7 @@ void genftbl () dfaacc[end_of_buffer_state].dfaacc_state = end_of_buffer_action; for (i = 1; i <= lastdfa; ++i) { - register int anum = dfaacc[i].dfaacc_state; + int anum = dfaacc[i].dfaacc_state; mkdata (anum); @@ -705,10 +712,9 @@ void genftbl () /* Generate the code to find the next compressed-table state. */ -void gen_next_compressed_state (char_map) - char *char_map; +void gen_next_compressed_state (char *char_map) { - indent_put2s ("register YY_CHAR yy_c = %s;", char_map); + indent_put2s ("YY_CHAR yy_c = %s;", char_map); /* Save the backing-up info \before/ computing the next state * because we always compute one more state than needed - we @@ -718,7 +724,7 @@ void gen_next_compressed_state (char_map) indent_puts ("while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )"); - indent_up (); + ++indent_level; indent_puts ("{"); indent_puts ("yy_current_state = (int) yy_def[yy_current_state];"); @@ -735,22 +741,22 @@ void gen_next_compressed_state (char_map) /* lastdfa + 2 is the beginning of the templates */ out_dec ("if ( yy_current_state >= %d )\n", lastdfa + 2); - indent_up (); - indent_puts ("yy_c = yy_meta[(unsigned int) yy_c];"); - indent_down (); + ++indent_level; + indent_puts ("yy_c = yy_meta[yy_c];"); + --indent_level; } indent_puts ("}"); - indent_down (); + --indent_level; indent_puts - ("yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];"); + ("yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];"); } /* Generate the code to find the next match. */ -void gen_next_match () +void gen_next_match (void) { /* NOTE - changes in here should be reflected in gen_next_state() and * gen_NUL_trans(). @@ -771,7 +777,7 @@ void gen_next_match () ("while ( (yy_current_state = yy_nxt[yy_current_state*YY_NXT_LOLEN + %s ]) > 0 )", char_map); - indent_up (); + ++indent_level; if (num_backing_up > 0) { indent_puts ("{"); @@ -785,7 +791,7 @@ void gen_next_match () indent_puts ("}"); - indent_down (); + --indent_level; outc ('\n'); indent_puts ("yy_current_state = -yy_current_state;"); @@ -794,15 +800,15 @@ void gen_next_match () else if (fullspd) { indent_puts ("{"); indent_puts - ("register yyconst struct yy_trans_info *yy_trans_info;\n"); - indent_puts ("register YY_CHAR yy_c;\n"); + ("const struct yy_trans_info *yy_trans_info;\n"); + indent_puts ("YY_CHAR yy_c;\n"); indent_put2s ("for ( yy_c = %s;", char_map); indent_puts - (" (yy_trans_info = &yy_current_state[(unsigned int) yy_c])->"); + (" (yy_trans_info = &yy_current_state[yy_c])->"); indent_puts ("yy_verify == yy_c;"); indent_put2s (" yy_c = %s )", char_map_2); - indent_up (); + ++indent_level; if (num_backing_up > 0) indent_puts ("{"); @@ -815,14 +821,14 @@ void gen_next_match () indent_puts ("}"); } - indent_down (); + --indent_level; indent_puts ("}"); } else { /* compressed */ indent_puts ("do"); - indent_up (); + ++indent_level; indent_puts ("{"); gen_next_state (false); @@ -831,7 +837,7 @@ void gen_next_match () indent_puts ("}"); - indent_down (); + --indent_level; do_indent (); @@ -856,8 +862,7 @@ void gen_next_match () /* Generate the code to find the next state. */ -void gen_next_state (worry_about_NULs) - int worry_about_NULs; +void gen_next_state (int worry_about_NULs) { /* NOTE - changes in here should be reflected in gen_next_match() */ char char_map[256]; @@ -883,7 +888,7 @@ void gen_next_state (worry_about_NULs) gen_backing_up (); indent_puts ("if ( *yy_cp )"); - indent_up (); + ++indent_level; indent_puts ("{"); } @@ -909,12 +914,12 @@ void gen_next_state (worry_about_NULs) if (worry_about_NULs && nultrans) { indent_puts ("}"); - indent_down (); + --indent_level; indent_puts ("else"); - indent_up (); + ++indent_level; indent_puts ("yy_current_state = yy_NUL_trans[yy_current_state];"); - indent_down (); + --indent_level; } if (fullspd || fulltbl) @@ -927,7 +932,7 @@ void gen_next_state (worry_about_NULs) /* Generate the code to make a NUL transition. */ -void gen_NUL_trans () +void gen_NUL_trans (void) { /* NOTE - changes in here should be reflected in gen_next_match() */ /* Only generate a definition for "yy_cp" if we'll generate code * that uses it. Otherwise lint and the like complain. @@ -938,7 +943,7 @@ void gen_NUL_trans () /* We're going to need yy_cp lying around for the call * below to gen_backing_up(). */ - indent_puts ("register char *yy_cp = YY_G(yy_c_buf_p);"); + indent_puts ("char *yy_cp = YY_G(yy_c_buf_p);"); outc ('\n'); @@ -959,10 +964,10 @@ void gen_NUL_trans () else if (fullspd) { do_indent (); - out_dec ("register int yy_c = %d;\n", NUL_ec); + out_dec ("int yy_c = %d;\n", NUL_ec); indent_puts - ("register yyconst struct yy_trans_info *yy_trans_info;\n"); + ("const struct yy_trans_info *yy_trans_info;\n"); indent_puts ("yy_trans_info = &yy_current_state[(unsigned int) yy_c];"); indent_puts ("yy_current_state += yy_trans_info->yy_nxt;"); @@ -987,10 +992,10 @@ void gen_NUL_trans () * the state stack and yy_c_buf_p get out of sync. */ indent_puts ("if ( ! yy_is_jam )"); - indent_up (); + ++indent_level; indent_puts ("*YY_G(yy_state_ptr)++ = yy_current_state;"); - indent_down (); + --indent_level; } } @@ -1001,18 +1006,18 @@ void gen_NUL_trans () if (need_backing_up && (fullspd || fulltbl)) { outc ('\n'); indent_puts ("if ( ! yy_is_jam )"); - indent_up (); + ++indent_level; indent_puts ("{"); gen_backing_up (); indent_puts ("}"); - indent_down (); + --indent_level; } } /* Generate the code to find the start state. */ -void gen_start_state () +void gen_start_state (void) { if (fullspd) { if (bol_needed) { @@ -1045,7 +1050,7 @@ void gen_start_state () /* gentabs - generate data statements for the transition tables */ -void gentabs () +void gentabs (void) { int i, j, k, *accset, nacc, *acc_array, total_states; int end_of_buffer_action = num_rules + 1; @@ -1089,11 +1094,11 @@ void gentabs () "\t{YYTD_ID_ACCLIST, (void**)&yy_acclist, sizeof(%s)},\n", long_align ? "flex_int32_t" : "flex_int16_t"); - yyacclist_tbl = (struct yytbl_data*)calloc(1,sizeof(struct yytbl_data)); + yyacclist_tbl = calloc(1,sizeof(struct yytbl_data)); yytbl_data_init (yyacclist_tbl, YYTD_ID_ACCLIST); - yyacclist_tbl->td_lolen = MAX(numas,1) + 1; + yyacclist_tbl->td_lolen = (flex_uint32_t) (MAX(numas,1) + 1); yyacclist_tbl->td_data = yyacclist_data = - (flex_int32_t *) calloc (yyacclist_tbl->td_lolen, sizeof (flex_int32_t)); + calloc(yyacclist_tbl->td_lolen, sizeof (flex_int32_t)); yyacclist_curr = 1; j = 1; /* index into "yy_acclist" array */ @@ -1198,13 +1203,11 @@ void gentabs () "\t{YYTD_ID_ACCEPT, (void**)&yy_accept, sizeof(%s)},\n", long_align ? "flex_int32_t" : "flex_int16_t"); - yyacc_tbl = - (struct yytbl_data *) calloc (1, - sizeof (struct yytbl_data)); + yyacc_tbl = calloc(1, sizeof (struct yytbl_data)); yytbl_data_init (yyacc_tbl, YYTD_ID_ACCEPT); - yyacc_tbl->td_lolen = k; + yyacc_tbl->td_lolen = (flex_uint32_t) k; yyacc_tbl->td_data = yyacc_data = - (flex_int32_t *) calloc (yyacc_tbl->td_lolen, sizeof (flex_int32_t)); + calloc(yyacc_tbl->td_lolen, sizeof (flex_int32_t)); yyacc_curr=1; for (i = 1; i <= lastdfa; ++i) { @@ -1257,24 +1260,21 @@ void gentabs () * templates with). */ flex_int32_t *yymecs_data = 0; - yymeta_tbl = - (struct yytbl_data *) calloc (1, - sizeof (struct - yytbl_data)); + yymeta_tbl = calloc(1, sizeof (struct yytbl_data)); yytbl_data_init (yymeta_tbl, YYTD_ID_META); - yymeta_tbl->td_lolen = numecs + 1; + yymeta_tbl->td_lolen = (flex_uint32_t) (numecs + 1); yymeta_tbl->td_data = yymecs_data = - (flex_int32_t *) calloc (yymeta_tbl->td_lolen, + calloc(yymeta_tbl->td_lolen, sizeof (flex_int32_t)); if (trace) fputs (_("\n\nMeta-Equivalence Classes:\n"), stderr); - out_str_dec (get_int32_decl (), "yy_meta", numecs + 1); + out_str_dec (get_yy_char_decl (), "yy_meta", numecs + 1); buf_prints (&yydmap_buf, "\t{YYTD_ID_META, (void**)&yy_meta, sizeof(%s)},\n", - "flex_int32_t"); + "YY_CHAR"); for (i = 1; i <= numecs; ++i) { if (trace) @@ -1308,18 +1308,16 @@ void gentabs () "\t{YYTD_ID_BASE, (void**)&yy_base, sizeof(%s)},\n", (tblend >= INT16_MAX || long_align) ? "flex_int32_t" : "flex_int16_t"); - yybase_tbl = - (struct yytbl_data *) calloc (1, - sizeof (struct yytbl_data)); + yybase_tbl = calloc (1, sizeof (struct yytbl_data)); yytbl_data_init (yybase_tbl, YYTD_ID_BASE); - yybase_tbl->td_lolen = total_states + 1; + yybase_tbl->td_lolen = (flex_uint32_t) (total_states + 1); yybase_tbl->td_data = yybase_data = - (flex_int32_t *) calloc (yybase_tbl->td_lolen, + calloc(yybase_tbl->td_lolen, sizeof (flex_int32_t)); yybase_curr = 1; for (i = 1; i <= lastdfa; ++i) { - register int d = def[i]; + int d = def[i]; if (base[i] == JAMSTATE) base[i] = jambase; @@ -1368,13 +1366,11 @@ void gentabs () (total_states >= INT16_MAX || long_align) ? "flex_int32_t" : "flex_int16_t"); - yydef_tbl = - (struct yytbl_data *) calloc (1, - sizeof (struct yytbl_data)); + yydef_tbl = calloc(1, sizeof (struct yytbl_data)); yytbl_data_init (yydef_tbl, YYTD_ID_DEF); - yydef_tbl->td_lolen = total_states + 1; + yydef_tbl->td_lolen = (flex_uint32_t) (total_states + 1); yydef_tbl->td_data = yydef_data = - (flex_int32_t *) calloc (yydef_tbl->td_lolen, sizeof (flex_int32_t)); + calloc(yydef_tbl->td_lolen, sizeof (flex_int32_t)); for (i = 1; i <= total_states; ++i) { mkdata (def[i]); @@ -1402,13 +1398,11 @@ void gentabs () (total_states >= INT16_MAX || long_align) ? "flex_int32_t" : "flex_int16_t"); - yynxt_tbl = - (struct yytbl_data *) calloc (1, - sizeof (struct yytbl_data)); + yynxt_tbl = calloc (1, sizeof (struct yytbl_data)); yytbl_data_init (yynxt_tbl, YYTD_ID_NXT); - yynxt_tbl->td_lolen = tblend + 1; + yynxt_tbl->td_lolen = (flex_uint32_t) (tblend + 1); yynxt_tbl->td_data = yynxt_data = - (flex_int32_t *) calloc (yynxt_tbl->td_lolen, sizeof (flex_int32_t)); + calloc (yynxt_tbl->td_lolen, sizeof (flex_int32_t)); for (i = 1; i <= tblend; ++i) { /* Note, the order of the following test is important. @@ -1441,13 +1435,11 @@ void gentabs () (total_states >= INT16_MAX || long_align) ? "flex_int32_t" : "flex_int16_t"); - yychk_tbl = - (struct yytbl_data *) calloc (1, - sizeof (struct yytbl_data)); + yychk_tbl = calloc (1, sizeof (struct yytbl_data)); yytbl_data_init (yychk_tbl, YYTD_ID_CHK); - yychk_tbl->td_lolen = tblend + 1; + yychk_tbl->td_lolen = (flex_uint32_t) (tblend + 1); yychk_tbl->td_data = yychk_data = - (flex_int32_t *) calloc (yychk_tbl->td_lolen, sizeof (flex_int32_t)); + calloc(yychk_tbl->td_lolen, sizeof (flex_int32_t)); for (i = 1; i <= tblend; ++i) { if (chk[i] == 0) @@ -1467,7 +1459,7 @@ void gentabs () } /* End generating yy_chk */ - flex_free ((void *) acc_array); + free(acc_array); } @@ -1475,8 +1467,7 @@ void gentabs () * current indentation level, adding a final newline. */ -void indent_put2s (fmt, arg) - const char *fmt, *arg; +void indent_put2s (const char *fmt, const char *arg) { do_indent (); out_str (fmt, arg); @@ -1488,8 +1479,7 @@ void indent_put2s (fmt, arg) * newline. */ -void indent_puts (str) - const char *str; +void indent_puts (const char *str) { do_indent (); outn (str); @@ -1499,11 +1489,11 @@ void indent_puts (str) /* make_tables - generate transition tables and finishes generating output file */ -void make_tables () +void make_tables (void) { - register int i; - int did_eof_rule = false; - struct yytbl_data *yynultrans_tbl; + int i; + int did_eof_rule = false; + struct yytbl_data *yynultrans_tbl = NULL; skelout (); /* %% [2.0] - break point in skel */ @@ -1516,11 +1506,11 @@ void make_tables () if (yymore_used && !yytext_is_array) { indent_puts ("YY_G(yytext_ptr) -= YY_G(yy_more_len); \\"); indent_puts - ("yyleng = (size_t) (yy_cp - YY_G(yytext_ptr)); \\"); + ("yyleng = (int) (yy_cp - YY_G(yytext_ptr)); \\"); } else - indent_puts ("yyleng = (size_t) (yy_cp - yy_bp); \\"); + indent_puts ("yyleng = (int) (yy_cp - yy_bp); \\"); /* Now also deal with copying yytext_ptr to yytext if needed. */ skelout (); /* %% [3.0] - break point in skel */ @@ -1531,10 +1521,10 @@ void make_tables () else indent_puts ("if ( yyleng >= YYLMAX ) \\"); - indent_up (); + ++indent_level; indent_puts ("YY_FATAL_ERROR( \"token too large, exceeds YYLMAX\" ); \\"); - indent_down (); + --indent_level; if (yymore_used) { indent_puts @@ -1571,7 +1561,7 @@ void make_tables () set_indent (0); indent_puts ("struct yy_trans_info"); - indent_up (); + ++indent_level; indent_puts ("{"); /* We require that yy_verify and yy_nxt must be of the same size int. */ @@ -1587,7 +1577,7 @@ void make_tables () indent_put2s ("%s yy_nxt;", trans_offset_type); indent_puts ("};"); - indent_down (); + --indent_level; } else { /* We generate a bogus 'struct yy_trans_info' data type @@ -1599,12 +1589,12 @@ void make_tables () ("/* This struct is not used in this scanner,"); indent_puts (" but its presence is necessary. */"); indent_puts ("struct yy_trans_info"); - indent_up (); + ++indent_level; indent_puts ("{"); indent_puts ("flex_int32_t yy_verify;"); indent_puts ("flex_int32_t yy_nxt;"); indent_puts ("};"); - indent_down (); + --indent_level; } if (fullspd) { @@ -1702,16 +1692,13 @@ void make_tables () (fullspd) ? "struct yy_trans_info*" : "flex_int32_t"); - yynultrans_tbl = - (struct yytbl_data *) calloc (1, - sizeof (struct - yytbl_data)); + yynultrans_tbl = calloc(1, sizeof (struct yytbl_data)); yytbl_data_init (yynultrans_tbl, YYTD_ID_NUL_TRANS); if (fullspd) yynultrans_tbl->td_flags |= YYTD_PTRANS; - yynultrans_tbl->td_lolen = lastdfa + 1; + yynultrans_tbl->td_lolen = (flex_uint32_t) (lastdfa + 1); yynultrans_tbl->td_data = yynultrans_data = - (flex_int32_t *) calloc (yynultrans_tbl->td_lolen, + calloc(yynultrans_tbl->td_lolen, sizeof (flex_int32_t)); for (i = 1; i <= lastdfa; ++i) { @@ -1733,9 +1720,13 @@ void make_tables () 0) flexerror (_ ("Could not write yynultrans_tbl")); + } + + if (yynultrans_tbl != NULL) { yytbl_data_destroy (yynultrans_tbl); yynultrans_tbl = NULL; - } + } + /* End generating yy_NUL_trans */ } @@ -1824,13 +1815,13 @@ void make_tables () indent_puts ("#define YY_MORE_ADJ 0"); indent_puts ("#define YY_RESTORE_YY_MORE_OFFSET \\"); - indent_up (); + ++indent_level; indent_puts ("{ \\"); indent_puts ("YY_G(yy_more_offset) = YY_G(yy_prev_more_offset); \\"); indent_puts ("yyleng -= YY_G(yy_more_offset); \\"); indent_puts ("}"); - indent_down (); + --indent_level; } else { indent_puts @@ -1874,7 +1865,7 @@ void make_tables () if (!C_plus_plus) { if (use_read) { outn ("\terrno=0; \\"); - outn ("\twhile ( (result = read( fileno(yyin), (char *) buf, max_size )) < 0 ) \\"); + outn ("\twhile ( (result = (int) read( fileno(yyin), buf, (yy_size_t) max_size )) < 0 ) \\"); outn ("\t{ \\"); outn ("\t\tif( errno != EINTR) \\"); outn ("\t\t{ \\"); @@ -1890,7 +1881,7 @@ void make_tables () outn ("\tif ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \\"); outn ("\t\t{ \\"); outn ("\t\tint c = '*'; \\"); - outn ("\t\tsize_t n; \\"); + outn ("\t\tint n; \\"); outn ("\t\tfor ( n = 0; n < max_size && \\"); outn ("\t\t\t (c = getc( yyin )) != EOF && c != '\\n'; ++n ) \\"); outn ("\t\t\tbuf[n] = (char) c; \\"); @@ -1903,7 +1894,7 @@ void make_tables () outn ("\telse \\"); outn ("\t\t{ \\"); outn ("\t\terrno=0; \\"); - outn ("\t\twhile ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \\"); + outn ("\t\twhile ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \\"); outn ("\t\t\t{ \\"); outn ("\t\t\tif( errno != EINTR) \\"); outn ("\t\t\t\t{ \\"); @@ -1920,16 +1911,16 @@ void make_tables () skelout (); /* %% [6.0] - break point in skel */ indent_puts ("#define YY_RULE_SETUP \\"); - indent_up (); + ++indent_level; if (bol_needed) { indent_puts ("if ( yyleng > 0 ) \\"); - indent_up (); + ++indent_level; indent_puts ("YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \\"); indent_puts ("\t\t(yytext[yyleng - 1] == '\\n'); \\"); - indent_down (); + --indent_level; } indent_puts ("YY_USER_ACTION"); - indent_down (); + --indent_level; skelout (); /* %% [7.0] - break point in skel */ @@ -1945,13 +1936,13 @@ void make_tables () if (yymore_used && !yytext_is_array) { indent_puts ("YY_G(yy_more_len) = 0;"); indent_puts ("if ( YY_G(yy_more_flag) )"); - indent_up (); + ++indent_level; indent_puts ("{"); indent_puts - ("YY_G(yy_more_len) = YY_G(yy_c_buf_p) - YY_G(yytext_ptr);"); + ("YY_G(yy_more_len) = (int) (YY_G(yy_c_buf_p) - YY_G(yytext_ptr));"); indent_puts ("YY_G(yy_more_flag) = 0;"); indent_puts ("}"); - indent_down (); + --indent_level; } skelout (); /* %% [9.0] - break point in skel */ @@ -1970,39 +1961,39 @@ void make_tables () outn ("m4_ifdef( [[M4_YY_USE_LINENO]],[["); indent_puts ("if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )"); - indent_up (); + ++indent_level; indent_puts ("{"); - indent_puts ("yy_size_t yyl;"); + indent_puts ("int yyl;"); do_indent (); out_str ("for ( yyl = %s; yyl < yyleng; ++yyl )\n", yymore_used ? (yytext_is_array ? "YY_G(yy_prev_more_offset)" : "YY_G(yy_more_len)") : "0"); - indent_up (); + ++indent_level; indent_puts ("if ( yytext[yyl] == '\\n' )"); - indent_up (); + ++indent_level; indent_puts ("M4_YY_INCR_LINENO();"); - indent_down (); - indent_down (); + --indent_level; + --indent_level; indent_puts ("}"); - indent_down (); + --indent_level; outn ("]])"); skelout (); /* %% [12.0] - break point in skel */ if (ddebug) { indent_puts ("if ( yy_flex_debug )"); - indent_up (); + ++indent_level; indent_puts ("{"); indent_puts ("if ( yy_act == 0 )"); - indent_up (); + ++indent_level; indent_puts (C_plus_plus ? "std::cerr << \"--scanner backing up\\n\";" : "fprintf( stderr, \"--scanner backing up\\n\" );"); - indent_down (); + --indent_level; do_indent (); out_dec ("else if ( yy_act < %d )\n", num_rules); - indent_up (); + ++indent_level; if (C_plus_plus) { indent_puts @@ -2018,11 +2009,11 @@ void make_tables () (" (long)yy_rule_linenum[yy_act], yytext );"); } - indent_down (); + --indent_level; do_indent (); out_dec ("else if ( yy_act == %d )\n", num_rules); - indent_up (); + ++indent_level; if (C_plus_plus) { indent_puts @@ -2034,21 +2025,21 @@ void make_tables () indent_puts (" yytext );"); } - indent_down (); + --indent_level; do_indent (); out_dec ("else if ( yy_act == %d )\n", num_rules + 1); - indent_up (); + ++indent_level; indent_puts (C_plus_plus ? "std::cerr << \"--(end of buffer or a NUL)\\n\";" : "fprintf( stderr, \"--(end of buffer or a NUL)\\n\" );"); - indent_down (); + --indent_level; do_indent (); outn ("else"); - indent_up (); + ++indent_level; if (C_plus_plus) { indent_puts @@ -2059,15 +2050,15 @@ void make_tables () ("fprintf( stderr, \"--EOF (start condition %d)\\n\", YY_START );"); } - indent_down (); + --indent_level; indent_puts ("}"); - indent_down (); + --indent_level; } /* Copy actions to output file. */ skelout (); /* %% [13.0] - break point in skel */ - indent_up (); + ++indent_level; gen_bu_action (); out (&action_array[action_offset]); @@ -2082,9 +2073,9 @@ void make_tables () } if (did_eof_rule) { - indent_up (); + ++indent_level; indent_puts ("yyterminate();"); - indent_down (); + --indent_level; } @@ -2142,17 +2133,17 @@ void make_tables () if (do_yylineno) { indent_puts ("if ( YY_CURRENT_BUFFER_LVALUE->yy_at_bol )"); - indent_up (); + ++indent_level; indent_puts ("M4_YY_INCR_LINENO();"); - indent_down (); + --indent_level; } } else if (do_yylineno) { indent_puts ("if ( c == '\\n' )"); - indent_up (); + ++indent_level; indent_puts ("M4_YY_INCR_LINENO();"); - indent_down (); + --indent_level; } skelout (); @@ -2163,7 +2154,11 @@ void make_tables () if (sectnum == 3) { OUT_BEGIN_CODE (); + if (!no_section3_escape) + fputs("[[", stdout); (void) flexscan (); /* copy remainder of input to output */ + if (!no_section3_escape) + fputs("]]", stdout); OUT_END_CODE (); } } diff --git a/gettext.h b/src/gettext.h similarity index 100% rename from gettext.h rename to src/gettext.h diff --git a/libmain.c b/src/libmain.c similarity index 90% rename from libmain.c rename to src/libmain.c index 49262e462bb0..bb2fe35a5f98 100644 --- a/libmain.c +++ b/src/libmain.c @@ -21,13 +21,16 @@ /* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR */ /* PURPOSE. */ -extern int yylex (); +#include -int main (argc, argv) - int argc; - char *argv[]; +extern int yylex (void); + +int main (int argc, char *argv[]) { + (void)argc; + (void)argv; + while (yylex () != 0) ; - return 0; + exit(0); } diff --git a/libyywrap.c b/src/libyywrap.c similarity index 97% rename from libyywrap.c rename to src/libyywrap.c index 8561a43f4cdd..b0427c479733 100644 --- a/libyywrap.c +++ b/src/libyywrap.c @@ -21,6 +21,8 @@ /* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR */ /* PURPOSE. */ +int yywrap (void); + int yywrap (void) { return 1; diff --git a/main.c b/src/main.c similarity index 92% rename from main.c rename to src/main.c index 069b7b228c6f..e5eac44fe0a7 100644 --- a/main.c +++ b/src/main.c @@ -36,15 +36,15 @@ #include "version.h" #include "options.h" #include "tables.h" +#include "parse.h" static char flex_version[] = FLEX_VERSION; /* declare functions that have forward references */ -void flexinit PROTO ((int, char **)); -void readin PROTO ((void)); -void set_up_initial_allocations PROTO ((void)); -static char *basename2 PROTO ((char *path, int should_strip_ext)); +void flexinit(int, char **); +void readin(void); +void set_up_initial_allocations(void); /* these globals are all defined and commented in flexdef.h */ @@ -57,6 +57,7 @@ int C_plus_plus, long_align, use_read, yytext_is_array, do_yywrap, int reentrant, bison_bridge_lval, bison_bridge_lloc; int yymore_used, reject, real_reject, continued_action, in_rule; int yymore_really_used, reject_really_used; +int trace_hex = 0; int datapos, dataline, linenum; FILE *skelfile = NULL; int skel_ind = 0; @@ -93,7 +94,7 @@ int *accsiz, *dhash, numas; int numsnpairs, jambase, jamstate; int lastccl, *cclmap, *ccllen, *cclng, cclreuse; int current_maxccls, current_max_ccl_tbl_size; -Char *ccltbl; +unsigned char *ccltbl; char nmstr[MAXLINE]; int sectnum, nummt, hshcol, dfaeql, numeps, eps2, num_reallocs; int tmpuses, totnst, peakpairs, numuniq, numdup, hshsave; @@ -105,7 +106,6 @@ int num_input_files; jmp_buf flex_main_jmp_buf; bool *rule_has_nl, *ccl_has_nl; int nlch = '\n'; -bool ansi_func_defs, ansi_func_protos; bool tablesext, tablesverify, gentables; char *tablesfilename=0,*tablesname=0; @@ -116,19 +116,9 @@ struct yytbl_writer tableswr; */ char *program_name = "flex"; -#ifndef SHORT_FILE_NAMES -static char *outfile_template = "lex.%s.%s"; -static char *backing_name = "lex.backup"; -static char *tablesfile_template = "lex.%s.tables"; -#else -static char *outfile_template = "lex%s.%s"; -static char *backing_name = "lex.bck"; -static char *tablesfile_template = "lex%s.tbl"; -#endif - -#ifdef MS_DOS -extern unsigned _stklen = 16384; -#endif +static const char outfile_template[] = "lex.%s.%s"; +static const char backing_name[] = "lex.backup"; +static const char tablesfile_template[] = "lex.%s.tables"; /* From scan.l */ extern FILE* yyout; @@ -137,18 +127,15 @@ static char outfile_path[MAXLINE]; static int outfile_created = 0; static char *skelname = NULL; static int _stdout_closed = 0; /* flag to prevent double-fclose() on stdout. */ -const char *escaped_qstart = "[[]]M4_YY_NOOP[M4_YY_NOOP[M4_YY_NOOP[[]]"; -const char *escaped_qend = "[[]]M4_YY_NOOP]M4_YY_NOOP]M4_YY_NOOP[[]]"; +const char *escaped_qstart = "]]M4_YY_NOOP[M4_YY_NOOP[M4_YY_NOOP[["; +const char *escaped_qend = "]]M4_YY_NOOP]M4_YY_NOOP]M4_YY_NOOP[["; /* For debugging. The max number of filters to apply to skeleton. */ static int preproc_level = 1000; -int flex_main PROTO ((int argc, char *argv[])); -int main PROTO ((int argc, char *argv[])); +int flex_main (int argc, char *argv[]); -int flex_main (argc, argv) - int argc; - char *argv[]; +int flex_main (int argc, char *argv[]) { int i, exit_status, child_status; @@ -208,9 +195,7 @@ int flex_main (argc, argv) } /* Wrapper around flex_main, so flex_main can be built as a library. */ -int main (argc, argv) - int argc; - char *argv[]; +int main (int argc, char *argv[]) { #if ENABLE_NLS #if HAVE_LOCALE_H @@ -226,7 +211,7 @@ int main (argc, argv) /* check_options - check user-specified options */ -void check_options () +void check_options (void) { int i; const char * m4 = NULL; @@ -291,7 +276,7 @@ void check_options () flexerror (_("Can't use -+ with -CF option")); if (C_plus_plus && yytext_is_array) { - warn (_("%array incompatible with -+ option")); + lwarn (_("%array incompatible with -+ option")); yytext_is_array = false; } @@ -325,14 +310,8 @@ void check_options () } } - if (!ansi_func_defs) - buf_m4_define( &m4defs_buf, "M4_YY_NO_ANSI_FUNC_DEFS", NULL); - - if (!ansi_func_protos) - buf_m4_define( &m4defs_buf, "M4_YY_NO_ANSI_FUNC_PROTOS", NULL); - - if (extra_type) - buf_m4_define( &m4defs_buf, "M4_EXTRA_TYPE_DEFS", extra_type); + if (extra_type) + buf_m4_define( &m4defs_buf, "M4_EXTRA_TYPE_DEFS", extra_type); if (!use_stdout) { FILE *prev_stdout; @@ -354,7 +333,7 @@ void check_options () prev_stdout = freopen (outfilename, "w+", stdout); if (prev_stdout == NULL) - lerrsf (_("could not create %s"), outfilename); + lerr (_("could not create %s"), outfilename); outfile_created = 1; } @@ -362,8 +341,45 @@ void check_options () /* Setup the filter chain. */ output_chain = filter_create_int(NULL, filter_tee_header, headerfilename); - if ( !(m4 = getenv("M4"))) - m4 = M4; + if ( !(m4 = getenv("M4"))) { + char *slash; + m4 = M4; + if ((slash = strrchr(M4, '/')) != NULL) { + m4 = slash+1; + /* break up $PATH */ + const char *path = getenv("PATH"); + if (!path) { + m4 = M4; + } else { + int m4_length = strlen(m4); + do { + size_t length = strlen(path); + struct stat sbuf; + + const char *endOfDir = strchr(path, ':'); + if (!endOfDir) + endOfDir = path+length; + + { + char *m4_path = calloc(endOfDir-path + 1 + m4_length + 1, 1); + + memcpy(m4_path, path, endOfDir-path); + m4_path[endOfDir-path] = '/'; + memcpy(m4_path + (endOfDir-path) + 1, m4, m4_length + 1); + if (stat(m4_path, &sbuf) == 0 && + (S_ISREG(sbuf.st_mode)) && sbuf.st_mode & S_IXUSR) { + m4 = m4_path; + break; + } + free(m4_path); + } + path = endOfDir+1; + } while (path[0]); + if (!path[0]) + m4 = M4; + } + } + } filter_create_ext(output_chain, m4, "-P", 0); filter_create_int(output_chain, filter_fix_linedirs, NULL); @@ -389,26 +405,25 @@ void check_options () FILE *tablesout; struct yytbl_hdr hdr; char *pname = 0; - int nbytes = 0; + size_t nbytes = 0; buf_m4_define (&m4defs_buf, "M4_YY_TABLES_EXTERNAL", NULL); if (!tablesfilename) { nbytes = strlen (prefix) + strlen (tablesfile_template) + 2; - tablesfilename = pname = (char *) calloc (nbytes, 1); + tablesfilename = pname = calloc(nbytes, 1); snprintf (pname, nbytes, tablesfile_template, prefix); } if ((tablesout = fopen (tablesfilename, "w")) == NULL) - lerrsf (_("could not create %s"), tablesfilename); - if (pname) - free (pname); + lerr (_("could not create %s"), tablesfilename); + free(pname); tablesfilename = 0; yytbl_writer_init (&tableswr, tablesout); nbytes = strlen (prefix) + strlen ("tables") + 2; - tablesname = (char *) calloc (nbytes, 1); + tablesname = calloc(nbytes, 1); snprintf (tablesname, nbytes, "%stables", prefix); yytbl_hdr_init (&hdr, flex_version, tablesname); @@ -417,7 +432,7 @@ void check_options () } if (skelname && (skelfile = fopen (skelname, "r")) == NULL) - lerrsf (_("can't open skeleton file %s"), skelname); + lerr (_("can't open skeleton file %s"), skelname); if (reentrant) { buf_m4_define (&m4defs_buf, "M4_YY_REENTRANT", NULL); @@ -431,6 +446,8 @@ void check_options () if ( bison_bridge_lloc) buf_m4_define (&m4defs_buf, "", NULL); + if (strchr(prefix, '[') || strchr(prefix, ']')) + flexerror(_("Prefix cannot include '[' or ']'")); buf_m4_define(&m4defs_buf, "M4_YY_PREFIX", prefix); if (did_outfilename) @@ -451,7 +468,8 @@ void check_options () char *str, *fmt = "#define %s %d\n"; size_t strsz; - str = (char*)flex_alloc(strsz = strlen(fmt) + strlen(scname[i]) + (int)(1 + log10(i)) + 2); + strsz = strlen(fmt) + strlen(scname[i]) + (size_t)(1 + ceil (log10(i))) + 2; + str = malloc(strsz); if (!str) flexfatal(_("allocation of macro definition failed")); snprintf(str, strsz, fmt, scname[i], i - 1); @@ -473,7 +491,8 @@ void check_options () m4defs_buf.nelts = 0; /* memory leak here. */ /* Place a bogus line directive, it will be fixed in the filter. */ - outn("#line 0 \"M4_YY_OUTFILE_NAME\"\n"); + if (gen_line_dirs) + outn("#line 0 \"M4_YY_OUTFILE_NAME\"\n"); /* Dump the user defined preproc directives. */ if (userdef_buf.elts) @@ -489,9 +508,7 @@ void check_options () * This routine does not return. */ -void flexend (exit_status) - int exit_status; - +void flexend (int exit_status) { static int called_before = -1; /* prevent infinite recursion. */ int tblsiz; @@ -501,11 +518,11 @@ void flexend (exit_status) if (skelfile != NULL) { if (ferror (skelfile)) - lerrsf (_("input error reading skeleton file %s"), + lerr (_("input error reading skeleton file %s"), skelname); else if (fclose (skelfile)) - lerrsf (_("error closing skeleton file %s"), + lerr (_("error closing skeleton file %s"), skelname); } @@ -538,7 +555,6 @@ void flexend (exit_status) "EOB_ACT_END_OF_FILE", "EOB_ACT_LAST_MATCH", "FLEX_SCANNER", - "FLEX_STD", "REJECT", "YYFARGS0", "YYFARGS1", @@ -625,7 +641,7 @@ void flexend (exit_status) "yypop_buffer_state", "yyensure_buffer_stack", "yyalloc", - "yyconst", + "const", "yyextra", "yyfree", "yyget_debug", @@ -690,7 +706,7 @@ void flexend (exit_status) fprintf (header_out, "#endif /* %sHEADER_H */\n", prefix); if (ferror (header_out)) - lerrsf (_("error creating header file %s"), + lerr (_("error creating header file %s"), headerfilename); fflush (header_out); fclose (header_out); @@ -698,15 +714,15 @@ void flexend (exit_status) if (exit_status != 0 && outfile_created) { if (ferror (stdout)) - lerrsf (_("error writing output file %s"), + lerr (_("error writing output file %s"), outfilename); else if ((_stdout_closed = 1) && fclose (stdout)) - lerrsf (_("error closing output file %s"), + lerr (_("error closing output file %s"), outfilename); else if (unlink (outfilename)) - lerrsf (_("error deleting output file %s"), + lerr (_("error deleting output file %s"), outfilename); } @@ -724,11 +740,11 @@ void flexend (exit_status) _("Compressed tables always back up.\n")); if (ferror (backing_up_file)) - lerrsf (_("error writing backup file %s"), + lerr (_("error writing backup file %s"), backing_name); else if (fclose (backing_up_file)) - lerrsf (_("error closing backup file %s"), + lerr (_("error closing backup file %s"), backing_name); } @@ -925,9 +941,7 @@ void flexend (exit_status) /* flexinit - initialize flex */ -void flexinit (argc, argv) - int argc; - char **argv; +void flexinit (int argc, char **argv) { int i, sawcmpflag, rv, optind; char *arg; @@ -952,7 +966,6 @@ void flexinit (argc, argv) tablesext = tablesverify = false; gentables = true; tablesfilename = tablesname = NULL; - ansi_func_defs = ansi_func_protos = true; sawcmpflag = false; @@ -981,9 +994,9 @@ void flexinit (argc, argv) flex_init_regex(); /* Enable C++ if program name ends with '+'. */ - program_name = basename2 (argv[0], 0); + program_name = basename (argv[0]); - if (program_name[0] != '\0' && + if (program_name != NULL && program_name[strlen (program_name) - 1] == '+') C_plus_plus = true; @@ -1058,9 +1071,9 @@ void flexinit (argc, argv) break; default: - lerrif (_ + lerr (_ ("unknown -C option '%c'"), - (int) arg[i]); + arg[i]); break; } break; @@ -1104,7 +1117,7 @@ void flexinit (argc, argv) break; case OPT_PREPROC_LEVEL: - preproc_level = strtol(arg,NULL,0); + preproc_level = (int) strtol(arg,NULL,0); break; case OPT_MAIN: @@ -1267,7 +1280,7 @@ void flexinit (argc, argv) } else { buf_strnappend (&userdef_buf, arg, - def - arg); + (int) (def - arg)); buf_strappend (&userdef_buf, " "); buf_strappend (&userdef_buf, def + 1); @@ -1329,14 +1342,6 @@ void flexinit (argc, argv) reject_really_used = false; break; - case OPT_NO_ANSI_FUNC_DEFS: - ansi_func_defs = false; - break; - - case OPT_NO_ANSI_FUNC_PROTOS: - ansi_func_protos = false; - break; - case OPT_NO_YY_PUSH_STATE: //buf_strdefine (&userdef_buf, "YY_NO_PUSH_STATE", "1"); buf_m4_define( &m4defs_buf, "M4_YY_NO_PUSH_STATE",0); @@ -1421,7 +1426,12 @@ void flexinit (argc, argv) //buf_strdefine (&userdef_buf, "YY_NO_SET_LLOC", "1"); buf_m4_define( &m4defs_buf, "M4_YY_NO_SET_LLOC",0); break; - + case OPT_HEX: + trace_hex = 1; + break; + case OPT_NO_SECT3_ESCAPE: + no_section3_escape = true; + break; } /* switch */ } /* while scanopt() */ @@ -1454,13 +1464,13 @@ void flexinit (argc, argv) /* readin - read in the rules section of the input file(s) */ -void readin () +void readin (void) { static char yy_stdinit[] = "FILE *yyin = stdin, *yyout = stdout;"; static char yy_nostdinit[] = - "FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;"; + "FILE *yyin = NULL, *yyout = NULL;"; - line_directive_out ((FILE *) 0, 1); + line_directive_out(NULL, 1); if (yyparse ()) { pinpoint_message (_("fatal parse error")); @@ -1494,7 +1504,7 @@ void readin () if (backing_up_report) { backing_up_file = fopen (backing_name, "w"); if (backing_up_file == NULL) - lerrsf (_ + lerr (_ ("could not create backing-up info file %s"), backing_name); } @@ -1575,11 +1585,12 @@ void readin () } if (!do_yywrap) { - if (!C_plus_plus) + if (!C_plus_plus) { if (reentrant) - outn ("\n#define yywrap(yyscanner) 1"); + out_str ("\n#define %swrap(yyscanner) (/*CONSTCOND*/1)\n", prefix); else - outn ("\n#define yywrap() 1"); + out_str ("\n#define %swrap() (/*CONSTCOND*/1)\n", prefix); + } outn ("#define YY_SKIP_YYWRAP"); } @@ -1587,10 +1598,7 @@ void readin () outn ("\n#define FLEX_DEBUG"); OUT_BEGIN_CODE (); - if (csize == 256) - outn ("typedef unsigned char YY_CHAR;"); - else - outn ("typedef char YY_CHAR;"); + outn ("typedef flex_uint8_t YY_CHAR;"); OUT_END_CODE (); if (C_plus_plus) { @@ -1634,7 +1642,7 @@ void readin () OUT_BEGIN_CODE (); if (fullspd) - outn ("typedef yyconst struct yy_trans_info *yy_state_type;"); + outn ("typedef const struct yy_trans_info *yy_state_type;"); else if (!C_plus_plus) outn ("typedef int yy_state_type;"); OUT_END_CODE (); @@ -1683,6 +1691,10 @@ void readin () } else { outn ("extern char *yytext;"); + + outn("#ifdef yytext_ptr"); + outn("#undef yytext_ptr"); + outn("#endif"); outn ("#define yytext_ptr yytext"); } } @@ -1708,7 +1720,7 @@ void readin () /* set_up_initial_allocations - allocate memory for internal tables */ -void set_up_initial_allocations () +void set_up_initial_allocations (void) { maximum_mns = (long_align ? MAXIMUM_MNS_LONG : MAXIMUM_MNS); current_mns = INITIAL_MNS; @@ -1762,31 +1774,11 @@ void set_up_initial_allocations () dss = allocate_int_ptr_array (current_max_dfas); dfaacc = allocate_dfaacc_union (current_max_dfas); - nultrans = (int *) 0; + nultrans = NULL; } -/* extracts basename from path, optionally stripping the extension "\.*" - * (same concept as /bin/sh `basename`, but different handling of extension). */ -static char *basename2 (path, strip_ext) - char *path; - int strip_ext; /* boolean */ -{ - char *b, *e = 0; - - b = path; - for (b = path; *path; path++) - if (*path == '/') - b = path + 1; - else if (*path == '.') - e = path; - - if (strip_ext && e && e > b) - *e = '\0'; - return b; -} - -void usage () +void usage (void) { FILE *f = stdout; @@ -1818,6 +1810,7 @@ void usage () " -T, --trace %s should run in trace mode\n" " -w, --nowarn do not generate warnings\n" " -v, --verbose write summary of scanner statistics to stdout\n" + " --hex use hexadecimal numbers instead of octal in debug outputs\n" "\n" "Files:\n" " -o, --outfile=FILE specify output filename\n" " -S, --skel=FILE specify skeleton file\n" @@ -1843,8 +1836,6 @@ void usage () " --bison-bridge scanner for bison pure parser.\n" " --bison-locations include yylloc support.\n" " --stdinit initialize yyin/yyout to stdin/stdout\n" - " --noansi-definitions old-style function definitions\n" - " --noansi-prototypes empty parameter list in prototypes\n" " --nounistd do not include \n" " --noFUNCTION do not generate a particular FUNCTION\n" "\n" "Miscellaneous:\n" diff --git a/misc.c b/src/misc.c similarity index 71% rename from misc.c rename to src/misc.c index e3fdd50cdd9b..ef27833c3ea7 100644 --- a/misc.c +++ b/src/misc.c @@ -30,7 +30,6 @@ /* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED */ /* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR */ /* PURPOSE. */ - #include "flexdef.h" #include "tables.h" @@ -60,14 +59,15 @@ static void sko_push(bool dc) { if(!sko_stack){ sko_sz = 1; - sko_stack = (struct sko_state*)flex_alloc(sizeof(struct sko_state)*sko_sz); + sko_stack = malloc(sizeof(struct sko_state) * (size_t) sko_sz); if (!sko_stack) flexfatal(_("allocation of sko_stack failed")); sko_len = 0; } if(sko_len >= sko_sz){ sko_sz *= 2; - sko_stack = (struct sko_state*)flex_realloc(sko_stack,sizeof(struct sko_state)*sko_sz); + sko_stack = realloc(sko_stack, + sizeof(struct sko_state) * (size_t) sko_sz); } /* initialize to zero and push */ @@ -90,9 +90,7 @@ static void sko_pop(bool* dc) } /* Append "#define defname value\n" to the running buffer. */ -void action_define (defname, value) - const char *defname; - int value; +void action_define (const char *defname, int value) { char buf[MAXLINE]; char *cpy; @@ -108,37 +106,14 @@ void action_define (defname, value) add_action (buf); /* track #defines so we can undef them when we're done. */ - cpy = copy_string (defname); + cpy = xstrdup(defname); buf_append (&defs_buf, &cpy, 1); } - -/** Append "m4_define([[defname]],[[value]])m4_dnl\n" to the running buffer. - * @param defname The macro name. - * @param value The macro value, can be NULL, which is the same as the empty string. - */ -void action_m4_define (const char *defname, const char * value) -{ - char buf[MAXLINE]; - - flexfatal ("DO NOT USE THIS FUNCTION!"); - - if ((int) strlen (defname) > MAXLINE / 2) { - format_pinpoint_message (_ - ("name \"%s\" ridiculously long"), - defname); - return; - } - - snprintf (buf, sizeof(buf), "m4_define([[%s]],[[%s]])m4_dnl\n", defname, value?value:""); - add_action (buf); -} - /* Append "new_text" to the running buffer. */ -void add_action (new_text) - const char *new_text; +void add_action (const char *new_text) { - int len = strlen (new_text); + int len = (int) strlen (new_text); while (len + action_index >= action_size - 10 /* slop */ ) { int new_size = action_size * 2; @@ -164,14 +139,17 @@ void add_action (new_text) /* allocate_array - allocate memory for an integer array of the given size */ -void *allocate_array (size, element_size) - int size; - size_t element_size; +void *allocate_array (int size, size_t element_size) { - register void *mem; - size_t num_bytes = element_size * size; - - mem = flex_alloc (num_bytes); + void *mem; +#if HAVE_REALLOCARRAY + /* reallocarray has built-in overflow detection */ + mem = reallocarray(NULL, (size_t) size, element_size); +#else + size_t num_bytes = (size_t) size * element_size; + mem = (size && SIZE_MAX / (size_t) size < element_size) ? NULL : + malloc(num_bytes); +#endif if (!mem) flexfatal (_ ("memory allocation failed in allocate_array()")); @@ -182,11 +160,10 @@ void *allocate_array (size, element_size) /* all_lower - true if a string is all lower-case */ -int all_lower (str) - register char *str; +int all_lower (char *str) { while (*str) { - if (!isascii ((Char) * str) || !islower ((Char) * str)) + if (!isascii ((unsigned char) * str) || !islower ((unsigned char) * str)) return 0; ++str; } @@ -197,11 +174,10 @@ int all_lower (str) /* all_upper - true if a string is all upper-case */ -int all_upper (str) - register char *str; +int all_upper (char *str) { while (*str) { - if (!isascii ((Char) * str) || !isupper ((Char) * str)) + if (!isascii ((unsigned char) * str) || !isupper ((unsigned char) * str)) return 0; ++str; } @@ -223,15 +199,14 @@ int intcmp (const void *a, const void *b) * and exits. */ -void check_char (c) - int c; +void check_char (int c) { if (c >= CSIZE) - lerrsf (_("bad character '%s' detected in check_char()"), + lerr (_("bad character '%s' detected in check_char()"), readable_form (c)); if (c >= csize) - lerrsf (_ + lerr (_ ("scanner requires -8 flag to use the character %s"), readable_form (c)); } @@ -240,57 +215,20 @@ void check_char (c) /* clower - replace upper-case letter to lower-case */ -Char clower (c) - register int c; +unsigned char clower (int c) { - return (Char) ((isascii (c) && isupper (c)) ? tolower (c) : c); + return (unsigned char) ((isascii (c) && isupper (c)) ? tolower (c) : c); } -/* copy_string - returns a dynamically allocated copy of a string */ - -char *copy_string (str) - register const char *str; +char *xstrdup(const char *s) { - register const char *c1; - register char *c2; - char *copy; - unsigned int size; + char *s2; - /* find length */ - for (c1 = str; *c1; ++c1) ; + if ((s2 = strdup(s)) == NULL) + flexfatal (_("memory allocation failure in xstrdup()")); - size = (c1 - str + 1) * sizeof (char); - - copy = (char *) flex_alloc (size); - - if (copy == NULL) - flexfatal (_("dynamic memory failure in copy_string()")); - - for (c2 = copy; (*c2++ = *str++) != 0;) ; - - return copy; -} - - -/* copy_unsigned_string - - * returns a dynamically allocated copy of a (potentially) unsigned string - */ - -Char *copy_unsigned_string (str) - register Char *str; -{ - register Char *c; - Char *copy; - - /* find length */ - for (c = str; *c; ++c) ; - - copy = allocate_Character_array (c - str + 1); - - for (c = copy; (*c++ = *str++) != 0;) ; - - return copy; + return s2; } @@ -298,19 +236,19 @@ Char *copy_unsigned_string (str) int cclcmp (const void *a, const void *b) { - if (!*(const Char *) a) + if (!*(const unsigned char *) a) return 1; else - if (!*(const Char *) b) + if (!*(const unsigned char *) b) return - 1; else - return *(const Char *) a - *(const Char *) b; + return *(const unsigned char *) a - *(const unsigned char *) b; } /* dataend - finish up a block of data declarations */ -void dataend () +void dataend (void) { /* short circuit any output */ if (gentables) { @@ -328,7 +266,7 @@ void dataend () /* dataflush - flush generated data statements */ -void dataflush () +void dataflush (void) { /* short circuit any output */ if (!gentables) @@ -351,8 +289,7 @@ void dataflush () /* flexerror - report an error message and terminate */ -void flexerror (msg) - const char *msg; +void flexerror (const char *msg) { fprintf (stderr, "%s: %s\n", program_name, msg); flexend (1); @@ -361,8 +298,7 @@ void flexerror (msg) /* flexfatal - report a fatal error message and terminate */ -void flexfatal (msg) - const char *msg; +void flexfatal (const char *msg) { fprintf (stderr, _("%s: fatal internal error, %s\n"), program_name, msg); @@ -370,67 +306,41 @@ void flexfatal (msg) } -/* htoi - convert a hexadecimal digit string to an integer value */ +/* lerr - report an error message */ -int htoi (str) - Char str[]; -{ - unsigned int result; - - (void) sscanf ((char *) str, "%x", &result); - - return result; -} - - -/* lerrif - report an error message formatted with one integer argument */ - -void lerrif (msg, arg) - const char *msg; - int arg; +void lerr (const char *msg, ...) { char errmsg[MAXLINE]; + va_list args; - snprintf (errmsg, sizeof(errmsg), msg, arg); + va_start(args, msg); + vsnprintf (errmsg, sizeof(errmsg), msg, args); + va_end(args); flexerror (errmsg); } -/* lerrsf - report an error message formatted with one string argument */ +/* lerr_fatal - as lerr, but call flexfatal */ -void lerrsf (msg, arg) - const char *msg, arg[]; +void lerr_fatal (const char *msg, ...) { char errmsg[MAXLINE]; + va_list args; + va_start(args, msg); - snprintf (errmsg, sizeof(errmsg)-1, msg, arg); - errmsg[sizeof(errmsg)-1] = 0; /* ensure NULL termination */ - flexerror (errmsg); -} - - -/* lerrsf_fatal - as lerrsf, but call flexfatal */ - -void lerrsf_fatal (msg, arg) - const char *msg, arg[]; -{ - char errmsg[MAXLINE]; - - snprintf (errmsg, sizeof(errmsg)-1, msg, arg); - errmsg[sizeof(errmsg)-1] = 0; /* ensure NULL termination */ + vsnprintf (errmsg, sizeof(errmsg), msg, args); + va_end(args); flexfatal (errmsg); } /* line_directive_out - spit out a "#line" statement */ -void line_directive_out (output_file, do_infile) - FILE *output_file; - int do_infile; +void line_directive_out (FILE *output_file, int do_infile) { char directive[MAXLINE], filename[MAXLINE]; char *s1, *s2, *s3; - static const char *line_fmt = "#line %d \"%s\"\n"; + static const char line_fmt[] = "#line %d \"%s\"\n"; if (!gen_line_dirs) return; @@ -444,8 +354,8 @@ void line_directive_out (output_file, do_infile) s3 = &filename[sizeof (filename) - 2]; while (s2 < s3 && *s1) { - if (*s1 == '\\') - /* Escape the '\' */ + if (*s1 == '\\' || *s1 == '"') + /* Escape the '\' or '"' */ *s2++ = '\\'; *s2++ = *s1++; @@ -474,7 +384,7 @@ void line_directive_out (output_file, do_infile) * representing where the user's section 1 definitions end * and the prolog begins */ -void mark_defs1 () +void mark_defs1 (void) { defs1_offset = 0; action_array[action_index++] = '\0'; @@ -486,7 +396,7 @@ void mark_defs1 () /* mark_prolog - mark the current position in the action array as * representing the end of the action prolog */ -void mark_prolog () +void mark_prolog (void) { action_array[action_index++] = '\0'; action_offset = action_index; @@ -498,8 +408,7 @@ void mark_prolog () * * Generates a data statement initializing the current 2-D array to "value". */ -void mk2data (value) - int value; +void mk2data (int value) { /* short circuit any output */ if (!gentables) @@ -528,8 +437,7 @@ void mk2data (value) * Generates a data statement initializing the current array element to * "value". */ -void mkdata (value) - int value; +void mkdata (int value) { /* short circuit any output */ if (!gentables) @@ -554,8 +462,7 @@ void mkdata (value) /* myctoi - return the integer represented by a string of digits */ -int myctoi (array) - const char *array; +int myctoi (const char *array) { int val = 0; @@ -567,10 +474,9 @@ int myctoi (array) /* myesc - return character corresponding to escape sequence */ -Char myesc (array) - Char array[]; +unsigned char myesc (unsigned char array[]) { - Char c, esc_char; + unsigned char c, esc_char; switch (array[1]) { case 'b': @@ -583,19 +489,10 @@ Char myesc (array) return '\r'; case 't': return '\t'; - -#if defined (__STDC__) case 'a': return '\a'; case 'v': return '\v'; -#else - case 'a': - return '\007'; - case 'v': - return '\013'; -#endif - case '0': case '1': case '2': @@ -607,18 +504,15 @@ Char myesc (array) { /* \ */ int sptr = 1; - while (isascii (array[sptr]) && - isdigit (array[sptr])) - /* Don't increment inside loop control - * because if isdigit() is a macro it might - * expand into multiple increments ... - */ + while (sptr <= 3 && + array[sptr] >= '0' && array[sptr] <= '7') { ++sptr; + } c = array[sptr]; array[sptr] = '\0'; - esc_char = otoi (array + 1); + esc_char = (unsigned char) strtoul (array + 1, NULL, 8); array[sptr] = c; @@ -629,18 +523,18 @@ Char myesc (array) { /* \x */ int sptr = 2; - while (isascii (array[sptr]) && - isxdigit (array[sptr])) + while (sptr <= 3 && isxdigit (array[sptr])) { /* Don't increment inside loop control - * because if isdigit() is a macro it might + * because if isxdigit() is a macro it might * expand into multiple increments ... */ ++sptr; + } c = array[sptr]; array[sptr] = '\0'; - esc_char = htoi (array + 2); + esc_char = (unsigned char) strtoul (array + 2, NULL, 16); array[sptr] = c; @@ -653,76 +547,51 @@ Char myesc (array) } -/* otoi - convert an octal digit string to an integer value */ - -int otoi (str) - Char str[]; -{ - unsigned int result; - - (void) sscanf ((char *) str, "%o", &result); - return result; -} - - /* out - various flavors of outputing a (possibly formatted) string for the * generated scanner, keeping track of the line count. */ -void out (str) - const char *str; +void out (const char *str) { fputs (str, stdout); } -void out_dec (fmt, n) - const char *fmt; - int n; +void out_dec (const char *fmt, int n) { fprintf (stdout, fmt, n); } -void out_dec2 (fmt, n1, n2) - const char *fmt; - int n1, n2; +void out_dec2 (const char *fmt, int n1, int n2) { fprintf (stdout, fmt, n1, n2); } -void out_hex (fmt, x) - const char *fmt; - unsigned int x; +void out_hex (const char *fmt, unsigned int x) { fprintf (stdout, fmt, x); } -void out_str (fmt, str) - const char *fmt, str[]; +void out_str (const char *fmt, const char str[]) { fprintf (stdout,fmt, str); } -void out_str3 (fmt, s1, s2, s3) - const char *fmt, s1[], s2[], s3[]; +void out_str3 (const char *fmt, const char s1[], const char s2[], const char s3[]) { fprintf (stdout,fmt, s1, s2, s3); } -void out_str_dec (fmt, str, n) - const char *fmt, str[]; - int n; +void out_str_dec (const char *fmt, const char str[], int n) { fprintf (stdout,fmt, str, n); } -void outc (c) - int c; +void outc (int c) { fputc (c, stdout); } -void outn (str) - const char *str; +void outn (const char *str) { fputs (str,stdout); fputc('\n',stdout); @@ -731,7 +600,6 @@ void outn (str) /** Print "m4_define( [[def]], [[val]])m4_dnl\n". * @param def The m4 symbol to define. * @param val The definition; may be NULL. - * @return buf */ void out_m4_define (const char* def, const char* val) { @@ -745,10 +613,9 @@ void out_m4_define (const char* def, const char* val) * The returned string is in static storage. */ -char *readable_form (c) - register int c; +char *readable_form (int c) { - static char rform[10]; + static char rform[20]; if ((c >= 0 && c < 32) || c >= 127) { switch (c) { @@ -762,16 +629,15 @@ char *readable_form (c) return "\\r"; case '\t': return "\\t"; - -#if defined (__STDC__) case '\a': return "\\a"; case '\v': return "\\v"; -#endif - default: - snprintf (rform, sizeof(rform), "\\%.3o", (unsigned int) c); + if(trace_hex) + snprintf (rform, sizeof(rform), "\\x%.2x", (unsigned int) c); + else + snprintf (rform, sizeof(rform), "\\%.3o", (unsigned int) c); return rform; } } @@ -780,7 +646,7 @@ char *readable_form (c) return "' '"; else { - rform[0] = c; + rform[0] = (char) c; rform[1] = '\0'; return rform; @@ -790,15 +656,17 @@ char *readable_form (c) /* reallocate_array - increase the size of a dynamic array */ -void *reallocate_array (array, size, element_size) - void *array; - int size; - size_t element_size; +void *reallocate_array (void *array, int size, size_t element_size) { - register void *new_array; - size_t num_bytes = element_size * size; - - new_array = flex_realloc (array, num_bytes); + void *new_array; +#if HAVE_REALLOCARRAY + /* reallocarray has built-in overflow detection */ + new_array = reallocarray(array, (size_t) size, element_size); +#else + size_t num_bytes = (size_t) size * element_size; + new_array = (size && SIZE_MAX / (size_t) size < element_size) ? NULL : + realloc(array, num_bytes); +#endif if (!new_array) flexfatal (_("attempt to increase array size failed")); @@ -812,7 +680,7 @@ void *reallocate_array (array, size, element_size) * Copies skelfile or skel array to stdout until a line beginning with * "%%" or EOF is found. */ -void skelout () +void skelout (void) { char buf_storage[MAXLINE]; char *buf = buf_storage; @@ -923,9 +791,6 @@ void skelout () /* %e end linkage-only code. */ OUT_END_CODE (); } - else if (buf[1] == '#') { - /* %# a comment in the skel. ignore. */ - } else { flexfatal (_("bad line in skeleton file")); } @@ -943,8 +808,7 @@ void skelout () * element_n. Formats the output with spaces and carriage returns. */ -void transition_struct_out (element_v, element_n) - int element_v, element_n; +void transition_struct_out (int element_v, int element_n) { /* short circuit any output */ @@ -968,12 +832,14 @@ void transition_struct_out (element_v, element_n) /* The following is only needed when building flex's parser using certain * broken versions of bison. + * + * XXX: this is should go soon */ -void *yy_flex_xmalloc (size) - int size; +void *yy_flex_xmalloc (int size) { - void *result = flex_alloc ((size_t) size); + void *result; + result = malloc((size_t) size); if (!result) flexfatal (_ ("memory allocation failed in yy_flex_xmalloc()")); @@ -982,29 +848,10 @@ void *yy_flex_xmalloc (size) } -/* zero_out - set a region of memory to 0 - * - * Sets region_ptr[0] through region_ptr[size_in_bytes - 1] to zero. - */ - -void zero_out (region_ptr, size_in_bytes) - char *region_ptr; - size_t size_in_bytes; -{ - register char *rp, *rp_end; - - rp = region_ptr; - rp_end = region_ptr + size_in_bytes; - - while (rp < rp_end) - *rp++ = 0; -} - /* Remove all '\n' and '\r' characters, if any, from the end of str. * str can be any null-terminated string, or NULL. * returns str. */ -char *chomp (str) - char *str; +char *chomp (char *str) { char *p = str; diff --git a/mkskel.sh b/src/mkskel.sh similarity index 64% rename from mkskel.sh rename to src/mkskel.sh index 02c397a81c96..1aa59e1a0e6b 100755 --- a/mkskel.sh +++ b/src/mkskel.sh @@ -21,17 +21,34 @@ # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE. -cat <&2 + exit 1 +fi +echo '/* File created from flex.skl via mkskel.sh */ #include "flexdef.h" -const char *skel[] = { -! +const char *skel[] = {' +srcdir=$1 +m4=$2 +VERSION=$3 +case $VERSION in + *[!0-9.]*) echo 'Invalid version number' >&2; exit 1;; +esac +IFS=. +set $VERSION +sed 's/4_/a4_/g +s/m4preproc_/m4_/g +' "$srcdir/flex.skl" | +"$m4" -P -I "$srcdir" "-DFLEX_MAJOR_VERSION=$1" \ + "-DFLEX_MINOR_VERSION=$2" \ + "-DFLEX_SUBMINOR_VERSION=$3" | +sed '/^%#/d +s/m4_/m4preproc_/g +s/a4_/4_/g +s/[\\"]/\\&/g +s/.*/ "&",/' -sed 's/\\/&&/g' | sed 's/"/\\"/g' | sed 's/.*/ "&",/' - -cat < 0) { + if (rule_has_nl[num_rules]) { + snprintf (action_text, sizeof(action_text), + "YY_LINENO_REWIND_TO(%s + %d);\n", scanner_bp, headcnt); + add_action (action_text); + } snprintf (action_text, sizeof(action_text), "%s = %s + %d;\n", scanner_cp, scanner_bp, headcnt); add_action (action_text); } else { + if (rule_has_nl[num_rules]) { + snprintf (action_text, sizeof(action_text), + "YY_LINENO_REWIND_TO(yy_cp - %d);\n", trailcnt); + add_action (action_text); + } + snprintf (action_text, sizeof(action_text), "%s -= %d;\n", scanner_cp, trailcnt); add_action (action_text); @@ -281,7 +286,8 @@ void finish_rule (mach, variable_trail_rule, headcnt, trailcnt, if (!continued_action) add_action ("YY_RULE_SETUP\n"); - line_directive_out ((FILE *) 0, 1); + line_directive_out(NULL, 1); + add_action("[["); } @@ -301,8 +307,7 @@ void finish_rule (mach, variable_trail_rule, headcnt, trailcnt, * FIRST is set to new by the operation. last is unmolested. */ -int link_machines (first, last) - int first, last; +int link_machines (int first, int last) { if (first == NIL) return last; @@ -328,8 +333,7 @@ int link_machines (first, last) * The "beginning" states are the epsilon closure of the first state */ -void mark_beginning_as_normal (mach) - register int mach; +void mark_beginning_as_normal (int mach) { switch (state_type[mach]) { case STATE_NORMAL: @@ -370,8 +374,7 @@ void mark_beginning_as_normal (mach) * more mkbranch's. Compare with mkor() */ -int mkbranch (first, second) - int first, second; +int mkbranch (int first, int second) { int eps; @@ -398,8 +401,7 @@ int mkbranch (first, second) * new - a new state which matches the closure of "state" */ -int mkclos (state) - int state; +int mkclos (int state) { return mkopt (mkposcl (state)); } @@ -419,8 +421,7 @@ int mkclos (state) * 2. mach is destroyed by the call */ -int mkopt (mach) - int mach; +int mkopt (int mach) { int eps; @@ -456,8 +457,7 @@ int mkopt (mach) * the number of epsilon states needed */ -int mkor (first, second) - int first, second; +int mkor (int first, int second) { int eps, orend; @@ -512,8 +512,7 @@ int mkor (first, second) * new - a machine matching the positive closure of "state" */ -int mkposcl (state) - int state; +int mkposcl (int state) { int eps; @@ -542,8 +541,7 @@ int mkposcl (state) * if "ub" is INFINITE_REPEAT then "new" matches "lb" or more occurrences of "mach" */ -int mkrep (mach, lb, ub) - int mach, lb, ub; +int mkrep (int mach, int lb, int ub) { int base_mach, tail, copy, i; @@ -589,12 +587,11 @@ int mkrep (mach, lb, ub) * that it admittedly is) */ -int mkstate (sym) - int sym; +int mkstate (int sym) { if (++lastnfa >= current_mns) { if ((current_mns += MNS_INCREMENT) >= maximum_mns) - lerrif (_ + lerr(_ ("input rules are too complicated (>= %d NFA states)"), current_mns); @@ -666,8 +663,7 @@ current_mns); * stateto - the state to which the transition is to be made */ -void mkxtion (statefrom, stateto) - int statefrom, stateto; +void mkxtion (int statefrom, int stateto) { if (trans1[statefrom] == NO_TRANSITION) trans1[statefrom] = stateto; @@ -684,7 +680,7 @@ void mkxtion (statefrom, stateto) /* new_rule - initialize for a new rule */ -void new_rule () +void new_rule (void) { if (++num_rules >= current_max_rules) { ++num_reallocs; @@ -700,7 +696,7 @@ void new_rule () } if (num_rules > MAX_RULE) - lerrif (_("too many rules (> %d)!"), MAX_RULE); + lerr (_("too many rules (> %d)!"), MAX_RULE); rule_linenum[num_rules] = linenum; rule_useful[num_rules] = false; diff --git a/options.c b/src/options.c similarity index 98% rename from options.c rename to src/options.c index c6731738a19b..366bc2e566c6 100644 --- a/options.c +++ b/src/options.c @@ -117,6 +117,8 @@ optspec_t flexopts[] = { , {"--help", OPT_HELP, 0} , /* Produce this help message. */ + {"--hex", OPT_HEX, 0} + , /* Use hexadecimals in debug/trace outputs */ {"-I", OPT_INTERACTIVE, 0} , {"--interactive", OPT_INTERACTIVE, 0} @@ -211,10 +213,6 @@ optspec_t flexopts[] = { , {"--nowarn", OPT_NO_WARN, 0} , /* Suppress warning messages. */ - {"--noansi-definitions", OPT_NO_ANSI_FUNC_DEFS, 0} - , - {"--noansi-prototypes", OPT_NO_ANSI_FUNC_PROTOS, 0} - , {"--yyclass=NAME", OPT_YYCLASS, 0} , {"--yylineno", OPT_YYLINENO, 0} @@ -273,7 +271,8 @@ optspec_t flexopts[] = { , {"--noyyset_lloc", OPT_NO_YYSET_LLOC, 0} , - + {"--unsafe-no-m4-sect3-escape", OPT_NO_SECT3_ESCAPE, 0} + , {0, 0, 0} /* required final NULL entry. */ }; diff --git a/options.h b/src/options.h similarity index 97% rename from options.h rename to src/options.h index 1f3925b9e94d..5b51c23816a1 100644 --- a/options.h +++ b/src/options.h @@ -60,6 +60,7 @@ enum flexopt_flag_t { OPT_FULL, OPT_HEADER_FILE, OPT_HELP, + OPT_HEX, OPT_INTERACTIVE, OPT_LEX_COMPAT, OPT_POSIX_COMPAT, @@ -67,8 +68,6 @@ enum flexopt_flag_t { OPT_META_ECS, OPT_NEVER_INTERACTIVE, OPT_NO_ALIGN, - OPT_NO_ANSI_FUNC_DEFS, - OPT_NO_ANSI_FUNC_PROTOS, OPT_NO_DEBUG, OPT_NO_DEFAULT, OPT_NO_ECS, @@ -126,7 +125,8 @@ enum flexopt_flag_t { OPT_YYCLASS, OPT_YYLINENO, OPT_YYMORE, - OPT_YYWRAP + OPT_YYWRAP, + OPT_NO_SECT3_ESCAPE, }; #endif diff --git a/parse.c b/src/parse.c similarity index 59% rename from parse.c rename to src/parse.c index a884a9a40880..32458e4b1b72 100644 --- a/parse.c +++ b/src/parse.c @@ -1,21 +1,19 @@ +/* A Bison parser, made by GNU Bison 3.0.4. */ -/* A Bison parser, made by GNU Bison 2.4.1. */ +/* Bison implementation for Yacc-like parsers in C + + Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc. -/* Skeleton implementation for Bison's Yacc-like parsers in C - - Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 - Free Software Foundation, Inc. - This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. - + This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - + You should have received a copy of the GNU General Public License along with this program. If not, see . */ @@ -28,7 +26,7 @@ special exception, which will cause the skeleton and the resulting Bison output files to be licensed under the GNU General Public License without this special exception. - + This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ @@ -46,7 +44,7 @@ #define YYBISON 1 /* Bison version. */ -#define YYBISON_VERSION "2.4.1" +#define YYBISON_VERSION "3.0.4" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" @@ -60,15 +58,11 @@ /* Pull parsers. */ #define YYPULL 1 -/* Using locations. */ -#define YYLSP_NEEDED 0 /* Copy the first part of user declarations. */ - -/* Line 189 of yacc.c */ -#line 34 "parse.y" +#line 34 "parse.y" /* yacc.c:339 */ /* Copyright (c) 1990 The Regents of the University of California. */ /* All rights reserved. */ @@ -118,7 +112,7 @@ int previous_continued_action; /* whether the previous rule's action was '|' */ do{ \ char fw3_msg[MAXLINE];\ snprintf( fw3_msg, MAXLINE,(fmt), (a1), (a2) );\ - warn( fw3_msg );\ + lwarn( fw3_msg );\ }while(0) /* Expand a POSIX character class expression. */ @@ -151,14 +145,15 @@ int previous_continued_action; /* whether the previous rule's action was '|' */ #define YYSTYPE int +#line 149 "parse.c" /* yacc.c:339 */ -/* Line 189 of yacc.c */ -#line 157 "parse.c" - -/* Enabling traces. */ -#ifndef YYDEBUG -# define YYDEBUG 0 -#endif +# ifndef YY_NULLPTR +# if defined __cplusplus && 201103L <= __cplusplus +# define YY_NULLPTR nullptr +# else +# define YY_NULLPTR 0 +# endif +# endif /* Enabling verbose error messages. */ #ifdef YYERROR_VERBOSE @@ -168,64 +163,69 @@ int previous_continued_action; /* whether the previous rule's action was '|' */ # define YYERROR_VERBOSE 0 #endif -/* Enabling the token table. */ -#ifndef YYTOKEN_TABLE -# define YYTOKEN_TABLE 0 +/* In a future release of Bison, this section will be replaced + by #include "y.tab.h". */ +#ifndef YY_YY_PARSE_H_INCLUDED +# define YY_YY_PARSE_H_INCLUDED +/* Debug traces. */ +#ifndef YYDEBUG +# define YYDEBUG 0 +#endif +#if YYDEBUG +extern int yydebug; #endif - -/* Tokens. */ +/* Token type. */ #ifndef YYTOKENTYPE # define YYTOKENTYPE - /* Put the tokens into the symbol table, so that GDB and other debuggers - know about them. */ - enum yytokentype { - CHAR = 258, - NUMBER = 259, - SECTEND = 260, - SCDECL = 261, - XSCDECL = 262, - NAME = 263, - PREVCCL = 264, - EOF_OP = 265, - OPTION_OP = 266, - OPT_OUTFILE = 267, - OPT_PREFIX = 268, - OPT_YYCLASS = 269, - OPT_HEADER = 270, - OPT_EXTRA_TYPE = 271, - OPT_TABLES = 272, - CCE_ALNUM = 273, - CCE_ALPHA = 274, - CCE_BLANK = 275, - CCE_CNTRL = 276, - CCE_DIGIT = 277, - CCE_GRAPH = 278, - CCE_LOWER = 279, - CCE_PRINT = 280, - CCE_PUNCT = 281, - CCE_SPACE = 282, - CCE_UPPER = 283, - CCE_XDIGIT = 284, - CCE_NEG_ALNUM = 285, - CCE_NEG_ALPHA = 286, - CCE_NEG_BLANK = 287, - CCE_NEG_CNTRL = 288, - CCE_NEG_DIGIT = 289, - CCE_NEG_GRAPH = 290, - CCE_NEG_LOWER = 291, - CCE_NEG_PRINT = 292, - CCE_NEG_PUNCT = 293, - CCE_NEG_SPACE = 294, - CCE_NEG_UPPER = 295, - CCE_NEG_XDIGIT = 296, - CCL_OP_UNION = 297, - CCL_OP_DIFF = 298, - BEGIN_REPEAT_POSIX = 299, - END_REPEAT_POSIX = 300, - BEGIN_REPEAT_FLEX = 301, - END_REPEAT_FLEX = 302 - }; + enum yytokentype + { + CHAR = 258, + NUMBER = 259, + SECTEND = 260, + SCDECL = 261, + XSCDECL = 262, + NAME = 263, + PREVCCL = 264, + EOF_OP = 265, + TOK_OPTION = 266, + TOK_OUTFILE = 267, + TOK_PREFIX = 268, + TOK_YYCLASS = 269, + TOK_HEADER_FILE = 270, + TOK_EXTRA_TYPE = 271, + TOK_TABLES_FILE = 272, + CCE_ALNUM = 273, + CCE_ALPHA = 274, + CCE_BLANK = 275, + CCE_CNTRL = 276, + CCE_DIGIT = 277, + CCE_GRAPH = 278, + CCE_LOWER = 279, + CCE_PRINT = 280, + CCE_PUNCT = 281, + CCE_SPACE = 282, + CCE_UPPER = 283, + CCE_XDIGIT = 284, + CCE_NEG_ALNUM = 285, + CCE_NEG_ALPHA = 286, + CCE_NEG_BLANK = 287, + CCE_NEG_CNTRL = 288, + CCE_NEG_DIGIT = 289, + CCE_NEG_GRAPH = 290, + CCE_NEG_LOWER = 291, + CCE_NEG_PRINT = 292, + CCE_NEG_PUNCT = 293, + CCE_NEG_SPACE = 294, + CCE_NEG_UPPER = 295, + CCE_NEG_XDIGIT = 296, + CCL_OP_DIFF = 297, + CCL_OP_UNION = 298, + BEGIN_REPEAT_POSIX = 299, + END_REPEAT_POSIX = 300, + BEGIN_REPEAT_FLEX = 301, + END_REPEAT_FLEX = 302 + }; #endif /* Tokens. */ #define CHAR 258 @@ -236,13 +236,13 @@ int previous_continued_action; /* whether the previous rule's action was '|' */ #define NAME 263 #define PREVCCL 264 #define EOF_OP 265 -#define OPTION_OP 266 -#define OPT_OUTFILE 267 -#define OPT_PREFIX 268 -#define OPT_YYCLASS 269 -#define OPT_HEADER 270 -#define OPT_EXTRA_TYPE 271 -#define OPT_TABLES 272 +#define TOK_OPTION 266 +#define TOK_OUTFILE 267 +#define TOK_PREFIX 268 +#define TOK_YYCLASS 269 +#define TOK_HEADER_FILE 270 +#define TOK_EXTRA_TYPE 271 +#define TOK_TABLES_FILE 272 #define CCE_ALNUM 273 #define CCE_ALPHA 274 #define CCE_BLANK 275 @@ -267,29 +267,30 @@ int previous_continued_action; /* whether the previous rule's action was '|' */ #define CCE_NEG_SPACE 294 #define CCE_NEG_UPPER 295 #define CCE_NEG_XDIGIT 296 -#define CCL_OP_UNION 297 -#define CCL_OP_DIFF 298 +#define CCL_OP_DIFF 297 +#define CCL_OP_UNION 298 #define BEGIN_REPEAT_POSIX 299 #define END_REPEAT_POSIX 300 #define BEGIN_REPEAT_FLEX 301 #define END_REPEAT_FLEX 302 - - - +/* Value type. */ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef int YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 -# define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 #endif +extern YYSTYPE yylval; + +int yyparse (void); + +#endif /* !YY_YY_PARSE_H_INCLUDED */ + /* Copy the second part of user declarations. */ - -/* Line 264 of yacc.c */ -#line 293 "parse.c" +#line 294 "parse.c" /* yacc.c:358 */ #ifdef short # undef short @@ -303,11 +304,8 @@ typedef unsigned char yytype_uint8; #ifdef YYTYPE_INT8 typedef YYTYPE_INT8 yytype_int8; -#elif (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -typedef signed char yytype_int8; #else -typedef short int yytype_int8; +typedef signed char yytype_int8; #endif #ifdef YYTYPE_UINT16 @@ -327,8 +325,7 @@ typedef short int yytype_int16; # define YYSIZE_T __SIZE_TYPE__ # elif defined size_t # define YYSIZE_T size_t -# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) +# elif ! defined YYSIZE_T # include /* INFRINGES ON USER NAME SPACE */ # define YYSIZE_T size_t # else @@ -339,41 +336,70 @@ typedef short int yytype_int16; #define YYSIZE_MAXIMUM ((YYSIZE_T) -1) #ifndef YY_ -# if YYENABLE_NLS +# if defined YYENABLE_NLS && YYENABLE_NLS # if ENABLE_NLS # include /* INFRINGES ON USER NAME SPACE */ -# define YY_(msgid) dgettext ("bison-runtime", msgid) +# define YY_(Msgid) dgettext ("bison-runtime", Msgid) # endif # endif # ifndef YY_ -# define YY_(msgid) msgid +# define YY_(Msgid) Msgid +# endif +#endif + +#ifndef YY_ATTRIBUTE +# if (defined __GNUC__ \ + && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \ + || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C +# define YY_ATTRIBUTE(Spec) __attribute__(Spec) +# else +# define YY_ATTRIBUTE(Spec) /* empty */ +# endif +#endif + +#ifndef YY_ATTRIBUTE_PURE +# define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__)) +#endif + +#ifndef YY_ATTRIBUTE_UNUSED +# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__)) +#endif + +#if !defined _Noreturn \ + && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112) +# if defined _MSC_VER && 1200 <= _MSC_VER +# define _Noreturn __declspec (noreturn) +# else +# define _Noreturn YY_ATTRIBUTE ((__noreturn__)) # endif #endif /* Suppress unused-variable warnings by "using" E. */ #if ! defined lint || defined __GNUC__ -# define YYUSE(e) ((void) (e)) +# define YYUSE(E) ((void) (E)) #else -# define YYUSE(e) /* empty */ +# define YYUSE(E) /* empty */ #endif -/* Identity function, used to suppress warnings about constant conditions. */ -#ifndef lint -# define YYID(n) (n) +#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ +/* Suppress an incorrect diagnostic about yylval being uninitialized. */ +# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ + _Pragma ("GCC diagnostic push") \ + _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\ + _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") +# define YY_IGNORE_MAYBE_UNINITIALIZED_END \ + _Pragma ("GCC diagnostic pop") #else -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -static int -YYID (int yyi) -#else -static int -YYID (yyi) - int yyi; +# define YY_INITIAL_VALUE(Value) Value #endif -{ - return yyi; -} +#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN +# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN +# define YY_IGNORE_MAYBE_UNINITIALIZED_END #endif +#ifndef YY_INITIAL_VALUE +# define YY_INITIAL_VALUE(Value) /* Nothing. */ +#endif + #if ! defined yyoverflow || YYERROR_VERBOSE @@ -392,11 +418,11 @@ YYID (yyi) # define alloca _alloca # else # define YYSTACK_ALLOC alloca -# if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) +# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS # include /* INFRINGES ON USER NAME SPACE */ -# ifndef _STDLIB_H -# define _STDLIB_H 1 + /* Use EXIT_SUCCESS as a witness for stdlib.h. */ +# ifndef EXIT_SUCCESS +# define EXIT_SUCCESS 0 # endif # endif # endif @@ -404,8 +430,8 @@ YYID (yyi) # endif # ifdef YYSTACK_ALLOC - /* Pacify GCC's `empty if-body' warning. */ -# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0)) + /* Pacify GCC's 'empty if-body' warning. */ +# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) # ifndef YYSTACK_ALLOC_MAXIMUM /* The OS might guarantee only one guard page at the bottom of the stack, and a page size can be as small as 4096 bytes. So we cannot safely @@ -419,25 +445,23 @@ YYID (yyi) # ifndef YYSTACK_ALLOC_MAXIMUM # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM # endif -# if (defined __cplusplus && ! defined _STDLIB_H \ +# if (defined __cplusplus && ! defined EXIT_SUCCESS \ && ! ((defined YYMALLOC || defined malloc) \ - && (defined YYFREE || defined free))) + && (defined YYFREE || defined free))) # include /* INFRINGES ON USER NAME SPACE */ -# ifndef _STDLIB_H -# define _STDLIB_H 1 +# ifndef EXIT_SUCCESS +# define EXIT_SUCCESS 0 # endif # endif # ifndef YYMALLOC # define YYMALLOC malloc -# if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) +# if ! defined malloc && ! defined EXIT_SUCCESS void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ # endif # endif # ifndef YYFREE # define YYFREE free -# if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) +# if ! defined free && ! defined EXIT_SUCCESS void free (void *); /* INFRINGES ON USER NAME SPACE */ # endif # endif @@ -447,7 +471,7 @@ void free (void *); /* INFRINGES ON USER NAME SPACE */ #if (! defined yyoverflow \ && (! defined __cplusplus \ - || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) + || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) /* A type that is properly aligned for any stack member. */ union yyalloc @@ -465,42 +489,46 @@ union yyalloc ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ + YYSTACK_GAP_MAXIMUM) -/* Copy COUNT objects from FROM to TO. The source and destination do - not overlap. */ -# ifndef YYCOPY -# if defined __GNUC__ && 1 < __GNUC__ -# define YYCOPY(To, From, Count) \ - __builtin_memcpy (To, From, (Count) * sizeof (*(From))) -# else -# define YYCOPY(To, From, Count) \ - do \ - { \ - YYSIZE_T yyi; \ - for (yyi = 0; yyi < (Count); yyi++) \ - (To)[yyi] = (From)[yyi]; \ - } \ - while (YYID (0)) -# endif -# endif +# define YYCOPY_NEEDED 1 /* Relocate STACK from its old location to the new one. The local variables YYSIZE and YYSTACKSIZE give the old and new number of elements in the stack, and YYPTR gives the new location of the stack. Advance YYPTR to a properly aligned location for the next stack. */ -# define YYSTACK_RELOCATE(Stack_alloc, Stack) \ - do \ - { \ - YYSIZE_T yynewbytes; \ - YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ - Stack = &yyptr->Stack_alloc; \ - yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ - yyptr += yynewbytes / sizeof (*yyptr); \ - } \ - while (YYID (0)) +# define YYSTACK_RELOCATE(Stack_alloc, Stack) \ + do \ + { \ + YYSIZE_T yynewbytes; \ + YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ + Stack = &yyptr->Stack_alloc; \ + yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ + yyptr += yynewbytes / sizeof (*yyptr); \ + } \ + while (0) #endif +#if defined YYCOPY_NEEDED && YYCOPY_NEEDED +/* Copy COUNT objects from SRC to DST. The source and destination do + not overlap. */ +# ifndef YYCOPY +# if defined __GNUC__ && 1 < __GNUC__ +# define YYCOPY(Dst, Src, Count) \ + __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src))) +# else +# define YYCOPY(Dst, Src, Count) \ + do \ + { \ + YYSIZE_T yyi; \ + for (yyi = 0; yyi < (Count); yyi++) \ + (Dst)[yyi] = (Src)[yyi]; \ + } \ + while (0) +# endif +# endif +#endif /* !YYCOPY_NEEDED */ + /* YYFINAL -- State number of the termination state. */ #define YYFINAL 3 /* YYLAST -- Last index in YYTABLE. */ @@ -512,17 +540,19 @@ union yyalloc #define YYNNTS 27 /* YYNRULES -- Number of rules. */ #define YYNRULES 97 -/* YYNRULES -- Number of states. */ +/* YYNSTATES -- Number of states. */ #define YYNSTATES 140 -/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ +/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned + by yylex, with out-of-bounds checking. */ #define YYUNDEFTOK 2 #define YYMAXUTOK 302 -#define YYTRANSLATE(YYX) \ +#define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) -/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ +/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM + as returned by yylex, without out-of-bounds checking. */ static const yytype_uint8 yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -559,85 +589,36 @@ static const yytype_uint8 yytranslate[] = }; #if YYDEBUG -/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in - YYRHS. */ -static const yytype_uint16 yyprhs[] = -{ - 0, 0, 3, 9, 10, 14, 17, 18, 20, 22, - 24, 26, 29, 31, 33, 36, 39, 40, 44, 48, - 52, 56, 60, 64, 70, 76, 77, 78, 81, 83, - 85, 87, 88, 93, 97, 98, 102, 104, 106, 108, - 111, 115, 118, 120, 124, 126, 129, 132, 134, 141, - 147, 152, 155, 158, 161, 168, 174, 179, 181, 183, - 185, 189, 193, 195, 199, 203, 205, 209, 214, 219, - 222, 225, 226, 228, 230, 232, 234, 236, 238, 240, - 242, 244, 246, 248, 250, 252, 254, 256, 258, 260, - 262, 264, 266, 268, 270, 272, 274, 277 -}; - -/* YYRHS -- A `-1'-separated list of the rules' RHS. */ -static const yytype_int8 yyrhs[] = -{ - 70, 0, -1, 71, 72, 73, 79, 80, -1, -1, - 72, 74, 75, -1, 72, 76, -1, -1, 1, -1, - 5, -1, 6, -1, 7, -1, 75, 8, -1, 8, - -1, 1, -1, 11, 77, -1, 77, 78, -1, -1, - 12, 48, 8, -1, 16, 48, 8, -1, 13, 48, - 8, -1, 14, 48, 8, -1, 15, 48, 8, -1, - 17, 48, 8, -1, 79, 83, 80, 81, 49, -1, - 79, 83, 50, 79, 51, -1, -1, -1, 52, 86, - -1, 86, -1, 10, -1, 1, -1, -1, 53, 82, - 84, 54, -1, 53, 55, 54, -1, -1, 84, 56, - 85, -1, 85, -1, 1, -1, 8, -1, 88, 87, - -1, 88, 87, 57, -1, 87, 57, -1, 87, -1, - 87, 58, 89, -1, 89, -1, 87, 59, -1, 89, - 90, -1, 90, -1, 89, 44, 4, 56, 4, 45, - -1, 89, 44, 4, 56, 45, -1, 89, 44, 4, - 45, -1, 90, 55, -1, 90, 60, -1, 90, 61, - -1, 90, 46, 4, 56, 4, 47, -1, 90, 46, - 4, 56, 47, -1, 90, 46, 4, 47, -1, 62, - -1, 91, -1, 9, -1, 63, 95, 63, -1, 64, - 87, 65, -1, 3, -1, 91, 43, 92, -1, 91, - 42, 92, -1, 92, -1, 66, 93, 67, -1, 66, - 52, 93, 67, -1, 93, 3, 68, 3, -1, 93, - 3, -1, 93, 94, -1, -1, 18, -1, 19, -1, - 20, -1, 21, -1, 22, -1, 23, -1, 24, -1, - 25, -1, 26, -1, 27, -1, 29, -1, 28, -1, - 30, -1, 31, -1, 32, -1, 33, -1, 34, -1, - 35, -1, 37, -1, 38, -1, 39, -1, 41, -1, - 36, -1, 40, -1, 95, 3, -1, -1 -}; - -/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ + /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { 0, 118, 118, 148, 155, 156, 157, 158, 162, 170, 173, 177, 180, 183, 187, 190, 191, 194, 199, 201, - 203, 205, 207, 211, 213, 215, 219, 231, 267, 291, - 314, 319, 322, 325, 343, 346, 348, 350, 354, 377, - 433, 436, 479, 497, 503, 508, 535, 543, 546, 574, - 588, 610, 617, 623, 629, 657, 671, 690, 724, 742, - 752, 755, 758, 773, 774, 775, 780, 782, 789, 849, - 867, 875, 883, 884, 885, 886, 887, 888, 889, 894, - 895, 896, 897, 898, 904, 905, 906, 907, 908, 909, - 910, 911, 912, 913, 914, 920, 928, 944 + 205, 207, 209, 213, 215, 217, 221, 233, 269, 293, + 316, 321, 324, 327, 345, 348, 350, 352, 356, 379, + 435, 438, 481, 499, 505, 510, 537, 545, 548, 576, + 590, 612, 619, 625, 631, 659, 673, 692, 726, 744, + 754, 757, 760, 775, 776, 777, 782, 784, 791, 851, + 869, 877, 885, 886, 887, 888, 889, 890, 891, 896, + 897, 898, 899, 900, 906, 907, 908, 909, 910, 911, + 912, 913, 914, 915, 916, 922, 930, 946 }; #endif -#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE +#if YYDEBUG || YYERROR_VERBOSE || 0 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. First, the terminals, then, starting at YYNTOKENS, nonterminals. */ static const char *const yytname[] = { "$end", "error", "$undefined", "CHAR", "NUMBER", "SECTEND", "SCDECL", - "XSCDECL", "NAME", "PREVCCL", "EOF_OP", "OPTION_OP", "OPT_OUTFILE", - "OPT_PREFIX", "OPT_YYCLASS", "OPT_HEADER", "OPT_EXTRA_TYPE", - "OPT_TABLES", "CCE_ALNUM", "CCE_ALPHA", "CCE_BLANK", "CCE_CNTRL", + "XSCDECL", "NAME", "PREVCCL", "EOF_OP", "TOK_OPTION", "TOK_OUTFILE", + "TOK_PREFIX", "TOK_YYCLASS", "TOK_HEADER_FILE", "TOK_EXTRA_TYPE", + "TOK_TABLES_FILE", "CCE_ALNUM", "CCE_ALPHA", "CCE_BLANK", "CCE_CNTRL", "CCE_DIGIT", "CCE_GRAPH", "CCE_LOWER", "CCE_PRINT", "CCE_PUNCT", "CCE_SPACE", "CCE_UPPER", "CCE_XDIGIT", "CCE_NEG_ALNUM", "CCE_NEG_ALPHA", "CCE_NEG_BLANK", "CCE_NEG_CNTRL", "CCE_NEG_DIGIT", "CCE_NEG_GRAPH", "CCE_NEG_LOWER", "CCE_NEG_PRINT", "CCE_NEG_PUNCT", "CCE_NEG_SPACE", - "CCE_NEG_UPPER", "CCE_NEG_XDIGIT", "CCL_OP_UNION", "CCL_OP_DIFF", + "CCE_NEG_UPPER", "CCE_NEG_XDIGIT", "CCL_OP_DIFF", "CCL_OP_UNION", "BEGIN_REPEAT_POSIX", "END_REPEAT_POSIX", "BEGIN_REPEAT_FLEX", "END_REPEAT_FLEX", "'='", "'\\n'", "'{'", "'}'", "'^'", "'<'", "'>'", "'*'", "','", "'$'", "'|'", "'/'", "'+'", "'?'", "'.'", "'\"'", "'('", @@ -645,13 +626,13 @@ static const char *const yytname[] = "sect1end", "startconddecl", "namelist1", "options", "optionlist", "option", "sect2", "initforrule", "flexrule", "scon_stk_ptr", "scon", "namelist2", "sconname", "rule", "re", "re2", "series", "singleton", - "fullccl", "braceccl", "ccl", "ccl_expr", "string", 0 + "fullccl", "braceccl", "ccl", "ccl_expr", "string", YY_NULLPTR }; #endif # ifdef YYPRINT -/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to - token YYLEX-NUM. */ +/* YYTOKNUM[NUM] -- (External) token number corresponding to the + (internal) symbol number NUM (which must be that of a token). */ static const yytype_uint16 yytoknum[] = { 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, @@ -664,68 +645,18 @@ static const yytype_uint16 yytoknum[] = }; # endif -/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ -static const yytype_uint8 yyr1[] = -{ - 0, 69, 70, 71, 72, 72, 72, 72, 73, 74, - 74, 75, 75, 75, 76, 77, 77, 78, 78, 78, - 78, 78, 78, 79, 79, 79, 80, 81, 81, 81, - 81, 82, 83, 83, 83, 84, 84, 84, 85, 86, - 86, 86, 86, 87, 87, 88, 89, 89, 89, 89, - 89, 90, 90, 90, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 91, 91, 91, 92, 92, 93, 93, - 93, 93, 94, 94, 94, 94, 94, 94, 94, 94, - 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, - 94, 94, 94, 94, 94, 94, 95, 95 -}; - -/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ -static const yytype_uint8 yyr2[] = -{ - 0, 2, 5, 0, 3, 2, 0, 1, 1, 1, - 1, 2, 1, 1, 2, 2, 0, 3, 3, 3, - 3, 3, 3, 5, 5, 0, 0, 2, 1, 1, - 1, 0, 4, 3, 0, 3, 1, 1, 1, 2, - 3, 2, 1, 3, 1, 2, 2, 1, 6, 5, - 4, 2, 2, 2, 6, 5, 4, 1, 1, 1, - 3, 3, 1, 3, 3, 1, 3, 4, 4, 2, - 2, 0, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 2, 0 -}; - -/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state - STATE-NUM when YYTABLE doesn't specify something else to do. Zero - means the default is an error. */ -static const yytype_uint8 yydefact[] = -{ - 3, 0, 0, 1, 7, 0, 8, 9, 10, 16, - 25, 0, 5, 14, 34, 13, 12, 4, 0, 0, - 0, 0, 0, 0, 15, 31, 2, 26, 11, 0, - 0, 0, 0, 0, 0, 0, 0, 25, 0, 17, - 19, 20, 21, 18, 22, 33, 37, 38, 0, 36, - 34, 30, 62, 59, 29, 0, 57, 97, 0, 71, - 0, 28, 42, 0, 44, 47, 58, 65, 32, 0, - 24, 27, 0, 0, 71, 0, 23, 41, 0, 45, - 39, 0, 46, 0, 51, 52, 53, 0, 0, 35, - 96, 60, 61, 0, 69, 72, 73, 74, 75, 76, - 77, 78, 79, 80, 81, 83, 82, 84, 85, 86, - 87, 88, 89, 94, 90, 91, 92, 95, 93, 66, - 70, 43, 40, 0, 0, 64, 63, 67, 0, 50, - 0, 56, 0, 68, 0, 49, 0, 55, 48, 54 -}; - -/* YYDEFGOTO[NTERM-NUM]. */ -static const yytype_int8 yydefgoto[] = -{ - -1, 1, 2, 5, 10, 11, 17, 12, 13, 24, - 14, 26, 60, 36, 27, 48, 49, 61, 62, 63, - 64, 65, 66, 67, 75, 120, 72 -}; - -/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing - STATE-NUM. */ #define YYPACT_NINF -52 + +#define yypact_value_is_default(Yystate) \ + (!!((Yystate) == (-52))) + +#define YYTABLE_NINF -27 + +#define yytable_value_is_error(Yytable_value) \ + 0 + + /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing + STATE-NUM. */ static const yytype_int16 yypact[] = { -52, 17, 103, -52, -52, 113, -52, -52, -52, -52, @@ -744,7 +675,28 @@ static const yytype_int16 yypact[] = 9, -52, -3, -52, 108, -52, 107, -52, -52, -52 }; -/* YYPGOTO[NTERM-NUM]. */ + /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. + Performed when YYTABLE does not specify something else to do. Zero + means the default is an error. */ +static const yytype_uint8 yydefact[] = +{ + 3, 0, 0, 1, 7, 0, 8, 9, 10, 16, + 25, 0, 5, 14, 34, 13, 12, 4, 0, 0, + 0, 0, 0, 0, 15, 31, 2, 26, 11, 0, + 0, 0, 0, 0, 0, 0, 0, 25, 0, 17, + 19, 20, 21, 18, 22, 33, 37, 38, 0, 36, + 34, 30, 62, 59, 29, 0, 57, 97, 0, 71, + 0, 28, 42, 0, 44, 47, 58, 65, 32, 0, + 24, 27, 0, 0, 71, 0, 23, 41, 0, 45, + 39, 0, 46, 0, 51, 52, 53, 0, 0, 35, + 96, 60, 61, 0, 69, 72, 73, 74, 75, 76, + 77, 78, 79, 80, 81, 83, 82, 84, 85, 86, + 87, 88, 89, 94, 90, 91, 92, 95, 93, 66, + 70, 43, 40, 0, 0, 63, 64, 67, 0, 50, + 0, 56, 0, 68, 0, 49, 0, 55, 48, 54 +}; + + /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { -52, -52, -52, -52, -52, -52, -52, -52, -52, -52, @@ -752,11 +704,17 @@ static const yytype_int16 yypgoto[] = 80, -21, -52, 47, 85, -52, -52 }; -/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If - positive, shift that token. If negative, reduce the rule which - number is the opposite. If zero, do what YYDEFACT says. - If YYTABLE_NINF, syntax error. */ -#define YYTABLE_NINF -27 + /* YYDEFGOTO[NTERM-NUM]. */ +static const yytype_int8 yydefgoto[] = +{ + -1, 1, 2, 5, 10, 11, 17, 12, 13, 24, + 14, 26, 60, 36, 27, 48, 49, 61, 62, 63, + 64, 65, 66, 67, 75, 120, 72 +}; + + /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If + positive, shift that token. If negative, reduce the rule whose + number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { 51, 136, 52, 94, 90, 129, -26, 78, 53, 54, @@ -799,8 +757,8 @@ static const yytype_int8 yycheck[] = -1, 69 }; -/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing - symbol of state STATE-NUM. */ + /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing + symbol of state STATE-NUM. */ static const yytype_uint8 yystos[] = { 0, 70, 71, 0, 1, 72, 5, 6, 7, 11, @@ -819,95 +777,71 @@ static const yytype_uint8 yystos[] = 56, 47, 56, 3, 4, 45, 4, 47, 45, 47 }; -#define yyerrok (yyerrstatus = 0) -#define yyclearin (yychar = YYEMPTY) -#define YYEMPTY (-2) -#define YYEOF 0 + /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ +static const yytype_uint8 yyr1[] = +{ + 0, 69, 70, 71, 72, 72, 72, 72, 73, 74, + 74, 75, 75, 75, 76, 77, 77, 78, 78, 78, + 78, 78, 78, 79, 79, 79, 80, 81, 81, 81, + 81, 82, 83, 83, 83, 84, 84, 84, 85, 86, + 86, 86, 86, 87, 87, 88, 89, 89, 89, 89, + 89, 90, 90, 90, 90, 90, 90, 90, 90, 90, + 90, 90, 90, 91, 91, 91, 92, 92, 93, 93, + 93, 93, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 95, 95 +}; -#define YYACCEPT goto yyacceptlab -#define YYABORT goto yyabortlab -#define YYERROR goto yyerrorlab + /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */ +static const yytype_uint8 yyr2[] = +{ + 0, 2, 5, 0, 3, 2, 0, 1, 1, 1, + 1, 2, 1, 1, 2, 2, 0, 3, 3, 3, + 3, 3, 3, 5, 5, 0, 0, 2, 1, 1, + 1, 0, 4, 3, 0, 3, 1, 1, 1, 2, + 3, 2, 1, 3, 1, 2, 2, 1, 6, 5, + 4, 2, 2, 2, 6, 5, 4, 1, 1, 1, + 3, 3, 1, 3, 3, 1, 3, 4, 4, 2, + 2, 0, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 2, 0 +}; -/* Like YYERROR except do call yyerror. This remains here temporarily - to ease the transition to the new meaning of YYERROR, for GCC. - Once GCC version 2 has supplanted version 1, this can go. */ +#define yyerrok (yyerrstatus = 0) +#define yyclearin (yychar = YYEMPTY) +#define YYEMPTY (-2) +#define YYEOF 0 + +#define YYACCEPT goto yyacceptlab +#define YYABORT goto yyabortlab +#define YYERROR goto yyerrorlab -#define YYFAIL goto yyerrlab #define YYRECOVERING() (!!yyerrstatus) -#define YYBACKUP(Token, Value) \ -do \ - if (yychar == YYEMPTY && yylen == 1) \ - { \ - yychar = (Token); \ - yylval = (Value); \ - yytoken = YYTRANSLATE (yychar); \ - YYPOPSTACK (1); \ - goto yybackup; \ - } \ - else \ - { \ +#define YYBACKUP(Token, Value) \ +do \ + if (yychar == YYEMPTY) \ + { \ + yychar = (Token); \ + yylval = (Value); \ + YYPOPSTACK (yylen); \ + yystate = *yyssp; \ + goto yybackup; \ + } \ + else \ + { \ yyerror (YY_("syntax error: cannot back up")); \ - YYERROR; \ - } \ -while (YYID (0)) + YYERROR; \ + } \ +while (0) + +/* Error token number */ +#define YYTERROR 1 +#define YYERRCODE 256 -#define YYTERROR 1 -#define YYERRCODE 256 - - -/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. - If N is 0, then set CURRENT to the empty location which ends - the previous symbol: RHS[0] (always defined). */ - -#define YYRHSLOC(Rhs, K) ((Rhs)[K]) -#ifndef YYLLOC_DEFAULT -# define YYLLOC_DEFAULT(Current, Rhs, N) \ - do \ - if (YYID (N)) \ - { \ - (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ - (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ - (Current).last_line = YYRHSLOC (Rhs, N).last_line; \ - (Current).last_column = YYRHSLOC (Rhs, N).last_column; \ - } \ - else \ - { \ - (Current).first_line = (Current).last_line = \ - YYRHSLOC (Rhs, 0).last_line; \ - (Current).first_column = (Current).last_column = \ - YYRHSLOC (Rhs, 0).last_column; \ - } \ - while (YYID (0)) -#endif - - -/* YY_LOCATION_PRINT -- Print the location on the stream. - This macro was not mandated originally: define only if we know - we won't break user code: when these are the locations we know. */ - -#ifndef YY_LOCATION_PRINT -# if YYLTYPE_IS_TRIVIAL -# define YY_LOCATION_PRINT(File, Loc) \ - fprintf (File, "%d.%d-%d.%d", \ - (Loc).first_line, (Loc).first_column, \ - (Loc).last_line, (Loc).last_column) -# else -# define YY_LOCATION_PRINT(File, Loc) ((void) 0) -# endif -#endif - - -/* YYLEX -- calling `yylex' with the right arguments. */ - -#ifdef YYLEX_PARAM -# define YYLEX yylex (YYLEX_PARAM) -#else -# define YYLEX yylex () -#endif /* Enable debugging if requested. */ #if YYDEBUG @@ -917,54 +851,46 @@ while (YYID (0)) # define YYFPRINTF fprintf # endif -# define YYDPRINTF(Args) \ -do { \ - if (yydebug) \ - YYFPRINTF Args; \ -} while (YYID (0)) +# define YYDPRINTF(Args) \ +do { \ + if (yydebug) \ + YYFPRINTF Args; \ +} while (0) -# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ -do { \ - if (yydebug) \ - { \ - YYFPRINTF (stderr, "%s ", Title); \ - yy_symbol_print (stderr, \ - Type, Value); \ - YYFPRINTF (stderr, "\n"); \ - } \ -} while (YYID (0)) +/* This macro is provided for backward compatibility. */ +#ifndef YY_LOCATION_PRINT +# define YY_LOCATION_PRINT(File, Loc) ((void) 0) +#endif -/*--------------------------------. -| Print this symbol on YYOUTPUT. | -`--------------------------------*/ +# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ +do { \ + if (yydebug) \ + { \ + YYFPRINTF (stderr, "%s ", Title); \ + yy_symbol_print (stderr, \ + Type, Value); \ + YYFPRINTF (stderr, "\n"); \ + } \ +} while (0) + + +/*----------------------------------------. +| Print this symbol's value on YYOUTPUT. | +`----------------------------------------*/ -/*ARGSUSED*/ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) static void yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) -#else -static void -yy_symbol_value_print (yyoutput, yytype, yyvaluep) - FILE *yyoutput; - int yytype; - YYSTYPE const * const yyvaluep; -#endif { + FILE *yyo = yyoutput; + YYUSE (yyo); if (!yyvaluep) return; # ifdef YYPRINT if (yytype < YYNTOKENS) YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); -# else - YYUSE (yyoutput); # endif - switch (yytype) - { - default: - break; - } + YYUSE (yytype); } @@ -972,22 +898,11 @@ yy_symbol_value_print (yyoutput, yytype, yyvaluep) | Print this symbol on YYOUTPUT. | `--------------------------------*/ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) static void yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) -#else -static void -yy_symbol_print (yyoutput, yytype, yyvaluep) - FILE *yyoutput; - int yytype; - YYSTYPE const * const yyvaluep; -#endif { - if (yytype < YYNTOKENS) - YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); - else - YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); + YYFPRINTF (yyoutput, "%s %s (", + yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]); yy_symbol_value_print (yyoutput, yytype, yyvaluep); YYFPRINTF (yyoutput, ")"); @@ -998,16 +913,8 @@ yy_symbol_print (yyoutput, yytype, yyvaluep) | TOP (included). | `------------------------------------------------------------------*/ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) static void yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) -#else -static void -yy_stack_print (yybottom, yytop) - yytype_int16 *yybottom; - yytype_int16 *yytop; -#endif { YYFPRINTF (stderr, "Stack now"); for (; yybottom <= yytop; yybottom++) @@ -1018,49 +925,42 @@ yy_stack_print (yybottom, yytop) YYFPRINTF (stderr, "\n"); } -# define YY_STACK_PRINT(Bottom, Top) \ -do { \ - if (yydebug) \ - yy_stack_print ((Bottom), (Top)); \ -} while (YYID (0)) +# define YY_STACK_PRINT(Bottom, Top) \ +do { \ + if (yydebug) \ + yy_stack_print ((Bottom), (Top)); \ +} while (0) /*------------------------------------------------. | Report that the YYRULE is going to be reduced. | `------------------------------------------------*/ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) static void -yy_reduce_print (YYSTYPE *yyvsp, int yyrule) -#else -static void -yy_reduce_print (yyvsp, yyrule) - YYSTYPE *yyvsp; - int yyrule; -#endif +yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule) { + unsigned long int yylno = yyrline[yyrule]; int yynrhs = yyr2[yyrule]; int yyi; - unsigned long int yylno = yyrline[yyrule]; YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", - yyrule - 1, yylno); + yyrule - 1, yylno); /* The symbols being reduced. */ for (yyi = 0; yyi < yynrhs; yyi++) { YYFPRINTF (stderr, " $%d = ", yyi + 1); - yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi], - &(yyvsp[(yyi + 1) - (yynrhs)]) - ); + yy_symbol_print (stderr, + yystos[yyssp[yyi + 1 - yynrhs]], + &(yyvsp[(yyi + 1) - (yynrhs)]) + ); YYFPRINTF (stderr, "\n"); } } -# define YY_REDUCE_PRINT(Rule) \ -do { \ - if (yydebug) \ - yy_reduce_print (yyvsp, Rule); \ -} while (YYID (0)) +# define YY_REDUCE_PRINT(Rule) \ +do { \ + if (yydebug) \ + yy_reduce_print (yyssp, yyvsp, Rule); \ +} while (0) /* Nonzero means print parse trace. It is left uninitialized so that multiple parsers can coexist. */ @@ -1074,7 +974,7 @@ int yydebug; /* YYINITDEPTH -- initial size of the parser's stacks. */ -#ifndef YYINITDEPTH +#ifndef YYINITDEPTH # define YYINITDEPTH 200 #endif @@ -1089,7 +989,6 @@ int yydebug; # define YYMAXDEPTH 10000 #endif - #if YYERROR_VERBOSE @@ -1098,15 +997,8 @@ int yydebug; # define yystrlen strlen # else /* Return the length of YYSTR. */ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) static YYSIZE_T yystrlen (const char *yystr) -#else -static YYSIZE_T -yystrlen (yystr) - const char *yystr; -#endif { YYSIZE_T yylen; for (yylen = 0; yystr[yylen]; yylen++) @@ -1122,16 +1014,8 @@ yystrlen (yystr) # else /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in YYDEST. */ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) static char * yystpcpy (char *yydest, const char *yysrc) -#else -static char * -yystpcpy (yydest, yysrc) - char *yydest; - const char *yysrc; -#endif { char *yyd = yydest; const char *yys = yysrc; @@ -1161,27 +1045,27 @@ yytnamerr (char *yyres, const char *yystr) char const *yyp = yystr; for (;;) - switch (*++yyp) - { - case '\'': - case ',': - goto do_not_strip_quotes; + switch (*++yyp) + { + case '\'': + case ',': + goto do_not_strip_quotes; - case '\\': - if (*++yyp != '\\') - goto do_not_strip_quotes; - /* Fall through. */ - default: - if (yyres) - yyres[yyn] = *yyp; - yyn++; - break; + case '\\': + if (*++yyp != '\\') + goto do_not_strip_quotes; + /* Fall through. */ + default: + if (yyres) + yyres[yyn] = *yyp; + yyn++; + break; - case '"': - if (yyres) - yyres[yyn] = '\0'; - return yyn; - } + case '"': + if (yyres) + yyres[yyn] = '\0'; + return yyn; + } do_not_strip_quotes: ; } @@ -1192,161 +1076,160 @@ yytnamerr (char *yyres, const char *yystr) } # endif -/* Copy into YYRESULT an error message about the unexpected token - YYCHAR while in state YYSTATE. Return the number of bytes copied, - including the terminating null byte. If YYRESULT is null, do not - copy anything; just return the number of bytes that would be - copied. As a special case, return 0 if an ordinary "syntax error" - message will do. Return YYSIZE_MAXIMUM if overflow occurs during - size calculation. */ -static YYSIZE_T -yysyntax_error (char *yyresult, int yystate, int yychar) +/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message + about the unexpected token YYTOKEN for the state stack whose top is + YYSSP. + + Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is + not large enough to hold the message. In that case, also set + *YYMSG_ALLOC to the required number of bytes. Return 2 if the + required number of bytes is too large to store. */ +static int +yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg, + yytype_int16 *yyssp, int yytoken) { - int yyn = yypact[yystate]; + YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]); + YYSIZE_T yysize = yysize0; + enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; + /* Internationalized format string. */ + const char *yyformat = YY_NULLPTR; + /* Arguments of yyformat. */ + char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; + /* Number of reported tokens (one for the "unexpected", one per + "expected"). */ + int yycount = 0; - if (! (YYPACT_NINF < yyn && yyn <= YYLAST)) - return 0; - else + /* There are many possibilities here to consider: + - If this state is a consistent state with a default action, then + the only way this function was invoked is if the default action + is an error action. In that case, don't check for expected + tokens because there are none. + - The only way there can be no lookahead present (in yychar) is if + this state is a consistent state with a default action. Thus, + detecting the absence of a lookahead is sufficient to determine + that there is no unexpected or expected token to report. In that + case, just report a simple "syntax error". + - Don't assume there isn't a lookahead just because this state is a + consistent state with a default action. There might have been a + previous inconsistent state, consistent state with a non-default + action, or user semantic action that manipulated yychar. + - Of course, the expected token list depends on states to have + correct lookahead information, and it depends on the parser not + to perform extra reductions after fetching a lookahead from the + scanner and before detecting a syntax error. Thus, state merging + (from LALR or IELR) and default reductions corrupt the expected + token list. However, the list is correct for canonical LR with + one exception: it will still contain any token that will not be + accepted due to an error action in a later state. + */ + if (yytoken != YYEMPTY) { - int yytype = YYTRANSLATE (yychar); - YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]); - YYSIZE_T yysize = yysize0; - YYSIZE_T yysize1; - int yysize_overflow = 0; - enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; - char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; - int yyx; + int yyn = yypact[*yyssp]; + yyarg[yycount++] = yytname[yytoken]; + if (!yypact_value_is_default (yyn)) + { + /* Start YYX at -YYN if negative to avoid negative indexes in + YYCHECK. In other words, skip the first -YYN actions for + this state because they are default actions. */ + int yyxbegin = yyn < 0 ? -yyn : 0; + /* Stay within bounds of both yycheck and yytname. */ + int yychecklim = YYLAST - yyn + 1; + int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; + int yyx; -# if 0 - /* This is so xgettext sees the translatable formats that are - constructed on the fly. */ - YY_("syntax error, unexpected %s"); - YY_("syntax error, unexpected %s, expecting %s"); - YY_("syntax error, unexpected %s, expecting %s or %s"); - YY_("syntax error, unexpected %s, expecting %s or %s or %s"); - YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"); -# endif - char *yyfmt; - char const *yyf; - static char const yyunexpected[] = "syntax error, unexpected %s"; - static char const yyexpecting[] = ", expecting %s"; - static char const yyor[] = " or %s"; - char yyformat[sizeof yyunexpected - + sizeof yyexpecting - 1 - + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2) - * (sizeof yyor - 1))]; - char const *yyprefix = yyexpecting; - - /* Start YYX at -YYN if negative to avoid negative indexes in - YYCHECK. */ - int yyxbegin = yyn < 0 ? -yyn : 0; - - /* Stay within bounds of both yycheck and yytname. */ - int yychecklim = YYLAST - yyn + 1; - int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; - int yycount = 1; - - yyarg[0] = yytname[yytype]; - yyfmt = yystpcpy (yyformat, yyunexpected); - - for (yyx = yyxbegin; yyx < yyxend; ++yyx) - if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) - { - if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) - { - yycount = 1; - yysize = yysize0; - yyformat[sizeof yyunexpected - 1] = '\0'; - break; - } - yyarg[yycount++] = yytname[yyx]; - yysize1 = yysize + yytnamerr (0, yytname[yyx]); - yysize_overflow |= (yysize1 < yysize); - yysize = yysize1; - yyfmt = yystpcpy (yyfmt, yyprefix); - yyprefix = yyor; - } - - yyf = YY_(yyformat); - yysize1 = yysize + yystrlen (yyf); - yysize_overflow |= (yysize1 < yysize); - yysize = yysize1; - - if (yysize_overflow) - return YYSIZE_MAXIMUM; - - if (yyresult) - { - /* Avoid sprintf, as that infringes on the user's name space. - Don't have undefined behavior even if the translation - produced a string with the wrong number of "%s"s. */ - char *yyp = yyresult; - int yyi = 0; - while ((*yyp = *yyf) != '\0') - { - if (*yyp == '%' && yyf[1] == 's' && yyi < yycount) - { - yyp += yytnamerr (yyp, yyarg[yyi++]); - yyf += 2; - } - else - { - yyp++; - yyf++; - } - } - } - return yysize; + for (yyx = yyxbegin; yyx < yyxend; ++yyx) + if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR + && !yytable_value_is_error (yytable[yyx + yyn])) + { + if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) + { + yycount = 1; + yysize = yysize0; + break; + } + yyarg[yycount++] = yytname[yyx]; + { + YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]); + if (! (yysize <= yysize1 + && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) + return 2; + yysize = yysize1; + } + } + } } + + switch (yycount) + { +# define YYCASE_(N, S) \ + case N: \ + yyformat = S; \ + break + YYCASE_(0, YY_("syntax error")); + YYCASE_(1, YY_("syntax error, unexpected %s")); + YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s")); + YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s")); + YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s")); + YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s")); +# undef YYCASE_ + } + + { + YYSIZE_T yysize1 = yysize + yystrlen (yyformat); + if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)) + return 2; + yysize = yysize1; + } + + if (*yymsg_alloc < yysize) + { + *yymsg_alloc = 2 * yysize; + if (! (yysize <= *yymsg_alloc + && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM)) + *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM; + return 1; + } + + /* Avoid sprintf, as that infringes on the user's name space. + Don't have undefined behavior even if the translation + produced a string with the wrong number of "%s"s. */ + { + char *yyp = *yymsg; + int yyi = 0; + while ((*yyp = *yyformat) != '\0') + if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount) + { + yyp += yytnamerr (yyp, yyarg[yyi++]); + yyformat += 2; + } + else + { + yyp++; + yyformat++; + } + } + return 0; } #endif /* YYERROR_VERBOSE */ - /*-----------------------------------------------. | Release the memory associated to this symbol. | `-----------------------------------------------*/ -/*ARGSUSED*/ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) static void yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep) -#else -static void -yydestruct (yymsg, yytype, yyvaluep) - const char *yymsg; - int yytype; - YYSTYPE *yyvaluep; -#endif { YYUSE (yyvaluep); - if (!yymsg) yymsg = "Deleting"; YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); - switch (yytype) - { - - default: - break; - } + YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN + YYUSE (yytype); + YY_IGNORE_MAYBE_UNINITIALIZED_END } -/* Prevent warnings from -Wmissing-prototypes. */ -#ifdef YYPARSE_PARAM -#if defined __STDC__ || defined __cplusplus -int yyparse (void *YYPARSE_PARAM); -#else -int yyparse (); -#endif -#else /* ! YYPARSE_PARAM */ -#if defined __STDC__ || defined __cplusplus -int yyparse (void); -#else -int yyparse (); -#endif -#endif /* ! YYPARSE_PARAM */ + /* The lookahead symbol. */ @@ -1354,49 +1237,26 @@ int yychar; /* The semantic value of the lookahead symbol. */ YYSTYPE yylval; - /* Number of syntax errors so far. */ int yynerrs; +/*----------. +| yyparse. | +`----------*/ -/*-------------------------. -| yyparse or yypush_parse. | -`-------------------------*/ - -#ifdef YYPARSE_PARAM -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) -int -yyparse (void *YYPARSE_PARAM) -#else -int -yyparse (YYPARSE_PARAM) - void *YYPARSE_PARAM; -#endif -#else /* ! YYPARSE_PARAM */ -#if (defined __STDC__ || defined __C99__FUNC__ \ - || defined __cplusplus || defined _MSC_VER) int yyparse (void) -#else -int -yyparse () - -#endif -#endif { - - int yystate; /* Number of tokens to shift before error messages enabled. */ int yyerrstatus; /* The stacks and their tools: - `yyss': related to states. - `yyvs': related to semantic values. + 'yyss': related to states. + 'yyvs': related to semantic values. - Refer to the stacks thru separate pointers, to allow yyoverflow + Refer to the stacks through separate pointers, to allow yyoverflow to reallocate them elsewhere. */ /* The state stack. */ @@ -1414,7 +1274,7 @@ yyparse () int yyn; int yyresult; /* Lookahead token as an internal (translated) token number. */ - int yytoken; + int yytoken = 0; /* The variables used to return semantic value and location from the action routines. */ YYSTYPE yyval; @@ -1432,9 +1292,8 @@ yyparse () Keep to zero when no symbol should be popped. */ int yylen = 0; - yytoken = 0; - yyss = yyssa; - yyvs = yyvsa; + yyssp = yyss = yyssa; + yyvsp = yyvs = yyvsa; yystacksize = YYINITDEPTH; YYDPRINTF ((stderr, "Starting parse\n")); @@ -1443,14 +1302,6 @@ yyparse () yyerrstatus = 0; yynerrs = 0; yychar = YYEMPTY; /* Cause a token to be read. */ - - /* Initialize stack pointers. - Waste one element of value and location stack - so that they stay on the same level as the state stack. - The wasted elements are never initialized. */ - yyssp = yyss; - yyvsp = yyvs; - goto yysetstate; /*------------------------------------------------------------. @@ -1471,23 +1322,23 @@ yyparse () #ifdef yyoverflow { - /* Give user a chance to reallocate the stack. Use copies of - these so that the &'s don't force the real ones into - memory. */ - YYSTYPE *yyvs1 = yyvs; - yytype_int16 *yyss1 = yyss; + /* Give user a chance to reallocate the stack. Use copies of + these so that the &'s don't force the real ones into + memory. */ + YYSTYPE *yyvs1 = yyvs; + yytype_int16 *yyss1 = yyss; - /* Each stack pointer address is followed by the size of the - data in use in that stack, in bytes. This used to be a - conditional around just the two extra args, but that might - be undefined if yyoverflow is a macro. */ - yyoverflow (YY_("memory exhausted"), - &yyss1, yysize * sizeof (*yyssp), - &yyvs1, yysize * sizeof (*yyvsp), - &yystacksize); + /* Each stack pointer address is followed by the size of the + data in use in that stack, in bytes. This used to be a + conditional around just the two extra args, but that might + be undefined if yyoverflow is a macro. */ + yyoverflow (YY_("memory exhausted"), + &yyss1, yysize * sizeof (*yyssp), + &yyvs1, yysize * sizeof (*yyvsp), + &yystacksize); - yyss = yyss1; - yyvs = yyvs1; + yyss = yyss1; + yyvs = yyvs1; } #else /* no yyoverflow */ # ifndef YYSTACK_RELOCATE @@ -1495,22 +1346,22 @@ yyparse () # else /* Extend the stack our own way. */ if (YYMAXDEPTH <= yystacksize) - goto yyexhaustedlab; + goto yyexhaustedlab; yystacksize *= 2; if (YYMAXDEPTH < yystacksize) - yystacksize = YYMAXDEPTH; + yystacksize = YYMAXDEPTH; { - yytype_int16 *yyss1 = yyss; - union yyalloc *yyptr = - (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); - if (! yyptr) - goto yyexhaustedlab; - YYSTACK_RELOCATE (yyss_alloc, yyss); - YYSTACK_RELOCATE (yyvs_alloc, yyvs); + yytype_int16 *yyss1 = yyss; + union yyalloc *yyptr = + (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); + if (! yyptr) + goto yyexhaustedlab; + YYSTACK_RELOCATE (yyss_alloc, yyss); + YYSTACK_RELOCATE (yyvs_alloc, yyvs); # undef YYSTACK_RELOCATE - if (yyss1 != yyssa) - YYSTACK_FREE (yyss1); + if (yyss1 != yyssa) + YYSTACK_FREE (yyss1); } # endif #endif /* no yyoverflow */ @@ -1519,10 +1370,10 @@ yyparse () yyvsp = yyvs + yysize - 1; YYDPRINTF ((stderr, "Stack size increased to %lu\n", - (unsigned long int) yystacksize)); + (unsigned long int) yystacksize)); if (yyss + yystacksize - 1 <= yyssp) - YYABORT; + YYABORT; } YYDPRINTF ((stderr, "Entering state %d\n", yystate)); @@ -1542,7 +1393,7 @@ yyparse () /* First try to decide what to do without reference to lookahead token. */ yyn = yypact[yystate]; - if (yyn == YYPACT_NINF) + if (yypact_value_is_default (yyn)) goto yydefault; /* Not known => get a lookahead token if don't already have one. */ @@ -1551,7 +1402,7 @@ yyparse () if (yychar == YYEMPTY) { YYDPRINTF ((stderr, "Reading a token: ")); - yychar = YYLEX; + yychar = yylex (); } if (yychar <= YYEOF) @@ -1573,8 +1424,8 @@ yyparse () yyn = yytable[yyn]; if (yyn <= 0) { - if (yyn == 0 || yyn == YYTABLE_NINF) - goto yyerrlab; + if (yytable_value_is_error (yyn)) + goto yyerrlab; yyn = -yyn; goto yyreduce; } @@ -1591,7 +1442,9 @@ yyparse () yychar = YYEMPTY; yystate = yyn; + YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN *++yyvsp = yylval; + YY_IGNORE_MAYBE_UNINITIALIZED_END goto yynewstate; @@ -1614,7 +1467,7 @@ yyparse () yylen = yyr2[yyn]; /* If YYLEN is nonzero, implement the default value of the action: - `$$ = $1'. + '$$ = $1'. Otherwise, the following line sets YYVAL to garbage. This behavior is undocumented and Bison @@ -1628,9 +1481,7 @@ yyparse () switch (yyn) { case 2: - -/* Line 1455 of yacc.c */ -#line 119 "parse.y" +#line 119 "parse.y" /* yacc.c:1646 */ { /* add default rule */ int def_rule; @@ -1655,137 +1506,122 @@ yyparse () else add_action( "ECHO" ); - add_action( ";\n\tYY_BREAK\n" ); + add_action( ";\n\tYY_BREAK]]\n" ); } +#line 1512 "parse.c" /* yacc.c:1646 */ break; case 3: - -/* Line 1455 of yacc.c */ -#line 148 "parse.y" +#line 148 "parse.y" /* yacc.c:1646 */ { /* initialize for processing rules */ /* Create default DFA start condition. */ scinstal( "INITIAL", false ); } +#line 1522 "parse.c" /* yacc.c:1646 */ break; case 7: - -/* Line 1455 of yacc.c */ -#line 159 "parse.y" +#line 159 "parse.y" /* yacc.c:1646 */ { synerr( _("unknown error processing section 1") ); } +#line 1528 "parse.c" /* yacc.c:1646 */ break; case 8: - -/* Line 1455 of yacc.c */ -#line 163 "parse.y" +#line 163 "parse.y" /* yacc.c:1646 */ { check_options(); scon_stk = allocate_integer_array( lastsc + 1 ); scon_stk_ptr = 0; } +#line 1538 "parse.c" /* yacc.c:1646 */ break; case 9: - -/* Line 1455 of yacc.c */ -#line 171 "parse.y" +#line 171 "parse.y" /* yacc.c:1646 */ { xcluflg = false; } +#line 1544 "parse.c" /* yacc.c:1646 */ break; case 10: - -/* Line 1455 of yacc.c */ -#line 174 "parse.y" +#line 174 "parse.y" /* yacc.c:1646 */ { xcluflg = true; } +#line 1550 "parse.c" /* yacc.c:1646 */ break; case 11: - -/* Line 1455 of yacc.c */ -#line 178 "parse.y" +#line 178 "parse.y" /* yacc.c:1646 */ { scinstal( nmstr, xcluflg ); } +#line 1556 "parse.c" /* yacc.c:1646 */ break; case 12: - -/* Line 1455 of yacc.c */ -#line 181 "parse.y" +#line 181 "parse.y" /* yacc.c:1646 */ { scinstal( nmstr, xcluflg ); } +#line 1562 "parse.c" /* yacc.c:1646 */ break; case 13: - -/* Line 1455 of yacc.c */ -#line 184 "parse.y" +#line 184 "parse.y" /* yacc.c:1646 */ { synerr( _("bad start condition list") ); } +#line 1568 "parse.c" /* yacc.c:1646 */ break; case 17: - -/* Line 1455 of yacc.c */ -#line 195 "parse.y" +#line 195 "parse.y" /* yacc.c:1646 */ { - outfilename = copy_string( nmstr ); + outfilename = xstrdup(nmstr); did_outfilename = 1; } +#line 1577 "parse.c" /* yacc.c:1646 */ break; case 18: - -/* Line 1455 of yacc.c */ -#line 200 "parse.y" - { extra_type = copy_string( nmstr ); } +#line 200 "parse.y" /* yacc.c:1646 */ + { extra_type = xstrdup(nmstr); } +#line 1583 "parse.c" /* yacc.c:1646 */ break; case 19: - -/* Line 1455 of yacc.c */ -#line 202 "parse.y" - { prefix = copy_string( nmstr ); } +#line 202 "parse.y" /* yacc.c:1646 */ + { prefix = xstrdup(nmstr); + if (strchr(prefix, '[') || strchr(prefix, ']')) + flexerror(_("Prefix must not contain [ or ]")); } +#line 1591 "parse.c" /* yacc.c:1646 */ break; case 20: - -/* Line 1455 of yacc.c */ -#line 204 "parse.y" - { yyclass = copy_string( nmstr ); } +#line 206 "parse.y" /* yacc.c:1646 */ + { yyclass = xstrdup(nmstr); } +#line 1597 "parse.c" /* yacc.c:1646 */ break; case 21: - -/* Line 1455 of yacc.c */ -#line 206 "parse.y" - { headerfilename = copy_string( nmstr ); } +#line 208 "parse.y" /* yacc.c:1646 */ + { headerfilename = xstrdup(nmstr); } +#line 1603 "parse.c" /* yacc.c:1646 */ break; case 22: - -/* Line 1455 of yacc.c */ -#line 208 "parse.y" - { tablesext = true; tablesfilename = copy_string( nmstr ); } +#line 210 "parse.y" /* yacc.c:1646 */ + { tablesext = true; tablesfilename = xstrdup(nmstr); } +#line 1609 "parse.c" /* yacc.c:1646 */ break; case 23: - -/* Line 1455 of yacc.c */ -#line 212 "parse.y" - { scon_stk_ptr = (yyvsp[(2) - (5)]); } +#line 214 "parse.y" /* yacc.c:1646 */ + { scon_stk_ptr = (yyvsp[-3]); } +#line 1615 "parse.c" /* yacc.c:1646 */ break; case 24: - -/* Line 1455 of yacc.c */ -#line 214 "parse.y" - { scon_stk_ptr = (yyvsp[(2) - (5)]); } +#line 216 "parse.y" /* yacc.c:1646 */ + { scon_stk_ptr = (yyvsp[-3]); } +#line 1621 "parse.c" /* yacc.c:1646 */ break; case 26: - -/* Line 1455 of yacc.c */ -#line 219 "parse.y" +#line 221 "parse.y" /* yacc.c:1646 */ { /* Initialize for a parse of one rule. */ trlcontxt = variable_trail_rule = varlength = false; @@ -1796,14 +1632,13 @@ yyparse () new_rule(); } +#line 1636 "parse.c" /* yacc.c:1646 */ break; case 27: - -/* Line 1455 of yacc.c */ -#line 232 "parse.y" +#line 234 "parse.y" /* yacc.c:1646 */ { - pat = (yyvsp[(2) - (2)]); + pat = (yyvsp[0]); finish_rule( pat, variable_trail_rule, headcnt, trailcnt , previous_continued_action); @@ -1836,14 +1671,13 @@ yyparse () "'^' operator results in sub-optimal performance" ); } } +#line 1675 "parse.c" /* yacc.c:1646 */ break; case 28: - -/* Line 1455 of yacc.c */ -#line 268 "parse.y" +#line 270 "parse.y" /* yacc.c:1646 */ { - pat = (yyvsp[(1) - (1)]); + pat = (yyvsp[0]); finish_rule( pat, variable_trail_rule, headcnt, trailcnt , previous_continued_action); @@ -1864,12 +1698,11 @@ yyparse () pat ); } } +#line 1702 "parse.c" /* yacc.c:1646 */ break; case 29: - -/* Line 1455 of yacc.c */ -#line 292 "parse.y" +#line 294 "parse.y" /* yacc.c:1646 */ { if ( scon_stk_ptr > 0 ) build_eof_action(); @@ -1884,40 +1717,36 @@ yyparse () scon_stk[++scon_stk_ptr] = i; if ( scon_stk_ptr == 0 ) - warn( + lwarn( "all start conditions already have <> rules" ); else build_eof_action(); } } +#line 1728 "parse.c" /* yacc.c:1646 */ break; case 30: - -/* Line 1455 of yacc.c */ -#line 315 "parse.y" +#line 317 "parse.y" /* yacc.c:1646 */ { synerr( _("unrecognized rule") ); } +#line 1734 "parse.c" /* yacc.c:1646 */ break; case 31: - -/* Line 1455 of yacc.c */ -#line 319 "parse.y" +#line 321 "parse.y" /* yacc.c:1646 */ { (yyval) = scon_stk_ptr; } +#line 1740 "parse.c" /* yacc.c:1646 */ break; case 32: - -/* Line 1455 of yacc.c */ -#line 323 "parse.y" - { (yyval) = (yyvsp[(2) - (4)]); } +#line 325 "parse.y" /* yacc.c:1646 */ + { (yyval) = (yyvsp[-2]); } +#line 1746 "parse.c" /* yacc.c:1646 */ break; case 33: - -/* Line 1455 of yacc.c */ -#line 326 "parse.y" +#line 328 "parse.y" /* yacc.c:1646 */ { (yyval) = scon_stk_ptr; @@ -1933,26 +1762,23 @@ yyparse () scon_stk[++scon_stk_ptr] = i; } } +#line 1766 "parse.c" /* yacc.c:1646 */ break; case 34: - -/* Line 1455 of yacc.c */ -#line 343 "parse.y" +#line 345 "parse.y" /* yacc.c:1646 */ { (yyval) = scon_stk_ptr; } +#line 1772 "parse.c" /* yacc.c:1646 */ break; case 37: - -/* Line 1455 of yacc.c */ -#line 351 "parse.y" +#line 353 "parse.y" /* yacc.c:1646 */ { synerr( _("bad start condition list") ); } +#line 1778 "parse.c" /* yacc.c:1646 */ break; case 38: - -/* Line 1455 of yacc.c */ -#line 355 "parse.y" +#line 357 "parse.y" /* yacc.c:1646 */ { if ( (scnum = sclookup( nmstr )) == 0 ) format_pinpoint_message( @@ -1973,22 +1799,21 @@ yyparse () scon_stk[++scon_stk_ptr] = scnum; } } +#line 1803 "parse.c" /* yacc.c:1646 */ break; case 39: - -/* Line 1455 of yacc.c */ -#line 378 "parse.y" +#line 380 "parse.y" /* yacc.c:1646 */ { - if ( transchar[lastst[(yyvsp[(2) - (2)])]] != SYM_EPSILON ) + if ( transchar[lastst[(yyvsp[0])]] != SYM_EPSILON ) /* Provide final transition \now/ so it * will be marked as a trailing context * state. */ - (yyvsp[(2) - (2)]) = link_machines( (yyvsp[(2) - (2)]), + (yyvsp[0]) = link_machines( (yyvsp[0]), mkstate( SYM_EPSILON ) ); - mark_beginning_as_normal( (yyvsp[(2) - (2)]) ); + mark_beginning_as_normal( (yyvsp[0]) ); current_state_type = STATE_NORMAL; if ( previous_continued_action ) @@ -2002,7 +1827,7 @@ yyparse () * erroneously. */ if ( ! varlength || headcnt != 0 ) - warn( + lwarn( "trailing context made variable due to preceding '|' action" ); /* Mark as variable. */ @@ -2023,7 +1848,7 @@ yyparse () * trail rule, and add_accept() can create * a new state ... */ - add_accept( (yyvsp[(1) - (2)]), + add_accept( (yyvsp[-1]), num_rules | YY_TRAILING_HEAD_MASK ); variable_trail_rule = true; } @@ -2031,21 +1856,19 @@ yyparse () else trailcnt = rulelen; - (yyval) = link_machines( (yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]) ); + (yyval) = link_machines( (yyvsp[-1]), (yyvsp[0]) ); } +#line 1862 "parse.c" /* yacc.c:1646 */ break; case 40: - -/* Line 1455 of yacc.c */ -#line 434 "parse.y" +#line 436 "parse.y" /* yacc.c:1646 */ { synerr( _("trailing context used twice") ); } +#line 1868 "parse.c" /* yacc.c:1646 */ break; case 41: - -/* Line 1455 of yacc.c */ -#line 437 "parse.y" +#line 439 "parse.y" /* yacc.c:1646 */ { headcnt = 0; trailcnt = 1; @@ -2065,7 +1888,7 @@ yyparse () /* See the comment in the rule for "re2 re" * above. */ - warn( + lwarn( "trailing context made variable due to preceding '|' action" ); varlength = true; @@ -2076,7 +1899,7 @@ yyparse () /* Again, see the comment in the rule for * "re2 re" above. */ - add_accept( (yyvsp[(1) - (2)]), + add_accept( (yyvsp[-1]), num_rules | YY_TRAILING_HEAD_MASK ); variable_trail_rule = true; } @@ -2084,17 +1907,16 @@ yyparse () trlcontxt = true; eps = mkstate( SYM_EPSILON ); - (yyval) = link_machines( (yyvsp[(1) - (2)]), + (yyval) = link_machines( (yyvsp[-1]), link_machines( eps, mkstate( '\n' ) ) ); } +#line 1914 "parse.c" /* yacc.c:1646 */ break; case 42: - -/* Line 1455 of yacc.c */ -#line 480 "parse.y" +#line 482 "parse.y" /* yacc.c:1646 */ { - (yyval) = (yyvsp[(1) - (1)]); + (yyval) = (yyvsp[0]); if ( trlcontxt ) { @@ -2107,29 +1929,26 @@ yyparse () trailcnt = rulelen; } } +#line 1933 "parse.c" /* yacc.c:1646 */ break; case 43: - -/* Line 1455 of yacc.c */ -#line 498 "parse.y" +#line 500 "parse.y" /* yacc.c:1646 */ { varlength = true; - (yyval) = mkor( (yyvsp[(1) - (3)]), (yyvsp[(3) - (3)]) ); + (yyval) = mkor( (yyvsp[-2]), (yyvsp[0]) ); } +#line 1942 "parse.c" /* yacc.c:1646 */ break; case 44: - -/* Line 1455 of yacc.c */ -#line 504 "parse.y" - { (yyval) = (yyvsp[(1) - (1)]); } +#line 506 "parse.y" /* yacc.c:1646 */ + { (yyval) = (yyvsp[0]); } +#line 1948 "parse.c" /* yacc.c:1646 */ break; case 45: - -/* Line 1455 of yacc.c */ -#line 509 "parse.y" +#line 511 "parse.y" /* yacc.c:1646 */ { /* This rule is written separately so the * reduction will occur before the trailing @@ -2152,83 +1971,78 @@ yyparse () rulelen = 0; current_state_type = STATE_TRAILING_CONTEXT; - (yyval) = (yyvsp[(1) - (2)]); + (yyval) = (yyvsp[-1]); } +#line 1977 "parse.c" /* yacc.c:1646 */ break; case 46: - -/* Line 1455 of yacc.c */ -#line 536 "parse.y" +#line 538 "parse.y" /* yacc.c:1646 */ { /* This is where concatenation of adjacent patterns * gets done. */ - (yyval) = link_machines( (yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]) ); + (yyval) = link_machines( (yyvsp[-1]), (yyvsp[0]) ); } +#line 1988 "parse.c" /* yacc.c:1646 */ break; case 47: - -/* Line 1455 of yacc.c */ -#line 544 "parse.y" - { (yyval) = (yyvsp[(1) - (1)]); } +#line 546 "parse.y" /* yacc.c:1646 */ + { (yyval) = (yyvsp[0]); } +#line 1994 "parse.c" /* yacc.c:1646 */ break; case 48: - -/* Line 1455 of yacc.c */ -#line 547 "parse.y" +#line 549 "parse.y" /* yacc.c:1646 */ { varlength = true; - if ( (yyvsp[(3) - (6)]) > (yyvsp[(5) - (6)]) || (yyvsp[(3) - (6)]) < 0 ) + if ( (yyvsp[-3]) > (yyvsp[-1]) || (yyvsp[-3]) < 0 ) { synerr( _("bad iteration values") ); - (yyval) = (yyvsp[(1) - (6)]); + (yyval) = (yyvsp[-5]); } else { - if ( (yyvsp[(3) - (6)]) == 0 ) + if ( (yyvsp[-3]) == 0 ) { - if ( (yyvsp[(5) - (6)]) <= 0 ) + if ( (yyvsp[-1]) <= 0 ) { synerr( _("bad iteration values") ); - (yyval) = (yyvsp[(1) - (6)]); + (yyval) = (yyvsp[-5]); } else (yyval) = mkopt( - mkrep( (yyvsp[(1) - (6)]), 1, (yyvsp[(5) - (6)]) ) ); + mkrep( (yyvsp[-5]), 1, (yyvsp[-1]) ) ); } else - (yyval) = mkrep( (yyvsp[(1) - (6)]), (yyvsp[(3) - (6)]), (yyvsp[(5) - (6)]) ); + (yyval) = mkrep( (yyvsp[-5]), (yyvsp[-3]), (yyvsp[-1]) ); } } +#line 2025 "parse.c" /* yacc.c:1646 */ break; case 49: - -/* Line 1455 of yacc.c */ -#line 575 "parse.y" +#line 577 "parse.y" /* yacc.c:1646 */ { varlength = true; - if ( (yyvsp[(3) - (5)]) <= 0 ) + if ( (yyvsp[-2]) <= 0 ) { synerr( _("iteration value must be positive") ); - (yyval) = (yyvsp[(1) - (5)]); + (yyval) = (yyvsp[-4]); } else - (yyval) = mkrep( (yyvsp[(1) - (5)]), (yyvsp[(3) - (5)]), INFINITE_REPEAT ); + (yyval) = mkrep( (yyvsp[-4]), (yyvsp[-2]), INFINITE_REPEAT ); } +#line 2042 "parse.c" /* yacc.c:1646 */ break; case 50: - -/* Line 1455 of yacc.c */ -#line 589 "parse.y" +#line 591 "parse.y" /* yacc.c:1646 */ { /* The series could be something like "(foo)", * in which case we have no idea what its length @@ -2236,104 +2050,98 @@ yyparse () */ varlength = true; - if ( (yyvsp[(3) - (4)]) <= 0 ) + if ( (yyvsp[-1]) <= 0 ) { synerr( _("iteration value must be positive") ); - (yyval) = (yyvsp[(1) - (4)]); + (yyval) = (yyvsp[-3]); } else - (yyval) = link_machines( (yyvsp[(1) - (4)]), - copysingl( (yyvsp[(1) - (4)]), (yyvsp[(3) - (4)]) - 1 ) ); + (yyval) = link_machines( (yyvsp[-3]), + copysingl( (yyvsp[-3]), (yyvsp[-1]) - 1 ) ); } +#line 2065 "parse.c" /* yacc.c:1646 */ break; case 51: - -/* Line 1455 of yacc.c */ -#line 611 "parse.y" +#line 613 "parse.y" /* yacc.c:1646 */ { varlength = true; - (yyval) = mkclos( (yyvsp[(1) - (2)]) ); + (yyval) = mkclos( (yyvsp[-1]) ); } +#line 2075 "parse.c" /* yacc.c:1646 */ break; case 52: - -/* Line 1455 of yacc.c */ -#line 618 "parse.y" +#line 620 "parse.y" /* yacc.c:1646 */ { varlength = true; - (yyval) = mkposcl( (yyvsp[(1) - (2)]) ); + (yyval) = mkposcl( (yyvsp[-1]) ); } +#line 2084 "parse.c" /* yacc.c:1646 */ break; case 53: - -/* Line 1455 of yacc.c */ -#line 624 "parse.y" +#line 626 "parse.y" /* yacc.c:1646 */ { varlength = true; - (yyval) = mkopt( (yyvsp[(1) - (2)]) ); + (yyval) = mkopt( (yyvsp[-1]) ); } +#line 2093 "parse.c" /* yacc.c:1646 */ break; case 54: - -/* Line 1455 of yacc.c */ -#line 630 "parse.y" +#line 632 "parse.y" /* yacc.c:1646 */ { varlength = true; - if ( (yyvsp[(3) - (6)]) > (yyvsp[(5) - (6)]) || (yyvsp[(3) - (6)]) < 0 ) + if ( (yyvsp[-3]) > (yyvsp[-1]) || (yyvsp[-3]) < 0 ) { synerr( _("bad iteration values") ); - (yyval) = (yyvsp[(1) - (6)]); + (yyval) = (yyvsp[-5]); } else { - if ( (yyvsp[(3) - (6)]) == 0 ) + if ( (yyvsp[-3]) == 0 ) { - if ( (yyvsp[(5) - (6)]) <= 0 ) + if ( (yyvsp[-1]) <= 0 ) { synerr( _("bad iteration values") ); - (yyval) = (yyvsp[(1) - (6)]); + (yyval) = (yyvsp[-5]); } else (yyval) = mkopt( - mkrep( (yyvsp[(1) - (6)]), 1, (yyvsp[(5) - (6)]) ) ); + mkrep( (yyvsp[-5]), 1, (yyvsp[-1]) ) ); } else - (yyval) = mkrep( (yyvsp[(1) - (6)]), (yyvsp[(3) - (6)]), (yyvsp[(5) - (6)]) ); + (yyval) = mkrep( (yyvsp[-5]), (yyvsp[-3]), (yyvsp[-1]) ); } } +#line 2124 "parse.c" /* yacc.c:1646 */ break; case 55: - -/* Line 1455 of yacc.c */ -#line 658 "parse.y" +#line 660 "parse.y" /* yacc.c:1646 */ { varlength = true; - if ( (yyvsp[(3) - (5)]) <= 0 ) + if ( (yyvsp[-2]) <= 0 ) { synerr( _("iteration value must be positive") ); - (yyval) = (yyvsp[(1) - (5)]); + (yyval) = (yyvsp[-4]); } else - (yyval) = mkrep( (yyvsp[(1) - (5)]), (yyvsp[(3) - (5)]), INFINITE_REPEAT ); + (yyval) = mkrep( (yyvsp[-4]), (yyvsp[-2]), INFINITE_REPEAT ); } +#line 2141 "parse.c" /* yacc.c:1646 */ break; case 56: - -/* Line 1455 of yacc.c */ -#line 672 "parse.y" +#line 674 "parse.y" /* yacc.c:1646 */ { /* The singleton could be something like "(foo)", * in which case we have no idea what its length @@ -2341,22 +2149,21 @@ yyparse () */ varlength = true; - if ( (yyvsp[(3) - (4)]) <= 0 ) + if ( (yyvsp[-1]) <= 0 ) { synerr( _("iteration value must be positive") ); - (yyval) = (yyvsp[(1) - (4)]); + (yyval) = (yyvsp[-3]); } else - (yyval) = link_machines( (yyvsp[(1) - (4)]), - copysingl( (yyvsp[(1) - (4)]), (yyvsp[(3) - (4)]) - 1 ) ); + (yyval) = link_machines( (yyvsp[-3]), + copysingl( (yyvsp[-3]), (yyvsp[-1]) - 1 ) ); } +#line 2163 "parse.c" /* yacc.c:1646 */ break; case 57: - -/* Line 1455 of yacc.c */ -#line 691 "parse.y" +#line 693 "parse.y" /* yacc.c:1646 */ { if ( ! madeany ) { @@ -2389,111 +2196,101 @@ yyparse () else (yyval) = mkstate( -ccldot ); } +#line 2200 "parse.c" /* yacc.c:1646 */ break; case 58: - -/* Line 1455 of yacc.c */ -#line 725 "parse.y" +#line 727 "parse.y" /* yacc.c:1646 */ { /* Sort characters for fast searching. */ - qsort( ccltbl + cclmap[(yyvsp[(1) - (1)])], ccllen[(yyvsp[(1) - (1)])], sizeof (*ccltbl), cclcmp ); + qsort( ccltbl + cclmap[(yyvsp[0])], (size_t) ccllen[(yyvsp[0])], sizeof (*ccltbl), cclcmp ); if ( useecs ) - mkeccl( ccltbl + cclmap[(yyvsp[(1) - (1)])], ccllen[(yyvsp[(1) - (1)])], + mkeccl( ccltbl + cclmap[(yyvsp[0])], ccllen[(yyvsp[0])], nextecm, ecgroup, csize, csize ); ++rulelen; - if (ccl_has_nl[(yyvsp[(1) - (1)])]) + if (ccl_has_nl[(yyvsp[0])]) rule_has_nl[num_rules] = true; - (yyval) = mkstate( -(yyvsp[(1) - (1)]) ); + (yyval) = mkstate( -(yyvsp[0]) ); } +#line 2221 "parse.c" /* yacc.c:1646 */ break; case 59: - -/* Line 1455 of yacc.c */ -#line 743 "parse.y" +#line 745 "parse.y" /* yacc.c:1646 */ { ++rulelen; - if (ccl_has_nl[(yyvsp[(1) - (1)])]) + if (ccl_has_nl[(yyvsp[0])]) rule_has_nl[num_rules] = true; - (yyval) = mkstate( -(yyvsp[(1) - (1)]) ); + (yyval) = mkstate( -(yyvsp[0]) ); } +#line 2234 "parse.c" /* yacc.c:1646 */ break; case 60: - -/* Line 1455 of yacc.c */ -#line 753 "parse.y" - { (yyval) = (yyvsp[(2) - (3)]); } +#line 755 "parse.y" /* yacc.c:1646 */ + { (yyval) = (yyvsp[-1]); } +#line 2240 "parse.c" /* yacc.c:1646 */ break; case 61: - -/* Line 1455 of yacc.c */ -#line 756 "parse.y" - { (yyval) = (yyvsp[(2) - (3)]); } +#line 758 "parse.y" /* yacc.c:1646 */ + { (yyval) = (yyvsp[-1]); } +#line 2246 "parse.c" /* yacc.c:1646 */ break; case 62: - -/* Line 1455 of yacc.c */ -#line 759 "parse.y" +#line 761 "parse.y" /* yacc.c:1646 */ { ++rulelen; - if ((yyvsp[(1) - (1)]) == nlch) + if ((yyvsp[0]) == nlch) rule_has_nl[num_rules] = true; - if (sf_case_ins() && has_case((yyvsp[(1) - (1)]))) + if (sf_case_ins() && has_case((yyvsp[0]))) /* create an alternation, as in (a|A) */ - (yyval) = mkor (mkstate((yyvsp[(1) - (1)])), mkstate(reverse_case((yyvsp[(1) - (1)])))); + (yyval) = mkor (mkstate((yyvsp[0])), mkstate(reverse_case((yyvsp[0])))); else - (yyval) = mkstate( (yyvsp[(1) - (1)]) ); + (yyval) = mkstate( (yyvsp[0]) ); } +#line 2263 "parse.c" /* yacc.c:1646 */ break; case 63: - -/* Line 1455 of yacc.c */ -#line 773 "parse.y" - { (yyval) = ccl_set_diff ((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)])); } +#line 775 "parse.y" /* yacc.c:1646 */ + { (yyval) = ccl_set_diff ((yyvsp[-2]), (yyvsp[0])); } +#line 2269 "parse.c" /* yacc.c:1646 */ break; case 64: - -/* Line 1455 of yacc.c */ -#line 774 "parse.y" - { (yyval) = ccl_set_union ((yyvsp[(1) - (3)]), (yyvsp[(3) - (3)])); } +#line 776 "parse.y" /* yacc.c:1646 */ + { (yyval) = ccl_set_union ((yyvsp[-2]), (yyvsp[0])); } +#line 2275 "parse.c" /* yacc.c:1646 */ break; case 66: - -/* Line 1455 of yacc.c */ -#line 780 "parse.y" - { (yyval) = (yyvsp[(2) - (3)]); } +#line 782 "parse.y" /* yacc.c:1646 */ + { (yyval) = (yyvsp[-1]); } +#line 2281 "parse.c" /* yacc.c:1646 */ break; case 67: - -/* Line 1455 of yacc.c */ -#line 783 "parse.y" +#line 785 "parse.y" /* yacc.c:1646 */ { - cclnegate( (yyvsp[(3) - (4)]) ); - (yyval) = (yyvsp[(3) - (4)]); + cclnegate( (yyvsp[-1]) ); + (yyval) = (yyvsp[-1]); } +#line 2290 "parse.c" /* yacc.c:1646 */ break; case 68: - -/* Line 1455 of yacc.c */ -#line 790 "parse.y" +#line 792 "parse.y" /* yacc.c:1646 */ { if (sf_case_ins()) @@ -2504,318 +2301,299 @@ yyparse () * sure what range the user is trying to express. * Examples: [@-z] or [S-t] */ - if (has_case ((yyvsp[(2) - (4)])) != has_case ((yyvsp[(4) - (4)])) - || (has_case ((yyvsp[(2) - (4)])) && (b_islower ((yyvsp[(2) - (4)])) != b_islower ((yyvsp[(4) - (4)])))) - || (has_case ((yyvsp[(2) - (4)])) && (b_isupper ((yyvsp[(2) - (4)])) != b_isupper ((yyvsp[(4) - (4)]))))) + if (has_case ((yyvsp[-2])) != has_case ((yyvsp[0])) + || (has_case ((yyvsp[-2])) && (b_islower ((yyvsp[-2])) != b_islower ((yyvsp[0])))) + || (has_case ((yyvsp[-2])) && (b_isupper ((yyvsp[-2])) != b_isupper ((yyvsp[0]))))) format_warn3 ( _("the character range [%c-%c] is ambiguous in a case-insensitive scanner"), - (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); + (yyvsp[-2]), (yyvsp[0])); /* If the range spans uppercase characters but not * lowercase (or vice-versa), then should we automatically * include lowercase characters in the range? * Example: [@-_] spans [a-z] but not [A-Z] */ - else if (!has_case ((yyvsp[(2) - (4)])) && !has_case ((yyvsp[(4) - (4)])) && !range_covers_case ((yyvsp[(2) - (4)]), (yyvsp[(4) - (4)]))) + else if (!has_case ((yyvsp[-2])) && !has_case ((yyvsp[0])) && !range_covers_case ((yyvsp[-2]), (yyvsp[0]))) format_warn3 ( _("the character range [%c-%c] is ambiguous in a case-insensitive scanner"), - (yyvsp[(2) - (4)]), (yyvsp[(4) - (4)])); + (yyvsp[-2]), (yyvsp[0])); } - if ( (yyvsp[(2) - (4)]) > (yyvsp[(4) - (4)]) ) + if ( (yyvsp[-2]) > (yyvsp[0]) ) synerr( _("negative range in character class") ); else { - for ( i = (yyvsp[(2) - (4)]); i <= (yyvsp[(4) - (4)]); ++i ) - ccladd( (yyvsp[(1) - (4)]), i ); + for ( i = (yyvsp[-2]); i <= (yyvsp[0]); ++i ) + ccladd( (yyvsp[-3]), i ); /* Keep track if this ccl is staying in * alphabetical order. */ - cclsorted = cclsorted && ((yyvsp[(2) - (4)]) > lastchar); - lastchar = (yyvsp[(4) - (4)]); + cclsorted = cclsorted && ((yyvsp[-2]) > lastchar); + lastchar = (yyvsp[0]); /* Do it again for upper/lowercase */ - if (sf_case_ins() && has_case((yyvsp[(2) - (4)])) && has_case((yyvsp[(4) - (4)]))){ - (yyvsp[(2) - (4)]) = reverse_case ((yyvsp[(2) - (4)])); - (yyvsp[(4) - (4)]) = reverse_case ((yyvsp[(4) - (4)])); + if (sf_case_ins() && has_case((yyvsp[-2])) && has_case((yyvsp[0]))){ + (yyvsp[-2]) = reverse_case ((yyvsp[-2])); + (yyvsp[0]) = reverse_case ((yyvsp[0])); - for ( i = (yyvsp[(2) - (4)]); i <= (yyvsp[(4) - (4)]); ++i ) - ccladd( (yyvsp[(1) - (4)]), i ); + for ( i = (yyvsp[-2]); i <= (yyvsp[0]); ++i ) + ccladd( (yyvsp[-3]), i ); - cclsorted = cclsorted && ((yyvsp[(2) - (4)]) > lastchar); - lastchar = (yyvsp[(4) - (4)]); + cclsorted = cclsorted && ((yyvsp[-2]) > lastchar); + lastchar = (yyvsp[0]); } } - (yyval) = (yyvsp[(1) - (4)]); + (yyval) = (yyvsp[-3]); } +#line 2353 "parse.c" /* yacc.c:1646 */ break; case 69: - -/* Line 1455 of yacc.c */ -#line 850 "parse.y" +#line 852 "parse.y" /* yacc.c:1646 */ { - ccladd( (yyvsp[(1) - (2)]), (yyvsp[(2) - (2)]) ); - cclsorted = cclsorted && ((yyvsp[(2) - (2)]) > lastchar); - lastchar = (yyvsp[(2) - (2)]); + ccladd( (yyvsp[-1]), (yyvsp[0]) ); + cclsorted = cclsorted && ((yyvsp[0]) > lastchar); + lastchar = (yyvsp[0]); /* Do it again for upper/lowercase */ - if (sf_case_ins() && has_case((yyvsp[(2) - (2)]))){ - (yyvsp[(2) - (2)]) = reverse_case ((yyvsp[(2) - (2)])); - ccladd ((yyvsp[(1) - (2)]), (yyvsp[(2) - (2)])); + if (sf_case_ins() && has_case((yyvsp[0]))){ + (yyvsp[0]) = reverse_case ((yyvsp[0])); + ccladd ((yyvsp[-1]), (yyvsp[0])); - cclsorted = cclsorted && ((yyvsp[(2) - (2)]) > lastchar); - lastchar = (yyvsp[(2) - (2)]); + cclsorted = cclsorted && ((yyvsp[0]) > lastchar); + lastchar = (yyvsp[0]); } - (yyval) = (yyvsp[(1) - (2)]); + (yyval) = (yyvsp[-1]); } +#line 2374 "parse.c" /* yacc.c:1646 */ break; case 70: - -/* Line 1455 of yacc.c */ -#line 868 "parse.y" +#line 870 "parse.y" /* yacc.c:1646 */ { /* Too hard to properly maintain cclsorted. */ cclsorted = false; - (yyval) = (yyvsp[(1) - (2)]); + (yyval) = (yyvsp[-1]); } +#line 2384 "parse.c" /* yacc.c:1646 */ break; case 71: - -/* Line 1455 of yacc.c */ -#line 875 "parse.y" +#line 877 "parse.y" /* yacc.c:1646 */ { cclsorted = true; lastchar = 0; currccl = (yyval) = cclinit(); } +#line 2394 "parse.c" /* yacc.c:1646 */ break; case 72: - -/* Line 1455 of yacc.c */ -#line 883 "parse.y" +#line 885 "parse.y" /* yacc.c:1646 */ { CCL_EXPR(isalnum); } +#line 2400 "parse.c" /* yacc.c:1646 */ break; case 73: - -/* Line 1455 of yacc.c */ -#line 884 "parse.y" +#line 886 "parse.y" /* yacc.c:1646 */ { CCL_EXPR(isalpha); } +#line 2406 "parse.c" /* yacc.c:1646 */ break; case 74: - -/* Line 1455 of yacc.c */ -#line 885 "parse.y" +#line 887 "parse.y" /* yacc.c:1646 */ { CCL_EXPR(IS_BLANK); } +#line 2412 "parse.c" /* yacc.c:1646 */ break; case 75: - -/* Line 1455 of yacc.c */ -#line 886 "parse.y" +#line 888 "parse.y" /* yacc.c:1646 */ { CCL_EXPR(iscntrl); } +#line 2418 "parse.c" /* yacc.c:1646 */ break; case 76: - -/* Line 1455 of yacc.c */ -#line 887 "parse.y" +#line 889 "parse.y" /* yacc.c:1646 */ { CCL_EXPR(isdigit); } +#line 2424 "parse.c" /* yacc.c:1646 */ break; case 77: - -/* Line 1455 of yacc.c */ -#line 888 "parse.y" +#line 890 "parse.y" /* yacc.c:1646 */ { CCL_EXPR(isgraph); } +#line 2430 "parse.c" /* yacc.c:1646 */ break; case 78: - -/* Line 1455 of yacc.c */ -#line 889 "parse.y" +#line 891 "parse.y" /* yacc.c:1646 */ { CCL_EXPR(islower); if (sf_case_ins()) CCL_EXPR(isupper); } +#line 2440 "parse.c" /* yacc.c:1646 */ break; case 79: - -/* Line 1455 of yacc.c */ -#line 894 "parse.y" +#line 896 "parse.y" /* yacc.c:1646 */ { CCL_EXPR(isprint); } +#line 2446 "parse.c" /* yacc.c:1646 */ break; case 80: - -/* Line 1455 of yacc.c */ -#line 895 "parse.y" +#line 897 "parse.y" /* yacc.c:1646 */ { CCL_EXPR(ispunct); } +#line 2452 "parse.c" /* yacc.c:1646 */ break; case 81: - -/* Line 1455 of yacc.c */ -#line 896 "parse.y" +#line 898 "parse.y" /* yacc.c:1646 */ { CCL_EXPR(isspace); } +#line 2458 "parse.c" /* yacc.c:1646 */ break; case 82: - -/* Line 1455 of yacc.c */ -#line 897 "parse.y" +#line 899 "parse.y" /* yacc.c:1646 */ { CCL_EXPR(isxdigit); } +#line 2464 "parse.c" /* yacc.c:1646 */ break; case 83: - -/* Line 1455 of yacc.c */ -#line 898 "parse.y" +#line 900 "parse.y" /* yacc.c:1646 */ { CCL_EXPR(isupper); if (sf_case_ins()) CCL_EXPR(islower); } +#line 2474 "parse.c" /* yacc.c:1646 */ break; case 84: - -/* Line 1455 of yacc.c */ -#line 904 "parse.y" +#line 906 "parse.y" /* yacc.c:1646 */ { CCL_NEG_EXPR(isalnum); } +#line 2480 "parse.c" /* yacc.c:1646 */ break; case 85: - -/* Line 1455 of yacc.c */ -#line 905 "parse.y" +#line 907 "parse.y" /* yacc.c:1646 */ { CCL_NEG_EXPR(isalpha); } +#line 2486 "parse.c" /* yacc.c:1646 */ break; case 86: - -/* Line 1455 of yacc.c */ -#line 906 "parse.y" +#line 908 "parse.y" /* yacc.c:1646 */ { CCL_NEG_EXPR(IS_BLANK); } +#line 2492 "parse.c" /* yacc.c:1646 */ break; case 87: - -/* Line 1455 of yacc.c */ -#line 907 "parse.y" +#line 909 "parse.y" /* yacc.c:1646 */ { CCL_NEG_EXPR(iscntrl); } +#line 2498 "parse.c" /* yacc.c:1646 */ break; case 88: - -/* Line 1455 of yacc.c */ -#line 908 "parse.y" +#line 910 "parse.y" /* yacc.c:1646 */ { CCL_NEG_EXPR(isdigit); } +#line 2504 "parse.c" /* yacc.c:1646 */ break; case 89: - -/* Line 1455 of yacc.c */ -#line 909 "parse.y" +#line 911 "parse.y" /* yacc.c:1646 */ { CCL_NEG_EXPR(isgraph); } +#line 2510 "parse.c" /* yacc.c:1646 */ break; case 90: - -/* Line 1455 of yacc.c */ -#line 910 "parse.y" +#line 912 "parse.y" /* yacc.c:1646 */ { CCL_NEG_EXPR(isprint); } +#line 2516 "parse.c" /* yacc.c:1646 */ break; case 91: - -/* Line 1455 of yacc.c */ -#line 911 "parse.y" +#line 913 "parse.y" /* yacc.c:1646 */ { CCL_NEG_EXPR(ispunct); } +#line 2522 "parse.c" /* yacc.c:1646 */ break; case 92: - -/* Line 1455 of yacc.c */ -#line 912 "parse.y" +#line 914 "parse.y" /* yacc.c:1646 */ { CCL_NEG_EXPR(isspace); } +#line 2528 "parse.c" /* yacc.c:1646 */ break; case 93: - -/* Line 1455 of yacc.c */ -#line 913 "parse.y" +#line 915 "parse.y" /* yacc.c:1646 */ { CCL_NEG_EXPR(isxdigit); } +#line 2534 "parse.c" /* yacc.c:1646 */ break; case 94: - -/* Line 1455 of yacc.c */ -#line 914 "parse.y" +#line 916 "parse.y" /* yacc.c:1646 */ { if ( sf_case_ins() ) - warn(_("[:^lower:] is ambiguous in case insensitive scanner")); + lwarn(_("[:^lower:] is ambiguous in case insensitive scanner")); else CCL_NEG_EXPR(islower); } +#line 2545 "parse.c" /* yacc.c:1646 */ break; case 95: - -/* Line 1455 of yacc.c */ -#line 920 "parse.y" +#line 922 "parse.y" /* yacc.c:1646 */ { if ( sf_case_ins() ) - warn(_("[:^upper:] ambiguous in case insensitive scanner")); + lwarn(_("[:^upper:] ambiguous in case insensitive scanner")); else CCL_NEG_EXPR(isupper); } +#line 2556 "parse.c" /* yacc.c:1646 */ break; case 96: - -/* Line 1455 of yacc.c */ -#line 929 "parse.y" +#line 931 "parse.y" /* yacc.c:1646 */ { - if ( (yyvsp[(2) - (2)]) == nlch ) + if ( (yyvsp[0]) == nlch ) rule_has_nl[num_rules] = true; ++rulelen; - if (sf_case_ins() && has_case((yyvsp[(2) - (2)]))) - (yyval) = mkor (mkstate((yyvsp[(2) - (2)])), mkstate(reverse_case((yyvsp[(2) - (2)])))); + if (sf_case_ins() && has_case((yyvsp[0]))) + (yyval) = mkor (mkstate((yyvsp[0])), mkstate(reverse_case((yyvsp[0])))); else - (yyval) = mkstate ((yyvsp[(2) - (2)])); + (yyval) = mkstate ((yyvsp[0])); - (yyval) = link_machines( (yyvsp[(1) - (2)]), (yyval)); + (yyval) = link_machines( (yyvsp[-1]), (yyval)); } +#line 2574 "parse.c" /* yacc.c:1646 */ break; case 97: - -/* Line 1455 of yacc.c */ -#line 944 "parse.y" +#line 946 "parse.y" /* yacc.c:1646 */ { (yyval) = mkstate( SYM_EPSILON ); } +#line 2580 "parse.c" /* yacc.c:1646 */ break; - -/* Line 1455 of yacc.c */ -#line 2817 "parse.c" +#line 2584 "parse.c" /* yacc.c:1646 */ default: break; } + /* User semantic actions sometimes alter yychar, and that requires + that yytoken be updated with the new translation. We take the + approach of translating immediately before every use of yytoken. + One alternative is translating here after every semantic action, + but that translation would be missed if the semantic action invokes + YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or + if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an + incorrect destructor might then be invoked immediately. In the + case of YYERROR or YYBACKUP, subsequent parser actions might lead + to an incorrect destructor call or verbose syntax error message + before the lookahead is translated. */ YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); YYPOPSTACK (yylen); @@ -2824,7 +2602,7 @@ yyparse () *++yyvsp = yyval; - /* Now `shift' the result of the reduction. Determine what state + /* Now 'shift' the result of the reduction. Determine what state that goes to, based on the state we popped back to and the rule number reduced by. */ @@ -2839,10 +2617,14 @@ yyparse () goto yynewstate; -/*------------------------------------. -| yyerrlab -- here on detecting error | -`------------------------------------*/ +/*--------------------------------------. +| yyerrlab -- here on detecting error. | +`--------------------------------------*/ yyerrlab: + /* Make sure we have latest lookahead translation. See comments at + user semantic actions for why this is necessary. */ + yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar); + /* If not already recovering from an error, report this error. */ if (!yyerrstatus) { @@ -2850,37 +2632,36 @@ yyparse () #if ! YYERROR_VERBOSE yyerror (YY_("syntax error")); #else +# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \ + yyssp, yytoken) { - YYSIZE_T yysize = yysyntax_error (0, yystate, yychar); - if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM) - { - YYSIZE_T yyalloc = 2 * yysize; - if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM)) - yyalloc = YYSTACK_ALLOC_MAXIMUM; - if (yymsg != yymsgbuf) - YYSTACK_FREE (yymsg); - yymsg = (char *) YYSTACK_ALLOC (yyalloc); - if (yymsg) - yymsg_alloc = yyalloc; - else - { - yymsg = yymsgbuf; - yymsg_alloc = sizeof yymsgbuf; - } - } - - if (0 < yysize && yysize <= yymsg_alloc) - { - (void) yysyntax_error (yymsg, yystate, yychar); - yyerror (yymsg); - } - else - { - yyerror (YY_("syntax error")); - if (yysize != 0) - goto yyexhaustedlab; - } + char const *yymsgp = YY_("syntax error"); + int yysyntax_error_status; + yysyntax_error_status = YYSYNTAX_ERROR; + if (yysyntax_error_status == 0) + yymsgp = yymsg; + else if (yysyntax_error_status == 1) + { + if (yymsg != yymsgbuf) + YYSTACK_FREE (yymsg); + yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc); + if (!yymsg) + { + yymsg = yymsgbuf; + yymsg_alloc = sizeof yymsgbuf; + yysyntax_error_status = 2; + } + else + { + yysyntax_error_status = YYSYNTAX_ERROR; + yymsgp = yymsg; + } + } + yyerror (yymsgp); + if (yysyntax_error_status == 2) + goto yyexhaustedlab; } +# undef YYSYNTAX_ERROR #endif } @@ -2889,20 +2670,20 @@ yyparse () if (yyerrstatus == 3) { /* If just tried and failed to reuse lookahead token after an - error, discard it. */ + error, discard it. */ if (yychar <= YYEOF) - { - /* Return failure if at end of input. */ - if (yychar == YYEOF) - YYABORT; - } + { + /* Return failure if at end of input. */ + if (yychar == YYEOF) + YYABORT; + } else - { - yydestruct ("Error: discarding", - yytoken, &yylval); - yychar = YYEMPTY; - } + { + yydestruct ("Error: discarding", + yytoken, &yylval); + yychar = YYEMPTY; + } } /* Else will try to reuse lookahead token after shifting the error @@ -2921,7 +2702,7 @@ yyparse () if (/*CONSTCOND*/ 0) goto yyerrorlab; - /* Do not reclaim the symbols of the rule which action triggered + /* Do not reclaim the symbols of the rule whose action triggered this YYERROR. */ YYPOPSTACK (yylen); yylen = 0; @@ -2934,35 +2715,37 @@ yyparse () | yyerrlab1 -- common code for both syntax error and YYERROR. | `-------------------------------------------------------------*/ yyerrlab1: - yyerrstatus = 3; /* Each real token shifted decrements this. */ + yyerrstatus = 3; /* Each real token shifted decrements this. */ for (;;) { yyn = yypact[yystate]; - if (yyn != YYPACT_NINF) - { - yyn += YYTERROR; - if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) - { - yyn = yytable[yyn]; - if (0 < yyn) - break; - } - } + if (!yypact_value_is_default (yyn)) + { + yyn += YYTERROR; + if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) + { + yyn = yytable[yyn]; + if (0 < yyn) + break; + } + } /* Pop the current state because it cannot handle the error token. */ if (yyssp == yyss) - YYABORT; + YYABORT; yydestruct ("Error: popping", - yystos[yystate], yyvsp); + yystos[yystate], yyvsp); YYPOPSTACK (1); yystate = *yyssp; YY_STACK_PRINT (yyss, yyssp); } + YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN *++yyvsp = yylval; + YY_IGNORE_MAYBE_UNINITIALIZED_END /* Shift the error token. */ @@ -2986,7 +2769,7 @@ yyparse () yyresult = 1; goto yyreturn; -#if !defined(yyoverflow) || YYERROR_VERBOSE +#if !defined yyoverflow || YYERROR_VERBOSE /*-------------------------------------------------. | yyexhaustedlab -- memory exhaustion comes here. | `-------------------------------------------------*/ @@ -2998,16 +2781,21 @@ yyparse () yyreturn: if (yychar != YYEMPTY) - yydestruct ("Cleanup: discarding lookahead", - yytoken, &yylval); - /* Do not reclaim the symbols of the rule which action triggered + { + /* Make sure we have latest lookahead translation. See comments at + user semantic actions for why this is necessary. */ + yytoken = YYTRANSLATE (yychar); + yydestruct ("Cleanup: discarding lookahead", + yytoken, &yylval); + } + /* Do not reclaim the symbols of the rule whose action triggered this YYABORT or YYACCEPT. */ YYPOPSTACK (yylen); YY_STACK_PRINT (yyss, yyssp); while (yyssp != yyss) { yydestruct ("Cleanup: popping", - yystos[*yyssp], yyvsp); + yystos[*yyssp], yyvsp); YYPOPSTACK (1); } #ifndef yyoverflow @@ -3018,14 +2806,9 @@ yyparse () if (yymsg != yymsgbuf) YYSTACK_FREE (yymsg); #endif - /* Make sure YYID is used. */ - return YYID (yyresult); + return yyresult; } - - - -/* Line 1675 of yacc.c */ -#line 947 "parse.y" +#line 949 "parse.y" /* yacc.c:1906 */ @@ -3033,9 +2816,9 @@ yyparse () * conditions */ -void build_eof_action() +void build_eof_action(void) { - register int i; + int i; char action_text[MAXLINE]; for ( i = 1; i <= scon_stk_ptr; ++i ) @@ -3058,7 +2841,8 @@ void build_eof_action() } } - line_directive_out( (FILE *) 0, 1 ); + line_directive_out(NULL, 1); + add_action("[["); /* This isn't a normal rule after all - don't count it as * such, so we don't have any holes in the rule numbering @@ -3072,8 +2856,7 @@ void build_eof_action() /* format_synerr - write out formatted syntax error */ -void format_synerr( msg, arg ) -const char *msg, arg[]; +void format_synerr( const char *msg, const char arg[] ) { char errmsg[MAXLINE]; @@ -3084,8 +2867,7 @@ const char *msg, arg[]; /* synerr - report a syntax error */ -void synerr( str ) -const char *str; +void synerr( const char *str ) { syntaxerror = true; pinpoint_message( str ); @@ -3094,20 +2876,18 @@ const char *str; /* format_warn - write out formatted warning */ -void format_warn( msg, arg ) -const char *msg, arg[]; +void format_warn( const char *msg, const char arg[] ) { char warn_msg[MAXLINE]; snprintf( warn_msg, sizeof(warn_msg), msg, arg ); - warn( warn_msg ); + lwarn( warn_msg ); } -/* warn - report a warning, unless -w was given */ +/* lwarn - report a warning, unless -w was given */ -void warn( str ) -const char *str; +void lwarn( const char *str ) { line_warning( str, linenum ); } @@ -3116,8 +2896,7 @@ const char *str; * pinpointing its location */ -void format_pinpoint_message( msg, arg ) -const char *msg, arg[]; +void format_pinpoint_message( const char *msg, const char arg[] ) { char errmsg[MAXLINE]; @@ -3128,8 +2907,7 @@ const char *msg, arg[]; /* pinpoint_message - write out a message, pinpointing its location */ -void pinpoint_message( str ) -const char *str; +void pinpoint_message( const char *str ) { line_pinpoint( str, linenum ); } @@ -3137,9 +2915,7 @@ const char *str; /* line_warning - report a warning at a given line, unless -w was given */ -void line_warning( str, line ) -const char *str; -int line; +void line_warning( const char *str, int line ) { char warning[MAXLINE]; @@ -3153,9 +2929,7 @@ int line; /* line_pinpoint - write out a message, pinpointing it at the given line */ -void line_pinpoint( str, line ) -const char *str; -int line; +void line_pinpoint( const char *str, int line ) { fprintf( stderr, "%s:%d: %s\n", infilename, line, str ); } @@ -3165,8 +2939,7 @@ int line; * currently, messages are ignore */ -void yyerror( msg ) -const char *msg; +void yyerror( const char *msg ) { + (void)msg; } - diff --git a/parse.h b/src/parse.h similarity index 58% rename from parse.h rename to src/parse.h index 21bdec0cc77c..8d35287ecbd7 100644 --- a/parse.h +++ b/src/parse.h @@ -1,21 +1,19 @@ +/* A Bison parser, made by GNU Bison 3.0.4. */ -/* A Bison parser, made by GNU Bison 2.4.1. */ +/* Bison interface for Yacc-like parsers in C + + Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc. -/* Skeleton interface for Bison's Yacc-like parsers in C - - Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 - Free Software Foundation, Inc. - This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. - + This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - + You should have received a copy of the GNU General Public License along with this program. If not, see . */ @@ -28,63 +26,71 @@ special exception, which will cause the skeleton and the resulting Bison output files to be licensed under the GNU General Public License without this special exception. - + This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ +#ifndef YY_YY_PARSE_H_INCLUDED +# define YY_YY_PARSE_H_INCLUDED +/* Debug traces. */ +#ifndef YYDEBUG +# define YYDEBUG 0 +#endif +#if YYDEBUG +extern int yydebug; +#endif -/* Tokens. */ +/* Token type. */ #ifndef YYTOKENTYPE # define YYTOKENTYPE - /* Put the tokens into the symbol table, so that GDB and other debuggers - know about them. */ - enum yytokentype { - CHAR = 258, - NUMBER = 259, - SECTEND = 260, - SCDECL = 261, - XSCDECL = 262, - NAME = 263, - PREVCCL = 264, - EOF_OP = 265, - OPTION_OP = 266, - OPT_OUTFILE = 267, - OPT_PREFIX = 268, - OPT_YYCLASS = 269, - OPT_HEADER = 270, - OPT_EXTRA_TYPE = 271, - OPT_TABLES = 272, - CCE_ALNUM = 273, - CCE_ALPHA = 274, - CCE_BLANK = 275, - CCE_CNTRL = 276, - CCE_DIGIT = 277, - CCE_GRAPH = 278, - CCE_LOWER = 279, - CCE_PRINT = 280, - CCE_PUNCT = 281, - CCE_SPACE = 282, - CCE_UPPER = 283, - CCE_XDIGIT = 284, - CCE_NEG_ALNUM = 285, - CCE_NEG_ALPHA = 286, - CCE_NEG_BLANK = 287, - CCE_NEG_CNTRL = 288, - CCE_NEG_DIGIT = 289, - CCE_NEG_GRAPH = 290, - CCE_NEG_LOWER = 291, - CCE_NEG_PRINT = 292, - CCE_NEG_PUNCT = 293, - CCE_NEG_SPACE = 294, - CCE_NEG_UPPER = 295, - CCE_NEG_XDIGIT = 296, - CCL_OP_UNION = 297, - CCL_OP_DIFF = 298, - BEGIN_REPEAT_POSIX = 299, - END_REPEAT_POSIX = 300, - BEGIN_REPEAT_FLEX = 301, - END_REPEAT_FLEX = 302 - }; + enum yytokentype + { + CHAR = 258, + NUMBER = 259, + SECTEND = 260, + SCDECL = 261, + XSCDECL = 262, + NAME = 263, + PREVCCL = 264, + EOF_OP = 265, + TOK_OPTION = 266, + TOK_OUTFILE = 267, + TOK_PREFIX = 268, + TOK_YYCLASS = 269, + TOK_HEADER_FILE = 270, + TOK_EXTRA_TYPE = 271, + TOK_TABLES_FILE = 272, + CCE_ALNUM = 273, + CCE_ALPHA = 274, + CCE_BLANK = 275, + CCE_CNTRL = 276, + CCE_DIGIT = 277, + CCE_GRAPH = 278, + CCE_LOWER = 279, + CCE_PRINT = 280, + CCE_PUNCT = 281, + CCE_SPACE = 282, + CCE_UPPER = 283, + CCE_XDIGIT = 284, + CCE_NEG_ALNUM = 285, + CCE_NEG_ALPHA = 286, + CCE_NEG_BLANK = 287, + CCE_NEG_CNTRL = 288, + CCE_NEG_DIGIT = 289, + CCE_NEG_GRAPH = 290, + CCE_NEG_LOWER = 291, + CCE_NEG_PRINT = 292, + CCE_NEG_PUNCT = 293, + CCE_NEG_SPACE = 294, + CCE_NEG_UPPER = 295, + CCE_NEG_XDIGIT = 296, + CCL_OP_DIFF = 297, + CCL_OP_UNION = 298, + BEGIN_REPEAT_POSIX = 299, + END_REPEAT_POSIX = 300, + BEGIN_REPEAT_FLEX = 301, + END_REPEAT_FLEX = 302 + }; #endif /* Tokens. */ #define CHAR 258 @@ -95,13 +101,13 @@ #define NAME 263 #define PREVCCL 264 #define EOF_OP 265 -#define OPTION_OP 266 -#define OPT_OUTFILE 267 -#define OPT_PREFIX 268 -#define OPT_YYCLASS 269 -#define OPT_HEADER 270 -#define OPT_EXTRA_TYPE 271 -#define OPT_TABLES 272 +#define TOK_OPTION 266 +#define TOK_OUTFILE 267 +#define TOK_PREFIX 268 +#define TOK_YYCLASS 269 +#define TOK_HEADER_FILE 270 +#define TOK_EXTRA_TYPE 271 +#define TOK_TABLES_FILE 272 #define CCE_ALNUM 273 #define CCE_ALPHA 274 #define CCE_BLANK 275 @@ -126,23 +132,23 @@ #define CCE_NEG_SPACE 294 #define CCE_NEG_UPPER 295 #define CCE_NEG_XDIGIT 296 -#define CCL_OP_UNION 297 -#define CCL_OP_DIFF 298 +#define CCL_OP_DIFF 297 +#define CCL_OP_UNION 298 #define BEGIN_REPEAT_POSIX 299 #define END_REPEAT_POSIX 300 #define BEGIN_REPEAT_FLEX 301 #define END_REPEAT_FLEX 302 - - - +/* Value type. */ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef int YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 -# define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 #endif + extern YYSTYPE yylval; +int yyparse (void); +#endif /* !YY_YY_PARSE_H_INCLUDED */ diff --git a/parse.y b/src/parse.y similarity index 93% rename from parse.y rename to src/parse.y index bbc738c8d4c9..5a0732066874 100644 --- a/parse.y +++ b/src/parse.y @@ -1,8 +1,8 @@ /* parse.y - parser for flex input */ %token CHAR NUMBER SECTEND SCDECL XSCDECL NAME PREVCCL EOF_OP -%token OPTION_OP OPT_OUTFILE OPT_PREFIX OPT_YYCLASS OPT_HEADER OPT_EXTRA_TYPE -%token OPT_TABLES +%token TOK_OPTION TOK_OUTFILE TOK_PREFIX TOK_YYCLASS TOK_HEADER_FILE TOK_EXTRA_TYPE +%token TOK_TABLES_FILE %token CCE_ALNUM CCE_ALPHA CCE_BLANK CCE_CNTRL CCE_DIGIT CCE_GRAPH %token CCE_LOWER CCE_PRINT CCE_PUNCT CCE_SPACE CCE_UPPER CCE_XDIGIT @@ -80,7 +80,7 @@ int previous_continued_action; /* whether the previous rule's action was '|' */ do{ \ char fw3_msg[MAXLINE];\ snprintf( fw3_msg, MAXLINE,(fmt), (a1), (a2) );\ - warn( fw3_msg );\ + lwarn( fw3_msg );\ }while(0) /* Expand a POSIX character class expression. */ @@ -140,7 +140,7 @@ goal : initlex sect1 sect1end sect2 initforrule else add_action( "ECHO" ); - add_action( ";\n\tYY_BREAK\n" ); + add_action( ";\n\tYY_BREAK]]\n" ); } ; @@ -184,28 +184,30 @@ namelist1 : namelist1 NAME { synerr( _("bad start condition list") ); } ; -options : OPTION_OP optionlist +options : TOK_OPTION optionlist ; optionlist : optionlist option | ; -option : OPT_OUTFILE '=' NAME +option : TOK_OUTFILE '=' NAME { - outfilename = copy_string( nmstr ); + outfilename = xstrdup(nmstr); did_outfilename = 1; } - | OPT_EXTRA_TYPE '=' NAME - { extra_type = copy_string( nmstr ); } - | OPT_PREFIX '=' NAME - { prefix = copy_string( nmstr ); } - | OPT_YYCLASS '=' NAME - { yyclass = copy_string( nmstr ); } - | OPT_HEADER '=' NAME - { headerfilename = copy_string( nmstr ); } - | OPT_TABLES '=' NAME - { tablesext = true; tablesfilename = copy_string( nmstr ); } + | TOK_EXTRA_TYPE '=' NAME + { extra_type = xstrdup(nmstr); } + | TOK_PREFIX '=' NAME + { prefix = xstrdup(nmstr); + if (strchr(prefix, '[') || strchr(prefix, ']')) + flexerror(_("Prefix must not contain [ or ]")); } + | TOK_YYCLASS '=' NAME + { yyclass = xstrdup(nmstr); } + | TOK_HEADER_FILE '=' NAME + { headerfilename = xstrdup(nmstr); } + | TOK_TABLES_FILE '=' NAME + { tablesext = true; tablesfilename = xstrdup(nmstr); } ; sect2 : sect2 scon initforrule flexrule '\n' @@ -303,7 +305,7 @@ flexrule : '^' rule scon_stk[++scon_stk_ptr] = i; if ( scon_stk_ptr == 0 ) - warn( + lwarn( "all start conditions already have <> rules" ); else @@ -398,7 +400,7 @@ rule : re2 re * erroneously. */ if ( ! varlength || headcnt != 0 ) - warn( + lwarn( "trailing context made variable due to preceding '|' action" ); /* Mark as variable. */ @@ -453,7 +455,7 @@ rule : re2 re /* See the comment in the rule for "re2 re" * above. */ - warn( + lwarn( "trailing context made variable due to preceding '|' action" ); varlength = true; @@ -725,7 +727,7 @@ singleton : singleton '*' { /* Sort characters for fast searching. */ - qsort( ccltbl + cclmap[$1], ccllen[$1], sizeof (*ccltbl), cclcmp ); + qsort( ccltbl + cclmap[$1], (size_t) ccllen[$1], sizeof (*ccltbl), cclcmp ); if ( useecs ) mkeccl( ccltbl + cclmap[$1], ccllen[$1], @@ -913,13 +915,13 @@ ccl_expr: | CCE_NEG_XDIGIT { CCL_NEG_EXPR(isxdigit); } | CCE_NEG_LOWER { if ( sf_case_ins() ) - warn(_("[:^lower:] is ambiguous in case insensitive scanner")); + lwarn(_("[:^lower:] is ambiguous in case insensitive scanner")); else CCL_NEG_EXPR(islower); } | CCE_NEG_UPPER { if ( sf_case_ins() ) - warn(_("[:^upper:] ambiguous in case insensitive scanner")); + lwarn(_("[:^upper:] ambiguous in case insensitive scanner")); else CCL_NEG_EXPR(isupper); } @@ -951,9 +953,9 @@ string : string CHAR * conditions */ -void build_eof_action() +void build_eof_action(void) { - register int i; + int i; char action_text[MAXLINE]; for ( i = 1; i <= scon_stk_ptr; ++i ) @@ -976,7 +978,8 @@ void build_eof_action() } } - line_directive_out( (FILE *) 0, 1 ); + line_directive_out(NULL, 1); + add_action("[["); /* This isn't a normal rule after all - don't count it as * such, so we don't have any holes in the rule numbering @@ -990,8 +993,7 @@ void build_eof_action() /* format_synerr - write out formatted syntax error */ -void format_synerr( msg, arg ) -const char *msg, arg[]; +void format_synerr( const char *msg, const char arg[] ) { char errmsg[MAXLINE]; @@ -1002,8 +1004,7 @@ const char *msg, arg[]; /* synerr - report a syntax error */ -void synerr( str ) -const char *str; +void synerr( const char *str ) { syntaxerror = true; pinpoint_message( str ); @@ -1012,20 +1013,18 @@ const char *str; /* format_warn - write out formatted warning */ -void format_warn( msg, arg ) -const char *msg, arg[]; +void format_warn( const char *msg, const char arg[] ) { char warn_msg[MAXLINE]; snprintf( warn_msg, sizeof(warn_msg), msg, arg ); - warn( warn_msg ); + lwarn( warn_msg ); } -/* warn - report a warning, unless -w was given */ +/* lwarn - report a warning, unless -w was given */ -void warn( str ) -const char *str; +void lwarn( const char *str ) { line_warning( str, linenum ); } @@ -1034,8 +1033,7 @@ const char *str; * pinpointing its location */ -void format_pinpoint_message( msg, arg ) -const char *msg, arg[]; +void format_pinpoint_message( const char *msg, const char arg[] ) { char errmsg[MAXLINE]; @@ -1046,8 +1044,7 @@ const char *msg, arg[]; /* pinpoint_message - write out a message, pinpointing its location */ -void pinpoint_message( str ) -const char *str; +void pinpoint_message( const char *str ) { line_pinpoint( str, linenum ); } @@ -1055,9 +1052,7 @@ const char *str; /* line_warning - report a warning at a given line, unless -w was given */ -void line_warning( str, line ) -const char *str; -int line; +void line_warning( const char *str, int line ) { char warning[MAXLINE]; @@ -1071,9 +1066,7 @@ int line; /* line_pinpoint - write out a message, pinpointing it at the given line */ -void line_pinpoint( str, line ) -const char *str; -int line; +void line_pinpoint( const char *str, int line ) { fprintf( stderr, "%s:%d: %s\n", infilename, line, str ); } @@ -1083,7 +1076,7 @@ int line; * currently, messages are ignore */ -void yyerror( msg ) -const char *msg; +void yyerror( const char *msg ) { + (void)msg; } diff --git a/regex.c b/src/regex.c similarity index 85% rename from regex.c rename to src/regex.c index e12cf6501819..38e658bdf231 100644 --- a/regex.c +++ b/src/regex.c @@ -54,21 +54,17 @@ void flex_regcomp(regex_t *preg, const char *regex, int cflags) memset (preg, 0, sizeof (regex_t)); if ((err = regcomp (preg, regex, cflags)) != 0) { - const int errbuf_sz = 200; - char *errbuf, *rxerr; + const size_t errbuf_sz = 200; + char *errbuf; + int n; - errbuf = (char*)flex_alloc(errbuf_sz *sizeof(char)); + errbuf = malloc(errbuf_sz * sizeof(char)); if (!errbuf) flexfatal(_("Unable to allocate buffer to report regcomp")); - rxerr = (char*)flex_alloc(errbuf_sz *sizeof(char)); - if (!rxerr) - flexfatal(_("Unable to allocate buffer for regerror")); - regerror (err, preg, rxerr, errbuf_sz); - snprintf (errbuf, errbuf_sz, "regcomp for \"%s\" failed: %s", regex, rxerr); + n = snprintf(errbuf, errbuf_sz, "regcomp for \"%s\" failed: ", regex); + regerror(err, preg, errbuf+n, errbuf_sz-(size_t)n); - flexfatal (errbuf); - free(errbuf); - free(rxerr); + flexfatal (errbuf); /* never returns - no need to free(errbuf) */ } } @@ -80,12 +76,12 @@ void flex_regcomp(regex_t *preg, const char *regex, int cflags) char *regmatch_dup (regmatch_t * m, const char *src) { char *str; - int len; + size_t len; - if (m == NULL || m->rm_so < 0) + if (m == NULL || m->rm_so < 0 || m->rm_eo < m->rm_so) return NULL; - len = m->rm_eo - m->rm_so; - str = (char *) flex_alloc ((len + 1) * sizeof (char)); + len = (size_t) (m->rm_eo - m->rm_so); + str = malloc((len + 1) * sizeof(char)); if (!str) flexfatal(_("Unable to allocate a copy of the match")); strncpy (str, src + m->rm_so, len); @@ -107,13 +103,12 @@ char *regmatch_cpy (regmatch_t * m, char *dest, const char *src) return dest; } - snprintf (dest, regmatch_len(m), "%s", src + m->rm_so); + snprintf (dest, (size_t) regmatch_len(m), "%s", src + m->rm_so); return dest; } /** Get the length in characters of the match. * @param m A match as returned by regexec(). - * @param src The source string that was passed to regexec(). * @return The length of the match. */ int regmatch_len (regmatch_t * m) @@ -151,7 +146,7 @@ int regmatch_strtol (regmatch_t * m, const char *src, char **endptr, else s = regmatch_dup (m, src); - n = strtol (s, endptr, base); + n = (int) strtol (s, endptr, base); if (s != buf) free (s); diff --git a/src/scan.c b/src/scan.c new file mode 100644 index 000000000000..619c998e0c44 --- /dev/null +++ b/src/scan.c @@ -0,0 +1,5235 @@ +#line 1 "scan.c" + +#line 3 "scan.c" + +#define YY_INT_ALIGNED short int + +/* A lexical scanner generated by flex */ + +#define FLEX_SCANNER +#define YY_FLEX_MAJOR_VERSION 2 +#define YY_FLEX_MINOR_VERSION 6 +#define YY_FLEX_SUBMINOR_VERSION 4 +#if YY_FLEX_SUBMINOR_VERSION > 0 +#define FLEX_BETA +#endif + +/* First, we deal with platform-specific or compiler-specific issues. */ + +/* begin standard C headers. */ +#include +#include +#include +#include + +/* end standard C headers. */ + +/* flex integer type definitions */ + +#ifndef FLEXINT_H +#define FLEXINT_H + +/* C99 systems have . Non-C99 systems may or may not. */ + +#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + +/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, + * if you want the limit (max/min) macros for int types. + */ +#ifndef __STDC_LIMIT_MACROS +#define __STDC_LIMIT_MACROS 1 +#endif + +#include +typedef int8_t flex_int8_t; +typedef uint8_t flex_uint8_t; +typedef int16_t flex_int16_t; +typedef uint16_t flex_uint16_t; +typedef int32_t flex_int32_t; +typedef uint32_t flex_uint32_t; +#else +typedef signed char flex_int8_t; +typedef short int flex_int16_t; +typedef int flex_int32_t; +typedef unsigned char flex_uint8_t; +typedef unsigned short int flex_uint16_t; +typedef unsigned int flex_uint32_t; + +/* Limits of integral types. */ +#ifndef INT8_MIN +#define INT8_MIN (-128) +#endif +#ifndef INT16_MIN +#define INT16_MIN (-32767-1) +#endif +#ifndef INT32_MIN +#define INT32_MIN (-2147483647-1) +#endif +#ifndef INT8_MAX +#define INT8_MAX (127) +#endif +#ifndef INT16_MAX +#define INT16_MAX (32767) +#endif +#ifndef INT32_MAX +#define INT32_MAX (2147483647) +#endif +#ifndef UINT8_MAX +#define UINT8_MAX (255U) +#endif +#ifndef UINT16_MAX +#define UINT16_MAX (65535U) +#endif +#ifndef UINT32_MAX +#define UINT32_MAX (4294967295U) +#endif + +#ifndef SIZE_MAX +#define SIZE_MAX (~(size_t)0) +#endif + +#endif /* ! C99 */ + +#endif /* ! FLEXINT_H */ + +/* begin standard C++ headers. */ + +/* TODO: this is always defined, so inline it */ +#define yyconst const + +#if defined(__GNUC__) && __GNUC__ >= 3 +#define yynoreturn __attribute__((__noreturn__)) +#else +#define yynoreturn +#endif + +/* Returned upon end-of-file. */ +#define YY_NULL 0 + +/* Promotes a possibly negative, possibly signed char to an + * integer in range [0..255] for use as an array index. + */ +#define YY_SC_TO_UI(c) ((YY_CHAR) (c)) + +/* Enter a start condition. This macro really ought to take a parameter, + * but we do it the disgusting crufty way forced on us by the ()-less + * definition of BEGIN. + */ +#define BEGIN (yy_start) = 1 + 2 * +/* Translate the current start state into a value that can be later handed + * to BEGIN to return to the state. The YYSTATE alias is for lex + * compatibility. + */ +#define YY_START (((yy_start) - 1) / 2) +#define YYSTATE YY_START +/* Action number for EOF rule of a given start state. */ +#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) +/* Special action meaning "start processing a new file". */ +#define YY_NEW_FILE yyrestart( yyin ) +#define YY_END_OF_BUFFER_CHAR 0 + +/* Size of default input buffer. */ +#ifndef YY_BUF_SIZE +#ifdef __ia64__ +/* On IA-64, the buffer size is 16k, not 8k. + * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case. + * Ditto for the __ia64__ case accordingly. + */ +#define YY_BUF_SIZE 32768 +#else +#define YY_BUF_SIZE 16384 +#endif /* __ia64__ */ +#endif + +/* The state buf must be large enough to hold one state per character in the main buffer. + */ +#define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type)) + +#ifndef YY_TYPEDEF_YY_BUFFER_STATE +#define YY_TYPEDEF_YY_BUFFER_STATE +typedef struct yy_buffer_state *YY_BUFFER_STATE; +#endif + +#ifndef YY_TYPEDEF_YY_SIZE_T +#define YY_TYPEDEF_YY_SIZE_T +typedef size_t yy_size_t; +#endif + +extern int yyleng; + +extern FILE *yyin, *yyout; + +#define EOB_ACT_CONTINUE_SCAN 0 +#define EOB_ACT_END_OF_FILE 1 +#define EOB_ACT_LAST_MATCH 2 + + #define YY_LESS_LINENO(n) + #define YY_LINENO_REWIND_TO(ptr) + +/* Return all but the first "n" matched characters back to the input stream. */ +#define yyless(n) \ + do \ + { \ + /* Undo effects of setting up yytext. */ \ + int yyless_macro_arg = (n); \ + YY_LESS_LINENO(yyless_macro_arg);\ + *yy_cp = (yy_hold_char); \ + YY_RESTORE_YY_MORE_OFFSET \ + (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \ + YY_DO_BEFORE_ACTION; /* set up yytext again */ \ + } \ + while ( 0 ) +#define unput(c) yyunput( c, (yytext_ptr) ) + +#ifndef YY_STRUCT_YY_BUFFER_STATE +#define YY_STRUCT_YY_BUFFER_STATE +struct yy_buffer_state + { + FILE *yy_input_file; + + char *yy_ch_buf; /* input buffer */ + char *yy_buf_pos; /* current position in input buffer */ + + /* Size of input buffer in bytes, not including room for EOB + * characters. + */ + int yy_buf_size; + + /* Number of characters read into yy_ch_buf, not including EOB + * characters. + */ + int yy_n_chars; + + /* Whether we "own" the buffer - i.e., we know we created it, + * and can realloc() it to grow it, and should free() it to + * delete it. + */ + int yy_is_our_buffer; + + /* Whether this is an "interactive" input source; if so, and + * if we're using stdio for input, then we want to use getc() + * instead of fread(), to make sure we stop fetching input after + * each newline. + */ + int yy_is_interactive; + + /* Whether we're considered to be at the beginning of a line. + * If so, '^' rules will be active on the next match, otherwise + * not. + */ + int yy_at_bol; + + int yy_bs_lineno; /**< The line count. */ + int yy_bs_column; /**< The column count. */ + + /* Whether to try to fill the input buffer when we reach the + * end of it. + */ + int yy_fill_buffer; + + int yy_buffer_status; + +#define YY_BUFFER_NEW 0 +#define YY_BUFFER_NORMAL 1 + /* When an EOF's been seen but there's still some text to process + * then we mark the buffer as YY_EOF_PENDING, to indicate that we + * shouldn't try reading from the input source any more. We might + * still have a bunch of tokens to match, though, because of + * possible backing-up. + * + * When we actually see the EOF, we change the status to "new" + * (via yyrestart()), so that the user can continue scanning by + * just pointing yyin at a new input file. + */ +#define YY_BUFFER_EOF_PENDING 2 + + }; +#endif /* !YY_STRUCT_YY_BUFFER_STATE */ + +/* Stack of input buffers. */ +static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */ +static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */ +static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */ + +/* We provide macros for accessing buffer states in case in the + * future we want to put the buffer states in a more general + * "scanner state". + * + * Returns the top of the stack, or NULL. + */ +#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \ + ? (yy_buffer_stack)[(yy_buffer_stack_top)] \ + : NULL) +/* Same as previous macro, but useful when we know that the buffer stack is not + * NULL or when we need an lvalue. For internal use only. + */ +#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)] + +/* yy_hold_char holds the character lost when yytext is formed. */ +static char yy_hold_char; +static int yy_n_chars; /* number of characters read into yy_ch_buf */ +int yyleng; + +/* Points to current character in buffer. */ +static char *yy_c_buf_p = NULL; +static int yy_init = 0; /* whether we need to initialize */ +static int yy_start = 0; /* start state number */ + +/* Flag which is used to allow yywrap()'s to do buffer switches + * instead of setting up a fresh yyin. A bit of a hack ... + */ +static int yy_did_buffer_switch_on_eof; + +void yyrestart ( FILE *input_file ); +void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer ); +YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size ); +void yy_delete_buffer ( YY_BUFFER_STATE b ); +void yy_flush_buffer ( YY_BUFFER_STATE b ); +void yypush_buffer_state ( YY_BUFFER_STATE new_buffer ); +void yypop_buffer_state ( void ); + +static void yyensure_buffer_stack ( void ); +static void yy_load_buffer_state ( void ); +static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file ); +#define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER ) + +YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size ); +YY_BUFFER_STATE yy_scan_string ( const char *yy_str ); +YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len ); + +void *yyalloc ( yy_size_t ); +void *yyrealloc ( void *, yy_size_t ); +void yyfree ( void * ); + +#define yy_new_buffer yy_create_buffer +#define yy_set_interactive(is_interactive) \ + { \ + if ( ! YY_CURRENT_BUFFER ){ \ + yyensure_buffer_stack (); \ + YY_CURRENT_BUFFER_LVALUE = \ + yy_create_buffer( yyin, YY_BUF_SIZE ); \ + } \ + YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \ + } +#define yy_set_bol(at_bol) \ + { \ + if ( ! YY_CURRENT_BUFFER ){\ + yyensure_buffer_stack (); \ + YY_CURRENT_BUFFER_LVALUE = \ + yy_create_buffer( yyin, YY_BUF_SIZE ); \ + } \ + YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ + } +#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) + +/* Begin user sect3 */ +typedef flex_uint8_t YY_CHAR; + +FILE *yyin = NULL, *yyout = NULL; + +typedef int yy_state_type; + +extern int yylineno; +int yylineno = 1; + +extern char *yytext; +#ifdef yytext_ptr +#undef yytext_ptr +#endif +#define yytext_ptr yytext + +static yy_state_type yy_get_previous_state ( void ); +static yy_state_type yy_try_NUL_trans ( yy_state_type current_state ); +static int yy_get_next_buffer ( void ); +static void yynoreturn yy_fatal_error ( const char* msg ); + +/* Done after the current pattern has been matched and before the + * corresponding action - sets up yytext. + */ +#define YY_DO_BEFORE_ACTION \ + (yytext_ptr) = yy_bp; \ + yyleng = (int) (yy_cp - yy_bp); \ + (yy_hold_char) = *yy_cp; \ + *yy_cp = '\0'; \ + (yy_c_buf_p) = yy_cp; +#define YY_NUM_RULES 253 +#define YY_END_OF_BUFFER 254 +/* This struct is not used in this scanner, + but its presence is necessary. */ +struct yy_trans_info + { + flex_int32_t yy_verify; + flex_int32_t yy_nxt; + }; +static const flex_int16_t yy_accept[1114] = + { 0, + 0, 0, 0, 0, 0, 0, 246, 246, 40, 40, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 21, 21, + 239, 239, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 21, 21, + 250, 250, 239, 239, 254, 252, 9, 20, 252, 18, + 1, 19, 252, 252, 252, 252, 17, 163, 148, 149, + 163, 141, 163, 160, 161, 162, 162, 163, 163, 163, + 162, 147, 137, 163, 163, 139, 140, 135, 136, 135, + 134, 133, 134, 246, 247, 247, 40, 42, 40, 41, + + 40, 40, 41, 41, 41, 50, 49, 51, 252, 169, + 169, 164, 169, 165, 166, 168, 170, 218, 219, 218, + 216, 215, 217, 171, 173, 171, 172, 171, 185, 185, + 185, 185, 187, 189, 187, 187, 187, 187, 188, 228, + 233, 228, 232, 231, 234, 229, 229, 229, 234, 234, + 226, 227, 252, 130, 252, 21, 23, 21, 22, 22, + 22, 235, 241, 235, 236, 242, 242, 242, 224, 224, + 225, 224, 224, 224, 224, 224, 224, 224, 129, 53, + 52, 129, 129, 129, 129, 54, 129, 129, 129, 129, + 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, + + 129, 129, 129, 129, 129, 129, 129, 36, 33, 36, + 34, 48, 45, 252, 48, 48, 44, 43, 175, 174, + 176, 177, 178, 179, 180, 181, 182, 31, 32, 31, + 30, 28, 29, 28, 27, 22, 250, 251, 251, 237, + 237, 238, 9, 20, 0, 18, 1, 19, 0, 0, + 0, 16, 10, 0, 0, 0, 0, 4, 16, 5, + 0, 2, 17, 148, 149, 0, 0, 0, 143, 0, + 159, 157, 0, 153, 153, 0, 243, 243, 243, 0, + 0, 142, 0, 147, 137, 0, 0, 0, 139, 140, + 152, 138, 0, 136, 134, 133, 131, 132, 246, 244, + + 245, 40, 42, 40, 40, 37, 38, 0, 50, 49, + 51, 0, 164, 0, 164, 167, 168, 219, 215, 173, + 0, 183, 184, 189, 186, 228, 233, 0, 0, 221, + 229, 229, 229, 0, 130, 0, 21, 23, 24, 235, + 241, 240, 239, 240, 0, 0, 225, 220, 0, 0, + 53, 52, 0, 128, 0, 0, 129, 129, 129, 129, + 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, + 129, 129, 129, 129, 129, 129, 55, 129, 129, 129, + 129, 129, 129, 129, 129, 129, 129, 129, 0, 35, + 34, 48, 45, 46, 47, 31, 32, 29, 26, 25, + + 250, 248, 249, 237, 0, 16, 10, 0, 14, 0, + 0, 0, 0, 0, 4, 16, 5, 0, 6, 0, + 144, 0, 145, 0, 158, 0, 153, 153, 0, 153, + 153, 153, 243, 243, 155, 154, 0, 156, 138, 146, + 0, 152, 0, 131, 132, 40, 40, 0, 39, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 230, 229, 229, 0, 0, 220, 0, 0, + 0, 0, 129, 129, 129, 129, 129, 129, 65, 129, + 129, 129, 70, 129, 129, 129, 129, 129, 129, 129, + 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, + + 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, + 129, 129, 129, 129, 129, 129, 129, 129, 0, 0, + 0, 0, 14, 0, 0, 0, 0, 0, 0, 4, + 8, 5, 0, 153, 153, 153, 153, 153, 153, 153, + 243, 156, 0, 0, 40, 40, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 229, 229, + 0, 0, 56, 57, 129, 129, 129, 129, 129, 129, + 129, 129, 129, 129, 71, 72, 129, 129, 129, 129, + 77, 78, 129, 129, 129, 129, 129, 129, 129, 83, + + 129, 129, 129, 129, 129, 129, 129, 129, 129, 92, + 129, 129, 129, 129, 129, 129, 129, 129, 129, 0, + 0, 0, 0, 15, 0, 0, 0, 0, 0, 8, + 8, 8, 0, 153, 153, 153, 153, 153, 153, 153, + 0, 0, 40, 40, 214, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 229, 229, + 0, 0, 58, 129, 60, 129, 62, 129, 129, 129, + 129, 68, 129, 129, 129, 73, 129, 129, 129, 129, + 129, 129, 129, 129, 129, 129, 129, 86, 129, 129, + + 129, 129, 90, 129, 129, 129, 129, 129, 129, 129, + 129, 129, 129, 0, 0, 0, 0, 3, 0, 0, + 0, 8, 7, 8, 0, 153, 153, 153, 0, 0, + 40, 40, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 222, 223, 222, 223, + 129, 61, 129, 129, 129, 129, 129, 129, 129, 125, + 129, 129, 129, 129, 129, 129, 129, 129, 123, 129, + 85, 129, 88, 129, 89, 129, 129, 129, 104, 0, + 129, 94, 129, 0, 95, 0, 0, 0, 0, 0, + + 12, 0, 13, 0, 151, 0, 150, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 129, 129, 129, 129, 129, 66, 129, 69, 129, + 129, 129, 129, 129, 129, 122, 129, 82, 129, 129, + 87, 129, 91, 102, 124, 0, 0, 0, 0, 0, + 0, 129, 129, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 150, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 129, 129, + + 129, 129, 129, 67, 129, 129, 129, 129, 79, 129, + 129, 129, 129, 129, 129, 0, 0, 113, 0, 0, + 0, 0, 0, 0, 93, 129, 0, 0, 114, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, + 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, + 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 129, 129, 129, 129, 129, 129, + 129, 129, 129, 129, 129, 129, 84, 129, 129, 0, + 0, 0, 0, 0, 0, 115, 0, 103, 0, 0, + 0, 0, 0, 116, 0, 0, 0, 0, 0, 201, + + 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, + 212, 0, 129, 129, 129, 129, 129, 121, 129, 129, + 75, 129, 129, 129, 129, 129, 0, 0, 109, 0, + 119, 117, 110, 0, 0, 0, 120, 118, 0, 0, + 0, 0, 0, 0, 213, 129, 129, 129, 129, 129, + 125, 74, 129, 81, 129, 126, 129, 105, 107, 0, + 106, 108, 0, 0, 0, 0, 0, 0, 0, 129, + 63, 129, 129, 129, 129, 76, 129, 111, 112, 97, + 0, 0, 0, 0, 98, 129, 129, 129, 129, 129, + 127, 96, 0, 100, 0, 129, 129, 129, 66, 129, + + 99, 101, 129, 64, 129, 129, 129, 67, 129, 129, + 80, 59, 0 + } ; + +static const YY_CHAR yy_ec[256] = + { 0, + 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, + 4, 4, 5, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 2, 1, 6, 7, 8, 9, 1, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 19, 19, 19, + 19, 19, 19, 19, 20, 21, 22, 23, 1, 24, + 25, 26, 27, 1, 28, 29, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, + 44, 45, 46, 47, 48, 49, 50, 51, 52, 44, + 53, 54, 55, 56, 57, 1, 58, 59, 60, 61, + + 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, + 72, 73, 44, 74, 75, 76, 77, 78, 79, 80, + 81, 44, 82, 83, 84, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1 + } ; + +static const YY_CHAR yy_meta[85] = + { 0, + 1, 1, 2, 1, 3, 4, 1, 1, 5, 6, + 1, 7, 8, 9, 1, 10, 1, 11, 12, 12, + 12, 12, 13, 1, 1, 1, 1, 14, 14, 14, + 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 15, 15, 16, 17, 18, 1, 19, 14, 14, 14, + 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 15, 20, 1, 21 + } ; + +static const flex_int16_t yy_base[1221] = + { 0, + 0, 84, 167, 250, 171, 184, 135, 142, 220, 231, + 196, 200, 334, 0, 3627, 3625, 211, 416, 203, 212, + 189, 225, 266, 417, 500, 0, 207, 208, 234, 421, + 424, 436, 583, 588, 669, 0, 294, 304, 584, 751, + 579, 580, 417, 576, 287, 306, 241, 441, 595, 608, + 169, 238, 440, 754, 3680, 4511, 325, 4511, 3676, 0, + 446, 4511, 3673, 430, 827, 3661, 0, 4511, 758, 4511, + 3650, 4511, 453, 3621, 4511, 4511, 3619, 3584, 129, 746, + 445, 766, 4511, 3604, 198, 3582, 4511, 4511, 4511, 3600, + 0, 3599, 214, 0, 3506, 3483, 0, 4511, 3532, 4511, + + 420, 119, 3481, 3478, 3446, 0, 3526, 4511, 3520, 4511, + 482, 3520, 3518, 4511, 3455, 0, 4511, 4511, 4511, 3504, + 4511, 598, 4511, 4511, 4511, 3499, 4511, 754, 4511, 3477, + 759, 180, 4511, 4511, 3467, 0, 3442, 762, 4511, 0, + 4511, 3459, 4511, 3406, 3434, 0, 562, 167, 3393, 3370, + 4511, 4511, 326, 4511, 420, 0, 4511, 3418, 3402, 3366, + 3342, 0, 4511, 3368, 4511, 3317, 444, 3314, 4511, 471, + 4511, 3354, 3271, 3337, 572, 189, 3295, 3285, 4511, 3332, + 4511, 3307, 3303, 585, 594, 4511, 746, 734, 744, 754, + 763, 770, 0, 755, 748, 763, 818, 789, 240, 822, + + 762, 381, 802, 791, 813, 824, 577, 4511, 4511, 3302, + 871, 0, 4511, 3302, 3250, 3231, 4511, 4511, 4511, 4511, + 4511, 4511, 4511, 4511, 4511, 4511, 4511, 0, 4511, 3279, + 4511, 4511, 4511, 3276, 3260, 3259, 0, 3221, 3214, 0, + 3264, 4511, 835, 4511, 3262, 0, 903, 4511, 3257, 842, + 817, 0, 0, 910, 914, 918, 922, 0, 814, 0, + 457, 4511, 0, 943, 4511, 3241, 3141, 483, 4511, 3217, + 3212, 4511, 826, 556, 903, 930, 4511, 757, 0, 3134, + 3131, 4511, 3129, 964, 4511, 3190, 3110, 3174, 3161, 4511, + 0, 4511, 896, 4511, 0, 3172, 0, 0, 0, 4511, + + 4511, 0, 4511, 910, 913, 4511, 4511, 602, 0, 3169, + 4511, 957, 3164, 3161, 3127, 4511, 0, 4511, 976, 4511, + 1020, 4511, 4511, 4511, 4511, 0, 4511, 3116, 0, 4511, + 0, 926, 930, 644, 4511, 662, 0, 4511, 4511, 0, + 4511, 4511, 3071, 3121, 794, 3037, 4511, 0, 934, 932, + 3117, 4511, 3091, 4511, 938, 939, 0, 940, 738, 956, + 802, 3059, 876, 978, 933, 933, 939, 948, 964, 1030, + 938, 958, 976, 968, 0, 996, 4511, 999, 1057, 1068, + 981, 1079, 1077, 1080, 1074, 1068, 1070, 1120, 3062, 4511, + 1014, 0, 4511, 4511, 4511, 0, 4511, 4511, 4511, 4511, + + 0, 4511, 4511, 0, 1078, 0, 0, 1153, 4511, 3063, + 1166, 1077, 1076, 1091, 0, 1089, 0, 1018, 4511, 1022, + 4511, 1025, 4511, 1035, 4511, 1091, 1067, 1138, 1162, 1242, + 1177, 1308, 1105, 0, 4511, 4511, 2954, 1198, 4511, 4511, + 1144, 0, 1137, 0, 0, 1161, 1156, 1123, 4511, 1202, + 1308, 1309, 1310, 1319, 3013, 1312, 1311, 1327, 1320, 1321, + 1323, 1382, 4511, 1172, 1166, 2589, 2537, 0, 1178, 1169, + 1169, 1298, 1315, 1324, 1330, 1321, 1330, 1323, 0, 1341, + 1332, 1348, 0, 1346, 1350, 1348, 1361, 1350, 1367, 2573, + 1370, 1366, 1380, 1382, 1382, 1385, 1378, 1387, 1391, 1400, + + 1393, 1403, 1406, 1414, 1400, 1401, 1404, 1429, 1419, 1424, + 1428, 1425, 1436, 1435, 1430, 1441, 1442, 1432, 1432, 1450, + 1209, 1508, 4511, 1215, 1512, 1219, 1461, 1455, 1451, 0, + 1143, 0, 1461, 1534, 1600, 1636, 204, 2525, 1606, 1681, + 4511, 4511, 1453, 1463, 1591, 1442, 2524, 1599, 1604, 1600, + 1607, 1605, 1611, 1608, 1650, 1620, 1606, 1614, 1613, 1654, + 1663, 1652, 1661, 1666, 1682, 1664, 1693, 1694, 1655, 1674, + 1662, 1675, 4511, 4511, 1683, 1676, 1677, 1683, 1697, 1692, + 1731, 1711, 1702, 1718, 0, 0, 1719, 1706, 1716, 1735, + 0, 0, 2553, 1722, 1732, 2540, 1725, 1722, 1733, 0, + + 1727, 1747, 1740, 1739, 1735, 1752, 1739, 1740, 1746, 0, + 1750, 1763, 1760, 1750, 1752, 1759, 1777, 1762, 1778, 1769, + 1783, 1778, 2514, 4511, 1224, 1230, 1772, 1783, 1780, 0, + 1507, 1234, 2364, 732, 2273, 1809, 1845, 1430, 1076, 1585, + 1797, 2286, 1785, 1807, 4511, 1811, 1814, 1829, 1835, 1821, + 1808, 1822, 1845, 1859, 1860, 1862, 1868, 1869, 1870, 1825, + 1888, 1890, 1876, 1891, 1874, 1902, 1894, 1898, 1795, 1891, + 1882, 1899, 0, 1887, 0, 1892, 0, 2260, 1900, 1891, + 1909, 0, 1904, 2253, 1902, 0, 1916, 1907, 1918, 2227, + 1912, 1909, 1924, 2201, 1908, 1918, 1922, 0, 1934, 1925, + + 1931, 1947, 0, 1936, 1942, 1941, 1953, 2103, 1957, 1958, + 1952, 2085, 1950, 1951, 1950, 1969, 1956, 2133, 1515, 1961, + 1971, 2002, 4511, 2117, 2038, 1981, 1592, 1842, 2025, 1983, + 0, 0, 1972, 1990, 1999, 1987, 1994, 2008, 2005, 2007, + 2015, 2023, 2016, 2021, 2017, 2024, 2022, 2026, 2030, 2029, + 2037, 2035, 2045, 2051, 2054, 2061, 0, 0, 4511, 4511, + 1922, 0, 2049, 2039, 2050, 2053, 2051, 2051, 2054, 1831, + 2073, 2064, 2077, 2073, 2081, 2082, 2072, 2085, 0, 2091, + 0, 2074, 0, 1824, 0, 2091, 2094, 2082, 0, 2116, + 2088, 0, 2092, 2133, 0, 1728, 2097, 2095, 1714, 1678, + + 4511, 2135, 4511, 2096, 4511, 1726, 4511, 1703, 1612, 1601, + 1514, 1500, 1477, 1377, 1373, 1333, 1274, 1203, 2133, 2128, + 2148, 2151, 2144, 2150, 2156, 2158, 2161, 2163, 2184, 2167, + 2164, 2157, 2151, 2159, 2158, 2173, 0, 2165, 0, 2166, + 2182, 2173, 2179, 2178, 2186, 0, 2185, 0, 2187, 2193, + 0, 2202, 0, 0, 0, 2204, 2187, 2201, 2224, 2200, + 2222, 2213, 2219, 2230, 2199, 2227, 2239, 2222, 2225, 1162, + 1158, 2228, 2278, 4511, 1112, 1109, 1081, 1063, 1057, 984, + 976, 969, 923, 913, 910, 931, 895, 891, 887, 881, + 874, 856, 848, 843, 840, 804, 788, 2259, 2248, 2258, + + 2265, 2264, 2241, 0, 2254, 2265, 2268, 2279, 0, 2262, + 2268, 2271, 2266, 2278, 2283, 2289, 2273, 4511, 2280, 2281, + 2281, 2300, 2283, 2281, 0, 2303, 2307, 2292, 4511, 2302, + 2304, 2319, 2303, 2307, 2309, 2328, 2309, 2357, 4511, 2362, + 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, + 4511, 746, 725, 597, 577, 441, 426, 420, 267, 253, + 247, 230, 183, 181, 2317, 2338, 2342, 2330, 2336, 2343, + 2339, 2331, 2334, 2350, 2341, 2345, 0, 2350, 2346, 2344, + 2349, 2361, 2364, 2367, 2359, 4511, 2357, 0, 2358, 2362, + 2379, 2383, 2375, 4511, 2388, 2375, 2382, 2377, 2389, 4511, + + 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, 4511, + 4511, 122, 2399, 2398, 2382, 2391, 2391, 0, 2407, 2408, + 0, 2397, 2398, 2420, 2417, 2414, 2418, 2426, 4511, 2414, + 4511, 4511, 4511, 2422, 2429, 2419, 4511, 4511, 2417, 2437, + 2435, 2425, 2428, 2428, 4511, 2431, 2445, 2445, 2447, 2452, + 0, 0, 2461, 0, 2444, 0, 2459, 4511, 4511, 2452, + 4511, 4511, 2454, 2465, 2452, 2467, 2471, 2470, 2476, 2481, + 0, 2468, 2465, 2465, 2485, 0, 2465, 4511, 4511, 4511, + 2489, 2491, 2479, 2488, 4511, 2501, 2491, 2498, 2503, 2490, + 0, 4511, 2497, 4511, 2510, 2500, 2502, 2500, 0, 2514, + + 4511, 4511, 2516, 0, 2523, 2508, 2509, 0, 2528, 2531, + 0, 0, 4511, 2593, 2614, 2635, 2656, 2677, 2698, 2719, + 2740, 2761, 2782, 2803, 2824, 2845, 2866, 2887, 2908, 2929, + 2950, 2971, 2992, 3013, 3025, 3044, 3055, 3074, 3095, 3108, + 3127, 3148, 3169, 3190, 3202, 3221, 3242, 3263, 3280, 3292, + 3311, 3332, 3353, 3374, 3395, 3408, 2553, 3423, 3444, 3463, + 3484, 3505, 3517, 3536, 3557, 2569, 3057, 3578, 3590, 3609, + 3630, 3651, 2558, 3663, 3684, 3705, 3726, 3747, 3768, 3789, + 3810, 3831, 3843, 3862, 3879, 3891, 3910, 3931, 3952, 3973, + 3994, 4007, 4022, 4043, 4062, 4083, 4104, 4125, 4146, 4167, + + 4179, 4189, 4208, 4229, 4250, 2561, 4262, 4283, 4304, 4325, + 4346, 4367, 3028, 4379, 4398, 4419, 4432, 4447, 4468, 4489 + } ; + +static const flex_int16_t yy_def[1221] = + { 0, + 1113, 1113, 1114, 1114, 1115, 1116, 1117, 1117, 1118, 1118, + 1119, 1119, 1113, 13, 1120, 1120, 1121, 1121, 1122, 1122, + 1123, 1123, 1124, 1124, 1113, 25, 1125, 1125, 1126, 1126, + 1127, 1127, 1128, 1128, 1113, 35, 1129, 1129, 1130, 1130, + 1120, 1120, 1120, 1120, 1131, 1131, 1132, 1132, 1126, 1126, + 1133, 1133, 1134, 1134, 1113, 1113, 1113, 1113, 1113, 1135, + 1113, 1113, 1113, 1113, 1136, 1113, 1137, 1113, 1113, 1113, + 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1138, 1139, + 1140, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, + 1141, 1113, 1141, 1142, 1113, 1113, 1143, 1113, 1143, 1113, + + 1143, 1143, 1113, 1113, 1113, 1144, 1113, 1113, 1113, 1113, + 1113, 1113, 1113, 1113, 1113, 1145, 1113, 1113, 1113, 1113, + 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1139, 1113, 1113, + 1139, 1146, 1113, 1113, 1113, 1147, 1113, 1139, 1113, 1148, + 1113, 1148, 1113, 1149, 1113, 1150, 1150, 1150, 1113, 1113, + 1113, 1113, 1151, 1113, 1151, 1152, 1113, 1152, 1113, 1113, + 1113, 1153, 1113, 1153, 1113, 1113, 1154, 1113, 1113, 1113, + 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, + 1113, 1113, 1155, 1113, 1113, 1113, 1156, 1156, 1156, 1156, + 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1157, 1156, 1156, + + 1156, 1156, 1156, 1156, 1156, 1156, 1156, 1113, 1113, 1158, + 1113, 1159, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, + 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1160, 1113, 1160, + 1113, 1113, 1113, 1113, 1113, 1113, 1161, 1113, 1113, 1162, + 1162, 1113, 1113, 1113, 1113, 1163, 1113, 1113, 1113, 1113, + 1113, 1164, 1165, 1113, 1113, 1113, 1113, 1166, 1164, 1167, + 1168, 1113, 1169, 1113, 1113, 1113, 1113, 1170, 1113, 1113, + 1113, 1113, 1113, 1171, 1171, 1172, 1113, 1113, 1173, 1113, + 1113, 1113, 1174, 1113, 1113, 1113, 1113, 1113, 1113, 1113, + 1175, 1113, 1113, 1113, 1176, 1113, 1177, 1178, 1179, 1113, + + 1113, 1180, 1113, 1180, 1180, 1113, 1113, 1181, 1182, 1113, + 1113, 1113, 1113, 1113, 1113, 1113, 1183, 1113, 1113, 1113, + 1113, 1113, 1113, 1113, 1113, 1184, 1113, 1113, 1185, 1113, + 1186, 1186, 1186, 1187, 1113, 1187, 1188, 1113, 1113, 1189, + 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1190, 1113, 1113, + 1113, 1113, 1191, 1113, 1113, 1113, 1192, 1192, 1192, 1192, + 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, + 1192, 1192, 1192, 1192, 1192, 1192, 1113, 1192, 1192, 1192, + 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1192, 1193, 1113, + 1113, 1194, 1113, 1113, 1113, 1195, 1113, 1113, 1113, 1113, + + 1196, 1113, 1113, 1197, 1113, 1198, 1199, 1200, 1113, 1113, + 1113, 1113, 1113, 1113, 1201, 1198, 1202, 1203, 1113, 1203, + 1113, 1204, 1113, 1204, 1113, 1113, 1205, 1205, 1205, 1113, + 1205, 1205, 1113, 1206, 1113, 1113, 1207, 1113, 1113, 1113, + 1113, 1208, 1113, 1209, 1210, 1211, 1211, 1212, 1113, 1212, + 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, + 1213, 1213, 1113, 1214, 1214, 1113, 1215, 1216, 1113, 1113, + 1113, 1113, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, + 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, + 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, + + 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, + 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1113, 1113, + 1200, 1200, 1113, 1200, 1200, 1113, 1113, 1113, 1113, 1201, + 1218, 1202, 1113, 1113, 1205, 432, 430, 430, 1205, 432, + 1113, 1113, 1113, 1113, 1211, 1211, 1113, 1213, 1213, 1213, + 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, + 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1214, 1214, + 1113, 1113, 1113, 1113, 1217, 1217, 1217, 1217, 1217, 1217, + 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, + 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, + + 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, + 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1113, + 1113, 1113, 1113, 1113, 1200, 1200, 1113, 1113, 1113, 1218, + 1218, 1218, 1113, 534, 534, 1205, 432, 1205, 1205, 1205, + 1113, 1113, 1211, 1211, 1113, 1213, 1213, 1213, 1213, 1213, + 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, + 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1214, 1214, + 1113, 1113, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, + 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, + 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, + + 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, + 1217, 1217, 1217, 1113, 1113, 1113, 1113, 1113, 1219, 1113, + 1113, 1218, 1113, 1218, 1113, 1205, 1205, 1205, 1113, 1113, + 1211, 1211, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, + 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, + 1213, 1213, 1213, 1213, 1213, 1213, 1214, 1214, 1113, 1113, + 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, + 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, + 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1113, + 1217, 1217, 1217, 1113, 1217, 1113, 1113, 1113, 1113, 1219, + + 1113, 1219, 1113, 1113, 1113, 1113, 1113, 1213, 1213, 1213, + 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, + 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, + 1213, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, + 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, + 1217, 1217, 1217, 1217, 1217, 1113, 1113, 1113, 1113, 1113, + 1113, 1217, 1217, 1113, 1113, 1113, 1113, 1113, 1113, 1113, + 1113, 1113, 1220, 1113, 1113, 1113, 1113, 1113, 1113, 1113, + 1113, 1113, 1113, 1113, 1113, 1213, 1213, 1213, 1213, 1213, + 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1213, 1217, 1217, + + 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, + 1217, 1217, 1217, 1217, 1217, 1113, 1113, 1113, 1113, 1113, + 1113, 1113, 1113, 1113, 1217, 1217, 1113, 1113, 1113, 1113, + 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1220, 1113, 1220, + 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, + 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, + 1113, 1113, 1113, 1213, 1217, 1217, 1217, 1217, 1217, 1217, + 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1113, + 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1217, 1113, 1113, + 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, + + 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, + 1113, 1113, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, + 1217, 1217, 1217, 1217, 1217, 1217, 1113, 1113, 1113, 1113, + 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, + 1113, 1113, 1113, 1113, 1113, 1217, 1217, 1217, 1217, 1217, + 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1113, 1113, 1113, + 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1217, + 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1113, 1113, 1113, + 1113, 1113, 1113, 1113, 1113, 1217, 1217, 1217, 1217, 1217, + 1217, 1113, 1113, 1113, 1113, 1217, 1217, 1217, 1217, 1217, + + 1113, 1113, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, + 1217, 1217, 0, 1113, 1113, 1113, 1113, 1113, 1113, 1113, + 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, + 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, + 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, + 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, + 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, + 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, + 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, + 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, + + 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, + 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113 + } ; + +static const flex_int16_t yy_nxt[4596] = + { 0, + 56, 57, 58, 56, 59, 56, 56, 56, 56, 56, + 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, + 56, 56, 56, 56, 56, 56, 56, 60, 60, 60, + 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, + 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, + 60, 60, 56, 56, 56, 56, 60, 60, 60, 60, + 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, + 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, + 60, 56, 56, 56, 56, 61, 62, 56, 63, 56, + 64, 56, 65, 56, 56, 56, 56, 56, 56, 56, + + 56, 66, 56, 56, 56, 56, 56, 56, 56, 56, + 56, 67, 67, 67, 67, 67, 67, 67, 67, 67, + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, + 67, 67, 67, 67, 67, 67, 56, 56, 56, 56, + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, + 67, 67, 67, 67, 67, 56, 56, 56, 69, 70, + 305, 71, 72, 89, 73, 90, 1045, 74, 75, 76, + 76, 275, 276, 76, 77, 92, 89, 95, 90, 96, + 78, 56, 93, 76, 95, 323, 96, 107, 108, 305, + + 109, 107, 108, 1012, 109, 125, 291, 126, 127, 154, + 154, 155, 155, 119, 125, 120, 126, 127, 333, 79, + 80, 238, 98, 239, 99, 121, 638, 56, 100, 122, + 122, 122, 122, 98, 323, 99, 157, 1011, 158, 105, + 350, 130, 131, 233, 132, 234, 159, 333, 81, 76, + 76, 82, 83, 235, 84, 72, 128, 73, 85, 427, + 74, 75, 76, 76, 101, 128, 76, 77, 134, 350, + 135, 102, 103, 86, 104, 101, 76, 130, 131, 292, + 132, 136, 102, 103, 1010, 104, 160, 378, 161, 229, + 238, 230, 239, 101, 123, 297, 209, 298, 231, 210, + + 102, 1009, 79, 80, 101, 87, 209, 1008, 229, 210, + 230, 102, 211, 211, 211, 211, 378, 231, 137, 138, + 139, 1007, 211, 211, 211, 211, 243, 244, 335, 245, + 336, 81, 76, 76, 110, 111, 112, 110, 113, 110, + 110, 110, 110, 110, 110, 110, 114, 110, 114, 110, + 110, 110, 110, 110, 110, 110, 110, 110, 110, 115, + 110, 116, 116, 116, 116, 116, 116, 116, 116, 116, + 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, + 116, 116, 116, 116, 116, 116, 110, 110, 110, 110, + 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, + + 116, 116, 116, 116, 116, 116, 116, 116, 116, 116, + 116, 116, 116, 116, 116, 110, 110, 110, 119, 134, + 120, 135, 335, 157, 336, 158, 163, 383, 164, 165, + 121, 250, 136, 159, 122, 122, 122, 122, 163, 224, + 164, 165, 163, 233, 241, 234, 343, 247, 248, 242, + 249, 304, 225, 235, 269, 269, 383, 270, 280, 419, + 281, 420, 226, 282, 282, 282, 282, 227, 251, 137, + 138, 139, 345, 160, 1006, 161, 166, 167, 168, 346, + 1005, 304, 225, 312, 313, 423, 314, 424, 166, 167, + 168, 226, 166, 167, 168, 1004, 227, 344, 251, 123, + + 140, 140, 141, 140, 142, 143, 140, 140, 140, 144, + 140, 140, 140, 140, 140, 140, 140, 145, 140, 140, + 140, 140, 140, 140, 140, 140, 140, 146, 146, 146, + 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, + 146, 146, 146, 146, 147, 146, 146, 146, 146, 146, + 146, 148, 149, 140, 150, 140, 146, 146, 146, 146, + 146, 146, 146, 146, 146, 146, 146, 146, 146, 146, + 146, 146, 146, 147, 146, 146, 146, 146, 146, 146, + 148, 151, 140, 152, 170, 171, 213, 172, 214, 170, + 171, 173, 172, 332, 219, 219, 173, 157, 224, 158, + + 174, 220, 220, 349, 449, 174, 450, 236, 428, 429, + 157, 225, 158, 355, 221, 221, 319, 319, 319, 319, + 236, 226, 356, 332, 222, 222, 227, 175, 388, 223, + 223, 1003, 175, 349, 176, 177, 215, 178, 216, 176, + 177, 225, 178, 355, 221, 221, 335, 160, 336, 161, + 226, 1002, 356, 222, 222, 227, 175, 388, 223, 223, + 160, 175, 161, 176, 335, 217, 336, 218, 176, 179, + 180, 181, 179, 182, 183, 179, 179, 179, 179, 179, + 179, 179, 179, 179, 179, 179, 179, 179, 184, 185, + 179, 179, 179, 186, 179, 179, 187, 188, 189, 190, + + 191, 192, 193, 194, 195, 193, 193, 196, 197, 198, + 199, 200, 193, 201, 202, 203, 204, 205, 206, 193, + 207, 179, 179, 179, 179, 179, 187, 188, 189, 190, + 191, 192, 193, 194, 195, 193, 193, 196, 197, 198, + 199, 200, 201, 202, 203, 204, 205, 206, 193, 207, + 179, 179, 179, 213, 726, 214, 163, 362, 241, 264, + 265, 360, 266, 242, 278, 278, 267, 284, 285, 361, + 286, 363, 278, 278, 287, 433, 433, 278, 278, 1001, + 278, 278, 475, 288, 358, 364, 369, 427, 370, 289, + 359, 360, 365, 382, 371, 345, 279, 367, 372, 361, + + 1000, 363, 346, 215, 279, 216, 166, 167, 168, 279, + 963, 475, 279, 366, 358, 364, 369, 368, 370, 359, + 376, 290, 365, 382, 371, 279, 962, 367, 372, 384, + 377, 385, 217, 279, 218, 253, 243, 244, 279, 245, + 268, 279, 366, 250, 386, 373, 368, 478, 268, 374, + 376, 387, 405, 379, 254, 416, 255, 426, 255, 384, + 377, 385, 961, 380, 255, 960, 381, 255, 256, 257, + 959, 255, 258, 259, 386, 373, 478, 260, 958, 374, + 251, 387, 405, 379, 254, 416, 255, 426, 255, 391, + 391, 391, 391, 380, 255, 381, 957, 255, 256, 257, + + 255, 258, 259, 956, 247, 248, 260, 249, 261, 955, + 251, 408, 409, 954, 410, 408, 409, 953, 410, 408, + 409, 480, 410, 408, 409, 430, 410, 443, 411, 411, + 411, 411, 411, 411, 411, 411, 411, 411, 411, 411, + 411, 411, 411, 411, 264, 265, 446, 266, 431, 431, + 480, 267, 447, 952, 412, 428, 429, 443, 312, 313, + 413, 314, 464, 414, 951, 284, 285, 950, 286, 465, + 469, 470, 287, 471, 472, 473, 446, 949, 483, 484, + 432, 288, 447, 412, 485, 476, 486, 289, 490, 474, + 413, 487, 464, 414, 319, 319, 319, 319, 491, 465, + + 469, 470, 477, 471, 472, 473, 481, 483, 484, 432, + 482, 492, 499, 485, 493, 476, 486, 490, 474, 290, + 419, 487, 420, 948, 419, 268, 420, 423, 491, 424, + 947, 477, 391, 391, 391, 391, 481, 423, 946, 424, + 482, 492, 499, 493, 494, 495, 268, 451, 452, 453, + 454, 455, 455, 456, 455, 455, 455, 455, 457, 455, + 455, 455, 458, 455, 455, 459, 455, 460, 455, 455, + 461, 455, 488, 494, 495, 462, 489, 451, 452, 453, + 454, 455, 455, 456, 455, 455, 455, 455, 457, 455, + 455, 455, 458, 455, 459, 455, 460, 455, 455, 461, + + 455, 496, 488, 497, 503, 489, 500, 504, 505, 506, + 501, 945, 508, 498, 509, 502, 507, 944, 520, 428, + 429, 527, 528, 277, 277, 449, 529, 450, 428, 429, + 496, 531, 533, 497, 503, 943, 500, 504, 505, 506, + 501, 508, 498, 509, 631, 502, 507, 510, 520, 511, + 527, 528, 512, 513, 522, 523, 529, 524, 514, 515, + 534, 531, 533, 942, 516, 517, 941, 526, 409, 518, + 410, 525, 525, 525, 525, 543, 519, 510, 544, 511, + 535, 535, 512, 513, 411, 411, 411, 411, 514, 515, + 428, 429, 545, 516, 517, 539, 539, 546, 518, 542, + + 542, 542, 542, 569, 449, 543, 450, 570, 544, 571, + 572, 624, 536, 625, 936, 573, 427, 523, 935, 625, + 526, 409, 545, 410, 632, 885, 624, 546, 625, 428, + 429, 626, 523, 569, 524, 722, 723, 570, 724, 571, + 572, 536, 427, 427, 573, 427, 427, 427, 427, 427, + 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, + 427, 427, 427, 427, 427, 427, 427, 427, 427, 537, + 537, 537, 537, 537, 537, 537, 537, 537, 537, 537, + 537, 537, 537, 537, 537, 537, 537, 537, 537, 537, + 537, 537, 537, 537, 428, 429, 884, 538, 427, 537, + + 537, 537, 537, 537, 537, 537, 537, 537, 537, 537, + 537, 537, 537, 537, 537, 537, 537, 537, 537, 537, + 537, 537, 537, 427, 427, 427, 540, 540, 540, 540, + 547, 547, 547, 547, 547, 540, 540, 540, 540, 540, + 540, 547, 547, 547, 574, 547, 548, 549, 575, 547, + 550, 576, 553, 558, 551, 883, 552, 577, 578, 579, + 428, 429, 556, 557, 580, 540, 540, 540, 540, 540, + 540, 554, 581, 574, 555, 583, 548, 549, 575, 582, + 550, 576, 553, 558, 551, 552, 586, 577, 578, 579, + 584, 587, 556, 557, 580, 882, 585, 588, 589, 881, + + 554, 591, 581, 555, 1113, 583, 592, 593, 582, 559, + 560, 561, 562, 594, 595, 563, 586, 596, 597, 584, + 564, 587, 598, 599, 565, 585, 588, 566, 589, 567, + 600, 591, 568, 601, 602, 603, 592, 593, 606, 559, + 560, 561, 562, 594, 595, 563, 607, 596, 597, 604, + 564, 608, 598, 599, 565, 605, 566, 609, 567, 610, + 600, 568, 611, 601, 602, 603, 612, 614, 606, 613, + 615, 616, 617, 618, 620, 607, 619, 621, 622, 604, + 608, 623, 428, 429, 274, 605, 644, 609, 627, 610, + 628, 629, 611, 633, 641, 642, 612, 614, 613, 880, + + 615, 616, 617, 618, 620, 619, 621, 622, 631, 522, + 523, 623, 524, 626, 523, 644, 524, 801, 627, 802, + 628, 629, 879, 633, 641, 642, 525, 525, 525, 525, + 525, 525, 525, 525, 427, 427, 878, 427, 427, 427, + 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, + 427, 427, 427, 427, 427, 427, 427, 427, 427, 427, + 427, 634, 634, 634, 634, 634, 634, 634, 634, 634, + 634, 634, 634, 634, 634, 634, 634, 634, 634, 634, + 634, 634, 634, 634, 634, 634, 428, 429, 632, 635, + 427, 634, 634, 634, 634, 634, 634, 634, 634, 634, + + 634, 634, 634, 634, 634, 634, 634, 634, 634, 634, + 634, 634, 634, 634, 634, 427, 427, 427, 636, 636, + 643, 547, 547, 877, 639, 639, 547, 547, 547, 547, + 547, 648, 651, 547, 876, 547, 547, 428, 429, 646, + 650, 647, 547, 653, 428, 429, 649, 655, 656, 657, + 643, 658, 428, 429, 637, 637, 637, 637, 428, 429, + 652, 648, 651, 637, 637, 637, 637, 637, 637, 646, + 650, 647, 547, 653, 547, 649, 547, 655, 656, 657, + 801, 658, 802, 547, 669, 547, 547, 661, 547, 652, + 654, 671, 659, 637, 637, 637, 637, 637, 637, 640, + + 640, 640, 640, 660, 547, 662, 666, 663, 640, 640, + 640, 640, 640, 640, 669, 547, 547, 661, 670, 672, + 654, 671, 659, 673, 668, 875, 664, 674, 675, 665, + 676, 677, 678, 660, 662, 667, 666, 663, 640, 640, + 640, 640, 640, 640, 682, 684, 679, 670, 672, 683, + 685, 874, 686, 673, 668, 664, 674, 675, 665, 676, + 687, 677, 678, 680, 688, 667, 690, 691, 695, 681, + 872, 693, 694, 696, 682, 684, 697, 698, 683, 699, + 685, 686, 700, 701, 869, 702, 703, 704, 705, 687, + 706, 707, 709, 680, 688, 690, 708, 691, 695, 681, + + 693, 694, 696, 710, 711, 713, 697, 698, 712, 699, + 714, 700, 716, 701, 702, 703, 715, 704, 705, 717, + 706, 707, 709, 719, 720, 708, 721, 727, 727, 729, + 547, 731, 710, 547, 711, 713, 547, 712, 732, 852, + 714, 757, 716, 547, 547, 715, 841, 547, 734, 717, + 738, 547, 719, 739, 720, 721, 737, 547, 733, 729, + 731, 428, 429, 728, 728, 728, 728, 547, 732, 735, + 757, 748, 728, 728, 728, 728, 728, 728, 734, 736, + 738, 547, 547, 739, 547, 740, 737, 733, 741, 742, + 547, 547, 547, 743, 428, 429, 547, 747, 547, 735, + + 748, 744, 728, 728, 728, 728, 728, 728, 736, 745, + 547, 746, 547, 547, 753, 740, 547, 750, 741, 742, + 547, 749, 758, 743, 547, 751, 752, 747, 759, 754, + 760, 744, 761, 756, 762, 764, 755, 832, 766, 745, + 767, 746, 768, 771, 753, 765, 770, 750, 772, 773, + 775, 749, 758, 776, 751, 777, 752, 759, 779, 754, + 760, 761, 780, 756, 762, 764, 755, 766, 781, 782, + 767, 783, 768, 771, 765, 770, 784, 785, 772, 773, + 775, 786, 776, 787, 789, 777, 788, 779, 791, 792, + 793, 780, 795, 796, 547, 797, 798, 781, 799, 782, + + 783, 803, 804, 722, 723, 784, 724, 785, 807, 547, + 786, 808, 547, 787, 789, 788, 547, 809, 791, 792, + 793, 547, 795, 796, 797, 811, 798, 547, 799, 547, + 547, 803, 804, 428, 429, 427, 810, 547, 547, 547, + 812, 808, 813, 547, 547, 547, 547, 809, 547, 814, + 806, 547, 547, 815, 817, 811, 819, 547, 821, 547, + 818, 816, 822, 805, 820, 824, 810, 547, 826, 812, + 823, 825, 813, 547, 828, 827, 547, 833, 814, 835, + 829, 836, 815, 547, 817, 830, 819, 834, 821, 818, + 816, 837, 822, 820, 831, 824, 838, 839, 826, 823, + + 840, 825, 842, 843, 828, 827, 844, 833, 845, 835, + 829, 836, 846, 847, 849, 830, 848, 834, 850, 723, + 851, 837, 853, 854, 831, 838, 839, 855, 862, 840, + 863, 870, 842, 843, 718, 871, 844, 801, 845, 802, + 873, 794, 846, 847, 849, 848, 856, 857, 850, 851, + 547, 858, 853, 854, 859, 547, 855, 860, 862, 790, + 863, 870, 861, 864, 865, 871, 547, 887, 866, 873, + 547, 867, 547, 547, 868, 888, 856, 857, 547, 886, + 547, 858, 890, 547, 859, 547, 547, 860, 889, 547, + 892, 861, 899, 864, 865, 900, 891, 887, 866, 898, + + 901, 867, 893, 902, 868, 888, 547, 894, 886, 895, + 904, 897, 890, 903, 906, 896, 778, 905, 889, 907, + 892, 908, 899, 909, 900, 891, 910, 911, 912, 898, + 901, 893, 902, 913, 914, 916, 894, 917, 895, 904, + 897, 918, 774, 903, 906, 896, 905, 923, 907, 928, + 915, 908, 909, 924, 925, 919, 910, 911, 912, 920, + 926, 927, 921, 913, 914, 916, 917, 929, 769, 933, + 934, 918, 922, 937, 930, 763, 923, 931, 928, 915, + 939, 547, 940, 924, 925, 919, 969, 932, 965, 920, + 926, 927, 921, 966, 967, 968, 970, 929, 933, 934, + + 971, 922, 937, 972, 930, 964, 973, 931, 974, 975, + 976, 730, 977, 978, 979, 969, 932, 980, 965, 981, + 982, 983, 984, 966, 967, 968, 970, 985, 427, 986, + 971, 987, 988, 972, 964, 989, 973, 974, 990, 975, + 976, 977, 991, 978, 979, 992, 993, 980, 981, 994, + 982, 983, 984, 995, 996, 999, 997, 985, 986, 939, + 987, 940, 988, 1013, 939, 989, 940, 990, 1014, 1015, + 1016, 1017, 991, 998, 1018, 992, 993, 1019, 994, 1020, + 1021, 1022, 995, 996, 999, 1023, 997, 1024, 1025, 725, + 1026, 1027, 1013, 1028, 1029, 1030, 1031, 1032, 1014, 1015, + + 1016, 1017, 998, 1033, 1018, 1034, 1035, 1019, 1020, 1021, + 1036, 1022, 1037, 1038, 1023, 1039, 1044, 1024, 1025, 1026, + 1027, 1040, 1028, 1043, 1029, 1030, 1031, 1032, 1048, 1041, + 1046, 1047, 1033, 1042, 1034, 1035, 1049, 1050, 1051, 1052, + 1036, 1053, 1037, 1038, 1054, 1039, 1044, 1055, 1056, 1057, + 1040, 1058, 1043, 1059, 1060, 1061, 1062, 1048, 1041, 1063, + 1046, 1047, 1042, 1064, 1065, 1049, 1050, 1066, 1051, 1052, + 1053, 1067, 1068, 1054, 1069, 1070, 1071, 1055, 1056, 1057, + 1072, 1058, 1073, 1059, 1060, 1061, 1062, 1074, 1075, 1063, + 1076, 1077, 1064, 1078, 1065, 1079, 1080, 1066, 1081, 1082, + + 1067, 1068, 1083, 1069, 1070, 1084, 1071, 1085, 1086, 1087, + 1072, 1088, 1073, 1089, 1090, 718, 1091, 1074, 1075, 1076, + 1092, 1077, 1093, 1078, 1094, 1079, 1080, 1081, 1095, 1082, + 1096, 1097, 1083, 1098, 1099, 1084, 1100, 1085, 1086, 1087, + 1088, 1101, 1089, 1102, 1090, 1091, 1103, 1104, 1105, 1106, + 1092, 1107, 1093, 1094, 1108, 692, 1109, 1110, 1095, 1111, + 1096, 1097, 1112, 1098, 1099, 1100, 375, 375, 689, 434, + 1101, 434, 541, 1102, 541, 1103, 1104, 1105, 645, 1106, + 427, 1107, 415, 415, 1108, 1109, 1110, 415, 590, 1111, + 344, 343, 1112, 68, 68, 68, 68, 68, 68, 68, + + 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, + 68, 68, 68, 68, 88, 88, 88, 88, 88, 88, + 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, + 88, 88, 88, 88, 88, 91, 91, 91, 91, 91, + 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, + 91, 91, 91, 91, 91, 91, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 97, 97, 97, + 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, + 97, 97, 97, 97, 97, 97, 97, 97, 106, 106, + + 106, 106, 106, 106, 106, 106, 106, 106, 106, 106, + 106, 106, 106, 106, 106, 106, 106, 106, 106, 56, + 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, + 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, + 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, + 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, + 118, 124, 124, 124, 124, 124, 124, 124, 124, 124, + 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, + 124, 124, 129, 129, 129, 129, 129, 129, 129, 129, + 129, 129, 129, 129, 129, 129, 129, 129, 129, 129, + + 129, 129, 129, 133, 133, 133, 133, 133, 133, 133, + 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, + 133, 133, 133, 133, 153, 153, 153, 153, 153, 153, + 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, + 153, 153, 153, 153, 153, 156, 156, 156, 156, 156, + 156, 156, 156, 156, 156, 156, 156, 156, 156, 156, + 156, 156, 156, 156, 156, 156, 162, 162, 162, 162, + 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, + 162, 162, 162, 162, 162, 162, 162, 169, 169, 169, + 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, + + 169, 169, 169, 169, 169, 169, 169, 169, 208, 208, + 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, + 208, 208, 208, 208, 208, 208, 208, 208, 208, 212, + 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, + 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, + 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, + 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, + 228, 232, 232, 232, 232, 232, 232, 232, 232, 232, + 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, + 232, 232, 237, 237, 237, 237, 237, 237, 237, 237, + + 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, + 237, 237, 237, 240, 240, 240, 240, 240, 240, 240, + 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, + 240, 240, 240, 240, 246, 547, 246, 438, 246, 246, + 455, 455, 455, 246, 252, 252, 252, 252, 252, 252, + 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, + 252, 252, 252, 252, 263, 409, 263, 390, 263, 263, + 417, 417, 479, 263, 274, 417, 274, 274, 274, 274, + 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, + 274, 274, 274, 274, 274, 277, 354, 277, 277, 277, + + 277, 277, 277, 277, 277, 277, 277, 277, 277, 277, + 277, 277, 277, 277, 277, 277, 283, 283, 351, 283, + 348, 283, 283, 467, 466, 463, 283, 295, 315, 295, + 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, + 295, 295, 295, 295, 295, 295, 295, 295, 299, 299, + 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, + 299, 299, 299, 313, 299, 315, 299, 299, 299, 302, + 310, 302, 302, 296, 302, 302, 302, 302, 302, 302, + 302, 302, 302, 302, 441, 302, 440, 302, 302, 302, + 309, 439, 285, 309, 309, 309, 309, 309, 309, 309, + + 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, + 309, 317, 438, 317, 436, 317, 317, 435, 425, 269, + 317, 322, 421, 322, 322, 322, 322, 322, 322, 322, + 322, 322, 322, 322, 322, 322, 322, 322, 322, 322, + 322, 322, 325, 265, 325, 325, 325, 325, 325, 325, + 325, 325, 325, 325, 325, 325, 325, 325, 325, 248, + 325, 325, 325, 326, 244, 326, 341, 326, 403, 326, + 326, 326, 326, 402, 326, 326, 400, 399, 398, 326, + 328, 397, 328, 328, 328, 395, 328, 328, 328, 328, + 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, + + 328, 331, 394, 331, 393, 331, 331, 390, 354, 352, + 331, 334, 334, 334, 334, 334, 334, 334, 334, 334, + 334, 334, 334, 334, 334, 334, 334, 334, 334, 334, + 334, 334, 337, 351, 337, 337, 337, 337, 337, 307, + 337, 337, 337, 337, 337, 337, 337, 306, 337, 330, + 337, 337, 337, 340, 348, 340, 347, 340, 340, 340, + 340, 340, 340, 340, 340, 340, 340, 340, 307, 306, + 341, 340, 340, 340, 342, 342, 342, 342, 342, 342, + 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, + 342, 342, 342, 342, 342, 353, 307, 353, 353, 353, + + 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, + 353, 353, 353, 353, 353, 353, 357, 357, 306, 339, + 338, 357, 357, 389, 307, 389, 389, 389, 389, 389, + 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, + 389, 389, 389, 389, 392, 306, 330, 392, 392, 392, + 392, 392, 392, 392, 392, 392, 392, 392, 392, 329, + 392, 327, 392, 396, 321, 396, 396, 396, 396, 324, + 396, 396, 396, 396, 396, 396, 396, 396, 396, 396, + 396, 396, 396, 396, 401, 401, 401, 401, 401, 401, + 401, 401, 401, 401, 401, 401, 401, 401, 401, 321, + + 401, 320, 401, 401, 401, 404, 318, 404, 404, 404, + 316, 404, 404, 404, 404, 404, 404, 404, 404, 404, + 313, 315, 311, 404, 404, 404, 246, 310, 246, 308, + 246, 246, 307, 306, 303, 246, 406, 301, 406, 406, + 406, 406, 406, 406, 406, 406, 406, 406, 406, 406, + 406, 406, 406, 406, 406, 406, 406, 407, 300, 407, + 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, + 407, 407, 407, 407, 407, 407, 407, 407, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 263, + + 296, 263, 294, 263, 263, 293, 285, 273, 263, 422, + 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, + 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, + 427, 272, 427, 427, 427, 427, 427, 427, 427, 427, + 427, 427, 427, 427, 427, 427, 427, 271, 427, 427, + 427, 274, 265, 274, 274, 274, 274, 274, 274, 274, + 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, + 274, 274, 437, 262, 437, 248, 437, 437, 244, 1113, + 117, 437, 117, 437, 442, 1113, 442, 442, 442, 442, + 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, + + 442, 442, 442, 442, 442, 295, 1113, 295, 295, 295, + 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, + 295, 295, 295, 295, 295, 295, 444, 1113, 444, 444, + 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, + 444, 444, 444, 444, 444, 444, 444, 445, 1113, 445, + 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, + 445, 445, 445, 445, 445, 445, 445, 445, 299, 299, + 299, 299, 299, 299, 299, 299, 299, 299, 299, 299, + 299, 299, 299, 1113, 299, 1113, 299, 299, 299, 302, + 1113, 302, 302, 1113, 302, 302, 302, 302, 302, 302, + + 302, 302, 302, 302, 1113, 302, 1113, 302, 302, 302, + 448, 448, 448, 448, 448, 448, 448, 448, 448, 448, + 448, 448, 448, 448, 448, 448, 448, 448, 448, 448, + 448, 309, 1113, 1113, 309, 309, 309, 309, 309, 309, + 309, 309, 309, 309, 309, 309, 309, 309, 309, 309, + 309, 309, 317, 1113, 317, 1113, 317, 317, 1113, 1113, + 1113, 317, 326, 1113, 326, 1113, 326, 1113, 326, 326, + 326, 326, 1113, 326, 326, 1113, 1113, 1113, 326, 328, + 1113, 328, 328, 328, 328, 328, 328, 328, 328, 328, + 328, 328, 328, 328, 328, 328, 328, 328, 328, 328, + + 331, 1113, 331, 1113, 331, 331, 1113, 1113, 1113, 331, + 334, 334, 334, 334, 334, 334, 334, 334, 334, 334, + 334, 334, 334, 334, 334, 334, 334, 334, 334, 334, + 334, 337, 1113, 337, 337, 337, 337, 337, 1113, 337, + 337, 337, 337, 337, 337, 337, 1113, 337, 1113, 337, + 337, 337, 340, 1113, 340, 1113, 340, 340, 340, 340, + 340, 340, 340, 340, 340, 340, 340, 1113, 1113, 1113, + 340, 340, 340, 468, 1113, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 353, 1113, 353, 353, 353, 353, + + 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, + 353, 353, 353, 353, 353, 357, 357, 1113, 1113, 1113, + 357, 357, 389, 1113, 389, 389, 389, 389, 389, 389, + 389, 389, 389, 389, 389, 389, 389, 389, 389, 389, + 389, 389, 389, 392, 1113, 1113, 392, 392, 392, 392, + 392, 392, 392, 392, 392, 392, 392, 392, 1113, 392, + 1113, 392, 396, 1113, 396, 396, 396, 396, 1113, 396, + 396, 396, 396, 396, 396, 396, 396, 396, 396, 396, + 396, 396, 396, 401, 401, 401, 401, 401, 401, 401, + 401, 401, 401, 401, 401, 401, 401, 401, 1113, 401, + + 1113, 401, 401, 401, 404, 1113, 404, 404, 404, 1113, + 404, 404, 404, 404, 404, 404, 404, 404, 404, 1113, + 1113, 1113, 404, 404, 404, 406, 1113, 406, 406, 406, + 406, 406, 406, 406, 406, 406, 406, 406, 406, 406, + 406, 406, 406, 406, 406, 406, 407, 1113, 407, 407, + 407, 407, 407, 407, 407, 407, 407, 407, 407, 407, + 407, 407, 407, 407, 407, 407, 407, 521, 521, 521, + 521, 521, 521, 521, 521, 521, 521, 521, 521, 521, + 521, 521, 521, 521, 521, 521, 521, 521, 530, 1113, + 530, 1113, 530, 530, 1113, 1113, 1113, 530, 532, 1113, + + 532, 1113, 532, 532, 1113, 1113, 1113, 532, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 418, + 418, 418, 418, 418, 418, 418, 418, 418, 418, 422, + 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, + 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, + 427, 1113, 427, 427, 427, 427, 427, 427, 427, 427, + 427, 427, 427, 427, 427, 427, 427, 1113, 427, 427, + 427, 437, 1113, 437, 1113, 437, 437, 1113, 1113, 1113, + 437, 1113, 437, 442, 1113, 442, 442, 442, 442, 442, + 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, + + 442, 442, 442, 442, 444, 1113, 444, 444, 444, 444, + 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, + 444, 444, 444, 444, 444, 445, 1113, 445, 445, 445, + 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, + 445, 445, 445, 445, 445, 445, 302, 1113, 302, 302, + 1113, 302, 302, 302, 302, 302, 302, 302, 302, 302, + 302, 1113, 302, 1113, 302, 302, 302, 448, 448, 448, + 448, 448, 448, 448, 448, 448, 448, 448, 448, 448, + 448, 448, 448, 448, 448, 448, 448, 448, 331, 1113, + 331, 1113, 331, 331, 1113, 1113, 1113, 331, 342, 1113, + + 342, 342, 342, 342, 342, 342, 342, 342, 342, 342, + 342, 342, 342, 342, 342, 342, 342, 342, 342, 468, + 1113, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 468, 468, 468, 468, 468, 468, 468, 468, 468, 468, + 357, 357, 1113, 1113, 1113, 357, 357, 630, 1113, 630, + 630, 630, 630, 630, 630, 630, 630, 630, 630, 630, + 630, 630, 630, 630, 630, 630, 630, 630, 800, 800, + 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, + 800, 800, 800, 800, 800, 800, 800, 800, 800, 938, + 938, 938, 938, 938, 938, 938, 938, 938, 938, 938, + + 938, 938, 938, 938, 938, 938, 938, 938, 938, 938, + 55, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, + 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, + 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, + 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, + 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, + 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, + 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, + 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, + 1113, 1113, 1113, 1113, 1113 + + } ; + +static const flex_int16_t yy_chk[4596] = + { 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, + 102, 3, 3, 5, 3, 5, 1012, 3, 3, 3, + 3, 79, 79, 3, 3, 6, 6, 7, 6, 7, + 3, 21, 6, 3, 8, 132, 8, 11, 11, 102, + + 11, 12, 12, 964, 12, 19, 85, 19, 19, 27, + 28, 27, 28, 17, 20, 17, 20, 20, 148, 3, + 3, 51, 9, 51, 9, 17, 537, 22, 9, 17, + 17, 17, 17, 10, 132, 10, 29, 963, 29, 10, + 176, 21, 21, 47, 21, 47, 29, 148, 3, 3, + 3, 4, 4, 47, 4, 4, 19, 4, 4, 537, + 4, 4, 4, 4, 9, 20, 4, 4, 23, 176, + 23, 9, 9, 4, 9, 10, 4, 22, 22, 85, + 22, 23, 10, 10, 962, 10, 29, 199, 29, 45, + 52, 45, 52, 9, 17, 93, 37, 93, 45, 37, + + 9, 961, 4, 4, 10, 4, 38, 960, 46, 38, + 46, 10, 37, 37, 37, 37, 199, 46, 23, 23, + 23, 959, 38, 38, 38, 38, 57, 57, 153, 57, + 153, 4, 4, 4, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 18, 24, + 18, 24, 155, 30, 155, 30, 31, 202, 31, 31, + 18, 64, 24, 30, 18, 18, 18, 18, 32, 43, + 32, 32, 53, 48, 53, 48, 167, 61, 61, 53, + 61, 101, 43, 48, 73, 73, 202, 73, 81, 261, + 81, 261, 43, 81, 81, 81, 81, 43, 64, 24, + 24, 24, 170, 30, 958, 30, 31, 31, 31, 170, + 957, 101, 43, 111, 111, 268, 111, 268, 32, 32, + 32, 43, 53, 53, 53, 956, 43, 167, 64, 18, + + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 33, 33, 39, 33, 39, 34, + 34, 33, 34, 147, 41, 42, 34, 49, 44, 49, + + 33, 41, 42, 175, 308, 34, 308, 49, 274, 274, + 50, 44, 50, 184, 41, 42, 122, 122, 122, 122, + 50, 44, 185, 147, 41, 42, 44, 33, 207, 41, + 42, 955, 34, 175, 33, 33, 39, 33, 39, 34, + 34, 44, 34, 184, 41, 42, 334, 49, 334, 49, + 44, 954, 185, 41, 42, 44, 33, 207, 41, 42, + 50, 34, 50, 33, 336, 39, 336, 39, 34, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, + 35, 35, 35, 40, 634, 40, 54, 189, 54, 69, + 69, 188, 69, 54, 80, 80, 69, 82, 82, 188, + 82, 189, 128, 128, 82, 278, 278, 131, 131, 953, + 138, 138, 359, 82, 187, 190, 194, 634, 195, 82, + 187, 188, 191, 201, 196, 345, 80, 192, 196, 188, + + 952, 189, 345, 40, 128, 40, 54, 54, 54, 131, + 897, 359, 138, 191, 187, 190, 194, 192, 195, 187, + 198, 82, 191, 201, 196, 80, 896, 192, 196, 203, + 198, 204, 40, 128, 40, 65, 243, 243, 131, 243, + 69, 138, 191, 250, 205, 197, 192, 361, 82, 197, + 198, 206, 251, 200, 65, 259, 65, 273, 65, 203, + 198, 204, 895, 200, 65, 894, 200, 65, 65, 65, + 893, 65, 65, 65, 205, 197, 361, 65, 892, 197, + 250, 206, 251, 200, 65, 259, 65, 273, 65, 211, + 211, 211, 211, 200, 65, 200, 891, 65, 65, 65, + + 65, 65, 65, 890, 247, 247, 65, 247, 65, 889, + 250, 254, 254, 888, 254, 255, 255, 887, 255, 256, + 256, 363, 256, 257, 257, 275, 257, 293, 254, 254, + 254, 254, 255, 255, 255, 255, 256, 256, 256, 256, + 257, 257, 257, 257, 264, 264, 304, 264, 276, 276, + 363, 264, 305, 886, 254, 275, 275, 293, 312, 312, + 256, 312, 332, 257, 885, 284, 284, 884, 284, 333, + 349, 350, 284, 355, 356, 358, 304, 883, 365, 366, + 276, 284, 305, 254, 367, 360, 368, 284, 371, 358, + 256, 369, 332, 257, 319, 319, 319, 319, 372, 333, + + 349, 350, 360, 355, 356, 358, 364, 365, 366, 276, + 364, 373, 381, 367, 374, 360, 368, 371, 358, 284, + 418, 369, 418, 882, 420, 264, 420, 422, 372, 422, + 881, 360, 391, 391, 391, 391, 364, 424, 880, 424, + 364, 373, 381, 374, 376, 378, 284, 321, 321, 321, + 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, + 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, + 321, 321, 370, 376, 378, 321, 370, 321, 321, 321, + 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, + 321, 321, 321, 321, 321, 321, 321, 321, 321, 321, + + 321, 379, 370, 380, 383, 370, 382, 383, 384, 385, + 382, 879, 386, 380, 387, 382, 385, 878, 405, 427, + 427, 412, 413, 433, 433, 448, 414, 448, 639, 639, + 379, 416, 426, 380, 383, 877, 382, 383, 384, 385, + 382, 386, 380, 387, 531, 382, 385, 388, 405, 388, + 412, 413, 388, 388, 408, 408, 414, 408, 388, 388, + 428, 416, 426, 876, 388, 388, 875, 411, 411, 388, + 411, 408, 408, 408, 408, 441, 388, 388, 443, 388, + 429, 429, 388, 388, 411, 411, 411, 411, 388, 388, + 428, 428, 446, 388, 388, 431, 431, 447, 388, 438, + + 438, 438, 438, 464, 450, 441, 450, 465, 443, 469, + 470, 521, 429, 521, 871, 471, 429, 524, 870, 524, + 526, 526, 446, 526, 531, 818, 625, 447, 625, 431, + 431, 626, 626, 464, 626, 632, 632, 465, 632, 469, + 470, 429, 430, 430, 471, 430, 430, 430, 430, 430, + 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, + 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, + 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, + 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, + 430, 430, 430, 430, 430, 430, 817, 430, 430, 430, + + 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, + 430, 430, 430, 430, 430, 430, 430, 430, 430, 430, + 430, 430, 430, 430, 430, 430, 432, 432, 432, 432, + 451, 452, 453, 457, 456, 432, 432, 432, 432, 432, + 432, 454, 459, 460, 472, 461, 451, 452, 473, 458, + 453, 474, 457, 461, 454, 816, 456, 475, 476, 477, + 432, 432, 459, 460, 478, 432, 432, 432, 432, 432, + 432, 458, 480, 472, 458, 482, 451, 452, 473, 481, + 453, 474, 457, 461, 454, 456, 486, 475, 476, 477, + 484, 487, 459, 460, 478, 815, 485, 488, 489, 814, + + 458, 491, 480, 458, 462, 482, 492, 493, 481, 462, + 462, 462, 462, 494, 495, 462, 486, 496, 497, 484, + 462, 487, 498, 499, 462, 485, 488, 462, 489, 462, + 500, 491, 462, 501, 502, 503, 492, 493, 505, 462, + 462, 462, 462, 494, 495, 462, 506, 496, 497, 504, + 462, 507, 498, 499, 462, 504, 462, 508, 462, 509, + 500, 462, 510, 501, 502, 503, 511, 513, 505, 512, + 514, 515, 516, 517, 519, 506, 518, 519, 519, 504, + 507, 520, 638, 638, 638, 504, 546, 508, 527, 509, + 528, 529, 510, 533, 543, 544, 511, 513, 512, 813, + + 514, 515, 516, 517, 519, 518, 519, 519, 631, 522, + 522, 520, 522, 525, 525, 546, 525, 719, 527, 719, + 528, 529, 812, 533, 543, 544, 522, 522, 522, 522, + 525, 525, 525, 525, 534, 534, 811, 534, 534, 534, + 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, + 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, + 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, + 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, + 534, 534, 534, 534, 534, 534, 534, 534, 631, 534, + 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, + + 534, 534, 534, 534, 534, 534, 534, 534, 534, 534, + 534, 534, 534, 534, 534, 534, 534, 534, 535, 535, + 545, 548, 550, 810, 539, 539, 549, 552, 557, 551, + 554, 549, 552, 553, 809, 559, 558, 640, 640, 548, + 551, 548, 556, 554, 727, 727, 550, 556, 557, 558, + 545, 559, 535, 535, 536, 536, 536, 536, 539, 539, + 553, 549, 552, 536, 536, 536, 536, 536, 536, 548, + 551, 548, 555, 554, 562, 550, 560, 556, 557, 558, + 800, 559, 800, 563, 569, 561, 566, 562, 564, 553, + 555, 571, 560, 536, 536, 536, 536, 536, 536, 540, + + 540, 540, 540, 561, 565, 563, 566, 564, 540, 540, + 540, 540, 540, 540, 569, 567, 568, 562, 570, 572, + 555, 571, 560, 575, 568, 808, 565, 576, 577, 565, + 578, 579, 580, 561, 563, 567, 566, 564, 540, 540, + 540, 540, 540, 540, 582, 584, 581, 570, 572, 583, + 587, 806, 588, 575, 568, 565, 576, 577, 565, 578, + 589, 579, 580, 581, 590, 567, 594, 595, 599, 581, + 799, 597, 598, 601, 582, 584, 602, 603, 583, 604, + 587, 588, 605, 606, 796, 607, 608, 609, 611, 589, + 612, 613, 615, 581, 590, 594, 614, 595, 599, 581, + + 597, 598, 601, 616, 617, 619, 602, 603, 618, 604, + 620, 605, 621, 606, 607, 608, 620, 609, 611, 622, + 612, 613, 615, 627, 628, 614, 629, 636, 636, 641, + 651, 643, 616, 646, 617, 619, 647, 618, 644, 784, + 620, 669, 621, 650, 652, 620, 770, 660, 647, 622, + 651, 648, 627, 652, 628, 629, 650, 649, 646, 641, + 643, 636, 636, 637, 637, 637, 637, 653, 644, 648, + 669, 660, 637, 637, 637, 637, 637, 637, 647, 649, + 651, 654, 655, 652, 656, 653, 650, 646, 654, 655, + 657, 658, 659, 656, 728, 728, 665, 659, 663, 648, + + 660, 657, 637, 637, 637, 637, 637, 637, 649, 658, + 661, 658, 662, 664, 665, 653, 667, 662, 654, 655, + 668, 661, 670, 656, 666, 663, 664, 659, 671, 666, + 672, 657, 674, 668, 676, 679, 667, 761, 680, 658, + 681, 658, 683, 687, 665, 679, 685, 662, 688, 689, + 691, 661, 670, 692, 663, 693, 664, 671, 695, 666, + 672, 674, 696, 668, 676, 679, 667, 680, 697, 699, + 681, 700, 683, 687, 679, 685, 701, 702, 688, 689, + 691, 704, 692, 705, 707, 693, 706, 695, 709, 710, + 711, 696, 713, 714, 733, 715, 716, 697, 717, 699, + + 700, 720, 721, 722, 722, 701, 722, 702, 730, 736, + 704, 733, 734, 705, 707, 706, 737, 734, 709, 710, + 711, 735, 713, 714, 715, 736, 716, 739, 717, 740, + 738, 720, 721, 726, 726, 726, 735, 741, 743, 745, + 737, 733, 738, 744, 747, 742, 746, 734, 748, 739, + 729, 750, 749, 740, 742, 736, 744, 752, 746, 751, + 743, 741, 747, 725, 745, 749, 735, 753, 751, 737, + 748, 750, 738, 754, 753, 752, 755, 763, 739, 764, + 754, 765, 740, 756, 742, 755, 744, 763, 746, 743, + 741, 766, 747, 745, 756, 749, 767, 768, 751, 748, + + 769, 750, 771, 772, 753, 752, 773, 763, 774, 764, + 754, 765, 775, 776, 778, 755, 777, 763, 780, 724, + 782, 766, 786, 787, 756, 767, 768, 788, 791, 769, + 793, 797, 771, 772, 718, 798, 773, 802, 774, 802, + 804, 712, 775, 776, 778, 777, 790, 790, 780, 782, + 820, 790, 786, 787, 790, 819, 788, 790, 791, 708, + 793, 797, 790, 794, 794, 798, 823, 820, 794, 804, + 821, 794, 824, 822, 794, 821, 790, 790, 825, 819, + 826, 790, 823, 827, 790, 828, 831, 790, 822, 830, + 825, 790, 832, 794, 794, 833, 824, 820, 794, 831, + + 834, 794, 826, 835, 794, 821, 829, 827, 819, 828, + 838, 830, 823, 836, 841, 829, 694, 840, 822, 842, + 825, 843, 832, 844, 833, 824, 845, 847, 849, 831, + 834, 826, 835, 850, 852, 856, 827, 857, 828, 838, + 830, 858, 690, 836, 841, 829, 840, 860, 842, 865, + 852, 843, 844, 861, 862, 859, 845, 847, 849, 859, + 863, 864, 859, 850, 852, 856, 857, 866, 684, 868, + 869, 858, 859, 872, 867, 678, 860, 867, 865, 852, + 873, 898, 873, 861, 862, 859, 903, 867, 899, 859, + 863, 864, 859, 900, 901, 902, 905, 866, 868, 869, + + 906, 859, 872, 907, 867, 898, 908, 867, 910, 911, + 912, 642, 913, 914, 915, 903, 867, 916, 899, 917, + 919, 920, 921, 900, 901, 902, 905, 922, 635, 923, + 906, 924, 926, 907, 898, 927, 908, 910, 928, 911, + 912, 913, 930, 914, 915, 931, 932, 916, 917, 933, + 919, 920, 921, 934, 935, 937, 936, 922, 923, 938, + 924, 938, 926, 965, 940, 927, 940, 928, 966, 967, + 968, 969, 930, 936, 970, 931, 932, 971, 933, 972, + 973, 974, 934, 935, 937, 975, 936, 976, 978, 633, + 979, 980, 965, 981, 982, 983, 984, 985, 966, 967, + + 968, 969, 936, 987, 970, 989, 990, 971, 972, 973, + 991, 974, 992, 993, 975, 995, 999, 976, 978, 979, + 980, 996, 981, 998, 982, 983, 984, 985, 1015, 997, + 1013, 1014, 987, 997, 989, 990, 1016, 1017, 1019, 1020, + 991, 1022, 992, 993, 1023, 995, 999, 1024, 1025, 1026, + 996, 1027, 998, 1028, 1030, 1034, 1035, 1015, 997, 1036, + 1013, 1014, 997, 1039, 1040, 1016, 1017, 1041, 1019, 1020, + 1022, 1042, 1043, 1023, 1044, 1046, 1047, 1024, 1025, 1026, + 1048, 1027, 1049, 1028, 1030, 1034, 1035, 1050, 1053, 1036, + 1055, 1057, 1039, 1060, 1040, 1063, 1064, 1041, 1065, 1066, + + 1042, 1043, 1067, 1044, 1046, 1068, 1047, 1069, 1070, 1072, + 1048, 1073, 1049, 1074, 1075, 623, 1077, 1050, 1053, 1055, + 1081, 1057, 1082, 1060, 1083, 1063, 1064, 1065, 1084, 1066, + 1086, 1087, 1067, 1088, 1089, 1068, 1090, 1069, 1070, 1072, + 1073, 1093, 1074, 1095, 1075, 1077, 1096, 1097, 1098, 1100, + 1081, 1103, 1082, 1083, 1105, 596, 1106, 1107, 1084, 1109, + 1086, 1087, 1110, 1088, 1089, 1090, 1157, 1157, 593, 1173, + 1093, 1173, 1206, 1095, 1206, 1096, 1097, 1098, 547, 1100, + 538, 1103, 1166, 1166, 1105, 1106, 1107, 1166, 490, 1109, + 467, 466, 1110, 1114, 1114, 1114, 1114, 1114, 1114, 1114, + + 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, + 1114, 1114, 1114, 1114, 1115, 1115, 1115, 1115, 1115, 1115, + 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, 1115, + 1115, 1115, 1115, 1115, 1115, 1116, 1116, 1116, 1116, 1116, + 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, + 1116, 1116, 1116, 1116, 1116, 1116, 1117, 1117, 1117, 1117, + 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1117, + 1117, 1117, 1117, 1117, 1117, 1117, 1117, 1118, 1118, 1118, + 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, + 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1118, 1119, 1119, + + 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, + 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1120, + 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, + 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, + 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, + 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, 1121, + 1121, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, + 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, + 1122, 1122, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, + 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, 1123, + + 1123, 1123, 1123, 1124, 1124, 1124, 1124, 1124, 1124, 1124, + 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, 1124, + 1124, 1124, 1124, 1124, 1125, 1125, 1125, 1125, 1125, 1125, + 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, 1125, + 1125, 1125, 1125, 1125, 1125, 1126, 1126, 1126, 1126, 1126, + 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, + 1126, 1126, 1126, 1126, 1126, 1126, 1127, 1127, 1127, 1127, + 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, + 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1128, 1128, 1128, + 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, + + 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1129, 1129, + 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, + 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1130, + 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, + 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, + 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, + 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, + 1131, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, + 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, + 1132, 1132, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, + + 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, 1133, + 1133, 1133, 1133, 1134, 1134, 1134, 1134, 1134, 1134, 1134, + 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, 1134, + 1134, 1134, 1134, 1134, 1135, 455, 1135, 437, 1135, 1135, + 1213, 1213, 1213, 1135, 1136, 1136, 1136, 1136, 1136, 1136, + 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, 1136, + 1136, 1136, 1136, 1136, 1137, 410, 1137, 389, 1137, 1137, + 1167, 1167, 362, 1137, 1138, 1167, 1138, 1138, 1138, 1138, + 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 1138, + 1138, 1138, 1138, 1138, 1138, 1139, 353, 1139, 1139, 1139, + + 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, 1139, + 1139, 1139, 1139, 1139, 1139, 1139, 1140, 1140, 351, 1140, + 346, 1140, 1140, 344, 343, 328, 1140, 1141, 315, 1141, + 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, + 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1142, 1142, + 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, + 1142, 1142, 1142, 314, 1142, 313, 1142, 1142, 1142, 1143, + 310, 1143, 1143, 296, 1143, 1143, 1143, 1143, 1143, 1143, + 1143, 1143, 1143, 1143, 289, 1143, 288, 1143, 1143, 1143, + 1144, 287, 286, 1144, 1144, 1144, 1144, 1144, 1144, 1144, + + 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, 1144, + 1144, 1145, 283, 1145, 281, 1145, 1145, 280, 271, 270, + 1145, 1146, 267, 1146, 1146, 1146, 1146, 1146, 1146, 1146, + 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, + 1146, 1146, 1147, 266, 1147, 1147, 1147, 1147, 1147, 1147, + 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 249, + 1147, 1147, 1147, 1148, 245, 1148, 241, 1148, 239, 1148, + 1148, 1148, 1148, 238, 1148, 1148, 236, 235, 234, 1148, + 1149, 230, 1149, 1149, 1149, 216, 1149, 1149, 1149, 1149, + 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, 1149, + + 1149, 1150, 215, 1150, 214, 1150, 1150, 210, 183, 182, + 1150, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, + 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, 1151, + 1151, 1151, 1152, 180, 1152, 1152, 1152, 1152, 1152, 178, + 1152, 1152, 1152, 1152, 1152, 1152, 1152, 177, 1152, 174, + 1152, 1152, 1152, 1153, 173, 1153, 172, 1153, 1153, 1153, + 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 168, 166, + 164, 1153, 1153, 1153, 1154, 1154, 1154, 1154, 1154, 1154, + 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, 1154, + 1154, 1154, 1154, 1154, 1154, 1155, 161, 1155, 1155, 1155, + + 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, + 1155, 1155, 1155, 1155, 1155, 1155, 1156, 1156, 160, 159, + 158, 1156, 1156, 1158, 150, 1158, 1158, 1158, 1158, 1158, + 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, 1158, + 1158, 1158, 1158, 1158, 1159, 149, 145, 1159, 1159, 1159, + 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 1159, 144, + 1159, 142, 1159, 1160, 137, 1160, 1160, 1160, 1160, 135, + 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, 1160, + 1160, 1160, 1160, 1160, 1161, 1161, 1161, 1161, 1161, 1161, + 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 130, + + 1161, 126, 1161, 1161, 1161, 1162, 120, 1162, 1162, 1162, + 115, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, + 113, 112, 109, 1162, 1162, 1162, 1163, 107, 1163, 105, + 1163, 1163, 104, 103, 99, 1163, 1164, 96, 1164, 1164, + 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, + 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1165, 95, 1165, + 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, + 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1168, 1168, + 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, + 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1168, 1169, + + 92, 1169, 90, 1169, 1169, 86, 84, 78, 1169, 1170, + 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, + 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, 1170, + 1171, 77, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, + 1171, 1171, 1171, 1171, 1171, 1171, 1171, 74, 1171, 1171, + 1171, 1172, 71, 1172, 1172, 1172, 1172, 1172, 1172, 1172, + 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, 1172, + 1172, 1172, 1174, 66, 1174, 63, 1174, 1174, 59, 55, + 16, 1174, 15, 1174, 1175, 0, 1175, 1175, 1175, 1175, + 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, 1175, + + 1175, 1175, 1175, 1175, 1175, 1176, 0, 1176, 1176, 1176, + 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, + 1176, 1176, 1176, 1176, 1176, 1176, 1177, 0, 1177, 1177, + 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, + 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1178, 0, 1178, + 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, + 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1178, 1179, 1179, + 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, + 1179, 1179, 1179, 0, 1179, 0, 1179, 1179, 1179, 1180, + 0, 1180, 1180, 0, 1180, 1180, 1180, 1180, 1180, 1180, + + 1180, 1180, 1180, 1180, 0, 1180, 0, 1180, 1180, 1180, + 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, + 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, + 1181, 1182, 0, 0, 1182, 1182, 1182, 1182, 1182, 1182, + 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, + 1182, 1182, 1183, 0, 1183, 0, 1183, 1183, 0, 0, + 0, 1183, 1184, 0, 1184, 0, 1184, 0, 1184, 1184, + 1184, 1184, 0, 1184, 1184, 0, 0, 0, 1184, 1185, + 0, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, + 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, + + 1186, 0, 1186, 0, 1186, 1186, 0, 0, 0, 1186, + 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, + 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, 1187, + 1187, 1188, 0, 1188, 1188, 1188, 1188, 1188, 0, 1188, + 1188, 1188, 1188, 1188, 1188, 1188, 0, 1188, 0, 1188, + 1188, 1188, 1189, 0, 1189, 0, 1189, 1189, 1189, 1189, + 1189, 1189, 1189, 1189, 1189, 1189, 1189, 0, 0, 0, + 1189, 1189, 1189, 1190, 0, 1190, 1190, 1190, 1190, 1190, + 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, + 1190, 1190, 1190, 1190, 1191, 0, 1191, 1191, 1191, 1191, + + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1192, 1192, 0, 0, 0, + 1192, 1192, 1193, 0, 1193, 1193, 1193, 1193, 1193, 1193, + 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, 1193, + 1193, 1193, 1193, 1194, 0, 0, 1194, 1194, 1194, 1194, + 1194, 1194, 1194, 1194, 1194, 1194, 1194, 1194, 0, 1194, + 0, 1194, 1195, 0, 1195, 1195, 1195, 1195, 0, 1195, + 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, 1195, + 1195, 1195, 1195, 1196, 1196, 1196, 1196, 1196, 1196, 1196, + 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 0, 1196, + + 0, 1196, 1196, 1196, 1197, 0, 1197, 1197, 1197, 0, + 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 1197, 0, + 0, 0, 1197, 1197, 1197, 1198, 0, 1198, 1198, 1198, + 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, + 1198, 1198, 1198, 1198, 1198, 1198, 1199, 0, 1199, 1199, + 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1199, + 1199, 1199, 1199, 1199, 1199, 1199, 1199, 1200, 1200, 1200, + 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, + 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1201, 0, + 1201, 0, 1201, 1201, 0, 0, 0, 1201, 1202, 0, + + 1202, 0, 1202, 1202, 0, 0, 0, 1202, 1203, 1203, + 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, + 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1203, 1204, + 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, + 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, 1204, + 1205, 0, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, + 1205, 1205, 1205, 1205, 1205, 1205, 1205, 0, 1205, 1205, + 1205, 1207, 0, 1207, 0, 1207, 1207, 0, 0, 0, + 1207, 0, 1207, 1208, 0, 1208, 1208, 1208, 1208, 1208, + 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, 1208, + + 1208, 1208, 1208, 1208, 1209, 0, 1209, 1209, 1209, 1209, + 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, 1209, + 1209, 1209, 1209, 1209, 1209, 1210, 0, 1210, 1210, 1210, + 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, + 1210, 1210, 1210, 1210, 1210, 1210, 1211, 0, 1211, 1211, + 0, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, 1211, + 1211, 0, 1211, 0, 1211, 1211, 1211, 1212, 1212, 1212, + 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, + 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1212, 1214, 0, + 1214, 0, 1214, 1214, 0, 0, 0, 1214, 1215, 0, + + 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, + 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1215, 1216, + 0, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, + 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, 1216, + 1217, 1217, 0, 0, 0, 1217, 1217, 1218, 0, 1218, + 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, + 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1218, 1219, 1219, + 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, + 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1219, 1220, + 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, + + 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, 1220, + 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, + 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, + 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, + 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, + 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, + 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, + 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, + 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, + 1113, 1113, 1113, 1113, 1113 + + } ; + +static yy_state_type yy_last_accepting_state; +static char *yy_last_accepting_cpos; + +extern int yy_flex_debug; +int yy_flex_debug = 0; + +/* The intent behind this definition is that it'll catch + * any uses of REJECT which flex missed. + */ +#define REJECT reject_used_but_not_detected +#define yymore() yymore_used_but_not_detected +#define YY_MORE_ADJ 0 +#define YY_RESTORE_YY_MORE_OFFSET +char *yytext; +#line 1 "scan.l" +/* scan.l - scanner for flex input -*-C-*- */ +#line 4 "scan.l" +/* Copyright (c) 1990 The Regents of the University of California. */ +/* All rights reserved. */ + +/* This code is derived from software contributed to Berkeley by */ +/* Vern Paxson. */ + +/* The United States Government has rights in this work pursuant */ +/* to contract no. DE-AC03-76SF00098 between the United States */ +/* Department of Energy and the University of California. */ + +/* This file is part of flex. */ + +/* Redistribution and use in source and binary forms, with or without */ +/* modification, are permitted provided that the following conditions */ +/* are met: */ + +/* 1. Redistributions of source code must retain the above copyright */ +/* notice, this list of conditions and the following disclaimer. */ +/* 2. Redistributions in binary form must reproduce the above copyright */ +/* notice, this list of conditions and the following disclaimer in the */ +/* documentation and/or other materials provided with the distribution. */ + +/* Neither the name of the University nor the names of its contributors */ +/* may be used to endorse or promote products derived from this software */ +/* without specific prior written permission. */ + +/* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR */ +/* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED */ +/* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR */ +/* PURPOSE. */ + +#include "flexdef.h" +#include "parse.h" +extern bool tablesverify, tablesext; +extern int trlcontxt; /* Set in parse.y for each rule. */ +extern const char *escaped_qstart, *escaped_qend; + +#define M4QSTART "[""[" +#define M4QEND "]""]" + +#define ESCAPED_QSTART "[" M4QEND M4QSTART "[" M4QEND M4QSTART +#define ESCAPED_QEND M4QEND "]" M4QSTART M4QEND "]" M4QSTART + +#define ACTION_ECHO add_action( yytext ) +#define ACTION_IFDEF(def, should_define) \ + { \ + if ( should_define ) \ + action_define( def, 1 ); \ + } + +#define ACTION_ECHO_QSTART add_action (ESCAPED_QSTART) +#define ACTION_ECHO_QEND add_action (ESCAPED_QEND) + +#define ACTION_M4_IFDEF(def, should_define) \ + do{ \ + if ( should_define ) \ + buf_m4_define( &m4defs_buf, def, NULL);\ + else \ + buf_m4_undefine( &m4defs_buf, def);\ + } while(0) + +#define MARK_END_OF_PROLOG mark_prolog(); + +#define YY_DECL \ + int flexscan(void) + +#define RETURNCHAR \ + yylval = (unsigned char) yytext[0]; \ + return CHAR; + +#define RETURNNAME \ + if(yyleng < MAXLINE) \ + { \ + strncpy( nmstr, yytext, sizeof(nmstr) ); \ + return NAME; \ + } \ + else \ + do { \ + synerr(_("Input line too long\n")); \ + FLEX_EXIT(EXIT_FAILURE); \ + } while (0) + +#define PUT_BACK_STRING(str, start) \ + { size_t i = strlen( str ); \ + while ( i > start ) \ + unput((str)[--i]); \ + } + +#define CHECK_REJECT(str) \ + if ( all_upper( str ) ) \ + reject = true; + +#define CHECK_YYMORE(str) \ + if ( all_lower( str ) ) \ + yymore_used = true; + +#define YY_USER_INIT \ + if ( getenv("POSIXLY_CORRECT") ) \ + posix_compat = true; + +#define START_CODEBLOCK(x) do { \ + /* Emit the needed line directive... */\ + if (indented_code == false) { \ + linenum++; \ + line_directive_out(NULL, 1); \ + } \ + add_action(M4QSTART); \ + yy_push_state(CODEBLOCK); \ + if ((indented_code = x)) ACTION_ECHO; \ +} while(0) + +#define END_CODEBLOCK do { \ + yy_pop_state();\ + add_action(M4QEND); \ + if (!indented_code) line_directive_out(NULL, 0);\ +} while (0) + +#line 1966 "scan.c" + +#line 1968 "scan.c" + +#define INITIAL 0 +#define SECT2 1 +#define SECT2PROLOG 2 +#define SECT3 3 +#define CODEBLOCK 4 +#define PICKUPDEF 5 +#define SC 6 +#define CARETISBOL 7 +#define NUM 8 +#define QUOTE 9 +#define FIRSTCCL 10 +#define CCL 11 +#define ACTION 12 +#define RECOVER 13 +#define COMMENT 14 +#define ACTION_STRING 15 +#define PERCENT_BRACE_ACTION 16 +#define OPTION 17 +#define LINEDIR 18 +#define CODEBLOCK_MATCH_BRACE 19 +#define GROUP_WITH_PARAMS 20 +#define GROUP_MINUS_PARAMS 21 +#define EXTENDED_COMMENT 22 +#define COMMENT_DISCARD 23 +#define CODE_COMMENT 24 +#define SECT3_NOESCAPE 25 +#define CHARACTER_CONSTANT 26 + +#ifndef YY_NO_UNISTD_H +/* Special case for "unistd.h", since it is non-ANSI. We include it way + * down here because we want the user's section 1 to have been scanned first. + * The user has a chance to override it with an option. + */ +#include +#endif + +#ifndef YY_EXTRA_TYPE +#define YY_EXTRA_TYPE void * +#endif + +static int yy_init_globals ( void ); + +/* Accessor methods to globals. + These are made visible to non-reentrant scanners for convenience. */ + +int yylex_destroy ( void ); + +int yyget_debug ( void ); + +void yyset_debug ( int debug_flag ); + +YY_EXTRA_TYPE yyget_extra ( void ); + +void yyset_extra ( YY_EXTRA_TYPE user_defined ); + +FILE *yyget_in ( void ); + +void yyset_in ( FILE * _in_str ); + +FILE *yyget_out ( void ); + +void yyset_out ( FILE * _out_str ); + + int yyget_leng ( void ); + +char *yyget_text ( void ); + +int yyget_lineno ( void ); + +void yyset_lineno ( int _line_number ); + +/* Macros after this point can all be overridden by user definitions in + * section 1. + */ + +#ifndef YY_SKIP_YYWRAP +#ifdef __cplusplus +extern "C" int yywrap ( void ); +#else +extern int yywrap ( void ); +#endif +#endif + +#ifndef YY_NO_UNPUT + + static void yyunput ( int c, char *buf_ptr ); + +#endif + +#ifndef yytext_ptr +static void yy_flex_strncpy ( char *, const char *, int ); +#endif + +#ifdef YY_NEED_STRLEN +static int yy_flex_strlen ( const char * ); +#endif + +#ifndef YY_NO_INPUT +#ifdef __cplusplus +static int yyinput ( void ); +#else +static int input ( void ); +#endif + +#endif + + static int yy_start_stack_ptr = 0; + static int yy_start_stack_depth = 0; + static int *yy_start_stack = NULL; + + static void yy_push_state ( int _new_state ); + + static void yy_pop_state ( void ); + +/* Amount of stuff to slurp up with each read. */ +#ifndef YY_READ_BUF_SIZE +#ifdef __ia64__ +/* On IA-64, the buffer size is 16k, not 8k */ +#define YY_READ_BUF_SIZE 16384 +#else +#define YY_READ_BUF_SIZE 8192 +#endif /* __ia64__ */ +#endif + +/* Copy whatever the last rule matched to the standard output. */ +#ifndef ECHO +/* This used to be an fputs(), but since the string might contain NUL's, + * we now use fwrite(). + */ +#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0) +#endif + +/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, + * is returned in "result". + */ +#ifndef YY_INPUT +#define YY_INPUT(buf,result,max_size) \ + if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ + { \ + int c = '*'; \ + int n; \ + for ( n = 0; n < max_size && \ + (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ + buf[n] = (char) c; \ + if ( c == '\n' ) \ + buf[n++] = (char) c; \ + if ( c == EOF && ferror( yyin ) ) \ + YY_FATAL_ERROR( "input in flex scanner failed" ); \ + result = n; \ + } \ + else \ + { \ + errno=0; \ + while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \ + { \ + if( errno != EINTR) \ + { \ + YY_FATAL_ERROR( "input in flex scanner failed" ); \ + break; \ + } \ + errno=0; \ + clearerr(yyin); \ + } \ + }\ +\ + +#endif + +/* No semi-colon after return; correct usage is to write "yyterminate();" - + * we don't want an extra ';' after the "return" because that will cause + * some compilers to complain about unreachable statements. + */ +#ifndef yyterminate +#define yyterminate() return YY_NULL +#endif + +/* Number of entries by which start-condition stack grows. */ +#ifndef YY_START_STACK_INCR +#define YY_START_STACK_INCR 25 +#endif + +/* Report a fatal error. */ +#ifndef YY_FATAL_ERROR +#define YY_FATAL_ERROR(msg) yy_fatal_error( msg ) +#endif + +/* end tables serialization structures and prototypes */ + +/* Default declaration of generated scanner - a define so the user can + * easily add parameters. + */ +#ifndef YY_DECL +#define YY_DECL_IS_OURS 1 + +extern int yylex (void); + +#define YY_DECL int yylex (void) +#endif /* !YY_DECL */ + +/* Code executed at the beginning of each rule, after yytext and yyleng + * have been set up. + */ +#ifndef YY_USER_ACTION +#define YY_USER_ACTION +#endif + +/* Code executed at the end of each rule. */ +#ifndef YY_BREAK +#define YY_BREAK /*LINTED*/break; +#endif + +#define YY_RULE_SETUP \ + if ( yyleng > 0 ) \ + YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \ + (yytext[yyleng - 1] == '\n'); \ + YY_USER_ACTION + +/** The main scanner function which does all the work. + */ +YY_DECL +{ + yy_state_type yy_current_state; + char *yy_cp, *yy_bp; + int yy_act; + + if ( !(yy_init) ) + { + (yy_init) = 1; + +#ifdef YY_USER_INIT + YY_USER_INIT; +#endif + + if ( ! (yy_start) ) + (yy_start) = 1; /* first start state */ + + if ( ! yyin ) + yyin = stdin; + + if ( ! yyout ) + yyout = stdout; + + if ( ! YY_CURRENT_BUFFER ) { + yyensure_buffer_stack (); + YY_CURRENT_BUFFER_LVALUE = + yy_create_buffer( yyin, YY_BUF_SIZE ); + } + + yy_load_buffer_state( ); + } + + { +#line 158 "scan.l" + +#line 160 "scan.l" + static int bracelevel, didadef, indented_code; + static int doing_rule_action = false; + static int option_sense; + + int doing_codeblock = false; + int brace_depth=0, brace_start_line=0; + char nmdef[MAXLINE]; + + +#line 2234 "scan.c" + + while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ + { + yy_cp = (yy_c_buf_p); + + /* Support of yytext. */ + *yy_cp = (yy_hold_char); + + /* yy_bp points to the position in yy_ch_buf of the start of + * the current run. + */ + yy_bp = yy_cp; + + yy_current_state = (yy_start); + yy_current_state += YY_AT_BOL(); +yy_match: + do + { + YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ; + if ( yy_accept[yy_current_state] ) + { + (yy_last_accepting_state) = yy_current_state; + (yy_last_accepting_cpos) = yy_cp; + } + while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) + { + yy_current_state = (int) yy_def[yy_current_state]; + if ( yy_current_state >= 1114 ) + yy_c = yy_meta[yy_c]; + } + yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; + ++yy_cp; + } + while ( yy_base[yy_current_state] != 4511 ); + +yy_find_action: + yy_act = yy_accept[yy_current_state]; + if ( yy_act == 0 ) + { /* have to back up */ + yy_cp = (yy_last_accepting_cpos); + yy_current_state = (yy_last_accepting_state); + yy_act = yy_accept[yy_current_state]; + } + + YY_DO_BEFORE_ACTION; + +do_action: /* This label is used only to access EOF actions. */ + + switch ( yy_act ) + { /* beginning of action switch */ + case 0: /* must back up */ + /* undo the effects of YY_DO_BEFORE_ACTION */ + *yy_cp = (yy_hold_char); + yy_cp = (yy_last_accepting_cpos); + yy_current_state = (yy_last_accepting_state); + goto yy_find_action; + +case 1: +YY_RULE_SETUP +#line 170 "scan.l" +START_CODEBLOCK(true); + YY_BREAK +case 2: +YY_RULE_SETUP +#line 171 "scan.l" +add_action("/*[""["); yy_push_state( COMMENT ); + YY_BREAK +case 3: +YY_RULE_SETUP +#line 172 "scan.l" +yy_push_state( LINEDIR ); + YY_BREAK +case 4: +YY_RULE_SETUP +#line 173 "scan.l" +return SCDECL; + YY_BREAK +case 5: +YY_RULE_SETUP +#line 174 "scan.l" +return XSCDECL; + YY_BREAK +case 6: +/* rule 6 can match eol */ +YY_RULE_SETUP +#line 175 "scan.l" +START_CODEBLOCK(false); + YY_BREAK +case 7: +/* rule 7 can match eol */ +YY_RULE_SETUP +#line 176 "scan.l" +{ + brace_start_line = linenum; + ++linenum; + buf_linedir( &top_buf, infilename?infilename:"", linenum); + brace_depth = 1; + yy_push_state(CODEBLOCK_MATCH_BRACE); + } + YY_BREAK +case 8: +YY_RULE_SETUP +#line 184 "scan.l" +synerr( _("malformed '%top' directive") ); + YY_BREAK +case 9: +YY_RULE_SETUP +#line 186 "scan.l" +/* discard */ + YY_BREAK +case 10: +YY_RULE_SETUP +#line 188 "scan.l" +{ + sectnum = 2; + bracelevel = 0; + mark_defs1(); + line_directive_out(NULL, 1); + BEGIN(SECT2PROLOG); + return SECTEND; + } + YY_BREAK +case 11: +/* rule 11 can match eol */ +YY_RULE_SETUP +#line 197 "scan.l" +yytext_is_array = false; ++linenum; + YY_BREAK +case 12: +/* rule 12 can match eol */ +YY_RULE_SETUP +#line 198 "scan.l" +yytext_is_array = true; ++linenum; + YY_BREAK +case 13: +YY_RULE_SETUP +#line 200 "scan.l" +BEGIN(OPTION); return TOK_OPTION; + YY_BREAK +case 14: +/* rule 14 can match eol */ +YY_RULE_SETUP +#line 202 "scan.l" +++linenum; /* ignore */ + YY_BREAK +case 15: +/* rule 15 can match eol */ +YY_RULE_SETUP +#line 203 "scan.l" +++linenum; /* ignore */ + YY_BREAK +/* xgettext: no-c-format */ +case 16: +/* rule 16 can match eol */ +YY_RULE_SETUP +#line 206 "scan.l" +synerr( _( "unrecognized '%' directive" ) ); + YY_BREAK +case 17: +YY_RULE_SETUP +#line 208 "scan.l" +{ + if(yyleng < MAXLINE) + { + strncpy( nmstr, yytext, sizeof(nmstr) ); + } + else + { + synerr( _("Definition name too long\n")); + FLEX_EXIT(EXIT_FAILURE); + } + + didadef = false; + BEGIN(PICKUPDEF); + } + YY_BREAK +case 18: +YY_RULE_SETUP +#line 223 "scan.l" +RETURNNAME; + YY_BREAK +case 19: +/* rule 19 can match eol */ +YY_RULE_SETUP +#line 224 "scan.l" +++linenum; /* allows blank lines in section 1 */ + YY_BREAK +case 20: +/* rule 20 can match eol */ +YY_RULE_SETUP +#line 225 "scan.l" +ACTION_ECHO; ++linenum; /* maybe end of comment line */ + YY_BREAK + +/* */ +case 21: +YY_RULE_SETUP +#line 230 "scan.l" +ACTION_ECHO; + YY_BREAK +case 22: +YY_RULE_SETUP +#line 231 "scan.l" +ACTION_ECHO; + YY_BREAK +case 23: +/* rule 23 can match eol */ +YY_RULE_SETUP +#line 233 "scan.l" +++linenum; ACTION_ECHO; + YY_BREAK + + +case 24: +YY_RULE_SETUP +#line 236 "scan.l" +add_action("*/]""]"); yy_pop_state(); + YY_BREAK + + +case 25: +YY_RULE_SETUP +#line 239 "scan.l" +ACTION_ECHO; yy_pop_state(); + YY_BREAK + + +/* This is the same as COMMENT, but is discarded rather than output. */ +case 26: +YY_RULE_SETUP +#line 244 "scan.l" +yy_pop_state(); + YY_BREAK +case 27: +YY_RULE_SETUP +#line 245 "scan.l" +; + YY_BREAK +case 28: +YY_RULE_SETUP +#line 246 "scan.l" +; + YY_BREAK +case 29: +/* rule 29 can match eol */ +YY_RULE_SETUP +#line 247 "scan.l" +++linenum; + YY_BREAK + + +case 30: +YY_RULE_SETUP +#line 251 "scan.l" +yy_pop_state(); + YY_BREAK +case 31: +YY_RULE_SETUP +#line 252 "scan.l" +; + YY_BREAK +case 32: +/* rule 32 can match eol */ +YY_RULE_SETUP +#line 253 "scan.l" +++linenum; + YY_BREAK + + +case 33: +/* rule 33 can match eol */ +YY_RULE_SETUP +#line 257 "scan.l" +yy_pop_state(); + YY_BREAK +case 34: +YY_RULE_SETUP +#line 258 "scan.l" +linenum = myctoi( yytext ); + YY_BREAK +case 35: +YY_RULE_SETUP +#line 260 "scan.l" +{ + free(infilename); + infilename = xstrdup(yytext + 1); + infilename[strlen( infilename ) - 1] = '\0'; + } + YY_BREAK +case 36: +YY_RULE_SETUP +#line 265 "scan.l" +/* ignore spurious characters */ + YY_BREAK + + +case 37: +YY_RULE_SETUP +#line 268 "scan.l" +ACTION_ECHO_QSTART; + YY_BREAK +case 38: +YY_RULE_SETUP +#line 269 "scan.l" +ACTION_ECHO_QEND; + YY_BREAK + + +case 39: +/* rule 39 can match eol */ +YY_RULE_SETUP +#line 273 "scan.l" +++linenum; END_CODEBLOCK; + YY_BREAK +case 40: +YY_RULE_SETUP +#line 274 "scan.l" +ACTION_ECHO; + YY_BREAK +case 41: +YY_RULE_SETUP +#line 275 "scan.l" +ACTION_ECHO; + YY_BREAK +case 42: +/* rule 42 can match eol */ +YY_RULE_SETUP +#line 276 "scan.l" +{ + ++linenum; + ACTION_ECHO; + if ( indented_code ) END_CODEBLOCK; + } + YY_BREAK + + +case 43: +YY_RULE_SETUP +#line 284 "scan.l" +{ + if( --brace_depth == 0){ + /* TODO: Matched. */ + yy_pop_state(); + }else + buf_strnappend(&top_buf, yytext, yyleng); + } + YY_BREAK +case 44: +YY_RULE_SETUP +#line 292 "scan.l" +{ + brace_depth++; + buf_strnappend(&top_buf, yytext, yyleng); + } + YY_BREAK +case 45: +/* rule 45 can match eol */ +YY_RULE_SETUP +#line 297 "scan.l" +{ + ++linenum; + buf_strnappend(&top_buf, yytext, yyleng); + } + YY_BREAK +case 46: +YY_RULE_SETUP +#line 302 "scan.l" +buf_strnappend(&top_buf, escaped_qstart, (int) strlen(escaped_qstart)); + YY_BREAK +case 47: +YY_RULE_SETUP +#line 303 "scan.l" +buf_strnappend(&top_buf, escaped_qend, (int) strlen(escaped_qend)); + YY_BREAK +case 48: +YY_RULE_SETUP +#line 304 "scan.l" +{ + buf_strnappend(&top_buf, yytext, yyleng); + } + YY_BREAK +case YY_STATE_EOF(CODEBLOCK_MATCH_BRACE): +#line 308 "scan.l" +{ + linenum = brace_start_line; + synerr(_("Unmatched '{'")); + yyterminate(); + } + YY_BREAK + + +case 49: +YY_RULE_SETUP +#line 317 "scan.l" +/* separates name and definition */ + YY_BREAK +case 50: +YY_RULE_SETUP +#line 319 "scan.l" +{ + if(yyleng < MAXLINE) + { + strncpy( nmdef, yytext, sizeof(nmdef) ); + } + else + { + format_synerr( _("Definition value for {%s} too long\n"), nmstr); + FLEX_EXIT(EXIT_FAILURE); + } + /* Skip trailing whitespace. */ + { + size_t i = strlen( nmdef ); + while (i > 0 && (nmdef[i-1] == ' ' || nmdef[i-1] == '\t')) + --i; + nmdef[i] = '\0'; + } + + ndinstal( nmstr, nmdef ); + didadef = true; + } + YY_BREAK +case 51: +/* rule 51 can match eol */ +YY_RULE_SETUP +#line 341 "scan.l" +{ + if ( ! didadef ) + synerr( _( "incomplete name definition" ) ); + BEGIN(INITIAL); + ++linenum; + } + YY_BREAK + + +case 52: +/* rule 52 can match eol */ +YY_RULE_SETUP +#line 351 "scan.l" +++linenum; BEGIN(INITIAL); + YY_BREAK +case 53: +YY_RULE_SETUP +#line 352 "scan.l" +option_sense = true; + YY_BREAK +case 54: +YY_RULE_SETUP +#line 354 "scan.l" +return '='; + YY_BREAK +case 55: +YY_RULE_SETUP +#line 356 "scan.l" +option_sense = ! option_sense; + YY_BREAK +case 56: +YY_RULE_SETUP +#line 358 "scan.l" +csize = option_sense ? 128 : 256; + YY_BREAK +case 57: +YY_RULE_SETUP +#line 359 "scan.l" +csize = option_sense ? 256 : 128; + YY_BREAK +case 58: +YY_RULE_SETUP +#line 361 "scan.l" +long_align = option_sense; + YY_BREAK +case 59: +YY_RULE_SETUP +#line 362 "scan.l" +{ + ACTION_M4_IFDEF( "M4""_YY_ALWAYS_INTERACTIVE", option_sense ); + interactive = option_sense; + } + YY_BREAK +case 60: +YY_RULE_SETUP +#line 366 "scan.l" +yytext_is_array = option_sense; + YY_BREAK +case 61: +YY_RULE_SETUP +#line 367 "scan.l" +backing_up_report = option_sense; + YY_BREAK +case 62: +YY_RULE_SETUP +#line 368 "scan.l" +interactive = ! option_sense; + YY_BREAK +case 63: +YY_RULE_SETUP +#line 369 "scan.l" +bison_bridge_lval = option_sense; + YY_BREAK +case 64: +YY_RULE_SETUP +#line 370 "scan.l" +{ if((bison_bridge_lloc = option_sense)) + bison_bridge_lval = true; + } + YY_BREAK +case 65: +YY_RULE_SETUP +#line 373 "scan.l" +C_plus_plus = option_sense; + YY_BREAK +case 66: +YY_RULE_SETUP +#line 374 "scan.l" +sf_set_case_ins(!option_sense); + YY_BREAK +case 67: +YY_RULE_SETUP +#line 375 "scan.l" +sf_set_case_ins(option_sense); + YY_BREAK +case 68: +YY_RULE_SETUP +#line 376 "scan.l" +ddebug = option_sense; + YY_BREAK +case 69: +YY_RULE_SETUP +#line 377 "scan.l" +spprdflt = ! option_sense; + YY_BREAK +case 70: +YY_RULE_SETUP +#line 378 "scan.l" +useecs = option_sense; + YY_BREAK +case 71: +YY_RULE_SETUP +#line 379 "scan.l" +{ + useecs = usemecs = false; + use_read = fullspd = true; + } + YY_BREAK +case 72: +YY_RULE_SETUP +#line 383 "scan.l" +{ + useecs = usemecs = false; + use_read = fulltbl = true; + } + YY_BREAK +case 73: +YY_RULE_SETUP +#line 387 "scan.l" +ACTION_IFDEF("YY_NO_INPUT", ! option_sense); + YY_BREAK +case 74: +YY_RULE_SETUP +#line 388 "scan.l" +interactive = option_sense; + YY_BREAK +case 75: +YY_RULE_SETUP +#line 389 "scan.l" +lex_compat = option_sense; + YY_BREAK +case 76: +YY_RULE_SETUP +#line 390 "scan.l" +posix_compat = option_sense; + YY_BREAK +case 77: +YY_RULE_SETUP +#line 391 "scan.l" +gen_line_dirs = option_sense; + YY_BREAK +case 78: +YY_RULE_SETUP +#line 392 "scan.l" +{ + ACTION_M4_IFDEF( "M4""_YY_MAIN", option_sense); + /* Override yywrap */ + if( option_sense == true ) + do_yywrap = false; + } + YY_BREAK +case 79: +YY_RULE_SETUP +#line 398 "scan.l" +usemecs = option_sense; + YY_BREAK +case 80: +YY_RULE_SETUP +#line 399 "scan.l" +{ + ACTION_M4_IFDEF( "M4""_YY_NEVER_INTERACTIVE", option_sense ); + interactive = !option_sense; + } + YY_BREAK +case 81: +YY_RULE_SETUP +#line 403 "scan.l" +performance_report += option_sense ? 1 : -1; + YY_BREAK +case 82: +YY_RULE_SETUP +#line 404 "scan.l" +yytext_is_array = ! option_sense; + YY_BREAK +case 83: +YY_RULE_SETUP +#line 405 "scan.l" +use_read = option_sense; + YY_BREAK +case 84: +YY_RULE_SETUP +#line 406 "scan.l" +reentrant = option_sense; + YY_BREAK +case 85: +YY_RULE_SETUP +#line 407 "scan.l" +reject_really_used = option_sense; + YY_BREAK +case 86: +YY_RULE_SETUP +#line 408 "scan.l" +ACTION_M4_IFDEF( "M4""_YY_STACK_USED", option_sense ); + YY_BREAK +case 87: +YY_RULE_SETUP +#line 409 "scan.l" +do_stdinit = option_sense; + YY_BREAK +case 88: +YY_RULE_SETUP +#line 410 "scan.l" +use_stdout = option_sense; + YY_BREAK +case 89: +YY_RULE_SETUP +#line 411 "scan.l" +ACTION_IFDEF("YY_NO_UNISTD_H", ! option_sense); + YY_BREAK +case 90: +YY_RULE_SETUP +#line 412 "scan.l" +ACTION_M4_IFDEF("M4""_YY_NO_UNPUT", ! option_sense); + YY_BREAK +case 91: +YY_RULE_SETUP +#line 413 "scan.l" +printstats = option_sense; + YY_BREAK +case 92: +YY_RULE_SETUP +#line 414 "scan.l" +nowarn = ! option_sense; + YY_BREAK +case 93: +YY_RULE_SETUP +#line 415 "scan.l" +do_yylineno = option_sense; ACTION_M4_IFDEF("M4""_YY_USE_LINENO", option_sense); + YY_BREAK +case 94: +YY_RULE_SETUP +#line 416 "scan.l" +yymore_really_used = option_sense; + YY_BREAK +case 95: +YY_RULE_SETUP +#line 417 "scan.l" +do_yywrap = option_sense; + YY_BREAK +case 96: +YY_RULE_SETUP +#line 419 "scan.l" +ACTION_M4_IFDEF("M4""_YY_NO_PUSH_STATE", ! option_sense); + YY_BREAK +case 97: +YY_RULE_SETUP +#line 420 "scan.l" +ACTION_M4_IFDEF("M4""_YY_NO_POP_STATE", ! option_sense); + YY_BREAK +case 98: +YY_RULE_SETUP +#line 421 "scan.l" +ACTION_M4_IFDEF("M4""_YY_NO_TOP_STATE", ! option_sense); + YY_BREAK +case 99: +YY_RULE_SETUP +#line 423 "scan.l" +ACTION_M4_IFDEF("M4""_YY_NO_SCAN_BUFFER", ! option_sense); + YY_BREAK +case 100: +YY_RULE_SETUP +#line 424 "scan.l" +ACTION_M4_IFDEF("M4""_YY_NO_SCAN_BYTES", ! option_sense); + YY_BREAK +case 101: +YY_RULE_SETUP +#line 425 "scan.l" +ACTION_M4_IFDEF("M4""_YY_NO_SCAN_STRING", ! option_sense); + YY_BREAK +case 102: +YY_RULE_SETUP +#line 427 "scan.l" +ACTION_M4_IFDEF("M4""_YY_NO_FLEX_ALLOC", ! option_sense); + YY_BREAK +case 103: +YY_RULE_SETUP +#line 428 "scan.l" +ACTION_M4_IFDEF("M4""_YY_NO_FLEX_REALLOC", ! option_sense); + YY_BREAK +case 104: +YY_RULE_SETUP +#line 429 "scan.l" +ACTION_M4_IFDEF("M4""_YY_NO_FLEX_FREE", ! option_sense); + YY_BREAK +case 105: +YY_RULE_SETUP +#line 431 "scan.l" +ACTION_M4_IFDEF("M4""_YY_NO_GET_DEBUG", ! option_sense); + YY_BREAK +case 106: +YY_RULE_SETUP +#line 432 "scan.l" +ACTION_M4_IFDEF("M4""_YY_NO_SET_DEBUG", ! option_sense); + YY_BREAK +case 107: +YY_RULE_SETUP +#line 433 "scan.l" +ACTION_M4_IFDEF("M4""_YY_NO_GET_EXTRA", ! option_sense); + YY_BREAK +case 108: +YY_RULE_SETUP +#line 434 "scan.l" +ACTION_M4_IFDEF("M4""_YY_NO_SET_EXTRA", ! option_sense); + YY_BREAK +case 109: +YY_RULE_SETUP +#line 435 "scan.l" +ACTION_M4_IFDEF("M4""_YY_NO_GET_LENG", ! option_sense); + YY_BREAK +case 110: +YY_RULE_SETUP +#line 436 "scan.l" +ACTION_M4_IFDEF("M4""_YY_NO_GET_TEXT", ! option_sense); + YY_BREAK +case 111: +YY_RULE_SETUP +#line 437 "scan.l" +ACTION_M4_IFDEF("M4""_YY_NO_GET_LINENO", ! option_sense); + YY_BREAK +case 112: +YY_RULE_SETUP +#line 438 "scan.l" +ACTION_M4_IFDEF("M4""_YY_NO_SET_LINENO", ! option_sense); + YY_BREAK +case 113: +YY_RULE_SETUP +#line 439 "scan.l" +ACTION_M4_IFDEF("M4""_YY_NO_GET_IN", ! option_sense); + YY_BREAK +case 114: +YY_RULE_SETUP +#line 440 "scan.l" +ACTION_M4_IFDEF("M4""_YY_NO_SET_IN", ! option_sense); + YY_BREAK +case 115: +YY_RULE_SETUP +#line 441 "scan.l" +ACTION_M4_IFDEF("M4""_YY_NO_GET_OUT", ! option_sense); + YY_BREAK +case 116: +YY_RULE_SETUP +#line 442 "scan.l" +ACTION_M4_IFDEF("M4""_YY_NO_SET_OUT", ! option_sense); + YY_BREAK +case 117: +YY_RULE_SETUP +#line 443 "scan.l" +ACTION_M4_IFDEF("M4""_YY_NO_GET_LVAL", ! option_sense); + YY_BREAK +case 118: +YY_RULE_SETUP +#line 444 "scan.l" +ACTION_M4_IFDEF("M4""_YY_NO_SET_LVAL", ! option_sense); + YY_BREAK +case 119: +YY_RULE_SETUP +#line 445 "scan.l" +ACTION_M4_IFDEF("M4""_YY_NO_GET_LLOC", ! option_sense); + YY_BREAK +case 120: +YY_RULE_SETUP +#line 446 "scan.l" +ACTION_M4_IFDEF("M4""_YY_NO_SET_LLOC", ! option_sense); + YY_BREAK +case 121: +YY_RULE_SETUP +#line 448 "scan.l" +return TOK_EXTRA_TYPE; + YY_BREAK +case 122: +YY_RULE_SETUP +#line 449 "scan.l" +return TOK_OUTFILE; + YY_BREAK +case 123: +YY_RULE_SETUP +#line 450 "scan.l" +return TOK_PREFIX; + YY_BREAK +case 124: +YY_RULE_SETUP +#line 451 "scan.l" +return TOK_YYCLASS; + YY_BREAK +case 125: +YY_RULE_SETUP +#line 452 "scan.l" +return TOK_HEADER_FILE; + YY_BREAK +case 126: +YY_RULE_SETUP +#line 453 "scan.l" +return TOK_TABLES_FILE; + YY_BREAK +case 127: +YY_RULE_SETUP +#line 454 "scan.l" +{ + tablesverify = option_sense; + if(!tablesext && option_sense) + tablesext = true; + } + YY_BREAK +case 128: +YY_RULE_SETUP +#line 461 "scan.l" +{ + if(yyleng-1 < MAXLINE) + { + strncpy( nmstr, yytext + 1, sizeof(nmstr) ); + } + else + { + synerr( _("Option line too long\n")); + FLEX_EXIT(EXIT_FAILURE); + } + nmstr[strlen( nmstr ) - 1] = '\0'; + return NAME; + } + YY_BREAK +case 129: +YY_RULE_SETUP +#line 475 "scan.l" +{ + format_synerr( _( "unrecognized %%option: %s" ), + yytext ); + BEGIN(RECOVER); + } + YY_BREAK + +case 130: +/* rule 130 can match eol */ +YY_RULE_SETUP +#line 482 "scan.l" +++linenum; BEGIN(INITIAL); + YY_BREAK + +case 131: +YY_RULE_SETUP +#line 486 "scan.l" +++bracelevel; yyless( 2 ); /* eat only %{ */ + YY_BREAK +case 132: +YY_RULE_SETUP +#line 487 "scan.l" +--bracelevel; yyless( 2 ); /* eat only %} */ + YY_BREAK +case 133: +YY_RULE_SETUP +#line 489 "scan.l" +START_CODEBLOCK(true); /* indented code in prolog */ + YY_BREAK +case 134: +YY_RULE_SETUP +#line 491 "scan.l" +{ + /* non-indented code */ + if ( bracelevel <= 0 ) { + /* not in %{ ... %} */ + yyless( 0 ); /* put it all back */ + yy_set_bol( 1 ); + mark_prolog(); + BEGIN(SECT2); + } else { + START_CODEBLOCK(true); + } + } + YY_BREAK +case 135: +YY_RULE_SETUP +#line 504 "scan.l" +ACTION_ECHO; + YY_BREAK +case 136: +/* rule 136 can match eol */ +YY_RULE_SETUP +#line 505 "scan.l" +++linenum; ACTION_ECHO; + YY_BREAK +case YY_STATE_EOF(SECT2PROLOG): +#line 507 "scan.l" +{ + mark_prolog(); + sectnum = 0; + yyterminate(); /* to stop the parser */ + } + YY_BREAK + + +case 137: +/* rule 137 can match eol */ +YY_RULE_SETUP +#line 515 "scan.l" +++linenum; /* allow blank lines in section 2 */ + YY_BREAK +case 138: +YY_RULE_SETUP +#line 517 "scan.l" +{ + indented_code = false; + doing_codeblock = true; + bracelevel = 1; + BEGIN(PERCENT_BRACE_ACTION); + } + YY_BREAK +case 139: +YY_RULE_SETUP +#line 524 "scan.l" +{ + /* Allow "<" to appear in (?x) patterns. */ + if (!sf_skip_ws()) + BEGIN(SC); + return '<'; + } + YY_BREAK +case 140: +YY_RULE_SETUP +#line 530 "scan.l" +return '^'; + YY_BREAK +case 141: +YY_RULE_SETUP +#line 531 "scan.l" +BEGIN(QUOTE); return '"'; + YY_BREAK +case 142: +*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ +(yy_c_buf_p) = yy_cp = yy_bp + 1; +YY_DO_BEFORE_ACTION; /* set up yytext again */ +YY_RULE_SETUP +#line 532 "scan.l" +{ + BEGIN(NUM); + if ( lex_compat || posix_compat ) + return BEGIN_REPEAT_POSIX; + else + return BEGIN_REPEAT_FLEX; + } + YY_BREAK +case 143: +/* rule 143 can match eol */ +*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ +YY_LINENO_REWIND_TO(yy_bp + 1); +(yy_c_buf_p) = yy_cp = yy_bp + 1; +YY_DO_BEFORE_ACTION; /* set up yytext again */ +YY_RULE_SETUP +#line 539 "scan.l" +return '$'; + YY_BREAK +case 144: +YY_RULE_SETUP +#line 541 "scan.l" +{ + bracelevel = 1; + BEGIN(PERCENT_BRACE_ACTION); + + if ( in_rule ) + { + doing_rule_action = true; + in_rule = false; + return '\n'; + } + } + YY_BREAK +case 145: +/* rule 145 can match eol */ +YY_RULE_SETUP +#line 552 "scan.l" +{ + if (sf_skip_ws()){ + /* We're in the middle of a (?x: ) pattern. */ + /* Push back everything starting at the "|" */ + int amt = (int) (strchr (yytext, '|') - yytext); + yyless(amt); + } + else { + add_action("]""]"); + continued_action = true; + ++linenum; + return '\n'; + } + } + YY_BREAK +case 146: +YY_RULE_SETUP +#line 567 "scan.l" +{ + + if (sf_skip_ws()){ + /* We're in the middle of a (?x: ) pattern. */ + yy_push_state(COMMENT_DISCARD); + } + else{ + yyless( yyleng - 2 ); /* put back '/', '*' */ + bracelevel = 0; + continued_action = false; + BEGIN(ACTION); + } + } + YY_BREAK +case 147: +YY_RULE_SETUP +#line 581 "scan.l" +/* allow indented rules */ ; + YY_BREAK +case 148: +YY_RULE_SETUP +#line 583 "scan.l" +{ + if (sf_skip_ws()){ + /* We're in the middle of a (?x: ) pattern. */ + } + else{ + /* This rule is separate from the one below because + * otherwise we get variable trailing context, so + * we can't build the scanner using -{f,F}. + */ + bracelevel = 0; + continued_action = false; + BEGIN(ACTION); + + if ( in_rule ) + { + doing_rule_action = true; + in_rule = false; + return '\n'; + } + } + } + YY_BREAK +case 149: +/* rule 149 can match eol */ +YY_RULE_SETUP +#line 605 "scan.l" +{ + if (sf_skip_ws()){ + /* We're in the middle of a (?x: ) pattern. */ + ++linenum; + } + else{ + bracelevel = 0; + continued_action = false; + BEGIN(ACTION); + unput( '\n' ); /* so sees it */ + + if ( in_rule ) + { + doing_rule_action = true; + in_rule = false; + return '\n'; + } + } + } + YY_BREAK +case 150: +#line 626 "scan.l" +case 151: +YY_RULE_SETUP +#line 626 "scan.l" +return EOF_OP; + YY_BREAK +case 152: +YY_RULE_SETUP +#line 628 "scan.l" +{ + sectnum = 3; + BEGIN(no_section3_escape ? SECT3_NOESCAPE : SECT3); + outn("/* Begin user sect3 */"); + yyterminate(); /* to stop the parser */ + + } + YY_BREAK +case 153: +YY_RULE_SETUP +#line 636 "scan.l" +{ + int cclval; + + if(yyleng < MAXLINE) + { + strncpy( nmstr, yytext, sizeof(nmstr) ); + } + else + { + synerr( _("Input line too long\n")); + FLEX_EXIT(EXIT_FAILURE); + } + + /* Check to see if we've already encountered this + * ccl. + */ + if (0 /* <--- This "0" effectively disables the reuse of a + * character class (purely based on its source text). + * The reason it was disabled is so yacc/bison can parse + * ccl operations, such as ccl difference and union. + */ + && (cclval = ccllookup( nmstr )) != 0 ) + { + if ( input() != ']' ) + synerr( _( "bad character class" ) ); + + yylval = cclval; + ++cclreuse; + return PREVCCL; + } + else + { + /* We fudge a bit. We know that this ccl will + * soon be numbered as lastccl + 1 by cclinit. + */ + cclinstal( nmstr, lastccl + 1 ); + + /* Push back everything but the leading bracket + * so the ccl can be rescanned. + */ + yyless( 1 ); + + BEGIN(FIRSTCCL); + return '['; + } + } + YY_BREAK +case 154: +YY_RULE_SETUP +#line 682 "scan.l" +return CCL_OP_DIFF; + YY_BREAK +case 155: +YY_RULE_SETUP +#line 683 "scan.l" +return CCL_OP_UNION; + YY_BREAK +/* Check for :space: at the end of the rule so we don't + * wrap the expanded regex in '(' ')' -- breaking trailing + * context. + */ +case 156: +/* rule 156 can match eol */ +YY_RULE_SETUP +#line 690 "scan.l" +{ + char *nmdefptr; + int end_is_ws, end_ch; + + end_ch = yytext[yyleng-1]; + end_is_ws = end_ch != '}' ? 1 : 0; + + if(yyleng-1 < MAXLINE) + { + strncpy( nmstr, yytext + 1, sizeof(nmstr) ); + } + else + { + synerr( _("Input line too long\n")); + FLEX_EXIT(EXIT_FAILURE); + } +nmstr[yyleng - 2 - end_is_ws] = '\0'; /* chop trailing brace */ + + if ( (nmdefptr = ndlookup( nmstr )) == 0 ) + format_synerr( + _( "undefined definition {%s}" ), + nmstr ); + + else + { /* push back name surrounded by ()'s */ + size_t len = strlen( nmdefptr ); + if (end_is_ws) + unput(end_ch); + + if ( lex_compat || nmdefptr[0] == '^' || + (len > 0 && nmdefptr[len - 1] == '$') + || (end_is_ws && trlcontxt && !sf_skip_ws())) + { /* don't use ()'s after all */ + PUT_BACK_STRING(nmdefptr, 0); + + if ( nmdefptr[0] == '^' ) + BEGIN(CARETISBOL); + } + + else + { + unput(')'); + PUT_BACK_STRING(nmdefptr, 0); + unput('('); + } + } + } + YY_BREAK +case 157: +YY_RULE_SETUP +#line 738 "scan.l" +{ + if (sf_skip_ws()) + yy_push_state(COMMENT_DISCARD); + else{ + /* Push back the "*" and return "/" as usual. */ + yyless(1); + return '/'; + } + } + YY_BREAK +case 158: +YY_RULE_SETUP +#line 748 "scan.l" +{ + if (lex_compat || posix_compat){ + /* Push back the "?#" and treat it like a normal parens. */ + yyless(1); + sf_push(); + return '('; + } + else + yy_push_state(EXTENDED_COMMENT); + } + YY_BREAK +case 159: +YY_RULE_SETUP +#line 758 "scan.l" +{ + sf_push(); + if (lex_compat || posix_compat) + /* Push back the "?" and treat it like a normal parens. */ + yyless(1); + else + BEGIN(GROUP_WITH_PARAMS); + return '('; + } + YY_BREAK +case 160: +YY_RULE_SETUP +#line 767 "scan.l" +sf_push(); return '('; + YY_BREAK +case 161: +YY_RULE_SETUP +#line 768 "scan.l" +{ + if (_sf_top_ix > 0) { + sf_pop(); + return ')'; + } else + synerr(_("unbalanced parenthesis")); + } + YY_BREAK +case 162: +YY_RULE_SETUP +#line 776 "scan.l" +return (unsigned char) yytext[0]; + YY_BREAK +case 163: +YY_RULE_SETUP +#line 777 "scan.l" +RETURNCHAR; + YY_BREAK + + +case 164: +/* rule 164 can match eol */ +YY_RULE_SETUP +#line 782 "scan.l" +++linenum; /* Allow blank lines & continuations */ + YY_BREAK +case 165: +YY_RULE_SETUP +#line 783 "scan.l" +return (unsigned char) yytext[0]; + YY_BREAK +case 166: +YY_RULE_SETUP +#line 784 "scan.l" +BEGIN(SECT2); return '>'; + YY_BREAK +case 167: +*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ +(yy_c_buf_p) = yy_cp = yy_bp + 1; +YY_DO_BEFORE_ACTION; /* set up yytext again */ +YY_RULE_SETUP +#line 785 "scan.l" +BEGIN(CARETISBOL); return '>'; + YY_BREAK +case 168: +YY_RULE_SETUP +#line 786 "scan.l" +RETURNNAME; + YY_BREAK +case 169: +YY_RULE_SETUP +#line 787 "scan.l" +{ + format_synerr( _( "bad : %s" ), + yytext ); + } + YY_BREAK + +case 170: +YY_RULE_SETUP +#line 793 "scan.l" +BEGIN(SECT2); return '^'; + YY_BREAK + +case 171: +YY_RULE_SETUP +#line 797 "scan.l" +RETURNCHAR; + YY_BREAK +case 172: +YY_RULE_SETUP +#line 798 "scan.l" +BEGIN(SECT2); return '"'; + YY_BREAK +case 173: +/* rule 173 can match eol */ +YY_RULE_SETUP +#line 800 "scan.l" +{ + synerr( _( "missing quote" ) ); + BEGIN(SECT2); + ++linenum; + return '"'; + } + YY_BREAK + + +case 174: +YY_RULE_SETUP +#line 809 "scan.l" +BEGIN(SECT2); + YY_BREAK +case 175: +YY_RULE_SETUP +#line 810 "scan.l" +BEGIN(GROUP_MINUS_PARAMS); + YY_BREAK +case 176: +YY_RULE_SETUP +#line 811 "scan.l" +sf_set_case_ins(1); + YY_BREAK +case 177: +YY_RULE_SETUP +#line 812 "scan.l" +sf_set_dot_all(1); + YY_BREAK +case 178: +YY_RULE_SETUP +#line 813 "scan.l" +sf_set_skip_ws(1); + YY_BREAK + + +case 179: +YY_RULE_SETUP +#line 816 "scan.l" +BEGIN(SECT2); + YY_BREAK +case 180: +YY_RULE_SETUP +#line 817 "scan.l" +sf_set_case_ins(0); + YY_BREAK +case 181: +YY_RULE_SETUP +#line 818 "scan.l" +sf_set_dot_all(0); + YY_BREAK +case 182: +YY_RULE_SETUP +#line 819 "scan.l" +sf_set_skip_ws(0); + YY_BREAK + + +case 183: +*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ +(yy_c_buf_p) = yy_cp = yy_bp + 1; +YY_DO_BEFORE_ACTION; /* set up yytext again */ +YY_RULE_SETUP +#line 823 "scan.l" +BEGIN(CCL); return '^'; + YY_BREAK +case 184: +*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ +(yy_c_buf_p) = yy_cp = yy_bp + 1; +YY_DO_BEFORE_ACTION; /* set up yytext again */ +YY_RULE_SETUP +#line 824 "scan.l" +return '^'; + YY_BREAK +case 185: +YY_RULE_SETUP +#line 825 "scan.l" +BEGIN(CCL); RETURNCHAR; + YY_BREAK + + +case 186: +*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ +(yy_c_buf_p) = yy_cp = yy_bp + 1; +YY_DO_BEFORE_ACTION; /* set up yytext again */ +YY_RULE_SETUP +#line 829 "scan.l" +return '-'; + YY_BREAK +case 187: +YY_RULE_SETUP +#line 830 "scan.l" +RETURNCHAR; + YY_BREAK +case 188: +YY_RULE_SETUP +#line 831 "scan.l" +BEGIN(SECT2); return ']'; + YY_BREAK +case 189: +/* rule 189 can match eol */ +YY_RULE_SETUP +#line 832 "scan.l" +{ + synerr( _( "bad character class" ) ); + BEGIN(SECT2); + return ']'; + } + YY_BREAK + + +case 190: +YY_RULE_SETUP +#line 840 "scan.l" +BEGIN(CCL); return CCE_ALNUM; + YY_BREAK +case 191: +YY_RULE_SETUP +#line 841 "scan.l" +BEGIN(CCL); return CCE_ALPHA; + YY_BREAK +case 192: +YY_RULE_SETUP +#line 842 "scan.l" +BEGIN(CCL); return CCE_BLANK; + YY_BREAK +case 193: +YY_RULE_SETUP +#line 843 "scan.l" +BEGIN(CCL); return CCE_CNTRL; + YY_BREAK +case 194: +YY_RULE_SETUP +#line 844 "scan.l" +BEGIN(CCL); return CCE_DIGIT; + YY_BREAK +case 195: +YY_RULE_SETUP +#line 845 "scan.l" +BEGIN(CCL); return CCE_GRAPH; + YY_BREAK +case 196: +YY_RULE_SETUP +#line 846 "scan.l" +BEGIN(CCL); return CCE_LOWER; + YY_BREAK +case 197: +YY_RULE_SETUP +#line 847 "scan.l" +BEGIN(CCL); return CCE_PRINT; + YY_BREAK +case 198: +YY_RULE_SETUP +#line 848 "scan.l" +BEGIN(CCL); return CCE_PUNCT; + YY_BREAK +case 199: +YY_RULE_SETUP +#line 849 "scan.l" +BEGIN(CCL); return CCE_SPACE; + YY_BREAK +case 200: +YY_RULE_SETUP +#line 850 "scan.l" +BEGIN(CCL); return CCE_UPPER; + YY_BREAK +case 201: +YY_RULE_SETUP +#line 851 "scan.l" +BEGIN(CCL); return CCE_XDIGIT; + YY_BREAK +case 202: +YY_RULE_SETUP +#line 853 "scan.l" +BEGIN(CCL); return CCE_NEG_ALNUM; + YY_BREAK +case 203: +YY_RULE_SETUP +#line 854 "scan.l" +BEGIN(CCL); return CCE_NEG_ALPHA; + YY_BREAK +case 204: +YY_RULE_SETUP +#line 855 "scan.l" +BEGIN(CCL); return CCE_NEG_BLANK; + YY_BREAK +case 205: +YY_RULE_SETUP +#line 856 "scan.l" +BEGIN(CCL); return CCE_NEG_CNTRL; + YY_BREAK +case 206: +YY_RULE_SETUP +#line 857 "scan.l" +BEGIN(CCL); return CCE_NEG_DIGIT; + YY_BREAK +case 207: +YY_RULE_SETUP +#line 858 "scan.l" +BEGIN(CCL); return CCE_NEG_GRAPH; + YY_BREAK +case 208: +YY_RULE_SETUP +#line 859 "scan.l" +BEGIN(CCL); return CCE_NEG_LOWER; + YY_BREAK +case 209: +YY_RULE_SETUP +#line 860 "scan.l" +BEGIN(CCL); return CCE_NEG_PRINT; + YY_BREAK +case 210: +YY_RULE_SETUP +#line 861 "scan.l" +BEGIN(CCL); return CCE_NEG_PUNCT; + YY_BREAK +case 211: +YY_RULE_SETUP +#line 862 "scan.l" +BEGIN(CCL); return CCE_NEG_SPACE; + YY_BREAK +case 212: +YY_RULE_SETUP +#line 863 "scan.l" +BEGIN(CCL); return CCE_NEG_UPPER; + YY_BREAK +case 213: +YY_RULE_SETUP +#line 864 "scan.l" +BEGIN(CCL); return CCE_NEG_XDIGIT; + YY_BREAK +case 214: +YY_RULE_SETUP +#line 865 "scan.l" +{ + format_synerr( + _( "bad character class expression: %s" ), + yytext ); + BEGIN(CCL); return CCE_ALNUM; + } + YY_BREAK + + +case 215: +YY_RULE_SETUP +#line 874 "scan.l" +{ + yylval = myctoi( yytext ); + return NUMBER; + } + YY_BREAK +case 216: +YY_RULE_SETUP +#line 879 "scan.l" +return ','; + YY_BREAK +case 217: +YY_RULE_SETUP +#line 880 "scan.l" +{ + BEGIN(SECT2); + if ( lex_compat || posix_compat ) + return END_REPEAT_POSIX; + else + return END_REPEAT_FLEX; + } + YY_BREAK +case 218: +YY_RULE_SETUP +#line 888 "scan.l" +{ + synerr( _( "bad character inside {}'s" ) ); + BEGIN(SECT2); + return '}'; + } + YY_BREAK +case 219: +/* rule 219 can match eol */ +YY_RULE_SETUP +#line 894 "scan.l" +{ + synerr( _( "missing }" ) ); + BEGIN(SECT2); + ++linenum; + return '}'; + } + YY_BREAK + + +case 220: +YY_RULE_SETUP +#line 904 "scan.l" +bracelevel = 0; + YY_BREAK +case 221: +YY_RULE_SETUP +#line 906 "scan.l" +ACTION_ECHO; yy_push_state( CODE_COMMENT ); + YY_BREAK + +case 222: +YY_RULE_SETUP +#line 909 "scan.l" +{ + ACTION_ECHO; + CHECK_REJECT(yytext); + } + YY_BREAK +case 223: +YY_RULE_SETUP +#line 913 "scan.l" +{ + ACTION_ECHO; + CHECK_YYMORE(yytext); + } + YY_BREAK + +case 224: +YY_RULE_SETUP +#line 919 "scan.l" +ACTION_ECHO; + YY_BREAK +case 225: +/* rule 225 can match eol */ +YY_RULE_SETUP +#line 920 "scan.l" +{ + ++linenum; + ACTION_ECHO; + if (bracelevel <= 0 || (doing_codeblock && indented_code)) { + if ( doing_rule_action ) + add_action( "\tYY_BREAK]""]\n" ); + + doing_rule_action = doing_codeblock = false; + BEGIN(SECT2); + } + } + YY_BREAK + +/* Reject and YYmore() are checked for above, in PERCENT_BRACE_ACTION */ + +case 226: +YY_RULE_SETUP +#line 936 "scan.l" +ACTION_ECHO; ++bracelevel; + YY_BREAK +case 227: +YY_RULE_SETUP +#line 937 "scan.l" +ACTION_ECHO; --bracelevel; + YY_BREAK +case 228: +YY_RULE_SETUP +#line 938 "scan.l" +ACTION_ECHO; + YY_BREAK +case 229: +YY_RULE_SETUP +#line 939 "scan.l" +ACTION_ECHO; + YY_BREAK +case 230: +YY_RULE_SETUP +#line 940 "scan.l" +ACTION_ECHO; /* character constant */ + YY_BREAK +case 231: +YY_RULE_SETUP +#line 941 "scan.l" +ACTION_ECHO; BEGIN(CHARACTER_CONSTANT); + YY_BREAK +case 232: +YY_RULE_SETUP +#line 942 "scan.l" +ACTION_ECHO; BEGIN(ACTION_STRING); + YY_BREAK +case 233: +/* rule 233 can match eol */ +YY_RULE_SETUP +#line 943 "scan.l" +{ + ++linenum; + ACTION_ECHO; + if (bracelevel <= 0) { + if ( doing_rule_action ) + add_action( "\tYY_BREAK]""]\n" ); + + doing_rule_action = false; + BEGIN(SECT2); + } + } + YY_BREAK +case 234: +YY_RULE_SETUP +#line 954 "scan.l" +ACTION_ECHO; + YY_BREAK + + +case 235: +YY_RULE_SETUP +#line 958 "scan.l" +ACTION_ECHO; + YY_BREAK +case 236: +YY_RULE_SETUP +#line 959 "scan.l" +ACTION_ECHO; BEGIN(ACTION); + YY_BREAK + + +case 237: +YY_RULE_SETUP +#line 962 "scan.l" +ACTION_ECHO; + YY_BREAK +case 238: +YY_RULE_SETUP +#line 963 "scan.l" +ACTION_ECHO; BEGIN(ACTION); + YY_BREAK + + +case 239: +/* rule 239 can match eol */ +YY_RULE_SETUP +#line 966 "scan.l" +ACTION_ECHO; + YY_BREAK +case 240: +/* rule 240 can match eol */ +YY_RULE_SETUP +#line 967 "scan.l" +ACTION_ECHO; + YY_BREAK +case 241: +/* rule 241 can match eol */ +YY_RULE_SETUP +#line 968 "scan.l" +++linenum; ACTION_ECHO; if (bracelevel <= 0) { BEGIN(SECT2); } else { BEGIN(ACTION); } + YY_BREAK +case 242: +YY_RULE_SETUP +#line 969 "scan.l" +ACTION_ECHO; + YY_BREAK + +case YY_STATE_EOF(COMMENT): +case YY_STATE_EOF(CODE_COMMENT): +case YY_STATE_EOF(COMMENT_DISCARD): +case YY_STATE_EOF(ACTION): +case YY_STATE_EOF(ACTION_STRING): +case YY_STATE_EOF(CHARACTER_CONSTANT): +#line 972 "scan.l" +{ + synerr( _( "EOF encountered inside an action" ) ); + yyterminate(); + } + YY_BREAK +case YY_STATE_EOF(EXTENDED_COMMENT): +case YY_STATE_EOF(GROUP_WITH_PARAMS): +case YY_STATE_EOF(GROUP_MINUS_PARAMS): +#line 977 "scan.l" +{ + synerr( _( "EOF encountered inside pattern" ) ); + yyterminate(); + } + YY_BREAK +case 243: +YY_RULE_SETUP +#line 982 "scan.l" +{ + yylval = myesc( (unsigned char *) yytext ); + + if ( YY_START == FIRSTCCL ) + BEGIN(CCL); + + return CHAR; + } + YY_BREAK + +case 244: +YY_RULE_SETUP +#line 992 "scan.l" +fputs(escaped_qstart, yyout); + YY_BREAK +case 245: +YY_RULE_SETUP +#line 993 "scan.l" +fputs(escaped_qend, yyout); + YY_BREAK +case 246: +/* rule 246 can match eol */ +YY_RULE_SETUP +#line 994 "scan.l" +ECHO; + YY_BREAK +case 247: +YY_RULE_SETUP +#line 995 "scan.l" +ECHO; + YY_BREAK +case YY_STATE_EOF(SECT3): +#line 996 "scan.l" +{ + sectnum = 0; + yyterminate(); + } + YY_BREAK + + +case 248: +YY_RULE_SETUP +#line 1002 "scan.l" +fprintf(yyout, "[""[%s]""]", escaped_qstart); + YY_BREAK +case 249: +YY_RULE_SETUP +#line 1003 "scan.l" +fprintf(yyout, "[""[%s]""]", escaped_qend); + YY_BREAK +case 250: +/* rule 250 can match eol */ +YY_RULE_SETUP +#line 1004 "scan.l" +ECHO; + YY_BREAK +case 251: +YY_RULE_SETUP +#line 1005 "scan.l" +ECHO; + YY_BREAK +case YY_STATE_EOF(SECT3_NOESCAPE): +#line 1006 "scan.l" +{ + sectnum = 0; + yyterminate(); + } + YY_BREAK + +case 252: +/* rule 252 can match eol */ +YY_RULE_SETUP +#line 1011 "scan.l" +format_synerr( _( "bad character: %s" ), yytext ); + YY_BREAK +case 253: +YY_RULE_SETUP +#line 1013 "scan.l" +YY_FATAL_ERROR( "flex scanner jammed" ); + YY_BREAK +#line 4135 "scan.c" +case YY_STATE_EOF(INITIAL): +case YY_STATE_EOF(SECT2): +case YY_STATE_EOF(CODEBLOCK): +case YY_STATE_EOF(PICKUPDEF): +case YY_STATE_EOF(SC): +case YY_STATE_EOF(CARETISBOL): +case YY_STATE_EOF(NUM): +case YY_STATE_EOF(QUOTE): +case YY_STATE_EOF(FIRSTCCL): +case YY_STATE_EOF(CCL): +case YY_STATE_EOF(RECOVER): +case YY_STATE_EOF(PERCENT_BRACE_ACTION): +case YY_STATE_EOF(OPTION): +case YY_STATE_EOF(LINEDIR): + yyterminate(); + + case YY_END_OF_BUFFER: + { + /* Amount of text matched not including the EOB char. */ + int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1; + + /* Undo the effects of YY_DO_BEFORE_ACTION. */ + *yy_cp = (yy_hold_char); + YY_RESTORE_YY_MORE_OFFSET + + if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW ) + { + /* We're scanning a new file or input source. It's + * possible that this happened because the user + * just pointed yyin at a new source and called + * yylex(). If so, then we have to assure + * consistency between YY_CURRENT_BUFFER and our + * globals. Here is the right place to do so, because + * this is the first action (other than possibly a + * back-up) that will match for the new input source. + */ + (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; + YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin; + YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL; + } + + /* Note that here we test for yy_c_buf_p "<=" to the position + * of the first EOB in the buffer, since yy_c_buf_p will + * already have been incremented past the NUL character + * (since all states make transitions on EOB to the + * end-of-buffer state). Contrast this with the test + * in input(). + */ + if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) + { /* This was really a NUL. */ + yy_state_type yy_next_state; + + (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text; + + yy_current_state = yy_get_previous_state( ); + + /* Okay, we're now positioned to make the NUL + * transition. We couldn't have + * yy_get_previous_state() go ahead and do it + * for us because it doesn't know how to deal + * with the possibility of jamming (and we don't + * want to build jamming into it because then it + * will run more slowly). + */ + + yy_next_state = yy_try_NUL_trans( yy_current_state ); + + yy_bp = (yytext_ptr) + YY_MORE_ADJ; + + if ( yy_next_state ) + { + /* Consume the NUL. */ + yy_cp = ++(yy_c_buf_p); + yy_current_state = yy_next_state; + goto yy_match; + } + + else + { + yy_cp = (yy_c_buf_p); + goto yy_find_action; + } + } + + else switch ( yy_get_next_buffer( ) ) + { + case EOB_ACT_END_OF_FILE: + { + (yy_did_buffer_switch_on_eof) = 0; + + if ( yywrap( ) ) + { + /* Note: because we've taken care in + * yy_get_next_buffer() to have set up + * yytext, we can now set up + * yy_c_buf_p so that if some total + * hoser (like flex itself) wants to + * call the scanner after we return the + * YY_NULL, it'll still work - another + * YY_NULL will get returned. + */ + (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ; + + yy_act = YY_STATE_EOF(YY_START); + goto do_action; + } + + else + { + if ( ! (yy_did_buffer_switch_on_eof) ) + YY_NEW_FILE; + } + break; + } + + case EOB_ACT_CONTINUE_SCAN: + (yy_c_buf_p) = + (yytext_ptr) + yy_amount_of_matched_text; + + yy_current_state = yy_get_previous_state( ); + + yy_cp = (yy_c_buf_p); + yy_bp = (yytext_ptr) + YY_MORE_ADJ; + goto yy_match; + + case EOB_ACT_LAST_MATCH: + (yy_c_buf_p) = + &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)]; + + yy_current_state = yy_get_previous_state( ); + + yy_cp = (yy_c_buf_p); + yy_bp = (yytext_ptr) + YY_MORE_ADJ; + goto yy_find_action; + } + break; + } + + default: + YY_FATAL_ERROR( + "fatal flex scanner internal error--no action found" ); + } /* end of action switch */ + } /* end of scanning one token */ + } /* end of user's declarations */ +} /* end of yylex */ + +/* yy_get_next_buffer - try to read in a new buffer + * + * Returns a code representing an action: + * EOB_ACT_LAST_MATCH - + * EOB_ACT_CONTINUE_SCAN - continue scanning from current position + * EOB_ACT_END_OF_FILE - end of file + */ +static int yy_get_next_buffer (void) +{ + char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; + char *source = (yytext_ptr); + int number_to_move, i; + int ret_val; + + if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] ) + YY_FATAL_ERROR( + "fatal flex scanner internal error--end of buffer missed" ); + + if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 ) + { /* Don't try to fill the buffer, so this is an EOF. */ + if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 ) + { + /* We matched a single character, the EOB, so + * treat this as a final EOF. + */ + return EOB_ACT_END_OF_FILE; + } + + else + { + /* We matched some text prior to the EOB, first + * process it. + */ + return EOB_ACT_LAST_MATCH; + } + } + + /* Try to read more data. */ + + /* First move last chars to start of buffer. */ + number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1); + + for ( i = 0; i < number_to_move; ++i ) + *(dest++) = *(source++); + + if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING ) + /* don't do the read, it's not guaranteed to return an EOF, + * just force an EOF + */ + YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0; + + else + { + int num_to_read = + YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; + + while ( num_to_read <= 0 ) + { /* Not enough room in the buffer - grow it. */ + + /* just a shorter name for the current buffer */ + YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE; + + int yy_c_buf_p_offset = + (int) ((yy_c_buf_p) - b->yy_ch_buf); + + if ( b->yy_is_our_buffer ) + { + int new_size = b->yy_buf_size * 2; + + if ( new_size <= 0 ) + b->yy_buf_size += b->yy_buf_size / 8; + else + b->yy_buf_size *= 2; + + b->yy_ch_buf = (char *) + /* Include room in for 2 EOB chars. */ + yyrealloc( (void *) b->yy_ch_buf, + (yy_size_t) (b->yy_buf_size + 2) ); + } + else + /* Can't grow it, we don't own it. */ + b->yy_ch_buf = NULL; + + if ( ! b->yy_ch_buf ) + YY_FATAL_ERROR( + "fatal error - scanner input buffer overflow" ); + + (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset]; + + num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - + number_to_move - 1; + + } + + if ( num_to_read > YY_READ_BUF_SIZE ) + num_to_read = YY_READ_BUF_SIZE; + + /* Read in more data. */ + YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), + (yy_n_chars), num_to_read ); + + YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); + } + + if ( (yy_n_chars) == 0 ) + { + if ( number_to_move == YY_MORE_ADJ ) + { + ret_val = EOB_ACT_END_OF_FILE; + yyrestart( yyin ); + } + + else + { + ret_val = EOB_ACT_LAST_MATCH; + YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = + YY_BUFFER_EOF_PENDING; + } + } + + else + ret_val = EOB_ACT_CONTINUE_SCAN; + + if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { + /* Extend the array by 50%, plus the number we really need. */ + int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); + YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc( + (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size ); + if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) + YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); + /* "- 2" to take care of EOB's */ + YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2); + } + + (yy_n_chars) += number_to_move; + YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR; + YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR; + + (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0]; + + return ret_val; +} + +/* yy_get_previous_state - get the state just before the EOB char was reached */ + + static yy_state_type yy_get_previous_state (void) +{ + yy_state_type yy_current_state; + char *yy_cp; + + yy_current_state = (yy_start); + yy_current_state += YY_AT_BOL(); + + for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp ) + { + YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); + if ( yy_accept[yy_current_state] ) + { + (yy_last_accepting_state) = yy_current_state; + (yy_last_accepting_cpos) = yy_cp; + } + while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) + { + yy_current_state = (int) yy_def[yy_current_state]; + if ( yy_current_state >= 1114 ) + yy_c = yy_meta[yy_c]; + } + yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; + } + + return yy_current_state; +} + +/* yy_try_NUL_trans - try to make a transition on the NUL character + * + * synopsis + * next_state = yy_try_NUL_trans( current_state ); + */ + static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state ) +{ + int yy_is_jam; + char *yy_cp = (yy_c_buf_p); + + YY_CHAR yy_c = 1; + if ( yy_accept[yy_current_state] ) + { + (yy_last_accepting_state) = yy_current_state; + (yy_last_accepting_cpos) = yy_cp; + } + while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) + { + yy_current_state = (int) yy_def[yy_current_state]; + if ( yy_current_state >= 1114 ) + yy_c = yy_meta[yy_c]; + } + yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; + yy_is_jam = (yy_current_state == 1113); + + return yy_is_jam ? 0 : yy_current_state; +} + +#ifndef YY_NO_UNPUT + + static void yyunput (int c, char * yy_bp ) +{ + char *yy_cp; + + yy_cp = (yy_c_buf_p); + + /* undo effects of setting up yytext */ + *yy_cp = (yy_hold_char); + + if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) + { /* need to shift things up to make room */ + /* +2 for EOB chars. */ + int number_to_move = (yy_n_chars) + 2; + char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[ + YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2]; + char *source = + &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]; + + while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) + *--dest = *--source; + + yy_cp += (int) (dest - source); + yy_bp += (int) (dest - source); + YY_CURRENT_BUFFER_LVALUE->yy_n_chars = + (yy_n_chars) = (int) YY_CURRENT_BUFFER_LVALUE->yy_buf_size; + + if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) + YY_FATAL_ERROR( "flex scanner push-back overflow" ); + } + + *--yy_cp = (char) c; + + (yytext_ptr) = yy_bp; + (yy_hold_char) = *yy_cp; + (yy_c_buf_p) = yy_cp; +} + +#endif + +#ifndef YY_NO_INPUT +#ifdef __cplusplus + static int yyinput (void) +#else + static int input (void) +#endif + +{ + int c; + + *(yy_c_buf_p) = (yy_hold_char); + + if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR ) + { + /* yy_c_buf_p now points to the character we want to return. + * If this occurs *before* the EOB characters, then it's a + * valid NUL; if not, then we've hit the end of the buffer. + */ + if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) + /* This was really a NUL. */ + *(yy_c_buf_p) = '\0'; + + else + { /* need more input */ + int offset = (int) ((yy_c_buf_p) - (yytext_ptr)); + ++(yy_c_buf_p); + + switch ( yy_get_next_buffer( ) ) + { + case EOB_ACT_LAST_MATCH: + /* This happens because yy_g_n_b() + * sees that we've accumulated a + * token and flags that we need to + * try matching the token before + * proceeding. But for input(), + * there's no matching to consider. + * So convert the EOB_ACT_LAST_MATCH + * to EOB_ACT_END_OF_FILE. + */ + + /* Reset buffer status. */ + yyrestart( yyin ); + + /*FALLTHROUGH*/ + + case EOB_ACT_END_OF_FILE: + { + if ( yywrap( ) ) + return 0; + + if ( ! (yy_did_buffer_switch_on_eof) ) + YY_NEW_FILE; +#ifdef __cplusplus + return yyinput(); +#else + return input(); +#endif + } + + case EOB_ACT_CONTINUE_SCAN: + (yy_c_buf_p) = (yytext_ptr) + offset; + break; + } + } + } + + c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */ + *(yy_c_buf_p) = '\0'; /* preserve yytext */ + (yy_hold_char) = *++(yy_c_buf_p); + + YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n'); + + return c; +} +#endif /* ifndef YY_NO_INPUT */ + +/** Immediately switch to a different input stream. + * @param input_file A readable stream. + * + * @note This function does not reset the start condition to @c INITIAL . + */ + void yyrestart (FILE * input_file ) +{ + + if ( ! YY_CURRENT_BUFFER ){ + yyensure_buffer_stack (); + YY_CURRENT_BUFFER_LVALUE = + yy_create_buffer( yyin, YY_BUF_SIZE ); + } + + yy_init_buffer( YY_CURRENT_BUFFER, input_file ); + yy_load_buffer_state( ); +} + +/** Switch to a different input buffer. + * @param new_buffer The new input buffer. + * + */ + void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ) +{ + + /* TODO. We should be able to replace this entire function body + * with + * yypop_buffer_state(); + * yypush_buffer_state(new_buffer); + */ + yyensure_buffer_stack (); + if ( YY_CURRENT_BUFFER == new_buffer ) + return; + + if ( YY_CURRENT_BUFFER ) + { + /* Flush out information for old buffer. */ + *(yy_c_buf_p) = (yy_hold_char); + YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); + YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); + } + + YY_CURRENT_BUFFER_LVALUE = new_buffer; + yy_load_buffer_state( ); + + /* We don't actually know whether we did this switch during + * EOF (yywrap()) processing, but the only time this flag + * is looked at is after yywrap() is called, so it's safe + * to go ahead and always set it. + */ + (yy_did_buffer_switch_on_eof) = 1; +} + +static void yy_load_buffer_state (void) +{ + (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; + (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; + yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file; + (yy_hold_char) = *(yy_c_buf_p); +} + +/** Allocate and initialize an input buffer state. + * @param file A readable stream. + * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE. + * + * @return the allocated buffer state. + */ + YY_BUFFER_STATE yy_create_buffer (FILE * file, int size ) +{ + YY_BUFFER_STATE b; + + b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) ); + if ( ! b ) + YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); + + b->yy_buf_size = size; + + /* yy_ch_buf has to be 2 characters longer than the size given because + * we need to put in 2 end-of-buffer characters. + */ + b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) ); + if ( ! b->yy_ch_buf ) + YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); + + b->yy_is_our_buffer = 1; + + yy_init_buffer( b, file ); + + return b; +} + +/** Destroy the buffer. + * @param b a buffer created with yy_create_buffer() + * + */ + void yy_delete_buffer (YY_BUFFER_STATE b ) +{ + + if ( ! b ) + return; + + if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */ + YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0; + + if ( b->yy_is_our_buffer ) + yyfree( (void *) b->yy_ch_buf ); + + yyfree( (void *) b ); +} + +/* Initializes or reinitializes a buffer. + * This function is sometimes called more than once on the same buffer, + * such as during a yyrestart() or at EOF. + */ + static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file ) + +{ + int oerrno = errno; + + yy_flush_buffer( b ); + + b->yy_input_file = file; + b->yy_fill_buffer = 1; + + /* If b is the current buffer, then yy_init_buffer was _probably_ + * called from yyrestart() or through yy_get_next_buffer. + * In that case, we don't want to reset the lineno or column. + */ + if (b != YY_CURRENT_BUFFER){ + b->yy_bs_lineno = 1; + b->yy_bs_column = 0; + } + + b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; + + errno = oerrno; +} + +/** Discard all buffered characters. On the next scan, YY_INPUT will be called. + * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER. + * + */ + void yy_flush_buffer (YY_BUFFER_STATE b ) +{ + if ( ! b ) + return; + + b->yy_n_chars = 0; + + /* We always need two end-of-buffer characters. The first causes + * a transition to the end-of-buffer state. The second causes + * a jam in that state. + */ + b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR; + b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR; + + b->yy_buf_pos = &b->yy_ch_buf[0]; + + b->yy_at_bol = 1; + b->yy_buffer_status = YY_BUFFER_NEW; + + if ( b == YY_CURRENT_BUFFER ) + yy_load_buffer_state( ); +} + +/** Pushes the new state onto the stack. The new state becomes + * the current state. This function will allocate the stack + * if necessary. + * @param new_buffer The new state. + * + */ +void yypush_buffer_state (YY_BUFFER_STATE new_buffer ) +{ + if (new_buffer == NULL) + return; + + yyensure_buffer_stack(); + + /* This block is copied from yy_switch_to_buffer. */ + if ( YY_CURRENT_BUFFER ) + { + /* Flush out information for old buffer. */ + *(yy_c_buf_p) = (yy_hold_char); + YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); + YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); + } + + /* Only push if top exists. Otherwise, replace top. */ + if (YY_CURRENT_BUFFER) + (yy_buffer_stack_top)++; + YY_CURRENT_BUFFER_LVALUE = new_buffer; + + /* copied from yy_switch_to_buffer. */ + yy_load_buffer_state( ); + (yy_did_buffer_switch_on_eof) = 1; +} + +/** Removes and deletes the top of the stack, if present. + * The next element becomes the new top. + * + */ +void yypop_buffer_state (void) +{ + if (!YY_CURRENT_BUFFER) + return; + + yy_delete_buffer(YY_CURRENT_BUFFER ); + YY_CURRENT_BUFFER_LVALUE = NULL; + if ((yy_buffer_stack_top) > 0) + --(yy_buffer_stack_top); + + if (YY_CURRENT_BUFFER) { + yy_load_buffer_state( ); + (yy_did_buffer_switch_on_eof) = 1; + } +} + +/* Allocates the stack if it does not exist. + * Guarantees space for at least one push. + */ +static void yyensure_buffer_stack (void) +{ + yy_size_t num_to_alloc; + + if (!(yy_buffer_stack)) { + + /* First allocation is just for 2 elements, since we don't know if this + * scanner will even need a stack. We use 2 instead of 1 to avoid an + * immediate realloc on the next call. + */ + num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */ + (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc + (num_to_alloc * sizeof(struct yy_buffer_state*) + ); + if ( ! (yy_buffer_stack) ) + YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); + + memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*)); + + (yy_buffer_stack_max) = num_to_alloc; + (yy_buffer_stack_top) = 0; + return; + } + + if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){ + + /* Increase the buffer to prepare for a possible push. */ + yy_size_t grow_size = 8 /* arbitrary grow size */; + + num_to_alloc = (yy_buffer_stack_max) + grow_size; + (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc + ((yy_buffer_stack), + num_to_alloc * sizeof(struct yy_buffer_state*) + ); + if ( ! (yy_buffer_stack) ) + YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); + + /* zero only the new slots.*/ + memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*)); + (yy_buffer_stack_max) = num_to_alloc; + } +} + +/** Setup the input buffer state to scan directly from a user-specified character buffer. + * @param base the character buffer + * @param size the size in bytes of the character buffer + * + * @return the newly allocated buffer state object. + */ +YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size ) +{ + YY_BUFFER_STATE b; + + if ( size < 2 || + base[size-2] != YY_END_OF_BUFFER_CHAR || + base[size-1] != YY_END_OF_BUFFER_CHAR ) + /* They forgot to leave room for the EOB's. */ + return NULL; + + b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) ); + if ( ! b ) + YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" ); + + b->yy_buf_size = (int) (size - 2); /* "- 2" to take care of EOB's */ + b->yy_buf_pos = b->yy_ch_buf = base; + b->yy_is_our_buffer = 0; + b->yy_input_file = NULL; + b->yy_n_chars = b->yy_buf_size; + b->yy_is_interactive = 0; + b->yy_at_bol = 1; + b->yy_fill_buffer = 0; + b->yy_buffer_status = YY_BUFFER_NEW; + + yy_switch_to_buffer( b ); + + return b; +} + +/** Setup the input buffer state to scan a string. The next call to yylex() will + * scan from a @e copy of @a str. + * @param yystr a NUL-terminated string to scan + * + * @return the newly allocated buffer state object. + * @note If you want to scan bytes that may contain NUL values, then use + * yy_scan_bytes() instead. + */ +YY_BUFFER_STATE yy_scan_string (const char * yystr ) +{ + + return yy_scan_bytes( yystr, (int) strlen(yystr) ); +} + +/** Setup the input buffer state to scan the given bytes. The next call to yylex() will + * scan from a @e copy of @a bytes. + * @param yybytes the byte buffer to scan + * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes. + * + * @return the newly allocated buffer state object. + */ +YY_BUFFER_STATE yy_scan_bytes (const char * yybytes, int _yybytes_len ) +{ + YY_BUFFER_STATE b; + char *buf; + yy_size_t n; + int i; + + /* Get memory for full buffer, including space for trailing EOB's. */ + n = (yy_size_t) (_yybytes_len + 2); + buf = (char *) yyalloc( n ); + if ( ! buf ) + YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" ); + + for ( i = 0; i < _yybytes_len; ++i ) + buf[i] = yybytes[i]; + + buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR; + + b = yy_scan_buffer( buf, n ); + if ( ! b ) + YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" ); + + /* It's okay to grow etc. this buffer, and we should throw it + * away when we're done. + */ + b->yy_is_our_buffer = 1; + + return b; +} + + static void yy_push_state (int _new_state ) +{ + if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) ) + { + yy_size_t new_size; + + (yy_start_stack_depth) += YY_START_STACK_INCR; + new_size = (yy_size_t) (yy_start_stack_depth) * sizeof( int ); + + if ( ! (yy_start_stack) ) + (yy_start_stack) = (int *) yyalloc( new_size ); + + else + (yy_start_stack) = (int *) yyrealloc( + (void *) (yy_start_stack), new_size ); + + if ( ! (yy_start_stack) ) + YY_FATAL_ERROR( "out of memory expanding start-condition stack" ); + } + + (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START; + + BEGIN(_new_state); +} + + static void yy_pop_state (void) +{ + if ( --(yy_start_stack_ptr) < 0 ) + YY_FATAL_ERROR( "start-condition stack underflow" ); + + BEGIN((yy_start_stack)[(yy_start_stack_ptr)]); +} + +#ifndef YY_EXIT_FAILURE +#define YY_EXIT_FAILURE 2 +#endif + +static void yynoreturn yy_fatal_error (const char* msg ) +{ + fprintf( stderr, "%s\n", msg ); + exit( YY_EXIT_FAILURE ); +} + +/* Redefine yyless() so it works in section 3 code. */ + +#undef yyless +#define yyless(n) \ + do \ + { \ + /* Undo effects of setting up yytext. */ \ + int yyless_macro_arg = (n); \ + YY_LESS_LINENO(yyless_macro_arg);\ + yytext[yyleng] = (yy_hold_char); \ + (yy_c_buf_p) = yytext + yyless_macro_arg; \ + (yy_hold_char) = *(yy_c_buf_p); \ + *(yy_c_buf_p) = '\0'; \ + yyleng = yyless_macro_arg; \ + } \ + while ( 0 ) + +/* Accessor methods (get/set functions) to struct members. */ + +/** Get the current line number. + * + */ +int yyget_lineno (void) +{ + + return yylineno; +} + +/** Get the input stream. + * + */ +FILE *yyget_in (void) +{ + return yyin; +} + +/** Get the output stream. + * + */ +FILE *yyget_out (void) +{ + return yyout; +} + +/** Get the length of the current token. + * + */ +int yyget_leng (void) +{ + return yyleng; +} + +/** Get the current token. + * + */ + +char *yyget_text (void) +{ + return yytext; +} + +/** Set the current line number. + * @param _line_number line number + * + */ +void yyset_lineno (int _line_number ) +{ + + yylineno = _line_number; +} + +/** Set the input stream. This does not discard the current + * input buffer. + * @param _in_str A readable stream. + * + * @see yy_switch_to_buffer + */ +void yyset_in (FILE * _in_str ) +{ + yyin = _in_str ; +} + +void yyset_out (FILE * _out_str ) +{ + yyout = _out_str ; +} + +int yyget_debug (void) +{ + return yy_flex_debug; +} + +void yyset_debug (int _bdebug ) +{ + yy_flex_debug = _bdebug ; +} + +static int yy_init_globals (void) +{ + /* Initialization is the same as for the non-reentrant scanner. + * This function is called from yylex_destroy(), so don't allocate here. + */ + + (yy_buffer_stack) = NULL; + (yy_buffer_stack_top) = 0; + (yy_buffer_stack_max) = 0; + (yy_c_buf_p) = NULL; + (yy_init) = 0; + (yy_start) = 0; + + (yy_start_stack_ptr) = 0; + (yy_start_stack_depth) = 0; + (yy_start_stack) = NULL; + +/* Defined in main.c */ +#ifdef YY_STDINIT + yyin = stdin; + yyout = stdout; +#else + yyin = NULL; + yyout = NULL; +#endif + + /* For future reference: Set errno on error, since we are called by + * yylex_init() + */ + return 0; +} + +/* yylex_destroy is for both reentrant and non-reentrant scanners. */ +int yylex_destroy (void) +{ + + /* Pop the buffer stack, destroying each element. */ + while(YY_CURRENT_BUFFER){ + yy_delete_buffer( YY_CURRENT_BUFFER ); + YY_CURRENT_BUFFER_LVALUE = NULL; + yypop_buffer_state(); + } + + /* Destroy the stack itself. */ + yyfree((yy_buffer_stack) ); + (yy_buffer_stack) = NULL; + + /* Destroy the start condition stack. */ + yyfree( (yy_start_stack) ); + (yy_start_stack) = NULL; + + /* Reset the globals. This is important in a non-reentrant scanner so the next time + * yylex() is called, initialization will occur. */ + yy_init_globals( ); + + return 0; +} + +/* + * Internal utility routines. + */ + +#ifndef yytext_ptr +static void yy_flex_strncpy (char* s1, const char * s2, int n ) +{ + + int i; + for ( i = 0; i < n; ++i ) + s1[i] = s2[i]; +} +#endif + +#ifdef YY_NEED_STRLEN +static int yy_flex_strlen (const char * s ) +{ + int n; + for ( n = 0; s[n]; ++n ) + ; + + return n; +} +#endif + +void *yyalloc (yy_size_t size ) +{ + return malloc(size); +} + +void *yyrealloc (void * ptr, yy_size_t size ) +{ + + /* The cast to (char *) in the following accommodates both + * implementations that use char* generic pointers, and those + * that use void* generic pointers. It works with the latter + * because both ANSI C and C++ allow castless assignment from + * any pointer type to void*, and deal with argument conversions + * as though doing an assignment. + */ + return realloc(ptr, size); +} + +void yyfree (void * ptr ) +{ + free( (char *) ptr ); /* see yyrealloc() for (char *) cast */ +} + +#define YYTABLES_NAME "yytables" + +#line 1013 "scan.l" + + + +int yywrap(void) + { + if ( --num_input_files > 0 ) + { + set_input_file( *++input_files ); + return 0; + } + + else + return 1; + } + + +/* set_input_file - open the given file (if NULL, stdin) for scanning */ + +void set_input_file( char *file ) + { + if ( file && strcmp( file, "-" ) ) + { + infilename = xstrdup(file); + yyin = fopen( infilename, "r" ); + + if ( yyin == NULL ) + lerr( _( "can't open %s" ), file ); + } + + else + { + yyin = stdin; + infilename = xstrdup(""); + } + + linenum = 1; + } + diff --git a/scan.l b/src/scan.l similarity index 78% rename from scan.l rename to src/scan.l index 1bcb09b42c33..66db8645ceeb 100644 --- a/scan.l +++ b/src/scan.l @@ -38,6 +38,12 @@ extern bool tablesverify, tablesext; extern int trlcontxt; /* Set in parse.y for each rule. */ extern const char *escaped_qstart, *escaped_qend; +#define M4QSTART "[""[" +#define M4QEND "]""]" + +#define ESCAPED_QSTART "[" M4QEND M4QSTART "[" M4QEND M4QSTART +#define ESCAPED_QEND M4QEND "]" M4QSTART M4QEND "]" M4QSTART + #define ACTION_ECHO add_action( yytext ) #define ACTION_IFDEF(def, should_define) \ { \ @@ -45,8 +51,8 @@ extern const char *escaped_qstart, *escaped_qend; action_define( def, 1 ); \ } -#define ACTION_ECHO_QSTART add_action (escaped_qstart) -#define ACTION_ECHO_QEND add_action (escaped_qend) +#define ACTION_ECHO_QSTART add_action (ESCAPED_QSTART) +#define ACTION_ECHO_QEND add_action (ESCAPED_QEND) #define ACTION_M4_IFDEF(def, should_define) \ do{ \ @@ -59,7 +65,7 @@ extern const char *escaped_qstart, *escaped_qend; #define MARK_END_OF_PROLOG mark_prolog(); #define YY_DECL \ - int flexscan() + int flexscan(void) #define RETURNCHAR \ yylval = (unsigned char) yytext[0]; \ @@ -68,18 +74,20 @@ extern const char *escaped_qstart, *escaped_qend; #define RETURNNAME \ if(yyleng < MAXLINE) \ { \ - strcpy( nmstr, yytext ); \ + strncpy( nmstr, yytext, sizeof(nmstr) ); \ + return NAME; \ } \ else \ - { \ + do { \ synerr(_("Input line too long\n")); \ FLEX_EXIT(EXIT_FAILURE); \ - } \ - return NAME; + } while (0) #define PUT_BACK_STRING(str, start) \ - for ( i = strlen( str ) - 1; i >= start; --i ) \ - unput((str)[i]) + { size_t i = strlen( str ); \ + while ( i > start ) \ + unput((str)[--i]); \ + } #define CHECK_REJECT(str) \ if ( all_upper( str ) ) \ @@ -93,9 +101,26 @@ extern const char *escaped_qstart, *escaped_qend; if ( getenv("POSIXLY_CORRECT") ) \ posix_compat = true; +#define START_CODEBLOCK(x) do { \ + /* Emit the needed line directive... */\ + if (indented_code == false) { \ + linenum++; \ + line_directive_out(NULL, 1); \ + } \ + add_action(M4QSTART); \ + yy_push_state(CODEBLOCK); \ + if ((indented_code = x)) ACTION_ECHO; \ +} while(0) + +#define END_CODEBLOCK do { \ + yy_pop_state();\ + add_action(M4QEND); \ + if (!indented_code) line_directive_out(NULL, 0);\ +} while (0) + %} -%option caseless nodefault stack noyy_top_state +%option caseless nodefault noreject stack noyy_top_state %option nostdinit %x SECT2 SECT2PROLOG SECT3 CODEBLOCK PICKUPDEF SC CARETISBOL NUM QUOTE @@ -104,7 +129,9 @@ extern const char *escaped_qstart, *escaped_qend; %x GROUP_WITH_PARAMS %x GROUP_MINUS_PARAMS %x EXTENDED_COMMENT -%x COMMENT_DISCARD +%x COMMENT_DISCARD CODE_COMMENT +%x SECT3_NOESCAPE +%x CHARACTER_CONSTANT WS [[:blank:]]+ OPTWS [[:blank:]]* @@ -125,8 +152,8 @@ CCL_EXPR ("[:"^?[[:alpha:]]+":]") LEXOPT [aceknopr] -M4QSTART "[[" -M4QEND "]]" +M4QSTART "[""[" +M4QEND "]""]" %% static int bracelevel, didadef, indented_code; @@ -134,22 +161,17 @@ M4QEND "]]" static int option_sense; int doing_codeblock = false; - int i, brace_depth=0, brace_start_line=0; - Char nmdef[MAXLINE]; + int brace_depth=0, brace_start_line=0; + char nmdef[MAXLINE]; { - ^{WS} indented_code = true; BEGIN(CODEBLOCK); - ^"/*" ACTION_ECHO; yy_push_state( COMMENT ); + ^{WS} START_CODEBLOCK(true); + ^"/*" add_action("/*[""["); yy_push_state( COMMENT ); ^#{OPTWS}line{WS} yy_push_state( LINEDIR ); ^"%s"{NAME}? return SCDECL; ^"%x"{NAME}? return XSCDECL; - ^"%{".*{NL} { - ++linenum; - line_directive_out( (FILE *) 0, 1 ); - indented_code = false; - BEGIN(CODEBLOCK); - } + ^"%{".*{NL} START_CODEBLOCK(false); ^"%top"[[:blank:]]*"{"[[:blank:]]*{NL} { brace_start_line = linenum; ++linenum; @@ -166,7 +188,7 @@ M4QEND "]]" sectnum = 2; bracelevel = 0; mark_defs1(); - line_directive_out( (FILE *) 0, 1 ); + line_directive_out(NULL, 1); BEGIN(SECT2PROLOG); return SECTEND; } @@ -174,7 +196,7 @@ M4QEND "]]" ^"%pointer".*{NL} yytext_is_array = false; ++linenum; ^"%array".*{NL} yytext_is_array = true; ++linenum; - ^"%option" BEGIN(OPTION); return OPTION_OP; + ^"%option" BEGIN(OPTION); return TOK_OPTION; ^"%"{LEXOPT}{OPTWS}[[:digit:]]*{OPTWS}{NL} ++linenum; /* ignore */ ^"%"{LEXOPT}{WS}.*{NL} ++linenum; /* ignore */ @@ -185,7 +207,7 @@ M4QEND "]]" ^{NAME} { if(yyleng < MAXLINE) { - strcpy( nmstr, yytext ); + strncpy( nmstr, yytext, sizeof(nmstr) ); } else { @@ -203,14 +225,18 @@ M4QEND "]]" } -{ - "*/" ACTION_ECHO; yy_pop_state(); - "*" ACTION_ECHO; - {M4QSTART} ACTION_ECHO_QSTART; - {M4QEND} ACTION_ECHO_QEND; - [^*\n] ACTION_ECHO; +{ /* */ + [^\[\]\*\n]* ACTION_ECHO; + . ACTION_ECHO; + {NL} ++linenum; ACTION_ECHO; } +{ + "*/" add_action("*/]""]"); yy_pop_state(); +} +{ + "*/" ACTION_ECHO; yy_pop_state(); +} { /* This is the same as COMMENT, but is discarded rather than output. */ @@ -223,7 +249,7 @@ M4QEND "]]" { ")" yy_pop_state(); [^\n\)]+ ; - {NL} ++linenum; + {NL} ++linenum; } { @@ -231,25 +257,25 @@ M4QEND "]]" [[:digit:]]+ linenum = myctoi( yytext ); \"[^"\n]*\" { - flex_free( (void *) infilename ); - infilename = copy_string( yytext + 1 ); + free(infilename); + infilename = xstrdup(yytext + 1); infilename[strlen( infilename ) - 1] = '\0'; } . /* ignore spurious characters */ } +{ + {M4QSTART} ACTION_ECHO_QSTART; + {M4QEND} ACTION_ECHO_QEND; +} { - ^"%}".*{NL} ++linenum; BEGIN(INITIAL); - - {M4QSTART} ACTION_ECHO_QSTART; - {M4QEND} ACTION_ECHO_QEND; - . ACTION_ECHO; - + ^"%}".*{NL} ++linenum; END_CODEBLOCK; + [^\n%\[\]]* ACTION_ECHO; + . ACTION_ECHO; {NL} { ++linenum; ACTION_ECHO; - if ( indented_code ) - BEGIN(INITIAL); + if ( indented_code ) END_CODEBLOCK; } } @@ -272,12 +298,11 @@ M4QEND "]]" buf_strnappend(&top_buf, yytext, yyleng); } - {M4QSTART} buf_strnappend(&top_buf, escaped_qstart, strlen(escaped_qstart)); - {M4QEND} buf_strnappend(&top_buf, escaped_qend, strlen(escaped_qend)); - - [^{}\r\n] { - buf_strnappend(&top_buf, yytext, yyleng); - } + {M4QSTART} buf_strnappend(&top_buf, escaped_qstart, (int) strlen(escaped_qstart)); + {M4QEND} buf_strnappend(&top_buf, escaped_qend, (int) strlen(escaped_qend)); + ([^{}\r\n\[\]]+)|[^{}\r\n] { + buf_strnappend(&top_buf, yytext, yyleng); + } <> { linenum = brace_start_line; @@ -293,7 +318,7 @@ M4QEND "]]" {NOT_WS}[^\r\n]* { if(yyleng < MAXLINE) { - strcpy( (char *) nmdef, yytext ); + strncpy( nmdef, yytext, sizeof(nmdef) ); } else { @@ -301,12 +326,12 @@ M4QEND "]]" FLEX_EXIT(EXIT_FAILURE); } /* Skip trailing whitespace. */ - for ( i = strlen( (char *) nmdef ) - 1; - i >= 0 && (nmdef[i] == ' ' || nmdef[i] == '\t'); - --i ) - ; - - nmdef[i + 1] = '\0'; + { + size_t i = strlen( nmdef ); + while (i > 0 && (nmdef[i-1] == ' ' || nmdef[i-1] == '\t')) + --i; + nmdef[i] = '\0'; + } ndinstal( nmstr, nmdef ); didadef = true; @@ -338,8 +363,6 @@ M4QEND "]]" interactive = option_sense; } array yytext_is_array = option_sense; - ansi-definitions ansi_func_defs = option_sense; - ansi-prototypes ansi_func_protos = option_sense; backup backing_up_report = option_sense; batch interactive = ! option_sense; bison-bridge bison_bridge_lval = option_sense; @@ -364,6 +387,7 @@ M4QEND "]]" interactive interactive = option_sense; lex-compat lex_compat = option_sense; posix-compat posix_compat = option_sense; + line gen_line_dirs = option_sense; main { ACTION_M4_IFDEF( "M4""_YY_MAIN", option_sense); /* Override yywrap */ @@ -420,12 +444,12 @@ M4QEND "]]" yyget_lloc ACTION_M4_IFDEF("M4""_YY_NO_GET_LLOC", ! option_sense); yyset_lloc ACTION_M4_IFDEF("M4""_YY_NO_SET_LLOC", ! option_sense); - extra-type return OPT_EXTRA_TYPE; - outfile return OPT_OUTFILE; - prefix return OPT_PREFIX; - yyclass return OPT_YYCLASS; - header(-file)? return OPT_HEADER; - tables-file return OPT_TABLES; + extra-type return TOK_EXTRA_TYPE; + outfile return TOK_OUTFILE; + prefix return TOK_PREFIX; + yyclass return TOK_YYCLASS; + header(-file)? return TOK_HEADER_FILE; + tables-file return TOK_TABLES_FILE; tables-verify { tablesverify = option_sense; if(!tablesext && option_sense) @@ -436,7 +460,7 @@ M4QEND "]]" \"[^"\n]*\" { if(yyleng-1 < MAXLINE) { - strcpy( nmstr, yytext + 1 ); + strncpy( nmstr, yytext + 1, sizeof(nmstr) ); } else { @@ -461,19 +485,20 @@ M4QEND "]]" ^"%{".* ++bracelevel; yyless( 2 ); /* eat only %{ */ ^"%}".* --bracelevel; yyless( 2 ); /* eat only %} */ - ^{WS}.* ACTION_ECHO; /* indented code in prolog */ + ^{WS} START_CODEBLOCK(true); /* indented code in prolog */ - ^{NOT_WS}.* { /* non-indented code */ - if ( bracelevel <= 0 ) - { /* not in %{ ... %} */ - yyless( 0 ); /* put it all back */ - yy_set_bol( 1 ); - mark_prolog(); - BEGIN(SECT2); - } - else - ACTION_ECHO; - } + ^{NOT_WS}.* { + /* non-indented code */ + if ( bracelevel <= 0 ) { + /* not in %{ ... %} */ + yyless( 0 ); /* put it all back */ + yy_set_bol( 1 ); + mark_prolog(); + BEGIN(SECT2); + } else { + START_CODEBLOCK(true); + } + } . ACTION_ECHO; {NL} ++linenum; ACTION_ECHO; @@ -527,11 +552,11 @@ M4QEND "]]" if (sf_skip_ws()){ /* We're in the middle of a (?x: ) pattern. */ /* Push back everything starting at the "|" */ - size_t amt; - amt = strchr (yytext, '|') - yytext; + int amt = (int) (strchr (yytext, '|') - yytext); yyless(amt); } else { + add_action("]""]"); continued_action = true; ++linenum; return '\n'; @@ -601,9 +626,10 @@ M4QEND "]]" ^"%%".* { sectnum = 3; - BEGIN(SECT3); + BEGIN(no_section3_escape ? SECT3_NOESCAPE : SECT3); outn("/* Begin user sect3 */"); yyterminate(); /* to stop the parser */ + } "["({FIRST_CCL_CHAR}|{CCL_EXPR})({CCL_CHAR}|{CCL_EXPR})* { @@ -611,7 +637,7 @@ M4QEND "]]" if(yyleng < MAXLINE) { - strcpy( nmstr, yytext ); + strncpy( nmstr, yytext, sizeof(nmstr) ); } else { @@ -627,7 +653,7 @@ M4QEND "]]" * The reason it was disabled is so yacc/bison can parse * ccl operations, such as ccl difference and union. */ - && (cclval = ccllookup( (Char *) nmstr )) != 0 ) + && (cclval = ccllookup( nmstr )) != 0 ) { if ( input() != ']' ) synerr( _( "bad character class" ) ); @@ -641,7 +667,7 @@ M4QEND "]]" /* We fudge a bit. We know that this ccl will * soon be numbered as lastccl + 1 by cclinit. */ - cclinstal( (Char *) nmstr, lastccl + 1 ); + cclinstal( nmstr, lastccl + 1 ); /* Push back everything but the leading bracket * so the ccl can be rescanned. @@ -661,7 +687,7 @@ M4QEND "]]" * context. */ "{"{NAME}"}"[[:space:]]? { - register Char *nmdefptr; + char *nmdefptr; int end_is_ws, end_ch; end_ch = yytext[yyleng-1]; @@ -669,7 +695,7 @@ M4QEND "]]" if(yyleng-1 < MAXLINE) { - strcpy( nmstr, yytext + 1 ); + strncpy( nmstr, yytext + 1, sizeof(nmstr) ); } else { @@ -685,7 +711,7 @@ nmstr[yyleng - 2 - end_is_ws] = '\0'; /* chop trailing brace */ else { /* push back name surrounded by ()'s */ - int len = strlen( (char *) nmdefptr ); + size_t len = strlen( nmdefptr ); if (end_is_ws) unput(end_ch); @@ -693,7 +719,7 @@ nmstr[yyleng - 2 - end_is_ws] = '\0'; /* chop trailing brace */ (len > 0 && nmdefptr[len - 1] == '$') || (end_is_ws && trlcontxt && !sf_skip_ws())) { /* don't use ()'s after all */ - PUT_BACK_STRING((char *) nmdefptr, 0); + PUT_BACK_STRING(nmdefptr, 0); if ( nmdefptr[0] == '^' ) BEGIN(CARETISBOL); @@ -702,7 +728,7 @@ nmstr[yyleng - 2 - end_is_ws] = '\0'; /* chop trailing brace */ else { unput(')'); - PUT_BACK_STRING((char *) nmdefptr, 0); + PUT_BACK_STRING(nmdefptr, 0); unput('('); } } @@ -738,7 +764,13 @@ nmstr[yyleng - 2 - end_is_ws] = '\0'; /* chop trailing brace */ return '('; } "(" sf_push(); return '('; - ")" sf_pop(); return ')'; + ")" { + if (_sf_top_ix > 0) { + sf_pop(); + return ')'; + } else + synerr(_("unbalanced parenthesis")); + } [/|*+?.(){}] return (unsigned char) yytext[0]; . RETURNCHAR; @@ -870,35 +902,31 @@ nmstr[yyleng - 2 - end_is_ws] = '\0'; /* chop trailing brace */ { {OPTWS}"%}".* bracelevel = 0; - "/*" ACTION_ECHO; yy_push_state( COMMENT ); + "/*" ACTION_ECHO; yy_push_state( CODE_COMMENT ); { - "reject" { - ACTION_ECHO; - CHECK_REJECT(yytext); - } - "yymore" { - ACTION_ECHO; - CHECK_YYMORE(yytext); - } + "reject" { + ACTION_ECHO; + CHECK_REJECT(yytext); + } + "yymore" { + ACTION_ECHO; + CHECK_YYMORE(yytext); + } } - {M4QSTART} ACTION_ECHO_QSTART; - {M4QEND} ACTION_ECHO_QEND; - . ACTION_ECHO; - {NL} { - ++linenum; - ACTION_ECHO; - if ( bracelevel == 0 || - (doing_codeblock && indented_code) ) - { - if ( doing_rule_action ) - add_action( "\tYY_BREAK\n" ); + . ACTION_ECHO; + {NL} { + ++linenum; + ACTION_ECHO; + if (bracelevel <= 0 || (doing_codeblock && indented_code)) { + if ( doing_rule_action ) + add_action( "\tYY_BREAK]""]\n" ); - doing_rule_action = doing_codeblock = false; - BEGIN(SECT2); - } - } + doing_rule_action = doing_codeblock = false; + BEGIN(SECT2); + } + } } @@ -906,37 +934,41 @@ nmstr[yyleng - 2 - end_is_ws] = '\0'; /* chop trailing brace */ { "{" ACTION_ECHO; ++bracelevel; "}" ACTION_ECHO; --bracelevel; - {M4QSTART} ACTION_ECHO_QSTART; - {M4QEND} ACTION_ECHO_QEND; - [^[:alpha:]_{}"'/\n\[\]]+ ACTION_ECHO; - [\[\]] ACTION_ECHO; - {NAME} ACTION_ECHO; - "'"([^'\\\n]|\\.)*"'" ACTION_ECHO; /* character constant */ + [^[:alpha:]_{}\"'/\n\[\]]+ ACTION_ECHO; + {NAME} ACTION_ECHO; + "'"([^\'\\\n]|\\.)"'" ACTION_ECHO; /* character constant */ + "'" ACTION_ECHO; BEGIN(CHARACTER_CONSTANT); \" ACTION_ECHO; BEGIN(ACTION_STRING); - {NL} { - ++linenum; - ACTION_ECHO; - if ( bracelevel == 0 ) - { - if ( doing_rule_action ) - add_action( "\tYY_BREAK\n" ); + {NL} { + ++linenum; + ACTION_ECHO; + if (bracelevel <= 0) { + if ( doing_rule_action ) + add_action( "\tYY_BREAK]""]\n" ); - doing_rule_action = false; - BEGIN(SECT2); - } - } - . ACTION_ECHO; + doing_rule_action = false; + BEGIN(SECT2); + } + } + . ACTION_ECHO; } { - [^"\\\n]+ ACTION_ECHO; - \\. ACTION_ECHO; - {NL} ++linenum; ACTION_ECHO; BEGIN(ACTION); + [^\[\]\"\\\n]+ ACTION_ECHO; \" ACTION_ECHO; BEGIN(ACTION); - . ACTION_ECHO; +} +{ + [^\[\]\'\\\n]+ ACTION_ECHO; + \' ACTION_ECHO; BEGIN(ACTION); +} +{ + (\\\n)* ACTION_ECHO; + \\(\\\n)*. ACTION_ECHO; + {NL} ++linenum; ACTION_ECHO; if (bracelevel <= 0) { BEGIN(SECT2); } else { BEGIN(ACTION); } + . ACTION_ECHO; } -<> { +<> { synerr( _( "EOF encountered inside an action" ) ); yyterminate(); } @@ -947,7 +979,7 @@ nmstr[yyleng - 2 - end_is_ws] = '\0'; /* chop trailing brace */ } {ESCSEQ} { - yylval = myesc( (Char *) yytext ); + yylval = myesc( (unsigned char *) yytext ); if ( YY_START == FIRSTCCL ) BEGIN(CCL); @@ -955,21 +987,32 @@ nmstr[yyleng - 2 - end_is_ws] = '\0'; /* chop trailing brace */ return CHAR; } - { - {M4QSTART} fwrite (escaped_qstart, 1, strlen(escaped_qstart), yyout); - {M4QEND} fwrite (escaped_qend, 1, strlen(escaped_qend), yyout); - [^\[\]\n]*(\n?) ECHO; - (.|\n) ECHO; - <> sectnum = 0; yyterminate(); + {M4QSTART} fputs(escaped_qstart, yyout); + {M4QEND} fputs(escaped_qend, yyout); + [^\[\]]* ECHO; + [][] ECHO; + <> { + sectnum = 0; + yyterminate(); + } +} +{ + {M4QSTART} fprintf(yyout, "[""[%s]""]", escaped_qstart); + {M4QEND} fprintf(yyout, "[""[%s]""]", escaped_qend); + [^][]* ECHO; + [][] ECHO; + <> { + sectnum = 0; + yyterminate(); + } } - <*>.|\n format_synerr( _( "bad character: %s" ), yytext ); %% -int yywrap() +int yywrap(void) { if ( --num_input_files > 0 ) { @@ -984,46 +1027,22 @@ int yywrap() /* set_input_file - open the given file (if NULL, stdin) for scanning */ -void set_input_file( file ) -char *file; +void set_input_file( char *file ) { if ( file && strcmp( file, "-" ) ) { - infilename = copy_string( file ); + infilename = xstrdup(file); yyin = fopen( infilename, "r" ); if ( yyin == NULL ) - lerrsf( _( "can't open %s" ), file ); + lerr( _( "can't open %s" ), file ); } else { yyin = stdin; - infilename = copy_string( "" ); + infilename = xstrdup(""); } linenum = 1; } - - -/* Wrapper routines for accessing the scanner's malloc routines. */ - -void *flex_alloc( size ) -size_t size; - { - return (void *) malloc( size ); - } - -void *flex_realloc( ptr, size ) -void *ptr; -size_t size; - { - return (void *) realloc( ptr, size ); - } - -void flex_free( ptr ) -void *ptr; - { - if ( ptr ) - free( ptr ); - } diff --git a/scanflags.c b/src/scanflags.c similarity index 86% rename from scanflags.c rename to src/scanflags.c index f75aa827de14..9699a31ccee2 100644 --- a/scanflags.c +++ b/src/scanflags.c @@ -39,8 +39,10 @@ size_t _sf_top_ix=0, _sf_max=0; void sf_push (void) { - if (_sf_top_ix + 1 >= _sf_max) - _sf_stk = (scanflags_t*) flex_realloc ( (void*) _sf_stk, sizeof(scanflags_t) * (_sf_max += 32)); + if (_sf_top_ix + 1 >= _sf_max) { + _sf_max += 32; + _sf_stk = realloc(_sf_stk, sizeof(scanflags_t) * _sf_max); + } // copy the top element _sf_stk[_sf_top_ix + 1] = _sf_stk[_sf_top_ix]; @@ -59,10 +61,10 @@ void sf_init (void) { assert(_sf_stk == NULL); - _sf_stk = (scanflags_t*) flex_alloc ( sizeof(scanflags_t) * (_sf_max = 32)); + _sf_max = 32; + _sf_stk = malloc(sizeof(scanflags_t) * _sf_max); if (!_sf_stk) - lerrsf_fatal(_("Unable to allocate %ld of stack"), - (long)sizeof(scanflags_t)); + lerr_fatal(_("Unable to allocate %zu of stack"), sizeof(scanflags_t)); _sf_stk[_sf_top_ix] = 0; } diff --git a/scanopt.c b/src/scanopt.c similarity index 83% rename from scanopt.c rename to src/scanopt.c index f76ecd34dac0..a475b6f6e89a 100644 --- a/scanopt.c +++ b/src/scanopt.c @@ -37,20 +37,6 @@ /* Internal structures */ -#ifdef HAVE_STRCASECMP -#define STRCASECMP(a,b) strcasecmp(a,b) -#else -static int STRCASECMP PROTO ((const char *, const char *)); - -static int STRCASECMP (a, b) - const char *a; - const char *b; -{ - while (tolower (*a++) == tolower (*b++)) ; - return b - a; -} -#endif - #define ARG_NONE 0x01 #define ARG_REQ 0x02 #define ARG_OPT 0x04 @@ -77,56 +63,45 @@ struct _scanopt_t { }; /* Accessor functions. These WOULD be one-liners, but portability calls. */ -static const char *NAME PROTO ((struct _scanopt_t *, int)); -static int PRINTLEN PROTO ((struct _scanopt_t *, int)); -static int RVAL PROTO ((struct _scanopt_t *, int)); -static int FLAGS PROTO ((struct _scanopt_t *, int)); -static const char *DESC PROTO ((struct _scanopt_t *, int)); -static int scanopt_err PROTO ((struct _scanopt_t *, int, int, int)); -static int matchlongopt PROTO ((char *, char **, int *, char **, int *)); -static int find_opt -PROTO ((struct _scanopt_t *, int, char *, int, int *, int *opt_offset)); +static const char *NAME(struct _scanopt_t *, int); +static int PRINTLEN(struct _scanopt_t *, int); +static int RVAL(struct _scanopt_t *, int); +static int FLAGS(struct _scanopt_t *, int); +static const char *DESC(struct _scanopt_t *, int); +static int scanopt_err(struct _scanopt_t *, int, int); +static int matchlongopt(char *, char **, int *, char **, int *); +static int find_opt(struct _scanopt_t *, int, char *, int, int *, int *opt_offset); -static const char *NAME (s, i) - struct _scanopt_t *s; - int i; +static const char *NAME (struct _scanopt_t *s, int i) { return s->options[i].opt_fmt + ((s->aux[i].flags & IS_LONG) ? 2 : 1); } -static int PRINTLEN (s, i) - struct _scanopt_t *s; - int i; +static int PRINTLEN (struct _scanopt_t *s, int i) { return s->aux[i].printlen; } -static int RVAL (s, i) - struct _scanopt_t *s; - int i; +static int RVAL (struct _scanopt_t *s, int i) { return s->options[i].r_val; } -static int FLAGS (s, i) - struct _scanopt_t *s; - int i; +static int FLAGS (struct _scanopt_t *s, int i) { return s->aux[i].flags; } -static const char *DESC (s, i) - struct _scanopt_t *s; - int i; +static const char *DESC (struct _scanopt_t *s, int i) { return s->options[i].desc ? s->options[i].desc : ""; } #ifndef NO_SCANOPT_USAGE -static int get_cols PROTO ((void)); +static int get_cols (void); -static int get_cols () +static int get_cols (void) { char *env; int cols = 80; /* default */ @@ -159,15 +134,11 @@ static int get_cols () (s)->subscript= 0; \ }while(0) -scanopt_t *scanopt_init (options, argc, argv, flags) - const optspec_t *options; - int argc; - char **argv; - int flags; +scanopt_t *scanopt_init (const optspec_t *options, int argc, char **argv, int flags) { int i; struct _scanopt_t *s; - s = (struct _scanopt_t *) malloc (sizeof (struct _scanopt_t)); + s = malloc(sizeof (struct _scanopt_t)); s->options = options; s->optc = 0; @@ -186,10 +157,10 @@ scanopt_t *scanopt_init (options, argc, argv, flags) s->optc++; /* Build auxiliary data */ - s->aux = (struct _aux *) malloc (s->optc * sizeof (struct _aux)); + s->aux = malloc((size_t) s->optc * sizeof (struct _aux)); for (i = 0; i < s->optc; i++) { - const Char *p, *pname; + const unsigned char *p, *pname; const struct optspec_t *opt; struct _aux *aux; @@ -200,36 +171,36 @@ scanopt_t *scanopt_init (options, argc, argv, flags) if (opt->opt_fmt[0] == '-' && opt->opt_fmt[1] == '-') { aux->flags |= IS_LONG; - pname = (const Char *)(opt->opt_fmt + 2); + pname = (const unsigned char *)(opt->opt_fmt + 2); s->has_long = 1; } else { - pname = (const Char *)(opt->opt_fmt + 1); + pname = (const unsigned char *)(opt->opt_fmt + 1); s->has_short = 1; } - aux->printlen = strlen (opt->opt_fmt); + aux->printlen = (int) strlen (opt->opt_fmt); aux->namelen = 0; for (p = pname + 1; *p; p++) { /* detect required arg */ - if (*p == '=' || isspace (*p) + if (*p == '=' || isspace ((unsigned char)*p) || !(aux->flags & IS_LONG)) { if (aux->namelen == 0) - aux->namelen = p - pname; + aux->namelen = (int) (p - pname); aux->flags |= ARG_REQ; aux->flags &= ~ARG_NONE; } /* detect optional arg. This overrides required arg. */ if (*p == '[') { if (aux->namelen == 0) - aux->namelen = p - pname; + aux->namelen = (int) (p - pname); aux->flags &= ~(ARG_REQ | ARG_NONE); aux->flags |= ARG_OPT; break; } } if (aux->namelen == 0) - aux->namelen = p - pname; + aux->namelen = (int) (p - pname); } return (scanopt_t *) s; } @@ -255,10 +226,7 @@ typedef struct usg_elem usg_elem; [indent][option, alias1, alias2...][indent][description line1 description line2...] */ -int scanopt_usage (scanner, fp, usage) - scanopt_t *scanner; - FILE *fp; - const char *usage; +int scanopt_usage (scanopt_t *scanner, FILE *fp, const char *usage) { struct _scanopt_t *s; int i, columns, indent = 2; @@ -293,7 +261,7 @@ int scanopt_usage (scanner, fp, usage) fprintf (fp, "\n"); /* Sort by r_val and string. Yes, this is O(n*n), but n is small. */ - store = (usg_elem *) malloc (s->optc * sizeof (usg_elem)); + store = malloc((size_t) s->optc * sizeof (usg_elem)); for (i = 0; i < s->optc; i++) { /* grab the next preallocate node. */ @@ -319,7 +287,7 @@ int scanopt_usage (scanner, fp, usage) } if (!ptr_if_no_alias && - STRCASECMP (NAME (s, (*ue_curr)->idx), + strcasecmp (NAME (s, (*ue_curr)->idx), NAME (s, ue->idx)) > 0) { ptr_if_no_alias = ue_curr; } @@ -391,7 +359,7 @@ int scanopt_usage (scanner, fp, usage) maxlen[0] = len; /* It's much easier to calculate length for description column! */ - len = strlen (DESC (s, ue->idx)); + len = (int) strlen (DESC (s, ue->idx)); if (len > maxlen[1]) maxlen[1] = len; } @@ -481,7 +449,7 @@ int scanopt_usage (scanner, fp, usage) while (*p && n < maxlen[1] && *p != '\n') { - if (isspace ((Char)(*p)) + if (isspace ((unsigned char)(*p)) || *p == '-') lastws = p; n++; @@ -529,18 +497,10 @@ int scanopt_usage (scanner, fp, usage) #endif /* no scanopt_usage */ -static int scanopt_err (s, opt_offset, is_short, err) - struct _scanopt_t *s; - int opt_offset; - int is_short; - int err; +static int scanopt_err (struct _scanopt_t *s, int is_short, int err) { const char *optname = ""; char optchar[2]; - const optspec_t *opt = NULL; - - if (opt_offset >= 0) - opt = s->options + opt_offset; if (!s->no_err_msg) { @@ -592,16 +552,11 @@ static int scanopt_err (s, opt_offset, is_short, err) * optname will point to str + 2 * */ -static int matchlongopt (str, optname, optlen, arg, arglen) - char *str; - char **optname; - int *optlen; - char **arg; - int *arglen; +static int matchlongopt (char *str, char **optname, int *optlen, char **arg, int *arglen) { char *p; - *optname = *arg = (char *) 0; + *optname = *arg = NULL; *optlen = *arglen = 0; /* Match regex /--./ */ @@ -610,13 +565,13 @@ static int matchlongopt (str, optname, optlen, arg, arglen) return 0; p += 2; - *optname = (char *) p; + *optname = p; /* find the end of optname */ while (*p && *p != '=') ++p; - *optlen = p - *optname; + *optlen = (int) (p - *optname); if (!*p) /* an option with no '=...' part. */ @@ -628,7 +583,7 @@ static int matchlongopt (str, optname, optlen, arg, arglen) *arg = p; while (*p) ++p; - *arglen = p - *arg; + *arglen = (int) (p - *arg); return 1; } @@ -639,13 +594,8 @@ static int matchlongopt (str, optname, optlen, arg, arglen) * Short options must be exact. * Return boolean true if found and no error. * Error stored in err_code or zero if no error. */ -static int find_opt (s, lookup_long, optstart, len, err_code, opt_offset) - struct _scanopt_t *s; - int lookup_long; - char *optstart; - int len; - int *err_code; - int *opt_offset; +static int find_opt (struct _scanopt_t *s, int lookup_long, char *optstart, int + len, int *err_code, int *opt_offset) { int nmatch = 0, lastr_val = 0, i; @@ -656,17 +606,15 @@ static int find_opt (s, lookup_long, optstart, len, err_code, opt_offset) return 0; for (i = 0; i < s->optc; i++) { - char *optname; + const char *optname; - optname = - (char *) (s->options[i].opt_fmt + - (lookup_long ? 2 : 1)); + optname = s->options[i].opt_fmt + (lookup_long ? 2 : 1); if (lookup_long && (s->aux[i].flags & IS_LONG)) { if (len > s->aux[i].namelen) continue; - if (strncmp (optname, optstart, len) == 0) { + if (strncmp (optname, optstart, (size_t) len) == 0) { nmatch++; *opt_offset = i; @@ -704,10 +652,7 @@ static int find_opt (s, lookup_long, optstart, len, err_code, opt_offset) } -int scanopt (svoid, arg, optindex) - scanopt_t *svoid; - char **arg; - int *optindex; +int scanopt (scanopt_t *svoid, char **arg, int *optindex) { char *optname = NULL, *optarg = NULL, *pstart; int namelen = 0, arglen = 0; @@ -749,7 +694,7 @@ int scanopt (svoid, arg, optindex) if (!find_opt (s, 1, optname, namelen, &errcode, &opt_offset)) { - scanopt_err (s, opt_offset, 0, errcode); + scanopt_err (s, 0, errcode); return errcode; } /* We handle this below. */ @@ -784,7 +729,7 @@ int scanopt (svoid, arg, optindex) if (!find_opt (s, 0, pstart, namelen, &errcode, &opt_offset)) { - return scanopt_err (s, opt_offset, 1, errcode); + return scanopt_err (s, 1, errcode); } optarg = pstart + 1; @@ -793,7 +738,7 @@ int scanopt (svoid, arg, optindex) arglen = 0; } else - arglen = strlen (optarg); + arglen = (int) strlen (optarg); } /* At this point, we have a long or short option matched at opt_offset into @@ -812,8 +757,7 @@ int scanopt (svoid, arg, optindex) /* case: no args allowed */ if (auxp->flags & ARG_NONE) { if (optarg && !is_short) { - scanopt_err (s, opt_offset, is_short, errcode = - SCANOPT_ERR_ARG_NOT_ALLOWED); + scanopt_err (s, is_short, errcode = SCANOPT_ERR_ARG_NOT_ALLOWED); INC_INDEX (s, 1); return errcode; } @@ -827,8 +771,7 @@ int scanopt (svoid, arg, optindex) /* case: required */ if (auxp->flags & ARG_REQ) { if (!optarg && !has_next) - return scanopt_err (s, opt_offset, is_short, - SCANOPT_ERR_ARG_NOT_FOUND); + return scanopt_err (s, is_short, SCANOPT_ERR_ARG_NOT_FOUND); if (!optarg) { /* Let the next argv element become the argument. */ @@ -855,16 +798,14 @@ int scanopt (svoid, arg, optindex) } -int scanopt_destroy (svoid) - scanopt_t *svoid; +int scanopt_destroy (scanopt_t *svoid) { struct _scanopt_t *s; s = (struct _scanopt_t *) svoid; - if (s) { - if (s->aux) - free (s->aux); - free (s); + if (s != NULL) { + free(s->aux); + free(s); } return 0; } diff --git a/scanopt.h b/src/scanopt.h similarity index 91% rename from scanopt.h rename to src/scanopt.h index 359a18a8b467..c6e7dec3619e 100644 --- a/scanopt.h +++ b/src/scanopt.h @@ -47,9 +47,6 @@ #ifdef __cplusplus extern "C" { #endif -#ifndef PROTO -#define PROTO(args) args -#endif /* Error codes. */ enum scanopt_err_t { SCANOPT_ERR_OPT_UNRECOGNIZED = -1, /* Unrecognized option. */ SCANOPT_ERR_OPT_AMBIGUOUS = -2, /* It matched more than one option name. */ @@ -85,12 +82,12 @@ extern "C" { * flags - Control behavior. * Return: A malloc'd pointer . */ - scanopt_t *scanopt_init PROTO ((const optspec_t * options, - int argc, char **argv, int flags)); + scanopt_t *scanopt_init (const optspec_t * options, int argc, + char **argv, int flags); /* Frees memory used by scanner. * Always returns 0. */ - int scanopt_destroy PROTO ((scanopt_t * scanner)); + int scanopt_destroy (scanopt_t * scanner); #ifndef NO_SCANOPT_USAGE /* Prints a usage message based on contents of optlist. @@ -100,10 +97,7 @@ extern "C" { * usage - Text to be prepended to option list. May be NULL. * Return: Always returns 0 (zero). */ - int scanopt_usage - PROTO ( - (scanopt_t * scanner, FILE * fp, - const char *usage)); + int scanopt_usage (scanopt_t * scanner, FILE * fp, const char *usage); #endif /* Scans command-line options in argv[]. @@ -120,10 +114,7 @@ extern "C" { * < 0 on error (return value is an error code). * */ - int scanopt - PROTO ( - (scanopt_t * scanner, char **optarg, - int *optindex)); + int scanopt (scanopt_t * scanner, char **optarg, int *optindex); #ifdef __cplusplus } diff --git a/skel.c b/src/skel.c similarity index 77% rename from skel.c rename to src/skel.c index 45a4a1105678..4943bfc1f1cd 100644 --- a/skel.c +++ b/src/skel.c @@ -3,62 +3,14 @@ #include "flexdef.h" const char *skel[] = { - "%# -*-C-*- vi: set ft=c:", - "%# This file is processed in several stages.", - "%# Here are the stages, as best as I can describe:", - "%#", - "%# 1. flex.skl is processed through GNU m4 during the", - "%# pre-compilation stage of flex. Only macros starting", - "%# with `m4_' are processed, and quoting is normal.", - "%#", - "%# 2. The preprocessed skeleton is translated verbatim into a", - "%# C array, saved as \"skel.c\" and compiled into the flex binary.", - "%#", - "%# 3. At runtime, the skeleton is generated and filtered (again)", - "%# through m4. Macros beginning with `m4_' will be processed.", - "%# The quoting is \"[[\" and \"]]\" so we don't interfere with", - "%# user code.", - "%# ", - "%# All generate macros for the m4 stage contain the text \"m4\" or \"M4\"", - "%# in them. This is to distinguish them from CPP macros.", - "%# The exception to this rule is YY_G, which is an m4 macro, ", - "%# but it needs to be remain short because it is used everywhere.", - "%#", "/* A lexical scanner generated by flex */", "", - "%# Macros for preproc stage.", "", "", - "%# Macros for runtime processing stage.", "m4_changecom", "m4_changequote", "m4_changequote([[, ]])", "", - "%# ", - "%# Lines in this skeleton starting with a \"%\" character are \"control lines\"", - "%# and affect the generation of the scanner. The possible control codes are", - "%# listed and processed in misc.c.", - "%#", - "%# %# - A comment. The current line is omitted from the generated scanner.", - "%# %if-c++-only - The following lines are printed for C++ scanners ONLY.", - "%# %if-c-only - The following lines are NOT printed for C++ scanners.", - "%# %if-c-or-c++ - The following lines are printed in BOTH C and C++ scanners.", - "%# %if-reentrant - Print for reentrant scanners.(push)", - "%# %if-not-reentrant - Print for non-reentrant scanners. (push)", - "%# %if-bison-bridge - Print for bison-bridge. (push)", - "%# %if-not-bison-bridge - Print for non-bison-bridge. (push)", - "%# %endif - pop from the previous if code.", - "%# %% - A stop-point, where code is inserted by flex.", - "%# Each stop-point is numbered here and also in the code generator.", - "%# (See gen.c, etc. for details.)", - "%# %not-for-header - Begin code that should NOT appear in a \".h\" file.", - "%# %ok-for-header - %c and %e are used for building a header file.", - "%# %if-tables-serialization", - "%#", - "%# All control-lines EXCEPT comment lines (\"%#\") will be inserted into", - "%# the generated scanner as a C-style comment. This is to aid those who", - "%# edit the skeleton.", - "%#", "", "%not-for-header", "%if-c-only", @@ -66,11 +18,17 @@ const char *skel[] = { "m4_ifelse(M4_YY_PREFIX,yy,,", "#define yy_create_buffer M4_YY_PREFIX[[_create_buffer]]", "#define yy_delete_buffer M4_YY_PREFIX[[_delete_buffer]]", - "#define yy_flex_debug M4_YY_PREFIX[[_flex_debug]]", + "#define yy_scan_buffer M4_YY_PREFIX[[_scan_buffer]]", + "#define yy_scan_string M4_YY_PREFIX[[_scan_string]]", + "#define yy_scan_bytes M4_YY_PREFIX[[_scan_bytes]]", "#define yy_init_buffer M4_YY_PREFIX[[_init_buffer]]", "#define yy_flush_buffer M4_YY_PREFIX[[_flush_buffer]]", "#define yy_load_buffer_state M4_YY_PREFIX[[_load_buffer_state]]", "#define yy_switch_to_buffer M4_YY_PREFIX[[_switch_to_buffer]]", + "#define yypush_buffer_state M4_YY_PREFIX[[push_buffer_state]]", + "#define yypop_buffer_state M4_YY_PREFIX[[pop_buffer_state]]", + "#define yyensure_buffer_stack M4_YY_PREFIX[[ensure_buffer_stack]]", + "#define yy_flex_debug M4_YY_PREFIX[[_flex_debug]]", "#define yyin M4_YY_PREFIX[[in]]", "#define yyleng M4_YY_PREFIX[[leng]]", "#define yylex M4_YY_PREFIX[[lex]]", @@ -89,23 +47,18 @@ const char *skel[] = { "", "#define FLEX_SCANNER", "#define YY_FLEX_MAJOR_VERSION 2", - "#define YY_FLEX_MINOR_VERSION 5", - "#define YY_FLEX_SUBMINOR_VERSION 37", + "#define YY_FLEX_MINOR_VERSION 6", + "#define YY_FLEX_SUBMINOR_VERSION 4", "#if YY_FLEX_SUBMINOR_VERSION > 0", "#define FLEX_BETA", "#endif", "", - "%# Some negated symbols", "m4_ifdef( [[M4_YY_IN_HEADER]], , [[m4_define([[M4_YY_NOT_IN_HEADER]], [[]])]])", "m4_ifdef( [[M4_YY_REENTRANT]], , [[m4_define([[M4_YY_NOT_REENTRANT]], [[]])]])", "", - "%# This is the m4 way to say \"(stack_used || is_reentrant)", "m4_ifdef( [[M4_YY_STACK_USED]], [[m4_define([[M4_YY_HAS_START_STACK_VARS]])]])", "m4_ifdef( [[M4_YY_REENTRANT]], [[m4_define([[M4_YY_HAS_START_STACK_VARS]])]])", "", - "%# Prefixes.", - "%# The complexity here is necessary so that m4 preserves", - "%# the argument lists to each C function.", "", "", "m4_ifdef( [[M4_YY_PREFIX]],, [[m4_define([[M4_YY_PREFIX]], [[yy]])]])", @@ -123,78 +76,372 @@ const char *skel[] = { "%endif", "", "%if-c-only", - " m4_define(yy[[_create_buffer]], [[M4_YY_PREFIX[[_create_buffer]]m4_ifelse($#,0,,[[($@)]])]])", - " m4_define(yy[[_delete_buffer]], [[M4_YY_PREFIX[[_delete_buffer]]m4_ifelse($#,0,,[[($@)]])]])", - " m4_define(yy[[_scan_buffer]], [[M4_YY_PREFIX[[_scan_buffer]]m4_ifelse($#,0,,[[($@)]])]])", - " m4_define(yy[[_scan_string]], [[M4_YY_PREFIX[[_scan_string]]m4_ifelse($#,0,,[[($@)]])]])", - " m4_define(yy[[_scan_bytes]], [[M4_YY_PREFIX[[_scan_bytes]]m4_ifelse($#,0,,[[($@)]])]])", - " m4_define(yy[[_init_buffer]], [[M4_YY_PREFIX[[_init_buffer]]m4_ifelse($#,0,,[[($@)]])]])", - " m4_define(yy[[_flush_buffer]], [[M4_YY_PREFIX[[_flush_buffer]]m4_ifelse($#,0,,[[($@)]])]])", - " m4_define(yy[[_load_buffer_state]], [[M4_YY_PREFIX[[_load_buffer_state]]m4_ifelse($#,0,,[[($@)]])]])", - " m4_define(yy[[_switch_to_buffer]], [[M4_YY_PREFIX[[_switch_to_buffer]]m4_ifelse($#,0,,[[($@)]])]])", - " m4_define(yy[[push_buffer_state]], [[M4_YY_PREFIX[[push_buffer_state]]m4_ifelse($#,0,,[[($@)]])]])", - " m4_define(yy[[pop_buffer_state]], [[M4_YY_PREFIX[[pop_buffer_state]]m4_ifelse($#,0,,[[($@)]])]])", - " m4_define(yy[[ensure_buffer_stack]], [[M4_YY_PREFIX[[ensure_buffer_stack]]m4_ifelse($#,0,,[[($@)]])]])", - " m4_define(yy[[lex]], [[M4_YY_PREFIX[[lex]]m4_ifelse($#,0,,[[($@)]])]])", - " m4_define(yy[[restart]], [[M4_YY_PREFIX[[restart]]m4_ifelse($#,0,,[[($@)]])]])", - " m4_define(yy[[lex_init]], [[M4_YY_PREFIX[[lex_init]]m4_ifelse($#,0,,[[($@)]])]])", - " m4_define(yy[[lex_init_extra]], [[M4_YY_PREFIX[[lex_init_extra]]m4_ifelse($#,0,,[[($@)]])]])", - " m4_define(yy[[lex_destroy]], [[M4_YY_PREFIX[[lex_destroy]]m4_ifelse($#,0,,[[($@)]])]])", - " m4_define(yy[[get_debug]], [[M4_YY_PREFIX[[get_debug]]m4_ifelse($#,0,,[[($@)]])]])", - " m4_define(yy[[set_debug]], [[M4_YY_PREFIX[[set_debug]]m4_ifelse($#,0,,[[($@)]])]])", - " m4_define(yy[[get_extra]], [[M4_YY_PREFIX[[get_extra]]m4_ifelse($#,0,,[[($@)]])]])", - " m4_define(yy[[set_extra]], [[M4_YY_PREFIX[[set_extra]]m4_ifelse($#,0,,[[($@)]])]])", - " m4_define(yy[[get_in]], [[M4_YY_PREFIX[[get_in]]m4_ifelse($#,0,,[[($@)]])]])", - " m4_define(yy[[set_in]], [[M4_YY_PREFIX[[set_in]]m4_ifelse($#,0,,[[($@)]])]])", - " m4_define(yy[[get_out]], [[M4_YY_PREFIX[[get_out]]m4_ifelse($#,0,,[[($@)]])]])", - " m4_define(yy[[set_out]], [[M4_YY_PREFIX[[set_out]]m4_ifelse($#,0,,[[($@)]])]])", - " m4_define(yy[[get_leng]], [[M4_YY_PREFIX[[get_leng]]m4_ifelse($#,0,,[[($@)]])]])", - " m4_define(yy[[get_text]], [[M4_YY_PREFIX[[get_text]]m4_ifelse($#,0,,[[($@)]])]])", - " m4_define(yy[[get_lineno]], [[M4_YY_PREFIX[[get_lineno]]m4_ifelse($#,0,,[[($@)]])]])", - " m4_define(yy[[set_lineno]], [[M4_YY_PREFIX[[set_lineno]]m4_ifelse($#,0,,[[($@)]])]])", + "m4_ifelse(M4_YY_PREFIX,yy,,", + " ", + "[[#ifdef yy_create_buffer", + "#define ]]M4_YY_PREFIX[[_create_buffer_ALREADY_DEFINED", + "#else", + "#define yy_create_buffer ]]M4_YY_PREFIX[[_create_buffer", + "#endif]]", + "", + " ", + "[[#ifdef yy_delete_buffer", + "#define ]]M4_YY_PREFIX[[_delete_buffer_ALREADY_DEFINED", + "#else", + "#define yy_delete_buffer ]]M4_YY_PREFIX[[_delete_buffer", + "#endif]]", + "", + " ", + "[[#ifdef yy_scan_buffer", + "#define ]]M4_YY_PREFIX[[_scan_buffer_ALREADY_DEFINED", + "#else", + "#define yy_scan_buffer ]]M4_YY_PREFIX[[_scan_buffer", + "#endif]]", + "", + " ", + "[[#ifdef yy_scan_string", + "#define ]]M4_YY_PREFIX[[_scan_string_ALREADY_DEFINED", + "#else", + "#define yy_scan_string ]]M4_YY_PREFIX[[_scan_string", + "#endif]]", + "", + " ", + "[[#ifdef yy_scan_bytes", + "#define ]]M4_YY_PREFIX[[_scan_bytes_ALREADY_DEFINED", + "#else", + "#define yy_scan_bytes ]]M4_YY_PREFIX[[_scan_bytes", + "#endif]]", + "", + " ", + "[[#ifdef yy_init_buffer", + "#define ]]M4_YY_PREFIX[[_init_buffer_ALREADY_DEFINED", + "#else", + "#define yy_init_buffer ]]M4_YY_PREFIX[[_init_buffer", + "#endif]]", + "", + " ", + "[[#ifdef yy_flush_buffer", + "#define ]]M4_YY_PREFIX[[_flush_buffer_ALREADY_DEFINED", + "#else", + "#define yy_flush_buffer ]]M4_YY_PREFIX[[_flush_buffer", + "#endif]]", + "", + " ", + "[[#ifdef yy_load_buffer_state", + "#define ]]M4_YY_PREFIX[[_load_buffer_state_ALREADY_DEFINED", + "#else", + "#define yy_load_buffer_state ]]M4_YY_PREFIX[[_load_buffer_state", + "#endif]]", + "", + " ", + "[[#ifdef yy_switch_to_buffer", + "#define ]]M4_YY_PREFIX[[_switch_to_buffer_ALREADY_DEFINED", + "#else", + "#define yy_switch_to_buffer ]]M4_YY_PREFIX[[_switch_to_buffer", + "#endif]]", + "", + " ", + "[[#ifdef yypush_buffer_state", + "#define ]]M4_YY_PREFIX[[push_buffer_state_ALREADY_DEFINED", + "#else", + "#define yypush_buffer_state ]]M4_YY_PREFIX[[push_buffer_state", + "#endif]]", + "", + " ", + "[[#ifdef yypop_buffer_state", + "#define ]]M4_YY_PREFIX[[pop_buffer_state_ALREADY_DEFINED", + "#else", + "#define yypop_buffer_state ]]M4_YY_PREFIX[[pop_buffer_state", + "#endif]]", + "", + " ", + "[[#ifdef yyensure_buffer_stack", + "#define ]]M4_YY_PREFIX[[ensure_buffer_stack_ALREADY_DEFINED", + "#else", + "#define yyensure_buffer_stack ]]M4_YY_PREFIX[[ensure_buffer_stack", + "#endif]]", + "", + " ", + "[[#ifdef yylex", + "#define ]]M4_YY_PREFIX[[lex_ALREADY_DEFINED", + "#else", + "#define yylex ]]M4_YY_PREFIX[[lex", + "#endif]]", + "", + " ", + "[[#ifdef yyrestart", + "#define ]]M4_YY_PREFIX[[restart_ALREADY_DEFINED", + "#else", + "#define yyrestart ]]M4_YY_PREFIX[[restart", + "#endif]]", + "", + " ", + "[[#ifdef yylex_init", + "#define ]]M4_YY_PREFIX[[lex_init_ALREADY_DEFINED", + "#else", + "#define yylex_init ]]M4_YY_PREFIX[[lex_init", + "#endif]]", + "", + " ", + "[[#ifdef yylex_init_extra", + "#define ]]M4_YY_PREFIX[[lex_init_extra_ALREADY_DEFINED", + "#else", + "#define yylex_init_extra ]]M4_YY_PREFIX[[lex_init_extra", + "#endif]]", + "", + " ", + "[[#ifdef yylex_destroy", + "#define ]]M4_YY_PREFIX[[lex_destroy_ALREADY_DEFINED", + "#else", + "#define yylex_destroy ]]M4_YY_PREFIX[[lex_destroy", + "#endif]]", + "", + " ", + "[[#ifdef yyget_debug", + "#define ]]M4_YY_PREFIX[[get_debug_ALREADY_DEFINED", + "#else", + "#define yyget_debug ]]M4_YY_PREFIX[[get_debug", + "#endif]]", + "", + " ", + "[[#ifdef yyset_debug", + "#define ]]M4_YY_PREFIX[[set_debug_ALREADY_DEFINED", + "#else", + "#define yyset_debug ]]M4_YY_PREFIX[[set_debug", + "#endif]]", + "", + " ", + "[[#ifdef yyget_extra", + "#define ]]M4_YY_PREFIX[[get_extra_ALREADY_DEFINED", + "#else", + "#define yyget_extra ]]M4_YY_PREFIX[[get_extra", + "#endif]]", + "", + " ", + "[[#ifdef yyset_extra", + "#define ]]M4_YY_PREFIX[[set_extra_ALREADY_DEFINED", + "#else", + "#define yyset_extra ]]M4_YY_PREFIX[[set_extra", + "#endif]]", + "", + " ", + "[[#ifdef yyget_in", + "#define ]]M4_YY_PREFIX[[get_in_ALREADY_DEFINED", + "#else", + "#define yyget_in ]]M4_YY_PREFIX[[get_in", + "#endif]]", + "", + " ", + "[[#ifdef yyset_in", + "#define ]]M4_YY_PREFIX[[set_in_ALREADY_DEFINED", + "#else", + "#define yyset_in ]]M4_YY_PREFIX[[set_in", + "#endif]]", + "", + " ", + "[[#ifdef yyget_out", + "#define ]]M4_YY_PREFIX[[get_out_ALREADY_DEFINED", + "#else", + "#define yyget_out ]]M4_YY_PREFIX[[get_out", + "#endif]]", + "", + " ", + "[[#ifdef yyset_out", + "#define ]]M4_YY_PREFIX[[set_out_ALREADY_DEFINED", + "#else", + "#define yyset_out ]]M4_YY_PREFIX[[set_out", + "#endif]]", + "", + " ", + "[[#ifdef yyget_leng", + "#define ]]M4_YY_PREFIX[[get_leng_ALREADY_DEFINED", + "#else", + "#define yyget_leng ]]M4_YY_PREFIX[[get_leng", + "#endif]]", + "", + " ", + "[[#ifdef yyget_text", + "#define ]]M4_YY_PREFIX[[get_text_ALREADY_DEFINED", + "#else", + "#define yyget_text ]]M4_YY_PREFIX[[get_text", + "#endif]]", + "", + " ", + "[[#ifdef yyget_lineno", + "#define ]]M4_YY_PREFIX[[get_lineno_ALREADY_DEFINED", + "#else", + "#define yyget_lineno ]]M4_YY_PREFIX[[get_lineno", + "#endif]]", + "", + " ", + "[[#ifdef yyset_lineno", + "#define ]]M4_YY_PREFIX[[set_lineno_ALREADY_DEFINED", + "#else", + "#define yyset_lineno ]]M4_YY_PREFIX[[set_lineno", + "#endif]]", + "", " m4_ifdef( [[M4_YY_REENTRANT]],", " [[", - " m4_define(yy[[get_column]], [[M4_YY_PREFIX[[get_column]]m4_ifelse($#,0,,[[($@)]])]])", - " m4_define(yy[[set_column]], [[M4_YY_PREFIX[[set_column]]m4_ifelse($#,0,,[[($@)]])]])", + " ", + "[[#ifdef yyget_column", + "#define ]]M4_YY_PREFIX[[get_column_ALREADY_DEFINED", + "#else", + "#define yyget_column ]]M4_YY_PREFIX[[get_column", + "#endif]]", + "", + " ", + "[[#ifdef yyset_column", + "#define ]]M4_YY_PREFIX[[set_column_ALREADY_DEFINED", + "#else", + "#define yyset_column ]]M4_YY_PREFIX[[set_column", + "#endif]]", + "", " ]])", - " m4_define(yy[[wrap]], [[M4_YY_PREFIX[[wrap]]m4_ifelse($#,0,,[[($@)]])]])", + " ", + "[[#ifdef yywrap", + "#define ]]M4_YY_PREFIX[[wrap_ALREADY_DEFINED", + "#else", + "#define yywrap ]]M4_YY_PREFIX[[wrap", + "#endif]]", + "", + ")", "%endif", "", "m4_ifdef( [[M4_YY_BISON_LVAL]],", "[[", - " m4_define(yy[[get_lval]], [[M4_YY_PREFIX[[get_lval]]m4_ifelse($#,0,,[[($@)]])]])", - " m4_define(yy[[set_lval]], [[M4_YY_PREFIX[[set_lval]]m4_ifelse($#,0,,[[($@)]])]])", + " ", + "[[#ifdef yyget_lval", + "#define ]]M4_YY_PREFIX[[get_lval_ALREADY_DEFINED", + "#else", + "#define yyget_lval ]]M4_YY_PREFIX[[get_lval", + "#endif]]", + "", + " ", + "[[#ifdef yyset_lval", + "#define ]]M4_YY_PREFIX[[set_lval_ALREADY_DEFINED", + "#else", + "#define yyset_lval ]]M4_YY_PREFIX[[set_lval", + "#endif]]", + "", "]])", "", "m4_ifdef( [[]],", "[[", - " m4_define(yy[[get_lloc]], [[M4_YY_PREFIX[[get_lloc]]m4_ifelse($#,0,,[[($@)]])]])", - " m4_define(yy[[set_lloc]], [[M4_YY_PREFIX[[set_lloc]]m4_ifelse($#,0,,[[($@)]])]])", + " ", + "[[#ifdef yyget_lloc", + "#define ]]M4_YY_PREFIX[[get_lloc_ALREADY_DEFINED", + "#else", + "#define yyget_lloc ]]M4_YY_PREFIX[[get_lloc", + "#endif]]", + "", + " ", + "[[#ifdef yyset_lloc", + "#define ]]M4_YY_PREFIX[[set_lloc_ALREADY_DEFINED", + "#else", + "#define yyset_lloc ]]M4_YY_PREFIX[[set_lloc", + "#endif]]", + "", "]])", "", "", - " m4_define(yy[[alloc]], [[M4_YY_PREFIX[[alloc]]m4_ifelse($#,0,,[[($@)]])]])", - " m4_define(yy[[realloc]], [[M4_YY_PREFIX[[realloc]]m4_ifelse($#,0,,[[($@)]])]])", - " m4_define(yy[[free]], [[M4_YY_PREFIX[[free]]m4_ifelse($#,0,,[[($@)]])]])", + "m4_ifelse(M4_YY_PREFIX,yy,,", + " ", + "[[#ifdef yyalloc", + "#define ]]M4_YY_PREFIX[[alloc_ALREADY_DEFINED", + "#else", + "#define yyalloc ]]M4_YY_PREFIX[[alloc", + "#endif]]", + "", + " ", + "[[#ifdef yyrealloc", + "#define ]]M4_YY_PREFIX[[realloc_ALREADY_DEFINED", + "#else", + "#define yyrealloc ]]M4_YY_PREFIX[[realloc", + "#endif]]", + "", + " ", + "[[#ifdef yyfree", + "#define ]]M4_YY_PREFIX[[free_ALREADY_DEFINED", + "#else", + "#define yyfree ]]M4_YY_PREFIX[[free", + "#endif]]", + "", + ")", "", "%if-c-only", + "m4_ifelse(M4_YY_PREFIX,yy,,", "m4_ifdef( [[M4_YY_NOT_REENTRANT]],", "[[", - " m4_define(yy[[text]], [[M4_YY_PREFIX[[text]]m4_ifelse($#,0,,[[($@)]])]])", - " m4_define(yy[[leng]], [[M4_YY_PREFIX[[leng]]m4_ifelse($#,0,,[[($@)]])]])", - " m4_define(yy[[in]], [[M4_YY_PREFIX[[in]]m4_ifelse($#,0,,[[($@)]])]])", - " m4_define(yy[[out]], [[M4_YY_PREFIX[[out]]m4_ifelse($#,0,,[[($@)]])]])", - " m4_define(yy[[_flex_debug]], [[M4_YY_PREFIX[[_flex_debug]]m4_ifelse($#,0,,[[($@)]])]])", - " m4_define(yy[[lineno]], [[M4_YY_PREFIX[[lineno]]m4_ifelse($#,0,,[[($@)]])]])", + " ", + "[[#ifdef yytext", + "#define ]]M4_YY_PREFIX[[text_ALREADY_DEFINED", + "#else", + "#define yytext ]]M4_YY_PREFIX[[text", + "#endif]]", + "", + " ", + "[[#ifdef yyleng", + "#define ]]M4_YY_PREFIX[[leng_ALREADY_DEFINED", + "#else", + "#define yyleng ]]M4_YY_PREFIX[[leng", + "#endif]]", + "", + " ", + "[[#ifdef yyin", + "#define ]]M4_YY_PREFIX[[in_ALREADY_DEFINED", + "#else", + "#define yyin ]]M4_YY_PREFIX[[in", + "#endif]]", + "", + " ", + "[[#ifdef yyout", + "#define ]]M4_YY_PREFIX[[out_ALREADY_DEFINED", + "#else", + "#define yyout ]]M4_YY_PREFIX[[out", + "#endif]]", + "", + " ", + "[[#ifdef yy_flex_debug", + "#define ]]M4_YY_PREFIX[[_flex_debug_ALREADY_DEFINED", + "#else", + "#define yy_flex_debug ]]M4_YY_PREFIX[[_flex_debug", + "#endif]]", + "", + " ", + "[[#ifdef yylineno", + "#define ]]M4_YY_PREFIX[[lineno_ALREADY_DEFINED", + "#else", + "#define yylineno ]]M4_YY_PREFIX[[lineno", + "#endif]]", + "", "]])", + ")", "%endif", "", "", "m4_ifdef( [[M4_YY_TABLES_EXTERNAL]],", "[[", - " m4_define(yy[[tables_fload]], [[M4_YY_PREFIX[[tables_fload]]m4_ifelse($#,0,,[[($@)]])]])", - " m4_define(yy[[tables_destroy]], [[M4_YY_PREFIX[[tables_destroy]]m4_ifelse($#,0,,[[($@)]])]])", - " m4_define(yy[[TABLES_NAME]], [[M4_YY_PREFIX[[TABLES_NAME]]m4_ifelse($#,0,,[[($@)]])]])", + " ", + "[[#ifdef yytables_fload", + "#define ]]M4_YY_PREFIX[[tables_fload_ALREADY_DEFINED", + "#else", + "#define yytables_fload ]]M4_YY_PREFIX[[tables_fload", + "#endif]]", + "", + " ", + "[[#ifdef yytables_destroy", + "#define ]]M4_YY_PREFIX[[tables_destroy_ALREADY_DEFINED", + "#else", + "#define yytables_destroy ]]M4_YY_PREFIX[[tables_destroy", + "#endif]]", + "", + " ", + "[[#ifdef yyTABLES_NAME", + "#define ]]M4_YY_PREFIX[[TABLES_NAME_ALREADY_DEFINED", + "#else", + "#define yyTABLES_NAME ]]M4_YY_PREFIX[[TABLES_NAME", + "#endif]]", + "", "]])", "", "/* First, we deal with platform-specific or compiler-specific issues. */", @@ -274,15 +521,19 @@ const char *skel[] = { "#define UINT32_MAX (4294967295U)", "#endif", "", + "#ifndef SIZE_MAX", + "#define SIZE_MAX (~(size_t)0)", + "#endif", + "", "#endif /* ! C99 */", "", "#endif /* ! FLEXINT_H */", "", "%endif", "", - "%if-c++-only", "/* begin standard C++ headers. */", - "#include ", + "%if-c++-only", + "#include ", "#include ", "#include ", "#include ", @@ -290,45 +541,14 @@ const char *skel[] = { "/* end standard C++ headers. */", "%endif", "", - "#ifdef __cplusplus", - "", - "/* The \"const\" storage-class-modifier is valid. */", - "#define YY_USE_CONST", - "", - "#else /* ! __cplusplus */", - "", - "/* C99 requires __STDC__ to be defined as 1. */", - "#if defined (__STDC__)", - "", - "#define YY_USE_CONST", - "", - "#endif /* defined (__STDC__) */", - "#endif /* ! __cplusplus */", - "", - "#ifdef YY_USE_CONST", + "/* TODO: this is always defined, so inline it */", "#define yyconst const", - "#else", - "#define yyconst", - "#endif", "", - "%# For compilers that can not handle prototypes.", - "%# e.g.,", - "%# The function prototype", - "%# int foo(int x, char* y);", - "%# ", - "%# ...should be written as", - "%# int foo M4_YY_PARAMS(int x, char* y);", - "%# ", - "%# ...which could possibly generate", - "%# int foo ();", - "%# ", - "m4_ifdef( [[M4_YY_NO_ANSI_FUNC_PROTOS]],", - "[[", - " m4_define( [[M4_YY_PARAMS]], [[()]])", - "]],", - "[[", - " m4_define( [[M4_YY_PARAMS]], [[($*)]])", - "]])", + "#if defined(__GNUC__) && __GNUC__ >= 3", + "#define yynoreturn __attribute__((__noreturn__))", + "#else", + "#define yynoreturn", + "#endif", "", "%not-for-header", "/* Returned upon end-of-file. */", @@ -336,12 +556,10 @@ const char *skel[] = { "%ok-for-header", "", "%not-for-header", - "/* Promotes a possibly negative, possibly signed char to an unsigned", - " * integer for use as an array index. If the signed char is negative,", - " * we want to instead treat it as an 8-bit unsigned char, hence the", - " * double cast.", + "/* Promotes a possibly negative, possibly signed char to an", + " * integer in range [0..255] for use as an array index.", " */", - "#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)", + "#define YY_SC_TO_UI(c) ((YY_CHAR) (c))", "%ok-for-header", "", "", @@ -354,34 +572,20 @@ const char *skel[] = { "typedef void* yyscan_t;", "#endif", "", - "%# Declare yyguts variable", "m4_define( [[M4_YY_DECL_GUTS_VAR]], [[struct yyguts_t * yyg = (struct yyguts_t*)yyscanner]])", - "%# Perform a noop access on yyguts to prevent unused variable complains", "m4_define( [[M4_YY_NOOP_GUTS_VAR]], [[(void)yyg]])", - "%# For use wherever a Global is accessed or assigned.", "m4_define( [[YY_G]], [[yyg->$1]])", "", - "%# For use in function prototypes to append the additional argument.", "m4_define( [[M4_YY_PROTO_LAST_ARG]], [[, yyscan_t yyscanner]])", "m4_define( [[M4_YY_PROTO_ONLY_ARG]], [[yyscan_t yyscanner]])", "", - "%# For use in function definitions to append the additional argument.", - "m4_ifdef( [[M4_YY_NO_ANSI_FUNC_DEFS]],", - "[[", - " m4_define( [[M4_YY_DEF_LAST_ARG]], [[, yyscanner]])", - " m4_define( [[M4_YY_DEF_ONLY_ARG]], [[yyscanner]])", - "]],", - "[[", - " m4_define( [[M4_YY_DEF_LAST_ARG]], [[, yyscan_t yyscanner]])", - " m4_define( [[M4_YY_DEF_ONLY_ARG]], [[yyscan_t yyscanner]])", - "]])", + "m4_define( [[M4_YY_DEF_LAST_ARG]], [[, yyscan_t yyscanner]])", + "m4_define( [[M4_YY_DEF_ONLY_ARG]], [[yyscan_t yyscanner]])", "m4_define( [[M4_YY_DECL_LAST_ARG]], [[yyscan_t yyscanner;]])", "", - "%# For use in function calls to pass the additional argument.", "m4_define( [[M4_YY_CALL_LAST_ARG]], [[, yyscanner]])", "m4_define( [[M4_YY_CALL_ONLY_ARG]], [[yyscanner]])", "", - "%# For use in function documentation to adjust for additional argument.", "m4_define( [[M4_YY_DOC_PARAM]], [[@param yyscanner The scanner object.]])", "", "/* For convenience, these vars (plus the bison vars far below)", @@ -396,7 +600,7 @@ const char *skel[] = { "#define yy_flex_debug YY_G(yy_flex_debug_r)", "", "m4_define( [[M4_YY_INCR_LINENO]],", - "[[ ", + "[[", " do{ yylineno++;", " yycolumn=0;", " }while(0)", @@ -409,11 +613,10 @@ const char *skel[] = { "%if-not-reentrant", "", "m4_define( [[M4_YY_INCR_LINENO]],", - "[[ ", + "[[", " yylineno++;", "]])", "", - "%# Define these macros to be no-ops.", "m4_define( [[M4_YY_DECL_GUTS_VAR]], [[m4_dnl]])", "m4_define( [[M4_YY_NOOP_GUTS_VAR]], [[m4_dnl]])", "m4_define( [[YY_G]], [[($1)]])", @@ -421,60 +624,18 @@ const char *skel[] = { "m4_define( [[M4_YY_PROTO_ONLY_ARG]], [[void]])", "m4_define( [[M4_YY_DEF_LAST_ARG]])", "", - "m4_ifdef( [[M4_YY_NO_ANSI_FUNC_DEFS]],", - "[[", - " m4_define( [[M4_YY_DEF_ONLY_ARG]])", - "]],", - "[[", - " m4_define( [[M4_YY_DEF_ONLY_ARG]], [[void]])", - "]])", + "m4_define( [[M4_YY_DEF_ONLY_ARG]], [[void]])", "m4_define([[M4_YY_DECL_LAST_ARG]])", "m4_define([[M4_YY_CALL_LAST_ARG]])", "m4_define([[M4_YY_CALL_ONLY_ARG]])", - "m4_define( [[M4_YY_DOC_PARAM]], [[]])", + "m4_define( [[M4_YY_DOC_PARAM]], )", "", "%endif", "", "", - "m4_ifdef( [[M4_YY_NO_ANSI_FUNC_DEFS]],", - "[[", - "%# For compilers that need traditional function definitions.", - "%# e.g.,", - "%# The function prototype taking 2 arguments", - "%# int foo (int x, char* y)", - "%#", - "%# ...should be written as", - "%# int foo YYFARGS2(int,x, char*,y)", - "%#", - "%# ...which could possibly generate", - "%# int foo (x,y,yyscanner)", - "%# int x;", - "%# char * y;", - "%# yyscan_t yyscanner;", - "%#", - "%# Generate traditional function defs", - " m4_define( [[YYFARGS0]], [[(M4_YY_DEF_ONLY_ARG) [[\\]]", - " M4_YY_DECL_LAST_ARG]])", - " m4_define( [[YYFARGS1]], [[($2 M4_YY_DEF_LAST_ARG) [[\\]]", - " $1 $2; [[\\]]", - " M4_YY_DECL_LAST_ARG]])", - " m4_define( [[YYFARGS2]], [[($2,$4 M4_YY_DEF_LAST_ARG) [[\\]]", - " $1 $2; [[\\]]", - " $3 $4; [[\\]]", - " M4_YY_DECL_LAST_ARG]])", - " m4_define( [[YYFARGS3]], [[($2,$4,$6 M4_YY_DEF_LAST_ARG) [[\\]]", - " $1 $2; [[\\]]", - " $3 $4; [[\\]]", - " $5 $6; [[\\]]", - " M4_YY_DECL_LAST_ARG]])", - "]],", - "[[", - "%# Generate C99 function defs.", - " m4_define( [[YYFARGS0]], [[(M4_YY_DEF_ONLY_ARG)]])", - " m4_define( [[YYFARGS1]], [[($1 $2 M4_YY_DEF_LAST_ARG)]])", - " m4_define( [[YYFARGS2]], [[($1 $2, $3 $4 M4_YY_DEF_LAST_ARG)]])", - " m4_define( [[YYFARGS3]], [[($1 $2, $3 $4, $5 $6 M4_YY_DEF_LAST_ARG)]])", - "]])", + "m4_define( [[YYFARGS1]], [[($1 $2 M4_YY_DEF_LAST_ARG)]])", + "m4_define( [[YYFARGS2]], [[($1 $2, $3 $4 M4_YY_DEF_LAST_ARG)]])", + "m4_define( [[YYFARGS3]], [[($1 $2, $3 $4, $5 $6 M4_YY_DEF_LAST_ARG)]])", "", "m4_ifdef( [[M4_YY_NOT_IN_HEADER]],", "[[", @@ -483,38 +644,30 @@ const char *skel[] = { " * definition of BEGIN.", " */", "#define BEGIN YY_G(yy_start) = 1 + 2 *", - "]])", - "", - "m4_ifdef( [[M4_YY_NOT_IN_HEADER]],", - "[[", "/* Translate the current start state into a value that can be later handed", " * to BEGIN to return to the state. The YYSTATE alias is for lex", " * compatibility.", " */", "#define YY_START ((YY_G(yy_start) - 1) / 2)", "#define YYSTATE YY_START", - "]])", - "", - "m4_ifdef( [[M4_YY_NOT_IN_HEADER]],", - "[[", "/* Action number for EOF rule of a given start state. */", "#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)", - "]])", - "", - "m4_ifdef( [[M4_YY_NOT_IN_HEADER]],", - "[[", "/* Special action meaning \"start processing a new file\". */", "#define YY_NEW_FILE yyrestart( yyin M4_YY_CALL_LAST_ARG )", - "]])", - "", - "m4_ifdef( [[M4_YY_NOT_IN_HEADER]],", - "[[", "#define YY_END_OF_BUFFER_CHAR 0", "]])", "", "/* Size of default input buffer. */", "#ifndef YY_BUF_SIZE", + "#ifdef __ia64__", + "/* On IA-64, the buffer size is 16k, not 8k.", + " * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.", + " * Ditto for the __ia64__ case accordingly.", + " */", + "#define YY_BUF_SIZE 32768", + "#else", "#define YY_BUF_SIZE 16384", + "#endif /* __ia64__ */", "#endif", "", "m4_ifdef( [[M4_YY_NOT_IN_HEADER]],", @@ -536,7 +689,7 @@ const char *skel[] = { "#endif", "", "%if-not-reentrant", - "extern yy_size_t yyleng;", + "extern int yyleng;", "%endif", "", "%if-c-only", @@ -550,15 +703,11 @@ const char *skel[] = { "#define EOB_ACT_CONTINUE_SCAN 0", "#define EOB_ACT_END_OF_FILE 1", "#define EOB_ACT_LAST_MATCH 2", - "]])", - "", - "m4_ifdef( [[M4_YY_NOT_IN_HEADER]],", - "[[", " m4_ifdef( [[M4_YY_USE_LINENO]],", " [[", " /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires", " * access to the local variable yy_act. Since yyless() is a macro, it would break", - " * existing scanners that call yyless() from OUTSIDE yylex. ", + " * existing scanners that call yyless() from OUTSIDE yylex.", " * One obvious solution it to make yy_act a global. I tried that, and saw", " * a 5% performance hit in a non-yylineno scanner, because yy_act is", " * normally declared as a register variable-- so it is not worth it.", @@ -570,14 +719,18 @@ const char *skel[] = { " if ( yytext[yyl] == '\\n' )\\", " --yylineno;\\", " }while(0)", + " #define YY_LINENO_REWIND_TO(dst) \\", + " do {\\", + " const char *p;\\", + " for ( p = yy_cp-1; p >= (dst); --p)\\", + " if ( *p == '\\n' )\\", + " --yylineno;\\", + " }while(0)", " ]],", " [[", " #define YY_LESS_LINENO(n)", + " #define YY_LINENO_REWIND_TO(ptr)", " ]])", - "]])", - "", - "m4_ifdef( [[M4_YY_NOT_IN_HEADER]],", - "[[", "/* Return all but the first \"n\" matched characters back to the input stream. */", "#define yyless(n) \\", " do \\", @@ -591,10 +744,6 @@ const char *skel[] = { " YY_DO_BEFORE_ACTION; /* set up yytext again */ \\", " } \\", " while ( 0 )", - "]])", - "", - "m4_ifdef( [[M4_YY_NOT_IN_HEADER]],", - "[[", "#define unput(c) yyunput( c, YY_G(yytext_ptr) M4_YY_CALL_LAST_ARG )", "]])", "", @@ -607,7 +756,7 @@ const char *skel[] = { "%endif", "", "%if-c++-only", - " std::istream* yy_input_file;", + " std::streambuf* yy_input_file;", "%endif", "", "", @@ -617,12 +766,12 @@ const char *skel[] = { " /* Size of input buffer in bytes, not including room for EOB", " * characters.", " */", - " yy_size_t yy_buf_size;", + " int yy_buf_size;", "", " /* Number of characters read into yy_ch_buf, not including EOB", " * characters.", " */", - " yy_size_t yy_n_chars;", + " int yy_n_chars;", "", " /* Whether we \"own\" the buffer - i.e., we know we created it,", " * and can realloc() it to grow it, and should free() it to", @@ -645,7 +794,7 @@ const char *skel[] = { "", " int yy_bs_lineno; /**< The line count. */", " int yy_bs_column; /**< The column count. */", - " ", + "", "", " /* Whether to try to fill the input buffer when we reach the", " * end of it.", @@ -679,7 +828,7 @@ const char *skel[] = { "/* Stack of input buffers. */", "static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */", "static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */", - "static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */", + "static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */", "%endif", "%ok-for-header", "%endif", @@ -695,10 +844,6 @@ const char *skel[] = { "#define YY_CURRENT_BUFFER ( YY_G(yy_buffer_stack) \\", " ? YY_G(yy_buffer_stack)[YY_G(yy_buffer_stack_top)] \\", " : NULL)", - "]])", - "", - "m4_ifdef( [[M4_YY_NOT_IN_HEADER]],", - "[[", "/* Same as previous macro, but useful when we know that the buffer stack is not", " * NULL or when we need an lvalue. For internal use only.", " */", @@ -711,11 +856,11 @@ const char *skel[] = { "%not-for-header", "/* yy_hold_char holds the character lost when yytext is formed. */", "static char yy_hold_char;", - "static yy_size_t yy_n_chars; /* number of characters read into yy_ch_buf */", - "yy_size_t yyleng;", + "static int yy_n_chars; /* number of characters read into yy_ch_buf */", + "int yyleng;", "", "/* Points to current character in buffer. */", - "static char *yy_c_buf_p = (char *) 0;", + "static char *yy_c_buf_p = NULL;", "static int yy_init = 0; /* whether we need to initialize */", "static int yy_start = 0; /* start state number */", "", @@ -726,43 +871,35 @@ const char *skel[] = { "%ok-for-header", "%endif", "", - "void yyrestart M4_YY_PARAMS( FILE *input_file M4_YY_PROTO_LAST_ARG );", - "void yy_switch_to_buffer M4_YY_PARAMS( YY_BUFFER_STATE new_buffer M4_YY_PROTO_LAST_ARG );", - "YY_BUFFER_STATE yy_create_buffer M4_YY_PARAMS( FILE *file, int size M4_YY_PROTO_LAST_ARG );", - "void yy_delete_buffer M4_YY_PARAMS( YY_BUFFER_STATE b M4_YY_PROTO_LAST_ARG );", - "void yy_flush_buffer M4_YY_PARAMS( YY_BUFFER_STATE b M4_YY_PROTO_LAST_ARG );", - "void yypush_buffer_state M4_YY_PARAMS( YY_BUFFER_STATE new_buffer M4_YY_PROTO_LAST_ARG );", - "void yypop_buffer_state M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG );", - "", - "m4_ifdef( [[M4_YY_NOT_IN_HEADER]],", - "[[", - "static void yyensure_buffer_stack M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG );", - "static void yy_load_buffer_state M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG );", - "static void yy_init_buffer M4_YY_PARAMS( YY_BUFFER_STATE b, FILE *file M4_YY_PROTO_LAST_ARG );", - "]])", + "void yyrestart ( FILE *input_file M4_YY_PROTO_LAST_ARG );", + "void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer M4_YY_PROTO_LAST_ARG );", + "YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size M4_YY_PROTO_LAST_ARG );", + "void yy_delete_buffer ( YY_BUFFER_STATE b M4_YY_PROTO_LAST_ARG );", + "void yy_flush_buffer ( YY_BUFFER_STATE b M4_YY_PROTO_LAST_ARG );", + "void yypush_buffer_state ( YY_BUFFER_STATE new_buffer M4_YY_PROTO_LAST_ARG );", + "void yypop_buffer_state ( M4_YY_PROTO_ONLY_ARG );", "", "m4_ifdef( [[M4_YY_NOT_IN_HEADER]],", "[[", + "static void yyensure_buffer_stack ( M4_YY_PROTO_ONLY_ARG );", + "static void yy_load_buffer_state ( M4_YY_PROTO_ONLY_ARG );", + "static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file M4_YY_PROTO_LAST_ARG );", "#define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER M4_YY_CALL_LAST_ARG)", "]])", "", - "YY_BUFFER_STATE yy_scan_buffer M4_YY_PARAMS( char *base, yy_size_t size M4_YY_PROTO_LAST_ARG );", - "YY_BUFFER_STATE yy_scan_string M4_YY_PARAMS( yyconst char *yy_str M4_YY_PROTO_LAST_ARG );", - "YY_BUFFER_STATE yy_scan_bytes M4_YY_PARAMS( yyconst char *bytes, yy_size_t len M4_YY_PROTO_LAST_ARG );", + "YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size M4_YY_PROTO_LAST_ARG );", + "YY_BUFFER_STATE yy_scan_string ( const char *yy_str M4_YY_PROTO_LAST_ARG );", + "YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len M4_YY_PROTO_LAST_ARG );", "", "%endif", "", - "void *yyalloc M4_YY_PARAMS( yy_size_t M4_YY_PROTO_LAST_ARG );", - "void *yyrealloc M4_YY_PARAMS( void *, yy_size_t M4_YY_PROTO_LAST_ARG );", - "void yyfree M4_YY_PARAMS( void * M4_YY_PROTO_LAST_ARG );", + "void *yyalloc ( yy_size_t M4_YY_PROTO_LAST_ARG );", + "void *yyrealloc ( void *, yy_size_t M4_YY_PROTO_LAST_ARG );", + "void yyfree ( void * M4_YY_PROTO_LAST_ARG );", "", "m4_ifdef( [[M4_YY_NOT_IN_HEADER]],", "[[", "#define yy_new_buffer yy_create_buffer", - "]])", - "", - "m4_ifdef( [[M4_YY_NOT_IN_HEADER]],", - "[[", "#define yy_set_interactive(is_interactive) \\", " { \\", " if ( ! YY_CURRENT_BUFFER ){ \\", @@ -772,10 +909,6 @@ const char *skel[] = { " } \\", " YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \\", " }", - "]])", - "", - "m4_ifdef( [[M4_YY_NOT_IN_HEADER]],", - "[[", "#define yy_set_bol(at_bol) \\", " { \\", " if ( ! YY_CURRENT_BUFFER ){\\", @@ -785,23 +918,24 @@ const char *skel[] = { " } \\", " YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \\", " }", - "]])", - "", - "m4_ifdef( [[M4_YY_NOT_IN_HEADER]],", - "[[", "#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)", "]])", "", "%% [1.0] yytext/yyin/yyout/yy_state_type/yylineno etc. def's & init go here", "", + "m4_ifdef( [[M4_YY_NOT_IN_HEADER]],", + "[[", + "%% [1.5] DFA", + "]])", + "", "%if-c-only Standard (non-C++) definition", "", "m4_ifdef( [[M4_YY_NOT_IN_HEADER]],", "[[", - "static yy_state_type yy_get_previous_state M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG );", - "static yy_state_type yy_try_NUL_trans M4_YY_PARAMS( yy_state_type current_state M4_YY_PROTO_LAST_ARG);", - "static int yy_get_next_buffer M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG );", - "static void yy_fatal_error M4_YY_PARAMS( yyconst char msg[] M4_YY_PROTO_LAST_ARG );", + "static yy_state_type yy_get_previous_state ( M4_YY_PROTO_ONLY_ARG );", + "static yy_state_type yy_try_NUL_trans ( yy_state_type current_state M4_YY_PROTO_LAST_ARG);", + "static int yy_get_next_buffer ( M4_YY_PROTO_ONLY_ARG );", + "static void yynoreturn yy_fatal_error ( const char* msg M4_YY_PROTO_LAST_ARG );", "]])", "", "%endif", @@ -818,10 +952,6 @@ const char *skel[] = { " *yy_cp = '\\0'; \\", "%% [3.0] code to copy yytext_ptr to yytext[] goes here, if %array \\", " YY_G(yy_c_buf_p) = yy_cp;", - "]])", - "", - "m4_ifdef( [[M4_YY_NOT_IN_HEADER]],", - "[[", "%% [4.0] data tables for the DFA and the user's section 1 definitions go here", "]])", "", @@ -874,8 +1004,8 @@ const char *skel[] = { " size_t yy_buffer_stack_max; /**< capacity of stack. */", " YY_BUFFER_STATE * yy_buffer_stack; /**< Stack as an array. */", " char yy_hold_char;", - " yy_size_t yy_n_chars;", - " yy_size_t yyleng_r;", + " int yy_n_chars;", + " int yyleng_r;", " char *yy_c_buf_p;", " int yy_init;", " int yy_start;", @@ -933,7 +1063,7 @@ const char *skel[] = { "%if-c-only", "m4_ifdef( [[M4_YY_NOT_IN_HEADER]],", "[[", - "static int yy_init_globals M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG );", + "static int yy_init_globals ( M4_YY_PROTO_ONLY_ARG );", "]])", "%endif", "", @@ -954,9 +1084,9 @@ const char *skel[] = { " ]])", "]])", "", - "int yylex_init M4_YY_PARAMS(yyscan_t* scanner);", + "int yylex_init (yyscan_t* scanner);", "", - "int yylex_init_extra M4_YY_PARAMS( YY_EXTRA_TYPE user_defined, yyscan_t* scanner);", + "int yylex_init_extra ( YY_EXTRA_TYPE user_defined, yyscan_t* scanner);", "", "%endif", "", @@ -967,74 +1097,74 @@ const char *skel[] = { "", "m4_ifdef( [[M4_YY_NO_DESTROY]],,", "[[", - "int yylex_destroy M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG );", + "int yylex_destroy ( M4_YY_PROTO_ONLY_ARG );", "]])", "", "m4_ifdef( [[M4_YY_NO_GET_DEBUG]],,", "[[", - "int yyget_debug M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG );", + "int yyget_debug ( M4_YY_PROTO_ONLY_ARG );", "]])", "", "m4_ifdef( [[M4_YY_NO_SET_DEBUG]],,", "[[", - "void yyset_debug M4_YY_PARAMS( int debug_flag M4_YY_PROTO_LAST_ARG );", + "void yyset_debug ( int debug_flag M4_YY_PROTO_LAST_ARG );", "]])", "", "m4_ifdef( [[M4_YY_NO_GET_EXTRA]],,", "[[", - "YY_EXTRA_TYPE yyget_extra M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG );", + "YY_EXTRA_TYPE yyget_extra ( M4_YY_PROTO_ONLY_ARG );", "]])", "", "m4_ifdef( [[M4_YY_NO_SET_EXTRA]],,", "[[", - "void yyset_extra M4_YY_PARAMS( YY_EXTRA_TYPE user_defined M4_YY_PROTO_LAST_ARG );", + "void yyset_extra ( YY_EXTRA_TYPE user_defined M4_YY_PROTO_LAST_ARG );", "]])", "", "m4_ifdef( [[M4_YY_NO_GET_IN]],,", "[[", - "FILE *yyget_in M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG );", + "FILE *yyget_in ( M4_YY_PROTO_ONLY_ARG );", "]])", "", "m4_ifdef( [[M4_YY_NO_SET_IN]],,", "[[", - "void yyset_in M4_YY_PARAMS( FILE * in_str M4_YY_PROTO_LAST_ARG );", + "void yyset_in ( FILE * _in_str M4_YY_PROTO_LAST_ARG );", "]])", "", "m4_ifdef( [[M4_YY_NO_GET_OUT]],,", "[[", - "FILE *yyget_out M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG );", + "FILE *yyget_out ( M4_YY_PROTO_ONLY_ARG );", "]])", "", "m4_ifdef( [[M4_YY_NO_SET_OUT]],,", "[[", - "void yyset_out M4_YY_PARAMS( FILE * out_str M4_YY_PROTO_LAST_ARG );", + "void yyset_out ( FILE * _out_str M4_YY_PROTO_LAST_ARG );", "]])", "", "m4_ifdef( [[M4_YY_NO_GET_LENG]],,", "[[", - "yy_size_t yyget_leng M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG );", + " int yyget_leng ( M4_YY_PROTO_ONLY_ARG );", "]])", "", "m4_ifdef( [[M4_YY_NO_GET_TEXT]],,", "[[", - "char *yyget_text M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG );", + "char *yyget_text ( M4_YY_PROTO_ONLY_ARG );", "]])", "", "m4_ifdef( [[M4_YY_NO_GET_LINENO]],,", "[[", - "int yyget_lineno M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG );", + "int yyget_lineno ( M4_YY_PROTO_ONLY_ARG );", "]])", "", "m4_ifdef( [[M4_YY_NO_SET_LINENO]],,", "[[", - "void yyset_lineno M4_YY_PARAMS( int line_number M4_YY_PROTO_LAST_ARG );", + "void yyset_lineno ( int _line_number M4_YY_PROTO_LAST_ARG );", "]])", "", "m4_ifdef( [[M4_YY_REENTRANT]],", "[[", "m4_ifdef( [[M4_YY_NO_GET_COLUMN]],,", "[[", - "int yyget_column M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG );", + "int yyget_column ( M4_YY_PROTO_ONLY_ARG );", "]])", "]])", "", @@ -1042,28 +1172,28 @@ const char *skel[] = { "[[", "m4_ifdef( [[M4_YY_NO_SET_COLUMN]],,", "[[", - "void yyset_column M4_YY_PARAMS( int column_no M4_YY_PROTO_LAST_ARG );", + "void yyset_column ( int _column_no M4_YY_PROTO_LAST_ARG );", "]])", "]])", "", "%if-bison-bridge", "m4_ifdef( [[M4_YY_NO_GET_LVAL]],,", "[[", - "YYSTYPE * yyget_lval M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG );", + "YYSTYPE * yyget_lval ( M4_YY_PROTO_ONLY_ARG );", "]])", "", - "void yyset_lval M4_YY_PARAMS( YYSTYPE * yylval_param M4_YY_PROTO_LAST_ARG );", + "void yyset_lval ( YYSTYPE * yylval_param M4_YY_PROTO_LAST_ARG );", "", "m4_ifdef( [[]],", "[[", " m4_ifdef( [[M4_YY_NO_GET_LLOC]],,", " [[", - " YYLTYPE *yyget_lloc M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG );", + " YYLTYPE *yyget_lloc ( M4_YY_PROTO_ONLY_ARG );", " ]])", "", " m4_ifdef( [[M4_YY_NO_SET_LLOC]],,", " [[", - " void yyset_lloc M4_YY_PARAMS( YYLTYPE * yylloc_param M4_YY_PROTO_LAST_ARG );", + " void yyset_lloc ( YYLTYPE * yylloc_param M4_YY_PROTO_LAST_ARG );", " ]])", "]])", "%endif", @@ -1074,35 +1204,37 @@ const char *skel[] = { "", "#ifndef YY_SKIP_YYWRAP", "#ifdef __cplusplus", - "extern \"C\" int yywrap M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG );", + "extern \"C\" int yywrap ( M4_YY_PROTO_ONLY_ARG );", "#else", - "extern int yywrap M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG );", + "extern int yywrap ( M4_YY_PROTO_ONLY_ARG );", "#endif", "#endif", "", "%not-for-header", + "#ifndef YY_NO_UNPUT", " m4_ifdef( [[M4_YY_NO_UNPUT]],,", " [[", - " static void yyunput M4_YY_PARAMS( int c, char *buf_ptr M4_YY_PROTO_LAST_ARG);", + " static void yyunput ( int c, char *buf_ptr M4_YY_PROTO_LAST_ARG);", " ]])", + "#endif", "%ok-for-header", "%endif", "", "#ifndef yytext_ptr", - "static void yy_flex_strncpy M4_YY_PARAMS( char *, yyconst char *, int M4_YY_PROTO_LAST_ARG);", + "static void yy_flex_strncpy ( char *, const char *, int M4_YY_PROTO_LAST_ARG);", "#endif", "", "#ifdef YY_NEED_STRLEN", - "static int yy_flex_strlen M4_YY_PARAMS( yyconst char * M4_YY_PROTO_LAST_ARG);", + "static int yy_flex_strlen ( const char * M4_YY_PROTO_LAST_ARG);", "#endif", "", "#ifndef YY_NO_INPUT", "%if-c-only Standard (non-C++) definition", "%not-for-header", "#ifdef __cplusplus", - "static int yyinput M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG );", + "static int yyinput ( M4_YY_PROTO_ONLY_ARG );", "#else", - "static int input M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG );", + "static int input ( M4_YY_PROTO_ONLY_ARG );", "#endif", "%ok-for-header", "%endif", @@ -1110,7 +1242,6 @@ const char *skel[] = { "", "", "%if-c-only", - "%# TODO: This is messy.", "m4_ifdef( [[M4_YY_STACK_USED]],", "[[", "", @@ -1128,15 +1259,15 @@ const char *skel[] = { "[[", " m4_ifdef( [[M4_YY_NO_PUSH_STATE]],,", " [[", - " static void yy_push_state M4_YY_PARAMS( int new_state M4_YY_PROTO_LAST_ARG);", + " static void yy_push_state ( int _new_state M4_YY_PROTO_LAST_ARG);", " ]])", " m4_ifdef( [[M4_YY_NO_POP_STATE]],,", " [[", - " static void yy_pop_state M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG );", + " static void yy_pop_state ( M4_YY_PROTO_ONLY_ARG );", " ]])", " m4_ifdef( [[M4_YY_NO_TOP_STATE]],,", " [[", - " static int yy_top_state M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG );", + " static int yy_top_state ( M4_YY_PROTO_ONLY_ARG );", " ]])", "]])", "", @@ -1150,7 +1281,12 @@ const char *skel[] = { "", "/* Amount of stuff to slurp up with each read. */", "#ifndef YY_READ_BUF_SIZE", + "#ifdef __ia64__", + "/* On IA-64, the buffer size is 16k, not 8k */", + "#define YY_READ_BUF_SIZE 16384", + "#else", "#define YY_READ_BUF_SIZE 8192", + "#endif /* __ia64__ */", "#endif", "", "m4_ifdef( [[M4_YY_NOT_IN_HEADER]],", @@ -1161,7 +1297,7 @@ const char *skel[] = { "/* This used to be an fputs(), but since the string might contain NUL's,", " * we now use fwrite().", " */", - "#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)", + "#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)", "%endif", "%if-c++-only C++ definition", "#define ECHO LexerOutput( yytext, yyleng )", @@ -1179,7 +1315,7 @@ const char *skel[] = { "%% [5.0] fread()/read() definition of YY_INPUT goes here unless we're doing C++ \\", "\\", "%if-c++-only C++ definition \\", - " if ( (result = LexerInput( (char *) buf, max_size )) < 0 ) \\", + " if ( (int)(result = LexerInput( (char *) buf, max_size )) < 0 ) \\", " YY_FATAL_ERROR( \"input in flex scanner failed\" );", "%endif", "", @@ -1363,15 +1499,15 @@ const char *skel[] = { "", "", "/* Load the DFA tables from the given stream. */", - "int yytables_fload M4_YY_PARAMS(FILE * fp M4_YY_PROTO_LAST_ARG);", + "int yytables_fload (FILE * fp M4_YY_PROTO_LAST_ARG);", "", "/* Unload the tables from memory. */", - "int yytables_destroy M4_YY_PARAMS(M4_YY_PROTO_ONLY_ARG);", + "int yytables_destroy (M4_YY_PROTO_ONLY_ARG);", "%not-for-header", "", "/** Describes a mapping from a serialized table id to its deserialized state in", " * this scanner. This is the bridge between our \"generic\" deserialization code", - " * and the specifics of this scanner. ", + " * and the specifics of this scanner.", " */", "struct yytbl_dmap {", " enum yytbl_id dm_id;/**< table identifier */", @@ -1405,8 +1541,8 @@ const char *skel[] = { "%if-c-only Standard (non-C++) definition", "", "", - "m4_define( [[M4_YY_LEX_PROTO]], [[M4_YY_PARAMS(M4_YY_PROTO_ONLY_ARG)]])", - "m4_define( [[M4_YY_LEX_DECLARATION]], [[YYFARGS0(void)]])", + "m4_define( [[M4_YY_LEX_PROTO]], [[(M4_YY_PROTO_ONLY_ARG)]])", + "m4_define( [[M4_YY_LEX_DECLARATION]], [[(M4_YY_DEF_ONLY_ARG)]])", "", "m4_ifdef( [[M4_YY_BISON_LVAL]],", "[[", @@ -1414,7 +1550,7 @@ const char *skel[] = { " m4_dnl accept the lval parameter.", "", " m4_define( [[M4_YY_LEX_PROTO]], [[\\]]", - " [[M4_YY_PARAMS(YYSTYPE * yylval_param M4_YY_PROTO_LAST_ARG)]])", + " [[(YYSTYPE * yylval_param M4_YY_PROTO_LAST_ARG)]])", " m4_define( [[M4_YY_LEX_DECLARATION]], [[\\]]", " [[YYFARGS1(YYSTYPE *,yylval_param)]])", "]])", @@ -1424,7 +1560,7 @@ const char *skel[] = { " m4_dnl Locations are used. yylex should also accept the ylloc parameter.", "", " m4_define( [[M4_YY_LEX_PROTO]], [[\\]]", - " [[M4_YY_PARAMS(YYSTYPE * yylval_param, YYLTYPE * yylloc_param M4_YY_PROTO_LAST_ARG)]])", + " [[(YYSTYPE * yylval_param, YYLTYPE * yylloc_param M4_YY_PROTO_LAST_ARG)]])", " m4_define( [[M4_YY_LEX_DECLARATION]], [[\\]]", " [[YYFARGS2(YYSTYPE *,yylval_param, YYLTYPE *,yylloc_param)]])", "]])", @@ -1452,7 +1588,7 @@ const char *skel[] = { "[[", "/* Code executed at the end of each rule. */", "#ifndef YY_BREAK", - "#define YY_BREAK break;", + "#define YY_BREAK /*LINTED*/break;", "#endif", "]])", "", @@ -1466,9 +1602,9 @@ const char *skel[] = { " */", "YY_DECL", "{", - " register yy_state_type yy_current_state;", - " register char *yy_cp, *yy_bp;", - " register int yy_act;", + " yy_state_type yy_current_state;", + " char *yy_cp, *yy_bp;", + " int yy_act;", " M4_YY_DECL_GUTS_VAR();", "", "m4_ifdef( [[M4_YY_NOT_REENTRANT]],", @@ -1483,8 +1619,6 @@ const char *skel[] = { " ]])", "]])", "", - "%% [7.0] user's declarations go here", - "", "m4_ifdef( [[M4_YY_BISON_LVAL]],", "[[", " yylval = yylval_param;", @@ -1520,7 +1654,7 @@ const char *skel[] = { " yyin = stdin;", "%endif", "%if-c++-only", - " yyin = & std::cin;", + " yyin.rdbuf(std::cin.rdbuf());", "%endif", "", " if ( ! yyout )", @@ -1528,7 +1662,7 @@ const char *skel[] = { " yyout = stdout;", "%endif", "%if-c++-only", - " yyout = & std::cout;", + " yyout.rdbuf(std::cout.rdbuf());", "%endif", "", " if ( ! YY_CURRENT_BUFFER ) {", @@ -1540,7 +1674,10 @@ const char *skel[] = { " yy_load_buffer_state( M4_YY_CALL_ONLY_ARG );", " }", "", - " while ( 1 ) /* loops until end-of-file is reached */", + " {", + "%% [7.0] user's declarations go here", + "", + " while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */", " {", "%% [8.0] yymore()-related code goes here", " yy_cp = YY_G(yy_c_buf_p);", @@ -1591,7 +1728,12 @@ const char *skel[] = { " * back-up) that will match for the new input source.", " */", " YY_G(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;", + "%if-c-only", " YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;", + "%endif", + "%if-c++-only", + " YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin.rdbuf();", + "%endif", " YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;", " }", "", @@ -1697,17 +1839,36 @@ const char *skel[] = { " \"fatal flex scanner internal error--no action found\" );", " } /* end of action switch */", " } /* end of scanning one token */", + " } /* end of user's declarations */", "} /* end of yylex */", "%ok-for-header", "", "%if-c++-only", "%not-for-header", "/* The contents of this function are C++ specific, so the YY_G macro is not used.", + " * This constructor simply maintains backward compatibility.", + " * DEPRECATED", " */", - "yyFlexLexer::yyFlexLexer( std::istream* arg_yyin, std::ostream* arg_yyout )", + "yyFlexLexer::yyFlexLexer( std::istream* arg_yyin, std::ostream* arg_yyout ):", + " yyin(arg_yyin ? arg_yyin->rdbuf() : std::cin.rdbuf()),", + " yyout(arg_yyout ? arg_yyout->rdbuf() : std::cout.rdbuf())", + "{", + " ctor_common();", + "}", + "", + "/* The contents of this function are C++ specific, so the YY_G macro is not used.", + " */", + "yyFlexLexer::yyFlexLexer( std::istream& arg_yyin, std::ostream& arg_yyout ):", + " yyin(arg_yyin.rdbuf()),", + " yyout(arg_yyout.rdbuf())", + "{", + " ctor_common();", + "}", + "", + "/* The contents of this function are C++ specific, so the YY_G macro is not used.", + " */", + "void yyFlexLexer::ctor_common()", "{", - " yyin = arg_yyin;", - " yyout = arg_yyout;", " yy_c_buf_p = 0;", " yy_init = 0;", " yy_start = 0;", @@ -1724,7 +1885,7 @@ const char *skel[] = { " yy_start_stack_ptr = yy_start_stack_depth = 0;", " yy_start_stack = NULL;", "", - " yy_buffer_stack = 0;", + " yy_buffer_stack = NULL;", " yy_buffer_stack_top = 0;", " yy_buffer_stack_max = 0;", "", @@ -1750,16 +1911,29 @@ const char *skel[] = { "", "/* The contents of this function are C++ specific, so the YY_G macro is not used.", " */", + "void yyFlexLexer::switch_streams( std::istream& new_in, std::ostream& new_out )", + "{", + " // was if( new_in )", + " yy_delete_buffer( YY_CURRENT_BUFFER M4_YY_CALL_LAST_ARG);", + " yy_switch_to_buffer( yy_create_buffer( new_in, YY_BUF_SIZE M4_YY_CALL_LAST_ARG) M4_YY_CALL_LAST_ARG);", + "", + " // was if( new_out )", + " yyout.rdbuf(new_out.rdbuf());", + "}", + "", + "/* The contents of this function are C++ specific, so the YY_G macro is not used.", + " */", "void yyFlexLexer::switch_streams( std::istream* new_in, std::ostream* new_out )", "{", - " if ( new_in )", - " {", - " yy_delete_buffer( YY_CURRENT_BUFFER M4_YY_CALL_LAST_ARG);", - " yy_switch_to_buffer( yy_create_buffer( new_in, YY_BUF_SIZE M4_YY_CALL_LAST_ARG) M4_YY_CALL_LAST_ARG);", - " }", + " if( ! new_in ) {", + " new_in = &yyin;", + " }", "", - " if ( new_out )", - " yyout = new_out;", + " if ( ! new_out ) {", + " new_out = &yyout;", + " }", + "", + " switch_streams(*new_in, *new_out);", "}", "", "#ifdef YY_INTERACTIVE", @@ -1768,33 +1942,33 @@ const char *skel[] = { "int yyFlexLexer::LexerInput( char* buf, int max_size )", "#endif", "{", - " if ( yyin->eof() || yyin->fail() )", + " if ( yyin.eof() || yyin.fail() )", " return 0;", "", "#ifdef YY_INTERACTIVE", - " yyin->get( buf[0] );", + " yyin.get( buf[0] );", "", - " if ( yyin->eof() )", + " if ( yyin.eof() )", " return 0;", "", - " if ( yyin->bad() )", + " if ( yyin.bad() )", " return -1;", "", " return 1;", "", "#else", - " (void) yyin->read( buf, max_size );", + " (void) yyin.read( buf, max_size );", "", - " if ( yyin->bad() )", + " if ( yyin.bad() )", " return -1;", " else", - " return yyin->gcount();", + " return yyin.gcount();", "#endif", "}", "", "void yyFlexLexer::LexerOutput( const char* buf, int size )", "{", - " (void) yyout->write( buf, size );", + " (void) yyout.write( buf, size );", "}", "%ok-for-header", "%endif", @@ -1809,16 +1983,16 @@ const char *skel[] = { " * EOB_ACT_END_OF_FILE - end of file", " */", "%if-c-only", - "static int yy_get_next_buffer YYFARGS0(void)", + "static int yy_get_next_buffer (M4_YY_DEF_ONLY_ARG)", "%endif", "%if-c++-only", "int yyFlexLexer::yy_get_next_buffer()", "%endif", "{", " M4_YY_DECL_GUTS_VAR();", - " register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;", - " register char *source = YY_G(yytext_ptr);", - " register int number_to_move, i;", + " char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;", + " char *source = YY_G(yytext_ptr);", + " int number_to_move, i;", " int ret_val;", "", " if ( YY_G(yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[YY_G(yy_n_chars) + 1] )", @@ -1847,7 +2021,7 @@ const char *skel[] = { " /* Try to read more data. */", "", " /* First move last chars to start of buffer. */", - " number_to_move = (int) (YY_G(yy_c_buf_p) - YY_G(yytext_ptr)) - 1;", + " number_to_move = (int) (YY_G(yy_c_buf_p) - YY_G(yytext_ptr) - 1);", "", " for ( i = 0; i < number_to_move; ++i )", " *(dest++) = *(source++);", @@ -1860,7 +2034,7 @@ const char *skel[] = { "", " else", " {", - " yy_size_t num_to_read =", + " int num_to_read =", " YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;", "", " while ( num_to_read <= 0 )", @@ -1879,7 +2053,7 @@ const char *skel[] = { "", " if ( b->yy_is_our_buffer )", " {", - " yy_size_t new_size = b->yy_buf_size * 2;", + " int new_size = b->yy_buf_size * 2;", "", " if ( new_size <= 0 )", " b->yy_buf_size += b->yy_buf_size / 8;", @@ -1889,11 +2063,11 @@ const char *skel[] = { " b->yy_ch_buf = (char *)", " /* Include room in for 2 EOB chars. */", " yyrealloc( (void *) b->yy_ch_buf,", - " b->yy_buf_size + 2 M4_YY_CALL_LAST_ARG );", + " (yy_size_t) (b->yy_buf_size + 2) M4_YY_CALL_LAST_ARG );", " }", " else", " /* Can't grow it, we don't own it. */", - " b->yy_ch_buf = 0;", + " b->yy_ch_buf = NULL;", "", " if ( ! b->yy_ch_buf )", " YY_FATAL_ERROR(", @@ -1935,13 +2109,15 @@ const char *skel[] = { " else", " ret_val = EOB_ACT_CONTINUE_SCAN;", "", - " if ((yy_size_t) (YY_G(yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {", + " if ((YY_G(yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {", " /* Extend the array by 50%, plus the number we really need. */", - " yy_size_t new_size = YY_G(yy_n_chars) + number_to_move + (YY_G(yy_n_chars) >> 1);", + " int new_size = YY_G(yy_n_chars) + number_to_move + (YY_G(yy_n_chars) >> 1);", " YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(", - " (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, new_size M4_YY_CALL_LAST_ARG );", + " (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size M4_YY_CALL_LAST_ARG );", " if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )", " YY_FATAL_ERROR( \"out of dynamic memory in yy_get_next_buffer()\" );", + " /* \"- 2\" to take care of EOB's */", + " YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);", " }", "", " YY_G(yy_n_chars) += number_to_move;", @@ -1958,14 +2134,14 @@ const char *skel[] = { "", "%if-c-only", "%not-for-header", - " static yy_state_type yy_get_previous_state YYFARGS0(void)", + " static yy_state_type yy_get_previous_state (M4_YY_DEF_ONLY_ARG)", "%endif", "%if-c++-only", " yy_state_type yyFlexLexer::yy_get_previous_state()", "%endif", "{", - " register yy_state_type yy_current_state;", - " register char *yy_cp;", + " yy_state_type yy_current_state;", + " char *yy_cp;", " M4_YY_DECL_GUTS_VAR();", "", "%% [15.0] code to get the start state into yy_current_state goes here", @@ -1991,7 +2167,7 @@ const char *skel[] = { " yy_state_type yyFlexLexer::yy_try_NUL_trans( yy_state_type yy_current_state )", "%endif", "{", - " register int yy_is_jam;", + " int yy_is_jam;", " M4_YY_DECL_GUTS_VAR(); /* This var may be unused depending upon options. */", "%% [17.0] code to find the next state, and perhaps do backing up, goes here", "", @@ -2000,16 +2176,17 @@ const char *skel[] = { "}", "", "", + "#ifndef YY_NO_UNPUT", "%if-c-only", "m4_ifdef( [[M4_YY_NO_UNPUT]],,", "[[", - " static void yyunput YYFARGS2( int,c, register char *,yy_bp)", + " static void yyunput YYFARGS2( int,c, char *,yy_bp)", "%endif", "%if-c++-only", - " void yyFlexLexer::yyunput( int c, register char* yy_bp)", + " void yyFlexLexer::yyunput( int c, char* yy_bp)", "%endif", "{", - " register char *yy_cp;", + " char *yy_cp;", " M4_YY_DECL_GUTS_VAR();", "", " yy_cp = YY_G(yy_c_buf_p);", @@ -2020,10 +2197,10 @@ const char *skel[] = { " if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )", " { /* need to shift things up to make room */", " /* +2 for EOB chars. */", - " register yy_size_t number_to_move = YY_G(yy_n_chars) + 2;", - " register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[", + " int number_to_move = YY_G(yy_n_chars) + 2;", + " char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[", " YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];", - " register char *source =", + " char *source =", " &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];", "", " while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )", @@ -2032,7 +2209,7 @@ const char *skel[] = { " yy_cp += (int) (dest - source);", " yy_bp += (int) (dest - source);", " YY_CURRENT_BUFFER_LVALUE->yy_n_chars =", - " YY_G(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;", + " YY_G(yy_n_chars) = (int) YY_CURRENT_BUFFER_LVALUE->yy_buf_size;", "", " if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )", " YY_FATAL_ERROR( \"flex scanner push-back overflow\" );", @@ -2055,13 +2232,14 @@ const char *skel[] = { "%if-c-only", "]])", "%endif", + "#endif", "", "%if-c-only", "#ifndef YY_NO_INPUT", "#ifdef __cplusplus", - " static int yyinput YYFARGS0(void)", + " static int yyinput (M4_YY_DEF_ONLY_ARG)", "#else", - " static int input YYFARGS0(void)", + " static int input (M4_YY_DEF_ONLY_ARG)", "#endif", "", "%endif", @@ -2086,7 +2264,7 @@ const char *skel[] = { "", " else", " { /* need more input */", - " yy_size_t offset = YY_G(yy_c_buf_p) - YY_G(yytext_ptr);", + " int offset = (int) (YY_G(yy_c_buf_p) - YY_G(yytext_ptr));", " ++YY_G(yy_c_buf_p);", "", " switch ( yy_get_next_buffer( M4_YY_CALL_ONLY_ARG ) )", @@ -2110,7 +2288,7 @@ const char *skel[] = { " case EOB_ACT_END_OF_FILE:", " {", " if ( yywrap( M4_YY_CALL_ONLY_ARG ) )", - " return EOF;", + " return 0;", "", " if ( ! YY_G(yy_did_buffer_switch_on_eof) )", " YY_NEW_FILE;", @@ -2149,7 +2327,7 @@ const char *skel[] = { " void yyrestart YYFARGS1( FILE *,input_file)", "%endif", "%if-c++-only", - " void yyFlexLexer::yyrestart( std::istream* input_file )", + " void yyFlexLexer::yyrestart( std::istream& input_file )", "%endif", "{", " M4_YY_DECL_GUTS_VAR();", @@ -2164,6 +2342,21 @@ const char *skel[] = { " yy_load_buffer_state( M4_YY_CALL_ONLY_ARG );", "}", "", + "%if-c++-only", + "/** Delegate to the new version that takes an istream reference.", + " * @param input_file A readable stream.", + " * M4_YY_DOC_PARAM", + " * @note This function does not reset the start condition to @c INITIAL .", + " */", + "void yyFlexLexer::yyrestart( std::istream* input_file )", + "{", + " if( ! input_file ) {", + " input_file = &yyin;", + " }", + " yyrestart( *input_file );", + "}", + "%endif", + "", "/** Switch to a different input buffer.", " * @param new_buffer The new input buffer.", " * M4_YY_DOC_PARAM", @@ -2207,7 +2400,7 @@ const char *skel[] = { "", "", "%if-c-only", - "static void yy_load_buffer_state YYFARGS0(void)", + "static void yy_load_buffer_state (M4_YY_DEF_ONLY_ARG)", "%endif", "%if-c++-only", " void yyFlexLexer::yy_load_buffer_state()", @@ -2216,7 +2409,12 @@ const char *skel[] = { " M4_YY_DECL_GUTS_VAR();", " YY_G(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;", " YY_G(yytext_ptr) = YY_G(yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;", + "%if-c-only", " yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;", + "%endif", + "%if-c++-only", + " yyin.rdbuf(YY_CURRENT_BUFFER_LVALUE->yy_input_file);", + "%endif", " YY_G(yy_hold_char) = *YY_G(yy_c_buf_p);", "}", "", @@ -2230,7 +2428,7 @@ const char *skel[] = { " YY_BUFFER_STATE yy_create_buffer YYFARGS2( FILE *,file, int ,size)", "%endif", "%if-c++-only", - " YY_BUFFER_STATE yyFlexLexer::yy_create_buffer( std::istream* file, int size )", + " YY_BUFFER_STATE yyFlexLexer::yy_create_buffer( std::istream& file, int size )", "%endif", "{", " YY_BUFFER_STATE b;", @@ -2245,7 +2443,7 @@ const char *skel[] = { " /* yy_ch_buf has to be 2 characters longer than the size given because", " * we need to put in 2 end-of-buffer characters.", " */", - " b->yy_ch_buf = (char *) yyalloc( b->yy_buf_size + 2 M4_YY_CALL_LAST_ARG );", + " b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) M4_YY_CALL_LAST_ARG );", " if ( ! b->yy_ch_buf )", " YY_FATAL_ERROR( \"out of dynamic memory in yy_create_buffer()\" );", "", @@ -2256,6 +2454,19 @@ const char *skel[] = { " return b;", "}", "", + "%if-c++-only", + "/** Delegate creation of buffers to the new version that takes an istream reference.", + " * @param file A readable stream.", + " * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.", + " * M4_YY_DOC_PARAM", + " * @return the allocated buffer state.", + " */", + " YY_BUFFER_STATE yyFlexLexer::yy_create_buffer( std::istream* file, int size )", + "{", + " return yy_create_buffer( *file, size );", + "}", + "%endif", + "", "/** Destroy the buffer.", " * @param b a buffer created with yy_create_buffer()", " * M4_YY_DOC_PARAM", @@ -2290,7 +2501,7 @@ const char *skel[] = { " static void yy_init_buffer YYFARGS2( YY_BUFFER_STATE ,b, FILE *,file)", "%endif", "%if-c++-only", - " void yyFlexLexer::yy_init_buffer( YY_BUFFER_STATE b, std::istream* file )", + " void yyFlexLexer::yy_init_buffer( YY_BUFFER_STATE b, std::istream& file )", "%endif", "", "{", @@ -2299,7 +2510,12 @@ const char *skel[] = { "", " yy_flush_buffer( b M4_YY_CALL_LAST_ARG);", "", + "%if-c-only", " b->yy_input_file = file;", + "%endif", + "%if-c++-only", + " b->yy_input_file = file.rdbuf();", + "%endif", " b->yy_fill_buffer = 1;", "", " /* If b is the current buffer, then yy_init_buffer was _probably_", @@ -2412,7 +2628,7 @@ const char *skel[] = { " * M4_YY_DOC_PARAM", " */", "%if-c-only", - "void yypop_buffer_state YYFARGS0(void)", + "void yypop_buffer_state (M4_YY_DEF_ONLY_ARG)", "%endif", "%if-c++-only", "void yyFlexLexer::yypop_buffer_state (void)", @@ -2440,7 +2656,7 @@ const char *skel[] = { " * Guarantees space for at least one push.", " */", "%if-c-only", - "static void yyensure_buffer_stack YYFARGS0(void)", + "static void yyensure_buffer_stack (M4_YY_DEF_ONLY_ARG)", "%endif", "%if-c++-only", "void yyFlexLexer::yyensure_buffer_stack(void)", @@ -2455,16 +2671,16 @@ const char *skel[] = { " * scanner will even need a stack. We use 2 instead of 1 to avoid an", " * immediate realloc on the next call.", " */", - " num_to_alloc = 1;", + " num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */", " YY_G(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc", " (num_to_alloc * sizeof(struct yy_buffer_state*)", " M4_YY_CALL_LAST_ARG);", " if ( ! YY_G(yy_buffer_stack) )", " YY_FATAL_ERROR( \"out of dynamic memory in yyensure_buffer_stack()\" );", - " ", - " ", + "", + "", " memset(YY_G(yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));", - " ", + "", " YY_G(yy_buffer_stack_max) = num_to_alloc;", " YY_G(yy_buffer_stack_top) = 0;", " return;", @@ -2473,7 +2689,7 @@ const char *skel[] = { " if (YY_G(yy_buffer_stack_top) >= (YY_G(yy_buffer_stack_max)) - 1){", "", " /* Increase the buffer to prepare for a possible push. */", - " int grow_size = 8 /* arbitrary grow size */;", + " yy_size_t grow_size = 8 /* arbitrary grow size */;", "", " num_to_alloc = YY_G(yy_buffer_stack_max) + grow_size;", " YY_G(yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc", @@ -2500,7 +2716,7 @@ const char *skel[] = { " * @param base the character buffer", " * @param size the size in bytes of the character buffer", " * M4_YY_DOC_PARAM", - " * @return the newly allocated buffer state object. ", + " * @return the newly allocated buffer state object.", " */", "YY_BUFFER_STATE yy_scan_buffer YYFARGS2( char *,base, yy_size_t ,size)", "{", @@ -2511,16 +2727,16 @@ const char *skel[] = { " base[size-2] != YY_END_OF_BUFFER_CHAR ||", " base[size-1] != YY_END_OF_BUFFER_CHAR )", " /* They forgot to leave room for the EOB's. */", - " return 0;", + " return NULL;", "", " b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) M4_YY_CALL_LAST_ARG );", " if ( ! b )", " YY_FATAL_ERROR( \"out of dynamic memory in yy_scan_buffer()\" );", "", - " b->yy_buf_size = size - 2; /* \"- 2\" to take care of EOB's */", + " b->yy_buf_size = (int) (size - 2); /* \"- 2\" to take care of EOB's */", " b->yy_buf_pos = b->yy_ch_buf = base;", " b->yy_is_our_buffer = 0;", - " b->yy_input_file = 0;", + " b->yy_input_file = NULL;", " b->yy_n_chars = b->yy_buf_size;", " b->yy_is_interactive = 0;", " b->yy_at_bol = 1;", @@ -2546,11 +2762,11 @@ const char *skel[] = { " * @note If you want to scan bytes that may contain NUL values, then use", " * yy_scan_bytes() instead.", " */", - "YY_BUFFER_STATE yy_scan_string YYFARGS1( yyconst char *, yystr)", + "YY_BUFFER_STATE yy_scan_string YYFARGS1( const char *, yystr)", "{", " m4_dnl M4_YY_DECL_GUTS_VAR();", "", - " return yy_scan_bytes( yystr, strlen(yystr) M4_YY_CALL_LAST_ARG);", + " return yy_scan_bytes( yystr, (int) strlen(yystr) M4_YY_CALL_LAST_ARG);", "}", "%endif", "]])", @@ -2566,7 +2782,7 @@ const char *skel[] = { " * M4_YY_DOC_PARAM", " * @return the newly allocated buffer state object.", " */", - "YY_BUFFER_STATE yy_scan_bytes YYFARGS2( yyconst char *,yybytes, yy_size_t ,_yybytes_len)", + "YY_BUFFER_STATE yy_scan_bytes YYFARGS2( const char *,yybytes, int ,_yybytes_len)", "{", " YY_BUFFER_STATE b;", " char *buf;", @@ -2575,7 +2791,7 @@ const char *skel[] = { " m4_dnl M4_YY_DECL_GUTS_VAR();", "", " /* Get memory for full buffer, including space for trailing EOB's. */", - " n = _yybytes_len + 2;", + " n = (yy_size_t) (_yybytes_len + 2);", " buf = (char *) yyalloc( n M4_YY_CALL_LAST_ARG );", " if ( ! buf )", " YY_FATAL_ERROR( \"out of dynamic memory in yy_scan_bytes()\" );", @@ -2603,10 +2819,10 @@ const char *skel[] = { "m4_ifdef( [[M4_YY_NO_PUSH_STATE]],,", "[[", "%if-c-only", - " static void yy_push_state YYFARGS1( int ,new_state)", + " static void yy_push_state YYFARGS1( int ,_new_state)", "%endif", "%if-c++-only", - " void yyFlexLexer::yy_push_state( int new_state )", + " void yyFlexLexer::yy_push_state( int _new_state )", "%endif", "{", " M4_YY_DECL_GUTS_VAR();", @@ -2615,7 +2831,7 @@ const char *skel[] = { " yy_size_t new_size;", "", " YY_G(yy_start_stack_depth) += YY_START_STACK_INCR;", - " new_size = YY_G(yy_start_stack_depth) * sizeof( int );", + " new_size = (yy_size_t) YY_G(yy_start_stack_depth) * sizeof( int );", "", " if ( ! YY_G(yy_start_stack) )", " YY_G(yy_start_stack) = (int *) yyalloc( new_size M4_YY_CALL_LAST_ARG );", @@ -2630,7 +2846,7 @@ const char *skel[] = { "", " YY_G(yy_start_stack)[YY_G(yy_start_stack_ptr)++] = YY_START;", "", - " BEGIN(new_state);", + " BEGIN(_new_state);", "}", "]])", "", @@ -2638,7 +2854,7 @@ const char *skel[] = { "m4_ifdef( [[M4_YY_NO_POP_STATE]],,", "[[", "%if-c-only", - " static void yy_pop_state YYFARGS0(void)", + " static void yy_pop_state (M4_YY_DEF_ONLY_ARG)", "%endif", "%if-c++-only", " void yyFlexLexer::yy_pop_state()", @@ -2656,7 +2872,7 @@ const char *skel[] = { "m4_ifdef( [[M4_YY_NO_TOP_STATE]],,", "[[", "%if-c-only", - " static int yy_top_state YYFARGS0(void)", + " static int yy_top_state (M4_YY_DEF_ONLY_ARG)", "%endif", "%if-c++-only", " int yyFlexLexer::yy_top_state()", @@ -2672,15 +2888,16 @@ const char *skel[] = { "#endif", "", "%if-c-only", - "static void yy_fatal_error YYFARGS1(yyconst char*, msg)", + "static void yynoreturn yy_fatal_error YYFARGS1(const char*, msg)", "{", - " m4_dnl M4_YY_DECL_GUTS_VAR();", - " (void) fprintf( stderr, \"%s\\n\", msg );", + " M4_YY_DECL_GUTS_VAR();", + " M4_YY_NOOP_GUTS_VAR();", + " fprintf( stderr, \"%s\\n\", msg );", " exit( YY_EXIT_FAILURE );", "}", "%endif", "%if-c++-only", - "void yyFlexLexer::LexerError( yyconst char msg[] )", + "void yyFlexLexer::LexerError( const char* msg )", "{", " M4_YY_DECL_GUTS_VAR();", " std::cerr << msg << std::endl;", @@ -2716,7 +2933,7 @@ const char *skel[] = { "/** Get the user-defined data for this scanner.", " * M4_YY_DOC_PARAM", " */", - "YY_EXTRA_TYPE yyget_extra YYFARGS0(void)", + "YY_EXTRA_TYPE yyget_extra (M4_YY_DEF_ONLY_ARG)", "{", " M4_YY_DECL_GUTS_VAR();", " return yyextra;", @@ -2729,10 +2946,10 @@ const char *skel[] = { "/** Get the current line number.", " * M4_YY_DOC_PARAM", " */", - "int yyget_lineno YYFARGS0(void)", + "int yyget_lineno (M4_YY_DEF_ONLY_ARG)", "{", " M4_YY_DECL_GUTS_VAR();", - " ", + "", " m4_ifdef( [[M4_YY_REENTRANT]],", " [[", " if (! YY_CURRENT_BUFFER)", @@ -2749,10 +2966,10 @@ const char *skel[] = { "/** Get the current column number.", " * M4_YY_DOC_PARAM", " */", - "int yyget_column YYFARGS0(void)", + "int yyget_column (M4_YY_DEF_ONLY_ARG)", "{", " M4_YY_DECL_GUTS_VAR();", - " ", + "", " m4_ifdef( [[M4_YY_REENTRANT]],", " [[", " if (! YY_CURRENT_BUFFER)", @@ -2768,7 +2985,7 @@ const char *skel[] = { "/** Get the input stream.", " * M4_YY_DOC_PARAM", " */", - "FILE *yyget_in YYFARGS0(void)", + "FILE *yyget_in (M4_YY_DEF_ONLY_ARG)", "{", " M4_YY_DECL_GUTS_VAR();", " return yyin;", @@ -2780,7 +2997,7 @@ const char *skel[] = { "/** Get the output stream.", " * M4_YY_DOC_PARAM", " */", - "FILE *yyget_out YYFARGS0(void)", + "FILE *yyget_out (M4_YY_DEF_ONLY_ARG)", "{", " M4_YY_DECL_GUTS_VAR();", " return yyout;", @@ -2792,7 +3009,7 @@ const char *skel[] = { "/** Get the length of the current token.", " * M4_YY_DOC_PARAM", " */", - "yy_size_t yyget_leng YYFARGS0(void)", + "int yyget_leng (M4_YY_DEF_ONLY_ARG)", "{", " M4_YY_DECL_GUTS_VAR();", " return yyleng;", @@ -2804,7 +3021,7 @@ const char *skel[] = { " */", "m4_ifdef( [[M4_YY_NO_GET_TEXT]],,", "[[", - "char *yyget_text YYFARGS0(void)", + "char *yyget_text (M4_YY_DEF_ONLY_ARG)", "{", " M4_YY_DECL_GUTS_VAR();", " return yytext;", @@ -2829,10 +3046,10 @@ const char *skel[] = { "m4_ifdef( [[M4_YY_NO_SET_LINENO]],,", "[[", "/** Set the current line number.", - " * @param line_number", + " * @param _line_number line number", " * M4_YY_DOC_PARAM", " */", - "void yyset_lineno YYFARGS1( int ,line_number)", + "void yyset_lineno YYFARGS1( int ,_line_number)", "{", " M4_YY_DECL_GUTS_VAR();", "", @@ -2842,7 +3059,7 @@ const char *skel[] = { " if (! YY_CURRENT_BUFFER )", " YY_FATAL_ERROR( \"yyset_lineno called with no buffer\" );", " ]])", - " yylineno = line_number;", + " yylineno = _line_number;", "}", "]])", "", @@ -2851,10 +3068,10 @@ const char *skel[] = { "m4_ifdef( [[M4_YY_NO_SET_COLUMN]],,", "[[", "/** Set the current column.", - " * @param line_number", + " * @param _column_no column number", " * M4_YY_DOC_PARAM", " */", - "void yyset_column YYFARGS1( int , column_no)", + "void yyset_column YYFARGS1( int , _column_no)", "{", " M4_YY_DECL_GUTS_VAR();", "", @@ -2864,7 +3081,7 @@ const char *skel[] = { " if (! YY_CURRENT_BUFFER )", " YY_FATAL_ERROR( \"yyset_column called with no buffer\" );", " ]])", - " yycolumn = column_no;", + " yycolumn = _column_no;", "}", "]])", "]])", @@ -2874,30 +3091,30 @@ const char *skel[] = { "[[", "/** Set the input stream. This does not discard the current", " * input buffer.", - " * @param in_str A readable stream.", + " * @param _in_str A readable stream.", " * M4_YY_DOC_PARAM", " * @see yy_switch_to_buffer", " */", - "void yyset_in YYFARGS1( FILE * ,in_str)", + "void yyset_in YYFARGS1( FILE * ,_in_str)", "{", " M4_YY_DECL_GUTS_VAR();", - " yyin = in_str ;", + " yyin = _in_str ;", "}", "]])", "", "m4_ifdef( [[M4_YY_NO_SET_OUT]],,", "[[", - "void yyset_out YYFARGS1( FILE * ,out_str)", + "void yyset_out YYFARGS1( FILE * ,_out_str)", "{", " M4_YY_DECL_GUTS_VAR();", - " yyout = out_str ;", + " yyout = _out_str ;", "}", "]])", "", "", "m4_ifdef( [[M4_YY_NO_GET_DEBUG]],,", "[[", - "int yyget_debug YYFARGS0(void)", + "int yyget_debug (M4_YY_DEF_ONLY_ARG)", "{", " M4_YY_DECL_GUTS_VAR();", " return yy_flex_debug;", @@ -2906,10 +3123,10 @@ const char *skel[] = { "", "m4_ifdef( [[M4_YY_NO_SET_DEBUG]],,", "[[", - "void yyset_debug YYFARGS1( int ,bdebug)", + "void yyset_debug YYFARGS1( int ,_bdebug)", "{", " M4_YY_DECL_GUTS_VAR();", - " yy_flex_debug = bdebug ;", + " yy_flex_debug = _bdebug ;", "}", "]])", "%endif", @@ -2920,7 +3137,7 @@ const char *skel[] = { "%if-bison-bridge", "m4_ifdef( [[M4_YY_NO_GET_LVAL]],,", "[[", - "YYSTYPE * yyget_lval YYFARGS0(void)", + "YYSTYPE * yyget_lval (M4_YY_DEF_ONLY_ARG)", "{", " M4_YY_DECL_GUTS_VAR();", " return yylval;", @@ -2940,7 +3157,7 @@ const char *skel[] = { "[[", " m4_ifdef( [[M4_YY_NO_GET_LLOC]],,", " [[", - "YYLTYPE *yyget_lloc YYFARGS0(void)", + "YYLTYPE *yyget_lloc (M4_YY_DEF_ONLY_ARG)", "{", " M4_YY_DECL_GUTS_VAR();", " return yylloc;", @@ -2966,14 +3183,7 @@ const char *skel[] = { " * the ONLY reentrant function that doesn't take the scanner as the last argument.", " * That's why we explicitly handle the declaration, instead of using our macros.", " */", - "m4_ifdef( [[M4_YY_NO_ANSI_FUNC_DEFS]],", - "[[", - "int yylex_init( ptr_yy_globals )", - " yyscan_t* ptr_yy_globals;", - "]],", - "[[", "int yylex_init(yyscan_t* ptr_yy_globals)", - "]])", "{", " if (ptr_yy_globals == NULL){", " errno = EINVAL;", @@ -3001,15 +3211,7 @@ const char *skel[] = { " * The user defined value in the first argument will be available to yyalloc in", " * the yyextra field.", " */", - "m4_ifdef( [[M4_YY_NO_ANSI_FUNC_DEFS]],", - "[[", - "int yylex_init_extra( yy_user_defined, ptr_yy_globals )", - " YY_EXTRA_TYPE yy_user_defined;", - " yyscan_t* ptr_yy_globals;", - "]],", - "[[", "int yylex_init_extra( YY_EXTRA_TYPE yy_user_defined, yyscan_t* ptr_yy_globals )", - "]])", "{", " struct yyguts_t dummy_yyguts;", "", @@ -3019,28 +3221,27 @@ const char *skel[] = { " errno = EINVAL;", " return 1;", " }", - " ", + "", " *ptr_yy_globals = (yyscan_t) yyalloc ( sizeof( struct yyguts_t ), &dummy_yyguts );", - " ", + "", " if (*ptr_yy_globals == NULL){", " errno = ENOMEM;", " return 1;", " }", - " ", + "", " /* By setting to 0xAA, we expose bugs in", " yy_init_globals. Leave at 0x00 for releases. */", " memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t));", - " ", + "", " yyset_extra (yy_user_defined, *ptr_yy_globals);", - " ", + "", " return yy_init_globals ( *ptr_yy_globals );", "}", "", "%endif if-c-only", "", - "", "%if-c-only", - "static int yy_init_globals YYFARGS0(void)", + "static int yy_init_globals (M4_YY_DEF_ONLY_ARG)", "{", " M4_YY_DECL_GUTS_VAR();", " /* Initialization is the same as for the non-reentrant scanner.", @@ -3055,10 +3256,10 @@ const char *skel[] = { " yylineno = 1;", " ]])", "]])", - " YY_G(yy_buffer_stack) = 0;", + " YY_G(yy_buffer_stack) = NULL;", " YY_G(yy_buffer_stack_top) = 0;", " YY_G(yy_buffer_stack_max) = 0;", - " YY_G(yy_c_buf_p) = (char *) 0;", + " YY_G(yy_c_buf_p) = NULL;", " YY_G(yy_init) = 0;", " YY_G(yy_start) = 0;", "", @@ -3089,8 +3290,8 @@ const char *skel[] = { " yyin = stdin;", " yyout = stdout;", "#else", - " yyin = (FILE *) 0;", - " yyout = (FILE *) 0;", + " yyin = NULL;", + " yyout = NULL;", "#endif", "", " /* For future reference: Set errno on error, since we are called by", @@ -3103,7 +3304,7 @@ const char *skel[] = { "", "%if-c-only SNIP! this currently causes conflicts with the c++ scanner", "/* yylex_destroy is for both reentrant and non-reentrant scanners. */", - "int yylex_destroy YYFARGS0(void)", + "int yylex_destroy (M4_YY_DEF_ONLY_ARG)", "{", " M4_YY_DECL_GUTS_VAR();", "", @@ -3155,9 +3356,12 @@ const char *skel[] = { "m4_ifdef( [[M4_YY_NOT_IN_HEADER]],", "[[", "#ifndef yytext_ptr", - "static void yy_flex_strncpy YYFARGS3( char*,s1, yyconst char *,s2, int,n)", + "static void yy_flex_strncpy YYFARGS3( char*,s1, const char *,s2, int,n)", "{", - " register int i;", + " M4_YY_DECL_GUTS_VAR();", + " M4_YY_NOOP_GUTS_VAR();", + "", + " int i;", " for ( i = 0; i < n; ++i )", " s1[i] = s2[i];", "}", @@ -3167,9 +3371,9 @@ const char *skel[] = { "m4_ifdef( [[M4_YY_NOT_IN_HEADER]],", "[[", "#ifdef YY_NEED_STRLEN", - "static int yy_flex_strlen YYFARGS1( yyconst char *,s)", + "static int yy_flex_strlen YYFARGS1( const char *,s)", "{", - " register int n;", + " int n;", " for ( n = 0; s[n]; ++n )", " ;", "", @@ -3182,7 +3386,9 @@ const char *skel[] = { "[[", "void *yyalloc YYFARGS1( yy_size_t ,size)", "{", - " return (void *) malloc( size );", + " M4_YY_DECL_GUTS_VAR();", + " M4_YY_NOOP_GUTS_VAR();", + " return malloc(size);", "}", "]])", "", @@ -3190,6 +3396,9 @@ const char *skel[] = { "[[", "void *yyrealloc YYFARGS2( void *,ptr, yy_size_t ,size)", "{", + " M4_YY_DECL_GUTS_VAR();", + " M4_YY_NOOP_GUTS_VAR();", + "", " /* The cast to (char *) in the following accommodates both", " * implementations that use char* generic pointers, and those", " * that use void* generic pointers. It works with the latter", @@ -3197,7 +3406,7 @@ const char *skel[] = { " * any pointer type to void*, and deal with argument conversions", " * as though doing an assignment.", " */", - " return (void *) realloc( (char *) ptr, size );", + " return realloc(ptr, size);", "}", "]])", "", @@ -3205,6 +3414,8 @@ const char *skel[] = { "[[", "void yyfree YYFARGS1( void *,ptr)", "{", + " M4_YY_DECL_GUTS_VAR();", + " M4_YY_NOOP_GUTS_VAR();", " free( (char *) ptr ); /* see yyrealloc() for (char *) cast */", "}", "]])", @@ -3264,12 +3475,12 @@ const char *skel[] = { "", "/** Get the number of integers in this table. This is NOT the", " * same thing as the number of elements.", - " * @param td the table ", + " * @param tbl the table", " * @return the number of integers in the table", " */", "yyskel_static flex_int32_t yytbl_calc_total_len (const struct yytbl_data *tbl)", "{", - " flex_int32_t n;", + " flex_uint32_t n;", "", " /* total number of ints */", " n = tbl->td_lolen;", @@ -3278,7 +3489,7 @@ const char *skel[] = { "", " if (tbl->td_id == YYTD_ID_TRANSITION)", " n *= 2;", - " return n;", + " return (flex_int32_t) n;", "}", "", "", @@ -3289,7 +3500,7 @@ const char *skel[] = { " errno = EIO;", " return -1;", " }", - " rd->bread += sizeof(flex_uint8_t);", + " rd->bread += (flex_uint32_t) sizeof(flex_uint8_t);", " return 0;", "}", "", @@ -3301,7 +3512,7 @@ const char *skel[] = { " return -1;", " }", " *((flex_uint16_t *) v) = ntohs (*((flex_uint16_t *) v));", - " rd->bread += sizeof(flex_uint16_t);", + " rd->bread += (flex_uint32_t) sizeof(flex_uint16_t);", " return 0;", "}", "", @@ -3313,14 +3524,14 @@ const char *skel[] = { " return -1;", " }", " *((flex_uint32_t *) v) = ntohl (*((flex_uint32_t *) v));", - " rd->bread += sizeof(flex_uint32_t);", + " rd->bread += (flex_uint32_t) sizeof(flex_uint32_t);", " return 0;", "}", "", "/** Read the header */", "static int yytbl_hdr_read YYFARGS2(struct yytbl_hdr *, th, struct yytbl_reader *, rd)", "{", - " int bytes;", + " size_t bytes;", " memset (th, 0, sizeof (struct yytbl_hdr));", "", " if (yytbl_read32 (&(th->th_magic), rd) != 0)", @@ -3356,7 +3567,7 @@ const char *skel[] = { " return -1;", " }", " else", - " rd->bread += bytes;", + " rd->bread += (flex_uint32_t) bytes;", "", " th->th_name = th->th_version + strlen (th->th_version) + 1;", " return 0;", @@ -3369,15 +3580,18 @@ const char *skel[] = { "static struct yytbl_dmap *yytbl_dmap_lookup YYFARGS2(struct yytbl_dmap *, dmap,", " int, id)", "{", + " M4_YY_DECL_GUTS_VAR();", + " M4_YY_NOOP_GUTS_VAR();", + "", " while (dmap->dm_id)", - " if (dmap->dm_id == id)", + " if ((int)(dmap->dm_id) == id)", " return dmap;", " else", " dmap++;", " return NULL;", "}", "", - "/** Read a table while mapping its contents to the local array. ", + "/** Read a table while mapping its contents to the local array.", " * @param dmap used to performing mapping", " * @return 0 on success", " */", @@ -3422,7 +3636,7 @@ const char *skel[] = { "", " if(M4_YY_TABLES_VERIFY)", " /* We point to the array itself */", - " p = dmap->dm_arr; ", + " p = dmap->dm_arr;", " else", " /* We point to the address of a pointer. */", " *dmap->dm_arr = p = (void *) yyalloc (bytes M4_YY_CALL_LAST_ARG);", @@ -3469,7 +3683,7 @@ const char *skel[] = { " rv = yytbl_read8 (&t8, rd);", " t32 = t8;", " break;", - " default: ", + " default:", " YY_FATAL_ERROR( \"invalid td_flags\" ); /* TODO: not fatal. */", " return -1;", " }", @@ -3526,7 +3740,7 @@ const char *skel[] = { " YY_FATAL_ERROR( \"transition table not found\" ); /* TODO: not fatal. */", " return -1;", " }", - " ", + "", " if( M4_YY_TABLES_VERIFY)", " v = &(((struct yy_trans_info *) (transdmap->dm_arr))[t32]);", " else", @@ -3537,7 +3751,7 @@ const char *skel[] = { " YY_FATAL_ERROR( \"tables verification failed at YYTD_PTRANS\" );", " }else", " ((struct yy_trans_info **) p)[0] = v;", - " ", + "", " /* increment p */", " p = (struct yy_trans_info **) p + 1;", " }", @@ -3652,8 +3866,8 @@ const char *skel[] = { "}", "", "/** Destroy the loaded tables, freeing memory, etc.. */", - "int yytables_destroy YYFARGS0(void)", - "{ ", + "int yytables_destroy (M4_YY_DEF_ONLY_ARG)", + "{", " struct yytbl_dmap *dmap=0;", "", " if(!M4_YY_TABLES_VERIFY){", @@ -3676,7 +3890,7 @@ const char *skel[] = { "", "", "m4_ifdef([[M4_YY_MAIN]], [[", - "int main M4_YY_PARAMS(void);", + "int main (void);", "", "int main ()", "{", @@ -3710,6 +3924,151 @@ const char *skel[] = { "#undef YY_DECL_IS_OURS", "#undef YY_DECL", "#endif", + "", + "[[#ifndef ]]M4_YY_PREFIX[[_create_buffer_ALREADY_DEFINED", + "#undef yy_create_buffer", + "#endif]]", + "[[#ifndef ]]M4_YY_PREFIX[[_delete_buffer_ALREADY_DEFINED", + "#undef yy_delete_buffer", + "#endif]]", + "[[#ifndef ]]M4_YY_PREFIX[[_scan_buffer_ALREADY_DEFINED", + "#undef yy_scan_buffer", + "#endif]]", + "[[#ifndef ]]M4_YY_PREFIX[[_scan_string_ALREADY_DEFINED", + "#undef yy_scan_string", + "#endif]]", + "[[#ifndef ]]M4_YY_PREFIX[[_scan_bytes_ALREADY_DEFINED", + "#undef yy_scan_bytes", + "#endif]]", + "[[#ifndef ]]M4_YY_PREFIX[[_init_buffer_ALREADY_DEFINED", + "#undef yy_init_buffer", + "#endif]]", + "[[#ifndef ]]M4_YY_PREFIX[[_flush_buffer_ALREADY_DEFINED", + "#undef yy_flush_buffer", + "#endif]]", + "[[#ifndef ]]M4_YY_PREFIX[[_load_buffer_state_ALREADY_DEFINED", + "#undef yy_load_buffer_state", + "#endif]]", + "[[#ifndef ]]M4_YY_PREFIX[[_switch_to_buffer_ALREADY_DEFINED", + "#undef yy_switch_to_buffer", + "#endif]]", + "[[#ifndef ]]M4_YY_PREFIX[[push_buffer_state_ALREADY_DEFINED", + "#undef yypush_buffer_state", + "#endif]]", + "[[#ifndef ]]M4_YY_PREFIX[[pop_buffer_state_ALREADY_DEFINED", + "#undef yypop_buffer_state", + "#endif]]", + "[[#ifndef ]]M4_YY_PREFIX[[ensure_buffer_stack_ALREADY_DEFINED", + "#undef yyensure_buffer_stack", + "#endif]]", + "[[#ifndef ]]M4_YY_PREFIX[[lex_ALREADY_DEFINED", + "#undef yylex", + "#endif]]", + "[[#ifndef ]]M4_YY_PREFIX[[restart_ALREADY_DEFINED", + "#undef yyrestart", + "#endif]]", + "[[#ifndef ]]M4_YY_PREFIX[[lex_init_ALREADY_DEFINED", + "#undef yylex_init", + "#endif]]", + "[[#ifndef ]]M4_YY_PREFIX[[lex_init_extra_ALREADY_DEFINED", + "#undef yylex_init_extra", + "#endif]]", + "[[#ifndef ]]M4_YY_PREFIX[[lex_destroy_ALREADY_DEFINED", + "#undef yylex_destroy", + "#endif]]", + "[[#ifndef ]]M4_YY_PREFIX[[get_debug_ALREADY_DEFINED", + "#undef yyget_debug", + "#endif]]", + "[[#ifndef ]]M4_YY_PREFIX[[set_debug_ALREADY_DEFINED", + "#undef yyset_debug", + "#endif]]", + "[[#ifndef ]]M4_YY_PREFIX[[get_extra_ALREADY_DEFINED", + "#undef yyget_extra", + "#endif]]", + "[[#ifndef ]]M4_YY_PREFIX[[set_extra_ALREADY_DEFINED", + "#undef yyset_extra", + "#endif]]", + "[[#ifndef ]]M4_YY_PREFIX[[get_in_ALREADY_DEFINED", + "#undef yyget_in", + "#endif]]", + "[[#ifndef ]]M4_YY_PREFIX[[set_in_ALREADY_DEFINED", + "#undef yyset_in", + "#endif]]", + "[[#ifndef ]]M4_YY_PREFIX[[get_out_ALREADY_DEFINED", + "#undef yyget_out", + "#endif]]", + "[[#ifndef ]]M4_YY_PREFIX[[set_out_ALREADY_DEFINED", + "#undef yyset_out", + "#endif]]", + "[[#ifndef ]]M4_YY_PREFIX[[get_leng_ALREADY_DEFINED", + "#undef yyget_leng", + "#endif]]", + "[[#ifndef ]]M4_YY_PREFIX[[get_text_ALREADY_DEFINED", + "#undef yyget_text", + "#endif]]", + "[[#ifndef ]]M4_YY_PREFIX[[get_lineno_ALREADY_DEFINED", + "#undef yyget_lineno", + "#endif]]", + "[[#ifndef ]]M4_YY_PREFIX[[set_lineno_ALREADY_DEFINED", + "#undef yyset_lineno", + "#endif]]", + "[[#ifndef ]]M4_YY_PREFIX[[get_column_ALREADY_DEFINED", + "#undef yyget_column", + "#endif]]", + "[[#ifndef ]]M4_YY_PREFIX[[set_column_ALREADY_DEFINED", + "#undef yyset_column", + "#endif]]", + "[[#ifndef ]]M4_YY_PREFIX[[wrap_ALREADY_DEFINED", + "#undef yywrap", + "#endif]]", + "[[#ifndef ]]M4_YY_PREFIX[[get_lval_ALREADY_DEFINED", + "#undef yyget_lval", + "#endif]]", + "[[#ifndef ]]M4_YY_PREFIX[[set_lval_ALREADY_DEFINED", + "#undef yyset_lval", + "#endif]]", + "[[#ifndef ]]M4_YY_PREFIX[[get_lloc_ALREADY_DEFINED", + "#undef yyget_lloc", + "#endif]]", + "[[#ifndef ]]M4_YY_PREFIX[[set_lloc_ALREADY_DEFINED", + "#undef yyset_lloc", + "#endif]]", + "[[#ifndef ]]M4_YY_PREFIX[[alloc_ALREADY_DEFINED", + "#undef yyalloc", + "#endif]]", + "[[#ifndef ]]M4_YY_PREFIX[[realloc_ALREADY_DEFINED", + "#undef yyrealloc", + "#endif]]", + "[[#ifndef ]]M4_YY_PREFIX[[free_ALREADY_DEFINED", + "#undef yyfree", + "#endif]]", + "[[#ifndef ]]M4_YY_PREFIX[[text_ALREADY_DEFINED", + "#undef yytext", + "#endif]]", + "[[#ifndef ]]M4_YY_PREFIX[[leng_ALREADY_DEFINED", + "#undef yyleng", + "#endif]]", + "[[#ifndef ]]M4_YY_PREFIX[[in_ALREADY_DEFINED", + "#undef yyin", + "#endif]]", + "[[#ifndef ]]M4_YY_PREFIX[[out_ALREADY_DEFINED", + "#undef yyout", + "#endif]]", + "[[#ifndef ]]M4_YY_PREFIX[[_flex_debug_ALREADY_DEFINED", + "#undef yy_flex_debug", + "#endif]]", + "[[#ifndef ]]M4_YY_PREFIX[[lineno_ALREADY_DEFINED", + "#undef yylineno", + "#endif]]", + "[[#ifndef ]]M4_YY_PREFIX[[tables_fload_ALREADY_DEFINED", + "#undef yytables_fload", + "#endif]]", + "[[#ifndef ]]M4_YY_PREFIX[[tables_destroy_ALREADY_DEFINED", + "#undef yytables_destroy", + "#endif]]", + "[[#ifndef ]]M4_YY_PREFIX[[TABLES_NAME_ALREADY_DEFINED", + "#undef yyTABLES_NAME", + "#endif]]", "]])", 0 }; diff --git a/sym.c b/src/sym.c similarity index 72% rename from sym.c rename to src/sym.c index 8d0b2e9e6f68..14fb161ad245 100644 --- a/sym.c +++ b/src/sym.c @@ -59,12 +59,10 @@ static struct hash_entry *ccltab[CCL_HASH_SIZE]; /* declare functions that have forward references */ -static int addsym PROTO ((register char[], char *, int, hash_table, int)); -static struct hash_entry *findsym PROTO ((register const char *sym, - hash_table table, - - int table_size)); -static int hashfunct PROTO ((register const char *, int)); +static int addsym(char[], char *, int, hash_table, int); +static struct hash_entry *findsym (const char *sym, hash_table table, + int table_size); +static int hashfunct(const char *, int); /* addsym - add symbol and definitions to symbol table @@ -72,17 +70,12 @@ static int hashfunct PROTO ((register const char *, int)); * -1 is returned if the symbol already exists, and the change not made. */ -static int addsym (sym, str_def, int_def, table, table_size) - register char sym[]; - char *str_def; - int int_def; - hash_table table; - int table_size; +static int addsym (char sym[], char *str_def, int int_def, hash_table table, int table_size) { - int hash_val = hashfunct (sym, table_size); - register struct hash_entry *sym_entry = table[hash_val]; - register struct hash_entry *new_entry; - register struct hash_entry *successor; + int hash_val = hashfunct (sym, table_size); + struct hash_entry *sym_entry = table[hash_val]; + struct hash_entry *new_entry; + struct hash_entry *successor; while (sym_entry) { if (!strcmp (sym, sym_entry->name)) { /* entry already exists */ @@ -93,8 +86,7 @@ static int addsym (sym, str_def, int_def, table, table_size) } /* create new entry */ - new_entry = (struct hash_entry *) - flex_alloc (sizeof (struct hash_entry)); + new_entry = malloc(sizeof(struct hash_entry)); if (new_entry == NULL) flexfatal (_("symbol table memory allocation failed")); @@ -119,15 +111,13 @@ static int addsym (sym, str_def, int_def, table, table_size) /* cclinstal - save the text of a character class */ -void cclinstal (ccltxt, cclnum) - Char ccltxt[]; - int cclnum; +void cclinstal (char ccltxt[], int cclnum) { /* We don't bother checking the return status because we are not * called unless the symbol is new. */ - (void) addsym ((char *) copy_unsigned_string (ccltxt), + (void) addsym (xstrdup(ccltxt), (char *) 0, cclnum, ccltab, CCL_HASH_SIZE); } @@ -137,25 +127,20 @@ void cclinstal (ccltxt, cclnum) * Returns 0 if there's no CCL associated with the text. */ -int ccllookup (ccltxt) - Char ccltxt[]; +int ccllookup (char ccltxt[]) { - return findsym ((char *) ccltxt, ccltab, CCL_HASH_SIZE)->int_val; + return findsym (ccltxt, ccltab, CCL_HASH_SIZE)->int_val; } /* findsym - find symbol in symbol table */ -static struct hash_entry *findsym (sym, table, table_size) - register const char *sym; - hash_table table; - int table_size; +static struct hash_entry *findsym (const char *sym, hash_table table, int table_size) { static struct hash_entry empty_entry = { - (struct hash_entry *) 0, (struct hash_entry *) 0, - (char *) 0, (char *) 0, 0, + NULL, NULL, NULL, NULL, 0, }; - register struct hash_entry *sym_entry = + struct hash_entry *sym_entry = table[hashfunct (sym, table_size)]; @@ -170,12 +155,10 @@ static struct hash_entry *findsym (sym, table, table_size) /* hashfunct - compute the hash value for "str" and hash size "hash_size" */ -static int hashfunct (str, hash_size) - register const char *str; - int hash_size; +static int hashfunct (const char *str, int hash_size) { - register int hashval; - register int locstr; + int hashval; + int locstr; hashval = 0; locstr = 0; @@ -191,13 +174,11 @@ static int hashfunct (str, hash_size) /* ndinstal - install a name definition */ -void ndinstal (name, definition) - const char *name; - Char definition[]; +void ndinstal (const char *name, char definition[]) { - if (addsym (copy_string (name), - (char *) copy_unsigned_string (definition), 0, + if (addsym (xstrdup(name), + xstrdup(definition), 0, ndtbl, NAME_TABLE_HASH_SIZE)) synerr (_("name defined twice")); } @@ -208,16 +189,15 @@ void ndinstal (name, definition) * Returns a nil pointer if the name definition does not exist. */ -Char *ndlookup (nd) - const char *nd; +char *ndlookup (const char *nd) { - return (Char *) findsym (nd, ndtbl, NAME_TABLE_HASH_SIZE)->str_val; + return findsym (nd, ndtbl, NAME_TABLE_HASH_SIZE)->str_val; } /* scextend - increase the maximum number of start conditions */ -void scextend () +void scextend (void) { current_max_scs += MAX_SCS_INCREMENT; @@ -237,17 +217,15 @@ void scextend () * The start condition is "exclusive" if xcluflg is true. */ -void scinstal (str, xcluflg) - const char *str; - int xcluflg; +void scinstal (const char *str, int xcluflg) { if (++lastsc >= current_max_scs) scextend (); - scname[lastsc] = copy_string (str); + scname[lastsc] = xstrdup(str); - if (addsym (scname[lastsc], (char *) 0, lastsc, + if (addsym(scname[lastsc], NULL, lastsc, sctbl, START_COND_HASH_SIZE)) format_pinpoint_message (_ ("start condition %s declared twice"), @@ -265,8 +243,7 @@ str); * Returns 0 if no such start condition. */ -int sclookup (str) - const char *str; +int sclookup (const char *str) { return findsym (str, sctbl, START_COND_HASH_SIZE)->int_val; } diff --git a/tables.c b/src/tables.c similarity index 87% rename from tables.c rename to src/tables.c index f3f056faedac..980d2e96f86e 100644 --- a/tables.c +++ b/src/tables.c @@ -55,7 +55,7 @@ int yytbl_write32 (struct yytbl_writer *wr, flex_uint32_t v); int yytbl_write16 (struct yytbl_writer *wr, flex_uint16_t v); int yytbl_write8 (struct yytbl_writer *wr, flex_uint8_t v); -int yytbl_writen (struct yytbl_writer *wr, void *v, flex_int32_t len); +int yytbl_writen (struct yytbl_writer *wr, void *v, int len); static flex_int32_t yytbl_data_geti (const struct yytbl_data *tbl, int i); /* XXX Not used static flex_int32_t yytbl_data_getijk (const struct yytbl_data *tbl, int i, @@ -65,7 +65,7 @@ static flex_int32_t yytbl_data_getijk (const struct yytbl_data *tbl, int i, /** Initialize the table writer. * @param wr an uninitialized writer - * @param the output file + * @param out the output file * @return 0 on success */ int yytbl_writer_init (struct yytbl_writer *wr, FILE * out) @@ -86,17 +86,17 @@ int yytbl_hdr_init (struct yytbl_hdr *th, const char *version_str, memset (th, 0, sizeof (struct yytbl_hdr)); th->th_magic = YYTBL_MAGIC; - th->th_hsize = 14 + strlen (version_str) + 1 + strlen (name) + 1; + th->th_hsize = (flex_uint32_t) (14 + strlen (version_str) + 1 + strlen (name) + 1); th->th_hsize += yypad64 (th->th_hsize); th->th_ssize = 0; // Not known at this point. th->th_flags = 0; - th->th_version = copy_string (version_str); - th->th_name = copy_string (name); + th->th_version = xstrdup(version_str); + th->th_name = xstrdup(name); return 0; } /** Allocate and initialize a table data structure. - * @param tbl a pointer to an uninitialized table + * @param td a pointer to an uninitialized table * @param id the table identifier * @return 0 on success */ @@ -115,8 +115,7 @@ int yytbl_data_init (struct yytbl_data *td, enum yytbl_id id) */ int yytbl_data_destroy (struct yytbl_data *td) { - if (td->td_data) - free (td->td_data); + free(td->td_data); td->td_data = 0; free (td); return 0; @@ -137,7 +136,7 @@ static int yytbl_write_pad64 (struct yytbl_writer *wr) } /** write the header. - * @param out the output stream + * @param wr the output stream * @param th table header to be written * @return -1 on error, or bytes written on success. */ @@ -159,12 +158,12 @@ int yytbl_hdr_fwrite (struct yytbl_writer *wr, const struct yytbl_hdr *th) flex_die (_("th_ssize|th_flags write failed")); bwritten += 6; - sz = strlen (th->th_version) + 1; + sz = (int) strlen (th->th_version) + 1; if ((rv = yytbl_writen (wr, th->th_version, sz)) != sz) flex_die (_("th_version writen failed")); bwritten += rv; - sz = strlen (th->th_name) + 1; + sz = (int) strlen (th->th_name) + 1; if ((rv = yytbl_writen (wr, th->th_name, sz)) != sz) flex_die (_("th_name writen failed")); bwritten += rv; @@ -183,7 +182,7 @@ int yytbl_hdr_fwrite (struct yytbl_writer *wr, const struct yytbl_hdr *th) /** Write this table. - * @param out the file writer + * @param wr the file writer * @param td table data to be written * @return -1 on error, or bytes written on success. */ @@ -214,13 +213,13 @@ int yytbl_data_fwrite (struct yytbl_writer *wr, struct yytbl_data *td) for (i = 0; i < total_len; i++) { switch (YYTDFLAGS2BYTES (td->td_flags)) { case sizeof (flex_int8_t): - rv = yytbl_write8 (wr, yytbl_data_geti (td, i)); + rv = yytbl_write8 (wr, (flex_uint8_t) yytbl_data_geti (td, i)); break; case sizeof (flex_int16_t): - rv = yytbl_write16 (wr, yytbl_data_geti (td, i)); + rv = yytbl_write16 (wr, (flex_uint16_t) yytbl_data_geti (td, i)); break; case sizeof (flex_int32_t): - rv = yytbl_write32 (wr, yytbl_data_geti (td, i)); + rv = yytbl_write32 (wr, (flex_uint32_t) yytbl_data_geti (td, i)); break; default: flex_die (_("invalid td_flags detected")); @@ -233,7 +232,7 @@ int yytbl_data_fwrite (struct yytbl_writer *wr, struct yytbl_data *td) } /* Sanity check */ - if (bwritten != (int) (12 + total_len * YYTDFLAGS2BYTES (td->td_flags))) { + if (bwritten != (12 + total_len * (int) YYTDFLAGS2BYTES (td->td_flags))) { flex_die (_("insanity detected")); return -1; } @@ -248,14 +247,14 @@ int yytbl_data_fwrite (struct yytbl_writer *wr, struct yytbl_data *td) /* Now go back and update the th_hsize member */ if (fgetpos (wr->out, &pos) != 0 || fsetpos (wr->out, &(wr->th_ssize_pos)) != 0 - || yytbl_write32 (wr, wr->total_written) < 0 + || yytbl_write32 (wr, (flex_uint32_t) wr->total_written) < 0 || fsetpos (wr->out, &pos)) { flex_die (_("get|set|fwrite32 failed")); return -1; } else /* Don't count the int we just wrote. */ - wr->total_written -= sizeof (flex_int32_t); + wr->total_written -= (int) sizeof (flex_int32_t); return bwritten; } @@ -265,11 +264,11 @@ int yytbl_data_fwrite (struct yytbl_writer *wr, struct yytbl_data *td) * @param len number of bytes * @return -1 on error. number of bytes written on success. */ -int yytbl_writen (struct yytbl_writer *wr, void *v, flex_int32_t len) +int yytbl_writen (struct yytbl_writer *wr, void *v, int len) { int rv; - rv = fwrite (v, 1, len, wr->out); + rv = (int) fwrite (v, 1, (size_t) len, wr->out); if (rv != len) return -1; wr->total_written += len; @@ -284,11 +283,11 @@ int yytbl_writen (struct yytbl_writer *wr, void *v, flex_int32_t len) int yytbl_write32 (struct yytbl_writer *wr, flex_uint32_t v) { flex_uint32_t vnet; - size_t bytes, rv; + int bytes, rv; vnet = htonl (v); - bytes = sizeof (flex_uint32_t); - rv = fwrite (&vnet, bytes, 1, wr->out); + bytes = (int) sizeof (flex_uint32_t); + rv = (int) fwrite (&vnet, (size_t) bytes, 1, wr->out); if (rv != 1) return -1; wr->total_written += bytes; @@ -303,11 +302,11 @@ int yytbl_write32 (struct yytbl_writer *wr, flex_uint32_t v) int yytbl_write16 (struct yytbl_writer *wr, flex_uint16_t v) { flex_uint16_t vnet; - size_t bytes, rv; + int bytes, rv; vnet = htons (v); - bytes = sizeof (flex_uint16_t); - rv = fwrite (&vnet, bytes, 1, wr->out); + bytes = (int) sizeof (flex_uint16_t); + rv = (int) fwrite (&vnet, (size_t) bytes, 1, wr->out); if (rv != 1) return -1; wr->total_written += bytes; @@ -321,10 +320,10 @@ int yytbl_write16 (struct yytbl_writer *wr, flex_uint16_t v) */ int yytbl_write8 (struct yytbl_writer *wr, flex_uint8_t v) { - size_t bytes, rv; + int bytes, rv; - bytes = sizeof (flex_uint8_t); - rv = fwrite (&v, bytes, 1, wr->out); + bytes = (int) sizeof (flex_uint8_t); + rv = (int) fwrite (&v, (size_t) bytes, 1, wr->out); if (rv != 1) return -1; wr->total_written += bytes; @@ -428,7 +427,7 @@ static void yytbl_data_seti (const struct yytbl_data *tbl, int i, */ static size_t min_int_size (struct yytbl_data *tbl) { - flex_uint32_t i, total_len; + flex_int32_t i, total_len; flex_int32_t max = 0; total_len = yytbl_calc_total_len (tbl); @@ -438,7 +437,7 @@ static size_t min_int_size (struct yytbl_data *tbl) n = abs (yytbl_data_geti (tbl, i)); - if (n > max) + if (max < n) max = n; } @@ -461,7 +460,8 @@ static size_t min_int_size (struct yytbl_data *tbl) */ void yytbl_data_compress (struct yytbl_data *tbl) { - flex_int32_t i, newsz, total_len; + flex_int32_t i, total_len; + size_t newsz; struct yytbl_data newtbl; yytbl_data_init (&newtbl, tbl->td_id); @@ -472,19 +472,19 @@ void yytbl_data_compress (struct yytbl_data *tbl) newsz = min_int_size (tbl); - if (newsz == (int) YYTDFLAGS2BYTES (tbl->td_flags)) + if (newsz == YYTDFLAGS2BYTES (tbl->td_flags)) /* No change in this table needed. */ return; - if (newsz > (int) YYTDFLAGS2BYTES (tbl->td_flags)) { + if (newsz > YYTDFLAGS2BYTES (tbl->td_flags)) { flex_die (_("detected negative compression")); return; } total_len = yytbl_calc_total_len (tbl); - newtbl.td_data = calloc (total_len, newsz); - newtbl.td_flags = - TFLAGS_CLRDATA (newtbl.td_flags) | BYTES2TFLAG (newsz); + newtbl.td_data = calloc ((size_t) total_len, newsz); + newtbl.td_flags = (flex_uint16_t) + (TFLAGS_CLRDATA (newtbl.td_flags) | BYTES2TFLAG (newsz)); for (i = 0; i < total_len; i++) { flex_int32_t g; diff --git a/tables.h b/src/tables.h similarity index 98% rename from tables.h rename to src/tables.h index 2e4afe5505c7..b8c2bbef3168 100644 --- a/tables.h +++ b/src/tables.h @@ -45,7 +45,7 @@ extern "C" { #include "tables_shared.h" struct yytbl_writer { FILE *out; - flex_uint32_t total_written; + int total_written; /**< bytes written so far */ fpos_t th_ssize_pos; /**< position of th_ssize */ diff --git a/tables_shared.c b/src/tables_shared.c similarity index 96% rename from tables_shared.c rename to src/tables_shared.c index b962666c8c8c..fca04388a588 100644 --- a/tables_shared.c +++ b/src/tables_shared.c @@ -52,12 +52,12 @@ dnl /** Get the number of integers in this table. This is NOT the * same thing as the number of elements. - * @param td the table + * @param tbl the table * @return the number of integers in the table */ yyskel_static flex_int32_t yytbl_calc_total_len (const struct yytbl_data *tbl) { - flex_int32_t n; + flex_uint32_t n; /* total number of ints */ n = tbl->td_lolen; @@ -66,5 +66,5 @@ yyskel_static flex_int32_t yytbl_calc_total_len (const struct yytbl_data *tbl) if (tbl->td_id == YYTD_ID_TRANSITION) n *= 2; - return n; + return (flex_int32_t) n; } diff --git a/tables_shared.h b/src/tables_shared.h similarity index 100% rename from tables_shared.h rename to src/tables_shared.h diff --git a/tblcmp.c b/src/tblcmp.c similarity index 91% rename from tblcmp.c rename to src/tblcmp.c index a56aaabce179..81dfbc199651 100644 --- a/tblcmp.c +++ b/src/tblcmp.c @@ -36,11 +36,11 @@ /* declarations for functions that have forward references */ -void mkentry PROTO ((register int *, int, int, int, int)); -void mkprot PROTO ((int[], int, int)); -void mktemplate PROTO ((int[], int, int)); -void mv2front PROTO ((int)); -int tbldiff PROTO ((int[], int, int[])); +void mkentry(int *, int, int, int, int); +void mkprot(int[], int, int); +void mktemplate(int[], int, int); +void mv2front(int); +int tbldiff(int[], int, int[]); /* bldtbl - build table entries for dfa state @@ -78,8 +78,7 @@ int tbldiff PROTO ((int[], int, int[])); * cost only one difference. */ -void bldtbl (state, statenum, totaltrans, comstate, comfreq) - int state[], statenum, totaltrans, comstate, comfreq; +void bldtbl (int state[], int statenum, int totaltrans, int comstate, int comfreq) { int extptr, extrct[2][CSIZE + 1]; int mindiff, minprot, i, d; @@ -221,11 +220,11 @@ void bldtbl (state, statenum, totaltrans, comstate, comfreq) * classes. */ -void cmptmps () +void cmptmps (void) { - int tmpstorage[CSIZE + 1]; - register int *tmp = tmpstorage, i, j; - int totaltrans, trans; + int tmpstorage[CSIZE + 1]; + int *tmp = tmpstorage, i, j; + int totaltrans, trans; peakpairs = numtemps * numecs + tblend; @@ -289,9 +288,9 @@ void cmptmps () /* expand_nxt_chk - expand the next check arrays */ -void expand_nxt_chk () +void expand_nxt_chk (void) { - register int old_max = current_max_xpairs; + int old_max = current_max_xpairs; current_max_xpairs += MAX_XPAIRS_INCREMENT; @@ -300,8 +299,7 @@ void expand_nxt_chk () nxt = reallocate_integer_array (nxt, current_max_xpairs); chk = reallocate_integer_array (chk, current_max_xpairs); - zero_out ((char *) (chk + old_max), - (size_t) (MAX_XPAIRS_INCREMENT * sizeof (int))); + memset(chk + old_max, 0, MAX_XPAIRS_INCREMENT * sizeof(int)); } @@ -324,15 +322,14 @@ void expand_nxt_chk () * and an action number will be added in [-1]. */ -int find_table_space (state, numtrans) - int *state, numtrans; +int find_table_space (int *state, int numtrans) { /* Firstfree is the position of the first possible occurrence of two * consecutive unused records in the chk and nxt arrays. */ - register int i; - register int *state_ptr, *chk_ptr; - register int *ptr_to_last_entry_in_state; + int i; + int *state_ptr, *chk_ptr; + int *ptr_to_last_entry_in_state; /* If there are too many out-transitions, put the state at the end of * nxt and chk. @@ -419,13 +416,11 @@ int find_table_space (state, numtrans) * Initializes "firstfree" to be one beyond the end of the table. Initializes * all "chk" entries to be zero. */ -void inittbl () +void inittbl (void) { - register int i; + int i; - zero_out ((char *) chk, - - (size_t) (current_max_xpairs * sizeof (int))); + memset(chk, 0, (size_t) current_max_xpairs * sizeof(int)); tblend = 0; firstfree = tblend + 1; @@ -451,7 +446,7 @@ void inittbl () /* mkdeftbl - make the default, "jam" table entries */ -void mkdeftbl () +void mkdeftbl (void) { int i; @@ -500,12 +495,11 @@ void mkdeftbl () * state array. */ -void mkentry (state, numchars, statenum, deflink, totaltrans) - register int *state; - int numchars, statenum, deflink, totaltrans; +void mkentry (int *state, int numchars, int statenum, int deflink, + int totaltrans) { - register int minec, maxec, i, baseaddr; - int tblbase, tbllast; + int minec, maxec, i, baseaddr; + int tblbase, tbllast; if (totaltrans == 0) { /* there are no out-transitions */ if (deflink == JAMSTATE) @@ -616,8 +610,7 @@ void mkentry (state, numchars, statenum, deflink, totaltrans) * has only one out-transition */ -void mk1tbl (state, sym, onenxt, onedef) - int state, sym, onenxt, onedef; +void mk1tbl (int state, int sym, int onenxt, int onedef) { if (firstfree < sym) firstfree = sym; @@ -642,8 +635,7 @@ void mk1tbl (state, sym, onenxt, onedef) /* mkprot - create new proto entry */ -void mkprot (state, statenum, comstate) - int state[], statenum, comstate; +void mkprot (int state[], int statenum, int comstate) { int i, slot, tblbase; @@ -680,11 +672,10 @@ void mkprot (state, statenum, comstate) * to it */ -void mktemplate (state, statenum, comstate) - int state[], statenum, comstate; +void mktemplate (int state[], int statenum, int comstate) { int i, numdiff, tmpbase, tmp[CSIZE + 1]; - Char transset[CSIZE + 1]; + unsigned char transset[CSIZE + 1]; int tsptr; ++numtemps; @@ -712,7 +703,8 @@ void mktemplate (state, statenum, comstate) if (state[i] == 0) tnxt[tmpbase + i] = 0; else { - transset[tsptr++] = i; + /* Note: range 1..256 is mapped to 1..255,0 */ + transset[tsptr++] = (unsigned char) i; tnxt[tmpbase + i] = comstate; } @@ -732,8 +724,7 @@ void mktemplate (state, statenum, comstate) /* mv2front - move proto queue element to front of queue */ -void mv2front (qelm) - int qelm; +void mv2front (int qelm) { if (firstprot != qelm) { if (qelm == lastprot) @@ -759,12 +750,11 @@ void mv2front (qelm) * Transnum is the number of out-transitions for the state. */ -void place_state (state, statenum, transnum) - int *state, statenum, transnum; +void place_state (int *state, int statenum, int transnum) { - register int i; - register int *state_ptr; - int position = find_table_space (state, transnum); + int i; + int *state_ptr; + int position = find_table_space (state, transnum); /* "base" is the table of start positions. */ base[statenum] = position; @@ -802,8 +792,7 @@ void place_state (state, statenum, transnum) * no room, we process the sucker right now. */ -void stack1 (statenum, sym, nextstate, deflink) - int statenum, sym, nextstate, deflink; +void stack1 (int statenum, int sym, int nextstate, int deflink) { if (onesp >= ONE_STACK_SIZE - 1) mk1tbl (statenum, sym, nextstate, deflink); @@ -832,11 +821,10 @@ void stack1 (statenum, sym, nextstate, deflink) * number is "numecs" minus the number of "SAME_TRANS" entries in "ext". */ -int tbldiff (state, pr, ext) - int state[], pr, ext[]; +int tbldiff (int state[], int pr, int ext[]) { - register int i, *sp = state, *ep = ext, *protp; - register int numdiff = 0; + int i, *sp = state, *ep = ext, *protp; + int numdiff = 0; protp = &protsave[numecs * (pr - 1)]; diff --git a/version.h b/src/version.h similarity index 100% rename from version.h rename to src/version.h diff --git a/yylex.c b/src/yylex.c similarity index 90% rename from yylex.c rename to src/yylex.c index f06e5e6a2659..521db7f17627 100644 --- a/yylex.c +++ b/src/yylex.c @@ -37,18 +37,19 @@ /* yylex - scan for a regular expression token */ - -int yylex () +extern char *yytext; +extern FILE *yyout; +bool no_section3_escape = false; +int yylex (void) { int toktype; static int beglin = false; - extern char *yytext; - if (eofseen) + if (eofseen) { toktype = EOF; - else + } else { toktype = flexscan (); - + } if (toktype == EOF || toktype == 0) { eofseen = 1; @@ -150,11 +151,12 @@ int yylex () break; default: - if (!isascii (yylval) || !isprint (yylval)) - fprintf (stderr, - "\\%.3o", - (unsigned int) yylval); - else + if (!isascii (yylval) || !isprint (yylval)) { + if(trace_hex) + fprintf (stderr, "\\x%02x", (unsigned int) yylval); + else + fprintf (stderr, "\\%.3o", (unsigned int) yylval); + } else (void) putc (yylval, stderr); break; } @@ -173,12 +175,12 @@ int yylex () fprintf (stderr, "<>"); break; - case OPTION_OP: + case TOK_OPTION: fprintf (stderr, "%s ", yytext); break; - case OPT_OUTFILE: - case OPT_PREFIX: + case TOK_OUTFILE: + case TOK_PREFIX: case CCE_ALNUM: case CCE_ALPHA: case CCE_BLANK: diff --git a/ylwrap b/ylwrap deleted file mode 100755 index 84d563405e6e..000000000000 --- a/ylwrap +++ /dev/null @@ -1,222 +0,0 @@ -#! /bin/sh -# ylwrap - wrapper for lex/yacc invocations. - -scriptversion=2009-04-28.21; # UTC - -# Copyright (C) 1996, 1997, 1998, 1999, 2001, 2002, 2003, 2004, 2005, -# 2007, 2009 Free Software Foundation, Inc. -# -# Written by Tom Tromey . -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# This file is maintained in Automake, please report -# bugs to or send patches to -# . - -case "$1" in - '') - echo "$0: No files given. Try \`$0 --help' for more information." 1>&2 - exit 1 - ;; - --basedir) - basedir=$2 - shift 2 - ;; - -h|--h*) - cat <<\EOF -Usage: ylwrap [--help|--version] INPUT [OUTPUT DESIRED]... -- PROGRAM [ARGS]... - -Wrapper for lex/yacc invocations, renaming files as desired. - - INPUT is the input file - OUTPUT is one file PROG generates - DESIRED is the file we actually want instead of OUTPUT - PROGRAM is program to run - ARGS are passed to PROG - -Any number of OUTPUT,DESIRED pairs may be used. - -Report bugs to . -EOF - exit $? - ;; - -v|--v*) - echo "ylwrap $scriptversion" - exit $? - ;; -esac - - -# The input. -input="$1" -shift -case "$input" in - [\\/]* | ?:[\\/]*) - # Absolute path; do nothing. - ;; - *) - # Relative path. Make it absolute. - input="`pwd`/$input" - ;; -esac - -pairlist= -while test "$#" -ne 0; do - if test "$1" = "--"; then - shift - break - fi - pairlist="$pairlist $1" - shift -done - -# The program to run. -prog="$1" -shift -# Make any relative path in $prog absolute. -case "$prog" in - [\\/]* | ?:[\\/]*) ;; - *[\\/]*) prog="`pwd`/$prog" ;; -esac - -# FIXME: add hostname here for parallel makes that run commands on -# other machines. But that might take us over the 14-char limit. -dirname=ylwrap$$ -trap "cd '`pwd`'; rm -rf $dirname > /dev/null 2>&1" 1 2 3 15 -mkdir $dirname || exit 1 - -cd $dirname - -case $# in - 0) "$prog" "$input" ;; - *) "$prog" "$@" "$input" ;; -esac -ret=$? - -if test $ret -eq 0; then - set X $pairlist - shift - first=yes - # Since DOS filename conventions don't allow two dots, - # the DOS version of Bison writes out y_tab.c instead of y.tab.c - # and y_tab.h instead of y.tab.h. Test to see if this is the case. - y_tab_nodot="no" - if test -f y_tab.c || test -f y_tab.h; then - y_tab_nodot="yes" - fi - - # The directory holding the input. - input_dir=`echo "$input" | sed -e 's,\([\\/]\)[^\\/]*$,\1,'` - # Quote $INPUT_DIR so we can use it in a regexp. - # FIXME: really we should care about more than `.' and `\'. - input_rx=`echo "$input_dir" | sed 's,\\\\,\\\\\\\\,g;s,\\.,\\\\.,g'` - - while test "$#" -ne 0; do - from="$1" - # Handle y_tab.c and y_tab.h output by DOS - if test $y_tab_nodot = "yes"; then - if test $from = "y.tab.c"; then - from="y_tab.c" - else - if test $from = "y.tab.h"; then - from="y_tab.h" - fi - fi - fi - if test -f "$from"; then - # If $2 is an absolute path name, then just use that, - # otherwise prepend `../'. - case "$2" in - [\\/]* | ?:[\\/]*) target="$2";; - *) target="../$2";; - esac - - # We do not want to overwrite a header file if it hasn't - # changed. This avoid useless recompilations. However the - # parser itself (the first file) should always be updated, - # because it is the destination of the .y.c rule in the - # Makefile. Divert the output of all other files to a temporary - # file so we can compare them to existing versions. - if test $first = no; then - realtarget="$target" - target="tmp-`echo $target | sed s/.*[\\/]//g`" - fi - # Edit out `#line' or `#' directives. - # - # We don't want the resulting debug information to point at - # an absolute srcdir; it is better for it to just mention the - # .y file with no path. - # - # We want to use the real output file name, not yy.lex.c for - # instance. - # - # We want the include guards to be adjusted too. - FROM=`echo "$from" | sed \ - -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'\ - -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'` - TARGET=`echo "$2" | sed \ - -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'\ - -e 's/[^ABCDEFGHIJKLMNOPQRSTUVWXYZ]/_/g'` - - sed -e "/^#/!b" -e "s,$input_rx,," -e "s,$from,$2," \ - -e "s,$FROM,$TARGET," "$from" >"$target" || ret=$? - - # Check whether header files must be updated. - if test $first = no; then - if test -f "$realtarget" && cmp -s "$realtarget" "$target"; then - echo "$2" is unchanged - rm -f "$target" - else - echo updating "$2" - mv -f "$target" "$realtarget" - fi - fi - else - # A missing file is only an error for the first file. This - # is a blatant hack to let us support using "yacc -d". If -d - # is not specified, we don't want an error when the header - # file is "missing". - if test $first = yes; then - ret=1 - fi - fi - shift - shift - first=no - done -else - ret=$? -fi - -# Remove the directory. -cd .. -rm -rf $dirname - -exit $ret - -# Local Variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" -# time-stamp-end: "; # UTC" -# End: