diff -aNrc2 bash-2.05b-patched/ABOUT-NLS bash-3.0/ABOUT-NLS *** bash-2.05b-patched/ABOUT-NLS Wed Dec 31 19:00:00 1969 --- bash-3.0/ABOUT-NLS Tue Dec 9 12:39:10 2003 *************** *** 0 **** --- 1,625 ---- + 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. + + If you found this `ABOUT-NLS' file inside a distribution, you may + assume that the distributed package does use GNU `gettext' internally, + itself available at your nearest GNU archive site. But you do _not_ + need to install GNU `gettext' prior to configuring, installing or using + this package with messages translated. + + Installers will find here some useful hints. These notes also + explain how users should proceed for getting the programs to use the + available translations. They tell how people wanting to contribute and + work at translations should 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 + ========================== + + If you want to exploit the full power of internationalization, you + should configure it using + + ./configure --with-included-gettext + + to force usage of internationalizing routines provided within this + package, despite the existence of internationalizing capabilities in the + operating system where this package is being installed. So far, only + the `gettext' implementation in the GNU C library version 2 provides as + many features (such as locale alias, message inheritance, automatic + charset conversion or plural form handling) as the implementation here. + It is also not possible to offer this additional functionality on top + of a `catgets' implementation. Future versions of GNU `gettext' will + very likely convey even more functionality. So it might be a good idea + to change to GNU `gettext' as soon as possible. + + So you need _not_ provide this option if you are using GNU libc 2 or + you have installed a recent copy of the GNU gettext package with the + included `libintl'. + + INSTALL Matters + =============== + + Some packages are "localizable" when properly installed; the + programs they contain can be made to speak your own native language. + Most such packages use GNU `gettext'. Other packages have their own + ways to internationalization, predating GNU `gettext'. + + By default, this package will be installed to allow translation of + messages. It will automatically detect whether the system already + provides the GNU `gettext' functions. If not, the 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: + + ./configure --with-included-gettext + ./configure --disable-nls + + will respectively bypass any pre-existing `gettext' to use the + internationalizing routines provided within this package, or else, + _totally_ disable translation of messages. + + When you already have GNU `gettext' installed on your system and run + configure without an option for your new package, `configure' will + probably detect the previously built and installed `libintl.a' file and + will decide to use this. This might 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 + + ./configure --with-included-gettext + + to prevent auto-detection. + + The configuration process will not test for the `catgets' function + and therefore it will not be used. The reason is that even an + emulation of `gettext' on top of `catgets' could not provide all the + extensions of the GNU `gettext' library. + + Internationalized packages have usually many `po/LL.po' files, where + LL gives an ISO 639 two-letter code identifying the language. Unless + translations have been forbidden at `configure' time by using the + `--disable-nls' switch, all available translations are installed + together with the package. However, the environment variable `LINGUAS' + may be set, prior to configuration, to limit the installed set. + `LINGUAS' should then contain a space separated list of two-letter + codes, stating which languages are allowed. + + Using This Package + ================== + + As a user, if your language has been installed for this package, you + only have to set the `LANG' environment variable to the appropriate + `LL_CC' combination. Here `LL' is an ISO 639 two-letter language code, + and `CC' is an ISO 3166 two-letter country code. For example, let's + suppose that you speak German and live in Germany. At the shell + prompt, merely execute `setenv LANG de_DE' (in `csh'), + `export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash'). + This can be done from your `.login' or `.profile' file, once and for + all. + + You might think that the country code specification is redundant. + But in fact, some languages have dialects in different countries. For + example, `de_AT' is used for Austria, and `pt_BR' for Brazil. The + country code serves to distinguish the dialects. + + The locale naming convention of `LL_CC', with `LL' denoting the + language and `CC' denoting the country, is the one use on systems based + on GNU libc. On other systems, some variations of this scheme are + used, such as `LL' or `LL_CC.ENCODING'. You can get the list of + locales supported by your system for your country by running the command + `locale -a | grep '^LL''. + + Not all programs have translations for all languages. By default, an + English message is shown in place of a nonexistent translation. If you + understand other languages, you can set up a priority list of languages. + This is done through a different environment variable, called + `LANGUAGE'. GNU `gettext' gives preference to `LANGUAGE' over `LANG' + for the purpose of message handling, but you still need to have `LANG' + set to the primary language; this is required by other parts of the + system libraries. For example, some Swedish users who would rather + read translations in German than English for when Swedish is not + available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'. + + 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 + ================= + + 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. + + If you'd like to volunteer to _work_ at translating messages, you + should become a member of the translating team for your own language. + The subscribing address is _not_ the same as the list itself, it has + `-request' appended. For example, speakers of Swedish can send a + message to `sv-request@li.org', having this message body: + + subscribe + + Keep in mind that team members are expected to participate + _actively_ in translations, or at solving translational difficulties, + rather than merely lurking around. If your team does not exist yet and + you want to start one, or if you are unsure about what to do or how to + get started, please write to `translation@iro.umontreal.ca' 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. + + Available Packages + ================== + + Languages are not equally supported in all packages. The following + matrix shows the current state of internationalization, as of May 2003. + 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 + + Some counters in the preceding matrix are higher than the number of + visible blocks let us expect. This is because a few extra PO files are + used for implementing regional variants of languages, or language + dialects. + + For a PO file in the matrix above to be effective, the package to + which it applies should also have been internationalized and + distributed as such by its maintainer. There might be an observable + lag between the mere existence a PO file and its wide availability in a + distribution. + + If May 2003 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'. + + Using `gettext' in new packages + =============================== + + If you are writing a freely available program and want to + internationalize it you are welcome to use GNU `gettext' in your + package. Of course you have to respect the GNU Library General Public + License which covers the use of the GNU `gettext' library. This means + in particular that even non-free programs can use `libintl' as a shared + library, whereas only free software can use `libintl' as a static + library or use modified versions of `libintl'. + + Once the sources are changed appropriately and the setup can handle + the use of `gettext' the only thing missing are the translations. The + Free Translation Project is also available for packages which are not + developed inside the GNU project. Therefore the information given above + applies also for every other Free Software Project. Contact + `translation@iro.umontreal.ca' to make the `.pot' files available to + the translation teams. + diff -aNrc2 bash-2.05b-patched/AUTHORS bash-3.0/AUTHORS *** bash-2.05b-patched/AUTHORS Wed Apr 3 08:29:41 2002 --- bash-3.0/AUTHORS Sat Jan 10 20:14:20 2004 *************** *** 2,5 **** --- 2,7 ---- # Master author manifest for bash # + # The files in lib/intl were taken from the GNU gettext distribution. + # # Any files appearing in the bash distribution not listed in this file # were created by Chet Ramey. *************** *** 101,104 **** --- 103,107 ---- builtins/break.def Brian Fox, Chet Ramey builtins/builtin.def Brian Fox, Chet Ramey + builtins/caller.def Rocky Bernstein, Chet Ramey builtins/cd.def Brian Fox, Chet Ramey builtins/colon.def Brian Fox, Chet Ramey diff -aNrc2 bash-2.05b-patched/CHANGES bash-3.0/CHANGES *** bash-2.05b-patched/CHANGES Tue Jul 2 14:53:21 2002 --- bash-3.0/CHANGES Fri Jul 16 21:21:56 2004 *************** *** 1,2 **** --- 1,711 ---- + This document details the changes between this version, bash-3.0-release, + and the previous version, bash-3.0-rc1. + + 1. Changes to Bash + + a. Fixed a boundary overrun that could cause segmentation faults when the + completion code hands an incomplete construct to the word expansion + functions. + + b. Changed posix mode behavior so that an error in a variable assignment + preceding a special builtin causes a non-interactive shell to exit. + + c. Change the directory expansion portion of the completion code to not + expand embedded command substitutions if the directory name appears in + the file system. + + d. Fixed a problem that caused `bash -r' to turn on restrictions before + reading the startup files. + + e. Fixed a problem with the default operation of the `umask' builtin. + + 2. Changes to Readline + + a. Fixed a problem with readline saving the contents of the current line + before beginning a non-interactive search. + + b. Fixed a problem with EOF detection when using rl_event_hook. + + c. Fixed a problem with the vi mode `p' and `P' commands ignoring numeric + arguments. + + ------------------------------------------------------------------------------ + This document details the changes between this version, bash-3.0-rc1, + and the previous version, bash-3.0-beta1. + + 1. Changes to Bash + + a. Fixed a bug that caused incorrect behavior when referecing element 0 of + an array using $array, element 0 was unset, and `set -u' was enabled. + + b. System-specific changes for: SCO Unix 3.2, Tandem. + + c. Fixed a bug that caused inappropriate word splitting when a variable was + expanded within a double-quoted string that also included $@. + + d. Fixed a bug that caused `pwd' to not display anything in physical mode + when the file system had changed underneath the shell. + + e. Fixed a bug in the pre- and post- increment and decrement parsing in the + expression evaluator that caused errors when the operands and corresponding + operators were separated by whitespace. + + f. Fixed a bug that caused `history -p' to add an entry to the history list, + counter to the documentation. (Keeps the history expansions invoked by + emacs-mode command line editing from doing that as well.) + + g. Fixed a bug that could cause a core dump if `cd' is asked to print out a + pathname longer than PATH_MAX characters. + + h. Fixed a bug that caused jobs to be put into the wrong process group under + some circumstances after enabling job control with `set -m'. + + i. `unalias' now returns failure if no alias name arguments are supplied. + + j. Documented the characters not allowed to appear in an alias name. + + k. $* is no longer expanded as if in double quotes when it appears in the + body of a here document, as the SUS seems to require. + + l. The `bashbug' script now uses a directory in $TMPDIR for exclusive + access rather than trying to guess how the underlying OS provides for + secure temporary file creation. + + m. Fixed a few problems with `cd' and `pwd' when asked to operate on pathnames + longer than PATH_MAX characters. + + n. Fixed a memory leak caused when creating multiple local array variables + with identical names. + + o. Fixed a problem with calls to getcwd() so that bash now operates better + when the full pathname to the current directory is longer than PATH_MAX + bytes. + + p. The `trap' builtin now reports an error if a single non-signal argument + is specified. + + q. Fixed a bug that caused `umask' to not work correctly when presented + with a mask of all 0s. + + r. When `getopts' reaches the end of options, OPTARG is unset, as POSIX + appears to specify. + + s. Interactive mode now depends on whether or not stdin and stderr are + connected to a tty; formerly it was stdin and stdout. POSIX requires + this. + + t. Fixed vi-mode completion to work more as POSIX specifies (e.g., doing the + right kind of filename generation). + + 2. Changes to Readline + + a. Fixed a problem that could cause readline to refer to freed memory when + moving between history lines while doing searches. + + b. Improvements to the code that expands and displays prompt strings + containing multibyte characters. + + c. Fixed a problem with vi-mode not correctly remembering the numeric argument + to the last `c'hange command for later use with `.'. + + d. Fixed a bug in vi-mode that caused multi-digit count arguments to work + incorrectly. + + e. Fixed a problem in vi-mode that caused the last text modification command + to not be remembered across different command lines. + + f. Fixed problems with changing characters and changing case at the end of + the line. + + 3. New Features in Bash + + a. The `jobs', `kill', and `wait' builtins now accept job control notation + even if job control is not enabled. + + b. The historical behavior of `trap' that allows a missing `action' argument + to cause each specified signal's handling to be reset to its default is + now only supported when `trap' is given a single non-option argument. + + 4. New Features in Readline + + a. When listing completions, directories have a `/' appended if the + `mark-directories' option has been enabled. + + ------------------------------------------------------------------------------ + This document details the changes between this version, bash-3.0-beta1, + and the previous version, bash-3.0-alpha. + + 1. Changes to Bash + + a. Fixes to build correctly when arrays are not compiled into the shell. + + b. Fixed command substitution to run any exit trap defined in the command + substitution before returning; the exit trap is not inherited from the + calling shell. + + c. Fixes to process group synchronization code so that every child process + attempts to set the terminal's process group; fixes some synchronization + problems on Linux kernels that schedule the child to always run before + the parent. + + d. Fixed processing of octal and hex constants in printf builtin for POSIX.2 + compliance. + + e. Fixed a couple of core dumps in the pattern removal code. + + f. Fixes to the array subrange extraction code to deal better with sparse + arrays. + + g. Parser errors and other errors that result in the shell exiting now cause + the exit trap to be run. + + h. Change the command substitution completion functions to not append any + closing quote, because it would be inserted a closing "`" or ")". + + i. Fix history initialization so assignments to $histchars made in startup + files are honored. + + j. If an exit trap does not contain a call to `exit', the shell now uses + the exit status of the last command executed before the trap as the exit + status of the shell. + + k. The parser now prompts with $PS2 if it reads a newline while parsing a + compound array assignment statement. + + l. When performing a compound array assignment, the parser doesn't treat + words of the form [index]=value as assignments if they're the result of + expansions. + + m. Fixed a bug that caused `return' executed in a trap command to make the + shell think it was still running the trap. + + n. Fixed the value of errno set by the pathname canonicalization functions. + + o. Changed the grammar so that `time' alone on a line times a null command + rather than being a syntax error. + + p. The pattern substitution coded no longer performs quote removal on the + pattern before trying to match it, as the pattern removal functions do. + + q. Fixed a bug that could cause core dumps when checking whether a quoted + command name was being completed. + + r. Fixes to the pattern removal and pattern replacement expansions to deal + with multibyte characters better (and faster). + + s. Fix to the substring expansion (${param:off[:len]}) to deal with (possibly + multibyte) characters instead of raw bytes. + + t. Fixed a bug that caused some key bindings set in an inputrc to be ignored + at shell startup. + + u. Fixed a bug that caused unsetting a local variable within a function to + not work correctly. + + v. Fixed a bug that caused invalid variables to be created when using + `read -a'. + + w. Fixed a bug that caused "$@" to expand incorrectly when used as the right + hand side of a parameter expansion such as ${word:="$@"} if the first + character of $IFS was not a space. + + x. Fixed a slight cosmetic problem when printing commands containing a + `>&word' redirection. + + y. Fixed a problem that could cause here documents to not be created correctly + if the system temporary directory did not allow writing. + + 2. Changes to Readline + + a. Change to history expansion functions to treat `^' as equivalent to word + one, as the documention states. + + b. Some changes to the display code to improve display and redisplay of + multibyte characters. + + c. Changes to speed up the multibyte character redisplay code. + + d. Fixed a bug in the vi-mode `E' command that caused it to skip over the + last character of a word if invoked while point was on the word's + next-to-last character. + + e. Fixed a bug that could cause incorrect filename quoting when + case-insensitive completion was enabled and the word being completed + contained backslashes quoting word break characters. + + f. Fixed a bug in redisplay triggered when the prompt string contains + invisible characters. + + g. Fixed some display (and other) bugs encountered in multibyte locales + when a non-ascii character was the last character on a line. + + h. Fixed some display bugs caused by multibyte characters in prompt strings. + + i. Fixed a problem with history expansion caused by non-whitespace characters + used as history word delimiters. + + 3. New Features in Bash + + a. printf builtin understands two new escape sequences: \" and \?. + + b. `echo -e' understands two new escape sequences: \" and \?. + + c. The GNU `gettext' package and libintl have been integrated; the shell's + messages can be translated into different languages. + + d. The `\W' prompt expansion now abbreviates $HOME as `~', like `\w'. + + e. The error message printed when bash cannot open a shell script supplied + as argument 1 now includes the name of the shell, to better identify + the error as coming from bash. + + 4. New Features in Readline + + a. New application variable, rl_completion_quote_character, set to any + quote character readline finds before it calls the application completion + function. + + b. New application variable, rl_completion_suppress_quote, settable by an + application completion function. If set to non-zero, readline does not + attempt to append a closing quote to a completed word. + + c. New application variable, rl_completion_found_quote, set to a non-zero + value if readline determines that the word to be completed is quoted. + Set before readline calls any application completion function. + + d. New function hook, rl_completion_word_break_hook, called when readline + needs to break a line into words when completion is attempted. Allows + the word break characters to vary based on position in the line. + + e. New bindable command: unix-filename-rubout. Does the same thing as + unix-word-rubout, but adds `/' to the set of word delimiters. + + ------------------------------------------------------------------------------ + This document details the changes between this version, bash-3.0-alpha, + and the previous version, bash-2.05b-release. + + 1. Changes to Bash + + a. Fixes so that the shell will compile without some of the default options + defined. + + b. Fixed an error message that did not pass enough arguments to printf. + + c. Fixed a bug that caused input redirection to a builtin inside a script + being read from standard input to result in the rest of the already- + read and buffered script to be discarded. + + d. Fixed a bug that caused subshell initialization to close the file + descriptor from which the shell was reading a script under certain + circumstances. + + e. Fixed a bug that caused the shell to not advance a string pointer over + a null wide character when doing string operations. + + f. Fixed the internal logout code so that shells that time out waiting for + input (using $TMOUT) run ~/.bash_logout. + + g. Portability and configuration changes for: cygwin, HP/UX, GNU/FreeBSD. + + h. The parser no longer adds implicit double quotes to ((...)) arithmetic + commands. + + i. The ((...)) arithmetic command evaluation code was fixed to not dump core + when the expanded string is null. + + j. The ((...)) arithmetic command evaluation code was fixed to not perform + variable assignments while expanding the expression. + + k. Fixed a bug that caused word splitting to be performed incorrectly when + IFS is set, but null. + + l. Fixed a bug in brace expansion that caused a quoted `$' preceding an + open brace to inhibit brace expansion. + + m. Fixed a bug that caused a leading `-' in the shell's name to cause it to + not be recognized as a restricted shell. + + n. Fixed a bug in the arithmetic evaluation code that could cause longjmps + to an invalid location and result in a core dump. + + o. Fixed a bug in the calculation of how many history lines are new in a + single shell session when reading new history lines from a file with + `history -n'. + + p. Fixed a bug in pathname canonicalization that caused the shell to dump + core when presented with a pathname longer than PATH_MAX. + + q. Fixed the parser so that it doesn't try to compare a char variable to + EOF, which fails when chars are unsigned. + + r. Fixed a bug in the simple command execution code that caused occasional + core dumps. + + s. The shell does a better job of saving any partial parsing state during + operations which cause a command to be executed while a line is being + entered and parsed. + + t. The completion code now splits words more like the expansion code when + $IFS is used to split. + + u. The locale code does a better job of recomputing the various locale + variable values when LC_ALL is unset. + + v. The programmable completion code does a better job of dequoting expanded + word lists before comparing them against the word to be matched. + + w. The shell no longer seg faults if the expanded value of $PS4 is null + and `set -x' is enabled. + + x. Fixed a bug that caused core dumps when a here string expanded to NULL. + + y. The mail checking code now makes sure the mailbox is bigger before + reporting the existence of new mail. + + z. The parser does not try to expand $'...' and $"..." when the appear + within double quotes unless the `extquote' option has been enabled with + `shopt'. For backwards compatibility, it is enabled by default. + + aa. Fixed a bug that caused `for x; do ...' and `select x; do ... to use + $@ instead of "$@" for the implicit list of arguments. + + bb. Fixed a bug that caused a subshell of a restricted shell (e.g., one + spawned to execute a pipeline) to not exit immediately if attempting + to use a command containing a slash. + + cc. Fixed a problem with empty replacements for a pattern that doesn't match + when performing ${param/word/} expansion. + + dd. Word expansions performed while expanding redirections no longer search + a command's temporary environment to expand variable values. + + ee. Improvements to the alias expansion code when expanding subsequent words + because an aliase's value ends with a space. + + ff. `cd -' now prints the current working directory after a successful chdir + even when the shell is not interactive, as the standard requires. + + gg. The shell does a better job of ensuring a child process dies of SIGINT + before resending SIGINT to itself. + + hh. The arithmetic expansion variable assignment code now does the right + thing when assigning to `special' variables like OPTIND. + + ii. When history expansion verification is enabled, the bash readline helper + functions that do history expansion on the current line don't print + the results. + + jj. Fixed bugs with multiple consecutive alias expansion when one of the + expansions ends with a space. + + kk. Fixed a problem in the programmable completion code that could cause core + dumps when trying to initialize a set of possible completions from a + list of variables. + + ll. The \[ and \] escape characters are now ignored when decoding the prompt + string if the shell is started with editing disabled. + + mm. Fixed a bug that could leave extra characters in a string when doing + quoted null character removal. + + nn. Command substitution and other subshell operations no longer reset the + line number (aids the bash debugger). + + oo. Better line number management when executing simple commands, conditional + commands, for commands, and select commands. + + pp. The globbing code now uses malloc, with its better failure properties, + rather than alloca(). + + qq. Fixed a bug that caused expansions like #{a[2]:=value} to create the + appropriate array element instead of a variable named `a[2]'. + + rr. Fixed a bug in the handling of a `?(...)' pattern immediately following + a `*' when extglob is enabled. + + ss. Fixed a bug that caused a `return' invoked in an exit trap when exit is + invoked in a function to misbehave. + + tt. Fixed a bug that caused CTLESC and CTLNUL characters to not be escaped + by the internal shell string quoting functions. + + uu. Fixed a bug that caused quoted null characters in an expanded word list + to be inappropriately assigned to an array variable when using `read -a'. + + vv. Fixed a bug that caused redirections accompanying a null command to persist + in the current shell. + + ww. Fixed a bug that caused the prompt to be printed when the shell was + expanding a multiline alias. + + xx. Fixed a bug that resulted in core dumps when the completion for a command + changed the compspec. + + yy. Fixed a bug that caused evaluation of programmable completions to print + notifications of completed jobs. + + zz. Bash now disables line editing when $EMACS == `t' and $TERM == `dumb' + (which is what emacs shell windows do). + + aaa. In posix mode, `kill -l' causes signal names to be displayed without + a leading `SIG'. + + bbb. Clear error flag on standard output so it doesn't persist across multiple + builtin commands. + + ccc. In posix mode, `alias' displays alias values without the leading `alias', + so the output cannot be used as subsequent input. + + ddd. In posix mode, the `trap' builtin doesn't check whether or not its + first argument is a signal specification and revert the signal handling + to its original disposition if it is. + + eee. Fixed several bugs in the handling of "$*" and "${array[*]}" by the + pattern substitution and removal expansions. + + fff. Fixed several problems with the handling of ${array[@]}, ${array[*]}, + $@, and $* by the indirect variable expansion code. + + ggg. Fixed a bug that did not allow `time' to be aliased. + + hhh. Improved the mail checking code so it won't check (and possibly cause an + NFS file system mount) until MAILPATH or MAIL is given a value -- there + is no default if DEFAULT_MAIL_DIRECTORY is not defined at compile time. + (It is computed by configure, but can be #undef'd in config-bot.h.) + + iii. If the `chkwinsize' option is enabled, the shell checks for window size + changes if a child process exits due to a signal. + + jjj. Removed the attempts to avoid adding a slash at the end of a completed + executable name if there was a directory with the same name in the + current directory. + + kkk. Fixed PATH lookup code so it treats the permission bits separately for + owner, group, and other, rather than checking them all. + + lll. Fixed the locale code to reset the parser's idea of the character class + , which controls how it splits tokens, when the locale changes. + + mmm. The shell now binds its special readline functions and key bindings only + if the user's inputrc file has not already bound them. + + nnn. The shell now reports on processes that dump core due to signals when + invoked as `-c command'. + + 2. Changes to Readline + + a. Fixes to avoid core dumps because of null pointer references in the + multibyte character code. + + b. Fix to avoid infinite recursion caused by certain key combinations. + + c. Fixed a bug that caused the vi-mode `last command' to be set incorrectly. + + d. Readline no longer tries to read ahead more than one line of input, even + when more is available. + + e. Fixed the code that adjusts the point to not mishandle null wide + characters. + + f. Fixed a bug in the history expansion `g' modifier that caused it to skip + every other match. + + g. Fixed a bug that caused the prompt to overwrite previous output when the + output doesn't contain a newline and the locale supports multibyte + characters. This same change fixes the problem of readline redisplay + slowing down dramatically as the line gets longer in multibyte locales. + + h. History traversal with arrow keys in vi insertion mode causes the cursor + to be placed at the end of the new line, like in emacs mode. + + i. The locale initialization code does a better job of using the right + precedence and defaulting when checking the appropriate environment + variables. + + j. Fixed the history word tokenizer to handle <( and >( better when used as + part of bash. + + k. The overwrite mode code received several bug fixes to improve undo. + + l. Many speedups to the multibyte character redisplay code. + + m. The callback character reading interface should not hang waiting to read + keyboard input. + + n. Fixed a bug with redoing vi-mode `s' command. + + o. The code that initializes the terminal tracks changes made to the terminal + special characters with stty(1) (or equivalent), so that these changes + are reflected in the readline bindings. New application-callable function + to make it work: rl_tty_unset_default_bindings(). + + p. Fixed a bug that could cause garbage to be inserted in the buffer when + changing character case in vi mode when using a multibyte locale. + + q. Fixed a bug in the redisplay code that caused problems on systems + supporting multibyte characters when moving between history lines when the + new line has more glyphs but fewer bytes. + + r. Undo and redo now work better after exiting vi insertion mode. + + s. Make sure system calls are restarted after a SIGWINCH is received using + SA_RESTART. + + t. Improvements to the code that displays possible completions when using + multibyte characters. + + u. Fixed a problem when parsing nested if statements in inputrc files. + + v. The completer now takes multibyte characters into account when looking for + quoted substrings on which to perform completion. + + w. The history search functions now perform better bounds checking on the + history list. + + 3. New Features in Bash + + a. ANSI string expansion now implements the \x{hexdigits} escape. + + b. There is a new loadable `strftime' builtin. + + c. New variable, COMP_WORDBREAKS, which controls the readline completer's + idea of word break characters. + + d. The `type' builtin no longer reports on aliases unless alias expansion + will actually be performed. + + e. HISTCONTROL is now a colon-separated list of values, which permits + more extensibility and backwards compatibility. + + f. HISTCONTROL may now include the `erasedups' option, which causes all lines + matching a line being added to be removed from the history list. + + g. `configure' has a new `--enable-multibyte' argument that permits multibyte + character support to be disabled even on systems that support it. + + h. New variables to support the bash debugger: BASH_ARGC, BASH_ARGV, + BASH_SOURCE, BASH_LINENO, BASH_SUBSHELL, BASH_EXECUTION_STRING, + BASH_COMMAND + + i. FUNCNAME has been changed to support the debugger: it's now an array + variable. + + j. for, case, select, arithmetic commands now keep line number information + for the debugger. + + k. There is a new `RETURN' trap executed when a function or sourced script + returns (not inherited child processes; inherited by command substitution + if function tracing is enabled and the debugger is active). + + l. New invocation option: --debugger. Enables debugging and turns on new + `extdebug' shell option. + + m. New `functrace' and `errtrace' options to `set -o' cause DEBUG and ERR + traps, respectively, to be inherited by shell functions. Equivalent to + `set -T' and `set -E' respectively. The `functrace' option also controls + whether or not the DEBUG trap is inherited by sourced scripts. + + n. The DEBUG trap is run before binding the variable and running the action + list in a `for' command, binding the selection variable and running the + query in a `select' command, and before attempting a match in a `case' + command. + + o. New `--enable-debugger' option to `configure' to compile in the debugger + support code. + + p. `declare -F' now prints out extra line number and source file information + if the `extdebug' option is set. + + q. If `extdebug' is enabled, a non-zero return value from a DEBUG trap causes + the next command to be skipped, and a return value of 2 while in a + function or sourced script forces a `return'. + + r. New `caller' builtin to provide a call stack for the bash debugger. + + s. The DEBUG trap is run just before the first command in a function body is + executed, for the debugger. + + t. `for', `select', and `case' command heads are printed when `set -x' is + enabled. + + u. There is a new {x..y} brace expansion, which is shorthand for {x.x+1, + x+2,...,y}. x and y can be integers or single characters; the sequence + may ascend or descend; the increment is always 1. + + v. New ksh93-like ${!array[@]} expansion, expands to all the keys (indices) + of array. + + w. New `force_fignore' shopt option; if enabled, suffixes specified by + FIGNORE cause words to be ignored when performing word completion even + if they're the only possibilities. + + x. New `gnu_errfmt' shopt option; if enabled, error messages follow the `gnu + style' (filename:lineno:message) format. + + y. New `-o bashdefault' option to complete and compgen; if set, causes the + whole set of bash completions to be performed if the compspec doesn't + result in a match. + + z. New `-o plusdirs' option to complete and compgen; if set, causes directory + name completion to be performed and the results added to the rest of the + possible completions. + + aa. `kill' is available as a builtin even when the shell is built without + job control. + + bb. New HISTTIMEFORMAT variable; value is a format string to pass to + strftime(3). If set and not null, the `history' builtin prints out + timestamp information according to the specified format when displaying + history entries. If set, bash tells the history library to write out + timestamp information when the history file is written. + + cc. The [[ ... ]] command has a new binary `=~' operator that performs + extended regular expression (egrep-like) matching. + + dd. `configure' has a new `--enable-cond-regexp' option (enabled by default) + to enable the =~ operator and regexp matching in [[ ... ]]. + + ee. Subexpressions matched by the =~ operator are placed in the new + BASH_REMATCH array variable. + + ff. New `failglob' option that causes an expansion error when pathname + expansion fails to produce a match. + + gg. New `set -o pipefail' option that causes a pipeline to return a failure + status if any of the processes in the pipeline fail, not just the last + one. + + 4. New Features in Readline + + a. History expansion has a new `a' modifier equivalent to the `g' modifier + for compatibility with the BSD csh. + + b. History expansion has a new `G' modifier equivalent to the BSD csh `g' + modifier, which performs a substitution once per word. + + c. All non-incremental search operations may now undo the operation of + replacing the current line with the history line. + + d. The text inserted by an `a' command in vi mode can be reinserted with + `.'. + + e. New bindable variable, `show-all-if-unmodified'. If set, the readline + completer will list possible completions immediately if there is more + than one completion and partial completion cannot be performed. + + f. There is a new application-callable `free_history_entry()' function. + + g. History list entries now contain timestamp information; the history file + functions know how to read and write timestamp information associated + with each entry. + + h. Four new key binding functions have been added: + + rl_bind_key_if_unbound() + rl_bind_key_if_unbound_in_map() + rl_bind_keyseq_if_unbound() + rl_bind_keyseq_if_unbound_in_map() + + ------------------------------------------------------------------------------ This document details the changes between this version, bash-2.05b-release, and the previous version, bash-2.05b-beta2. *************** *** 158,162 **** the history list from the shell startup files. ! g. `history -s args' now works bettern in compound commands. h. The tilde expansion code was fixed to better recognize when it's being --- 867,871 ---- the history list from the shell startup files. ! g. `history -s args' now works better in compound commands. h. The tilde expansion code was fixed to better recognize when it's being diff -aNrc2 bash-2.05b-patched/COMPAT bash-3.0/COMPAT *** bash-2.05b-patched/COMPAT Wed Jul 3 17:28:54 2002 --- bash-3.0/COMPAT Fri Jul 16 21:32:11 2004 *************** *** 1,10 **** This document details the incompatibilites between this version of bash, ! bash-2.05b, and the previous widely-available version, bash-1.14 (which ! is still the `standard' version for many Linux distributions). These ! were discovered by users of bash-2.x, so this list is not comprehensive. ! Some of these incompatibilities occur between the current version and ! versions 2.0 and above. ! 1. Bash now uses a new quoting syntax, $"...", to do locale-specific string translation. Users who have relied on the (undocumented) behavior of bash-1.14 will have to change their scripts. For --- 1,11 ---- This document details the incompatibilites between this version of bash, ! bash-3.0, and a previous widely-available version, bash-1.14 (which ! is still the `standard' version for a few Linux distributions). These ! were discovered by users of bash-2.x and 3.x, so this list is not ! comprehensive. Some of these incompatibilities occur between the current ! version and versions 2.0 and above. (The differences between bash-1.14 ! and bash-2.0 were significant.) ! 1. Bash uses a new quoting syntax, $"...", to do locale-specific string translation. Users who have relied on the (undocumented) behavior of bash-1.14 will have to change their scripts. For *************** *** 209,210 **** --- 210,214 ---- SSH2_CLIENT variables, and no longer attempts to discover whether or not it has been invoked by sshd in order to run the startup files. + + 18. Bash no longer requires that the body of a function be a group command; + any compound command is accepted. diff -aNrc2 bash-2.05b-patched/CWRU/changelog bash-3.0/CWRU/changelog *** bash-2.05b-patched/CWRU/changelog Wed Jul 10 16:17:58 2002 --- bash-3.0/CWRU/changelog Sat Jul 17 15:44:32 2004 *************** *** 501,505 **** input.c ! - check for read error before doing \r\n translation on cygnus in b_fill_buffer - reset bp->b_used to 0 instead of leaving it at -1 on read error --- 501,505 ---- input.c ! - check for read error before doing \r\n translation on cygwin in b_fill_buffer - reset bp->b_used to 0 instead of leaving it at -1 on read error *************** *** 6255,6256 **** --- 6255,9640 ---- builtins/set.def - remove mention of `-i' from long help doc, since it has no effect + + 7/17 + ---- + [bash-2.05b released] + + 7/18 + ---- + + lib/malloc/malloc.c + - make sure that the `free_return' label has a non-empty statement + to branch to + + 7/19 + ---- + locale.c + - only call setlocale() from set_lang() if HAVE_SETLOCALE is defined; + otherwise just return 0 + + lib/readline/mbutil.c + - only try to memset `ps' in _rl_get_char_len if it's non-NULL. Ditto + for _rl_adjust_point + + 7/23 + ---- + execute_cmd.c + - fix for executing_line_number() when compiling without conditional + commands, dparen arithmetic or the arithmetic for command + + + 7/24 + ---- + support/Makefile.in + - fix maintainer-clean, distclean, mostlyclean targets + + builtins/common.c + - fix bug in sh_nojobs where it doesn't pass the right number of args + to builtin_error + + bashline.c + - when using command completion and trying to avoid appending a slash + if there's a directory with the same name in the current directory, + use absolute_pathname() instead of just checking whether the first + char of the match is a slash to catch things like ./ and ../ + + examples/complete/bashcc-1.0.1.tar.gz + - a package of completions for Clear Case, from Richard S. Smith + (http://www.rssnet.org/bashcc.html) + + input.c + - fix check_bash_input to call sync_buffered_stream if the passed fd + is 0 and the shell is currently reading input from fd 0 -- all it + should cost is maybe an additional read system call, and it fixes + the bug where an input redirection to a builtin inside a script + which is being read from stdin causes the already-read-and-buffered + part of the script to be thrown away, e.g.: + + bash < x1 + + where x1 is + + hostname + read Input < t.in + echo $Input + echo xxx + + execute_cmd.c + - in initialize_subshell(), call unset_bash_input (0) to not mess with + fd 0 if that's where bash thinks it's reading input from. Fixes + bug reported by jg@cs.tu-berlin.de on 17 July 2002. Should be a way + to check whether or not the current fd 0 at the time of the call has + not been redirected, like in the bug report. Also might eventually + want to throw in a sync_buffered_stream if bash is reading input + from fd 0 in a non-interactive shell into a buffered stream, so the + stream is sync'd -- might be necessary for some uses + + 7/25 + ---- + lib/readline/signals.c + - make sure rl_catch_sigwinch is declared even if SIGWINCH is not + defined, so the readline state saving and restoring functions in + readline.c are always the same size even if SIGWINCH is not defined, + and undefined references don't occur when SIGWINCH is not defined + + 7/30 + ---- + bashline.c + - augment patch from 7/24 to not disable rl_filename_completion_desired + if the first char of the match is `~' + + lib/readline/bind.c + - when creating `shadow' keymaps `bound' to ANYOTHERKEY, don't bind + a key whose type is ISFUNC but whose function is the `fake' + rl_do_lowercase_version (fixes debian bash bug #154123) + + lib/readline/readline.c + - don't call _rl_vi_set_last from _rl_dispatch_subseq if + key == ANYOTHERKEY (when truncated to `sizeof(char)', it will be 0, + which strchr will find in `vi_textmod') + + 7/31 + ---- + lib/readline/input.c + - fix rl_gather_tyi to only slurp up one line of available input, even + if more than one line is available (fixes debian bash bug #144585) + + 8/3 + --- + bashline.c + - better fix for command completion problem -- test for directory + explicitly with test_for_directory before turning off + rl_filename_completion_desired, since that's the case we're trying + to protect against + + 8/5 + --- + include/shmbutil.h + - fix ADVANCE_CHAR macro to advance the string pointer if mbrlen + returns 0, indicating that the null wide character (wide string + terminator) was found (debian bash bug #155436) + + lib/readline/mbutil.c + - fix _rl_adjust_point to increment the string pointer if mbrlen + returns 0 + + support/shobj-conf + - fix for the `-install_name' value in SHLIB_XLDFLAGS assignment for + Darwin from the fink folks + + 8/6 + --- + builtins/exit.def + - broke code that runs ~/.bash_logout out into a separate function: + bash_logout() + + builtins/common.h + - extern declaration for bash_logout() + + eval.c + - call bash_logout() from alrm_catcher(), so timed-out login shells + run ~/.bash_logout before processing the exit trap + + lib/sh/strtrans.c + - implemented $'\x{hexdigits}' expansion from ksh93 + + configure.in + - define RECYCLES_PIDS in LOCAL_CFLAGS for cygwin; don't bother to + link with -luser32 + + examples/loadables/strftime.c + - new loadable builtin, interface to strftime(3) + + 8/7 + --- + parse.y + - parse_arith_cmd now takes a second argument, a flag saying whether + or not to add double quotes to a parsed arithmetic command; changed + callers + - changed parse_dparen so it tells parse_arith_cmd to not add the + double quotes and therefore doesn't need to remove them + - change parse_dparen to add W_NOGLOB|W_NOSPLIT|W_QUOTED flags to word + created when parsing (( ... )) arithmetic command, since the double + quotes are no longer added + + make_cmd.c + - in make_arith_for_expr, set the flags on the created word to + W_NOGLOB|W_NOSPLIT|W_QUOTED + + execute_cmd.c + - change execute_arith_command to expand the expression with + expand_words_no_vars, like the arithmetic for command code does + - fix execute_arith_command to handle the case where the expanded + expression results in a NULL word without crashing + + tests/{arith-for,cprint}.tests + - change expected output to account for no longer adding quotes to + ((...)) commands + + 8/8 + --- + print_cmd.c + - take out the space after printing the `((' and before printing the + `))' in print_arith_command, print_arith_for_command, and + xtrace_print_arith_cmd + + tests/{arith-for,cprint}.tests + - change expected output to account for no longer adding leading and + trailing spaces when printing ((...)) and arithmetic for commands + + 8/17 + ---- + subst.c + - fix issep() define to handle case where separators[0] == '\0', in + which case it always returns false + + lib/readline/histexpand.c + - fix off-by-one error in history_expand_internal when using the `g' + modifier that causes it to skip every other match when matching a + single character (reported by gjyun90@resl.auto.inha.ac.kr) + + doc/{bash.1,bashref.texi} + - make sure that the name=word form of argument to declare/typeset, + export, and readonly is documented in the description + + 8/30 + ---- + lib/readline/histexpand.c + - make history_expand_internal understand double quotes, because + single quotes are not special inside double quotes, according to + our shell-like quoting conventions. We don't want unmatched + single quotes inside double-quoted strings inhibiting history + expansion + - make `a' modifier equivalent to `g' modifier for compatibility with + the BSD csh + - add a `G' modifier that performs a given substitution once per word + (tokenized as the shell would do it) like the BSD csh `g' modifier + + 8/31 + ---- + braces.c + - when compiling for the shell, treat ${...} like \{...} instead of + trying to peek backward when we see a `{'. This makes it easier + to handle things like \${, which should be brace expanded because + the $ is quoted + + 9/7 + --- + aclocal.m4 + - redirect stdin from /dev/null in BASH_CHECK_DEV_FD before testing + the readability of /dev/fd/0, so we're dealing with a known quantity + + 9/11 + ---- + [prayers for the victims of 9/11/01] + + shell.c + - fix maybe_make_restricted to handle a restricted login shell with a + base pathname of `-rbash' and skip over any leading `-' + + 9/13 + ---- + builtins/evalstring.c + - in parse_and_execute, make sure we don't try to run unwind-protects + back to `pe_dispose' after a longjmp back to top_level if the + pe_dispose frame hasn't been initialized + + lib/readline/display.c + - fix problem with prompt overwriting previous output when the output + doesn't contain a newline in a multi-byte locale. This also should + fix the problem of bash slowing down drastically on long lines when + using a multi-byte locale, because it no longer tries to rewrite the + entire line each time. Patch from Jiro SEKIBA + + parse.y + - move the typedef for alias_t that is compiled in if ALIAS is not + defined up before the prototype for push_string, since that takes + an alias_t * parameter + + lib/readline/terminal.c + - bind the termcap description's left and right arrow keys to + rl_backward_char and rl_forward_char, respectively, instead of + rl_forward and rl_backward (which are just there for backwards + compatibility) + + aclocal.m4 + - when testing readability of /dev/stdin, redirect stdin from /dev/null + to make sure it's a readable file + + 9/17 + ---- + config-bot.h + - don't test __STDC__ when deciding whether or not to use stdarg.h; + just use it if it's present + + tests/read2.sub + - redirect from /dev/tty when using `read -t' + + 9/20 + ---- + builtins/history.def + - when reading `new' entries from the history file with `history -n', + fix increment of history_lines_this_session by taking any change + in history_base into account + + lib/sh/pathphys.c + - changes to sh_physpath to deal with pathnames that end up being + longer than PATH_MAX without dumping core + + lib/readline/doc/{history.3,hsuser.texinfo},doc/ bash.1 + - documented new `a' and `G' history modifiers + + 9/25 + ---- + lib/readline/misc.c + - when traversing the history list with arrow keys in vi insertion + mode, put the cursor at the end of the line (like in emacs mode) + + mksyntax.c + - don't try to use \a and \v unless __STDC__ is defined; use the + ascii integer equivalents otherwise + - include "config.h" in the generated syntax.c file for a possible + definition of `const' + + doc/{bash.1,bashref.texi} + - document the meaning of a null directory in $PATH + + 9/26 + ---- + parse.y + - fix set_line_mbstate to handle case where mbrlen() returns 0, + indicating the null wide character + - fix set_line_mbstate so we don't directly compare a char variable + to EOF, since char can (and is) unsigned on some machines + + bashline.c + - change bash_execute_unix_command to save a little bit more state: + last_shell_builtin, this_shell_builtin, last_command_exit_value + + 9/27 + ---- + execute_cmd.c + - tentative change to execute_simple_command to avoid freeing freed + memory in the case where bash forks early but still ends up calling + execute_disk_command, without passing newly-allocated memory to + make_child. This may fix the core dumps with the linux-from-scratch + folks + + 9/28 + ---- + Makefile.in,{builtins,lib/sh}/Makefile.in + - fix up dependencies, mostly on ${BUILD_DIR}/version.h, so that + parallel makes work with GNU and BSD makes + + shell.h + - new struct to save partial parsing state when doing things like + bash_execute_unix_command and other operations that execute + commands while a line is being entered and parsed + + parse.y + - new functions, save_parser_state() and restore_parser_state(), to + save and restore partial parsing state + + bashline.c + - change bash_execute_unix_command to call {save,restore}_parser_state + + builtins/jobs.def + - change execute_list_with_replacements to eliminate a run_unwind_frame + in favor of calling the cleanup explicitly and discarding the frame + + execute_cmd.c + - change execute_for_command to avoid a run_unwind_frame in the case + where the loop variable is readonly or otherwise not assignable + - change execute_select_command and execute_simple_command to use + discard_unwind_frame by running the cleanup code explicitly, instead + of using run_unwind_frame + - make sure execute_select_command decreases loop_level even on error + + 9/30 + ---- + doc/{bash.1,bashref.texi} + - fixed description of `unset' now that unsetting a previously-unset + variable is no longer an error + + 10/3 + ---- + {configure,config.h}.in + - augment check for strtold with additional check to detect the + horribly broken hp/ux 11.x implementation that returns `long_double'; + defines STRTOLD_BROKEN if so + + builtins/printf.def + - define floatmax_t as `double' if STRTOLD_BROKEN is defined + + 10/5 + ---- + lib/readline/keymaps.c + - don't automatically bind uppercase keys to rl_do_lowercase_version + in rl_make_bare_keymap + + lib/readline/readline.c + - explicitly check for ANYOTHERKEY binding to rl_do_lowercase_version + and dispatch to lowercase of key when a prefix is not matched + + 10/12 + ----- + bashline.c + - set COMP_WORDBREAKS in enable_hostname_completion to the value + of rl_completer_word_break_characters + + variables.c + - new special variable COMP_WORDBREAKS, controls the value of + rl_completer_word_break_characters + + variables.h + - new extern declaration for sv_comp_wordbreaks() + + subst.c + - change split_at_delims to behave more like shell word splitting if + the passed value for the delimiters is NULL, indicating that the + function is to use $IFS to split + + {execute_cmd,jobs,test,findcmd,input,make_cmd,redir,shell}.c + builtins/mkbuiltins.c,builtins/{fc,history,source,umask}.def + lib/sh/netconn.c + lib/termcap/termcap.c + lib/readline/histfile.c + - make sure all inclusions of are protected by + HAVE_SYS_FILE_H + + bashline.c + - don't turn off rl_filename_completion_desired in + attempt_shell_completion if the partial pathname contains a slash. + This still doesn't solve the problem of partial pathname completion + starting with a directory in the current directory without a + leading `./'. There's no way to tell the difference between that + and a file found in $PATH (which may contain `.') at the point that + attempt_shell_completion acts + + 10/18 + ----- + locale.c + - don't set lc_all to the default locale when LC_ALL is being unset + - new function, reset_locale_vars(), called to recompute the correct + locale variable values when LC_ALL is unset + - changed set_lang to not set LC_ALL, which it never should have been + doing in the first place, and to maintain a local variable `lang' + corresponding to $LANG + - change get_locale_var to use the precedence posix.2 specifies: + LC_ALL overrides individual variables; LANG, if set, is the default + - change set_locale_var to call get_locale_var to get the appropriate + value for the variable being set or unset + - call get_locale_var instead of using passed value in set_locale_var + to get the defaulting and precedence right + + lib/readline/nls.c + - new function, _rl_get_locale_var(), which does the same thing as + locale.c:get_locale_var(), with the right precedence and defaulting, + using sh_get_env_value to get the right bash variable values + - if HAVE_SETLOCALE is defined, _rl_init_eightbit first calls + _rl_get_locale_var to get the right value for LC_CTYPE, and uses + that in the call to setlocale. If _rl_get_locale_var returns NULL, + call setlocale() to get the current international environment, and, + finally, if that returns null, call setlocale with a second argument + of "" to force the implementation's `native' environment + + pcomplete.c + - change gen_wordlist_completions to dequote the text before comparing + it against the expanded word list + - changed gen_matches_from_itemlist to do the same thing + + bashline.c + - new global function, bash_dequote_word, calls bash_dequote_filename + on the text passed. Used by the programmable completion code + + lib/readline/histfile.c + - make sure that whenever read_history_range returns a non-zero value + that it sets errno to some useful value + + 10/19 + ----- + variables.c + - COMP_WORDBREAKS is now a dynamic variable, mirroring value of + rl_completer_word_break_characters. Makes sure that the variable + always points to dynamic memory if it's not null or the readline + default + + bashline.c + - change enable_hostname_completion to manage a dynamic value of + rl_completer_word_break_characters, since assignments to + COMP_WORDBREAKS can change its value unpredictably + + lib/readline/{complete.c,readline.h} + - rl_completer_word_break_characters no longer has `const' attribute + + bashline.c + - clean up necessary places due to rl_completer_word_break_characters + no longer being `const' + + doc/{bash.1,bashref.texi} + - document new COMP_WORDBREAKS variable + + 10/21 + ----- + print_cmd.c + - fix indirection_level_string to handle the case where the decoded + $PS4 is null without seg faulting + + 10/22 + ----- + builtins/shift.def + - make sure that there is actually an argument when reporting a shift + count that exceeds the number of positional paramters and + shift_verbose is enabled + + lib/readline/rltty.c + - change SET_SPECIAL to call a new function, set_special_char, since + it contains a block. It's called infrequently, so the performance + impact of making it a function should be negligible, and it helps + debugging + + 10/29 + ----- + bashline.c + - make sure the editor in VI_EDIT_COMMAND and EMACS_EDIT_COMMAND is + quoted; it might contain spaces (e.g., `emacs -nw') + + aclocal.m4 + - cache ac_cv_rl_version in RL_LIB_READLINE_VERSION macro + + configure.in + - change logic that sets RL_INCLUDEDIR so that it doesn't try to set + a bogus include path if the argument to --with-installed-readline + is `yes' -- helps with cross-compiling + + lib/readline/histexpand.c + - fix history_tokenize_word so that it handles <( and >( better + + 10/30 + ----- + redir.c + - fix write_here_string so it handles the case where `herestr' expands + to NULL without seg faulting + + 10/31 + ----- + mailcheck.c + - reverse logic flip from bash-2.05 that handled systems that don't + change the atime when the mailbox is accessed; make sure the file + is bigger before we report new mail. This is the case in the vast + majority of cases. Reported by jim@jtan.com + + 11/5 + ---- + parse.y + - change action for `for x; { list; }' and corresponding `select' + production to use \"$@\" instead of just $@, as it is with all the + other actions + + 11/9 + ---- + parse.y + - new flag for parse_matched_pair: P_DQUOTE, indicating that the + pair of characters being matched is between double quotes + - parse_matched_pair now passes P_DQUOTE down to recursive calls: + if the open char to be matched is a `"' or the passed-in flags + include P_DQUOTE, set the local `rflags' variable to P_DQUOTE and + pass `rflags' down to recursive calls + - if `rflags' includes P_DQUOTE, don't try to ansiexpand $'...' or + locale expand $"..."; consistent with other quoting constructs + + 11/11 + ----- + doc/{bash.1,bashref.texi} + - explicitly note that variables referenced in arithmetic expressions + without using `$' evaluate to 0 if they are null or unset + - note that a null variable value evaluates to 0 when used in an + arithmetic context, like when a variable with the `-i' attribute is + assigned a null value + - document the ${!prefix@} expansion as equivalent to ${!prefix*} + + 11/12 + ----- + doc/{bash.1,bashref.texi} + - note that the value of an arithmetic expression is as in C + - change the wording to note that `arithmetic evaluation' (not + arithmetic expansion, which has a different meaning) is performed + on the value assigned to a variable whose integer attribute is set + + 11/13 + ----- + execute_cmd.c + - fix execute_disk_command so it calls exit() after printing the error + message in a restricted shell context if the shell has already forked + (nofork != 0 && there are no pipes) + + 11/19 + ----- + builtins/type.def + - don't report on aliases unless expand_aliases is set and the parser + is performing alias expansion; changed tests/type.tests and + tests/type.right accordingly + + 11/25 + ----- + general.c + - fix for full pathnames including drive letters on cygwin from + Corinna (convert to posix-style paths, which the rest of the + code handles much better) + + lib/readline/text.c + - fixes to overwrite mode from jimmy@is-vn.bg: + o in _rl_overwrite_char, do the overwrite mode self-insert + as one group, even when overwriting more than 1 char + o in _rl_overwrite_char, do the insert before the delete so + that an undo positions the cursor on the character restored, + not to the right of it + o in _rl_overwrite_rubout, don't do rl_insert_char(' ') unless + rl_point < rl_end. Since overwrite-mode self-insert acts as + in insert-mode when at eol, make rubout behave like + insert-mode rubout + + 11/30 + ----- + lib/readline/misc.c + - call rl_replace_line with `1' as second parameter if we're going to + immediately overwrite the undo list + + lib/readline/search.c + - in make_history_line_current, use _rl_replace_text to make the line + replacement an undoable operation. Affects all non-incremental + search functions. + + parse.y + - make behavior introduced on 11/9 dependent on extended_quote + variable, controllable by extquote shopt option. Default setting is + on for backwards compatibility + + builtins/shopt.def + - new `extquote' option to control extended_quote variable + + 12/3 + ---- + jobs.c + - change message printed when attempting to put a background job in + the background with `bg' to include the job id and make the + statement declarative + + 12/10 + ----- + bashhist.h + - define explicit flag values for history_control + + variables.c + - change sv_history_control to use new flag values + - change sv_history_control to parse $HISTCONTROL as a colon-separated + list of values for the history_control variable + + bashhist.c + - change check_history_control to use new flag values and restructure + to remove case statement + - new function hc_erasedups(line); removes all entries matching LINE + from the history list + - call hc_erasedups() from check_add_history after we've determined + that we're saving the line + + doc/{bash.1,bashref.texi} + - documented new options available for $HISTCONTROL and that it can + be a colon-separated list of history control options + + 12/11 + ----- + subst.c + - fix pat_subst() to not increment `e' (pointer to the end of the + matched portion of the string) until after we're sure we're going + around the loop again; fixes problem with empty replacements for + a pattern that doesn't match (bug reported by Don Coleman + ) + + 12/17 + ----- + lib/readline/display.c + - fixes to multibyte redisplay from jir@yamato.ibm.com (Jiro SEKIBA): + o speed up calculation of first difference between old and new + lines in the common case + o don't try to see if we're in the middle of a multbyte char + in update_line (we'll see how this one works out) + + 12/18 + ----- + doc/bashref.texi + - make it clear that the `command-list' function definition may be + terminated by an ampersand before the closing brace + + 12/28 + ----- + redir.c + - set `expanding_redir' flag when expanding words in a redirection + + subst.c + - new function, exp_jump_to_top_level(), to do any word expansion + cleanup before a call to jump_to_top_level from within that file; + sets expanding_redir back to 0 before jump_to_top_level + + variables.c + - in find_variable(), don't call find_variable_internal with a second + parameter of 1 if expanding_redir is non-zero + - in find_variable_internal(), don't search the temporary env if + subshell_environment includes SUBSHELL_FORK (indicating a simple + command) and expanding_redir is non-zero + + parse.y + - increment line_number when we read a \ pair + + array.c + - added array_unshift_element and array_shift_element (which just call + array_shift and array_rshift, respectively), for bash debugger + support + + 1/4/2003 + -------- + doc/{bash.1,bashref.texi} + - note in the section describing the execution environment passed to + children that subshells inherit shell functions marked for export + - note in the section describing shell functions the possibility + that exported functions may result in two entries in the environment + with the same name + + parse.y + - when pushing an alias expansion onto the pushed_string list, append + a space to the expanded definition to make the parser's lookahead + work without using the `mustpop' hack in shell_getc + + 1/8 + --- + shell.c + - change calls to exit() with EX_USAGE as a parameter to use + EX_BADUSAGE instead, since EX_USAGE is defined as 258 and is + technically out of range + + 1/14 + ---- + aclocal.m4 + - check for the termcap functions in libc first: if we don't have + to link in another library, let's not do it + - change the test for mbstate_t to use AC_TRY_COMPILE instead of + AC_TRY_RUN + + doc/{bash.1,bashref.texi} + - document that bash turns line editing off if environment variable + EMACS is set to `t' when it starts up + + doc/bash.1 + - minor change to give the ftp url for the latest version of bash in + the bug reports section + + lib/readline/histexpand.c + - in get_history_event, cast a couple of `const char *' variables to + `char *' in function call parameter lists to avoid compiler warnings + + 1/21 + ---- + builtins/cd.def + - change `cd -' so it prints the current working directory after a + successful chdir even when the shell is not interactive + + 1/31 + ---- + lib/readline/doc/rltech.texinfo + - clarified exactly what is meant by the term `application-specific + completion function', made its use consistent, and documented + what variables are changed before such a function is called + + lib/readline/input.c + - new function, _rl_pushed_input_available(), returns non-zero if + there are characters in the input queue managed by rl_get_char + and _rl_unget_char + + lib/readline/rlprivate.h + - new extern declaration for _rl_pushed_input_available + + lib/readline/callback.c + - change rl_callback_read_char to check _rl_pushed_input_available + and loop if there's something there, so characters don't languish + until more keyboard input is read + + execute_cmd.c + - new variable, last_command_exit_signal, non-zero if + last_command_exit_value result from wait_for was result of a signal + + nojobs.c + - keep track of whether or not a given pid was killed by a signal with + a new flag in the pid_list array + - new function int find_termsig_by_pid(pid_t pid) to get the + terminating signal, if any, for a particular pid + - new function int get_termsig(WAIT status) returns the terminating + signal corresponding to status + - set last_command_exit_signal in wait_for and the various wait_for_xx + functions + + jobs.c + - new functions, process_exit_signal and job_exit_signal, return the + signal that killed a given process or job, if a signal caused its + death + - set last_command_exit_signal in wait_for by calling job_exit_signal + or process_exit_signal appropriately + + subst.c + - don't resend SIGINT to ourselves unless last_command_exit_signal is + SIGINT and last_command_exit_value == 128 + SIGINT. This fixes the + $(exit 130) bug reported by Paul Jarc + + expr.c + - new function, expr_bind_variable, calls bind_int_variable and + then stupidly_hack_special_variables. This fixes the + `let OPTIND=1' bug + + bashline.c + - change history_and_alias_expand_line and shell_expand_line to call + history_expand_line_internal so calls to pre_process_line are + localized + - change history_expand_line_internal and cleanup_expansion_error to + temporarily turn off hist_verify before calling pre_process_line + to avoid the effects described by teirllm@dms.auburn.edu + + parse.y + - don't unconditionally turn off PST_ALEXPNEXT in push_string. This + fixes the multiple alias expansion bug reported by Paul Jarc. + + lib/readline/vi_mode.c + - change rl_vi_subst to push `l' instead of ` ' -- it should be + equivalent, but this has been reported to fix a problem in multibyte + locales + + lib/readline/readline.h + - new state flag value RL_STATE_TTYCSAVED, indicates that save_tty_chars + has been called. Since it's only used and visible internally, it's + undocumented + + lib/readline/rltty.h + - changed all of the members of _rl_tty_chars struct to `unsigned char' + + lib/readline/rltty.c + - set the RL_STATE_TTYCSAVED after save_tty_chars is called + - new function, rl_tty_unset_default_bindings(), resets bindings for + everything rl_tty_set_default_bindings() messes with back to + rl_insert, so rl_tty_set_default_bindings can be called again with + possible changes + - new function that does the bulk of the work for + rltty_set_default_bindings: _rl_bind_tty_special_chars() + - change prepare_terminal_settings so that it can track changes to the + terminal special chars made by stty(1): unset the bindings with + rl_tty_unset_default_bindings before calling save_tty_chars, and + _rl_tty_set_default_bindings after, with the new values from + get_tty_settings(). This implements a long-standing request, most + recently made by Tim Waugh of Red Hat. + + lib/readline/readline.h + - extern declaration for rl_tty_unset_default_bindings() + + lib/readline/readline.c + - new function, reset_default_bindings, calls + rl_tty_unset_default_bindings() to reset the terminal special chars + back to rl_insert and then read the new ones + + lib/readline/doc/rltech.texinfo + - documented rl_tty_unset_default_bindings() + + 2/1 + --- + [prayers and condolences to the families of the space shuttle crew members] + + aclocal.m4 + - add checks for mbrtowc and mbrlen in BASH_CHECK_MULTIBYTE + - new check, BASH_FUNC_CTYPE_NONASCII, checks whether or not the ctype + functions handle non-ascii characters correctly + + config.h.in + - add HAVE_MBRTOWC and HAVE_MBRLEN + - add NO_MULTIBYTE_SUPPORT for new configure argument + - add CTYPE_NON_ASCII + + config-bot.h, lib/readline/rlmbutil.h + - make sure that mbrtowc, mbrlen, and wcwidth are all present before + turning on HANDLE_MULTIBYTE + - turn off multibyte chars if NO_MULTIBYTE_SUPPORT is defined + + configure.in + - new argument --enable-multibyte (enabled by default), allows + multibyte support to be turned off even on systems that support it + + lib/readline/chardefs.h + - define NON_NEGATIVE as 1 if CTYPE_NON_ASCII is defined + + 2/3 + --- + config.h.in + - add HAVE_WCTOMB + + aclocal.m4 + - check for wctomb in BASH_CHECK_MULTIBYTE + + 2/4 + --- + lib/readline/vi_mode.c + - in _rl_vi_change_mbchar_case, make sure the result from wctomb() + is NULL-terminated before trying to insert it with rl_insert_text() + + 2/5 + --- + lib/readline/display.c + - fix to update_line to avoid problems on systems with multibyte + characters when moving between history lines when the new line + has more glyphs but fewer bytes (twaugh@redhat.com) + + lib/readline/vi_mode.c + - use wcrtomb() instead of wctomb() in _rl_vi_change_mbchar_case + + pcomplete.c + - fix init_itemlist_from_varlist to handle the case where the + `varlist' is NULL + + doc/{bash.1,bashref.texi} + - clarified when a simple command may fail without the shell exiting + when -e is set + + 2/13 + ---- + parse.y + - when bash is started with --nolineediting, ignore \[ and \] when + decoding the prompt string + + subst.c + - fix remove_quoted_nulls so that a string with a CTLESC appearing + after a CTLNUL (which was removed) does not leave characters in + the string inappropriately + + 2/14 + ---- + builtins/common.h + - new flag value for parse_and_execute(): SEVAL_RESETLINE, which + allows the caller to specify whether or not the internal idea + of the line number should be reset to 1 + + builtins/evalstring.c + - parse_and_execute() now tells push_string to reset the line + number only if the SEVAL_RESETLINE flag is set by the caller + + 2/15 + ---- + builtins/evalfile.c + - pass SEVAL_RESETLINE from _evalfile() to parse_and_execute() + + subst.c + - if the shell is currently interactive, pass SEVAL_RESETLINE to + parse_and_execute() when doing command substitution + + jobs.c + - add SEVAL_RESETLINE to parse_and_execute while running SIGCHLD trap + + command.h + - add `line' members to case_com, for_com, select_com + - rearranged order of members in some of the command structs, so + `flags' and `line' are first + - added a `source_file' member to the function_def struct; keeps + track of where the function was defined + + doc/Makefile.in + - add some new suffix rules: .dvi.ps + + doc/{bash.1,bashref.texi} + - added text to the description of the `trap' builtin tightening up + the language describing when the ERR trap will be run + + error.c + - if $BASH_SOURCE (internally-maintained) exists, use BASH_SOURCE[0] + in get_name_for_error if the shell is not interactive + + array.h + - new convenience defines: array_push and array_pop + + variables.c + - change get_funcname to return this_shell_function->name only if + arrays have not been compiled into the shell + - change init_funcname_var to initialize FUNCNAME as an array variable + if we have arrays + - new function: get_self(SHELL_VAR *self), a degenerate `dynamic_value' + function for dynamic variables + - new function: init_dynamic_array_var(), a generic dynamic array + variable initializer to handle the common case + - use init_dynamic_array_var() instead of explicit init_dirstack_var() + - use init_dynamic_array_var() instead of explicit init_groups_var() + - new dynamic array variables: BASH_ARGC, BASH_ARGV, BASH_SOURCE, + BASH_LINENO, initialized with init_dynamic_array_var + + shell.c + - initialize BASH_LINENO, BASH_SOURCE, FUNCNAME in open_shell_script + + {execute_cmd,trap}.c + - take out trap_line_number, since parse_and_execute doesn't reset the + line number any more when running the trap commands + + make_cmd.c + - augment make_function_def to get source file name and call + bind_function_def to save the entire FUNCTION_DEF + + variables.c + - new hash table: shell_function_defs, keeps table of shell function + definitions including source file and line number info corresponding + to shell_functions table + - new functions: find_function_def and bind_function_def to manage + the shell_function_defs hash table + - new function: unbind_function_def to remove a function definition + from the shell_function_defs table (right now uncalled) + + variables.h + - extern declaration for bind_function_def, find_function_def + - new extern declaration for unbind_function_def + + execute_cmd.c + - in function prologue and epilogue, push and pop FUNCNAME, + BASH_SOURCE, and BASH_LINENO information + + dispose_cmd.c + - broke the code that disposes a FUNCTION_DEF out into two new + functions: dispose_function_def and dispose_function_def_contents + + dispose_cmd.h + - new extern declarations for dispose_function_def_contents and + dispose_function_def + + copy_cmd.c + - move body of copy_function_def (other than allocating a new + FUNCTION_DEF) to copy_function_def_contents + - make sure to copy the new source_file member of a function_def in + copy_function_def_contents + - copy_function_def is no longer static, copy_function_def_contents + is not either + + command.h + - new extern declaration for copy_function_def_contents and + copy_function_def + + parse.y + - keep a stack of line numbers where case, select, and for commands + start, with a maximum nesting level of 128; increment when reading + word after `for', `select' or `case' in read_token_word; decrement + in grammar actions after parsing a complete for, arith_for, select, + or case command + - create for, case, arith_for, and select commands with an extra + line number (word_lineno[word_top]) argument + + make_cmd.c + - make_for_or_select, make_for_command, make_case_command, and + make_select_command all take an extra `line_number' argument + + make_cmd.h + - corresponding changes to extern declarations for those functions + + 2/16 + ---- + {execute_cmd,shell,variables}.c + - follow each call to remember_args with a call to push_args or + pop_args to manage the BASH_ARGV and BASH_ARGC arrays. Only set + when the shell is started to run shell script or runs a shell + function. Doesn't handle `set' or `shift' yet, nor `source'. + + execute_cmd.c + - keep track of the level of subshells with a new variable, manipulated + in execute_in_subshell + - set currently_executing_command in execute_command_internal(), + even if we're running a trap + - better line number management when executing simple commands, + conditional commands, for commands in execute_command_internal() + and the various functions that implement the commands + (execute_cond_command, execute_for_command, execute_etc.) + + variables.c + - new dynamic variable BASH_SUBSHELL, with new get_subshell and + assign_subshell functions to manipulate it + - new functions push_args (WORD_LIST *list) and pop_args (void) to + manage the BASH_ARGC and BASH_ARGV dynamic array variables + + variables.h + - new extern declarations for push_args and pop_args + + builtins/evalfile.c + - in _evalfile, do appropriate things to the FUNCNAME, BASH_ARGV, + BASH_ARGC, BASH_SOURCE, and BASH_LINENO variables + + support/mksignames.c + - add another fake signal for `trap'; make NSIG+2 == `RETURN' + + trap.c + - _run_trap_internal now returns an int: the exit value of the command + run as the result of the trap + - run_debug_trap now returns an int: the exit value of the command + run as the result of the trap + - RETURN is a new special trap + - new function: set_return_trap(char *command) interface for the rest + of the shell, like set_{debug,error}_trap + - new function: run_return_trap() + - command substitution and other child processes don't inherit the + return trap + + trap.h + - new extern declaration for set_return_trap() and run_return_trap + - new defines for RETURN_TRAP; increment BASH_NSIG + - change extern declaration for run_debug_trap() since it now returns + an int + + shell.c + - new invocation long option: --debugger, turns on debugging and + sets internal `debugging_mode' variable + + execute_cmd.c + - new code to save return trap when executing a shell function, so + shell functions don't inherit it + - run debug trap before binding the variable and running the action + list in a `for' command + - run debug trap before binding the selection variable and running + the query in a `select' command + - run debug trap before running matcher in a `case' command + + builtins/set.def + - new `set -o functrace' (set -T), causes DEBUG trap to be inherited + by shell functions + - new `set -o errtrace' (set -E), causes ERR trap to be inherited + by shell functions + + flags.c + - new flags -E and -T, control error_trace_mode and + function_trace_mode respectively + + flags.h + - new extern declarations for error_trace_mode and function_trace_mode + + 2/17 + ---- + doc/bashref.texi + - changed the `dircategory' as per Karl Berry's suggestion + + doc/texinfo.tex + - update to version of 2003/02/04 from texinfo.org + + support/texi2dvi + - update to version 1.14 from texinfo-4.5 distribution + + 2/20 + ---- + support/config.{guess,sub} + - update to versions of 2002/11/30 + + lib/readline/doc/manvers.texinfo + - renamed to version.texi to match other GNU software + - UPDATE-MONTH variable is now `UPDATED-MONTH' + + lib/readline/doc/{hist,rlman,rluserman}.texinfo + - include version.texi + + doc/version.texi + - new file, with standard stuff matching other GNU distributions + + {doc,lib/readline/doc}/Makefile.in + - include right stuff for `version.texi' + + lib/readline/doc/{rluserman,rlman,hist}.texinfo + - use @copying and @insertcopying and @ifnottex instead of @ifinfo + - add FDL as an appendix entitled `Copying This Manual' + + lib/readline/doc/{rltech,rluser,hstech,hsuser}.texi + - changed the suffix from `texinfo' to `texi' + + lib/readline/doc/{rlman,rluserman}.texinfo, doc/bashref.texi + - include rltech.texi,rluser.texi,hstech.texi, and hsuser.texi + + lib/readline/doc/Makefile.in,doc/Makefile.in + - made appropriate changes for {{rl,hs}tech,{rl,hs}user}.texi + + lib/readline/doc/{rlman,rluserman}.texinfo + - changed the suffix from `texinfo' to `texi' + + lib/readline/doc/hist.texinfo + - renamed to history.texi + + 2/25 + ---- + pathnames.h.in + - moved pathnames.h here so value of DEBUGGER_START_FILE can be + substituted by configure + + aclocal.m4 + - added AM_PATH_LISPDIR for debugger + + configure.in + - added some variables: `bashvers', `relstatus' to use info in more + than one place + - call AM_PATH_LISPDIR + - new option: --enable-debugger, sets DEBUGGER cpp option + - new option with AC_ARG_VAR: DEBUGGER_START_FILE + - make `pathnames.h' a file generated by configure + + Makefile.in + - add rule to create pathnames.h + + builtins/declare.def + - added extra line number and source file name to `declare -F' output + if `--debugger' is used at startup + + builtins/evalfile.c + - call run_return_trap from source_file before returning the result + from _evalfile() + + execute_cmd.c + - call run_return_trap in execute_function before restoring the old + context + + builtins/source.def + - arrange to save and restore DEBUG traps when sourcing files if + function_trace_mode (set -o functrace) is not set + + print_cmd.c + - broke print_for_command, print_select_command, print_case_command + into two functions each: one to print the `header' and one for + the body + - print_cond_command is no longer static + - print_arith_command now takes a WORD_LIST *, since it doesn't + actually do anything with the ARITH_COM it's passed except print + the enclosed WORD_LIST + - print_arith_command is no longer static + + externs.h + - extern declarations for print_{for,select,case}_command_head, + print_cond_command, print_arith_command + + {.,builtins,lib/sh}/Makefile.in + - corrected dependencies on pathnames.h, since it's now created in + the build directory + + 3/5 + --- + lib/glob/glob.c + - handle alloca() failing (it's supposed to return NULL) + - use malloc() (with its attendent bookkeeping) instead of alloca() + in glob_filename() + + subst.c + - check whether shell_glob_filename returns NULL in + glob_expand_word_list + - change parameter_brace_expand_rhs to handle cases like + ${a[2]:=value} by properly creating the array element instead of a + variable named `a[2]' (reported by ) + + variables.c + - change bind_int_variable to use valid_array_reference instead + of looking for `[' + + lib/readline/vi_mode.c + - check for `a' in _rl_vi_done_inserting so the text inserted by an + `a' command can be reinserted with a `.' + + lib/readline/readline.c + - when entering vi insertion mode in readline_internal_setup(), make + sure that _rl_vi_last_key_before_insert is set to `i' so that undo + groups and redo work better (reported by ) + + lib/glob/sm_loop.c + - handle ?(...) in a pattern immediately following a `*', instead of + ignoring the `(' and treating the `?' as a single-char match, as + long as FNM_EXTFLAG is set (reported by ) + + aclocal.m4 + - new test for presence of struct timezone, BASH_STRUCT_TIMEZONE + + config.h.in + - add HAVE_STRUCT_TIMEZONE + + configure.in + - call BASH_STRUCT_TIMEZONE + + execute_cmd.c + - don't try to use `struct timezone' in calls to gettimeofday unless + HAVE_STRUCT_TIMEZONE is defined; use (void *)NULL otherwise + + 3/20 + ---- + execute_cmd.c + - new variable, the_printed_command_except_trap, saves the command + being executed before a trap is executed, for the debugger + + trap.c + - if in debugging mode, let command substitutions and other child + processes inherit the DEBUG and ERR traps if the `functrace' + (which is really a bad name, given this semantic) or `errtrace' + options, respectively, have been set + + shell.c + - local_pending_command renamed to command_execution_string; no longer + static + + variables.c + - new dynamic variable, BASH_COMMAND, set to the command string + currently executing, or the one that caused a trap to execute + (mapped to the_printed_command_except_trap) + - new variable, BASH_EXECUTION_STRING, set to the argument to the + -c invocation option, if the shell was started that way + + 3/22 + ---- + execute_cmd.c + - changed execute_for_command, eval_arith_for_expr, + execute_select_command, execute_arith_command, execute_cond_command, + execute_simple_command to implement new DEBUG trap semantics + for the debugger: if the DEBUG trap commands return a non-zero + status and debugging_mode is non-zero, we skip the command to be + executed + + trap.c + - change run_debug_trap for the debugger: if we're in the debugger + and the DEBUG trap returns 2 while we're in a function or sourced + script, we force a `return' + + shell.c + - new function, start_debugger(), that sources the debugger start file + and turns the debugger on + + builtins/shopt.def + - new settable option, `extdebug', turns on debugging_mode, as if + --debugger had been supplied at invocation (but does not source + debugger startup file) + + trap.c + - make sure that run_exit_trap arranges for `returns' to come back + there, too, so a `return' executed by an `exit' invoked within a + shell function behaves correctly + + support/shobj-conf + - change darwin/MacOS X stanza based on advice from mac os x developers + + lib/sh/mailstat.c + - set the atime member of the synthesized stat struct to 0 if `cur/' + is empty, rather than leaving it undefined + + 3/24 + ---- + builtins/caller.def + - new builtin to provide a call stack for the debugger + + builtins/evalfile.c + - added a second `flags' argument to source_file() + - new flag value for flags argument to _evalfile(): FEVAL_NOPUSHARGS. + If included in flags arg, it means to not manipulate the BASH_ARGV + and BASH_ARGC arrays + + builtins/common.h + - change prototype for source_file() + + builtins/source.def + - add flag value to call to source_file(): set to 1 if we replaced + the positional parameters + - add call to push_args if additional arguments supplied to the + source builtin + - add call to pop_args in maybe_pop_dollar_vars + + execute_cmd.c + - run the debug trap in execute_function so the debugger can stop + before the first command in a function body is executed + - modify subshell_level before executing a builtin or function in a + subshell + - print `for', `select', `case' command heads when set -x is enabled + + print_cmd.c + - `xtrace_print_word_list' now takes an additional flags argument, + which, if non-zero, says to print indirection_level_string() + - new functions to print for, select, and case command heads when + set -x is enabled + - add spaces after `((' and before `))' in xtrace_print_arith_command + + externs.h + - changed extern declaration for xtrace_print_word_list + - new declarations for xtrace_print_{for,case,select}_command_head() + + subst.c + - modify subshell_level when executing a command substitution + + 3/25 + ---- + execute_cmd.c + - use `line_number' in executing_line_number instead of looking into + the current command if it's a simple command; rearrange code to + make this simpler to compile in and out + - need to save and restore value of currently_executing_command around + calls to debug trap and return trap in execute_function + + make_cmd.c + - make sure make_arith_for_command() disposes the WORD_LIST * it is + passed, since nothing else does and it's not used directly + + 3/28 + ---- + Makefile.in + - fixed dependencies for `error.o' on shell.h and version.h -- makes + parallel makes (gmake -j 4) work correctly + + doc/{bash.1,bashref.texi} + - documented all new features added to support the debugger + + 4/1 + --- + lib/sh/shquote.c + - make sure CTLESC and CTLNUL characters are escaped with CTLESC + by sh_double_quote, sh_backslash_quote and + sh_backslash_quote_for_double_quotes + Fixes vulnerability reported by svdb@stack.nl + + shell.h + - new `pipestatus' member of sh_parser_state_t, to save and restore + $PIPESTATUS + + parse.y + - changes to save_parser_state and restore_parser_state to save and + restore $PIPESTATUS + + builtins/read.def + - add a call to word_list_remove_quoted_nulls before assigning the + word list read from standard input to an array variable. Fixes + bug reported by holzhey@ppprs1.phy.tu-dresden.de + + 4/3 + --- + execute_cmd.c + - in execute_null_command, if redirections are supplied, make sure + things like 3 for possible definitions of intmax_t, uintmax_t + (reported by ro@techfak.uni-bielefeld.de) + + 7/30 + ---- + parse.y + - remove checking for `time' reserved word from special_case_tokens(); + use regular mechanism in CHECK_FOR_RESERVED_WORD. This allows `time' + to be aliased. (Reported by Glenn Morris + ) + + 7/31 + ---- + lib/readline/history.h + - extern declaration for history_write_timestamps + + lib/readline/histfile.c + - don't write timestamps to the history file in history_do_write + unless history_write_timestamps is set to non-zero by the application + (set to 0 by default) + + lib/readline/doc/{hstech.texi,history.3} + - document history_write_timestamps + + variables.[ch] + - new special variable function, HISTTIMEFORMAT; special function + sets history_write_timestamps to 1 if HISTTIMEFORMAT is set + + 8/4 + --- + builtins/history.def + - added support for printing time stamps based on the value of the + HISTTIMEFORMAT variable when displaying history entries + + doc/{bash.1,bashref.texi} + - added description of new HISTTIMEFORMAT variable + + 8/5 + --- + config-top.h + - remove /usr/ucb from any default paths + + mailcheck.c + - make_default_mailpath now returns NULL if DEFAULT_MAIL_DIRECTORY + is not defined + - remember_mail_dates now returns if make_default_mailpath returns + NULL + + config-bot.h + - reorganized the sections; provide an explicit placeholder for + builders to #undef any feature defines they don't want that + configure creates for them, like the default mail path + + 8/9 + --- + config.h.in + - add HAVE_REGEX_H, HAVE_REGCOMP, HAVE_REGEXEC for detection of POSIX.2 + regular expression functions + - add COND_REGEXP define to enable and disable the =~ operator for + matching extended regular expressions in [[...]] commands + + configure.in + - new option, --enable-cond-regexp, enables =~ and code to perform + regular expression matching in [[...]] + + config-bot.h + - undef COND_REGEXP if the OS doesn't provide posix regexp support + + doc/bashref.texi + - documnent new --enable-cond-regexp option to configure + + 8/18 + ---- + support/shobj-conf + - support for shared objects on FreeBSD-gnu (from Robert Millan) + + 8/25 + ---- + lib/sh/shmatch.c + - new file, shell interface to posix extended regular expression + matching + + externs.h + - new extern declarations for functions in shmatch.c + + execute_cmd.c + - incorporate code into execute_cond_node that does extended regular + expression matching for the =~ operator + + parse.y + - add `=~' to the list of binary operators accepted by the conditional + command parser + + doc/{bash.1,bashref.texi} + - documented =~ conditional binary operator and the BASH_REMATCH + variable + + 8/27 + ---- + lib/readline/display.c + - take multibyte characters into account when looking for quoted + substrings on which to do completion (fix from jir@yamato.ibm.com) + + lib/readline/util.c + - fix typo in _rl_strpbrk + + lib/readline/rldefs.h + - use function version of _rl_strpbrk in multibyte locales, because + it understands to skip over special characters in multibyte + character sequences + + 8/28 + ---- + jobs.c + - in wait_for, check for window size changes if a job that exits due + to a signal or is stopped was in the foreground, not just if it's + the current job + + 9/10 + ---- + support/config.{guess,sub} + - add support to recognize FreeBSD running on the amd64 + + subst.c + - if the new `fail_glob_expansion' variable is non-zero, globbing that + fails to match anything causes an expansion error + + builtins/shopt.def + - new `failglob' expansion: if enabled, failed globs cause an error + + test/shopt.right + - take `failglob' into account + + doc/{bash.1,bashref.texi} + - documented new `failglob' option and its effects + + 9/12 + ---- + findcmd.c + - fix file_status to treat the mode bits and uid right -- in particular, + don't assume the `other' bits always apply. Bug reported by + ; fix inspired by + + command.h + - new word flag: W_NOCOMSUB, meaning to not perform command + substitution on a word + + subst.c + - new flag for param_expand: PF_NOCOMSUB. If non-zero, $(...) + command substitutions are not expanded, but returned unchanged + - change expand_word_internal to pass through `` command substitutions + unchanged if (word->flags & W_NOCOMSUB) != 0 + - change expand_word_internal to pass PF_NOCOMSUB to param_expand + if (word->flags & W_NOCOMSUB) != 0 + + builtins/shopt.def + - rename set_interactive_comments to set_shellopts_after_change, which + more accurately reflects its purpose + + syntax.h + - add a define for isblank() in case the system doesn't provide one + + jobs.c + - change raw_job_exit_status to understand `pipefail', using the new + `pipefail_opt' variable + + flags.[ch] + - declare pipefail_opt + - reset pipefail_opt to 0 in reset_shell_flags + + builtins/set.def + - add `set -o pipefail' and document it in help output + + doc/{bash.1,bashref.texi} + - document `set -o pipefail' and the effect of the pipefail option + + mksyntax.c,syntax.h + - sh_syntaxtab is no longer `const' + - new generated variable, sh_syntabsiz, set to number of entries in + sh_syntaxtab, written to generated syntax.c + + locale.c + - new function, locale_setblanks(), sets each member of the current + locale's class to have the CSHBRK flag in sh_syntaxtab + + 9/17 + ---- + arrayfunc.c + - change convert_var_to_array to not set array[0] to a NULL value + (if the scalar variable had no value; e.g., after being created + with `local arrayvar') + + lib/readline/display.c + - save and restore the value of prompt_invis_chars_first_line in + rl_{save,restore}_prompt, and reinitialize it to 0 before printing + something in the message area + + lib/readline/bind.c + - new functions: rl_bind_keyseq_if_unbound_in_map(ks, func, kmap); + binds key sequence KS to function FUNC in keymap KMAP, and + rl_bind_keyseq_if_unbound (ks, func); binds key sequence KS to + function FUNC in the current keymap + + lib/readline/readline.h + - extern function declarations for rl_bind_keyseq_if_unbound_in_map and + rl_bind_keyseq_if_unbound + + lib/readline/{readline,terminal}.c + - _rl_bind_if_unbound -> rl_bind_keyseq_if_unbound + + lib/readline/{bind.c,rlprivate.h} + - remove _rl_bind_if_unbound + + 9/18 + ---- + lib/readline/doc/rltech.texi + - document rl_bind_keyseq_if_unbound and + rl_bind_keyseq_if_unbound_in_map + + 9/19 + ---- + lib/readline/bind.c + - new functions rl_bind_key_if_unbound_in_map and + rl_bind_key_if_unbound; analogous to (and implemented in terms of) + keyseq functions + - rl_bind_keyseq_in_map: a new function, equivalent to rl_set_key + (which remains for backwards compatibility); changed callers to + use it + - new function, rl_bind_keyseq, equivalent to rl_bind_keyseq_in_map + with a third argument of _rl_keymap + + lib/readline/readline.h + - extern declarations for rl_bind_key_if_unbound_in_map and + rl_bind_key_if_unbound + - extern declarations for rl_bind_keyseq_in_map and rl_bind_keyseq + + lib/readline/doc/rltech.texi + - document rl_bind_keyseq and rl_bind_keyseq_in_map + + configure.in + - require at least readline-5.0 + + config-bot.h + - define SYS_SIGLIST_DECLARED if it's not defined, but + HAVE_DECL_SYS_SIGLIST is, to deal with differences between + autoconf versions + + bashline.c + - use rl_bind_key_if_unbound_in_map when binding bash keybindings in + initialize_readline(), so inputrc files can override them + + 9/22 + ---- + lib/readline/histsearch.c + - do better bounds checking for history_offset and history_length in + history_search_internal + + builtins/history.def + - in delete_last_history(), make sure we don't leave the history + offset longer than the history length after calling delete_histent + + 9/23 + ---- + jobs.c + - small change to notify_of_job_status so job status messages get + printed even if the shell was started to run `-c command'. The + old behavior was intentional, but I cannot remember why, so we'll + try it the other way for a while (debian bash bug #211693) + + 9/24 + ---- + jobs.c + - slightly modify change from 9/23 so that jobs started to run + command substitutions don't print job status messages + + 9/25 + ---- + lib/readline/search.c + - when reading a non-incremental search string from the terminal, + use a separate undo list rather than chaining it to the undo list + from the rest of the line, since the whole undo list will get + freed when the search string is complete + + lib/readline/readline.h + - changed the defines guarding the stdarg prototype for rl_message to + match what's actually used in display.c, where it's defined + + 9/26 + ---- + [bash-3.0-alpha released] + + 9/29 + ---- + lib/sh/shmatch.c + - fix to build correctly when arrays are not compiled into the shell + + subst.c + - fix command substitution to run any exit trap defined in the + command substitution before returning; the exit trap is not inherited + from the calling shell + + lib/readline/shell.c + - change sh_set_lines_and_columns to free the memory allocated and + passed to setenv(), since setenv is specified by POSIX to allocate + new memory and copy its arguments + + jobs.c + - change logic in make_child so that every child process attempts to + set the terminal's process group to the pipeline's process group + when PGRP_PIPE is defined, just like when it's undefined. This is + reported to fix some tricky synchronization problems on Red Hat + Enterprise Linux 3. Fix from Ernie Petrides . + + 9/30 + ---- + builtins/printf.def + - tescape no longer needs a `trans_squote' argument, since it's the + same as the `sawc' argument. The `sawc' argument now means to do + the %b argument processing if non-null + - fix processing of octal constants for %b arguments (\0 followed by + up to three octal digits) and other escape sequences (\ followed by + up to three octal digits) + - hex constants `\xHHH' are now allowed to contain any positive + number of digits; previously they were restricted to two [removed] + - allow two new escape sequences: \" and \?, for compatibility with + ksh93 and ANSI C + + doc/{bash.1,bashref.texi} + - documented processing that printf performs for arguments to %b + escape sequences + + lib/sh/strtrans.c + - add \" and \? to escape sequences recognized by `echo -e' + + 10/1 + ---- + version.c + - use snprintf instead of sprintf if configure tells us we have it + + 10/3 + ---- + subst.c + - in list_remove_pattern, take into account the fact that one of the + list elements may be NULL, and don't free the result of + remove_pattern() without checking + - in remove_pattern, return savestring(param) if *param == '\0', + since callers expect to free() non-null return values + + 10/4 + ---- + subst.c + - change verify_substring_values to make it clearer that the first + offset deals with array indices and the second deals with numbers + of elements, when doing array subranges with ${a[@]:e1:e2} + + array.c + - change array_subrange to make it explicit that the second offset + argument is a count of the desired number of elements, not an + ending index. This deals with sparse arrays correctly. + + 10/6 + ---- + variables.c + - fix memory leak in assign_in_env + + 10/8 + ---- + subst.c + - in parameter_brace_expand, check that the last characters are `]}' + before checking for ${!array[@]} + + execute_cmd.c,builtins/source.def + - push and pop the args (BASH_ARGV and BASH_ARGC) when executing a + shell function or sourcing a script only when in debugging mode + + 10/11 + ----- + arrayfunc.c + - make sure array_variable_name returns values for the SUBP and LENP + arguments if they're non-null, since callers expect to use them + even if the array subscript is bad + + error.c + - call exit_shell instead of sh_exit from parser_error and + report_error so the right things happen (running exit trap, doing + the right interactive cleanup, etc.) + + lib/readline/complete.c + - new variable, rl_completion_quote_character, set to any quote char + readline thinks it finds before any application completion + function is called + - new variable, rl_completion_suppress_quote, settable by an + application-specific completion function. If set to non-zero, the + completion code does not append a closing quote in append_to_match + + lib/readline/readline.h + - extern declarations for rl_completion_quote_character and + rl_completion_suppress_quote + + bashline.c + - set rl_completion_suppress_quote in command_subst_completion_function + because that would be inserted before any closing "`" or ")", which + is somewhat disconcerting + + lib/readline/doc/rltech.texi + - documented rl_completion_suppress_quote and + rl_completion_quote_character + + 10/13 + ----- + bashhist.c + - use sv_histchars instead of setting history_comment_char directly in + bash_initialize_history so assignments to $histchars made in + ~/.bashrc are honored + + 10/21 + ----- + trap.c + - make sure run_exit_trap sets `running_trap' appropriately + - new variable, trap_saved_exit_value, set to last_command_exit_value + before running any trap commands; available to the rest of the + shell; use trap_saved_exit_value to replace some function-local + variables + + builtins/exit.def + - if the shell is running the exit trap, and no argument is given + to `exit', use trap_saved_exit_value as the exit status instead + of the last command exit value (which could be the previous command + run in the exit trap), as required by POSIX.2 + + 10/25 + ----- + doc/{bash.1,bashref.texi} + - add `alias' to the list of documented `assignment statement' builtins + + 11/1 + ---- + doc/bash.1 + - remove the `.' from the sample $PATH value + + parse.y + - make sure parse_compound_assignment prompts with $PS2 if it reads + a newline while parsing the compound assignment statement. Bug + reported by Stephane Chazelas + - parse_string_to_word_list now takes a new second argument: `int flags' + - new parser state flag: PST_COMPASSIGN; indicates that the shell is + parsing a compound assignment statement + - parse_string_to_word_list turns on PST_COMPASSIGN if `flags' arg + has low bit set + - turn PST_COMPASSIGN on and off in parse_compound_assignment + + externs.h + - change prototype declaration for parse_string_to_word_list + + arrayfunc.c + - change call to parse_string_to_word_list to add new flags arg + + general.c + - assignment() takes a new `flags' second argument + - if `flags' is non-zero, accept `[' as a legal assignment statement + starter character (for parsing compound array assignments) + + general.h + - add new argument to prototype declaration for assignment() + + parse.y,{subst,variables}.c, builtins/{setattr,declare}.def + - change calls to assignment() (parse.y calls with flags == 1 when + parser_state inlcudes PST_COMPASSIGN) + + arrayfunc.c + - in assign_array_var_from_string(), don't treat an expanded word + of the form [ind]=value specially unless the W_ASSIGNMENT flag is + set. This means that words that are the result of expansions but + happen to have the same format as compound assignment statement + words will not be treated as such. For instance + + v='[12]=foobar' + a=( $v ) + + will result in a[0]='[12]=foobar' instead of a[12]=foobar. This + is closer to how `regular' assignment statements are treated and + compatible with ksh93. Bug reported by Stephane Chazelas + + shell.c + - new --protected argument, disables command substitution when used + with --wordexp (like --wordexp, it remains undocumented) + - change run_wordexp to turn on the W_NOCOMSUB flag in each word + to be expanded if protected_mode is set + + 11/7 + ---- + doc/{bash.1,bashref.texi} + - clarified the language concerning inherited signal dispositions and + when traps are run + + support/shobj-conf + - slight changes to the darwin (Mac OS X) stanza for MacOS X 10.3 + (for the readline shared library builds, which shares this script) + + lib/readline/histexpand.c + - change to make `^' behave as equivalent to word one, as csh does, + and as the documentation states + + lib/readline/display.c + - in update_line, make sure to use col_lendiff in all calculations + where the cursor position is concerned (like when calculating + the value of _rl_last_c_pos). Fixes bug reported by Andreas + Schwab + + 11/12 + ----- + trap.c + - make _run_trap_internal catch `return' builtin longjmps and clean + up before longjmping on to where the return was intended to go + (fixes bug with not turning off SIG_INPROGRESS flag when `return' + executed in trap command) + + 11/18 + ----- + builtins/cd.def + - in posix mode, set errno to ENOTDIR if canonicalization fails, + unless the canonicalization functions leave it set to ENOENT + + 11/25 + ----- + make_cmd.c + - in make_simple_command, don't blindly dereference element.redirect + + parse.y + - the list_terminator production now has an `int' value so it can be + used in other grammar productions + - add a rule that makes `time' on a line by itself time a null + command (this is iffy) + + 11/28 + ----- + subst.c + - change the pattern substitution code (${var//pat/rep}) to use the + same pattern expansion function (getpattern()) as the pattern + removal expansions. This has the effect of no longer performing + quote removal on the pattern before trying to match it. This + fixes an incompatibility with ksh93 reported on comp.unix.shell + + nojobs.c + - add replacement function for siginterrupt on the off chance that a + system has posix signals but lacks siginterrrupt + + lib/readline/display.c + - fix from Tim Waugh at Red Hat to speed up inserting characters into + long lines in a UTF-8 environment by optimizing the calculation of + the first difference between old and new lines by checking to see + whether the old line is a subset of the new + + 11/29 + ----- + lib/malloc/stats.c + - break code that opens file (and interprets %p) into separate function + _imalloc_fopen(char *s, char *fn, char *def, char *defbuf, size_t defsiz) + for use by rest of library + - default stats file is now `stats.PID' + + lib/malloc/trace.c + - new function, malloc_set_tracefn (char *s, char *fn), sets tracing + to the file named by FN (with %p interpolated as the pid), using + some default if FN is NULL + + lib/malloc/shmalloc.h + - new extern declaration for malloc_set_tracefn + + 12/4 + ---- + execute_cmd.c + - combined several common strings from do_piping() into one + dup_error() function + + builtins/common.[ch] + - new function, `sh_notbuiltin(s)' prints error message about s not + being a shell builtin + + builtins/{builtin,enable}.def + - call sh_notbuiltin instead of using literal string + + {arrayfunc,expr,error}.c + - use one string variable for `bad array subscript' error message; use + in calls to various error reporting functions + + Makefile.in + - add variables for localedir and the PACKAGE_* variables, auto-set + by configure + + configure.in + - un-cache values for gettext, textdomain, and bindtextdomain if they're + not in libc but in libintl so the right variables get set + + bashintl.h + - add necessary defines for marking strings to be translated using + gettext + + locale.c + - set textdomain and directory in set_default_locale + - don't call textdomain with the value of $TEXTDOMAIN, since we don't + want to override the default domain ("bash") + - don't call bindtextdomain unless default_domain already has a value + - when translating $"..." strings, use dgettext with the script's + default domain (value of $TEXTDOMAIN) + + 12/9 + ---- + builtins/mkbuiltins.c + - include "bashintl.h" in the generated "builtins.c" + + support/{config.rpath,mkinstalldirs} + - new files to support gettext i18n + + ABOUT-NLS + - new readme file for gettext internationalization + + po/{Makefile.in.in,Rules-quot,boldquot.sed,en@boldquot.header,en@quot.header,insert-header.sin,quot.sed,remove-potcdate.sin} + po/{POTFILES.in,bash.pot} + - new files for gettext + + lib/intl + - new directory, with libintl stuff from gettext + + aclocal.m4 + - add m4 files from gettext distribution needed by libintl + + configure.in + - create po/Makefile.in and lib/intl/Makefile in AC_OUTPUT + - add call to AM_GNU_GETTEXT to initialize gettext stuff + + Makefile.in + - use mkinstalldirs instead of mkdirs in the `installdirs' target + - changes for intl/ and po/ subdirectories in build and install + - changes to have libintl linked in, as determined by configure + - changes to have libintl built, just in case it's used (though I'd + rather not) + + 12/10 + ----- + config.h.in + - additional #defines required by the libintl library + - add ENABLE_NLS define for AM_GNU_GETTEXT + - take out defines for HAVE_{BINDTEXTDOMAIN,GETTEXT,TEXTDOMAIN} + + configure.in + - removed old tests for libintl and gettext/textdomain/bindtextdomain + + locale.c + - remove HAVE_GETTEXT code; we have gettext unconditionally now + + bashintl.h + - change to include "gettext.h" and remove the conditional code based + on whether or not gettext is present + + 12/16 + ----- + lib/readline/vi_mode.c + - fix problem with rl_vi_eWord that caused it to skip over the last + character of a word if invoked while point was on the next-to-last + character + + 12/18 + ----- + {arrayfunc,bashhist,bashline,error,eval,execute_cmd,expr,general,input,jobs}.c + {mailcheck,make_cmd,nojobs,pcomplete,pcomplib,print_cmd,redir,shell,sig}.c + {subst,test,trap,variables,version,xmalloc}.c + parse.y + builtins/{common,evalfile,getopt}.c + builtins/{bind,break,caller,cd,complete,declare,enable,exec,exit,fc,fg_bg}.def + builtins/{hash,help,history,jobs,kill,printf,pushd,read,return,set,setattr}.def + builtins/{shift,shopt,source,suspend,type,ulimit,umask}.def + lib/sh/{fmtulong,netopen}.c + - include "bashintl.h" for gettext defines + + Makefile.in + - add `-DBUILDTOOL' to CFLAGS for buildversion.o + + bashintl.h + - if `BUILDTOOL' is defined, define ENABLE_NLS to 0 so we don't have + to compile and link in the gettext stuff + + Makefile.in,lib/sh/Makefile.in,builtins/Makefile.in + - update dependencies on bashintl.h and include/gettext.h + + 12/19 + ----- + {arrayfunc,bashhist,bashline,error,eval,execute_cmd,expr,general,input,jobs}.c + {mailcheck,make_cmd,nojobs,pcomplete,pcomplib,print_cmd,redir,shell,sig}.c + {subst,test,trap,variables,version,xmalloc}.c + builtins/{common,evalfile,getopt}.c + builtins/{bind,break,caller,cd,complete,declare,enable,exec,exit,fc,fg_bg}.def + builtins/{hash,help,history,jobs,kill,let,printf,pushd,read,return,set}.def + builtins/{setattr,shift,shopt,source,suspend,type,ulimit,umask}.def + lib/sh/{fmtulong,netopen}.c + lib/malloc/{malloc,stats,table,watch}.c + - mark up strings in source files for gettext processing + + lib/malloc/imalloc.h + - include "bashintl.h" if SHELL is defined, otherwise make _(x) an + identity define + + lib/malloc/Makefile.in + - add dependencies on ${topdir}/bashintl.h and ${BASHINCDIR}/gettext.h + + 12/21 + ----- + bashline.c + - make sure we index into rl_line_buffer with indexes > 0 in + attempt_shell_completion + + 12/31 + ----- + Makefile.in + - descend into `po' and run make recursively for the various clean + targets + + 1/4 + --- + include/shmbutil.h + - two new macros: BACKUP_CHAR(str, strsize, i), which backs up one + multibyte character in STR starting at index I, and + BACKUP_CHAR_P(str, strsize, p), which backs up one multibyte + character in STR starting at P, which is a char * + + 1/6 + --- + pcomplete.c + - in pcomp_filename_completion_function, use the quote character + readline found (and assigned to rl_complete_quote_character) when + dequoting the filename by a completion call from readline (when + rl_dispatching != 0) + + bashline.c + - ditto for bash_directory_completion_matches + + 1/7 + --- + lib/readline/complete.c + - new variable, rl_completion_found_quote, set to non-zero value if + readline finds what it thinks is quoting in the word to be completed + + lib/readline/readline.h + - extern declaration for rl_completion_found_quote + + 1/8 + --- + lib/readline/doc/rltech.texi + - documented rl_completion_found_quote + + lib/readline/complete.c + - in compute_lcd_of_matches, if it looks like what the user typed was + dequoted before generating filename matches, dequote the user's + text again before figuring out the case-insensitive lcd + + 1/9 + --- + lib/readline/display.c + - fix from Edward Catmur to logic that handles + invisible characters in prompt string. Original code was wrong + about local_prompt_prefix; it gave incorrect results when prompt + contained invisible characters after a line break + + 1/10 + ---- + subst.c + - new function, mb_substring(), does character (possibly multibyte) + oriented rather than strictly byte-oriented substring extraction. + The passed indices, rather than strictly indexing into the string, + indicate character positions that need to be calculated. From + Tim Waugh + - change parameter_brace_substring to use mb_substring if necessary + + included/shmbutil.h + - new define SADD_MBQCHAR_BODY, common code for adding a quoted + (preceded by CTLESC) multibyte character to an accumulating string + in the subst.c expansion code + + subst.c + - use SADD_MBQCHAR_BODY in expand_word_internal + - new static function, mb_getcharlens, allocates and returns an array + of character lengths for (possibly multibyte) characters in the + argument string + - change pattern matching operations to use while loops instead of + for loops to handle multibyte characters better (no more simple + increment or decrement) + - change pattern matching operations to use multibyte character + operations instead of simple increments and decrements. Don't + use BACKUP_CHAR_P -- use the mblen array instead, because that + avoids the N**2 behavior of having to count from the beginning + of the string each time you want to back up one character. Changes + to remove_pattern and match_pattern + + 1/12 + ---- + lib/readline/display.c + - make expand_prompt count multbyte characters in the prompt string + by using _rl_find_next_mbchar (and copying possibly more than one + byte) instead of a simple increment and single byte copy + + 1/13 + ---- + lib/readline/display.c + - expand_prompt takes a new reference argument -- it returns + the actual count of (possibly multibyte) characters displayed + on the screen + - don't short-circuit in expand_prompt unless we're not going to + be using any multibyte characters + - change calls to expand_prompt to pass an argument for the + number of physical characters the prompt occupies + (prompt_physical_chars) + - initialize `lpos' (the physical cursor position) from + prompt_physical_chars in rl_redisplay + + lib/readline/mbutil.c + - in _rl_find_prev_mbchar_internal, if mbrtowc returns -1 or -2, and + we assume that the character is a single-byte char, make sure we + update `prev' so it doesn't get lost. Fixes problems encountered + when a non-ascii char is the last char on the line and we're moving + back past it with ^B, and other display problems caused by the same + situation + + 1/15 + ---- + lib/readline/doc/rltech.texi + - document RL_PROMPT_START_IGNORE and RL_PROMPT_END_IGNORE in the + description of rl_expand_prompt() + + 1/20 + ---- + bashline.c + - in initialize_readline, make sure M-C-j and M-C-m are still bound to + vi-editing-mode before unbinding them -- they may have been rebound + in an inputrc + + variables.c + - in unbind_variable, unset attributes other than `local' and exported + (if the variable came from a temporary environment) when unsetting a + local variable inside a function + + 1/21 + ---- + configure.in + - add libintl build directory to the list of include directories if + it's being built (using INTL_BUILDDIR) + + Makefile.in,{builtins,lib/{sh,malloc}}/Makefile.in + - substitute LIBBUILD as ${BUILD_DIR}/${LIBSUBDIR} + - define INTL_BUILDDIR as ${LIBBUILD}/intl + + {builtins,lib/sh}/Makefile.in + - make sure INTL_INC is added to the list of include directories + - make sure INTL_LIBSRC is defined with the correct value + + {configure,Makefile,{builtins,lib/sh}/Makefile}.in + - substitute LIBINTL_H as ${INTL_BUILDDIR}/libintl.h + + Makefile.in,builtins/Makefile.iin + - all files depending on bashintl.h also depend on ${LIBINTL_H} + (which may be empty) + + Makefile.in + - make a rule telling how to build lib/intl/libintl.h if necessary + + 1/24 + ---- + builtins/read.def + - make sure that the array name supplied as an argument to -a is a + valid identifier + + parse.y + - make the \W expansion abbreviate $HOME with a ~ (seems to be more + useful) + + doc/{bash.1,bashref.texi} + - document new behavior of \W + + subst.c + - make sure parameter_brace_expand_rhs uses the first character of + $IFS when making the string to return from the expanded word + (which, in the case of "$@" or $@, contains multiple words that + need to be separated) + + 1/25 + ---- + builtins/common.c + - change get_job_spec to make `%' by itself or an empty argument + return NO_JOB + + jobs.h + - new possible value for a job spec return value: BAD_JOBSPEC + (for syntactically invalid specs, like the empty string) + + shell.c + - in open_shell_script, check to see whether or not we can find and + open the filename argument before setting dollar_vars[0] or + manipulating BASH_SOURCE, so the error messages come out better + + subst.c + - in string_list_internal, short-circuit right away to savestring() + if the list only has a single element + + 1/28 + ---- + lib/readline/rltypedefs.h + - new set of typedefs for functions returning char * with various + arguments (standard set) + + lib/readline/complete.c + - new function pointer, rl_completion_word_break_hook, called by + _rl_find_completion_word, used to set word break characters at + completion time, allowing them to be position-based + + lib/readline/doc/rltech.texi + - documented rl_completion_word_break_hook + + lib/readline/kill.c + - added new rl_unix_filename_rubout, which deletes one filename + component in a Unix pathname backward (delimiters are whitespace + and `/') + + lib/readline/readline.h + - extern declaration for rl_unix_filename_rubout + + lib/readline/funmap.c + - new bindable readline command `unix-filename-rubout' + + lib/readline/doc/{readline.3,rluser.texi},doc/bash.1 + - documented `unix-filename-rubout' + + 1/29 + ---- + lib/readline/histexpand.c + - change history_tokenize_internal to handle non-whitespace delimiter + characters by creating separate fields (like the shell does when + splitting on $IFS) + + 1/30 + ---- + lib/glob/xmbsrtowcs.c + - new function, xdupmbstowcs, for convenience: calls xmbsrtowcs + while allocating memory for the new wide character string + - some small efficiency improvments to xmbsrtowcs + + include/shmbutil.h + - extern declaration for xdupmbstowcs + + lib/glob/strmatch.h + - include config.h for definition of HANDLE_MULTIBYTE + - remove the HAVE_LIBC_FNM_EXTMATCH tests + - new extern declaration for wcsmatch(whchar_t *, wchar_t *, int) + + configure.in + - remove call to BASH_FUNC_FNMATCH_EXTMATCH; it's no longer used + + lib/glob/smatch.c + - simplify xstrmatch() by using xdupmbstowcs() instead of inline code + + lib/glob/glob.c + - modify mbskipname() to avoid the use of alloca + - simplify mbskipname() by using xdupmbstowcs() instead of inline code + - simplify glob_pattern_p() by using xdupmbstowcs() instead of + inline code + - fix memory leak in wdequote_pathname + - simplify wdequote_pathname() by using xdupmbstowcs() instead of + inline code + + lib/glob/strmatch.c + - new function, wcsmatch(), `exported' wide-character equivalent of + strmatch() + + subst.c + - old match_pattern is now match_upattern + - match_pattern now either calls match_upattern or converts + mbstrings to wide chars and calls match_wpattern + - match_upattern reverted to old non-multibyte code + - new function: match_pattern_wchar, wide character version of + match_pattern_char + + 2/1 + --- + subst.c + - old remove_pattern is now remove_upattern + - remove_upattern reverted to old non-multibyte code (pre-Waugh patch) + - new multibyte version of remove_pattern: remove_wpattern + - remove_pattern now calls either remove_upattern or converts a + multibyte string to a wide character string and calls + remove_wpattern + - new function, wcsdup, wide-character version of strdup(3) + + 2/4 + --- + print_cmd.c + - temporarily translate a >&filename redirection from + r_duplicating_output_word to r_err_and_out (as the expansion code + in redir.c does) so it prints without a leading `1' (file + descriptor) + + 2/5 + --- + aclocal.m4 + - add a check for wcsdup to BASH_CHECK_MULTIBYTE + + config.h.in + - add HAVE_WCSDUP define + + 2/9 + --- + builtins/shift.def + - fix a call to sh_erange that possibly dereferences a NULL pointer + + 2/12 + ---- + general.c + - start at a general set of file property checking functions: + file_isdir(), file_iswdir() (is writable directory) + + general.h + - extern declarations for new functions + + lib/sh/tmpfile.c + - use file_iswdir() to make sure the temporary directory used for + here documents and other temp files is writable in get_sys_tmpdir() + + 2/17 + ---- + bashline.c + - fix conditional binding of emacs-mode M-~ -- there is a default + binding for it (rl_tilde_expand), so a straight call to + rl_bind_key_if_unbound_in_map doesn't do the right thing + + 2/27 + ---- + [bash-3.0-beta1 released] + + 2/29 + ---- + subst.c + - fixed expansion so referencing $a, when a is an array variable + without an element assigned to index 0, exits the shell when + `-u' is enabled + + expr.c + - make the exponentiation operator (**) associative, so things like + 2**3**4 work right (change `if' to `while') + + 3/3 + --- + lib/sh/strftime.c + - SCO Unix 3.2, like Solaris, requires that the system's `timezone' + variable be declared as long + + lib/readline/{bind,histfile,input,parens}.c + - changes for Tandem (including `floss.h' (?)) + + 3/4 + --- + subst.c + - change param_expand to quote the entire expanded string instead + of just the escape characters if the expansion appears between + double quotes or in a here-document (for simple variable expansions + or expansions of positional parameters) + + 3/8 + --- + subst.c + - analogous changes to parameter_brace_expand_word to fix the same + quoting problem as on 3/4; fix callers to understand that the + value returned might be quoted now and should be dequoted if + necessary + - add a `quoted' argument to get_var_and_type, change callers + - change today's fix and fix from 3/4 to not call quote_string if the + value is "" (because quote_string turns that into CTLNUL\0) + + 3/9 + --- + builtins/cd.def + - resetpwd() now takes a `caller' argument so it can be used by pwd + as well as cd + - change pwd_builtin to call resetpwd() if sh_physpath() fails to + return a valid pathname + + 3/14 + ---- + expr.c + - reworked exp0 and readtok() to make post-increment and post-decrement + into real tokens, which may be separated from their accompanying + variables by whitesapce + - made analogous changes to readtok() to make pre-increment and + pre-decrement work when separated from their accompanying identifier + by whitespace + + 3/18 + ---- + lib/readline/misc.c + - in rl_maybe_unsave_line, don't force rl_replace_line to clear + the undo_list, since it might point directly at an undo list + from a history entry (to which we have no handle) + + 3/19 + ---- + lib/readline/display.c + - rl_save_prompt and rl_restore_prompt now save and restore the value + of prompt_physical_chars + - set prompt_physical_chars in rl_redisplay when expand_prompt has + not been called (e.g., when rl_display_prompt is set and is not + equal to rl_prompt, like when searching) + + lib/readline/histexpand.c + - don't call add_history in history_expand if the `:p' modifier is + supplied; leave that to the calling application. This means that + `history -p', for example, will not add anything to the history + list (as documented), nor will history expansions invoked by + emacs-mode M-C-e line editing + + config-bot.h + - check whether HAVE_DECL_SYS_SIGLIST is defined to 1 rather than just + defined, to work around newer versions of autoconf defining it to 0 + + config.h.in + - change default status of HAVE_MALLOC to #undef instead of #define + + bashhist.c + - extern declarations for rl_done and rl_dispatching + - don't call re_edit from pre_process_line unless rl_dispatcing is zero, + so we don't call it from something like shell-expand-line + - change pre_process_line to add an expanded history specification + that returned `print only' to the history list, since history_expand + no longer does it (and, when using readline, do it only when + rl_dispatching is zero) + + 3/22 + ---- + config.h.in,aclocal.m4 + - change bash-specific functions that look in struct dirent to define + HAVE_STRUCT_DIRENT_xxx, like AC_CHECK_MEMBERS does (though the + functions are otherwise the same) + - new function, BASH_STRUCT_DIRENT_D_NAMLEN, define + HAVE_STRUCT_DIRENT_D_NAMLEN if struct dirent has a `d_namlen' member + + configure.in + - call BASH_STRUCT_DIRENT_D_NAMLEN + + include/posixdir.h + - use new and renamed HAVE_STRUCT_DIRENT_D_xxx defines + + 4/7 + --- + builtins/cd.def + - ensure that we print out a non-null pathname after getting a + directory from CDPATH and canonicalizing it (e.g., if the result + exceeds PATH_MAX in length and the_current_working_directory is + set to NULL) + + 4/12 + ---- + print_cmd.c + - new function to print out assignment statements when `set -x' has + been enabled: xtrace_print_assignment + + externs.h + - extern declaration for xtrace_print_assignment + + 4/13 + ---- + {subst,variables}.c + - call xtrace_print_assignment instead of using inline code + + jobs.c + - if turning on job control when it was previously off, set + pipeline_pgrp to 0 in set_job_control so make_child puts + subsequent children in their own process group + + 4/14 + ---- + general.c + - new function, legal_alias_name, called to decide whether an + argument to add_alias is a valid alias name -- essentially any + character except one which must be quoted to the shell parser + and `/' + + general.h + - new extern declaration for legal_alias_name + + builtins/alias.def + - `unalias' now returns failure status if no NAME arguments are + supplied and -a is not given + - call legal_alias_name to make sure alias name is valid before + calling add_alias from alias_builtin + + 4/19 + ---- + include/shmbutil.h + - include for definition of HANDLE_MULTIBYTE rather than + duplicating logic + + 4/20 + ---- + + doc/{bash.1,bashref.texi} + - make sure $0 is consistently referred to as a `special parameter' + - document which characters are now not allowed in alias names + + 4/23 + ---- + + builtins/{jobs,kill,wait}.def + - removed requirement that job control be enabled to use job control + notation, as SUSv3 implies + + subst.c + - based on a message from David Korn, change param_expand to not call + string_list_dollar_star if the only quoting is Q_HERE_DOCUMENT -- + quoted here documents are like double quoting, but not exactly + - analogous changes to list_remove_pattern and pos_params + + 4/24 + ---- + lib/readline/doc/rluser.texi + - fix error in description of emacs-mode C-xC-e command (uses $VISUAL + instead of $FCEDIT) + + 4/28 + ---- + support/bashbug.sh + - integrate a patch from Stefan Nordhausen + that reduces race conditions + by using a temporary directory inside $TMPDIR and creating the + temp files in that + + 4/30 + ---- + builtins/common.c + - use pathconf(".", _PC_PATH_MAX) where available to size the argument + to getcwd() rather than using a straight PATH_MAX + + builtins/cd.def + - if get_working_directory fails and returns null (causing resetpwd + to return NULL), use set_working_directory to set $PWD to the + absolute pathname for which chdir just succeeded + + 5/1 + --- + lib/readline/vi_mode.c + - in rl_vi_change_to, call _rl_vi_set_last with rl_numeric_arg instead + of `last', since they're equal at call time and rl_vi_domove can + change rl_numeric_arg (which vi apparently updates). Fixes redo bug + of `c2....' reported by Marion Berryman + + 5/4 + --- + parse.y + - fix decode_prompt_string to properly deal with strftime() returning 0 + + 5/6 + --- + variables.c + - in make_local_array_variable, return an already-existing local array + variable immediately rather than creating a new array (causing a + memory leak) + + 5/8 + --- + lib/readline/vi_mode.c + - change rl_vi_domove to set rl_explicit_arg before calling + rl_digit_loop1 so that multi-digit numeric arguments work right + - _rl_vi_last_command is no longer static + + lib/readline/rlprivate.h + - new extern declaration for _rl_vi_last_command + + lib/readline/text.c + - change rl_newline to only call _rl_vi_reset_last if the last command + (_rl_vi_last_command) is not a text modification command. This lets + the last-command and last-argument work across command lines + + 5/13 + ---- + builtins/common.c + - use getcwd(0,0) rather than providing a fixed pathname with a fixed + length (PATH_MAX) so getcwd() will allocate sufficient memory + + aclocal.m4 + - change BASH_FUNC_GETCWD to check whether or not getcwd(0,0) will + allocate memory for the returned value -- nobody implements that + and getcwd-via-popen, so it should capture the old test as well + + 5/27 + ---- + + builtins/trap.def + - the historical behavior of assuming that a signal's handling should + be set to its original disposition is only in effect if a single + argument is given, otherwise the first argument is assumed to be a + command to execute + - when in posix mode, if trap gets a single argument, display an + error message and return EX_USAGE + - change the help message and usage string to better explain trap's + behavior + + doc/{bash.1,bashref.texi} + - describe the new default behavior when the first argument is a + signal spec + - note that signal names are case insensitive and the SIG prefix is + optional in arguments to `trap' + - note that signal name arguments to `kill' are case-insensitive + + lib/readline/display.c + - make sure rl_on_new_line_with_prompt sets rl_display_prompt to + rl_prompt (just to make sure it's set) + - have rl_on_new_line_with_prompt use local_prompt if it's set + + 6/2 + --- + subst.c + - in string_extract_double_quoted, cope with extract_delimited_string + returning NULL, as it can when attempting completion on an unclosed + command substitution + + 6/24 + ---- + lib/readline/complete.c + - change print_filename to add a `/' to listed directory names if + `mark-directories' has been enabled + + builtins/umask.def + - make sure that the mask passed to parse_symbolic_mode has all but + the operative low eight bits masked off, to avoid complementing + all 0s to -1, which is the error return code. This makes things + like `a=rwx' and `ugo=rwx' work and turn off the umask + + 6/26 + ---- + builtins/getopts.def + - when `getopts' reaches the end of options, unset OPTARG before + returning EOF. In response to a bug report from Apple + + configure.in + - when cross-compiling, don't set CPPFLAGS_FOR_BUILD and + LDFLAGS_FOR_BUILD from CPPFLAGS and LDFLAGS, respectively, since + those are for the target instead of the build platform (report + from robert@schwebel.de) + + shell.c + - a shell whose standard error (but not standard output) is directed + to a terminal should be interactive, according to POSIX/SUS. This + means that sh > sh.out will start an interactive shell. Bug report + from llattanzi@apple.com + + doc/{bash.1,bashref.texi} + - change mention of standard output to standard error in definition + of interactive shell + + lib/readline/vi_mode.c + - new convenience function, rl_vi_start_inserting, calls + _rl_vi_set_last to save the last textmod command state and then calls + rl_vi_insertion_mode to enter insert mode + - change functions to use rl_vi_start_inserting + + lib/readline/readline.h + - extern declaration for rl_vi_start_inserting + + bashline.c + - new function for vi-mode completion, bash_vi_complete. Does + filename expansion as POSIX specifies, unlike the default readline + bindings (which don't know about globbing). Bound to `\', `*', + and `=' in vi command keymap. Internals very similar to + rl_vi_complete; just calls bash glob expansion functions + + lib/readline/vi_mode.c + - change rl_vi_change_char so that an entire change is a single + undoable event, rather than each individual change in a [count]r + command + - fix rl_vi_change_char so that replacing characters up to EOL works + rather than generating rl_ding + - fix rl_vi_change_case so that replacing characters up to EOL works + rather than generating rl_ding + + 6/28 + ---- + builtins/echo.def + - call clearerr(stdout) before writing anything and testing its + failure or success + + 6/29 + ---- + bashline.c + - only set rl_explicit_arg in bash_glob_complete_word if readline is + in emacs mode; let bash_vi_complete take care of setting it in vi + mode + - fix bash_vi_complete to only set rl_explicit_arg unless the posix + conditions are met: no globbing characters in the vi `bigword' + being completed + + 6/30 + ---- + [bash-3.0-rc1 released] + + 7/1 + --- + lib/readline/complete.c + - make sure `extension_char' is initialized before deciding whether + or not the append a `/' to a possible completion when visible-stats + is not enabled + + 7/2 + --- + subst.c + - fix a boundary overrun in string_extract_double_quoted that could + occur when the word completion code attempts to expand an incomplete + construct (like a quoted unclosed command substitution) + + 7/4 + --- + subst.c + - set tempenv_assign_error to non-zero if an assignment to the + temporary environment fails for some reason (e.g., attempted + assignment to a readonly variable) + + execute_cmd.c + - fix execute_simple_command to force a non-interactive shell in + POSIX mode to exit if an assignment to the temporary environment + preceding a special builtin fails (bug report from + llattanzi@apple.com) + + 7/5 + --- + bashline.c + - in bash_directory_completion_hook, don't perform word expansions + if the filename appears to have been completed from the file + system rather than typed in by the user. Bug reported by Tim + Waugh + + 7/7 + --- + lib/readline/misc.c + - if _rl_maybe_save_line is being asked to save a line other than + what's already saved, free up the current saved line and save the + current contents of rl_line_buffer. Bug reported by + llattanzi@apple.com + + 7/12 + ---- + lib/readline/input.c + - do better EOF detection in rl_gather_tyi -- if a read returns 0 when + the fd is in non-blocking mode, stuff an EOF into the input stream + (reported by mattias@virtutech.se) + + 7/13 + ---- + lib/readline/vi_mode.c + - make sure rl_vi_put honors `count' arguments and yanks things + multiple times if requested + + 7/16 + ---- + builtins/umask.def + - make sure that the `who' part of the umask symbolic mode argument + defaults to `a' if it's missing + + flags.c + - make sure that maybe_make_restricted only gets called after the + shell is initialized, so `bash -r' doesn't result in inappropriate + error messages + + [bash-3.0 frozen] diff -aNrc2 bash-2.05b-patched/INSTALL bash-3.0/INSTALL *** bash-2.05b-patched/INSTALL Wed Jun 26 17:09:18 2002 --- bash-3.0/INSTALL Tue Jul 27 09:13:39 2004 *************** *** 284,288 **** `--enable-cond-command' ! Include support for the `[[' conditional command (*note Conditional Constructs::). --- 284,293 ---- `--enable-cond-command' ! Include support for the `[[' conditional command. (*note ! Conditional Constructs::). ! ! `--enable-cond-regexp' ! Include support for matching POSIX regular expressions using the ! `=~' binary operator in the `[[' conditional command. (*note Conditional Constructs::). *************** *** 316,319 **** --- 321,328 ---- This enables the job control features (*note Job Control::), if the operating system supports them. + + `--enable-multibyte' + This enables support for multibyte characters if the operating + system provides the necessary support. `--enable-net-redirections' diff -aNrc2 bash-2.05b-patched/MANIFEST bash-3.0/MANIFEST *** bash-2.05b-patched/MANIFEST Mon May 13 13:09:00 2002 --- bash-3.0/MANIFEST Thu May 6 09:01:58 2004 *************** *** 27,30 **** --- 27,31 ---- lib/glob d lib/glob/doc d + lib/intl d lib/malloc d lib/readline d *************** *** 36,42 **** --- 37,45 ---- lib/tilde d lib/tilde/doc d + po d support d tests d tests/misc d + ABOUT-NLS f CHANGES f COMPAT f *************** *** 141,149 **** bashtypes.h f mailcheck.h f - pathnames.h f xmalloc.h f y.tab.c f y.tab.h f parser-built f builtins/Makefile.in f builtins/alias.def f --- 144,152 ---- bashtypes.h f mailcheck.h f xmalloc.h f y.tab.c f y.tab.h f parser-built f + pathnames.h.in f builtins/Makefile.in f builtins/alias.def f *************** *** 151,154 **** --- 154,158 ---- builtins/break.def f builtins/builtin.def f + builtins/caller.def f builtins/cd.def f builtins/colon.def f *************** *** 208,211 **** --- 212,216 ---- include/chartypes.h f include/filecntl.h f + include/gettext.h f include/maxpath.h f include/memalloc.h f *************** *** 235,238 **** --- 240,284 ---- lib/glob/doc/glob.texi f lib/glob/ndir.h f + lib/intl/ChangeLog f + lib/intl/Makefile.in f + lib/intl/VERSION f + lib/intl/bindtextdom.c f + lib/intl/config.charset f + lib/intl/dcgettext.c f + lib/intl/dcigettext.c f + lib/intl/dcngettext.c f + lib/intl/dgettext.c f + lib/intl/dngettext.c f + lib/intl/eval-plural.h f + lib/intl/explodename.c f + lib/intl/finddomain.c f + lib/intl/gettext.c f + lib/intl/gettextP.h f + lib/intl/gmo.h f + lib/intl/hash-string.h f + lib/intl/intl-compat.c f + lib/intl/l10nflist.c f + lib/intl/libgnuintl.h.in f + lib/intl/loadinfo.h f + lib/intl/loadmsgcat.c f + lib/intl/localcharset.c f + lib/intl/localcharset.h f + lib/intl/locale.alias f + lib/intl/localealias.c f + lib/intl/localename.c f + lib/intl/log.c f + lib/intl/ngettext.c f + lib/intl/os2compat.c f + lib/intl/os2compat.h f + lib/intl/osdep.c f + lib/intl/plural-exp.c f + lib/intl/plural-exp.h f + lib/intl/plural.c f + lib/intl/plural.y f + lib/intl/ref-add.sin f + lib/intl/ref-del.sin f + lib/intl/relocatable.c f + lib/intl/relocatable.h f + lib/intl/textdomain.c f lib/malloc/Makefile.in f lib/malloc/getpagesize.h f *************** *** 314,325 **** lib/readline/xmalloc.h f lib/readline/doc/Makefile f ! lib/readline/doc/manvers.texinfo f ! lib/readline/doc/rlman.texinfo f ! lib/readline/doc/rltech.texinfo f ! lib/readline/doc/rluser.texinfo f ! lib/readline/doc/rluserman.texinfo f ! lib/readline/doc/hist.texinfo f ! lib/readline/doc/hstech.texinfo f ! lib/readline/doc/hsuser.texinfo f lib/readline/examples/Makefile f lib/readline/examples/excallback.c f --- 360,372 ---- lib/readline/xmalloc.h f lib/readline/doc/Makefile f ! lib/readline/doc/version.texi f ! lib/readline/doc/rlman.texi f ! lib/readline/doc/rltech.texi f ! lib/readline/doc/rluser.texi f ! lib/readline/doc/rluserman.texi f ! lib/readline/doc/history.texi f ! lib/readline/doc/hstech.texi f ! lib/readline/doc/hsuser.texi f ! lib/readline/doc/fdl.texi f lib/readline/examples/Makefile f lib/readline/examples/excallback.c f *************** *** 352,355 **** --- 399,403 ---- lib/sh/rename.c f lib/sh/setlinebuf.c f + lib/sh/shmatch.c f lib/sh/shquote.c f lib/sh/shtty.c f *************** *** 363,366 **** --- 411,415 ---- lib/sh/stringvec.c f lib/sh/strpbrk.c f + lib/sh/strstr.c f lib/sh/strtod.c f lib/sh/strtoimax.c f *************** *** 407,410 **** --- 456,477 ---- lib/tilde/tilde.h f lib/tilde/shell.c f + po/LINGUAS f + po/Makefile.in.in f + po/Makevars f + po/POTFILES.in f + po/Rules-builtins f + po/Rules-quot f + po/bash.pot f + po/boldquot.sed f + po/builtins.pot f + po/en@quot.header f + po/en@boldquot.header f + po/en@quot.po f + po/en@boldquot.po f + po/en@quot.gmo f + po/en@boldquot.gmo f + po/insert-header.sin f + po/quot.sed f + po/remove-potcdate.sin f CWRU/misc/open-files.c f CWRU/misc/sigs.c f *************** *** 428,437 **** --- 495,509 ---- doc/texinfo.tex f doc/bashref.texi f + doc/version.texi f doc/bashref.info f doc/article.ms f doc/htmlpost.sh f 755 + doc/infopost.sh f 755 + doc/fdl.texi f + doc/fdl.txt f support/Makefile.in f support/bashversion.c f support/config.guess f + support/config.rpath f 755 support/config.sub f support/printenv.sh f 755 *************** *** 442,445 **** --- 514,518 ---- support/mkconffiles f 755 support/mkdirs f 755 + support/mkinstalldirs f 755 support/mkversion.sh f 755 support/mksignames.c f *************** *** 451,455 **** support/fixlinks f 755 support/install.sh f 755 ! support/texi2dvi f support/texi2html f 755 support/xenix-link.sh f 755 --- 524,528 ---- support/fixlinks f 755 support/install.sh f 755 ! support/texi2dvi f 755 support/texi2html f 755 support/xenix-link.sh f 755 *************** *** 469,472 **** --- 542,546 ---- examples/complete/complete.freebsd f examples/complete/complete.gnu-longopt f + examples/complete/bashcc-1.0.1.tar.gz f examples/loadables/README f examples/loadables/template.c f *************** *** 477,480 **** --- 551,555 ---- examples/loadables/realpath.c f examples/loadables/sleep.c f + examples/loadables/strftime.c f examples/loadables/truefalse.c f examples/loadables/getconf.h f *************** *** 602,614 **** examples/misc/cshtobash f tests/README f tests/arith-for.tests f tests/arith-for.right f tests/arith.tests f tests/arith.right f tests/array.tests f tests/array.right f tests/array-at-star f tests/array2.right f ! tests/braces-tests f tests/braces.right f tests/builtins.tests f --- 677,693 ---- examples/misc/cshtobash f tests/README f + tests/alias.tests f + tests/alias.right f tests/arith-for.tests f tests/arith-for.right f tests/arith.tests f tests/arith.right f + tests/arith1.sub f + tests/arith2.sub f tests/array.tests f tests/array.right f tests/array-at-star f tests/array2.right f ! tests/braces.tests f tests/braces.right f tests/builtins.tests f *************** *** 625,629 **** --- 704,716 ---- tests/cprint.tests f tests/cprint.right f + tests/dbg-support.right f + tests/dbg-support.sub f + tests/dbg-support.tests f + tests/dbg-support2.right f + tests/dbg-support2.tests f tests/dollar-at-star f + tests/dollar-at1.sub f + tests/dollar-at2.sub f + tests/dollar-star1.sub f tests/dollar.right f tests/dstack.tests f *************** *** 641,644 **** --- 728,732 ---- tests/exec5.sub f tests/exec6.sub f + tests/exec7.sub f tests/exp-tests f tests/exp.right f *************** *** 684,687 **** --- 772,776 ---- tests/jobs2.sub f tests/jobs3.sub f + tests/jobs4.sub f tests/jobs.right f tests/more-exp.tests f *************** *** 691,694 **** --- 780,784 ---- tests/new-exp2.sub f tests/new-exp3.sub f + tests/new-exp4.sub f tests/new-exp.right f tests/nquote.tests f *************** *** 700,703 **** --- 790,795 ---- tests/nquote3.tests f tests/nquote3.right f + tests/nquote4.tests f + tests/nquote4.right f tests/posix2.tests f tests/posix2.right f *************** *** 716,719 **** --- 808,812 ---- tests/read3.sub f tests/read4.sub f + tests/read5.sub f tests/redir.tests f tests/redir.right f *************** *** 726,729 **** --- 819,823 ---- tests/redir4.in1 f tests/redir5.sub f + tests/redir6.sub f tests/rhs-exp.tests f tests/rhs-exp.right f *************** *** 732,735 **** --- 826,830 ---- tests/run-all f tests/run-minimal f + tests/run-alias f tests/run-arith-for f tests/run-arith f *************** *** 740,743 **** --- 835,840 ---- tests/run-cond f tests/run-cprint f + tests/run-dbg-support f + tests/run-dbg-support2 f tests/run-dirstack f tests/run-dollars f *************** *** 764,767 **** --- 861,865 ---- tests/run-nquote2 f tests/run-nquote3 f + tests/run-nquote4 f tests/run-posix2 f tests/run-posixpat f *************** *** 774,777 **** --- 872,876 ---- tests/run-rsh f tests/run-set-e f + tests/run-set-x f tests/run-shopt f tests/run-strip f *************** *** 783,786 **** --- 882,887 ---- tests/set-e-test f tests/set-e.right f + tests/set-x.tests f + tests/set-x.right f tests/shopt.tests f tests/shopt.right f diff -aNrc2 bash-2.05b-patched/Makefile.in bash-3.0/Makefile.in *** bash-2.05b-patched/Makefile.in Fri May 31 13:44:23 2002 --- bash-3.0/Makefile.in Wed Mar 17 08:34:39 2004 *************** *** 1,5 **** ! # Makefile for bash-2.05b, version 2.142 # ! # Copyright (C) 1996-2002 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify --- 1,5 ---- ! # Makefile for bash-3.0, version 2.152 # ! # Copyright (C) 1996-2004 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify *************** *** 20,23 **** --- 20,31 ---- all: .made + PACKAGE = @PACKAGE_NAME@ + VERSION = @PACKAGE_VERSION@ + + PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ + PACKAGE_NAME = @PACKAGE_NAME@ + PACKAGE_STRING = @PACKAGE_STRING@ + PACKAGE_VERSION = @PACKAGE_VERSION@ + # Include some boilerplate Gnu makefile definitions. prefix = @prefix@ *************** *** 29,32 **** --- 37,41 ---- includedir = @includedir@ datadir = @datadir@ + localedir = $(datadir)/locale mandir = @mandir@ *************** *** 45,48 **** --- 54,58 ---- topdir = @top_srcdir@ BUILD_DIR = @BUILD_DIR@ + top_builddir = @BUILD_DIR@ srcdir = @srcdir@ VPATH = .:@srcdir@ *************** *** 114,117 **** --- 124,129 ---- LOCAL_DEFS = @LOCAL_DEFS@ + LOCALE_DEFS = -DLOCALEDIR='"$(localedir)"' -DPACKAGE='"$(PACKAGE)"' + LOCAL_LIBS = @LOCAL_LIBS@ LIBS = $(BUILTINS_LIB) $(LIBRARIES) @LIBS@ *************** *** 119,123 **** LOCAL_LDFLAGS = @LOCAL_LDFLAGS@ ! SYSTEM_FLAGS = -DPROGRAM='"$(Program)"' -DCONF_HOSTTYPE='"$(Machine)"' -DCONF_OSTYPE='"$(OS)"' -DCONF_MACHTYPE='"$(MACHTYPE)"' -DCONF_VENDOR='"$(VENDOR)"' BASE_CCFLAGS = $(PROFILE_FLAGS) $(SYSTEM_FLAGS) $(LOCAL_DEFS) \ --- 131,135 ---- LOCAL_LDFLAGS = @LOCAL_LDFLAGS@ ! SYSTEM_FLAGS = -DPROGRAM='"$(Program)"' -DCONF_HOSTTYPE='"$(Machine)"' -DCONF_OSTYPE='"$(OS)"' -DCONF_MACHTYPE='"$(MACHTYPE)"' -DCONF_VENDOR='"$(VENDOR)"' $(LOCALE_DEFS) BASE_CCFLAGS = $(PROFILE_FLAGS) $(SYSTEM_FLAGS) $(LOCAL_DEFS) \ *************** *** 131,135 **** LDFLAGS_FOR_BUILD = $(LDFLAGS) ! INCLUDES = -I. @RL_INCLUDE@ -I$(srcdir) -I$(BASHINCDIR) -I$(LIBSRC) GCC_LINT_FLAGS = -Wall -Wshadow -Wpointer-arith -Wcast-qual \ --- 143,147 ---- LDFLAGS_FOR_BUILD = $(LDFLAGS) ! INCLUDES = -I. @RL_INCLUDE@ -I$(srcdir) -I$(BASHINCDIR) -I$(LIBSRC) $(INTL_INC) GCC_LINT_FLAGS = -Wall -Wshadow -Wpointer-arith -Wcast-qual \ *************** *** 148,153 **** --- 160,170 ---- LIBSRC = $(srcdir)/$(LIBSUBDIR) + LIBBUILD = ${BUILD_DIR}/${LIBSUBDIR} + SUBDIR_INCLUDES = -I. @RL_INCLUDE@ -I$(topdir) -I$(topdir)/$(LIBSUBDIR) + BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@ + USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@ + # the bash library # the library is a mix of functions that the C library does not provide on *************** *** 180,184 **** ${SH_LIBSRC}/mktime.c ${SH_LIBSRC}/strftime.c \ ${SH_LIBSRC}/memset.c ${SH_LIBSRC}/xstrchr.c \ ! ${SH_LIBSRC}/zcatfd.c SHLIB_LIB = -lsh --- 197,201 ---- ${SH_LIBSRC}/mktime.c ${SH_LIBSRC}/strftime.c \ ${SH_LIBSRC}/memset.c ${SH_LIBSRC}/xstrchr.c \ ! ${SH_LIBSRC}/zcatfd.c ${SH_LIBSRC}/shmatch.c SHLIB_LIB = -lsh *************** *** 222,226 **** $(RL_LIBSRC)/input.c $(RL_LIBSRC)/xmalloc.c \ $(RL_LIBSRC)/shell.c $(RL_LIBSRC)/savestring.c \ ! $(RL_LIBSRC)/misc.c $(RL_LIBSRC)/compat.c \ $(RL_LIBSRC)/histexpand.c $(RL_LIBSRC)/history.c \ $(RL_LIBSRC)/histsearch.c $(RL_LIBSRC)/histfile.c --- 239,243 ---- $(RL_LIBSRC)/input.c $(RL_LIBSRC)/xmalloc.c \ $(RL_LIBSRC)/shell.c $(RL_LIBSRC)/savestring.c \ ! $(RL_LIBSRC)/misc.c $(RL_LIBSRC)/mbutil.c $(RL_LIBSRC)/compat.c \ $(RL_LIBSRC)/histexpand.c $(RL_LIBSRC)/history.c \ $(RL_LIBSRC)/histsearch.c $(RL_LIBSRC)/histfile.c *************** *** 237,241 **** $(RL_LIBDIR)/terminal.o $(RL_LIBDIR)/callback.o \ $(RL_LIBDIR)/shell.o $(RL_LIBDIR)/savestring.o \ ! $(RL_LIBDIR)/compat.o \ $(RL_LIBDIR)/history.o $(RL_LIBDIR)/histexpand.o \ $(RL_LIBDIR)/histsearch.o $(RL_LIBDIR)/histfile.o --- 254,258 ---- $(RL_LIBDIR)/terminal.o $(RL_LIBDIR)/callback.o \ $(RL_LIBDIR)/shell.o $(RL_LIBDIR)/savestring.o \ ! $(RL_LIBDIR)/mbutil.o $(RL_LIBDIR)/compat.o \ $(RL_LIBDIR)/history.o $(RL_LIBDIR)/histexpand.o \ $(RL_LIBDIR)/histsearch.o $(RL_LIBDIR)/histfile.o *************** *** 301,304 **** --- 318,340 ---- TILDE_OBJ = $(TILDE_LIBDIR)/tilde.o + # libintl + INTL_LIBSRC = $(LIBSRC)/intl + INTL_LIBDIR = $(dot)/$(LIBSUBDIR)/intl + INTL_ABSSRC = ${topdir}/$(INTL_LIB) + INTL_BUILDDIR = ${LIBBUILD}/intl + + INTL_LIB = @LIBINTL@ + INTL_LIBRARY = $(INTL_LIBDIR)/libintl.a + INTL_DEP = @INTL_DEP@ + INTL_INC = @INTL_INC@ + + LIBINTL_H = @LIBINTL_H@ + + # tests + LIBINTL = @LIBINTL@ + LTLIBINTL = @LTLIBINTL@ + INTLLIBS = @INTLLIBS@ + INTLOBJS = @INTLOBJS@ + # Our malloc. MALLOC_TARGET = @MALLOC_TARGET@ *************** *** 342,348 **** LIBRARIES = $(SHLIB_LIB) $(READLINE_LIB) $(HISTORY_LIB) $(TERMCAP_LIB) $(GLOB_LIB) \ ! $(TILDE_LIB) $(MALLOC_LIB) $(LOCAL_LIBS) ! LIBDEP = $(SHLIB_DEP) $(READLINE_DEP) $(HISTORY_DEP) $(TERMCAP_DEP) $(GLOB_DEP) \ $(TILDE_DEP) $(MALLOC_DEP) --- 378,384 ---- LIBRARIES = $(SHLIB_LIB) $(READLINE_LIB) $(HISTORY_LIB) $(TERMCAP_LIB) $(GLOB_LIB) \ ! $(TILDE_LIB) $(MALLOC_LIB) $(INTL_LIB) $(LOCAL_LIBS) ! LIBDEP = $(SHLIB_DEP) $(INTL_DEP) $(READLINE_DEP) $(HISTORY_DEP) $(TERMCAP_DEP) $(GLOB_DEP) \ $(TILDE_DEP) $(MALLOC_DEP) *************** *** 396,404 **** BUILTIN_ABSSRC=${topdir}/builtins DEFDIR = $(dot)/builtins BUILTIN_DEFS = $(DEFSRC)/alias.def $(DEFSRC)/bind.def $(DEFSRC)/break.def \ $(DEFSRC)/builtin.def $(DEFSRC)/cd.def $(DEFSRC)/colon.def \ $(DEFSRC)/command.def ${DEFSRC}/complete.def \ ! $(DEFSRC)/declare.def \ $(DEFSRC)/echo.def $(DEFSRC)/enable.def $(DEFSRC)/eval.def \ $(DEFSRC)/exec.def $(DEFSRC)/exit.def $(DEFSRC)/fc.def \ --- 432,441 ---- BUILTIN_ABSSRC=${topdir}/builtins DEFDIR = $(dot)/builtins + DEBUGGER_DIR = $(dot)/debugger BUILTIN_DEFS = $(DEFSRC)/alias.def $(DEFSRC)/bind.def $(DEFSRC)/break.def \ $(DEFSRC)/builtin.def $(DEFSRC)/cd.def $(DEFSRC)/colon.def \ $(DEFSRC)/command.def ${DEFSRC}/complete.def \ ! $(DEFSRC)/caller.def $(DEFSRC)/declare.def \ $(DEFSRC)/echo.def $(DEFSRC)/enable.def $(DEFSRC)/eval.def \ $(DEFSRC)/exec.def $(DEFSRC)/exit.def $(DEFSRC)/fc.def \ *************** *** 419,423 **** BUILTIN_OBJS = $(DEFDIR)/alias.o $(DEFDIR)/bind.o $(DEFDIR)/break.o \ $(DEFDIR)/builtin.o $(DEFDIR)/cd.o $(DEFDIR)/colon.o \ ! $(DEFDIR)/command.o $(DEFDIR)/declare.o \ $(DEFDIR)/echo.o $(DEFDIR)/enable.o $(DEFDIR)/eval.o \ $(DEFDIR)/exec.o $(DEFDIR)/exit.o $(DEFDIR)/fc.o \ --- 456,460 ---- BUILTIN_OBJS = $(DEFDIR)/alias.o $(DEFDIR)/bind.o $(DEFDIR)/break.o \ $(DEFDIR)/builtin.o $(DEFDIR)/cd.o $(DEFDIR)/colon.o \ ! $(DEFDIR)/command.o $(DEFDIR)/caller.o $(DEFDIR)/declare.o \ $(DEFDIR)/echo.o $(DEFDIR)/enable.o $(DEFDIR)/eval.o \ $(DEFDIR)/exec.o $(DEFDIR)/exit.o $(DEFDIR)/fc.o \ *************** *** 443,446 **** --- 480,487 ---- DOCDIR = $(dot)/doc + # Translations and other i18n support files + PO_SRC = $(srcdir)/po/ + PO_DIR = $(dot)/po/ + SIGNAMES_SUPPORT = $(SUPPORT_SRC)mksignames.c *************** *** 455,464 **** buildversion.o CREATED_CONFIGURE = config.h config.cache config.status config.log \ ! stamp-h CREATED_MAKEFILES = Makefile builtins/Makefile doc/Makefile \ lib/readline/Makefile lib/glob/Makefile \ lib/sh/Makefile lib/tilde/Makefile lib/malloc/Makefile \ lib/termcap/Makefile examples/loadables/Makefile \ ! examples/loadables/perl/Makefile support/Makefile # Keep GNU Make from exporting the entire environment for small machines. --- 496,506 ---- buildversion.o CREATED_CONFIGURE = config.h config.cache config.status config.log \ ! stamp-h po/POTFILES CREATED_MAKEFILES = Makefile builtins/Makefile doc/Makefile \ lib/readline/Makefile lib/glob/Makefile \ lib/sh/Makefile lib/tilde/Makefile lib/malloc/Makefile \ lib/termcap/Makefile examples/loadables/Makefile \ ! examples/loadables/perl/Makefile support/Makefile \ ! lib/intl/Makefile po/Makefile po/Makefile.in # Keep GNU Make from exporting the entire environment for small machines. *************** *** 507,511 **** buildversion.o: version.h conftypes.h patchlevel.h $(srcdir)/version.c ! $(CC_FOR_BUILD) $(CCFLAGS_FOR_BUILD) -c -o $@ $(srcdir)/version.c # old rules --- 549,553 ---- buildversion.o: version.h conftypes.h patchlevel.h $(srcdir)/version.c ! $(CC_FOR_BUILD) $(CCFLAGS_FOR_BUILD) -DBUILDTOOL -c -o $@ $(srcdir)/version.c # old rules *************** *** 559,562 **** --- 601,611 ---- $(MAKE) $(MFLAGS) DEBUG=${DEBUG} ${SHLIB_LIBNAME}) || exit 1 + ${INTL_LIBRARY}: config.h ${INTL_LIBDIR}/Makefile + @echo making $@ in ${INTL_LIBDIR} + @(cd ${INTL_LIBDIR} && \ + $(MAKE) $(MFLAGS) all) || exit 1 + + ${LIBINTL_H}: ${INTL_LIBRARY} + mksignames$(EXEEXT): $(SUPPORT_SRC)mksignames.c $(CC_FOR_BUILD) $(CCFLAGS_FOR_BUILD) -o $@ $(SUPPORT_SRC)mksignames.c *************** *** 579,583 **** ./mksyntax -o $@ ! $(BUILTINS_LIBRARY): $(BUILTIN_DEFS) $(BUILTIN_C_SRC) config.h ${BASHINCDIR}/memalloc.h @(cd $(DEFDIR) && $(MAKE) $(MFLAGS) DEBUG=${DEBUG} libbuiltins.a ) || exit 1 --- 628,632 ---- ./mksyntax -o $@ ! $(BUILTINS_LIBRARY): $(BUILTIN_DEFS) $(BUILTIN_C_SRC) config.h ${BASHINCDIR}/memalloc.h version.h @(cd $(DEFDIR) && $(MAKE) $(MFLAGS) DEBUG=${DEBUG} libbuiltins.a ) || exit 1 *************** *** 598,601 **** --- 647,653 ---- CONFIG_FILES=Makefile CONFIG_HEADERS= $(SHELL) ./config.status + pathnames.h: config.status $(srcdir)/Makefile.in + CONFIG_HEADERS= $(SHELL) ./config.status + Makefiles makefiles: config.status $(srcdir)/Makefile.in @for mf in $(CREATED_MAKEFILES); do \ *************** *** 642,648 **** installdirs: ! @${SHELL} $(SUPPORT_SRC)mkdirs $(DESTDIR)$(bindir) ! @${SHELL} $(SUPPORT_SRC)mkdirs $(DESTDIR)$(man1dir) ! @${SHELL} $(SUPPORT_SRC)mkdirs $(DESTDIR)$(infodir) install: .made installdirs --- 694,701 ---- installdirs: ! @${SHELL} $(SUPPORT_SRC)mkinstalldirs $(DESTDIR)$(bindir) ! @${SHELL} $(SUPPORT_SRC)mkinstalldirs $(DESTDIR)$(man1dir) ! @${SHELL} $(SUPPORT_SRC)mkinstalldirs $(DESTDIR)$(infodir) ! -( cd $(PO_DIR) ; $(MAKE) $(MFLAGS) DESTDIR=$(DESTDIR) $@ ) install: .made installdirs *************** *** 654,657 **** --- 707,711 ---- infodir=$(infodir) htmldir=$(htmldir) DESTDIR=$(DESTDIR) $@ ) -( cd $(DEFDIR) ; $(MAKE) $(MFLAGS) DESTDIR=$(DESTDIR) $@ ) + -( cd $(PO_DIR) ; $(MAKE) $(MFLAGS) DESTDIR=$(DESTDIR) $@ ) install-strip: *************** *** 666,675 **** man3dir=$(man3dir) man3ext=$(man3ext) \ infodir=$(infodir) htmldir=$(htmldir) DESTDIR=$(DESTDIR) $@ ) .PHONY: basic-clean clean realclean maintainer-clean distclean mostlyclean maybe-clean basic-clean: $(RM) $(OBJECTS) $(Program) bashbug ! $(RM) .build .made version.h clean: basic-clean --- 720,733 ---- man3dir=$(man3dir) man3ext=$(man3ext) \ infodir=$(infodir) htmldir=$(htmldir) DESTDIR=$(DESTDIR) $@ ) + -( cd $(PO_DIR) ; $(MAKE) $(MFLAGS) DESTDIR=$(DESTDIR) $@ ) .PHONY: basic-clean clean realclean maintainer-clean distclean mostlyclean maybe-clean + LIB_SUBDIRS = ${RL_LIBDIR} ${HIST_LIBDIR} ${TERM_LIBDIR} ${GLOB_LIBDIR} \ + ${INTL_LIBDIR} ${TILDE_LIBDIR} ${ALLOC_LIBDIR} ${SH_LIBDIR} + basic-clean: $(RM) $(OBJECTS) $(Program) bashbug ! $(RM) .build .made version.h pathnames.h clean: basic-clean *************** *** 677,687 **** ( cd builtins && $(MAKE) $(MFLAGS) $@ ) -( cd $(SDIR) && $(MAKE) $(MFLAGS) $@ ) ! -(cd $(RL_LIBDIR) && $(MAKE) $(MFLAGS) $@) ! -(cd $(HIST_LIBDIR) && test -f Makefile && $(MAKE) $(MFLAGS) $@) ! -(cd $(TERM_LIBDIR) && $(MAKE) $(MFLAGS) $@) ! -(cd $(GLOB_LIBDIR) && $(MAKE) $(MFLAGS) $@) ! -(cd $(TILDE_LIBDIR) && $(MAKE) $(MFLAGS) $@) ! -(cd $(ALLOC_LIBDIR) && $(MAKE) $(MFLAGS) $@) ! -(cd $(SH_LIBDIR) && $(MAKE) $(MFLAGS) $@) $(RM) $(CREATED_SUPPORT) --- 735,742 ---- ( cd builtins && $(MAKE) $(MFLAGS) $@ ) -( cd $(SDIR) && $(MAKE) $(MFLAGS) $@ ) ! -for libdir in ${LIB_SUBDIRS}; do \ ! (cd $$libdir && test -f Makefile && $(MAKE) $(MFLAGS) $@) ;\ ! done ! -( cd $(PO_DIR) ; $(MAKE) $(MFLAGS) DESTDIR=$(DESTDIR) $@ ) $(RM) $(CREATED_SUPPORT) *************** *** 690,700 **** ( cd builtins && $(MAKE) $(MFLAGS) $@ ) -( cd $(SDIR) && $(MAKE) $(MFLAGS) $@ ) ! -(cd $(RL_LIBDIR) && $(MAKE) $(MFLAGS) $@) ! -(cd $(HIST_LIBDIR) && test -f Makefile && $(MAKE) $(MFLAGS) $@) ! -(cd $(TERM_LIBDIR) && $(MAKE) $(MFLAGS) $@) ! -(cd $(GLOB_LIBDIR) && $(MAKE) $(MFLAGS) $@) ! -(cd $(TILDE_LIBDIR) && $(MAKE) $(MFLAGS) $@) ! -(cd $(ALLOC_LIBDIR) && $(MAKE) $(MFLAGS) $@) ! -(cd $(SH_LIBDIR) && $(MAKE) $(MFLAGS) $@) distclean: basic-clean maybe-clean --- 745,752 ---- ( cd builtins && $(MAKE) $(MFLAGS) $@ ) -( cd $(SDIR) && $(MAKE) $(MFLAGS) $@ ) ! -for libdir in ${LIB_SUBDIRS}; do \ ! (cd $$libdir && test -f Makefile && $(MAKE) $(MFLAGS) $@) ;\ ! done ! -( cd $(PO_DIR) ; $(MAKE) $(MFLAGS) DESTDIR=$(DESTDIR) $@ ) distclean: basic-clean maybe-clean *************** *** 702,712 **** ( cd builtins && $(MAKE) $(MFLAGS) $@ ) -( cd $(SDIR) && $(MAKE) $(MFLAGS) $@ ) ! -(cd $(RL_LIBDIR) && $(MAKE) $(MFLAGS) $@) ! -(cd $(HIST_LIBDIR) && test -f Makefile && $(MAKE) $(MFLAGS) $@) ! -(cd $(TERM_LIBDIR) && $(MAKE) $(MFLAGS) $@) ! -(cd $(GLOB_LIBDIR) && $(MAKE) $(MFLAGS) $@) ! -(cd $(TILDE_LIBDIR) && $(MAKE) $(MFLAGS) $@) ! -(cd $(ALLOC_LIBDIR) && $(MAKE) $(MFLAGS) $@) ! -(cd $(SH_LIBDIR) && $(MAKE) $(MFLAGS) $@) $(RM) $(CREATED_CONFIGURE) tags TAGS $(RM) $(CREATED_SUPPORT) Makefile $(CREATED_MAKEFILES) --- 754,761 ---- ( cd builtins && $(MAKE) $(MFLAGS) $@ ) -( cd $(SDIR) && $(MAKE) $(MFLAGS) $@ ) ! -for libdir in ${LIB_SUBDIRS}; do \ ! (cd $$libdir && test -f Makefile && $(MAKE) $(MFLAGS) $@) ;\ ! done ! -( cd $(PO_DIR) ; $(MAKE) $(MFLAGS) DESTDIR=$(DESTDIR) $@ ) $(RM) $(CREATED_CONFIGURE) tags TAGS $(RM) $(CREATED_SUPPORT) Makefile $(CREATED_MAKEFILES) *************** *** 719,729 **** ( cd builtins && $(MAKE) $(MFLAGS) $@ ) ( cd $(SDIR) && $(MAKE) $(MFLAGS) $@ ) ! -(cd $(RL_LIBDIR) && $(MAKE) $(MFLAGS) $@) ! -(cd $(HIST_LIBDIR) && test -f Makefile && $(MAKE) $(MFLAGS) $@) ! -(cd $(TERM_LIBDIR) && $(MAKE) $(MFLAGS) $@) ! -(cd $(GLOB_LIBDIR) && $(MAKE) $(MFLAGS) $@) ! -(cd $(TILDE_LIBDIR) && $(MAKE) $(MFLAGS) $@) ! -(cd $(ALLOC_LIBDIR) && $(MAKE) $(MFLAGS) $@) ! -(cd $(SH_LIBDIR) && $(MAKE) $(MFLAGS) $@) $(RM) $(CREATED_CONFIGURE) $(CREATED_MAKEFILES) $(RM) $(CREATED_SUPPORT) Makefile --- 768,775 ---- ( cd builtins && $(MAKE) $(MFLAGS) $@ ) ( cd $(SDIR) && $(MAKE) $(MFLAGS) $@ ) ! -for libdir in ${LIB_SUBDIRS}; do \ ! (cd $$libdir && test -f Makefile && $(MAKE) $(MFLAGS) $@) ;\ ! done ! -( cd $(PO_DIR) ; $(MAKE) $(MFLAGS) DESTDIR=$(DESTDIR) $@ ) $(RM) $(CREATED_CONFIGURE) $(CREATED_MAKEFILES) $(RM) $(CREATED_SUPPORT) Makefile *************** *** 755,761 **** @echo Bash distributions are created using $(srcdir)/support/mkdist. @echo Here is a sample of the necessary commands: ! @echo $(Program) $(srcdir)/support/mkdist -m $(srcdir)/MANIFEST -s $(srcdir) -r ${Program} $(Version)-${RELSTATUS} ! @echo tar cf $(Program)-$(Version)-${RELSTATUS}.tar ${Program}-$(Version)-${RELSTATUS} ! @echo gzip $(Program)-$(Version)-${RELSTATUS}.tar depend: depends --- 801,807 ---- @echo Bash distributions are created using $(srcdir)/support/mkdist. @echo Here is a sample of the necessary commands: ! @echo $(Program) $(srcdir)/support/mkdist -m $(srcdir)/MANIFEST -s $(srcdir) -r ${PACKAGE} $(PACKAGE_VERSION) ! @echo tar cf $(PACKAGE)-${PACKAGE_VERSION}.tar ${PACKAGE}-$(PACKAGE_VERSION) ! @echo gzip $(PACKAGE)-$(PACKAGE_VERSION).tar depend: depends *************** *** 800,803 **** --- 846,854 ---- error.o: config.h bashtypes.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h flags.h ${BASHINCDIR}/stdc.h error.h error.o: command.h general.h xmalloc.h externs.h input.h bashhist.h + error.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h + error.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h + error.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h + error.o: make_cmd.h subst.h sig.h pathnames.h externs.h + error.o: input.h execute_cmd.h eval.o: config.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h trap.h flags.h ${DEFSRC}/common.h eval.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h *************** *** 805,819 **** eval.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h eval.o: make_cmd.h subst.h sig.h pathnames.h externs.h ! eval.o: input.h execute_cmd.h execute_cmd.o: config.h bashtypes.h ${BASHINCDIR}/filecntl.h ${BASHINCDIR}/posixstat.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h execute_cmd.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h execute_cmd.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h execute_cmd.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h ! execute_cmd.o: make_cmd.h subst.h sig.h pathnames.h externs.h execute_cmd.o: ${BASHINCDIR}/memalloc.h ${GRAM_H} flags.h builtins.h jobs.h quit.h siglist.h execute_cmd.o: execute_cmd.h findcmd.h redir.h trap.h test.h pathexp.h execute_cmd.o: $(DEFSRC)/common.h ${DEFDIR}/builtext.h ${GLOB_LIBSRC}/strmatch.h execute_cmd.o: ${BASHINCDIR}/posixtime.h ${BASHINCDIR}/chartypes.h ! expr.o: config.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h expr.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h expr.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h --- 856,870 ---- eval.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h eval.o: make_cmd.h subst.h sig.h pathnames.h externs.h ! eval.o: input.h execute_cmd.h execute_cmd.o: config.h bashtypes.h ${BASHINCDIR}/filecntl.h ${BASHINCDIR}/posixstat.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h execute_cmd.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h execute_cmd.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h execute_cmd.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h ! execute_cmd.o: make_cmd.h subst.h sig.h pathnames.h externs.h execute_cmd.o: ${BASHINCDIR}/memalloc.h ${GRAM_H} flags.h builtins.h jobs.h quit.h siglist.h execute_cmd.o: execute_cmd.h findcmd.h redir.h trap.h test.h pathexp.h execute_cmd.o: $(DEFSRC)/common.h ${DEFDIR}/builtext.h ${GLOB_LIBSRC}/strmatch.h execute_cmd.o: ${BASHINCDIR}/posixtime.h ${BASHINCDIR}/chartypes.h ! expr.o: config.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h expr.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h expr.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h *************** *** 827,831 **** findcmd.o: flags.h hashlib.h pathexp.h hashcmd.h findcmd.o: ${BASHINCDIR}/chartypes.h ! flags.o: config.h flags.h flags.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h flags.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h --- 878,882 ---- findcmd.o: flags.h hashlib.h pathexp.h hashcmd.h findcmd.o: ${BASHINCDIR}/chartypes.h ! flags.o: config.h flags.h flags.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h flags.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h *************** *** 836,840 **** general.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h general.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h ! general.o: make_cmd.h subst.h sig.h pathnames.h externs.h general.o: ${BASHINCDIR}/maxpath.h ${BASHINCDIR}/posixtime.h general.o: ${BASHINCDIR}/chartypes.h --- 887,891 ---- general.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h general.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h ! general.o: make_cmd.h subst.h sig.h pathnames.h externs.h general.o: ${BASHINCDIR}/maxpath.h ${BASHINCDIR}/posixtime.h general.o: ${BASHINCDIR}/chartypes.h *************** *** 847,851 **** hashlib.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h hashlib.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h ! hashlib.o: make_cmd.h subst.h sig.h pathnames.h externs.h input.o: config.h bashtypes.h ${BASHINCDIR}/filecntl.h ${BASHINCDIR}/posixstat.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h input.o: command.h ${BASHINCDIR}/stdc.h general.h xmalloc.h input.h error.h externs.h --- 898,902 ---- hashlib.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h hashlib.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h ! hashlib.o: make_cmd.h subst.h sig.h pathnames.h externs.h input.o: config.h bashtypes.h ${BASHINCDIR}/filecntl.h ${BASHINCDIR}/posixstat.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h input.o: command.h ${BASHINCDIR}/stdc.h general.h xmalloc.h input.h error.h externs.h *************** *** 853,862 **** list.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h list.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h ! list.o: make_cmd.h subst.h sig.h pathnames.h externs.h ! locale.o: config.h bashtypes.h bashintl.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h locale.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h locale.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h locale.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h ! locale.o: make_cmd.h subst.h sig.h pathnames.h externs.h locale.o: ${BASHINCDIR}/chartypes.h mailcheck.o: config.h bashtypes.h ${BASHINCDIR}/posixstat.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h --- 904,913 ---- list.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h list.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h ! list.o: make_cmd.h subst.h sig.h pathnames.h externs.h ! locale.o: config.h bashtypes.h bashintl.h ${LIBINTL_H} bashansi.h ${BASHINCDIR}/ansi_stdlib.h locale.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h locale.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h locale.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h ! locale.o: make_cmd.h subst.h sig.h pathnames.h externs.h locale.o: ${BASHINCDIR}/chartypes.h mailcheck.o: config.h bashtypes.h ${BASHINCDIR}/posixstat.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h *************** *** 866,870 **** mailcheck.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h mailcheck.o: make_cmd.h subst.h sig.h pathnames.h externs.h ! mailcheck.o: execute_cmd.h mailcheck.h make_cmd.o: config.h bashtypes.h ${BASHINCDIR}/filecntl.h bashansi.h make_cmd.o: command.h ${BASHINCDIR}/stdc.h general.h xmalloc.h error.h flags.h make_cmd.h --- 917,921 ---- mailcheck.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h mailcheck.o: make_cmd.h subst.h sig.h pathnames.h externs.h ! mailcheck.o: execute_cmd.h mailcheck.h make_cmd.o: config.h bashtypes.h ${BASHINCDIR}/filecntl.h bashansi.h make_cmd.o: command.h ${BASHINCDIR}/stdc.h general.h xmalloc.h error.h flags.h make_cmd.h *************** *** 891,900 **** print_cmd.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h print_cmd.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h ! print_cmd.o: make_cmd.h subst.h sig.h pathnames.h externs.h print_cmd.o: ${GRAM_H} $(DEFSRC)/common.h redir.o: config.h bashtypes.h ${BASHINCDIR}/posixstat.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h ${BASHINCDIR}/filecntl.h redir.o: ${BASHINCDIR}/memalloc.h shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h redir.o: general.h xmalloc.h variables.h arrayfunc.h conftypes.h array.h hashlib.h quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h ! redir.o: dispose_cmd.h make_cmd.h subst.h sig.h pathnames.h externs.h redir.o: flags.h execute_cmd.h redir.h input.h shell.o: config.h bashtypes.h ${BASHINCDIR}/posixstat.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h ${BASHINCDIR}/filecntl.h --- 942,951 ---- print_cmd.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h print_cmd.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h ! print_cmd.o: make_cmd.h subst.h sig.h pathnames.h externs.h print_cmd.o: ${GRAM_H} $(DEFSRC)/common.h redir.o: config.h bashtypes.h ${BASHINCDIR}/posixstat.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h ${BASHINCDIR}/filecntl.h redir.o: ${BASHINCDIR}/memalloc.h shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h redir.o: general.h xmalloc.h variables.h arrayfunc.h conftypes.h array.h hashlib.h quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h ! redir.o: dispose_cmd.h make_cmd.h subst.h sig.h pathnames.h externs.h redir.o: flags.h execute_cmd.h redir.h input.h shell.o: config.h bashtypes.h ${BASHINCDIR}/posixstat.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h ${BASHINCDIR}/filecntl.h *************** *** 902,906 **** shell.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h shell.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h ! shell.o: make_cmd.h subst.h sig.h pathnames.h externs.h version.h shell.o: flags.h trap.h mailcheck.h builtins.h $(DEFSRC)/common.h shell.o: jobs.h siglist.h input.h execute_cmd.h findcmd.h bashhist.h --- 953,957 ---- shell.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h shell.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h ! shell.o: make_cmd.h subst.h sig.h pathnames.h externs.h shell.o: flags.h trap.h mailcheck.h builtins.h $(DEFSRC)/common.h shell.o: jobs.h siglist.h input.h execute_cmd.h findcmd.h bashhist.h *************** *** 910,914 **** sig.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h sig.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h ! sig.o: make_cmd.h subst.h sig.h pathnames.h externs.h sig.o: jobs.h siglist.h trap.h $(DEFSRC)/common.h bashline.h bashhist.h siglist.o: config.h bashtypes.h siglist.h trap.h --- 961,965 ---- sig.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h sig.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h ! sig.o: make_cmd.h subst.h sig.h pathnames.h externs.h sig.o: jobs.h siglist.h trap.h $(DEFSRC)/common.h bashline.h bashhist.h siglist.o: config.h bashtypes.h siglist.h trap.h *************** *** 917,921 **** stringlib.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h stringlib.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h ! stringlib.o: make_cmd.h subst.h sig.h pathnames.h externs.h stringlib.o: ${GLOB_LIBSRC}/glob.h ${GLOB_LIBSRC}/strmatch.h subst.o: config.h bashtypes.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h ${BASHINCDIR}/posixstat.h --- 968,972 ---- stringlib.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h stringlib.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h ! stringlib.o: make_cmd.h subst.h sig.h pathnames.h externs.h stringlib.o: ${GLOB_LIBSRC}/glob.h ${GLOB_LIBSRC}/strmatch.h subst.o: config.h bashtypes.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h ${BASHINCDIR}/posixstat.h *************** *** 923,927 **** subst.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h subst.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h ! subst.o: make_cmd.h subst.h sig.h pathnames.h externs.h subst.o: flags.h jobs.h siglist.h execute_cmd.h ${BASHINCDIR}/filecntl.h trap.h pathexp.h subst.o: mailcheck.h input.h $(DEFSRC)/getopt.h $(DEFSRC)/common.h --- 974,978 ---- subst.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h subst.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h ! subst.o: make_cmd.h subst.h sig.h pathnames.h externs.h subst.o: flags.h jobs.h siglist.h execute_cmd.h ${BASHINCDIR}/filecntl.h trap.h pathexp.h subst.o: mailcheck.h input.h $(DEFSRC)/getopt.h $(DEFSRC)/common.h *************** *** 934,944 **** test.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h test.o: make_cmd.h subst.h sig.h pathnames.h externs.h test.h ! test.o: ${DEFSRC}/common.h trap.o: config.h bashtypes.h trap.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h trap.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h trap.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h trap.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h ! trap.o: make_cmd.h subst.h sig.h pathnames.h externs.h trap.o: signames.h $(DEFSRC)/common.h unwind_prot.o: config.h bashtypes.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h command.h ${BASHINCDIR}/stdc.h unwind_prot.o: general.h xmalloc.h unwind_prot.h quit.h sig.h --- 985,996 ---- test.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h test.o: make_cmd.h subst.h sig.h pathnames.h externs.h test.h ! test.o: ${DEFSRC}/common.h trap.o: config.h bashtypes.h trap.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h trap.o: shell.h syntax.h config.h bashjmp.h ${BASHINCDIR}/posixjmp.h command.h ${BASHINCDIR}/stdc.h error.h trap.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h trap.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h ! trap.o: make_cmd.h subst.h sig.h pathnames.h externs.h trap.o: signames.h $(DEFSRC)/common.h + trap.o: ${DEFDIR}/builtext.h unwind_prot.o: config.h bashtypes.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h command.h ${BASHINCDIR}/stdc.h unwind_prot.o: general.h xmalloc.h unwind_prot.h quit.h sig.h *************** *** 947,956 **** variables.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h variables.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h ! variables.o: make_cmd.h subst.h sig.h pathnames.h externs.h variables.o: flags.h execute_cmd.h mailcheck.h input.h $(DEFSRC)/common.h variables.o: findcmd.h bashhist.h hashcmd.h pathexp.h ! variables.o: pcomplete.h version.h ${BASHINCDIR}/chartypes.h variables.o: ${BASHINCDIR}/posixtime.h ! version.o: version.h conftypes.h patchlevel.h xmalloc.o: config.h bashtypes.h ${BASHINCDIR}/ansi_stdlib.h error.h --- 999,1008 ---- variables.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h variables.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h ! variables.o: make_cmd.h subst.h sig.h pathnames.h externs.h variables.o: flags.h execute_cmd.h mailcheck.h input.h $(DEFSRC)/common.h variables.o: findcmd.h bashhist.h hashcmd.h pathexp.h ! variables.o: pcomplete.h ${BASHINCDIR}/chartypes.h variables.o: ${BASHINCDIR}/posixtime.h ! version.o: conftypes.h patchlevel.h version.h xmalloc.o: config.h bashtypes.h ${BASHINCDIR}/ansi_stdlib.h error.h *************** *** 962,966 **** jobs.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h jobs.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h ! jobs.o: make_cmd.h subst.h sig.h pathnames.h externs.h jobs.o: jobs.h flags.h $(DEFSRC)/common.h $(DEFDIR)/builtext.h jobs.o: ${BASHINCDIR}/posixwait.h ${BASHINCDIR}/unionwait.h --- 1014,1018 ---- jobs.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h jobs.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h ! jobs.o: make_cmd.h subst.h sig.h pathnames.h externs.h jobs.o: jobs.h flags.h $(DEFSRC)/common.h $(DEFDIR)/builtext.h jobs.o: ${BASHINCDIR}/posixwait.h ${BASHINCDIR}/unionwait.h *************** *** 976,980 **** array.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h array.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h ! array.o: make_cmd.h subst.h sig.h pathnames.h externs.h array.o: $(DEFSRC)/common.h arrayfunc.o: config.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h --- 1028,1032 ---- array.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h array.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h ! array.o: make_cmd.h subst.h sig.h pathnames.h externs.h array.o: $(DEFSRC)/common.h arrayfunc.o: config.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h *************** *** 982,986 **** arrayfunc.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h arrayfunc.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h ! arrayfunc.o: make_cmd.h subst.h sig.h pathnames.h externs.h arrayfunc.o: $(DEFSRC)/common.h arrayfunc.o: ${BASHINCDIR}/shmbutil.h --- 1034,1038 ---- arrayfunc.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h arrayfunc.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h ! arrayfunc.o: make_cmd.h subst.h sig.h pathnames.h externs.h arrayfunc.o: $(DEFSRC)/common.h arrayfunc.o: ${BASHINCDIR}/shmbutil.h *************** *** 989,997 **** braces.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h braces.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h ! braces.o: make_cmd.h subst.h sig.h pathnames.h externs.h braces.o: ${BASHINCDIR}/shmbutil.h alias.o: config.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h command.h ${BASHINCDIR}/stdc.h alias.o: general.h xmalloc.h bashtypes.h externs.h alias.h ! alias.o: pcomplete.h alias.o: ${BASHINCDIR}/chartypes.h --- 1041,1049 ---- braces.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h braces.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h ! braces.o: make_cmd.h subst.h sig.h pathnames.h externs.h braces.o: ${BASHINCDIR}/shmbutil.h alias.o: config.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h command.h ${BASHINCDIR}/stdc.h alias.o: general.h xmalloc.h bashtypes.h externs.h alias.h ! alias.o: pcomplete.h alias.o: ${BASHINCDIR}/chartypes.h *************** *** 1006,1010 **** pcomplete.o: bashjmp.h command.h general.h xmalloc.h error.h variables.h arrayfunc.h conftypes.h quit.h pcomplete.o: unwind_prot.h dispose_cmd.h make_cmd.h subst.h sig.h pathnames.h ! pcomplete.o: externs.h ${BASHINCDIR}/maxpath.h execute_cmd.h # library support files --- 1058,1062 ---- pcomplete.o: bashjmp.h command.h general.h xmalloc.h error.h variables.h arrayfunc.h conftypes.h quit.h pcomplete.o: unwind_prot.h dispose_cmd.h make_cmd.h subst.h sig.h pathnames.h ! pcomplete.o: externs.h ${BASHINCDIR}/maxpath.h execute_cmd.h # library support files *************** *** 1015,1019 **** bashhist.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h bashhist.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h ! bashhist.o: make_cmd.h subst.h sig.h pathnames.h externs.h bashhist.o: flags.h input.h parser.h pathexp.h $(DEFSRC)/common.h bashline.h bashhist.o: $(GLOB_LIBSRC)/strmatch.h --- 1067,1071 ---- bashhist.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h bashhist.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h ! bashhist.o: make_cmd.h subst.h sig.h pathnames.h externs.h bashhist.o: flags.h input.h parser.h pathexp.h $(DEFSRC)/common.h bashline.h bashhist.o: $(GLOB_LIBSRC)/strmatch.h *************** *** 1022,1026 **** bashline.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h bashline.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h ! bashline.o: make_cmd.h subst.h sig.h pathnames.h externs.h bashline.o: builtins.h bashhist.h bashline.h execute_cmd.h findcmd.h pathexp.h bashline.o: $(DEFSRC)/common.h $(GLOB_LIBSRC)/glob.h alias.h --- 1074,1078 ---- bashline.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h bashline.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h ! bashline.o: make_cmd.h subst.h sig.h pathnames.h externs.h bashline.o: builtins.h bashhist.h bashline.h execute_cmd.h findcmd.h pathexp.h bashline.o: $(DEFSRC)/common.h $(GLOB_LIBSRC)/glob.h alias.h *************** *** 1030,1034 **** bracecomp.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h bracecomp.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h ! bracecomp.o: make_cmd.h subst.h sig.h pathnames.h externs.h bracecomp.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h command.h hashlib.h builtins.h general.h xmalloc.h bracecomp.o: quit.h alias.h config.h variables.h arrayfunc.h conftypes.h --- 1082,1086 ---- bracecomp.o: general.h xmalloc.h bashtypes.h variables.h arrayfunc.h conftypes.h array.h hashlib.h bracecomp.o: quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h ! bracecomp.o: make_cmd.h subst.h sig.h pathnames.h externs.h bracecomp.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h command.h hashlib.h builtins.h general.h xmalloc.h bracecomp.o: quit.h alias.h config.h variables.h arrayfunc.h conftypes.h *************** *** 1060,1063 **** --- 1112,1145 ---- variables.o: $(TILDE_LIBSRC)/tilde.h + # libintl dependencies + arrayfunc.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + bashhist.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + bashline.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + braces.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + error.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + eval.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + execute_cmd.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + expr.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + general.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + input.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + jobs.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + mailcheck.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + make_cmd.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + nojobs.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + parse.y: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + pcomplete.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + pcomplib.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + print_cmd.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + redir.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + shell.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + sig.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + siglist.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + subst.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + test.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + trap.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + variables.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + version.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + xmalloc.o: bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + # XXX - dependencies checked through here *************** *** 1066,1070 **** builtins/bashgetopt.o: shell.h syntax.h config.h bashjmp.h command.h general.h xmalloc.h error.h builtins/bashgetopt.o: variables.h arrayfunc.h conftypes.h quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h ! builtins/bashgetopt.o: make_cmd.h subst.h sig.h pathnames.h externs.h builtins/bashgetopt.o: $(DEFSRC)/common.h builtins/bashgetopt.o: ${BASHINCDIR}/chartypes.h --- 1148,1152 ---- builtins/bashgetopt.o: shell.h syntax.h config.h bashjmp.h command.h general.h xmalloc.h error.h builtins/bashgetopt.o: variables.h arrayfunc.h conftypes.h quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h ! builtins/bashgetopt.o: make_cmd.h subst.h sig.h pathnames.h externs.h builtins/bashgetopt.o: $(DEFSRC)/common.h builtins/bashgetopt.o: ${BASHINCDIR}/chartypes.h *************** *** 1073,1077 **** builtins/common.o: ${BASHINCDIR}/memalloc.h variables.h arrayfunc.h conftypes.h input.h siglist.h builtins/common.o: quit.h unwind_prot.h ${BASHINCDIR}/maxpath.h jobs.h builtins.h ! builtins/common.o: dispose_cmd.h make_cmd.h subst.h externs.h bashhist.h builtins/common.o: execute_cmd.h ${BASHINCDIR}/stdc.h general.h xmalloc.h error.h pathnames.h builtins/common.o: ${DEFDIR}/builtext.h --- 1155,1159 ---- builtins/common.o: ${BASHINCDIR}/memalloc.h variables.h arrayfunc.h conftypes.h input.h siglist.h builtins/common.o: quit.h unwind_prot.h ${BASHINCDIR}/maxpath.h jobs.h builtins.h ! builtins/common.o: dispose_cmd.h make_cmd.h subst.h externs.h bashhist.h builtins/common.o: execute_cmd.h ${BASHINCDIR}/stdc.h general.h xmalloc.h error.h pathnames.h builtins/common.o: ${DEFDIR}/builtext.h *************** *** 1080,1084 **** builtins/evalfile.o: shell.h syntax.h config.h bashjmp.h command.h general.h xmalloc.h error.h builtins/evalfile.o: variables.h arrayfunc.h conftypes.h quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h ! builtins/evalfile.o: make_cmd.h subst.h sig.h pathnames.h externs.h builtins/evalfile.o: jobs.h builtins.h flags.h input.h execute_cmd.h builtins/evalfile.o: bashhist.h $(DEFSRC)/common.h --- 1162,1166 ---- builtins/evalfile.o: shell.h syntax.h config.h bashjmp.h command.h general.h xmalloc.h error.h builtins/evalfile.o: variables.h arrayfunc.h conftypes.h quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h ! builtins/evalfile.o: make_cmd.h subst.h sig.h pathnames.h externs.h builtins/evalfile.o: jobs.h builtins.h flags.h input.h execute_cmd.h builtins/evalfile.o: bashhist.h $(DEFSRC)/common.h *************** *** 1093,1097 **** builtins/getopt.o: shell.h syntax.h bashjmp.h command.h general.h xmalloc.h error.h builtins/getopt.o: variables.h arrayfunc.h conftypes.h quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h ! builtins/getopt.o: make_cmd.h subst.h sig.h pathnames.h externs.h builtins/getopt.o: $(DEFSRC)/getopt.h builtins/mkbuiltins.o: config.h bashtypes.h ${BASHINCDIR}/posixstat.h ${BASHINCDIR}/filecntl.h --- 1175,1179 ---- builtins/getopt.o: shell.h syntax.h bashjmp.h command.h general.h xmalloc.h error.h builtins/getopt.o: variables.h arrayfunc.h conftypes.h quit.h ${BASHINCDIR}/maxpath.h unwind_prot.h dispose_cmd.h ! builtins/getopt.o: make_cmd.h subst.h sig.h pathnames.h externs.h builtins/getopt.o: $(DEFSRC)/getopt.h builtins/mkbuiltins.o: config.h bashtypes.h ${BASHINCDIR}/posixstat.h ${BASHINCDIR}/filecntl.h *************** *** 1114,1117 **** --- 1196,1205 ---- builtins/builtin.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h builtins/builtin.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h + builtins/caller.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h + builtins/caller.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h + builtins/caller.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h + builtins/caller.o: $(DEFSRC)/common.h quit.h + builtins/caller.o: ${BASHINCDIR}/chartypes.h bashtypes.h + builtins/caller.o: ${DEFDIR}/builtext.h builtins/cd.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h builtins/cd.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h *************** *** 1132,1145 **** builtins/enable.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h quit.h builtins/enable.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h ! builtins/enable.o: pcomplete.h builtins/eval.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h builtins/eval.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h quit.h builtins/eval.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h ! builtins/exec.o: bashtypes.h builtins/exec.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h builtins/exec.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h ! builtins/exec.o: dispose_cmd.h make_cmd.h subst.h externs.h execute_cmd.h builtins/exec.o: findcmd.h flags.h quit.h $(DEFSRC)/common.h ${BASHINCDIR}/stdc.h ! builtins/exit.o: bashtypes.h builtins/exit.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h builtins/exit.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h quit.h --- 1220,1233 ---- builtins/enable.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h quit.h builtins/enable.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h ! builtins/enable.o: pcomplete.h builtins/eval.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h builtins/eval.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h quit.h builtins/eval.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h ! builtins/exec.o: bashtypes.h builtins/exec.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h builtins/exec.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h ! builtins/exec.o: dispose_cmd.h make_cmd.h subst.h externs.h execute_cmd.h builtins/exec.o: findcmd.h flags.h quit.h $(DEFSRC)/common.h ${BASHINCDIR}/stdc.h ! builtins/exit.o: bashtypes.h builtins/exit.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h builtins/exit.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h quit.h *************** *** 1152,1156 **** builtins/fc.o: $(DEFSRC)/bashgetopt.h bashhist.h builtins/fc.o: ${BASHINCDIR}/chartypes.h ! builtins/fg_bg.o: bashtypes.h $(DEFSRC)/bashgetopt.h builtins/fg_bg.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h builtins/fg_bg.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h quit.h --- 1240,1244 ---- builtins/fc.o: $(DEFSRC)/bashgetopt.h bashhist.h builtins/fc.o: ${BASHINCDIR}/chartypes.h ! builtins/fg_bg.o: bashtypes.h $(DEFSRC)/bashgetopt.h builtins/fg_bg.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h builtins/fg_bg.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h quit.h *************** *** 1159,1163 **** builtins/getopts.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h quit.h builtins/getopts.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h ! builtins/hash.o: bashtypes.h builtins/hash.o: builtins.h command.h findcmd.h ${BASHINCDIR}/stdc.h $(DEFSRC)/common.h builtins/hash.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h --- 1247,1251 ---- builtins/getopts.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h quit.h builtins/getopts.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h ! builtins/hash.o: bashtypes.h builtins/hash.o: builtins.h command.h findcmd.h ${BASHINCDIR}/stdc.h $(DEFSRC)/common.h builtins/hash.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h *************** *** 1166,1171 **** builtins/help.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h builtins/help.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h quit.h ! builtins/help.o: $(GLOB_LIBSRC)/glob.h version.h ! builtins/history.o: bashtypes.h builtins/history.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h builtins/history.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h --- 1254,1259 ---- builtins/help.o: dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h builtins/help.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h quit.h ! builtins/help.o: $(GLOB_LIBSRC)/glob.h ! builtins/history.o: bashtypes.h builtins/history.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h builtins/history.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h *************** *** 1218,1222 **** builtins/source.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h builtins/source.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h ! builtins/source.o: findcmd.h $(DEFSRC)/bashgetopt.h builtins/suspend.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h builtins/suspend.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h --- 1306,1310 ---- builtins/source.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h builtins/source.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h ! builtins/source.o: findcmd.h $(DEFSRC)/bashgetopt.h flags.h trap.h builtins/suspend.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h builtins/suspend.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h *************** *** 1225,1229 **** builtins/test.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h builtins/test.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h ! builtins/test.o: test.h builtins/times.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h builtins/times.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h --- 1313,1317 ---- builtins/test.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h builtins/test.o: shell.h syntax.h bashjmp.h ${BASHINCDIR}/posixjmp.h sig.h unwind_prot.h variables.h arrayfunc.h conftypes.h ! builtins/test.o: test.h builtins/times.o: command.h config.h ${BASHINCDIR}/memalloc.h error.h general.h xmalloc.h ${BASHINCDIR}/maxpath.h builtins/times.o: quit.h dispose_cmd.h make_cmd.h subst.h externs.h ${BASHINCDIR}/stdc.h *************** *** 1252,1259 **** builtins/complete.o: unwind_prot.h variables.h arrayfunc.h conftypes.h builtins/complete.o: bashtypes.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h ! builtins/complete.o: builtins.h builtins/complete.o: pcomplete.h builtins/complete.o: ${DEFSRC}/common.h ${DEFSRC}/bashgetopt.h # builtin library dependencies builtins/bind.o: $(RL_LIBSRC)/chardefs.h $(RL_LIBSRC)/readline.h --- 1340,1384 ---- builtins/complete.o: unwind_prot.h variables.h arrayfunc.h conftypes.h builtins/complete.o: bashtypes.h bashansi.h ${BASHINCDIR}/ansi_stdlib.h ! builtins/complete.o: builtins.h builtins/complete.o: pcomplete.h builtins/complete.o: ${DEFSRC}/common.h ${DEFSRC}/bashgetopt.h + # libintl dependencies + builtins/bind.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + builtins/break.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + builtins/caller.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + builtins/cd.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + builtins/common.c: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + builtins/complete.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + builtins/declare.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + builtins/enable.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + builtins/evalfile.c: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + builtins/exec.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + builtins/exit.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + builtins/fc.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + builtins/fg_bg.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + builtins/getopt.c: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + builtins/hash.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + builtins/help.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + builtins/history.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + builtins/inlib.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + builtins/jobs.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + builtins/kill.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + builtins/let.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + builtins/mkbuiltins.c: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + builtins/printf.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + builtins/pushd.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + builtins/read.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + builtins/return.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + builtins/set.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + builtins/setattr.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + builtins/shift.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + builtins/shopt.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + builtins/source.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + builtins/suspend.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + builtins/type.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + builtins/ulimit.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + builtins/umask.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + # builtin library dependencies builtins/bind.o: $(RL_LIBSRC)/chardefs.h $(RL_LIBSRC)/readline.h *************** *** 1271,1274 **** --- 1396,1400 ---- builtins/break.o: $(DEFSRC)/break.def builtins/builtin.o: $(DEFSRC)/builtin.def + builtins/caller.o: $(DEFSRC)/caller.def builtins/cd.o: $(DEFSRC)/cd.def builtins/colon.o: $(DEFSRC)/colon.def diff -aNrc2 bash-2.05b-patched/NEWS bash-3.0/NEWS *** bash-2.05b-patched/NEWS Tue Jul 2 14:53:13 2002 --- bash-3.0/NEWS Fri Jul 2 18:57:20 2004 *************** *** 1,2 **** --- 1,196 ---- + This is a terse description of the new features added to bash-3.0 since + the release of bash-2.05b. As always, the manual page (doc/bash.1) is + the place to look for complete descriptions. + + 1. New Features in Bash + + a. ANSI string expansion now implements the \x{hexdigits} escape. + + b. There is a new loadable `strftime' builtin. + + c. New variable, COMP_WORDBREAKS, which controls the readline completer's + idea of word break characters. + + d. The `type' builtin no longer reports on aliases unless alias expansion + will actually be performed. + + e. HISTCONTROL is now a colon-separated list of values, which permits + more extensibility and backwards compatibility. + + f. HISTCONTROL may now include the `erasedups' option, which causes all lines + matching a line being added to be removed from the history list. + + g. `configure' has a new `--enable-multibyte' argument that permits multibyte + character support to be disabled even on systems that support it. + + h. New variables to support the bash debugger: BASH_ARGC, BASH_ARGV, + BASH_SOURCE, BASH_LINENO, BASH_SUBSHELL, BASH_EXECUTION_STRING, + BASH_COMMAND + + i. FUNCNAME has been changed to support the debugger: it's now an array + variable. + + j. for, case, select, arithmetic commands now keep line number information + for the debugger. + + k. There is a new `RETURN' trap executed when a function or sourced script + returns (not inherited child processes; inherited by command substitution + if function tracing is enabled and the debugger is active). + + l. New invocation option: --debugger. Enables debugging and turns on new + `extdebug' shell option. + + m. New `functrace' and `errtrace' options to `set -o' cause DEBUG and ERR + traps, respectively, to be inherited by shell functions. Equivalent to + `set -T' and `set -E' respectively. The `functrace' option also controls + whether or not the DEBUG trap is inherited by sourced scripts. + + n. The DEBUG trap is run before binding the variable and running the action + list in a `for' command, binding the selection variable and running the + query in a `select' command, and before attempting a match in a `case' + command. + + o. New `--enable-debugger' option to `configure' to compile in the debugger + support code. + + p. `declare -F' now prints out extra line number and source file information + if the `extdebug' option is set. + + q. If `extdebug' is enabled, a non-zero return value from a DEBUG trap causes + the next command to be skipped, and a return value of 2 while in a + function or sourced script forces a `return'. + + r. New `caller' builtin to provide a call stack for the bash debugger. + + s. The DEBUG trap is run just before the first command in a function body is + executed, for the debugger. + + t. `for', `select', and `case' command heads are printed when `set -x' is + enabled. + + u. There is a new {x..y} brace expansion, which is shorthand for {x.x+1, + x+2,...,y}. x and y can be integers or single characters; the sequence + may ascend or descend; the increment is always 1. + + v. New ksh93-like ${!array[@]} expansion, expands to all the keys (indices) + of array. + + w. New `force_fignore' shopt option; if enabled, suffixes specified by + FIGNORE cause words to be ignored when performing word completion even + if they're the only possibilities. + + x. New `gnu_errfmt' shopt option; if enabled, error messages follow the `gnu + style' (filename:lineno:message) format. + + y. New `-o bashdefault' option to complete and compgen; if set, causes the + whole set of bash completions to be performed if the compspec doesn't + result in a match. + + z. New `-o plusdirs' option to complete and compgen; if set, causes directory + name completion to be performed and the results added to the rest of the + possible completions. + + aa. `kill' is available as a builtin even when the shell is built without + job control. + + bb. New HISTTIMEFORMAT variable; value is a format string to pass to + strftime(3). If set and not null, the `history' builtin prints out + timestamp information according to the specified format when displaying + history entries. If set, bash tells the history library to write out + timestamp information when the history file is written. + + cc. The [[ ... ]] command has a new binary `=~' operator that performs + extended regular expression (egrep-like) matching. + + dd. `configure' has a new `--enable-cond-regexp' option (enabled by default) + to enable the =~ operator and regexp matching in [[ ... ]]. + + ee. Subexpressions matched by the =~ operator are placed in the new + BASH_REMATCH array variable. + + ff. New `failglob' option that causes an expansion error when pathname + expansion fails to produce a match. + + gg. New `set -o pipefail' option that causes a pipeline to return a failure + status if any of the processes in the pipeline fail, not just the last + one. + + hh. printf builtin understands two new escape sequences: \" and \?. + + ii. `echo -e' understands two new escape sequences: \" and \?. + + jj. The GNU `gettext' package and libintl have been integrated; the shell's + messages can be translated into different languages. + + kk. The `\W' prompt expansion now abbreviates $HOME as `~', like `\w'. + + ll. The error message printed when bash cannot open a shell script supplied + as argument 1 now includes the name of the shell, to better identify + the error as coming from bash. + + mm. The parameter pattern removal and substitution expansions are now much + faster and more efficient when using multibyte characters. + + nn. The `jobs', `kill', and `wait' builtins now accept job control notation + even if job control is not enabled. + + oo. The historical behavior of `trap' that allows a missing `action' argument + to cause each specified signal's handling to be reset to its default is + now only supported when `trap' is given a single non-option argument. + + 2. New Features in Readline + + a. History expansion has a new `a' modifier equivalent to the `g' modifier + for compatibility with the BSD csh. + + b. History expansion has a new `G' modifier equivalent to the BSD csh `g' + modifier, which performs a substitution once per word. + + c. All non-incremental search operations may now undo the operation of + replacing the current line with the history line. + + d. The text inserted by an `a' command in vi mode can be reinserted with + `.'. + + e. New bindable variable, `show-all-if-unmodified'. If set, the readline + completer will list possible completions immediately if there is more + than one completion and partial completion cannot be performed. + + f. There is a new application-callable `free_history_entry()' function. + + g. History list entries now contain timestamp information; the history file + functions know how to read and write timestamp information associated + with each entry. + + h. Four new key binding functions have been added: + + rl_bind_key_if_unbound() + rl_bind_key_if_unbound_in_map() + rl_bind_keyseq_if_unbound() + rl_bind_keyseq_if_unbound_in_map() + + i. New application variable, rl_completion_quote_character, set to any + quote character readline finds before it calls the application completion + function. + + j. New application variable, rl_completion_suppress_quote, settable by an + application completion function. If set to non-zero, readline does not + attempt to append a closing quote to a completed word. + + k. New application variable, rl_completion_found_quote, set to a non-zero + value if readline determines that the word to be completed is quoted. + Set before readline calls any application completion function. + + l. New function hook, rl_completion_word_break_hook, called when readline + needs to break a line into words when completion is attempted. Allows + the word break characters to vary based on position in the line. + + m. New bindable command: unix-filename-rubout. Does the same thing as + unix-word-rubout, but adds `/' to the set of word delimiters. + + n. When listing completions, directories have a `/' appended if the + `mark-directories' option has been enabled. + + ------------------------------------------------------------------------------- This is a terse description of the new features added to bash-2.05b since the release of bash-2.05a. As always, the manual page (doc/bash.1) is diff -aNrc2 bash-2.05b-patched/NOTES bash-3.0/NOTES *** bash-2.05b-patched/NOTES Wed Jun 26 17:36:58 2002 --- bash-3.0/NOTES Tue Oct 14 11:27:37 2003 *************** *** 325,326 **** --- 325,329 ---- 15. Configure with `CC=xlc' if you don't have gcc on AIX 4.2 and later versions. `xlc' running in `cc' mode has trouble compiling error.c. + + 16. Configure --disable-multibyte on NetBSD versions (1.4 through at least + 1.6.1) that include wctype.h but do not define wctype_t. diff -aNrc2 bash-2.05b-patched/POSIX bash-3.0/POSIX *** bash-2.05b-patched/POSIX Wed Jun 26 17:08:57 2002 --- bash-3.0/POSIX Tue Jul 27 09:24:05 2004 *************** *** 30,47 **** setting of the `promptvars' option. ! 6. Interactive comments are enabled by default. (Bash has them on by ! default anyway.) ! ! 7. The POSIX 1003.2 startup files are executed (`$ENV') rather than the normal Bash files. ! 8. Tilde expansion is only performed on assignments preceding a command name, rather than on all assignment statements on the line. ! 9. The default history file is `~/.sh_history' (this is the default value of `$HISTFILE'). ! 10. The output of `kill -l' prints all the signal names on a single ! line, separated by spaces. 11. Non-interactive shells exit if FILENAME in `.' FILENAME is not --- 30,47 ---- setting of the `promptvars' option. ! 6. The POSIX 1003.2 startup files are executed (`$ENV') rather than the normal Bash files. ! 7. Tilde expansion is only performed on assignments preceding a command name, rather than on all assignment statements on the line. ! 8. The default history file is `~/.sh_history' (this is the default value of `$HISTFILE'). ! 9. The output of `kill -l' prints all the signal names on a single ! line, separated by spaces, without the `SIG' prefix. ! ! 10. The `kill' builtin does not accept signal names with a `SIG' ! prefix. 11. Non-interactive shells exit if FILENAME in `.' FILENAME is not *************** *** 104,124 **** 26. The `trap' builtin displays signal names without the leading `SIG'. ! 27. The `.' and `source' builtins do not search the current directory for the filename argument if it is not found by searching `PATH'. ! 28. Subshells spawned to execute command substitutions inherit the value of the `-e' option from the parent shell. When not in POSIX mode, Bash clears the `-e' option in such subshells. ! 29. Alias expansion is always enabled, even in non-interactive shells. ! 30. When the `set' builtin is invoked without options, it does not display shell function names and definitions. ! 31. When the `set' builtin is invoked without options, it displays variable values without quotes, unless they contain shell metacharacters, even if the result contains nonprinting characters. ! 32. When the `cd' builtin is invoked in LOGICAL mode, and the pathname constructed from `$PWD' and the directory name supplied as an argument does not refer to an existing directory, `cd' will fail --- 104,134 ---- 26. The `trap' builtin displays signal names without the leading `SIG'. ! 27. The `trap' builtin doesn't check the first argument for a possible ! signal specification and revert the signal handling to the original ! disposition if it is. If users want to reset the handler for a ! given signal to the original disposition, they should use `-' as ! the first argument. ! ! 28. The `.' and `source' builtins do not search the current directory for the filename argument if it is not found by searching `PATH'. ! 29. Subshells spawned to execute command substitutions inherit the value of the `-e' option from the parent shell. When not in POSIX mode, Bash clears the `-e' option in such subshells. ! 30. Alias expansion is always enabled, even in non-interactive shells. ! ! 31. When the `alias' builtin displays alias definitions, it does not ! display them with a leading `alias ' unless the `-p' option is ! supplied. ! 32. When the `set' builtin is invoked without options, it does not display shell function names and definitions. ! 33. When the `set' builtin is invoked without options, it displays variable values without quotes, unless they contain shell metacharacters, even if the result contains nonprinting characters. ! 34. When the `cd' builtin is invoked in LOGICAL mode, and the pathname constructed from `$PWD' and the directory name supplied as an argument does not refer to an existing directory, `cd' will fail diff -aNrc2 bash-2.05b-patched/README bash-3.0/README *** bash-2.05b-patched/README Thu Apr 4 11:02:55 2002 --- bash-3.0/README Fri Jul 16 21:24:37 2004 *************** *** 2,6 **** ============ ! This is GNU Bash, version 2.05b. Bash is the GNU Project's Bourne Again SHell, a complete implementation of the POSIX.2 shell spec, but also with interactive command line editing, job control on --- 2,6 ---- ============ ! This is GNU Bash, version 3.0. Bash is the GNU Project's Bourne Again SHell, a complete implementation of the POSIX.2 shell spec, but also with interactive command line editing, job control on *************** *** 12,20 **** of the shell's features. ! See the file CWRU/POSIX.NOTES for a discussion of how Bash differs from the POSIX.2 spec and a description of the Bash `posix mode'. There are some user-visible incompatibilities between this version ! of Bash and the previous widely-distributed version, bash-1.14. For details, see the file COMPAT. The NEWS file tersely lists features that are new in this release. --- 12,20 ---- of the shell's features. ! See the file POSIX for a discussion of how the Bash defaults differ from the POSIX.2 spec and a description of the Bash `posix mode'. There are some user-visible incompatibilities between this version ! of Bash and a previous widely-distributed version, bash-1.14. For details, see the file COMPAT. The NEWS file tersely lists features that are new in this release. diff -aNrc2 bash-2.05b-patched/Y2K bash-3.0/Y2K *** bash-2.05b-patched/Y2K Tue Jan 26 16:57:06 1999 --- bash-3.0/Y2K Sat Jan 10 20:16:08 2004 *************** *** 2,5 **** The only thing that Bash does with date strings is manipulate the string ! returned by ctime(3) in the prompt customization code. In all cases, ! it discards the year. --- 2,4 ---- The only thing that Bash does with date strings is manipulate the string ! returned by ctime(3) or strftime(3) in the prompt customization code. diff -aNrc2 bash-2.05b-patched/aclocal.m4 bash-3.0/aclocal.m4 *** bash-2.05b-patched/aclocal.m4 Tue Jun 25 09:45:43 2002 --- bash-3.0/aclocal.m4 Thu May 13 13:37:25 2004 *************** *** 686,691 **** AC_DEFUN(BASH_FUNC_GETCWD, ! [AC_MSG_CHECKING([if getcwd() calls popen()]) ! AC_CACHE_VAL(bash_cv_getcwd_calls_popen, [AC_TRY_RUN([ #include --- 686,691 ---- AC_DEFUN(BASH_FUNC_GETCWD, ! [AC_MSG_CHECKING([if getcwd() will dynamically allocate memory]) ! AC_CACHE_VAL(bash_cv_getcwd_malloc, [AC_TRY_RUN([ #include *************** *** 694,748 **** #endif - #ifndef __STDC__ - #ifndef const - #define const - #endif - #endif - - int popen_called; - - FILE * - popen(command, type) - const char *command; - const char *type; - { - popen_called = 1; - return (FILE *)NULL; - } - - FILE *_popen(command, type) - const char *command; - const char *type; - { - return (popen (command, type)); - } - - int - pclose(stream) - FILE *stream; - { - return 0; - } - - int - _pclose(stream) - FILE *stream; - { - return 0; - } - main() { ! char lbuf[32]; ! popen_called = 0; ! getcwd(lbuf, 32); ! exit (popen_called); } ! ], bash_cv_getcwd_calls_popen=no, bash_cv_getcwd_calls_popen=yes, ! [AC_MSG_WARN(cannot check whether getcwd calls popen if cross compiling -- defaulting to no) ! bash_cv_getcwd_calls_popen=no] )]) ! AC_MSG_RESULT($bash_cv_getcwd_calls_popen) ! if test $bash_cv_getcwd_calls_popen = yes; then AC_DEFINE(GETCWD_BROKEN) AC_LIBOBJ(getcwd) --- 694,709 ---- #endif main() { ! char *xpwd; ! xpwd = getcwd(0, 0); ! exit (xpwd == 0); } ! ], bash_cv_getcwd_malloc=yes, bash_cv_getcwd_malloc=no, ! [AC_MSG_WARN(cannot check whether getcwd allocates memory when cross-compiling -- defaulting to no) ! bash_cv_getcwd_malloc=no] )]) ! AC_MSG_RESULT($bash_cv_getcwd_malloc) ! if test $bash_cv_getcwd_malloc = no; then AC_DEFINE(GETCWD_BROKEN) AC_LIBOBJ(getcwd) *************** *** 982,990 **** fi AC_CACHE_VAL(bash_cv_termcap_lib, ! [AC_CHECK_LIB(termcap, tgetent, bash_cv_termcap_lib=libtermcap, [AC_CHECK_LIB(tinfo, tgetent, bash_cv_termcap_lib=libtinfo, [AC_CHECK_LIB(curses, tgetent, bash_cv_termcap_lib=libcurses, [AC_CHECK_LIB(ncurses, tgetent, bash_cv_termcap_lib=libncurses, ! bash_cv_termcap_lib=gnutermcap)])])])]) if test "X$_bash_needmsg" = "Xyes"; then AC_MSG_CHECKING(which library has the termcap functions) --- 943,952 ---- fi AC_CACHE_VAL(bash_cv_termcap_lib, ! [AC_CHECK_FUNC(tgetent, bash_cv_termcap_lib=libc, ! [AC_CHECK_LIB(termcap, tgetent, bash_cv_termcap_lib=libtermcap, [AC_CHECK_LIB(tinfo, tgetent, bash_cv_termcap_lib=libtinfo, [AC_CHECK_LIB(curses, tgetent, bash_cv_termcap_lib=libcurses, [AC_CHECK_LIB(ncurses, tgetent, bash_cv_termcap_lib=libncurses, ! bash_cv_termcap_lib=gnutermcap)])])])])]) if test "X$_bash_needmsg" = "Xyes"; then AC_MSG_CHECKING(which library has the termcap functions) *************** *** 1004,1007 **** --- 966,972 ---- TERMCAP_LIB=-lncurses TERMCAP_DEP= + elif test $bash_cv_termcap_lib = libc; then + TERMCAP_LIB= + TERMCAP_DEP= else TERMCAP_LIB=-lcurses *************** *** 1062,1066 **** AC_DEFUN(BASH_STRUCT_DIRENT_D_INO, [AC_REQUIRE([AC_HEADER_DIRENT]) ! AC_MSG_CHECKING(if struct dirent has a d_ino member) AC_CACHE_VAL(bash_cv_dirent_has_dino, [AC_TRY_COMPILE([ --- 1027,1031 ---- AC_DEFUN(BASH_STRUCT_DIRENT_D_INO, [AC_REQUIRE([AC_HEADER_DIRENT]) ! AC_MSG_CHECKING(for struct dirent.d_ino) AC_CACHE_VAL(bash_cv_dirent_has_dino, [AC_TRY_COMPILE([ *************** *** 1089,1093 **** AC_MSG_RESULT($bash_cv_dirent_has_dino) if test $bash_cv_dirent_has_dino = yes; then ! AC_DEFINE(STRUCT_DIRENT_HAS_D_INO) fi ]) --- 1054,1058 ---- AC_MSG_RESULT($bash_cv_dirent_has_dino) if test $bash_cv_dirent_has_dino = yes; then ! AC_DEFINE(HAVE_STRUCT_DIRENT_D_INO) fi ]) *************** *** 1095,1099 **** AC_DEFUN(BASH_STRUCT_DIRENT_D_FILENO, [AC_REQUIRE([AC_HEADER_DIRENT]) ! AC_MSG_CHECKING(if struct dirent has a d_fileno member) AC_CACHE_VAL(bash_cv_dirent_has_d_fileno, [AC_TRY_COMPILE([ --- 1060,1064 ---- AC_DEFUN(BASH_STRUCT_DIRENT_D_FILENO, [AC_REQUIRE([AC_HEADER_DIRENT]) ! AC_MSG_CHECKING(for struct dirent.d_fileno) AC_CACHE_VAL(bash_cv_dirent_has_d_fileno, [AC_TRY_COMPILE([ *************** *** 1122,1126 **** AC_MSG_RESULT($bash_cv_dirent_has_d_fileno) if test $bash_cv_dirent_has_d_fileno = yes; then ! AC_DEFINE(STRUCT_DIRENT_HAS_D_FILENO) fi ]) --- 1087,1124 ---- AC_MSG_RESULT($bash_cv_dirent_has_d_fileno) if test $bash_cv_dirent_has_d_fileno = yes; then ! AC_DEFINE(HAVE_STRUCT_DIRENT_D_FILENO) ! fi ! ]) ! ! AC_DEFUN(BASH_STRUCT_DIRENT_D_NAMLEN, ! [AC_REQUIRE([AC_HEADER_DIRENT]) ! AC_MSG_CHECKING(for struct dirent.d_namlen) ! AC_CACHE_VAL(bash_cv_dirent_has_d_namlen, ! [AC_TRY_COMPILE([ ! #include ! #include ! #ifdef HAVE_UNISTD_H ! # include ! #endif /* HAVE_UNISTD_H */ ! #if defined(HAVE_DIRENT_H) ! # include ! #else ! # define dirent direct ! # ifdef HAVE_SYS_NDIR_H ! # include ! # endif /* SYSNDIR */ ! # ifdef HAVE_SYS_DIR_H ! # include ! # endif /* SYSDIR */ ! # ifdef HAVE_NDIR_H ! # include ! # endif ! #endif /* HAVE_DIRENT_H */ ! ],[ ! struct dirent d; int z; z = d.d_namlen; ! ], bash_cv_dirent_has_d_namlen=yes, bash_cv_dirent_has_d_namlen=no)]) ! AC_MSG_RESULT($bash_cv_dirent_has_d_namlen) ! if test $bash_cv_dirent_has_d_namlen = yes; then ! AC_DEFINE(HAVE_STRUCT_DIRENT_D_NAMLEN) fi ]) *************** *** 1142,1145 **** --- 1140,1159 ---- ]) + AC_DEFUN(BASH_STRUCT_TIMEZONE, + [AC_MSG_CHECKING(for struct timezone in sys/time.h and time.h) + AC_CACHE_VAL(bash_cv_struct_timezone, + [ + AC_EGREP_HEADER(struct timezone, sys/time.h, + bash_cv_struct_timezone=yes, + AC_EGREP_HEADER(struct timezone, time.h, + bash_cv_struct_timezone=yes, + bash_cv_struct_timezone=no)) + ]) + AC_MSG_RESULT($bash_cv_struct_timezone) + if test $bash_cv_struct_timezone = yes; then + AC_DEFINE(HAVE_STRUCT_TIMEZONE) + fi + ]) + AC_DEFUN(BASH_STRUCT_WINSIZE, [AC_MSG_CHECKING(for struct winsize in sys/ioctl.h and termios.h) *************** *** 1527,1533 **** [AC_MSG_CHECKING(whether /dev/fd is available) AC_CACHE_VAL(bash_cv_dev_fd, ! [if test -d /dev/fd && test -r /dev/fd/0; then bash_cv_dev_fd=standard ! elif test -d /proc/self/fd && test -r /proc/self/fd/0; then bash_cv_dev_fd=whacky else --- 1541,1547 ---- [AC_MSG_CHECKING(whether /dev/fd is available) AC_CACHE_VAL(bash_cv_dev_fd, ! [if test -d /dev/fd && test -r /dev/fd/0 < /dev/null; then bash_cv_dev_fd=standard ! elif test -d /proc/self/fd && test -r /proc/self/fd/0 < /dev/null; then bash_cv_dev_fd=whacky else *************** *** 1548,1554 **** [AC_MSG_CHECKING(whether /dev/stdin stdout stderr are available) AC_CACHE_VAL(bash_cv_dev_stdin, ! [if test -d /dev/fd && test -r /dev/stdin; then bash_cv_dev_stdin=present ! elif test -d /proc/self/fd && test -r /dev/stdin; then bash_cv_dev_stdin=present else --- 1562,1568 ---- [AC_MSG_CHECKING(whether /dev/stdin stdout stderr are available) AC_CACHE_VAL(bash_cv_dev_stdin, ! [if test -d /dev/fd && test -r /dev/stdin < /dev/null; then bash_cv_dev_stdin=present ! elif test -d /proc/self/fd && test -r /dev/stdin < /dev/null; then bash_cv_dev_stdin=present else *************** *** 1654,1668 **** AC_CHECK_FUNC(mbsrtowcs, AC_DEFINE(HAVE_MBSRTOWCS)) AC_CHECK_FUNC(wcwidth, AC_DEFINE(HAVE_WCWIDTH)) AC_CACHE_CHECK([for mbstate_t], bash_cv_have_mbstate_t, ! [AC_TRY_RUN([ ! #include ! int ! main () ! { mbstate_t ps; ! return 0; ! }], bash_cv_have_mbstate_t=yes, bash_cv_have_mbstate_t=no)]) if test $bash_cv_have_mbstate_t = yes; then AC_DEFINE(HAVE_MBSTATE_T) --- 1668,1684 ---- AC_CHECK_FUNC(mbsrtowcs, AC_DEFINE(HAVE_MBSRTOWCS)) + AC_CHECK_FUNC(mbrtowc, AC_DEFINE(HAVE_MBRTOWC)) + AC_CHECK_FUNC(mbrlen, AC_DEFINE(HAVE_MBRLEN)) + AC_CHECK_FUNC(wctomb, AC_DEFINE(HAVE_WCTOMB)) AC_CHECK_FUNC(wcwidth, AC_DEFINE(HAVE_WCWIDTH)) + AC_CHECK_FUNC(wcsdup, AC_DEFINE(HAVE_WCSDUP)) AC_CACHE_CHECK([for mbstate_t], bash_cv_have_mbstate_t, ! [AC_TRY_COMPILE([ ! #include ], [ mbstate_t ps; ! mbstate_t *psp; ! psp = (mbstate_t *)0; ! ], bash_cv_have_mbstate_t=yes, bash_cv_have_mbstate_t=no)]) if test $bash_cv_have_mbstate_t = yes; then AC_DEFINE(HAVE_MBSTATE_T) *************** *** 1713,1717 **** LDFLAGS="$LDFLAGS -L${ac_cv_rl_libdir}" ! AC_TRY_RUN([ #include #include --- 1729,1734 ---- LDFLAGS="$LDFLAGS -L${ac_cv_rl_libdir}" ! AC_CACHE_VAL(ac_cv_rl_version, ! [AC_TRY_RUN([ #include #include *************** *** 1729,1733 **** ac_cv_rl_version=`cat conftest.rlv`, ac_cv_rl_version='0.0', ! ac_cv_rl_version='4.2') CFLAGS="$_save_CFLAGS" --- 1746,1750 ---- ac_cv_rl_version=`cat conftest.rlv`, ac_cv_rl_version='0.0', ! ac_cv_rl_version='4.2')]) CFLAGS="$_save_CFLAGS" *************** *** 1790,1792 **** --- 1807,3913 ---- fi + ]) + + AC_DEFUN(BASH_FUNC_CTYPE_NONASCII, + [ + AC_MSG_CHECKING(whether the ctype macros accept non-ascii characters) + AC_CACHE_VAL(bash_cv_func_ctype_nonascii, + [AC_TRY_RUN([ + #ifdef HAVE_LOCALE_H + #include + #endif + #include + #include + + main(c, v) + int c; + char *v[]; + { + char *deflocale; + unsigned char x; + int r1, r2; + + #ifdef HAVE_SETLOCALE + /* We take a shot here. If that locale is not known, try the + system default. We try this one because '\342' (226) is + known to be a printable character in that locale. */ + deflocale = setlocale(LC_ALL, "en_US.ISO8859-1"); + if (deflocale == 0) + deflocale = setlocale(LC_ALL, ""); + #endif + + x = '\342'; + r1 = isprint(x); + x -= 128; + r2 = isprint(x); + exit (r1 == 0 || r2 == 0); + } + ], bash_cv_func_ctype_nonascii=yes, bash_cv_func_ctype_nonascii=no, + [AC_MSG_WARN(cannot check ctype macros if cross compiling -- defaulting to no) + bash_cv_func_ctype_nonascii=no] + )]) + AC_MSG_RESULT($bash_cv_func_ctype_nonascii) + if test $bash_cv_func_ctype_nonascii = yes; then + AC_DEFINE(CTYPE_NON_ASCII) + fi + ]) + + dnl + dnl tests added for bashdb + dnl + + + AC_DEFUN([AM_PATH_LISPDIR], + [AC_ARG_WITH(lispdir, AC_HELP_STRING([--with-lispdir], [override the default lisp directory]), + [ lispdir="$withval" + AC_MSG_CHECKING([where .elc files should go]) + AC_MSG_RESULT([$lispdir])], + [ + # If set to t, that means we are running in a shell under Emacs. + # If you have an Emacs named "t", then use the full path. + test x"$EMACS" = xt && EMACS= + AC_CHECK_PROGS(EMACS, emacs xemacs, no) + if test $EMACS != "no"; then + if test x${lispdir+set} != xset; then + AC_CACHE_CHECK([where .elc files should go], [am_cv_lispdir], [dnl + am_cv_lispdir=`$EMACS -batch -q -eval '(while load-path (princ (concat (car load-path) "\n")) (setq load-path (cdr load-path)))' | sed -n -e 's,/$,,' -e '/.*\/lib\/\(x\?emacs\/site-lisp\)$/{s,,${libdir}/\1,;p;q;}' -e '/.*\/share\/\(x\?emacs\/site-lisp\)$/{s,,${datadir}/\1,;p;q;}'` + if test -z "$am_cv_lispdir"; then + am_cv_lispdir='${datadir}/emacs/site-lisp' + fi + ]) + lispdir="$am_cv_lispdir" + fi + fi + ]) + AC_SUBST(lispdir) + ]) + + dnl + dnl tests added for gettext + dnl + # codeset.m4 serial AM1 (gettext-0.10.40) + dnl Copyright (C) 2000-2002 Free Software Foundation, Inc. + dnl This file is free software, distributed under the terms of the GNU + dnl General Public License. As a special exception to the GNU General + dnl Public License, this file may be distributed as part of a program + dnl that contains a configuration script generated by Autoconf, under + dnl the same distribution terms as the rest of that program. + + dnl From Bruno Haible. + + AC_DEFUN([AM_LANGINFO_CODESET], + [ + AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset, + [AC_TRY_LINK([#include ], + [char* cs = nl_langinfo(CODESET);], + am_cv_langinfo_codeset=yes, + am_cv_langinfo_codeset=no) + ]) + if test $am_cv_langinfo_codeset = yes; then + AC_DEFINE(HAVE_LANGINFO_CODESET, 1, + [Define if you have and nl_langinfo(CODESET).]) + fi + ]) + # gettext.m4 serial 20 (gettext-0.12) + dnl Copyright (C) 1995-2003 Free Software Foundation, Inc. + dnl This file is free software, distributed under the terms of the GNU + dnl General Public License. As a special exception to the GNU General + dnl Public License, this file may be distributed as part of a program + dnl that contains a configuration script generated by Autoconf, under + dnl the same distribution terms as the rest of that program. + dnl + dnl This file can can be used in projects which are not available under + dnl the GNU General Public License or the GNU Library General Public + dnl License but which still want to provide support for the GNU gettext + dnl functionality. + dnl Please note that the actual code of the GNU gettext library is covered + dnl by the GNU Library General Public License, and the rest of the GNU + dnl gettext package package is covered by the GNU General Public License. + dnl They are *not* in the public domain. + + dnl Authors: + dnl Ulrich Drepper , 1995-2000. + dnl Bruno Haible , 2000-2003. + + dnl Macro to add for using GNU gettext. + + dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]). + dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The + dnl default (if it is not specified or empty) is 'no-libtool'. + dnl INTLSYMBOL should be 'external' for packages with no intl directory, + dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory. + dnl If INTLSYMBOL is 'use-libtool', then a libtool library + dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static, + dnl depending on --{enable,disable}-{shared,static} and on the presence of + dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library + dnl $(top_builddir)/intl/libintl.a will be created. + dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext + dnl implementations (in libc or libintl) without the ngettext() function + dnl will be ignored. If NEEDSYMBOL is specified and is + dnl 'need-formatstring-macros', then GNU gettext implementations that don't + dnl support the ISO C 99 formatstring macros will be ignored. + dnl INTLDIR is used to find the intl libraries. If empty, + dnl the value `$(top_builddir)/intl/' is used. + dnl + dnl The result of the configuration is one of three cases: + dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled + dnl and used. + dnl Catalog format: GNU --> install in $(datadir) + dnl Catalog extension: .mo after installation, .gmo in source tree + dnl 2) GNU gettext has been found in the system's C library. + dnl Catalog format: GNU --> install in $(datadir) + dnl Catalog extension: .mo after installation, .gmo in source tree + dnl 3) No internationalization, always use English msgid. + dnl Catalog format: none + dnl Catalog extension: none + dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur. + dnl The use of .gmo is historical (it was needed to avoid overwriting the + dnl GNU format catalogs when building on a platform with an X/Open gettext), + dnl but we keep it in order not to force irrelevant filename changes on the + dnl maintainers. + dnl + AC_DEFUN([AM_GNU_GETTEXT], + [ + dnl Argument checking. + ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], , + [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT + ])])])])]) + ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], , + [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT + ])])])]) + define(gt_included_intl, ifelse([$1], [external], [no], [yes])) + define(gt_libtool_suffix_prefix, ifelse([$1], [use-libtool], [l], [])) + + AC_REQUIRE([AM_PO_SUBDIRS])dnl + ifelse(gt_included_intl, yes, [ + AC_REQUIRE([AM_INTL_SUBDIR])dnl + ]) + + dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + AC_REQUIRE([AC_LIB_RPATH]) + + dnl Sometimes libintl requires libiconv, so first search for libiconv. + dnl Ideally we would do this search only after the + dnl if test "$USE_NLS" = "yes"; then + dnl if test "$gt_cv_func_gnugettext_libc" != "yes"; then + dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT + dnl the configure script would need to contain the same shell code + dnl again, outside any 'if'. There are two solutions: + dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'. + dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE. + dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not + dnl documented, we avoid it. + ifelse(gt_included_intl, yes, , [ + AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) + ]) + + dnl Set USE_NLS. + AM_NLS + + ifelse(gt_included_intl, yes, [ + BUILD_INCLUDED_LIBINTL=no + USE_INCLUDED_LIBINTL=no + ]) + LIBINTL= + LTLIBINTL= + POSUB= + + dnl If we use NLS figure out what method + if test "$USE_NLS" = "yes"; then + gt_use_preinstalled_gnugettext=no + ifelse(gt_included_intl, yes, [ + AC_MSG_CHECKING([whether included gettext is requested]) + AC_ARG_WITH(included-gettext, + [ --with-included-gettext use the GNU gettext library included here], + nls_cv_force_use_gnu_gettext=$withval, + nls_cv_force_use_gnu_gettext=no) + AC_MSG_RESULT($nls_cv_force_use_gnu_gettext) + + nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" + if test "$nls_cv_force_use_gnu_gettext" != "yes"; then + ]) + dnl User does not insist on using GNU NLS library. Figure out what + dnl to use. If GNU gettext is available we use this. Else we have + dnl to fall back to GNU NLS library. + + dnl Add a version number to the cache macros. + define([gt_api_version], ifelse([$2], [need-formatstring-macros], 3, ifelse([$2], [need-ngettext], 2, 1))) + define([gt_cv_func_gnugettext_libc], [gt_cv_func_gnugettext]gt_api_version[_libc]) + define([gt_cv_func_gnugettext_libintl], [gt_cv_func_gnugettext]gt_api_version[_libintl]) + + AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc, + [AC_TRY_LINK([#include + ]ifelse([$2], [need-formatstring-macros], + [#ifndef __GNU_GETTEXT_SUPPORTED_REVISION + #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) + #endif + changequote(,)dnl + typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; + changequote([,])dnl + ], [])[extern int _nl_msg_cat_cntr; + extern int *_nl_domain_bindings;], + [bindtextdomain ("", ""); + return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings], + gt_cv_func_gnugettext_libc=yes, + gt_cv_func_gnugettext_libc=no)]) + + if test "$gt_cv_func_gnugettext_libc" != "yes"; then + dnl Sometimes libintl requires libiconv, so first search for libiconv. + ifelse(gt_included_intl, yes, , [ + AM_ICONV_LINK + ]) + dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL + dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv]) + dnl because that would add "-liconv" to LIBINTL and LTLIBINTL + dnl even if libiconv doesn't exist. + AC_LIB_LINKFLAGS_BODY([intl]) + AC_CACHE_CHECK([for GNU gettext in libintl], + gt_cv_func_gnugettext_libintl, + [gt_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS $INCINTL" + gt_save_LIBS="$LIBS" + LIBS="$LIBS $LIBINTL" + dnl Now see whether libintl exists and does not depend on libiconv. + AC_TRY_LINK([#include + ]ifelse([$2], [need-formatstring-macros], + [#ifndef __GNU_GETTEXT_SUPPORTED_REVISION + #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) + #endif + changequote(,)dnl + typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; + changequote([,])dnl + ], [])[extern int _nl_msg_cat_cntr; + extern + #ifdef __cplusplus + "C" + #endif + const char *_nl_expand_alias ();], + [bindtextdomain ("", ""); + return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)], + gt_cv_func_gnugettext_libintl=yes, + gt_cv_func_gnugettext_libintl=no) + dnl Now see whether libintl exists and depends on libiconv. + if test "$gt_cv_func_gnugettext_libintl" != yes && test -n "$LIBICONV"; then + LIBS="$LIBS $LIBICONV" + AC_TRY_LINK([#include + ]ifelse([$2], [need-formatstring-macros], + [#ifndef __GNU_GETTEXT_SUPPORTED_REVISION + #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) + #endif + changequote(,)dnl + typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; + changequote([,])dnl + ], [])[extern int _nl_msg_cat_cntr; + extern + #ifdef __cplusplus + "C" + #endif + const char *_nl_expand_alias ();], + [bindtextdomain ("", ""); + return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)], + [LIBINTL="$LIBINTL $LIBICONV" + LTLIBINTL="$LTLIBINTL $LTLIBICONV" + gt_cv_func_gnugettext_libintl=yes + ]) + fi + CPPFLAGS="$gt_save_CPPFLAGS" + LIBS="$gt_save_LIBS"]) + fi + + dnl If an already present or preinstalled GNU gettext() is found, + dnl use it. But if this macro is used in GNU gettext, and GNU + dnl gettext is already preinstalled in libintl, we update this + dnl libintl. (Cf. the install rule in intl/Makefile.in.) + if test "$gt_cv_func_gnugettext_libc" = "yes" \ + || { test "$gt_cv_func_gnugettext_libintl" = "yes" \ + && test "$PACKAGE" != gettext-runtime \ + && test "$PACKAGE" != gettext-tools; }; then + gt_use_preinstalled_gnugettext=yes + else + dnl Reset the values set by searching for libintl. + LIBINTL= + LTLIBINTL= + INCINTL= + fi + + ifelse(gt_included_intl, yes, [ + if test "$gt_use_preinstalled_gnugettext" != "yes"; then + dnl GNU gettext is not found in the C library. + dnl Fall back on included GNU gettext library. + nls_cv_use_gnu_gettext=yes + fi + fi + + if test "$nls_cv_use_gnu_gettext" = "yes"; then + dnl Mark actions used to generate GNU NLS library. + BUILD_INCLUDED_LIBINTL=yes + USE_INCLUDED_LIBINTL=yes + LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV" + LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV" + LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` + fi + + if test "$gt_use_preinstalled_gnugettext" = "yes" \ + || test "$nls_cv_use_gnu_gettext" = "yes"; then + dnl Mark actions to use GNU gettext tools. + CATOBJEXT=.gmo + fi + ]) + + if test "$gt_use_preinstalled_gnugettext" = "yes" \ + || test "$nls_cv_use_gnu_gettext" = "yes"; then + AC_DEFINE(ENABLE_NLS, 1, + [Define to 1 if translation of program messages to the user's native language + is requested.]) + else + USE_NLS=no + fi + fi + + AC_MSG_CHECKING([whether to use NLS]) + AC_MSG_RESULT([$USE_NLS]) + if test "$USE_NLS" = "yes"; then + AC_MSG_CHECKING([where the gettext function comes from]) + if test "$gt_use_preinstalled_gnugettext" = "yes"; then + if test "$gt_cv_func_gnugettext_libintl" = "yes"; then + gt_source="external libintl" + else + gt_source="libc" + fi + else + gt_source="included intl directory" + fi + AC_MSG_RESULT([$gt_source]) + fi + + if test "$USE_NLS" = "yes"; then + + if test "$gt_use_preinstalled_gnugettext" = "yes"; then + if test "$gt_cv_func_gnugettext_libintl" = "yes"; then + AC_MSG_CHECKING([how to link with libintl]) + AC_MSG_RESULT([$LIBINTL]) + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL]) + fi + + dnl For backward compatibility. Some packages may be using this. + AC_DEFINE(HAVE_GETTEXT, 1, + [Define if the GNU gettext() function is already present or preinstalled.]) + AC_DEFINE(HAVE_DCGETTEXT, 1, + [Define if the GNU dcgettext() function is already present or preinstalled.]) + fi + + dnl We need to process the po/ directory. + POSUB=po + fi + + ifelse(gt_included_intl, yes, [ + dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL + dnl to 'yes' because some of the testsuite requires it. + if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then + BUILD_INCLUDED_LIBINTL=yes + fi + + dnl Make all variables we use known to autoconf. + AC_SUBST(BUILD_INCLUDED_LIBINTL) + AC_SUBST(USE_INCLUDED_LIBINTL) + AC_SUBST(CATOBJEXT) + + dnl For backward compatibility. Some configure.ins may be using this. + nls_cv_header_intl= + nls_cv_header_libgt= + + dnl For backward compatibility. Some Makefiles may be using this. + DATADIRNAME=share + AC_SUBST(DATADIRNAME) + + dnl For backward compatibility. Some Makefiles may be using this. + INSTOBJEXT=.mo + AC_SUBST(INSTOBJEXT) + + dnl For backward compatibility. Some Makefiles may be using this. + GENCAT=gencat + AC_SUBST(GENCAT) + + dnl For backward compatibility. Some Makefiles may be using this. + if test "$USE_INCLUDED_LIBINTL" = yes; then + INTLOBJS="\$(GETTOBJS)" + fi + AC_SUBST(INTLOBJS) + + dnl Enable libtool support if the surrounding package wishes it. + INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix + AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX) + ]) + + dnl For backward compatibility. Some Makefiles may be using this. + INTLLIBS="$LIBINTL" + AC_SUBST(INTLLIBS) + + dnl Make all documented variables known to autoconf. + AC_SUBST(LIBINTL) + AC_SUBST(LTLIBINTL) + AC_SUBST(POSUB) + ]) + + + dnl Checks for all prerequisites of the intl subdirectory, + dnl except for INTL_LIBTOOL_SUFFIX_PREFIX (and possibly LIBTOOL), INTLOBJS, + dnl USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL. + AC_DEFUN([AM_INTL_SUBDIR], + [ + AC_REQUIRE([AC_PROG_INSTALL])dnl + AC_REQUIRE([AM_MKINSTALLDIRS])dnl + AC_REQUIRE([AC_PROG_CC])dnl + AC_REQUIRE([AC_CANONICAL_HOST])dnl + AC_REQUIRE([AC_PROG_RANLIB])dnl + AC_REQUIRE([AC_ISC_POSIX])dnl + AC_REQUIRE([AC_HEADER_STDC])dnl + AC_REQUIRE([AC_C_CONST])dnl + AC_REQUIRE([AC_C_INLINE])dnl + AC_REQUIRE([AC_TYPE_OFF_T])dnl + AC_REQUIRE([AC_TYPE_SIZE_T])dnl + AC_REQUIRE([AC_FUNC_ALLOCA])dnl + AC_REQUIRE([AC_FUNC_MMAP])dnl + AC_REQUIRE([jm_GLIBC21])dnl + AC_REQUIRE([gt_INTDIV0])dnl + AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])dnl + AC_REQUIRE([gt_HEADER_INTTYPES_H])dnl + AC_REQUIRE([gt_INTTYPES_PRI])dnl + + AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \ + stdlib.h string.h unistd.h sys/param.h]) + AC_CHECK_FUNCS([feof_unlocked fgets_unlocked getc_unlocked getcwd getegid \ + geteuid getgid getuid mempcpy munmap putenv setenv setlocale stpcpy \ + strcasecmp strdup strtoul tsearch __argz_count __argz_stringify __argz_next \ + __fsetlocking]) + + AM_ICONV + AM_LANGINFO_CODESET + if test $ac_cv_header_locale_h = yes; then + AM_LC_MESSAGES + fi + + dnl intl/plural.c is generated from intl/plural.y. It requires bison, + dnl because plural.y uses bison specific features. It requires at least + dnl bison-1.26 because earlier versions generate a plural.c that doesn't + dnl compile. + dnl bison is only needed for the maintainer (who touches plural.y). But in + dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put + dnl the rule in general Makefile. Now, some people carelessly touch the + dnl files or have a broken "make" program, hence the plural.c rule will + dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not + dnl present or too old. + AC_CHECK_PROGS([INTLBISON], [bison]) + if test -z "$INTLBISON"; then + ac_verc_fail=yes + else + dnl Found it, now check the version. + AC_MSG_CHECKING([version of bison]) + changequote(<<,>>)dnl + ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'` + case $ac_prog_version in + '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; + 1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*) + changequote([,])dnl + ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; + *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; + esac + AC_MSG_RESULT([$ac_prog_version]) + fi + if test $ac_verc_fail = yes; then + INTLBISON=: + fi + ]) + + + dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version]) + AC_DEFUN([AM_GNU_GETTEXT_VERSION], []) + # glibc21.m4 serial 2 (fileutils-4.1.3, gettext-0.10.40) + dnl Copyright (C) 2000-2002 Free Software Foundation, Inc. + dnl This file is free software, distributed under the terms of the GNU + dnl General Public License. As a special exception to the GNU General + dnl Public License, this file may be distributed as part of a program + dnl that contains a configuration script generated by Autoconf, under + dnl the same distribution terms as the rest of that program. + + # Test for the GNU C Library, version 2.1 or newer. + # From Bruno Haible. + + AC_DEFUN([jm_GLIBC21], + [ + AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer, + ac_cv_gnu_library_2_1, + [AC_EGREP_CPP([Lucky GNU user], + [ + #include + #ifdef __GNU_LIBRARY__ + #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2) + Lucky GNU user + #endif + #endif + ], + ac_cv_gnu_library_2_1=yes, + ac_cv_gnu_library_2_1=no) + ] + ) + AC_SUBST(GLIBC21) + GLIBC21="$ac_cv_gnu_library_2_1" + ] + ) + # iconv.m4 serial AM4 (gettext-0.11.3) + dnl Copyright (C) 2000-2002 Free Software Foundation, Inc. + dnl This file is free software, distributed under the terms of the GNU + dnl General Public License. As a special exception to the GNU General + dnl Public License, this file may be distributed as part of a program + dnl that contains a configuration script generated by Autoconf, under + dnl the same distribution terms as the rest of that program. + + dnl From Bruno Haible. + + AC_DEFUN([AM_ICONV_LINKFLAGS_BODY], + [ + dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + AC_REQUIRE([AC_LIB_RPATH]) + + dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV + dnl accordingly. + AC_LIB_LINKFLAGS_BODY([iconv]) + ]) + + AC_DEFUN([AM_ICONV_LINK], + [ + dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and + dnl those with the standalone portable GNU libiconv installed). + + dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV + dnl accordingly. + AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) + + dnl Add $INCICONV to CPPFLAGS before performing the following checks, + dnl because if the user has installed libiconv and not disabled its use + dnl via --without-libiconv-prefix, he wants to use it. The first + dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed. + am_save_CPPFLAGS="$CPPFLAGS" + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV]) + + AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [ + am_cv_func_iconv="no, consider installing GNU libiconv" + am_cv_lib_iconv=no + AC_TRY_LINK([#include + #include ], + [iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd);], + am_cv_func_iconv=yes) + if test "$am_cv_func_iconv" != yes; then + am_save_LIBS="$LIBS" + LIBS="$LIBS $LIBICONV" + AC_TRY_LINK([#include + #include ], + [iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd);], + am_cv_lib_iconv=yes + am_cv_func_iconv=yes) + LIBS="$am_save_LIBS" + fi + ]) + if test "$am_cv_func_iconv" = yes; then + AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.]) + fi + if test "$am_cv_lib_iconv" = yes; then + AC_MSG_CHECKING([how to link with libiconv]) + AC_MSG_RESULT([$LIBICONV]) + else + dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV + dnl either. + CPPFLAGS="$am_save_CPPFLAGS" + LIBICONV= + LTLIBICONV= + fi + AC_SUBST(LIBICONV) + AC_SUBST(LTLIBICONV) + ]) + + AC_DEFUN([AM_ICONV], + [ + AM_ICONV_LINK + if test "$am_cv_func_iconv" = yes; then + AC_MSG_CHECKING([for iconv declaration]) + AC_CACHE_VAL(am_cv_proto_iconv, [ + AC_TRY_COMPILE([ + #include + #include + extern + #ifdef __cplusplus + "C" + #endif + #if defined(__STDC__) || defined(__cplusplus) + size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); + #else + size_t iconv(); + #endif + ], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const") + am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) + am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` + AC_MSG_RESULT([$]{ac_t:- + }[$]am_cv_proto_iconv) + AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1, + [Define as const if the declaration of iconv() needs const.]) + fi + ]) + # intdiv0.m4 serial 1 (gettext-0.11.3) + dnl Copyright (C) 2002 Free Software Foundation, Inc. + dnl This file is free software, distributed under the terms of the GNU + dnl General Public License. As a special exception to the GNU General + dnl Public License, this file may be distributed as part of a program + dnl that contains a configuration script generated by Autoconf, under + dnl the same distribution terms as the rest of that program. + + dnl From Bruno Haible. + + AC_DEFUN([gt_INTDIV0], + [ + AC_REQUIRE([AC_PROG_CC])dnl + AC_REQUIRE([AC_CANONICAL_HOST])dnl + + AC_CACHE_CHECK([whether integer division by zero raises SIGFPE], + gt_cv_int_divbyzero_sigfpe, + [ + AC_TRY_RUN([ + #include + #include + + static void + #ifdef __cplusplus + sigfpe_handler (int sig) + #else + sigfpe_handler (sig) int sig; + #endif + { + /* Exit with code 0 if SIGFPE, with code 1 if any other signal. */ + exit (sig != SIGFPE); + } + + int x = 1; + int y = 0; + int z; + int nan; + + int main () + { + signal (SIGFPE, sigfpe_handler); + /* IRIX and AIX (when "xlc -qcheck" is used) yield signal SIGTRAP. */ + #if (defined (__sgi) || defined (_AIX)) && defined (SIGTRAP) + signal (SIGTRAP, sigfpe_handler); + #endif + /* Linux/SPARC yields signal SIGILL. */ + #if defined (__sparc__) && defined (__linux__) + signal (SIGILL, sigfpe_handler); + #endif + + z = x / y; + nan = y / y; + exit (1); + } + ], gt_cv_int_divbyzero_sigfpe=yes, gt_cv_int_divbyzero_sigfpe=no, + [ + # Guess based on the CPU. + case "$host_cpu" in + alpha* | i[34567]86 | m68k | s390*) + gt_cv_int_divbyzero_sigfpe="guessing yes";; + *) + gt_cv_int_divbyzero_sigfpe="guessing no";; + esac + ]) + ]) + case "$gt_cv_int_divbyzero_sigfpe" in + *yes) value=1;; + *) value=0;; + esac + AC_DEFINE_UNQUOTED(INTDIV0_RAISES_SIGFPE, $value, + [Define if integer division by zero raises signal SIGFPE.]) + ]) + # inttypes.m4 serial 1 (gettext-0.11.4) + dnl Copyright (C) 1997-2002 Free Software Foundation, Inc. + dnl This file is free software, distributed under the terms of the GNU + dnl General Public License. As a special exception to the GNU General + dnl Public License, this file may be distributed as part of a program + dnl that contains a configuration script generated by Autoconf, under + dnl the same distribution terms as the rest of that program. + + dnl From Paul Eggert. + + # Define HAVE_INTTYPES_H if exists and doesn't clash with + # . + + AC_DEFUN([gt_HEADER_INTTYPES_H], + [ + AC_CACHE_CHECK([for inttypes.h], gt_cv_header_inttypes_h, + [ + AC_TRY_COMPILE( + [#include + #include ], + [], gt_cv_header_inttypes_h=yes, gt_cv_header_inttypes_h=no) + ]) + if test $gt_cv_header_inttypes_h = yes; then + AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H, 1, + [Define if exists and doesn't clash with .]) + fi + ]) + # inttypes_h.m4 serial 5 (gettext-0.12) + dnl Copyright (C) 1997-2003 Free Software Foundation, Inc. + dnl This file is free software, distributed under the terms of the GNU + dnl General Public License. As a special exception to the GNU General + dnl Public License, this file may be distributed as part of a program + dnl that contains a configuration script generated by Autoconf, under + dnl the same distribution terms as the rest of that program. + + dnl From Paul Eggert. + + # Define HAVE_INTTYPES_H_WITH_UINTMAX if exists, + # doesn't clash with , and declares uintmax_t. + + AC_DEFUN([jm_AC_HEADER_INTTYPES_H], + [ + AC_CACHE_CHECK([for inttypes.h], jm_ac_cv_header_inttypes_h, + [AC_TRY_COMPILE( + [#include + #include ], + [uintmax_t i = (uintmax_t) -1;], + jm_ac_cv_header_inttypes_h=yes, + jm_ac_cv_header_inttypes_h=no)]) + if test $jm_ac_cv_header_inttypes_h = yes; then + AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H_WITH_UINTMAX, 1, + [Define if exists, doesn't clash with , + and declares uintmax_t. ]) + fi + ]) + # inttypes-pri.m4 serial 1 (gettext-0.11.4) + dnl Copyright (C) 1997-2002 Free Software Foundation, Inc. + dnl This file is free software, distributed under the terms of the GNU + dnl General Public License. As a special exception to the GNU General + dnl Public License, this file may be distributed as part of a program + dnl that contains a configuration script generated by Autoconf, under + dnl the same distribution terms as the rest of that program. + + dnl From Bruno Haible. + + # Define PRI_MACROS_BROKEN if exists and defines the PRI* + # macros to non-string values. This is the case on AIX 4.3.3. + + AC_DEFUN([gt_INTTYPES_PRI], + [ + AC_REQUIRE([gt_HEADER_INTTYPES_H]) + if test $gt_cv_header_inttypes_h = yes; then + AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken], + gt_cv_inttypes_pri_broken, + [ + AC_TRY_COMPILE([#include + #ifdef PRId32 + char *p = PRId32; + #endif + ], [], gt_cv_inttypes_pri_broken=no, gt_cv_inttypes_pri_broken=yes) + ]) + fi + if test "$gt_cv_inttypes_pri_broken" = yes; then + AC_DEFINE_UNQUOTED(PRI_MACROS_BROKEN, 1, + [Define if exists and defines unusable PRI* macros.]) + fi + ]) + # isc-posix.m4 serial 2 (gettext-0.11.2) + dnl Copyright (C) 1995-2002 Free Software Foundation, Inc. + dnl This file is free software, distributed under the terms of the GNU + dnl General Public License. As a special exception to the GNU General + dnl Public License, this file may be distributed as part of a program + dnl that contains a configuration script generated by Autoconf, under + dnl the same distribution terms as the rest of that program. + + # This file is not needed with autoconf-2.53 and newer. Remove it in 2005. + + # This test replaces the one in autoconf. + # Currently this macro should have the same name as the autoconf macro + # because gettext's gettext.m4 (distributed in the automake package) + # still uses it. Otherwise, the use in gettext.m4 makes autoheader + # give these diagnostics: + # configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX + # configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX + + undefine([AC_ISC_POSIX]) + + AC_DEFUN([AC_ISC_POSIX], + [ + dnl This test replaces the obsolescent AC_ISC_POSIX kludge. + AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"]) + ] + ) + # lcmessage.m4 serial 3 (gettext-0.11.3) + dnl Copyright (C) 1995-2002 Free Software Foundation, Inc. + dnl This file is free software, distributed under the terms of the GNU + dnl General Public License. As a special exception to the GNU General + dnl Public License, this file may be distributed as part of a program + dnl that contains a configuration script generated by Autoconf, under + dnl the same distribution terms as the rest of that program. + dnl + dnl This file can can be used in projects which are not available under + dnl the GNU General Public License or the GNU Library General Public + dnl License but which still want to provide support for the GNU gettext + dnl functionality. + dnl Please note that the actual code of the GNU gettext library is covered + dnl by the GNU Library General Public License, and the rest of the GNU + dnl gettext package package is covered by the GNU General Public License. + dnl They are *not* in the public domain. + + dnl Authors: + dnl Ulrich Drepper , 1995. + + # Check whether LC_MESSAGES is available in . + + AC_DEFUN([AM_LC_MESSAGES], + [ + AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES, + [AC_TRY_LINK([#include ], [return LC_MESSAGES], + am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)]) + if test $am_cv_val_LC_MESSAGES = yes; then + AC_DEFINE(HAVE_LC_MESSAGES, 1, + [Define if your file defines LC_MESSAGES.]) + fi + ]) + # lib-ld.m4 serial 2 (gettext-0.12) + dnl Copyright (C) 1996-2003 Free Software Foundation, Inc. + dnl This file is free software, distributed under the terms of the GNU + dnl General Public License. As a special exception to the GNU General + dnl Public License, this file may be distributed as part of a program + dnl that contains a configuration script generated by Autoconf, under + dnl the same distribution terms as the rest of that program. + + dnl Subroutines of libtool.m4, + dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision + dnl with libtool.m4. + + dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no. + AC_DEFUN([AC_LIB_PROG_LD_GNU], + [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld, + [# 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]) + with_gnu_ld=$acl_cv_prog_gnu_ld + ]) + + dnl From libtool-1.4. Sets the variable LD. + AC_DEFUN([AC_LIB_PROG_LD], + [AC_ARG_WITH(gnu-ld, + [ --with-gnu-ld assume the C compiler uses GNU ld [default=no]], + test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no) + AC_REQUIRE([AC_PROG_CC])dnl + AC_REQUIRE([AC_CANONICAL_HOST])dnl + # 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. + AC_MSG_CHECKING([for ld used by GCC]) + 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 + AC_MSG_CHECKING([for GNU ld]) + else + AC_MSG_CHECKING([for non-GNU ld]) + fi + AC_CACHE_VAL(acl_cv_path_LD, + [if test -z "$LD"; then + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" + for ac_dir in $PATH; do + 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. + 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 + fi + done + IFS="$ac_save_ifs" + else + acl_cv_path_LD="$LD" # Let the user override the test with a path. + fi]) + LD="$acl_cv_path_LD" + if test -n "$LD"; then + AC_MSG_RESULT($LD) + else + AC_MSG_RESULT(no) + fi + test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) + AC_LIB_PROG_LD_GNU + ]) + # lib-link.m4 serial 4 (gettext-0.12) + dnl Copyright (C) 2001-2003 Free Software Foundation, Inc. + dnl This file is free software, distributed under the terms of the GNU + dnl General Public License. As a special exception to the GNU General + dnl Public License, this file may be distributed as part of a program + dnl that contains a configuration script generated by Autoconf, under + dnl the same distribution terms as the rest of that program. + + dnl From Bruno Haible. + + dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and + dnl the libraries corresponding to explicit and implicit dependencies. + dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and + dnl augments the CPPFLAGS variable. + AC_DEFUN([AC_LIB_LINKFLAGS], + [ + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + AC_REQUIRE([AC_LIB_RPATH]) + define([Name],[translit([$1],[./-], [___])]) + define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) + AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [ + AC_LIB_LINKFLAGS_BODY([$1], [$2]) + ac_cv_lib[]Name[]_libs="$LIB[]NAME" + ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME" + ac_cv_lib[]Name[]_cppflags="$INC[]NAME" + ]) + LIB[]NAME="$ac_cv_lib[]Name[]_libs" + LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs" + INC[]NAME="$ac_cv_lib[]Name[]_cppflags" + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) + AC_SUBST([LIB]NAME) + AC_SUBST([LTLIB]NAME) + dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the + dnl results of this search when this library appears as a dependency. + HAVE_LIB[]NAME=yes + undefine([Name]) + undefine([NAME]) + ]) + + dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode) + dnl searches for libname and the libraries corresponding to explicit and + dnl implicit dependencies, together with the specified include files and + dnl the ability to compile and link the specified testcode. If found, it + dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and + dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and + dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs + dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty. + AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], + [ + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + AC_REQUIRE([AC_LIB_RPATH]) + define([Name],[translit([$1],[./-], [___])]) + define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) + + dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME + dnl accordingly. + AC_LIB_LINKFLAGS_BODY([$1], [$2]) + + dnl Add $INC[]NAME to CPPFLAGS before performing the following checks, + dnl because if the user has installed lib[]Name and not disabled its use + dnl via --without-lib[]Name-prefix, he wants to use it. + ac_save_CPPFLAGS="$CPPFLAGS" + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) + + AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [ + ac_save_LIBS="$LIBS" + LIBS="$LIBS $LIB[]NAME" + AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no]) + LIBS="$ac_save_LIBS" + ]) + if test "$ac_cv_lib[]Name" = yes; then + HAVE_LIB[]NAME=yes + AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.]) + AC_MSG_CHECKING([how to link with lib[]$1]) + AC_MSG_RESULT([$LIB[]NAME]) + else + HAVE_LIB[]NAME=no + dnl If $LIB[]NAME didn't lead to a usable library, we don't need + dnl $INC[]NAME either. + CPPFLAGS="$ac_save_CPPFLAGS" + LIB[]NAME= + LTLIB[]NAME= + fi + AC_SUBST([HAVE_LIB]NAME) + AC_SUBST([LIB]NAME) + AC_SUBST([LTLIB]NAME) + undefine([Name]) + undefine([NAME]) + ]) + + dnl Determine the platform dependent parameters needed to use rpath: + dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator, + dnl hardcode_direct, hardcode_minus_L. + AC_DEFUN([AC_LIB_RPATH], + [ + AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS + AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld + AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host + AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir + AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [ + 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 + ]) + 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" + dnl Determine whether the user wants rpath handling at all. + AC_ARG_ENABLE(rpath, + [ --disable-rpath do not hardcode runtime library paths], + :, enable_rpath=yes) + ]) + + dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and + dnl the libraries corresponding to explicit and implicit dependencies. + dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables. + AC_DEFUN([AC_LIB_LINKFLAGS_BODY], + [ + define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) + dnl By default, look in $includedir and $libdir. + use_additional=yes + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + AC_LIB_ARG_WITH([lib$1-prefix], + [ --with-lib$1-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib + --without-lib$1-prefix don't search for lib$1 in includedir and libdir], + [ + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + else + additional_includedir="$withval/include" + additional_libdir="$withval/lib" + fi + fi + ]) + dnl Search the library and its dependencies in $additional_libdir and + dnl $LDFLAGS. Using breadth-first-seach. + LIB[]NAME= + LTLIB[]NAME= + INC[]NAME= + rpathdirs= + ltrpathdirs= + names_already_handled= + names_next_round='$1 $2' + 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" + dnl See if it was already located by an earlier AC_LIB_LINKFLAGS + dnl or AC_LIB_HAVE_LINKFLAGS call. + 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" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value" + eval value=\"\$LTLIB$uppername\" + test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value" + else + dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined + dnl that this library doesn't exist. So just drop it. + : + fi + else + dnl Search the library lib$name in $additional_libdir and $LDFLAGS + dnl and the already constructed $LIBNAME/$LTLIBNAME. + 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 $LTLIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + 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 + dnl Found the library. + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name" + if test "X$found_so" != "X"; then + dnl Linking with a shared library. We attempt to hardcode its + dnl directory into the executable's runpath, unless it's the + dnl standard /usr/lib. + if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then + dnl No hardcoding is needed. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + else + dnl Use an explicit option to hardcode DIR into the resulting + dnl binary. + dnl Potentially add DIR to ltrpathdirs. + dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. + 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 + dnl The hardcoding into $LIBNAME is system dependent. + if test "$hardcode_direct" = yes; then + dnl Using DIR/libNAME.so during linking hardcodes DIR into the + dnl resulting binary. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + else + if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then + dnl Use an explicit option to hardcode DIR into the resulting + dnl binary. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + dnl Potentially add DIR to rpathdirs. + dnl The rpathdirs will be appended to $LIBNAME at the end. + 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 + dnl Rely on "-L$found_dir". + dnl But don't add it if it's already contained in the LDFLAGS + dnl or the already constructed $LIBNAME + haveit= + for x in $LDFLAGS $LIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$found_dir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir" + fi + if test "$hardcode_minus_L" != no; then + dnl FIXME: Not sure whether we should use + dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" + dnl here. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" + else + dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH + dnl here, because this doesn't fit in flags passed to the + dnl compiler. So give up. No hardcoding. This affects only + dnl very old systems. + dnl FIXME: Not sure whether we should use + dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" + dnl here. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" + fi + fi + fi + fi + else + if test "X$found_a" != "X"; then + dnl Linking with a static library. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a" + else + dnl We shouldn't come here, but anyway it's good to have a + dnl fallback. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name" + fi + fi + dnl Assume the include files are nearby. + 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 + dnl Potentially add $additional_includedir to $INCNAME. + dnl But don't add it + dnl 1. if it's the standard /usr/include, + dnl 2. if it's /usr/local/include and we are using GCC on Linux, + dnl 3. if it's already present in $CPPFLAGS or the already + dnl constructed $INCNAME, + dnl 4. if it doesn't exist as a directory. + 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 $INC[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + 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 + dnl Really add $additional_includedir to $INCNAME. + INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir" + fi + fi + fi + fi + fi + dnl Look for dependencies. + if test -n "$found_la"; then + dnl Read the .la file. It defines the variables + dnl dlname, library_names, old_library, dependency_libs, current, + dnl age, revision, installed, dlopen, dlpreopen, libdir. + save_libdir="$libdir" + case "$found_la" in + */* | *\\*) . "$found_la" ;; + *) . "./$found_la" ;; + esac + libdir="$save_libdir" + dnl We use only dependency_libs. + for dep in $dependency_libs; do + case "$dep" in + -L*) + additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` + dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME. + dnl But don't add it + dnl 1. if it's the standard /usr/lib, + dnl 2. if it's /usr/local/lib and we are using GCC on Linux, + dnl 3. if it's already present in $LDFLAGS or the already + dnl constructed $LIBNAME, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_libdir" != "X/usr/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 $LIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + 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 + dnl Really add $additional_libdir to $LIBNAME. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir" + fi + fi + haveit= + for x in $LDFLAGS $LTLIB[]NAME; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + 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 + dnl Really add $additional_libdir to $LTLIBNAME. + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir" + fi + fi + fi + fi + ;; + -R*) + dir=`echo "X$dep" | sed -e 's/^X-R//'` + if test "$enable_rpath" != no; then + dnl Potentially add DIR to rpathdirs. + dnl The rpathdirs will be appended to $LIBNAME at the end. + 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 + dnl Potentially add DIR to ltrpathdirs. + dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. + 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*) + dnl Handle this in the next round. + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` + ;; + *.la) + dnl Handle this in the next round. Throw away the .la's + dnl directory; it is already contained in a preceding -L + dnl option. + names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` + ;; + *) + dnl Most likely an immediate library name. + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep" + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep" + ;; + esac + done + fi + else + dnl Didn't find the library; assume it is in the system directories + dnl known to the linker and runtime loader. (All the system + dnl directories known to the linker should also be known to the + dnl runtime loader, otherwise the system is severely misconfigured.) + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name" + fi + fi + fi + done + done + if test "X$rpathdirs" != "X"; then + if test -n "$hardcode_libdir_separator"; then + dnl Weird platform: only the last -rpath option counts, the user must + dnl pass all path elements in one option. We can arrange that for a + dnl single library, but not when more than one $LIBNAMEs are used. + alldirs= + for found_dir in $rpathdirs; do + alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" + done + dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl. + acl_save_libdir="$libdir" + libdir="$alldirs" + eval flag=\"$hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" + else + dnl The -rpath options are cumulative. + for found_dir in $rpathdirs; do + acl_save_libdir="$libdir" + libdir="$found_dir" + eval flag=\"$hardcode_libdir_flag_spec\" + libdir="$acl_save_libdir" + LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" + done + fi + fi + if test "X$ltrpathdirs" != "X"; then + dnl When using libtool, the option that works for both libraries and + dnl executables is -R. The -R options are cumulative. + for found_dir in $ltrpathdirs; do + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" + done + fi + ]) + + dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR, + dnl unless already present in VAR. + dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes + dnl contains two or three consecutive elements that belong together. + AC_DEFUN([AC_LIB_APPENDTOVAR], + [ + for element in [$2]; do + haveit= + for x in $[$1]; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X$element"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + [$1]="${[$1]}${[$1]:+ }$element" + fi + done + ]) + # lib-prefix.m4 serial 2 (gettext-0.12) + dnl Copyright (C) 2001-2003 Free Software Foundation, Inc. + dnl This file is free software, distributed under the terms of the GNU + dnl General Public License. As a special exception to the GNU General + dnl Public License, this file may be distributed as part of a program + dnl that contains a configuration script generated by Autoconf, under + dnl the same distribution terms as the rest of that program. + + dnl From Bruno Haible. + + dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and + dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't + dnl require excessive bracketing. + ifdef([AC_HELP_STRING], + [AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])], + [AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])]) + + dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed + dnl to access previously installed libraries. The basic assumption is that + dnl a user will want packages to use other packages he previously installed + dnl with the same --prefix option. + dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate + dnl libraries, but is otherwise very convenient. + AC_DEFUN([AC_LIB_PREFIX], + [ + AC_BEFORE([$0], [AC_LIB_LINKFLAGS]) + AC_REQUIRE([AC_PROG_CC]) + AC_REQUIRE([AC_CANONICAL_HOST]) + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + dnl By default, look in $includedir and $libdir. + use_additional=yes + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + AC_LIB_ARG_WITH([lib-prefix], + [ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib + --without-lib-prefix don't search for libraries in includedir and libdir], + [ + if test "X$withval" = "Xno"; then + use_additional=no + else + if test "X$withval" = "X"; then + AC_LIB_WITH_FINAL_PREFIX([ + eval additional_includedir=\"$includedir\" + eval additional_libdir=\"$libdir\" + ]) + else + additional_includedir="$withval/include" + additional_libdir="$withval/lib" + fi + fi + ]) + if test $use_additional = yes; then + dnl Potentially add $additional_includedir to $CPPFLAGS. + dnl But don't add it + dnl 1. if it's the standard /usr/include, + dnl 2. if it's already present in $CPPFLAGS, + dnl 3. if it's /usr/local/include and we are using GCC on Linux, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_includedir" != "X/usr/include"; then + haveit= + for x in $CPPFLAGS; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-I$additional_includedir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + 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 + if test -d "$additional_includedir"; then + dnl Really add $additional_includedir to $CPPFLAGS. + CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir" + fi + fi + fi + fi + dnl Potentially add $additional_libdir to $LDFLAGS. + dnl But don't add it + dnl 1. if it's the standard /usr/lib, + dnl 2. if it's already present in $LDFLAGS, + dnl 3. if it's /usr/local/lib and we are using GCC on Linux, + dnl 4. if it doesn't exist as a directory. + if test "X$additional_libdir" != "X/usr/lib"; then + haveit= + for x in $LDFLAGS; do + AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) + if test "X$x" = "X-L$additional_libdir"; then + haveit=yes + break + fi + done + if test -z "$haveit"; then + 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 + if test -d "$additional_libdir"; then + dnl Really add $additional_libdir to $LDFLAGS. + LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir" + fi + fi + fi + fi + fi + ]) + + dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix, + dnl acl_final_exec_prefix, containing the values to which $prefix and + dnl $exec_prefix will expand at the end of the configure script. + AC_DEFUN([AC_LIB_PREPARE_PREFIX], + [ + dnl Unfortunately, prefix and exec_prefix get only finally determined + dnl at the end of configure. + 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" + ]) + + dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the + dnl variables prefix and exec_prefix bound to the values they will have + dnl at the end of the configure script. + AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX], + [ + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + acl_save_exec_prefix="$exec_prefix" + exec_prefix="$acl_final_exec_prefix" + $1 + exec_prefix="$acl_save_exec_prefix" + prefix="$acl_save_prefix" + ]) + # nls.m4 serial 1 (gettext-0.12) + dnl Copyright (C) 1995-2003 Free Software Foundation, Inc. + dnl This file is free software, distributed under the terms of the GNU + dnl General Public License. As a special exception to the GNU General + dnl Public License, this file may be distributed as part of a program + dnl that contains a configuration script generated by Autoconf, under + dnl the same distribution terms as the rest of that program. + dnl + dnl This file can can be used in projects which are not available under + dnl the GNU General Public License or the GNU Library General Public + dnl License but which still want to provide support for the GNU gettext + dnl functionality. + dnl Please note that the actual code of the GNU gettext library is covered + dnl by the GNU Library General Public License, and the rest of the GNU + dnl gettext package package is covered by the GNU General Public License. + dnl They are *not* in the public domain. + + dnl Authors: + dnl Ulrich Drepper , 1995-2000. + dnl Bruno Haible , 2000-2003. + + AC_DEFUN([AM_NLS], + [ + AC_MSG_CHECKING([whether NLS is requested]) + dnl Default is enabled NLS + AC_ARG_ENABLE(nls, + [ --disable-nls do not use Native Language Support], + USE_NLS=$enableval, USE_NLS=yes) + AC_MSG_RESULT($USE_NLS) + AC_SUBST(USE_NLS) + ]) + + AC_DEFUN([AM_MKINSTALLDIRS], + [ + dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly + dnl find the mkinstalldirs script in another subdir but $(top_srcdir). + dnl Try to locate it. + 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 + AC_SUBST(MKINSTALLDIRS) + ]) + # po.m4 serial 1 (gettext-0.12) + dnl Copyright (C) 1995-2003 Free Software Foundation, Inc. + dnl This file is free software, distributed under the terms of the GNU + dnl General Public License. As a special exception to the GNU General + dnl Public License, this file may be distributed as part of a program + dnl that contains a configuration script generated by Autoconf, under + dnl the same distribution terms as the rest of that program. + dnl + dnl This file can can be used in projects which are not available under + dnl the GNU General Public License or the GNU Library General Public + dnl License but which still want to provide support for the GNU gettext + dnl functionality. + dnl Please note that the actual code of the GNU gettext library is covered + dnl by the GNU Library General Public License, and the rest of the GNU + dnl gettext package package is covered by the GNU General Public License. + dnl They are *not* in the public domain. + + dnl Authors: + dnl Ulrich Drepper , 1995-2000. + dnl Bruno Haible , 2000-2003. + + dnl Checks for all prerequisites of the po subdirectory. + AC_DEFUN([AM_PO_SUBDIRS], + [ + AC_REQUIRE([AC_PROG_MAKE_SET])dnl + AC_REQUIRE([AC_PROG_INSTALL])dnl + AC_REQUIRE([AM_MKINSTALLDIRS])dnl + AC_REQUIRE([AM_NLS])dnl + + dnl Perform the following tests also if --disable-nls has been given, + dnl because they are needed for "make dist" to work. + + dnl Search for GNU msgfmt in the PATH. + dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions. + dnl The second test excludes FreeBSD msgfmt. + AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, + [$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)], + :) + AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) + + dnl Search for GNU xgettext 0.12 or newer in the PATH. + dnl The first test excludes Solaris xgettext and early GNU xgettext versions. + dnl The second test excludes FreeBSD xgettext. + AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, + [$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)], + :) + dnl Remove leftover from FreeBSD xgettext call. + rm -f messages.po + + dnl Search for GNU msgmerge 0.11 or newer in the PATH. + AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge, + [$ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1], :) + + dnl This could go away some day; the PATH_PROG_WITH_TEST already does it. + dnl Test whether we really found GNU msgfmt. + if test "$GMSGFMT" != ":"; then + dnl If it is no GNU msgfmt we define it as : so that the + dnl Makefiles still can work. + 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,^.*/,,'` + AC_MSG_RESULT( + [found $GMSGFMT program is not GNU msgfmt; ignore it]) + GMSGFMT=":" + fi + fi + + dnl This could go away some day; the PATH_PROG_WITH_TEST already does it. + dnl Test whether we really found GNU xgettext. + if test "$XGETTEXT" != ":"; then + dnl If it is no GNU xgettext we define it as : so that the + dnl Makefiles still can work. + 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 + AC_MSG_RESULT( + [found xgettext program is not GNU xgettext; ignore it]) + XGETTEXT=":" + fi + dnl Remove leftover from FreeBSD xgettext call. + rm -f messages.po + fi + + AC_OUTPUT_COMMANDS([ + for ac_file in $CONFIG_FILES; do + # Support "outfile[:infile[:infile...]]" + case "$ac_file" in + *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; + esac + # PO directories have a Makefile.in generated from Makefile.in.in. + case "$ac_file" in */Makefile.in) + # Adjust a relative srcdir. + ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` + ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" + ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` + # In autoconf-2.13 it is called $ac_given_srcdir. + # In autoconf-2.50 it is called $srcdir. + test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" + case "$ac_given_srcdir" in + .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; + /*) top_srcdir="$ac_given_srcdir" ;; + *) top_srcdir="$ac_dots$ac_given_srcdir" ;; + esac + 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 + # on $ac_dir but don't depend on user-specified configuration + # parameters. + if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then + # The LINGUAS file contains the set of available languages. + if test -n "$OBSOLETE_ALL_LINGUAS"; then + test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" + fi + ALL_LINGUAS_=`sed -e "/^#/d" "$ac_given_srcdir/$ac_dir/LINGUAS"` + # Hide the ALL_LINGUAS assigment from automake. + eval 'ALL_LINGUAS''=$ALL_LINGUAS_' + POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" + else + # The set of available languages was given in configure.in. + eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' + fi + case "$ac_given_srcdir" in + .) srcdirpre= ;; + *) srcdirpre='$(srcdir)/' ;; + esac + POFILES= + GMOFILES= + UPDATEPOFILES= + DUMMYPOFILES= + 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" + done + # CATALOGS depends on both $ac_dir and the user's LINGUAS + # environment variable. + INST_LINGUAS= + if test -n "$ALL_LINGUAS"; then + for presentlang in $ALL_LINGUAS; do + useit=no + if test "%UNSET%" != "$LINGUAS"; then + desiredlanguages="$LINGUAS" + else + desiredlanguages="$ALL_LINGUAS" + fi + for desiredlang in $desiredlanguages; do + # Use the presentlang catalog if desiredlang is + # a. equal to presentlang, or + # b. a variant of presentlang (because in this case, + # presentlang can be used as a fallback for messages + # which are not translated in the desiredlang catalog). + case "$desiredlang" in + "$presentlang"*) useit=yes;; + esac + done + if test $useit = yes; then + INST_LINGUAS="$INST_LINGUAS $presentlang" + fi + done + fi + CATALOGS= + if test -n "$INST_LINGUAS"; then + for lang in $INST_LINGUAS; do + CATALOGS="$CATALOGS $lang.gmo" + done + fi + test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" + sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@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" + for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do + if test -f "$f"; then + case "$f" in + *.orig | *.bak | *~) ;; + *) cat "$f" >> "$ac_dir/Makefile" ;; + esac + fi + done + fi + ;; + esac + done], + [# Capture the value of obsolete ALL_LINGUAS because we need it to compute + # POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES, CATALOGS. But hide it + # from automake. + eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' + # Capture the value of LINGUAS because we need it to compute CATALOGS. + LINGUAS="${LINGUAS-%UNSET%}" + ]) + ]) + # progtest.m4 serial 3 (gettext-0.12) + dnl Copyright (C) 1996-2003 Free Software Foundation, Inc. + dnl This file is free software, distributed under the terms of the GNU + dnl General Public License. As a special exception to the GNU General + dnl Public License, this file may be distributed as part of a program + dnl that contains a configuration script generated by Autoconf, under + dnl the same distribution terms as the rest of that program. + dnl + dnl This file can can be used in projects which are not available under + dnl the GNU General Public License or the GNU Library General Public + dnl License but which still want to provide support for the GNU gettext + dnl functionality. + dnl Please note that the actual code of the GNU gettext library is covered + dnl by the GNU Library General Public License, and the rest of the GNU + dnl gettext package package is covered by the GNU General Public License. + dnl They are *not* in the public domain. + + dnl Authors: + dnl Ulrich Drepper , 1996. + + # Search path for a program which passes the given test. + + dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, + dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) + AC_DEFUN([AM_PATH_PROG_WITH_TEST], + [ + # 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 "$2", so it can be a program name with args. + set dummy $2; ac_word=[$]2 + AC_MSG_CHECKING([for $ac_word]) + AC_CACHE_VAL(ac_cv_path_$1, + [case "[$]$1" in + [[\\/]]* | ?:[[\\/]]*) + ac_cv_path_$1="[$]$1" # Let the user override the test with a path. + ;; + *) + ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in ifelse([$5], , $PATH, [$5]); 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 [$3]; then + ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext" + break 2 + fi + fi + done + done + IFS="$ac_save_IFS" + dnl If no 4th arg is given, leave the cache variable unset, + dnl so AC_PATH_PROGS will keep looking. + ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" + ])dnl + ;; + esac])dnl + $1="$ac_cv_path_$1" + if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then + AC_MSG_RESULT([$]$1) + else + AC_MSG_RESULT(no) + fi + AC_SUBST($1)dnl + ]) + # stdint_h.m4 serial 3 (gettext-0.12) + dnl Copyright (C) 1997-2003 Free Software Foundation, Inc. + dnl This file is free software, distributed under the terms of the GNU + dnl General Public License. As a special exception to the GNU General + dnl Public License, this file may be distributed as part of a program + dnl that contains a configuration script generated by Autoconf, under + dnl the same distribution terms as the rest of that program. + + dnl From Paul Eggert. + + # Define HAVE_STDINT_H_WITH_UINTMAX if exists, + # doesn't clash with , and declares uintmax_t. + + AC_DEFUN([jm_AC_HEADER_STDINT_H], + [ + AC_CACHE_CHECK([for stdint.h], jm_ac_cv_header_stdint_h, + [AC_TRY_COMPILE( + [#include + #include ], + [uintmax_t i = (uintmax_t) -1;], + jm_ac_cv_header_stdint_h=yes, + jm_ac_cv_header_stdint_h=no)]) + if test $jm_ac_cv_header_stdint_h = yes; then + AC_DEFINE_UNQUOTED(HAVE_STDINT_H_WITH_UINTMAX, 1, + [Define if exists, doesn't clash with , + and declares uintmax_t. ]) + fi + ]) + # uintmax_t.m4 serial 7 (gettext-0.12) + dnl Copyright (C) 1997-2003 Free Software Foundation, Inc. + dnl This file is free software, distributed under the terms of the GNU + dnl General Public License. As a special exception to the GNU General + dnl Public License, this file may be distributed as part of a program + dnl that contains a configuration script generated by Autoconf, under + dnl the same distribution terms as the rest of that program. + + dnl From Paul Eggert. + + AC_PREREQ(2.13) + + # Define uintmax_t to 'unsigned long' or 'unsigned long long' + # if it is not already defined in or . + + AC_DEFUN([jm_AC_TYPE_UINTMAX_T], + [ + AC_REQUIRE([jm_AC_HEADER_INTTYPES_H]) + AC_REQUIRE([jm_AC_HEADER_STDINT_H]) + if test $jm_ac_cv_header_inttypes_h = no && test $jm_ac_cv_header_stdint_h = no; then + AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG]) + test $ac_cv_type_unsigned_long_long = yes \ + && ac_type='unsigned long long' \ + || ac_type='unsigned long' + AC_DEFINE_UNQUOTED(uintmax_t, $ac_type, + [Define to unsigned long or unsigned long long + if and don't define.]) + else + AC_DEFINE(HAVE_UINTMAX_T, 1, + [Define if you have the 'uintmax_t' type in or .]) + fi + ]) + # ulonglong.m4 serial 2 (fileutils-4.0.32, gettext-0.10.40) + dnl Copyright (C) 1999-2002 Free Software Foundation, Inc. + dnl This file is free software, distributed under the terms of the GNU + dnl General Public License. As a special exception to the GNU General + dnl Public License, this file may be distributed as part of a program + dnl that contains a configuration script generated by Autoconf, under + dnl the same distribution terms as the rest of that program. + + dnl From Paul Eggert. + + AC_DEFUN([jm_AC_TYPE_UNSIGNED_LONG_LONG], + [ + AC_CACHE_CHECK([for unsigned long long], ac_cv_type_unsigned_long_long, + [AC_TRY_LINK([unsigned long long ull = 1; int i = 63;], + [unsigned long long ullmax = (unsigned long long) -1; + return ull << i | ull >> i | ullmax / ull | ullmax % ull;], + ac_cv_type_unsigned_long_long=yes, + ac_cv_type_unsigned_long_long=no)]) + if test $ac_cv_type_unsigned_long_long = yes; then + AC_DEFINE(HAVE_UNSIGNED_LONG_LONG, 1, + [Define if you have the unsigned long long type.]) + fi ]) diff -aNrc2 bash-2.05b-patched/array.c bash-3.0/array.c *** bash-2.05b-patched/array.c Mon Mar 18 13:16:50 2002 --- bash-3.0/array.c Thu May 6 08:24:13 2004 *************** *** 10,14 **** */ ! /* Copyright (C) 1997-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 10,14 ---- */ ! /* Copyright (C) 1997-2004 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 155,161 **** */ void ! array_walk(a, func) ARRAY *a; sh_ae_map_func_t *func; { register ARRAY_ELEMENT *ae; --- 155,162 ---- */ void ! array_walk(a, func, udata) ARRAY *a; sh_ae_map_func_t *func; + void *udata; { register ARRAY_ELEMENT *ae; *************** *** 164,168 **** return; for (ae = element_forw(a->head); ae != a->head; ae = element_forw(ae)) ! if ((*func)(ae) < 0) return; } --- 165,169 ---- return; for (ae = element_forw(a->head); ae != a->head; ae = element_forw(ae)) ! if ((*func)(ae, udata) < 0) return; } *************** *** 266,269 **** --- 267,285 ---- } + ARRAY_ELEMENT * + array_unshift_element(a) + ARRAY *a; + { + return (array_shift (a, 1, 0)); + } + + int + array_shift_element(a, v) + ARRAY *a; + char *v; + { + return (array_rshift (a, 1, v)); + } + ARRAY * array_quote(array) *************** *** 283,307 **** } char * ! array_subrange (a, start, end, quoted) ARRAY *a; ! arrayind_t start, end; ! int quoted; { ARRAY_ELEMENT *h, *p; arrayind_t i; p = array_head (a); ! if (p == 0 || array_empty (a) || start > array_num_elements (a)) return ((char *)NULL); ! for (i = 0, p = element_forw(p); p != a->head && i < start; i++, p = element_forw(p)) ; if (p == a->head) return ((char *)NULL); ! for (h = p; p != a->head && i < end; i++, p = element_forw(p)) ; ! return (array_to_string_internal (h, p, " ", quoted)); } --- 299,346 ---- } + /* + * Return a string whose elements are the members of array A beginning at + * index START and spanning NELEM members. Null elements are counted. + * Since arrays are sparse, unset array elements are not counted. + */ char * ! array_subrange (a, start, nelem, starsub, quoted) ARRAY *a; ! arrayind_t start, nelem; ! int starsub, quoted; { ARRAY_ELEMENT *h, *p; arrayind_t i; + char *ifs, sep[2]; p = array_head (a); ! if (p == 0 || array_empty (a) || start > array_max_index(a)) return ((char *)NULL); ! /* ! * Find element with index START. If START corresponds to an unset ! * element (arrays can be sparse), use the first element whose index ! * is >= START. If START is < 0, we count START indices back from ! * the end of A (not elements, even with sparse arrays -- START is an ! * index). ! */ ! for (p = element_forw(p); p != array_head(a) && start > element_index(p); p = element_forw(p)) ; + if (p == a->head) return ((char *)NULL); ! ! /* Starting at P, take NELEM elements, inclusive. */ ! for (i = 0, h = p; p != a->head && i < nelem; i++, p = element_forw(p)) ; ! if (starsub && (quoted & (Q_DOUBLE_QUOTES|Q_HERE_DOCUMENT))) { ! ifs = getifs(); ! sep[0] = ifs ? *ifs : '\0'; ! } else ! sep[0] = ' '; ! sep[1] = '\0'; ! ! return (array_to_string_internal (h, p, sep, quoted)); } *************** *** 314,318 **** ARRAY *a2; ARRAY_ELEMENT *e; ! char *t; if (array_head (a) == 0 || array_empty (a)) --- 353,357 ---- ARRAY *a2; ARRAY_ELEMENT *e; ! char *t, *ifs, sifs[2]; if (array_head (a) == 0 || array_empty (a)) *************** *** 328,332 **** if (mflags & MATCH_QUOTED) array_quote (a2); ! t = array_to_string (a2, " ", 0); array_dispose (a2); --- 367,377 ---- if (mflags & MATCH_QUOTED) array_quote (a2); ! if (mflags & MATCH_STARSUB) { ! ifs = getifs(); ! sifs[0] = ifs ? *ifs : '\0'; ! sifs[1] = '\0'; ! t = array_to_string (a2, sifs, 0); ! } else ! t = array_to_string (a2, " ", 0); array_dispose (a2); *************** *** 366,371 **** ARRAY_ELEMENT *ae; { ! FREE(ae->value); ! free(ae); } --- 411,418 ---- ARRAY_ELEMENT *ae; { ! if (ae) { ! FREE(ae->value); ! free(ae); ! } } *************** *** 461,464 **** --- 508,512 ---- /* Convenience routines for the shell to translate to and from the form used by the rest of the code. */ + WORD_LIST * array_to_word_list(a) *************** *** 488,491 **** --- 536,558 ---- } + WORD_LIST * + array_keys_to_word_list(a) + ARRAY *a; + { + WORD_LIST *list; + ARRAY_ELEMENT *ae; + char *t; + + if (a == 0 || array_empty(a)) + return((WORD_LIST *)NULL); + list = (WORD_LIST *)NULL; + for (ae = element_forw(a->head); ae != a->head; ae = element_forw(ae)) { + t = itos(element_index(ae)); + list = make_word_list (make_bare_word(t), list); + free(t); + } + return (REVERSE_LIST(list, WORD_LIST *)); + } + ARRAY * array_assign_list (array, list) *************** *** 768,772 **** { printf("\n"); ! array_walk(a, print_element); } --- 835,839 ---- { printf("\n"); ! array_walk(a, print_element, (void *)NULL); } diff -aNrc2 bash-2.05b-patched/array.h bash-3.0/array.h *** bash-2.05b-patched/array.h Thu Mar 14 08:42:51 2002 --- bash-3.0/array.h Sun Jun 1 15:50:30 2003 *************** *** 41,45 **** } ARRAY_ELEMENT; ! typedef int sh_ae_map_func_t __P((ARRAY_ELEMENT *)); /* Basic operations on entire arrays */ --- 41,45 ---- } ARRAY_ELEMENT; ! typedef int sh_ae_map_func_t __P((ARRAY_ELEMENT *, void *)); /* Basic operations on entire arrays */ *************** *** 49,59 **** extern ARRAY *array_copy __P((ARRAY *)); extern ARRAY *array_slice __P((ARRAY *, ARRAY_ELEMENT *, ARRAY_ELEMENT *)); ! extern void array_walk __P((ARRAY *, sh_ae_map_func_t *)); extern ARRAY_ELEMENT *array_shift __P((ARRAY *, int, int)); extern int array_rshift __P((ARRAY *, int, char *)); extern ARRAY *array_quote __P((ARRAY *)); ! extern char *array_subrange __P((ARRAY *, arrayind_t, arrayind_t, int)); extern char *array_patsub __P((ARRAY *, char *, char *, int)); --- 49,61 ---- extern ARRAY *array_copy __P((ARRAY *)); extern ARRAY *array_slice __P((ARRAY *, ARRAY_ELEMENT *, ARRAY_ELEMENT *)); ! extern void array_walk __P((ARRAY *, sh_ae_map_func_t *, void *)); extern ARRAY_ELEMENT *array_shift __P((ARRAY *, int, int)); extern int array_rshift __P((ARRAY *, int, char *)); + extern ARRAY_ELEMENT *array_unshift_element __P((ARRAY *)); + extern int array_shift_element __P((ARRAY *, char *)); extern ARRAY *array_quote __P((ARRAY *)); ! extern char *array_subrange __P((ARRAY *, arrayind_t, arrayind_t, int, int)); extern char *array_patsub __P((ARRAY *, char *, char *, int)); *************** *** 70,73 **** --- 72,77 ---- extern WORD_LIST *array_to_word_list __P((ARRAY *)); extern ARRAY *array_from_word_list __P((WORD_LIST *)); + extern WORD_LIST *array_keys_to_word_list __P((ARRAY *)); + extern ARRAY *array_assign_list __P((ARRAY *, WORD_LIST *)); *************** *** 90,93 **** --- 94,109 ---- #define element_forw(ae) ((ae)->next) #define element_back(ae) ((ae)->prev) + + /* Convenience */ + #define array_push(a,v) \ + do { array_rshift ((a), 1, (v)); } while (0) + #define array_pop(a) \ + do { array_dispose_element (array_shift ((a), 1, 0)); } while (0) + + #define GET_ARRAY_FROM_VAR(n, v, a) \ + do { \ + (v) = find_variable (n); \ + (a) = ((v) && array_p ((v))) ? array_cell (v) : (ARRAY *)0; \ + } while (0) #define ALL_ELEMENT_SUB(c) ((c) == '@' || (c) == '*') diff -aNrc2 bash-2.05b-patched/arrayfunc.c bash-3.0/arrayfunc.c *** bash-2.05b-patched/arrayfunc.c Mon May 6 14:00:36 2002 --- bash-3.0/arrayfunc.c Fri Dec 19 00:03:09 2003 *************** *** 1,5 **** /* arrayfunc.c -- High-level array functions used by other parts of the shell. */ ! /* Copyright (C) 2001-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 1,5 ---- /* arrayfunc.c -- High-level array functions used by other parts of the shell. */ ! /* Copyright (C) 2001-2003 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 28,31 **** --- 28,33 ---- #include + #include "bashintl.h" + #include "shell.h" *************** *** 40,43 **** --- 42,48 ---- static char *array_value_internal __P((char *, int, int, int *)); + /* Standard error message to use when encountering an invalid array subscript */ + char *bash_badsub_errmsg = N_("bad array subscript"); + /* **************************************************************** */ /* */ *************** *** 57,61 **** oldval = value_cell (var); array = array_create (); ! array_insert (array, 0, oldval); FREE (value_cell (var)); --- 62,67 ---- oldval = value_cell (var); array = array_create (); ! if (oldval) ! array_insert (array, 0, oldval); FREE (value_cell (var)); *************** *** 246,250 **** /* First we split the string on whitespace, using the shell parser (ksh93 seems to do this). */ ! list = parse_string_to_word_list (val, "array assign"); /* If we're using [subscript]=value, we need to quote each [ and ] to --- 252,256 ---- /* First we split the string on whitespace, using the shell parser (ksh93 seems to do this). */ ! list = parse_string_to_word_list (val, 1, "array assign"); /* If we're using [subscript]=value, we need to quote each [ and ] to *************** *** 274,278 **** /* We have a word of the form [ind]=value */ ! if (w[0] == '[') { len = skipsubscript (w, 0); --- 280,284 ---- /* We have a word of the form [ind]=value */ ! if ((list->word->flags & W_ASSIGNMENT) && w[0] == '[') { len = skipsubscript (w, 0); *************** *** 298,302 **** if (ALL_ELEMENT_SUB (w[1]) && len == 2) { ! report_error ("%s: cannot assign to non-numeric index", w); continue; } --- 304,308 ---- if (ALL_ELEMENT_SUB (w[1]) && len == 2) { ! report_error (_("%s: cannot assign to non-numeric index"), w); continue; } *************** *** 396,400 **** mblength = mbrlen (s + i, slength, &state); ! if (mblength == (size_t)-2 || mblength == (size_t)-1) { state = state_bak; --- 402,406 ---- mblength = mbrlen (s + i, slength, &state); ! if (MB_INVALIDCH (mblength)) { state = state_bak; *************** *** 402,406 **** slength--; } ! else if (mblength == 0) return i; else --- 408,412 ---- slength--; } ! else if (MB_NULLWCH (mblength)) return i; else *************** *** 442,446 **** if (sub[len] != ']' || len == 0) { ! builtin_error ("%s[%s: bad array subscript", var->name, sub); return -1; } --- 448,452 ---- if (sub[len] != ']' || len == 0) { ! builtin_error ("%s[%s: %s", var->name, sub, _(bash_badsub_errmsg)); return -1; } *************** *** 455,459 **** if (ind < 0) { ! builtin_error ("[%s]: bad array subscript", sub); return -1; } --- 461,465 ---- if (ind < 0) { ! builtin_error ("[%s]: %s", sub, _(bash_badsub_errmsg)); return -1; } *************** *** 558,562 **** t = xstrchr (s, '['); if (t == 0) ! return ((char *)NULL); ind = t - s; ni = skipsubscript (s, ind); --- 564,574 ---- t = xstrchr (s, '['); if (t == 0) ! { ! if (subp) ! *subp = t; ! if (lenp) ! *lenp = 0; ! return ((char *)NULL); ! } ind = t - s; ni = skipsubscript (s, ind); *************** *** 564,567 **** --- 576,583 ---- { err_badarraysub (s); + if (subp) + *subp = t; + if (lenp) + *lenp = 0; return ((char *)NULL); } *************** *** 624,627 **** --- 640,646 ---- #endif + if (len == 0) + return ((char *)NULL); /* error message already printed */ + /* [ */ if (ALL_ELEMENT_SUB (t[0]) && t[1] == ']') *************** *** 705,707 **** --- 724,763 ---- } + char * + array_keys (s, quoted) + char *s; + int quoted; + { + int len; + char *retval, *t, *temp; + WORD_LIST *l; + SHELL_VAR *var; + + var = array_variable_part (s, &t, &len); + + /* [ */ + if (var == 0 || ALL_ELEMENT_SUB (t[0]) == 0 || t[1] != ']') + return (char *)NULL; + + if (array_p (var) == 0) + l = add_string_to_list ("0", (WORD_LIST *)NULL); + else + { + l = array_keys_to_word_list (array_cell (var)); + if (l == (WORD_LIST *)NULL) + return ((char *) NULL); + } + + if (t[0] == '*' && (quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES))) + { + temp = string_list_dollar_star (l); + retval = quote_string (temp); + free (temp); + } + else /* ${!name[@]} or unquoted ${!name[*]} */ + retval = string_list_dollar_at (l, quoted); + + dispose_words (l); + return retval; + } #endif /* ARRAY_VARS */ diff -aNrc2 bash-2.05b-patched/arrayfunc.h bash-3.0/arrayfunc.h *** bash-2.05b-patched/arrayfunc.h Wed Mar 27 09:31:44 2002 --- bash-3.0/arrayfunc.h Thu Apr 10 09:14:06 2003 *************** *** 46,49 **** --- 46,51 ---- extern char *get_array_value __P((char *, int, int *)); + extern char *array_keys __P((char *, int)); + extern char *array_variable_name __P((char *, char **, int *)); extern SHELL_VAR *array_variable_part __P((char *, char **, int *)); diff -aNrc2 bash-2.05b-patched/bashhist.c bash-3.0/bashhist.c *** bash-2.05b-patched/bashhist.c Tue Mar 12 10:29:56 2002 --- bash-3.0/bashhist.c Mon Mar 22 08:27:59 2004 *************** *** 1,5 **** /* bashhist.c -- bash interface to the GNU history library. */ ! /* Copyright (C) 1993 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 1,5 ---- /* bashhist.c -- bash interface to the GNU history library. */ ! /* Copyright (C) 1993-2004 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 37,40 **** --- 37,42 ---- #include "filecntl.h" + #include "bashintl.h" + #include "shell.h" #include "flags.h" *************** *** 51,54 **** --- 53,57 ---- #if defined (READLINE) # include "bashline.h" + extern int rl_done, rl_dispatching; /* should really include readline.h */ #endif *************** *** 59,62 **** --- 62,66 ---- static int histignore_item_func __P((struct ign *)); static int check_history_control __P((char *)); + static void hc_erasedups __P((char *)); static void really_add_history __P((char *)); *************** *** 78,82 **** int remember_on_history = 1; ! /* The number of lines that Bash has added to this history session. */ int history_lines_this_session; --- 82,89 ---- int remember_on_history = 1; ! /* The number of lines that Bash has added to this history session. The ! difference between the number of the top element in the history list ! (offset from history_base) and the number of lines in the history file. ! Appending this session's history to the history file resets this to 0. */ int history_lines_this_session; *************** *** 135,142 **** int force_append_history; ! /* A nit for picking at history saving. ! Value of 0 means save all lines parsed by the shell on the history. ! Value of 1 means save all lines that do not start with a space. ! Value of 2 means save all lines that do not match the last line saved. */ int history_control; --- 142,153 ---- int force_append_history; ! /* A nit for picking at history saving. Flags have the following values: ! ! Value == 0 means save all lines parsed by the shell on the history. ! Value & HC_IGNSPACE means save all lines that do not start with a space. ! Value & HC_IGNDUPS means save all lines that do not match the last ! line saved. ! Value & HC_ERASEDUPS means to remove all other matching lines from the ! history list before saving the latest line. */ int history_control; *************** *** 207,210 **** --- 218,222 ---- history_search_delimiter_chars = ";&()|<>"; history_inhibit_expansion_function = bash_history_inhibit_expansion; + sv_histchars ("histchars"); } *************** *** 308,312 **** if (fd < 0) { ! builtin_error ("%s: cannot create: %s", filename, strerror (errno)); return (EXECUTION_FAILURE); } --- 320,324 ---- if (fd < 0) { ! builtin_error (_("%s: cannot create: %s"), filename, strerror (errno)); return (EXECUTION_FAILURE); } *************** *** 434,437 **** --- 446,456 ---- if (expanded < 0 || expanded == 2) /* 2 == print only */ { + # if defined (READLINE) + if (expanded == 2 && rl_dispatching == 0 && *history_value) + # else + if (expanded == 2 && *history_value) + # endif /* !READLINE */ + maybe_add_history (history_value); + free (history_value); *************** *** 439,443 **** /* New hack. We can allow the user to edit the failed history expansion. */ ! if (history_reediting && expanded < 0) re_edit (line); # endif /* READLINE */ --- 458,462 ---- /* New hack. We can allow the user to edit the failed history expansion. */ ! if (history_reediting && expanded < 0 && rl_done) re_edit (line); # endif /* READLINE */ *************** *** 512,526 **** int r; ! switch (history_control) { - case 0: /* nothing */ - return 1; - case 1: /* ignorespace */ - return (*line != ' '); - case 3: /* ignoreboth */ - if (*line == ' ') - return 0; - /* FALLTHROUGH if case == 3 (`ignoreboth') */ - case 2: /* ignoredups */ using_history (); temp = previous_history (); --- 531,544 ---- int r; ! if (history_control == 0) ! return 1; ! ! /* ignorespace or ignoreboth */ ! if ((history_control & HC_IGNSPACE) && *line == ' ') ! return 0; ! ! /* ignoredups or ignoreboth */ ! if (history_control & HC_IGNDUPS) { using_history (); temp = previous_history (); *************** *** 529,536 **** using_history (); ! return r; } ! return 0; } --- 547,577 ---- using_history (); ! ! if (r == 0) ! return r; } ! return 1; ! } ! ! /* Remove all entries matching LINE from the history list. Triggered when ! HISTCONTROL includes `erasedups'. */ ! static void ! hc_erasedups (line) ! char *line; ! { ! HIST_ENTRY *temp; ! int r; ! ! using_history (); ! while (temp = previous_history ()) ! { ! if (STREQ (temp->line, line)) ! { ! r = where_history (); ! remove_history (r); ! } ! } ! using_history (); } *************** *** 578,581 **** --- 619,627 ---- if (check_history_control (line) && history_should_ignore (line) == 0) { + /* We're committed to saving the line. If the user has requested it, + remove other matching lines from the history. */ + if (history_control & HC_ERASEDUPS) + hc_erasedups (line); + if (force) { *************** *** 636,643 **** if (old) ! { ! FREE (old->line); ! free (old); ! } add_it = 0; } --- 682,687 ---- if (old) ! free_history_entry (old); ! add_it = 0; } diff -aNrc2 bash-2.05b-patched/bashhist.h bash-3.0/bashhist.h *** bash-2.05b-patched/bashhist.h Fri Nov 30 14:34:32 2001 --- bash-3.0/bashhist.h Tue Dec 10 10:14:43 2002 *************** *** 24,27 **** --- 24,34 ---- #include "stdc.h" + /* Flag values for history_control */ + #define HC_IGNSPACE 0x01 + #define HC_IGNDUPS 0x02 + #define HC_ERASEDUPS 0x04 + + #define HC_IGNBOTH (HC_IGNSPACE|HC_IGNDUPS) + extern int remember_on_history; extern int history_lines_this_session; diff -aNrc2 bash-2.05b-patched/bashintl.h bash-3.0/bashintl.h *** bash-2.05b-patched/bashintl.h Thu Aug 5 07:01:56 1999 --- bash-3.0/bashintl.h Thu Dec 18 17:12:20 2003 *************** *** 1,5 **** /* bashintl.h -- Internationalization stuff ! Copyright (C) 1996 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 1,5 ---- /* bashintl.h -- Internationalization stuff ! Copyright (C) 1996-2003 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 22,34 **** #define _BASHINTL_H_ ! /* Include this *after* config.h */ ! #if defined (HAVE_LIBINTL_H) ! # include #endif #if defined (HAVE_LOCALE_H) # include #endif #if defined (HAVE_SETLOCALE) && !defined (LC_ALL) # undef HAVE_SETLOCALE --- 22,41 ---- #define _BASHINTL_H_ ! #if defined (BUILDTOOL) ! # undef ENABLE_NLS ! # define ENABLE_NLS 0 #endif + /* Include this *after* config.h */ + #include "gettext.h" + #if defined (HAVE_LOCALE_H) # include #endif + #define _(msgid) gettext(msgid) + #define N_(msgid) msgid + #define D_(d, msgid) dgettext(d, msgid) + #if defined (HAVE_SETLOCALE) && !defined (LC_ALL) # undef HAVE_SETLOCALE *************** *** 37,48 **** #if !defined (HAVE_SETLOCALE) # define setlocale(cat, loc) - #endif - - #if !defined (HAVE_TEXTDOMAIN) - # define textdomain(dom) - #endif - - #if !defined (HAVE_BINDTEXTDOMAIN) - # define bindtextdomain(dom, dir) #endif --- 44,47 ---- diff -aNrc2 bash-2.05b-patched/bashjmp.h bash-3.0/bashjmp.h *** bash-2.05b-patched/bashjmp.h Thu Aug 5 07:24:12 1999 --- bash-3.0/bashjmp.h Tue Jun 3 13:45:58 2003 *************** *** 34,41 **** /* Values for the second argument to longjmp/siglongjmp. */ ! #define NOT_JUMPED 0 /* Not returning from a longjmp. */ ! #define FORCE_EOF 1 /* We want to stop parsing. */ ! #define DISCARD 2 /* Discard current command. */ ! #define EXITPROG 3 /* Unconditionally exit the program now. */ #endif /* _BASHJMP_H_ */ --- 34,42 ---- /* Values for the second argument to longjmp/siglongjmp. */ ! #define NOT_JUMPED 0 /* Not returning from a longjmp. */ ! #define FORCE_EOF 1 /* We want to stop parsing. */ ! #define DISCARD 2 /* Discard current command. */ ! #define EXITPROG 3 /* Unconditionally exit the program now. */ ! #define ERREXIT 4 /* Exit due to error condition */ #endif /* _BASHJMP_H_ */ diff -aNrc2 bash-2.05b-patched/bashline.c bash-3.0/bashline.c *** bash-2.05b-patched/bashline.c Thu Sep 5 10:52:38 2002 --- bash-3.0/bashline.c Mon Jul 5 23:22:12 2004 *************** *** 1,5 **** /* bashline.c -- Bash's interface to the readline library. */ ! /* Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 1,5 ---- /* bashline.c -- Bash's interface to the readline library. */ ! /* Copyright (C) 1987-2004 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 41,44 **** --- 41,46 ---- #include "chartypes.h" #include "bashansi.h" + #include "bashintl.h" + #include "shell.h" #include "input.h" *************** *** 151,158 **** /* Variables used here but defined in other files. */ ! extern int current_command_line_count; extern int posixly_correct, no_symbolic_links; extern char *current_prompt_string, *ps1_prompt; extern STRING_INT_ALIST word_token_alist[]; /* SPECIFIC_COMPLETION_FUNCTIONS specifies that we have individual --- 153,165 ---- /* Variables used here but defined in other files. */ ! #if defined (BANG_HISTORY) ! extern int hist_verify; ! #endif ! ! extern int current_command_line_count, last_command_exit_value; extern int posixly_correct, no_symbolic_links; extern char *current_prompt_string, *ps1_prompt; extern STRING_INT_ALIST word_token_alist[]; + extern sh_builtin_func_t *last_shell_builtin, *this_shell_builtin; /* SPECIFIC_COMPLETION_FUNCTIONS specifies that we have individual *************** *** 187,190 **** --- 194,198 ---- static int bash_glob_expand_word __P((int, int)); static int bash_glob_list_expansions __P((int, int)); + #endif /* SPECIFIC_COMPLETION_FUNCTIONS */ *************** *** 192,195 **** --- 200,204 ---- #if defined (VI_MODE) static int vi_edit_and_execute_command __P((int, int)); + static int bash_vi_complete __P((int, int)); #endif static int emacs_edit_and_execute_command __P((int, int)); *************** *** 206,211 **** --- 215,226 ---- int no_empty_command_completion; + /* Set FORCE_FIGNORE if you want to honor FIGNORE even if it ignores the + only possible matches. Set to 0 if you want to match filenames if they + are the only possible matches, even if FIGNORE says to. */ + int force_fignore = 1; + static char *bash_completer_word_break_characters = " \t\n\"'@><=;|&(:"; static char *bash_nohostname_word_break_characters = " \t\n\"'><=;|&(:"; + /* )) */ static rl_hook_func_t *old_rl_startup_hook = (rl_hook_func_t *)NULL; *************** *** 234,237 **** --- 249,254 ---- } + /* When this function returns, rl_completer_word_break_characters points to + dynamically allocated memory. */ int enable_hostname_completion (on_or_off) *************** *** 239,242 **** --- 256,260 ---- { int old_value; + char *at, *nv, *nval; old_value = perform_hostname_completion; *************** *** 246,250 **** perform_hostname_completion = 1; rl_special_prefixes = "$@"; - rl_completer_word_break_characters = bash_completer_word_break_characters; } else --- 264,267 ---- *************** *** 252,256 **** perform_hostname_completion = 0; rl_special_prefixes = "$"; ! rl_completer_word_break_characters = bash_nohostname_word_break_characters; } --- 269,321 ---- perform_hostname_completion = 0; rl_special_prefixes = "$"; ! } ! ! /* Now we need to figure out how to appropriately modify and assign ! rl_completer_word_break_characters depending on whether we want ! hostname completion on or off. */ ! ! /* If this is the first time this has been called ! (bash_readline_initialized == 0), use the sames values as before, but ! allocate new memory for rl_completer_word_break_characters. */ ! ! if (bash_readline_initialized == 0 && ! (rl_completer_word_break_characters == 0 || ! rl_completer_word_break_characters == rl_basic_word_break_characters)) ! { ! if (on_or_off) ! rl_completer_word_break_characters = savestring (bash_completer_word_break_characters); ! else ! rl_completer_word_break_characters = savestring (bash_nohostname_word_break_characters); ! } ! else ! { ! /* See if we have anything to do. */ ! at = strchr (rl_completer_word_break_characters, '@'); ! if ((at == 0 && on_or_off == 0) || (at != 0 && on_or_off != 0)) ! return; ! ! /* We have something to do. Do it. */ ! nval = (char *)xmalloc (strlen (rl_completer_word_break_characters) + 1 + on_or_off); ! ! if (on_or_off == 0) ! { ! /* Turn it off -- just remove `@' from word break chars. We want ! to remove all occurrences of `@' from the char list, so we loop ! rather than just copy the rest of the list over AT. */ ! for (nv = nval, at = rl_completer_word_break_characters; *at; ) ! if (*at != '@') ! *nv++ = *at++; ! else ! at++; ! *nv = '\0'; ! } ! else ! { ! nval[0] = '@'; ! strcpy (nval + 1, rl_completer_word_break_characters); ! } ! ! free (rl_completer_word_break_characters); ! rl_completer_word_break_characters = nval; } *************** *** 262,265 **** --- 327,333 ---- initialize_readline () { + rl_command_func_t *func; + char kseq[2]; + if (bash_readline_initialized) return; *************** *** 321,339 **** /* Bind up our special shell functions. */ ! rl_bind_key_in_map (CTRL('E'), shell_expand_line, emacs_meta_keymap); - /* Bind up our special shell functions. */ #ifdef BANG_HISTORY ! rl_bind_key_in_map ('^', history_expand_line, emacs_meta_keymap); #endif ! rl_bind_key_in_map (CTRL ('O'), operate_and_get_next, emacs_standard_keymap); ! rl_bind_key_in_map (CTRL ('V'), display_shell_version, emacs_ctlx_keymap); /* In Bash, the user can switch editing modes with "set -o [vi emacs]", so it is not necessary to allow C-M-j for context switching. Turn off this occasionally confusing behaviour. */ ! rl_unbind_key_in_map (CTRL('J'), emacs_meta_keymap); ! rl_unbind_key_in_map (CTRL('M'), emacs_meta_keymap); #if defined (VI_MODE) rl_unbind_key_in_map (CTRL('E'), vi_movement_keymap); --- 389,413 ---- /* Bind up our special shell functions. */ ! rl_bind_key_if_unbound_in_map (CTRL('E'), shell_expand_line, emacs_meta_keymap); #ifdef BANG_HISTORY ! rl_bind_key_if_unbound_in_map ('^', history_expand_line, emacs_meta_keymap); #endif ! rl_bind_key_if_unbound_in_map (CTRL ('O'), operate_and_get_next, emacs_standard_keymap); ! rl_bind_key_if_unbound_in_map (CTRL ('V'), display_shell_version, emacs_ctlx_keymap); /* In Bash, the user can switch editing modes with "set -o [vi emacs]", so it is not necessary to allow C-M-j for context switching. Turn off this occasionally confusing behaviour. */ ! kseq[0] = CTRL('J'); ! kseq[1] = '\0'; ! func = rl_function_of_keyseq (kseq, emacs_meta_keymap, (int *)NULL); ! if (func == rl_vi_editing_mode) ! rl_unbind_key_in_map (CTRL('J'), emacs_meta_keymap); ! kseq[0] = CTRL('M'); ! func = rl_function_of_keyseq (kseq, emacs_meta_keymap, (int *)NULL); ! if (func == rl_vi_editing_mode) ! rl_unbind_key_in_map (CTRL('M'), emacs_meta_keymap); #if defined (VI_MODE) rl_unbind_key_in_map (CTRL('E'), vi_movement_keymap); *************** *** 341,370 **** #if defined (BRACE_COMPLETION) ! rl_bind_key_in_map ('{', bash_brace_completion, emacs_meta_keymap); #endif /* BRACE_COMPLETION */ #if defined (SPECIFIC_COMPLETION_FUNCTIONS) ! rl_bind_key_in_map ('/', bash_complete_filename, emacs_meta_keymap); ! rl_bind_key_in_map ('/', bash_possible_filename_completions, emacs_ctlx_keymap); ! ! rl_bind_key_in_map ('~', bash_complete_username, emacs_meta_keymap); ! rl_bind_key_in_map ('~', bash_possible_username_completions, emacs_ctlx_keymap); ! rl_bind_key_in_map ('@', bash_complete_hostname, emacs_meta_keymap); ! rl_bind_key_in_map ('@', bash_possible_hostname_completions, emacs_ctlx_keymap); ! ! rl_bind_key_in_map ('$', bash_complete_variable, emacs_meta_keymap); ! rl_bind_key_in_map ('$', bash_possible_variable_completions, emacs_ctlx_keymap); ! ! rl_bind_key_in_map ('!', bash_complete_command, emacs_meta_keymap); ! rl_bind_key_in_map ('!', bash_possible_command_completions, emacs_ctlx_keymap); ! ! rl_bind_key_in_map ('g', bash_glob_complete_word, emacs_meta_keymap); ! rl_bind_key_in_map ('*', bash_glob_expand_word, emacs_ctlx_keymap); ! rl_bind_key_in_map ('g', bash_glob_list_expansions, emacs_ctlx_keymap); #endif /* SPECIFIC_COMPLETION_FUNCTIONS */ ! rl_bind_key_in_map (TAB, dynamic_complete_history, emacs_meta_keymap); /* Tell the completer that we want a crack first. */ --- 415,451 ---- #if defined (BRACE_COMPLETION) ! rl_bind_key_if_unbound_in_map ('{', bash_brace_completion, emacs_meta_keymap); /*}*/ #endif /* BRACE_COMPLETION */ #if defined (SPECIFIC_COMPLETION_FUNCTIONS) ! rl_bind_key_if_unbound_in_map ('/', bash_complete_filename, emacs_meta_keymap); ! rl_bind_key_if_unbound_in_map ('/', bash_possible_filename_completions, emacs_ctlx_keymap); ! /* Have to jump through hoops here because there is a default binding for ! M-~ (rl_tilde_expand) */ ! kseq[0] = '~'; ! kseq[1] = '\0'; ! func = rl_function_of_keyseq (kseq, emacs_meta_keymap, (int *)NULL); ! if (func == 0 || func == rl_tilde_expand) ! rl_bind_keyseq_in_map (kseq, bash_complete_username, emacs_meta_keymap); ! ! rl_bind_key_if_unbound_in_map ('~', bash_possible_username_completions, emacs_ctlx_keymap); ! ! rl_bind_key_if_unbound_in_map ('@', bash_complete_hostname, emacs_meta_keymap); ! rl_bind_key_if_unbound_in_map ('@', bash_possible_hostname_completions, emacs_ctlx_keymap); ! ! rl_bind_key_if_unbound_in_map ('$', bash_complete_variable, emacs_meta_keymap); ! rl_bind_key_if_unbound_in_map ('$', bash_possible_variable_completions, emacs_ctlx_keymap); ! ! rl_bind_key_if_unbound_in_map ('!', bash_complete_command, emacs_meta_keymap); ! rl_bind_key_if_unbound_in_map ('!', bash_possible_command_completions, emacs_ctlx_keymap); ! ! rl_bind_key_if_unbound_in_map ('g', bash_glob_complete_word, emacs_meta_keymap); ! rl_bind_key_if_unbound_in_map ('*', bash_glob_expand_word, emacs_ctlx_keymap); ! rl_bind_key_if_unbound_in_map ('g', bash_glob_list_expansions, emacs_ctlx_keymap); #endif /* SPECIFIC_COMPLETION_FUNCTIONS */ ! rl_bind_key_if_unbound_in_map (TAB, dynamic_complete_history, emacs_meta_keymap); /* Tell the completer that we want a crack first. */ *************** *** 379,388 **** /* Bind C-xC-e to invoke emacs and run result as commands. */ ! rl_bind_key_in_map (CTRL ('E'), emacs_edit_and_execute_command, emacs_ctlx_keymap); #if defined (VI_MODE) ! rl_bind_key_in_map ('v', vi_edit_and_execute_command, vi_movement_keymap); # if defined (ALIAS) ! rl_bind_key_in_map ('@', posix_edit_macros, vi_movement_keymap); # endif #endif --- 460,473 ---- /* Bind C-xC-e to invoke emacs and run result as commands. */ ! rl_bind_key_if_unbound_in_map (CTRL ('E'), emacs_edit_and_execute_command, emacs_ctlx_keymap); #if defined (VI_MODE) ! rl_bind_key_if_unbound_in_map ('v', vi_edit_and_execute_command, vi_movement_keymap); # if defined (ALIAS) ! rl_bind_key_if_unbound_in_map ('@', posix_edit_macros, vi_movement_keymap); # endif + + rl_bind_key_in_map ('\\', bash_vi_complete, vi_movement_keymap); + rl_bind_key_in_map ('*', bash_vi_complete, vi_movement_keymap); + rl_bind_key_in_map ('=', bash_vi_complete, vi_movement_keymap); #endif *************** *** 709,714 **** a command from the history file. */ ! #define VI_EDIT_COMMAND "fc -e ${VISUAL:-${EDITOR:-vi}}" ! #define EMACS_EDIT_COMMAND "fc -e ${VISUAL:-${EDITOR:-emacs}}" static int --- 794,799 ---- a command from the history file. */ ! #define VI_EDIT_COMMAND "fc -e \"${VISUAL:-${EDITOR:-vi}}\"" ! #define EMACS_EDIT_COMMAND "fc -e \"${VISUAL:-${EDITOR:-emacs}}\"" static int *************** *** 811,814 **** --- 896,900 ---- #define COMMAND_SEPARATORS ";|&{(`" + /* )} */ static int *************** *** 923,927 **** /* If this is an open quote, maybe we're trying to complete a quoted command name. */ ! if (rl_line_buffer[ti] == '"' || rl_line_buffer[ti] == '\'') { qc = rl_line_buffer[ti]; --- 1009,1013 ---- /* If this is an open quote, maybe we're trying to complete a quoted command name. */ ! if (ti >= 0 && (rl_line_buffer[ti] == '"' || rl_line_buffer[ti] == '\'')) { qc = rl_line_buffer[ti]; *************** *** 1009,1017 **** if ((foundcs & COPT_DEFAULT) == 0) rl_attempted_completion_over = 1; /* no default */ ! return (matches); } } #endif /* New posix-style command substitution or variable name? */ if (!matches && *text == '$') --- 1095,1119 ---- if ((foundcs & COPT_DEFAULT) == 0) rl_attempted_completion_over = 1; /* no default */ ! if (matches || ((foundcs & COPT_BASHDEFAULT) == 0)) ! return (matches); } } #endif + if (matches == 0) + matches = bash_default_completion (text, start, end, qc, in_command_position); + + return matches; + } + + char ** + bash_default_completion (text, start, end, qc, in_command_position) + const char *text; + int start, end, qc, in_command_position; + { + char **matches; + + matches = (char **)NULL; + /* New posix-style command substitution or variable name? */ if (!matches && *text == '$') *************** *** 1045,1049 **** else { ! #define CMD_IS_DIR(x) (absolute_pathname(x) == 0 && *(x) != '~' && test_for_directory (x)) matches = rl_completion_matches (text, command_word_completion_function); --- 1147,1151 ---- else { ! #define CMD_IS_DIR(x) (absolute_pathname(x) == 0 && absolute_program(x) == 0 && *(x) != '~' && test_for_directory (x)) matches = rl_completion_matches (text, command_word_completion_function); *************** *** 1056,1059 **** --- 1158,1162 ---- if (matches == (char **)NULL) rl_ignore_some_completions_function = bash_ignore_filenames; + #if 0 else if (matches[1] == 0 && CMD_IS_DIR(matches[0])) /* Turn off rl_filename_completion_desired so readline doesn't *************** *** 1075,1078 **** --- 1178,1182 ---- make a difference and the problem won't occur. */ rl_filename_completion_desired = 0; + #endif } } *************** *** 1369,1372 **** --- 1473,1479 ---- else if (*text == '$' && text[1] == '(') /* ) */ text += 2; + /* If the text was quoted, suppress any quote character that the + readline completion code would insert. */ + rl_completion_suppress_quote = 1; start_len = text - orig_start; filename_text = savestring (text); *************** *** 1635,1640 **** --- 1742,1752 ---- { char *new_line; + int old_verify; + old_verify = hist_verify; + hist_verify = 0; new_line = pre_process_line (line, 0, 0); + hist_verify = old_verify; + return (new_line == line) ? savestring (line) : new_line; } *************** *** 1647,1655 **** { char *to_free; fprintf (rl_outstream, "\r\n"); to_free = pre_process_line (rl_line_buffer, 1, 0); if (to_free != rl_line_buffer) ! free (to_free); putc ('\r', rl_outstream); rl_forced_update_display (); --- 1759,1776 ---- { char *to_free; + #if defined (BANG_HISTORY) + int old_verify; + + old_verify = hist_verify; + hist_verify = 0; + #endif fprintf (rl_outstream, "\r\n"); to_free = pre_process_line (rl_line_buffer, 1, 0); + #if defined (BANG_HISTORY) + hist_verify = old_verify; + #endif if (to_free != rl_line_buffer) ! FREE (to_free); putc ('\r', rl_outstream); rl_forced_update_display (); *************** *** 1777,1783 **** char *new_line; ! new_line = pre_process_line (rl_line_buffer, 0, 0); ! if (new_line == rl_line_buffer) ! new_line = savestring (new_line); #if defined (ALIAS) --- 1898,1902 ---- char *new_line; ! new_line = history_expand_line_internal (rl_line_buffer); #if defined (ALIAS) *************** *** 1815,1821 **** WORD_LIST *expanded_string; ! new_line = pre_process_line (rl_line_buffer, 0, 0); ! if (new_line == rl_line_buffer) ! new_line = savestring (new_line); #if defined (ALIAS) --- 1934,1938 ---- WORD_LIST *expanded_string; ! new_line = history_expand_line_internal (rl_line_buffer); #if defined (ALIAS) *************** *** 1877,1884 **** } - /* Define NO_FORCE_FIGNORE if you want to match filenames that would - otherwise be ignored if they are the only possible matches. */ - /* #define NO_FORCE_FIGNORE */ - /* If FIGNORE is set, then don't match files with the given suffixes when completing filenames. If only one of the possibilities has an acceptable --- 1994,1997 ---- *************** *** 1905,1912 **** char **newnames; int idx, nidx; - #ifdef NO_FORCE_FIGNORE char **oldnames; int oidx; - #endif /* If there is only one completion, see if it is acceptable. If it is --- 2018,2023 ---- *************** *** 1916,1926 **** if (names[1] == (char *)0) { ! #ifndef NO_FORCE_FIGNORE ! if ((*name_func) (names[0]) == 0) ! { ! free (names[0]); ! names[0] = (char *)NULL; ! } ! #endif return; } --- 2027,2037 ---- if (names[1] == (char *)0) { ! if (force_fignore) ! if ((*name_func) (names[0]) == 0) ! { ! free (names[0]); ! names[0] = (char *)NULL; ! } ! return; } *************** *** 1931,1938 **** ; newnames = strvec_create (nidx + 1); ! #ifdef NO_FORCE_FIGNORE ! oldnames = strvec_create (nidx - 1); ! oidx = 0; ! #endif newnames[0] = names[0]; --- 2042,2051 ---- ; newnames = strvec_create (nidx + 1); ! ! if (force_fignore == 0) ! { ! oldnames = strvec_create (nidx - 1); ! oidx = 0; ! } newnames[0] = names[0]; *************** *** 1941,1950 **** if ((*name_func) (names[idx])) newnames[nidx++] = names[idx]; else - #ifndef NO_FORCE_FIGNORE free (names[idx]); - #else - oldnames[oidx++] = names[idx]; - #endif } --- 2054,2061 ---- if ((*name_func) (names[idx])) newnames[nidx++] = names[idx]; + else if (force_fignore == 0) + oldnames[oidx++] = names[idx]; else free (names[idx]); } *************** *** 1954,1972 **** if (nidx == 1) { ! #ifndef NO_FORCE_FIGNORE ! free (names[0]); ! names[0] = (char *)NULL; ! #else ! free (oldnames); ! #endif free (newnames); return; } ! #ifdef NO_FORCE_FIGNORE ! while (oidx) ! free (oldnames[--oidx]); ! free (oldnames); ! #endif /* If only one is acceptable, copy it to names[0] and return. */ --- 2065,2086 ---- if (nidx == 1) { ! if (force_fignore) ! { ! free (names[0]); ! names[0] = (char *)NULL; ! } ! else ! free (oldnames); ! free (newnames); return; } ! if (force_fignore == 0) ! { ! while (oidx) ! free (oldnames[--oidx]); ! free (oldnames); ! } /* If only one is acceptable, copy it to names[0] and return. */ *************** *** 2083,2086 **** --- 2197,2201 ---- int return_value, should_expand_dirname; WORD_LIST *wl; + struct stat sb; return_value = should_expand_dirname = 0; *************** *** 2100,2103 **** --- 2215,2225 ---- #endif + #if defined (HAVE_LSTAT) + if (should_expand_dirname && lstat (local_dirname, &sb) == 0) + #else + if (should_expand_dirname && stat (local_dirname, &sb) == 0) + #endif + should_expand_dirname = 0; + if (should_expand_dirname) { *************** *** 2296,2300 **** rl_completion_func_t *orig_attempt_func; rl_icppfunc_t *orig_dir_func; ! const char *orig_rl_completer_word_break_characters; int r; --- 2418,2422 ---- rl_completion_func_t *orig_attempt_func; rl_icppfunc_t *orig_dir_func; ! /*const*/ char *orig_rl_completer_word_break_characters; int r; *************** *** 2453,2457 **** rl_quote_func_t *orig_quoting_function; ! rl_explicit_arg = 1; /* force `*' append */ orig_quoting_function = rl_filename_quoting_function; rl_filename_quoting_function = bash_glob_quote_filename; --- 2575,2580 ---- rl_quote_func_t *orig_quoting_function; ! if (rl_editing_mode == EMACS_EDITING_MODE) ! rl_explicit_arg = 1; /* force `*' append */ orig_quoting_function = rl_filename_quoting_function; rl_filename_quoting_function = bash_glob_quote_filename; *************** *** 2501,2504 **** --- 2624,2684 ---- #endif /* SPECIFIC_COMPLETION_FUNCTIONS */ + #if defined (VI_MODE) + /* Completion, from vi mode's point of view. This is a modified version of + rl_vi_complete which uses the bash globbing code to implement what POSIX + specifies, which is to append a `*' and attempt filename generation (which + has the side effect of expanding any globbing characters in the word). */ + static int + bash_vi_complete (count, key) + int count, key; + { + #if defined (SPECIFIC_COMPLETION_FUNCTIONS) + int p, r; + char *t; + + if ((rl_point < rl_end) && (!whitespace (rl_line_buffer[rl_point]))) + { + if (!whitespace (rl_line_buffer[rl_point + 1])) + rl_vi_end_word (1, 'E'); + rl_point++; + } + + /* Find boundaries of current word, according to vi definition of a + `bigword'. */ + t = 0; + if (rl_point > 0) + { + p = rl_point; + rl_vi_bWord (1, 'B'); + r = rl_point; + rl_point = p; + p = r; + + t = substring (rl_line_buffer, p, rl_point); + } + + if (t && glob_pattern_p (t) == 0) + rl_explicit_arg = 1; /* XXX - force glob_complete_word to append `*' */ + FREE (t); + + if (key == '*') /* Expansion and replacement. */ + r = bash_glob_expand_word (count, key); + else if (key == '=') /* List possible completions. */ + r = bash_glob_list_expansions (count, key); + else if (key == '\\') /* Standard completion */ + r = bash_glob_complete_word (count, key); + else + r = rl_complete (0, key); + + if (key == '*' || key == '\\') + rl_vi_start_inserting (key, 1, 1); + + return (r); + #else + return rl_vi_complete (count, key); + #endif /* !SPECIFIC_COMPLETION_FUNCTIONS */ + } + #endif /* VI_MODE */ + /* Filename quoting for completion. */ /* A function to strip unquoted quote characters (single quotes, double *************** *** 2680,2685 **** register int i; char *cmd; ! int old_line_count; ! int *ts; /* First, we need to find the right command to execute. This is tricky, --- 2860,2864 ---- register int i; char *cmd; ! sh_parser_state_t ps; /* First, we need to find the right command to execute. This is tricky, *************** *** 2699,2703 **** { rl_crlf (); ! internal_error ("bash_execute_unix_command: cannot find keymap for command"); rl_forced_update_display (); return 1; --- 2878,2882 ---- { rl_crlf (); ! internal_error (_("bash_execute_unix_command: cannot find keymap for command")); rl_forced_update_display (); return 1; *************** *** 2717,2728 **** rl_crlf (); /* move to a new line */ ! old_line_count = current_command_line_count; ! ts = save_token_state (); cmd = savestring (cmd); parse_and_execute (cmd, "bash_execute_unix_command", SEVAL_NOHIST); ! current_command_line_count = old_line_count; ! restore_token_state (ts); /* and restore the readline buffer and display after command execution. */ --- 2896,2905 ---- rl_crlf (); /* move to a new line */ ! save_parser_state (&ps); cmd = savestring (cmd); parse_and_execute (cmd, "bash_execute_unix_command", SEVAL_NOHIST); ! restore_parser_state (&ps); /* and restore the readline buffer and display after command execution. */ *************** *** 2750,2754 **** if (need_dquote && string[i] != '"') { ! builtin_error ("%s: first non-whitespace character is not `\"'", string); return -1; } --- 2927,2931 ---- if (need_dquote && string[i] != '"') { ! builtin_error (_("%s: first non-whitespace character is not `\"'"), string); return -1; } *************** *** 2779,2783 **** if (delim && string[i] != delim) { ! builtin_error ("%s: no closing `%c'", string, delim); return -1; } --- 2956,2960 ---- if (delim && string[i] != delim) { ! builtin_error (_("no closing `%c' in %s"), delim, string); return -1; } *************** *** 2813,2817 **** if (line[i] != ':') { ! builtin_error ("%s: missing colon separator", line); return -1; } --- 2990,2994 ---- if (line[i] != ':') { ! builtin_error (_("%s: missing colon separator"), line); return -1; } *************** *** 2829,2833 **** /* and bind the key sequence in the current keymap to a function that understands how to execute from CMD_XMAP */ ! rl_set_key (kseq, bash_execute_unix_command, kmap); return 0; --- 3006,3010 ---- /* and bind the key sequence in the current keymap to a function that understands how to execute from CMD_XMAP */ ! rl_bind_keyseq_in_map (kseq, bash_execute_unix_command, kmap); return 0; *************** *** 2845,2849 **** --- 3022,3030 ---- int qc; + #if 0 qc = (text[0] == '"' || text[0] == '\'') ? text[0] : 0; + #else + qc = rl_dispatching ? rl_completion_quote_character : 0; + #endif dfn = bash_dequote_filename ((char *)text, qc); m1 = rl_completion_matches (dfn, rl_filename_completion_function); *************** *** 2857,2860 **** --- 3038,3053 ---- (void)bash_ignore_filenames (m1); return m1; + } + + char * + bash_dequote_text (text) + const char *text; + { + char *dtxt; + int qc; + + qc = (text[0] == '"' || text[0] == '\'') ? text[0] : 0; + dtxt = bash_dequote_filename ((char *)text, qc); + return (dtxt); } #endif /* READLINE */ diff -aNrc2 bash-2.05b-patched/bashline.h bash-3.0/bashline.h *** bash-2.05b-patched/bashline.h Tue Mar 5 13:10:20 2002 --- bash-3.0/bashline.h Fri Apr 25 18:17:07 2003 *************** *** 34,37 **** --- 34,39 ---- extern int bind_keyseq_to_unix_command __P((char *)); + extern char **bash_default_completion __P((const char *, int, int, int, int)); + /* Used by programmable completion code. */ extern char *command_word_completion_function __P((const char *, int)); *************** *** 43,46 **** --- 45,49 ---- extern char **bash_directory_completion_matches __P((const char *)); + extern char *bash_dequote_text __P((const char *)); #endif /* _BASHLINE_H_ */ diff -aNrc2 bash-2.05b-patched/braces.c bash-3.0/braces.c *** bash-2.05b-patched/braces.c Mon May 6 13:50:40 2002 --- bash-3.0/braces.c Thu Dec 4 11:09:52 2003 *************** *** 1,5 **** /* braces.c -- code for doing word expansion in curly braces. */ ! /* Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 1,5 ---- /* braces.c -- code for doing word expansion in curly braces. */ ! /* Copyright (C) 1987-2003 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 40,46 **** --- 40,49 ---- #include "general.h" #include "shmbutil.h" + #include "chartypes.h" #define brace_whitespace(c) (!(c) || (c) == ' ' || (c) == '\t' || (c) == '\n') + #define BRACE_SEQ_SPECIFIER ".." + /* Basic idea: *************** *** 57,65 **** #if defined (__P) static int brace_gobbler __P((char *, size_t, int *, int)); ! static char **expand_amble __P((char *, size_t)); static char **array_concat __P((char **, char **)); #else static int brace_gobbler (); static char **expand_amble (); static char **array_concat (); #endif --- 60,72 ---- #if defined (__P) static int brace_gobbler __P((char *, size_t, int *, int)); ! static char **expand_amble __P((char *, size_t, int)); ! static char **expand_seqterm __P((char *, size_t)); ! static char **mkseq __P((int, int, int)); static char **array_concat __P((char **, char **)); #else static int brace_gobbler (); static char **expand_amble (); + static char **expand_seqterm (); + static char **mkseq(); static char **array_concat (); #endif *************** *** 118,124 **** if (text[j] == brace_arg_separator) ! { strvec_dispose (result); ! report_error ("missing `}'"); throw_to_top_level (); } --- 125,131 ---- if (text[j] == brace_arg_separator) ! { /* { */ strvec_dispose (result); ! report_error ("no closing `%c' in %s", '}', text); throw_to_top_level (); } *************** *** 162,181 **** } ! if (!amble[j]) { ! free (amble); ! free (preamble); ! result[0] = savestring (text); ! return (result); } #endif /* SHELL */ ! postamble = &text[i + 1]; ! ! tack = expand_amble (amble, alen); result = array_concat (result, tack); free (amble); strvec_dispose (tack); tack = brace_expand (postamble); result = array_concat (result, tack); --- 169,195 ---- } ! if (amble[j] == 0) { ! tack = expand_seqterm (amble, alen); ! if (tack) ! goto add_tack; ! else ! { ! free (amble); ! free (preamble); ! result[0] = savestring (text); ! return (result); ! } } #endif /* SHELL */ ! tack = expand_amble (amble, alen, 0); ! add_tack: result = array_concat (result, tack); free (amble); strvec_dispose (tack); + postamble = text + i + 1; + tack = brace_expand (postamble); result = array_concat (result, tack); *************** *** 190,196 **** need it. */ static char ** ! expand_amble (text, tlen) char *text; size_t tlen; { char **result, **partial; --- 204,211 ---- need it. */ static char ** ! expand_amble (text, tlen, flags) char *text; size_t tlen; + int flags; { char **result, **partial; *************** *** 221,227 **** else { ! register int lr = strvec_len (result); ! register int lp = strvec_len (partial); ! register int j; result = strvec_resize (result, lp + lr + 1); --- 236,243 ---- else { ! register int lr, lp, j; ! ! lr = strvec_len (result); ! lp = strvec_len (partial); result = strvec_resize (result, lp + lr + 1); *************** *** 240,243 **** --- 256,361 ---- } + #define ST_BAD 0 + #define ST_INT 1 + #define ST_CHAR 2 + + static char ** + mkseq (start, end, type) + int start, end, type; + { + int n, incr, i; + char **result, *t; + + n = abs (end - start) + 1; + result = strvec_create (n + 1); + + incr = (start < end) ? 1 : -1; + + /* Make sure we go through the loop at least once, so {3..3} prints `3' */ + i = 0; + n = start; + do + { + if (type == ST_INT) + result[i++] = itos (n); + else + { + t = (char *)xmalloc (2); + t[0] = n; + t[1] = '\0'; + result[i++] = t; + } + if (n == end) + break; + n += incr; + } + while (1); + + result[i] = (char *)0; + return (result); + } + + static char ** + expand_seqterm (text, tlen) + char *text; + size_t tlen; + { + char *t, *lhs, *rhs; + int i, lhs_t, rhs_t, lhs_v, rhs_v; + intmax_t tl, tr; + char **result; + + t = strstr (text, BRACE_SEQ_SPECIFIER); + if (t == 0) + return ((char **)NULL); + + i = t - text; /* index of start of BRACE_SEQ_SPECIFIER */ + lhs = substring (text, 0, i); + rhs = substring (text, i + sizeof(BRACE_SEQ_SPECIFIER) - 1, tlen); + + if (lhs[0] == 0 || rhs[0] == 0) + { + free (lhs); + free (rhs); + return ((char **)NULL); + } + + /* Now figure out whether LHS and RHS are integers or letters. Both + sides have to match. */ + lhs_t = (legal_number (lhs, &tl)) ? ST_INT : + ((ISALPHA (lhs[0]) && lhs[1] == 0) ? ST_CHAR : ST_BAD); + rhs_t = (legal_number (rhs, &tr)) ? ST_INT : + ((ISALPHA (rhs[0]) && rhs[1] == 0) ? ST_CHAR : ST_BAD); + + if (lhs_t != rhs_t || lhs_t == ST_BAD || rhs_t == ST_BAD) + { + free (lhs); + free (rhs); + return ((char **)NULL); + } + + /* OK, we have something. It's either a sequence of integers, ascending + or descending, or a sequence or letters, ditto. Generate the sequence, + put it into a string vector, and return it. */ + + if (lhs_t == ST_CHAR) + { + lhs_v = lhs[0]; + rhs_v = rhs[0]; + } + else + { + lhs_v = tl; /* integer truncation */ + rhs_v = tr; + } + + result = mkseq (lhs_v, rhs_v, lhs_t); + + free (lhs); + free (rhs); + + return (result); + } + /* Start at INDEX, and skip characters in TEXT. Set INDEX to the index of the character matching SATISFY. This understands about *************** *** 279,282 **** --- 397,410 ---- } + #if defined (SHELL) + /* If compiling for the shell, treat ${...} like \{...} */ + if (c == '$' && text[i+1] == '{' && quoted != '\'') /* } */ + { + pass_next = 1; + i++; + continue; + } + #endif + if (quoted) { *************** *** 319,327 **** continue; } ! #if defined (SHELL) ! /* If this is being compiled as part of bash, ignore the `{' ! in a `${}' construct */ ! if ((c != '{') || i == 0 || (text[i - 1] != '$')) ! #endif /* SHELL */ break; } --- 447,451 ---- continue; } ! break; } *************** *** 369,374 **** for (j = 0; j < len2; j++) { ! result[len] = ! (char *)xmalloc (1 + strlen_1 + strlen (arr2[j])); strcpy (result[len], arr1[i]); strcpy (result[len] + strlen_1, arr2[j]); --- 493,497 ---- for (j = 0; j < len2; j++) { ! result[len] = (char *)xmalloc (1 + strlen_1 + strlen (arr2[j])); strcpy (result[len], arr1[i]); strcpy (result[len] + strlen_1, arr2[j]); diff -aNrc2 bash-2.05b-patched/builtins/Makefile.in bash-3.0/builtins/Makefile.in *** bash-2.05b-patched/builtins/Makefile.in Tue Apr 23 09:24:23 2002 --- bash-3.0/builtins/Makefile.in Wed Jan 21 14:22:50 2004 *************** *** 1,5 **** # This Makefile for building libbuiltins.a is in -*- text -*- for Emacs. # ! # Copyright (C) 1996 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify --- 1,5 ---- # This Makefile for building libbuiltins.a is in -*- text -*- for Emacs. # ! # Copyright (C) 1996-2003 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify *************** *** 17,20 **** --- 17,26 ---- # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA. + PACKAGE = @PACKAGE@ + PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ + PACKAGE_NAME = @PACKAGE_NAME@ + PACKAGE_STRING = @PACKAGE_STRING@ + PACKAGE_VERSION = @PACKAGE_VERSION@ + # SHELL = @MAKE_SHELL@ *************** *** 36,39 **** --- 42,46 ---- includedir = @includedir@ datadir = @datadir@ + localedir = $(datadir)/locale # Support an alternate destination root directory for package building *************** *** 44,47 **** --- 51,56 ---- BUILD_DIR = @BUILD_DIR@ + LIBBUILD = ${BUILD_DIR}/lib + PROFILE_FLAGS = @PROFILE_FLAGS@ CFLAGS = @CFLAGS@ *************** *** 64,71 **** RL_INCLUDEDIR = @RL_INCLUDEDIR@ HELPDIR = @HELPDIR@ MKDIRS = ${topdir}/support/mkdirs ! INCLUDES = -I. -I.. @RL_INCLUDE@ -I$(topdir) -I$(BASHINCDIR) -I$(topdir)/lib -I$(srcdir) BASE_CCFLAGS = ${PROFILE_FLAGS} $(DEFS) $(LOCAL_DEFS) $(SYSTEM_FLAGS) \ --- 73,85 ---- RL_INCLUDEDIR = @RL_INCLUDEDIR@ + INTL_LIBSRC = ${topdir}/lib/intl + INTL_BUILDDIR = ${LIBBUILD}/intl + INTL_INC = @INTL_INC@ + LIBINTL_H = @LIBINTL_H@ + HELPDIR = @HELPDIR@ MKDIRS = ${topdir}/support/mkdirs ! INCLUDES = -I. -I.. @RL_INCLUDE@ -I$(topdir) -I$(BASHINCDIR) -I$(topdir)/lib -I$(srcdir) ${INTL_INC} BASE_CCFLAGS = ${PROFILE_FLAGS} $(DEFS) $(LOCAL_DEFS) $(SYSTEM_FLAGS) \ *************** *** 107,111 **** DEFSRC = $(srcdir)/alias.def $(srcdir)/bind.def $(srcdir)/break.def \ ! $(srcdir)/builtin.def $(srcdir)/cd.def $(srcdir)/colon.def \ $(srcdir)/command.def $(srcdir)/declare.def $(srcdir)/echo.def \ $(srcdir)/enable.def $(srcdir)/eval.def $(srcdir)/getopts.def \ --- 121,126 ---- DEFSRC = $(srcdir)/alias.def $(srcdir)/bind.def $(srcdir)/break.def \ ! $(srcdir)/builtin.def $(srcdir)/caller.def \ ! $(srcdir)/cd.def $(srcdir)/colon.def \ $(srcdir)/command.def $(srcdir)/declare.def $(srcdir)/echo.def \ $(srcdir)/enable.def $(srcdir)/eval.def $(srcdir)/getopts.def \ *************** *** 125,129 **** OFILES = builtins.o \ ! alias.o bind.o break.o builtin.o cd.o colon.o command.o \ common.o declare.o echo.o enable.o eval.o evalfile.o \ evalstring.o exec.o \ --- 140,144 ---- OFILES = builtins.o \ ! alias.o bind.o break.o builtin.o caller.o cd.o colon.o command.o \ common.o declare.o echo.o enable.o eval.o evalfile.o \ evalstring.o exec.o \ *************** *** 215,222 **** --- 230,247 ---- $(OFILES): $(MKBUILTINS) ../config.h + ../version.h: ../config.h ../Makefile Makefile + -( cd ${BUILD_DIR} && ${MAKE} ${MFLAGS} version.h ) + + # maintainer special - for now + po: builtins.c + xgettext -L C -o $(topdir)/po/builtins.pot --keyword='N_' builtins.c 2>/dev/null + + # dependencies + alias.o: alias.def bind.o: bind.def break.o: break.def builtin.o: builtin.def + caller.o: caller.def cd.o: cd.def colon.o: colon.def *************** *** 264,268 **** bashgetopt.o: $(topdir)/unwind_prot.h $(topdir)/dispose_cmd.h bashgetopt.o: $(topdir)/make_cmd.h $(topdir)/subst.h $(topdir)/sig.h ! bashgetopt.o: $(topdir)/pathnames.h $(topdir)/externs.h $(srcdir)/common.h bashgetopt.o: $(BASHINCDIR)/chartypes.h common.o: $(topdir)/bashtypes.h $(BASHINCDIR)/posixstat.h $(topdir)/bashansi.h $(BASHINCDIR)/ansi_stdlib.h --- 289,293 ---- bashgetopt.o: $(topdir)/unwind_prot.h $(topdir)/dispose_cmd.h bashgetopt.o: $(topdir)/make_cmd.h $(topdir)/subst.h $(topdir)/sig.h ! bashgetopt.o: ../pathnames.h $(topdir)/externs.h $(srcdir)/common.h bashgetopt.o: $(BASHINCDIR)/chartypes.h common.o: $(topdir)/bashtypes.h $(BASHINCDIR)/posixstat.h $(topdir)/bashansi.h $(BASHINCDIR)/ansi_stdlib.h *************** *** 275,279 **** common.o: $(topdir)/builtins.h $(topdir)/dispose_cmd.h $(topdir)/make_cmd.h common.o: $(topdir)/subst.h $(topdir)/execute_cmd.h $(topdir)/error.h ! common.o: $(topdir)/externs.h $(topdir)/pathnames.h ./builtext.h common.o: $(BASHINCDIR)/chartypes.h evalfile.o: $(topdir)/bashtypes.h $(BASHINCDIR)/posixstat.h ${BASHINCDIR}/filecntl.h --- 300,304 ---- common.o: $(topdir)/builtins.h $(topdir)/dispose_cmd.h $(topdir)/make_cmd.h common.o: $(topdir)/subst.h $(topdir)/execute_cmd.h $(topdir)/error.h ! common.o: $(topdir)/externs.h ../pathnames.h ./builtext.h common.o: $(BASHINCDIR)/chartypes.h evalfile.o: $(topdir)/bashtypes.h $(BASHINCDIR)/posixstat.h ${BASHINCDIR}/filecntl.h *************** *** 284,288 **** evalfile.o: $(topdir)/unwind_prot.h $(topdir)/dispose_cmd.h evalfile.o: $(topdir)/make_cmd.h $(topdir)/subst.h $(topdir)/sig.h ! evalfile.o: $(topdir)/pathnames.h $(topdir)/externs.h evalfile.o: $(topdir)/jobs.h $(topdir)/builtins.h $(topdir)/flags.h evalfile.o: $(topdir)/input.h $(topdir)/execute_cmd.h --- 309,313 ---- evalfile.o: $(topdir)/unwind_prot.h $(topdir)/dispose_cmd.h evalfile.o: $(topdir)/make_cmd.h $(topdir)/subst.h $(topdir)/sig.h ! evalfile.o: ../pathnames.h $(topdir)/externs.h evalfile.o: $(topdir)/jobs.h $(topdir)/builtins.h $(topdir)/flags.h evalfile.o: $(topdir)/input.h $(topdir)/execute_cmd.h *************** *** 304,309 **** getopt.o: $(topdir)/quit.h $(BASHINCDIR)/maxpath.h $(topdir)/unwind_prot.h getopt.o: $(topdir)/dispose_cmd.h $(topdir)/make_cmd.h $(topdir)/subst.h ! getopt.o: $(topdir)/sig.h $(topdir)/pathnames.h $(topdir)/externs.h ! getopt.o: $(srcdir)/getopt.h mkbuiltins.o: ../config.h $(topdir)/bashtypes.h $(BASHINCDIR)/posixstat.h mkbuiltins.o: ${BASHINCDIR}/filecntl.h --- 329,334 ---- getopt.o: $(topdir)/quit.h $(BASHINCDIR)/maxpath.h $(topdir)/unwind_prot.h getopt.o: $(topdir)/dispose_cmd.h $(topdir)/make_cmd.h $(topdir)/subst.h ! getopt.o: $(topdir)/sig.h ../pathnames.h $(topdir)/externs.h ! getopt.o: $(srcdir)/getopt.h mkbuiltins.o: ../config.h $(topdir)/bashtypes.h $(BASHINCDIR)/posixstat.h mkbuiltins.o: ${BASHINCDIR}/filecntl.h *************** *** 332,335 **** --- 357,366 ---- builtin.o: $(topdir)/shell.h $(topdir)/syntax.h $(topdir)/unwind_prot.h $(topdir)/variables.h $(topdir)/conftypes.h builtin.o: $(srcdir)/bashgetopt.h + caller.o: $(topdir)/command.h ../config.h $(BASHINCDIR)/memalloc.h $(topdir)/error.h + caller.o: $(topdir)/general.h $(topdir)/xmalloc.h $(topdir)/quit.h $(topdir)/dispose_cmd.h + caller.o: $(topdir)/make_cmd.h $(topdir)/subst.h $(topdir)/externs.h + caller.o: $(topdir)/shell.h $(topdir)/syntax.h $(topdir)/unwind_prot.h $(topdir)/variables.h $(topdir)/conftypes.h + caller.o: $(srcdir)/common.h $(BASHINCDIR)/maxpath.h ./builtext.h + caller.o: ${BASHINCDIR}/chartypes.h $(topdir)/bashtypes.h cd.o: $(topdir)/command.h ../config.h $(BASHINCDIR)/memalloc.h $(topdir)/error.h cd.o: $(topdir)/general.h $(topdir)/xmalloc.h $(topdir)/quit.h $(topdir)/dispose_cmd.h *************** *** 348,351 **** --- 379,383 ---- declare.o: $(topdir)/shell.h $(topdir)/syntax.h $(topdir)/unwind_prot.h $(topdir)/variables.h $(topdir)/conftypes.h declare.o: $(topdir)/arrayfunc.h $(srcdir)/bashgetopt.h + declare.o: ./builtext.h echo.o: $(topdir)/command.h ../config.h $(BASHINCDIR)/memalloc.h $(topdir)/error.h echo.o: $(topdir)/general.h $(topdir)/xmalloc.h $(topdir)/subst.h $(topdir)/externs.h *************** *** 363,367 **** eval.o: $(topdir)/error.h $(topdir)/general.h $(topdir)/xmalloc.h eval.o: $(topdir)/quit.h $(topdir)/dispose_cmd.h $(topdir)/make_cmd.h ! eval.o: $(topdir)/subst.h $(topdir)/externs.h eval.o: $(topdir)/shell.h $(topdir)/syntax.h $(topdir)/unwind_prot.h $(topdir)/variables.h $(topdir)/conftypes.h eval.o: $(BASHINCDIR)/maxpath.h --- 395,399 ---- eval.o: $(topdir)/error.h $(topdir)/general.h $(topdir)/xmalloc.h eval.o: $(topdir)/quit.h $(topdir)/dispose_cmd.h $(topdir)/make_cmd.h ! eval.o: $(topdir)/subst.h $(topdir)/externs.h eval.o: $(topdir)/shell.h $(topdir)/syntax.h $(topdir)/unwind_prot.h $(topdir)/variables.h $(topdir)/conftypes.h eval.o: $(BASHINCDIR)/maxpath.h *************** *** 378,382 **** exit.o: $(topdir)/error.h $(topdir)/general.h $(topdir)/xmalloc.h exit.o: $(topdir)/quit.h $(topdir)/dispose_cmd.h $(topdir)/make_cmd.h ! exit.o: $(topdir)/subst.h $(topdir)/externs.h exit.o: $(topdir)/shell.h $(topdir)/syntax.h $(topdir)/unwind_prot.h $(topdir)/variables.h $(topdir)/conftypes.h exit.o: $(BASHINCDIR)/maxpath.h ./builtext.h --- 410,414 ---- exit.o: $(topdir)/error.h $(topdir)/general.h $(topdir)/xmalloc.h exit.o: $(topdir)/quit.h $(topdir)/dispose_cmd.h $(topdir)/make_cmd.h ! exit.o: $(topdir)/subst.h $(topdir)/externs.h exit.o: $(topdir)/shell.h $(topdir)/syntax.h $(topdir)/unwind_prot.h $(topdir)/variables.h $(topdir)/conftypes.h exit.o: $(BASHINCDIR)/maxpath.h ./builtext.h *************** *** 417,421 **** history.o: $(topdir)/error.h $(topdir)/general.h $(topdir)/xmalloc.h history.o: $(topdir)/quit.h $(topdir)/dispose_cmd.h $(topdir)/make_cmd.h ! history.o: $(topdir)/subst.h $(topdir)/externs.h history.o: ${BASHINCDIR}/filecntl.h $(topdir)/shell.h $(topdir)/syntax.h $(topdir)/unwind_prot.h history.o: $(topdir)/variables.h $(topdir)/conftypes.h $(topdir)/bashhist.h $(BASHINCDIR)/maxpath.h --- 449,453 ---- history.o: $(topdir)/error.h $(topdir)/general.h $(topdir)/xmalloc.h history.o: $(topdir)/quit.h $(topdir)/dispose_cmd.h $(topdir)/make_cmd.h ! history.o: $(topdir)/subst.h $(topdir)/externs.h history.o: ${BASHINCDIR}/filecntl.h $(topdir)/shell.h $(topdir)/syntax.h $(topdir)/unwind_prot.h history.o: $(topdir)/variables.h $(topdir)/conftypes.h $(topdir)/bashhist.h $(BASHINCDIR)/maxpath.h *************** *** 427,431 **** jobs.o: $(topdir)/command.h ../config.h $(BASHINCDIR)/memalloc.h $(topdir)/error.h jobs.o: $(topdir)/general.h $(topdir)/xmalloc.h $(topdir)/quit.h $(srcdir)/bashgetopt.h ! jobs.o: $(BASHINCDIR)/maxpath.h $(topdir)/externs.h jobs.o: $(topdir)/dispose_cmd.h $(topdir)/make_cmd.h $(topdir)/subst.h jobs.o: $(topdir)/shell.h $(topdir)/syntax.h $(topdir)/unwind_prot.h $(topdir)/variables.h $(topdir)/conftypes.h --- 459,463 ---- jobs.o: $(topdir)/command.h ../config.h $(BASHINCDIR)/memalloc.h $(topdir)/error.h jobs.o: $(topdir)/general.h $(topdir)/xmalloc.h $(topdir)/quit.h $(srcdir)/bashgetopt.h ! jobs.o: $(BASHINCDIR)/maxpath.h $(topdir)/externs.h jobs.o: $(topdir)/dispose_cmd.h $(topdir)/make_cmd.h $(topdir)/subst.h jobs.o: $(topdir)/shell.h $(topdir)/syntax.h $(topdir)/unwind_prot.h $(topdir)/variables.h $(topdir)/conftypes.h *************** *** 444,448 **** printf.o: $(topdir)/quit.h $(topdir)/dispose_cmd.h $(topdir)/make_cmd.h printf.o: $(topdir)/subst.h $(topdir)/externs.h $(topdir)/sig.h ! printf.o: $(topdir)/pathnames.h $(topdir)/shell.h $(topdir)/syntax.h $(topdir)/unwind_prot.h printf.o: $(topdir)/variables.h $(topdir)/conftypes.h $(BASHINCDIR)/stdc.h $(srcdir)/bashgetopt.h printf.o: $(topdir)/bashtypes.h ${srcdir}/common.h $(BASHINCDIR)/chartypes.h --- 476,480 ---- printf.o: $(topdir)/quit.h $(topdir)/dispose_cmd.h $(topdir)/make_cmd.h printf.o: $(topdir)/subst.h $(topdir)/externs.h $(topdir)/sig.h ! printf.o: ../pathnames.h $(topdir)/shell.h $(topdir)/syntax.h $(topdir)/unwind_prot.h printf.o: $(topdir)/variables.h $(topdir)/conftypes.h $(BASHINCDIR)/stdc.h $(srcdir)/bashgetopt.h printf.o: $(topdir)/bashtypes.h ${srcdir}/common.h $(BASHINCDIR)/chartypes.h *************** *** 450,454 **** pushd.o: $(topdir)/error.h $(topdir)/general.h $(topdir)/xmalloc.h pushd.o: $(topdir)/quit.h $(topdir)/dispose_cmd.h $(topdir)/make_cmd.h ! pushd.o: $(topdir)/subst.h $(topdir)/externs.h pushd.o: $(topdir)/shell.h $(topdir)/syntax.h $(topdir)/unwind_prot.h $(topdir)/variables.h $(topdir)/conftypes.h pushd.o: $(BASHINCDIR)/maxpath.h $(srcdir)/common.h ./builtext.h --- 482,486 ---- pushd.o: $(topdir)/error.h $(topdir)/general.h $(topdir)/xmalloc.h pushd.o: $(topdir)/quit.h $(topdir)/dispose_cmd.h $(topdir)/make_cmd.h ! pushd.o: $(topdir)/subst.h $(topdir)/externs.h pushd.o: $(topdir)/shell.h $(topdir)/syntax.h $(topdir)/unwind_prot.h $(topdir)/variables.h $(topdir)/conftypes.h pushd.o: $(BASHINCDIR)/maxpath.h $(srcdir)/common.h ./builtext.h *************** *** 475,479 **** setattr.o: $(topdir)/quit.h $(srcdir)/common.h $(srcdir)/bashgetopt.h setattr.o: $(topdir)/dispose_cmd.h $(topdir)/make_cmd.h $(topdir)/subst.h ! setattr.o: $(topdir)/externs.h setattr.o: $(topdir)/shell.h $(topdir)/syntax.h $(topdir)/unwind_prot.h $(topdir)/variables.h $(topdir)/conftypes.h setattr.o: $(topdir)/arrayfunc.h --- 507,511 ---- setattr.o: $(topdir)/quit.h $(srcdir)/common.h $(srcdir)/bashgetopt.h setattr.o: $(topdir)/dispose_cmd.h $(topdir)/make_cmd.h $(topdir)/subst.h ! setattr.o: $(topdir)/externs.h setattr.o: $(topdir)/shell.h $(topdir)/syntax.h $(topdir)/unwind_prot.h $(topdir)/variables.h $(topdir)/conftypes.h setattr.o: $(topdir)/arrayfunc.h *************** *** 488,492 **** source.o: $(topdir)/subst.h $(topdir)/externs.h $(BASHINCDIR)/maxpath.h source.o: $(topdir)/shell.h $(topdir)/syntax.h $(topdir)/unwind_prot.h $(topdir)/variables.h $(topdir)/conftypes.h ! source.o: $(srcdir)/bashgetopt.h suspend.o: $(topdir)/command.h ../config.h $(BASHINCDIR)/memalloc.h suspend.o: $(topdir)/error.h $(topdir)/general.h $(topdir)/xmalloc.h --- 520,524 ---- source.o: $(topdir)/subst.h $(topdir)/externs.h $(BASHINCDIR)/maxpath.h source.o: $(topdir)/shell.h $(topdir)/syntax.h $(topdir)/unwind_prot.h $(topdir)/variables.h $(topdir)/conftypes.h ! source.o: $(srcdir)/bashgetopt.h $(topdir)/flags.h $(topdir)/trap.h suspend.o: $(topdir)/command.h ../config.h $(BASHINCDIR)/memalloc.h suspend.o: $(topdir)/error.h $(topdir)/general.h $(topdir)/xmalloc.h *************** *** 542,546 **** shopt.o: $(srcdir)/common.h $(srcdir)/bashgetopt.h ! complete.o: ../config.h complete.o: ${topdir}/shell.h $(topdir)/syntax.h ${topdir}/bashjmp.h ${BASHINCDIR}/posixjmp.h ${topdir}/sig.h complete.o: ${topdir}/unwind_prot.h ${topdir}/variables.h --- 574,578 ---- shopt.o: $(srcdir)/common.h $(srcdir)/bashgetopt.h ! complete.o: ../config.h complete.o: ${topdir}/shell.h $(topdir)/syntax.h ${topdir}/bashjmp.h ${BASHINCDIR}/posixjmp.h ${topdir}/sig.h complete.o: ${topdir}/unwind_prot.h ${topdir}/variables.h *************** *** 551,552 **** --- 583,621 ---- #bind.o: $(RL_LIBSRC)chardefs.h $(RL_LIBSRC)readline.h $(RL_LIBSRC)keymaps.h + + # libintl dependencies + bind.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + break.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + caller.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + cd.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + common.c: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + complete.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + declare.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + enable.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + evalfile.c: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + exec.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + exit.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + fc.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + fg_bg.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + getopt.c: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + hash.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + help.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + history.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + inlib.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + jobs.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + kill.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + let.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + mkbuiltins.c: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + printf.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + pushd.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + read.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + return.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + set.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + setattr.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + shift.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + shopt.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + source.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + suspend.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + type.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + ulimit.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h + umask.o: ${topdir}/bashintl.h ${LIBINTL_H} $(BASHINCDIR)/gettext.h diff -aNrc2 bash-2.05b-patched/builtins/alias.def bash-3.0/builtins/alias.def *** bash-2.05b-patched/builtins/alias.def Tue Mar 19 11:41:57 2002 --- bash-3.0/builtins/alias.def Thu Apr 22 10:48:43 2004 *************** *** 2,6 **** It implements the builtins "alias" and "unalias" in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtins "alias" and "unalias" in Bash. ! Copyright (C) 1987-2004 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 45,48 **** --- 45,49 ---- # include "../bashansi.h" + # include "../bashintl.h" # include *************** *** 52,56 **** # include "bashgetopt.h" ! static void print_alias __P((alias_t *)); /* Hack the alias command in a Korn shell way. */ --- 53,62 ---- # include "bashgetopt.h" ! /* Flags for print_alias */ ! #define AL_REUSABLE 0x01 ! ! static void print_alias __P((alias_t *, int)); ! ! extern int posixly_correct; /* Hack the alias command in a Korn shell way. */ *************** *** 59,66 **** WORD_LIST *list; { ! int any_failed, offset, pflag; alias_t **alias_list, *t; char *name, *value; pflag = 0; reset_internal_getopt (); --- 65,73 ---- WORD_LIST *list; { ! int any_failed, offset, pflag, dflags; alias_t **alias_list, *t; char *name, *value; + dflags = posixly_correct ? 0 : AL_REUSABLE; pflag = 0; reset_internal_getopt (); *************** *** 71,74 **** --- 78,82 ---- case 'p': pflag = 1; + dflags |= AL_REUSABLE; break; default: *************** *** 91,95 **** for (offset = 0; alias_list[offset]; offset++) ! print_alias (alias_list[offset]); free (alias_list); /* XXX - Do not free the strings. */ --- 99,103 ---- for (offset = 0; alias_list[offset]; offset++) ! print_alias (alias_list[offset], dflags); free (alias_list); /* XXX - Do not free the strings. */ *************** *** 112,116 **** value = name + offset + 1; ! add_alias (name, value); } else --- 120,130 ---- value = name + offset + 1; ! if (legal_alias_name (name, 0) == 0) ! { ! builtin_error (_("`%s': invalid alias name"), name); ! any_failed++; ! } ! else ! add_alias (name, value); } else *************** *** 118,122 **** t = find_alias (name); if (t) ! print_alias (t); else { --- 132,136 ---- t = find_alias (name); if (t) ! print_alias (t, dflags); else { *************** *** 135,139 **** $FUNCTION unalias_builtin $DEPENDS_ON ALIAS ! $SHORT_DOC unalias [-a] [name ...] Remove NAMEs from the list of defined aliases. If the -a option is given, then remove all alias definitions. --- 149,153 ---- $FUNCTION unalias_builtin $DEPENDS_ON ALIAS ! $SHORT_DOC unalias [-a] name [name ...] Remove NAMEs from the list of defined aliases. If the -a option is given, then remove all alias definitions. *************** *** 172,175 **** --- 186,195 ---- } + if (list == 0) + { + builtin_usage (); + return (EX_USAGE); + } + aflag = 0; while (list) *************** *** 193,203 **** /* Output ALIAS in such a way as to allow it to be read back in. */ static void ! print_alias (alias) alias_t *alias; { char *value; value = sh_single_quote (alias->value); ! printf ("alias %s=%s\n", alias->name, value); free (value); --- 213,226 ---- /* Output ALIAS in such a way as to allow it to be read back in. */ static void ! print_alias (alias, flags) alias_t *alias; + int flags; { char *value; value = sh_single_quote (alias->value); ! if (flags & AL_REUSABLE) ! printf ("alias "); ! printf ("%s=%s\n", alias->name, value); free (value); diff -aNrc2 bash-2.05b-patched/builtins/bind.def bash-3.0/builtins/bind.def *** bash-2.05b-patched/builtins/bind.def Thu Apr 4 11:24:15 2002 --- bash-3.0/builtins/bind.def Fri Dec 19 17:56:34 2003 *************** *** 2,6 **** It implements the builtin "bind" in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtin "bind" in Bash. ! Copyright (C) 1987-2003 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 73,76 **** --- 73,78 ---- #include + #include "../bashintl.h" + #include "../shell.h" #include "../bashline.h" *************** *** 190,194 **** if (!kmap) { ! builtin_error ("`%s': invalid keymap name", map_name); BIND_RETURN (EXECUTION_FAILURE); } --- 192,196 ---- if (!kmap) { ! builtin_error (_("`%s': invalid keymap name"), map_name); BIND_RETURN (EXECUTION_FAILURE); } *************** *** 229,233 **** if (rl_read_init_file (initfile) != 0) { ! builtin_error ("%s: cannot read: %s", initfile, strerror (errno)); BIND_RETURN (EXECUTION_FAILURE); } --- 231,235 ---- if (rl_read_init_file (initfile) != 0) { ! builtin_error (_("%s: cannot read: %s"), initfile, strerror (errno)); BIND_RETURN (EXECUTION_FAILURE); } *************** *** 244,248 **** if (rl_set_key (remove_seq, (rl_command_func_t *)NULL, rl_get_keymap ()) != 0) { ! builtin_error ("`%s': cannot unbind", remove_seq); BIND_RETURN (EXECUTION_FAILURE); } --- 246,250 ---- if (rl_set_key (remove_seq, (rl_command_func_t *)NULL, rl_get_keymap ()) != 0) { ! builtin_error (_("`%s': cannot unbind"), remove_seq); BIND_RETURN (EXECUTION_FAILURE); } *************** *** 279,283 **** if (function == 0) { ! builtin_error ("`%s': unknown function name", name); return EXECUTION_FAILURE; } --- 281,285 ---- if (function == 0) { ! builtin_error (_("`%s': unknown function name"), name); return EXECUTION_FAILURE; } *************** *** 287,295 **** if (!keyseqs) { ! printf ("%s is not bound to any keys.\n", name); return EXECUTION_FAILURE; } ! printf ("%s can be invoked via ", name); for (j = 0; j < 5 && keyseqs[j]; j++) printf ("\"%s\"%s", keyseqs[j], keyseqs[j + 1] ? ", " : ".\n"); --- 289,297 ---- if (!keyseqs) { ! printf (_("%s is not bound to any keys.\n"), name); return EXECUTION_FAILURE; } ! printf (_("%s can be invoked via "), name); for (j = 0; j < 5 && keyseqs[j]; j++) printf ("\"%s\"%s", keyseqs[j], keyseqs[j + 1] ? ", " : ".\n"); diff -aNrc2 bash-2.05b-patched/builtins/break.def bash-3.0/builtins/break.def *** bash-2.05b-patched/builtins/break.def Tue Mar 19 14:03:59 2002 --- bash-3.0/builtins/break.def Fri Dec 19 17:56:38 2003 *************** *** 2,6 **** It implements the builtins "break" and "continue" in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtins "break" and "continue" in Bash. ! Copyright (C) 1987-2003 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 37,40 **** --- 37,42 ---- #endif + #include "../bashintl.h" + #include "../shell.h" #include "common.h" *************** *** 124,128 **** #if defined (BREAK_COMPLAINS) if (loop_level == 0 && posixly_correct == 0) ! builtin_error ("only meaningful in a `for', `while', or `until' loop"); #endif /* BREAK_COMPLAINS */ --- 126,130 ---- #if defined (BREAK_COMPLAINS) if (loop_level == 0 && posixly_correct == 0) ! builtin_error (_("only meaningful in a `for', `while', or `until' loop")); #endif /* BREAK_COMPLAINS */ diff -aNrc2 bash-2.05b-patched/builtins/builtin.def bash-3.0/builtins/builtin.def *** bash-2.05b-patched/builtins/builtin.def Mon Apr 8 13:19:08 2002 --- bash-3.0/builtins/builtin.def Thu Dec 4 10:32:13 2003 *************** *** 69,73 **** if (!function) { ! builtin_error ("%s: not a shell builtin", command); return (EXECUTION_FAILURE); } --- 69,73 ---- if (!function) { ! sh_notbuiltin (command); return (EXECUTION_FAILURE); } diff -aNrc2 bash-2.05b-patched/builtins/caller.def bash-3.0/builtins/caller.def *** bash-2.05b-patched/builtins/caller.def Wed Dec 31 19:00:00 1969 --- bash-3.0/builtins/caller.def Fri Dec 19 17:56:47 2003 *************** *** 0 **** --- 1,147 ---- + This file is caller.def, from which is created caller.c. It implements the + builtin "caller" in Bash. + + Copyright (C) 2002-2003 Rocky Bernstein for Free Software Foundation, Inc. + + This file is part of GNU Bash, the Bourne Again SHell. + + Bash is free software; you can 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. + + Bash is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + + You should have received a copy of the GNU General Public License along + with Bash; see the file COPYING. If not, write to the Free Software + Foundation, 59 Temple Place, Suite 330, Boston, MA 02111 USA. + + $PRODUCES caller.c + + $BUILTIN caller + $FUNCTION caller_builtin + $DEPENDS_ON DEBUGGER + $SHORT_DOC caller [EXPR] + + Returns the context of the current subroutine call. + + Without EXPR, returns returns "$line $filename". With EXPR, + returns "$line $subroutine $filename"; this extra information + can be used used to provide a stack trace. + + The value of EXPR indicates how many call frames to go back before the + current one; the top frame is frame 0. + $END + + #include + #include + #include "chartypes.h" + #include "bashtypes.h" + + #if defined (HAVE_UNISTD_H) + # ifdef _MINIX + # include + # endif + # include + #endif + + #include + + #include "../bashintl.h" + + #include "../shell.h" + #include "common.h" + #include "builtext.h" + + #ifdef LOADABLE_BUILTIN + # include "builtins.h" + #endif + + #if !defined (errno) + extern int errno; + #endif /* !errno */ + + int + caller_builtin (list) + WORD_LIST *list; + { + #if !defined (ARRAY_VARS) + printf ("1 NULL\n"); + return (EXECUTION_FAILURE); + #else + SHELL_VAR *funcname_v, *bash_source_v, *bash_lineno_v; + ARRAY *funcname_a, *bash_source_a, *bash_lineno_a; + char *funcname_s, *source_s, *lineno_s; + ARRAY_ELEMENT *ae; + intmax_t num; + + GET_ARRAY_FROM_VAR ("FUNCNAME", funcname_v, funcname_a); + GET_ARRAY_FROM_VAR ("BASH_SOURCE", bash_source_v, bash_source_a); + GET_ARRAY_FROM_VAR ("BASH_LINENO", bash_lineno_v, bash_lineno_a); + + if (bash_lineno_a == 0 || array_empty (bash_lineno_a)) + return (EXECUTION_FAILURE); + + if (bash_source_a == 0 || array_empty (bash_source_a)) + return (EXECUTION_FAILURE); + + /* If there is no argument list, then give short form: line filename. */ + if (list == 0) + { + lineno_s = array_reference (bash_lineno_a, 0); + source_s = array_reference (bash_source_a, 1); + printf("%s %s\n", lineno_s ? lineno_s : "NULL", source_s ? source_s : "NULL"); + return (EXECUTION_SUCCESS); + } + + if (funcname_a == 0 || array_empty (funcname_a)) + return (EXECUTION_FAILURE); + + if (legal_number (list->word->word, &num)) + { + lineno_s = array_reference (bash_lineno_a, num); + source_s = array_reference (bash_source_a, num+1); + funcname_s = array_reference (funcname_a, num+1); + + if (lineno_s == NULL|| source_s == NULL || funcname_s == NULL) + return (EXECUTION_FAILURE); + + printf("%s %s %s\n", lineno_s, funcname_s, source_s); + } + else + { + sh_invalidnum (list->word->word); + builtin_usage (); + return (EXECUTION_FAILURE); + } + + return (EXECUTION_SUCCESS); + #endif + } + + #ifdef LOADABLE_BUILTIN + static char *caller_doc[] = { + N_("Returns the context of the current subroutine call."), + N_(""), + N_("Without EXPR, returns returns \"$line $filename\". With EXPR,"), + N_("returns \"$line $subroutine $filename\"; this extra information"), + N_("can be used used to provide a stack trace."), + N_(""), + N_("The value of EXPR indicates how many call frames to go back before the"), + N_("current one; the top frame is frame 0."), + (char *)NULL + }; + + struct builtin caller_struct = { + "caller", + caller_builtin, + BUILTIN_ENABLED, + caller_doc, + "caller [EXPR]", + 0 + }; + + #endif /* LOADABLE_BUILTIN */ diff -aNrc2 bash-2.05b-patched/builtins/cd.def bash-3.0/builtins/cd.def *** bash-2.05b-patched/builtins/cd.def Mon Jul 15 14:51:39 2002 --- bash-3.0/builtins/cd.def Thu May 13 11:08:45 2004 *************** *** 2,6 **** builtins "cd" and "pwd" in Bash. ! Copyright (C) 1987, 1989, 1991 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- builtins "cd" and "pwd" in Bash. ! Copyright (C) 1987-2003 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 40,43 **** --- 40,44 ---- #include "../bashansi.h" + #include "../bashintl.h" #include *************** *** 107,114 **** } ! tvar = bind_variable ("PWD", dirname); if (old_anm == 0 && array_needs_making && exported_p (tvar)) { ! update_export_env_inplace ("PWD=", 4, dirname); array_needs_making = 0; } --- 108,115 ---- } ! tvar = bind_variable ("PWD", dirname ? dirname : ""); if (old_anm == 0 && array_needs_making && exported_p (tvar)) { ! update_export_env_inplace ("PWD=", 4, dirname ? dirname : ""); array_needs_making = 0; } *************** *** 116,119 **** --- 117,121 ---- if (dirname && dirname != the_current_working_directory) free (dirname); + return (EXECUTION_SUCCESS); } *************** *** 122,126 **** the_current_working_directory () */ static char * ! resetpwd () { char *tdir; --- 124,129 ---- the_current_working_directory () */ static char * ! resetpwd (caller) ! char *caller; { char *tdir; *************** *** 128,132 **** FREE (the_current_working_directory); the_current_working_directory = (char *)NULL; ! tdir = get_working_directory ("cd"); return (tdir); } --- 131,135 ---- FREE (the_current_working_directory); the_current_working_directory = (char *)NULL; ! tdir = get_working_directory (caller); return (tdir); } *************** *** 185,189 **** if (dirname == 0) { ! builtin_error ("HOME not set"); return (EXECUTION_FAILURE); } --- 188,192 ---- if (dirname == 0) { ! builtin_error (_("HOME not set")); return (EXECUTION_FAILURE); } *************** *** 197,204 **** if (dirname == 0) { ! builtin_error ("OLDPWD not set"); return (EXECUTION_FAILURE); } lflag = interactive ? LCD_PRINTPATH : 0; } else if (absolute_pathname (list->word->word)) --- 200,211 ---- if (dirname == 0) { ! builtin_error (_("OLDPWD not set")); return (EXECUTION_FAILURE); } + #if 0 lflag = interactive ? LCD_PRINTPATH : 0; + #else + lflag = LCD_PRINTPATH; /* According to SUSv3 */ + #endif } else if (absolute_pathname (list->word->word)) *************** *** 223,228 **** directory name is echoed to stdout, whether or not the shell is interactive. */ ! if (opt) ! printf ("%s\n", no_symlinks ? temp : the_current_working_directory); free (temp); --- 230,235 ---- directory name is echoed to stdout, whether or not the shell is interactive. */ ! if (opt && (path = no_symlinks ? temp : the_current_working_directory)) ! printf ("%s\n", path); free (temp); *************** *** 333,336 **** --- 340,349 ---- directory = tcwd ? (verbatim_pwd ? sh_physpath (tcwd, 0) : tcwd) : get_working_directory ("pwd"); + + /* Try again using getcwd() if canonicalization fails (for instance, if + the file system has changed state underneath bash). */ + if (tcwd && directory == 0) + directory = resetpwd ("pwd"); + #undef tcwd *************** *** 343,349 **** if (ferror (stdout)) { ! builtin_error ("write error: %s", strerror (errno)); return (EXECUTION_FAILURE); } return (EXECUTION_SUCCESS); } --- 356,364 ---- if (ferror (stdout)) { ! builtin_error (_("write error: %s"), strerror (errno)); ! clearerr (stdout); return (EXECUTION_FAILURE); } + return (EXECUTION_SUCCESS); } *************** *** 364,368 **** { char *t, *tdir; ! int err, canon_failed; tdir = (char *)NULL; --- 379,383 ---- { char *t, *tdir; ! int err, canon_failed, r; tdir = (char *)NULL; *************** *** 399,403 **** if (posixly_correct && nolinks == 0 && canon_failed) { ! errno = ENOENT; return (0); } --- 414,423 ---- if (posixly_correct && nolinks == 0 && canon_failed) { ! #if defined ENAMETOOLONG ! if (errno != ENOENT && errno != ENAMETOOLONG) ! #else ! if (errno != ENOENT) ! #endif ! errno = ENOTDIR; return (0); } *************** *** 409,418 **** shell's idea of the_current_working_directory. */ if (canon_failed) - resetpwd (); - else { ! FREE (the_current_working_directory); ! the_current_working_directory = tdir; } return (1); --- 429,439 ---- shell's idea of the_current_working_directory. */ if (canon_failed) { ! t = resetpwd ("cd"); ! if (t == 0) ! set_working_directory (tdir); } + else + set_working_directory (tdir); return (1); *************** *** 425,429 **** err = errno; - free (tdir); /* We're not in physical mode (nolinks == 0), but we failed to change to --- 446,449 ---- *************** *** 432,445 **** if (chdir (newdir) == 0) { ! tdir = resetpwd (); ! FREE (tdir); ! return (1); } else { errno = err; ! return (0); } } --- 452,471 ---- if (chdir (newdir) == 0) { ! t = resetpwd ("cd"); ! if (t == 0) ! set_working_directory (tdir); ! else ! free (t); ! r = 1; } else { errno = err; ! r = 0; } + + free (tdir); + return r; } diff -aNrc2 bash-2.05b-patched/builtins/common.c bash-3.0/builtins/common.c *** bash-2.05b-patched/builtins/common.c Fri Jun 28 12:24:31 2002 --- bash-3.0/builtins/common.c Thu May 13 12:48:24 2004 *************** *** 1,3 **** ! /* Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 1,3 ---- ! /* Copyright (C) 1987-2004 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 41,44 **** --- 41,45 ---- #include "../bashansi.h" + #include "../bashintl.h" #include "../shell.h" *************** *** 130,134 **** if (list) { ! builtin_error ("too many arguments"); jump_to_top_level (DISCARD); } --- 131,135 ---- if (list) { ! builtin_error (_("too many arguments")); jump_to_top_level (DISCARD); } *************** *** 154,158 **** char *s; { ! builtin_error ("%s: option requires an argument", s); } --- 155,159 ---- char *s; { ! builtin_error (_("%s: option requires an argument"), s); } *************** *** 161,165 **** char *s; { ! builtin_error ("%s: numeric argument required", s); } --- 162,166 ---- char *s; { ! builtin_error (_("%s: numeric argument required"), s); } *************** *** 168,172 **** char *s; { ! builtin_error ("%s: not found", s); } --- 169,173 ---- char *s; { ! builtin_error (_("%s: not found"), s); } *************** *** 177,181 **** char *s; { ! builtin_error ("%s: invalid option", s); } --- 178,182 ---- char *s; { ! builtin_error (_("%s: invalid option"), s); } *************** *** 184,188 **** char *s; { ! builtin_error ("%s: invalid option name", s); } --- 185,189 ---- char *s; { ! builtin_error (_("%s: invalid option name"), s); } *************** *** 191,195 **** char *s; { ! builtin_error ("`%s': not a valid identifier", s); } --- 192,196 ---- char *s; { ! builtin_error (_("`%s': not a valid identifier"), s); } *************** *** 198,202 **** char *s; { ! builtin_error ("%s: invalid number", s); } --- 199,203 ---- char *s; { ! builtin_error (_("%s: invalid number"), s); } *************** *** 205,209 **** char *s; { ! builtin_error ("%s: invalid signal specification", s); } --- 206,210 ---- char *s; { ! builtin_error (_("%s: invalid signal specification"), s); } *************** *** 212,216 **** char *s; { ! builtin_error ("`%s': not a pid or valid job spec", s); } --- 213,217 ---- char *s; { ! builtin_error (_("`%s': not a pid or valid job spec"), s); } *************** *** 219,223 **** const char *s; { ! builtin_error ("%s: readonly variable", s); } --- 220,224 ---- const char *s; { ! builtin_error (_("%s: readonly variable"), s); } *************** *** 227,233 **** { if (s) ! builtin_error ("%s: %s out of range", s, desc ? desc : "argument"); else ! builtin_error ("%s out of range", desc ? desc : "argument"); } --- 228,234 ---- { if (s) ! builtin_error (_("%s: %s out of range"), s, desc ? desc : _("argument")); else ! builtin_error (_("%s out of range"), desc ? desc : _("argument")); } *************** *** 237,241 **** char *s; { ! builtin_error ("%s: no such job", s); } --- 238,242 ---- char *s; { ! builtin_error (_("%s: no such job"), s); } *************** *** 245,251 **** { if (s) ! builtin_error ("%s: no job control"); else ! builtin_error ("no job control"); } #endif --- 246,252 ---- { if (s) ! builtin_error (_("%s: no job control"), s); else ! builtin_error (_("no job control")); } #endif *************** *** 257,266 **** { if (s) ! builtin_error ("%s: restricted", s); else ! builtin_error ("restricted"); } #endif /* **************************************************************** */ /* */ --- 258,274 ---- { if (s) ! builtin_error (_("%s: restricted"), s); else ! builtin_error (_("restricted")); } #endif + void + sh_notbuiltin (s) + char *s; + { + builtin_error (_("%s: not a shell builtin"), s); + } + /* **************************************************************** */ /* */ *************** *** 455,464 **** { char *directory; if (no_symbolic_links) { ! if (the_current_working_directory) ! free (the_current_working_directory); ! the_current_working_directory = (char *)NULL; } --- 463,471 ---- { char *directory; + size_t dsize; if (no_symbolic_links) { ! FREE (the_current_working_directory); the_current_working_directory = (char *)NULL; } *************** *** 466,480 **** if (the_current_working_directory == 0) { ! the_current_working_directory = (char *)xmalloc (PATH_MAX); ! the_current_working_directory[0] = '\0'; ! directory = getcwd (the_current_working_directory, PATH_MAX); ! if (directory == 0) { ! fprintf (stderr, "%s: could not get current directory: %s: %s\n", (for_whom && *for_whom) ? for_whom : get_name_for_error (), ! bash_getcwd_errstr, strerror (errno)); ! ! free (the_current_working_directory); ! the_current_working_directory = (char *)NULL; return (char *)NULL; } --- 473,482 ---- if (the_current_working_directory == 0) { ! the_current_working_directory = getcwd (0, 0); ! if (the_current_working_directory == 0) { ! fprintf (stderr, _("%s: error retrieving current directory: %s: %s\n"), (for_whom && *for_whom) ? for_whom : get_name_for_error (), ! _(bash_getcwd_errstr), strerror (errno)); return (char *)NULL; } *************** *** 538,544 **** { if (this_shell_builtin) ! builtin_error ("%s: ambiguous job spec", name); else ! report_error ("%s: ambiguous job spec", name); return (DUP_JOB); } --- 540,546 ---- { if (this_shell_builtin) ! builtin_error (_("%s: ambiguous job spec"), name); else ! report_error (_("%s: ambiguous job spec"), name); return (DUP_JOB); } *************** *** 566,570 **** if (*word == '\0') ! return (current_job); if (*word == '%') --- 568,572 ---- if (*word == '\0') ! return (NO_JOB); if (*word == '%') *************** *** 574,582 **** { job = atoi (word); - #if 0 - return (job >= job_slots ? NO_JOB : job - 1); - #else return (job > job_slots ? NO_JOB : job - 1); - #endif } --- 576,580 ---- *************** *** 585,588 **** --- 583,587 ---- { case 0: + return NO_JOB; case '%': case '+': *************** *** 603,606 **** --- 602,608 ---- #endif /* JOB_CONTROL */ + /* + * NOTE: `kill' calls this function with forcecols == 0 + */ int display_signal_list (list, forcecols) *************** *** 610,615 **** register int i, column; char *name; ! int result; ! int signum; intmax_t lsignum; --- 612,616 ---- register int i, column; char *name; ! int result, signum, dflags; intmax_t lsignum; *************** *** 624,628 **** if (posixly_correct && !forcecols) ! printf ("%s%s", name, (i == NSIG - 1) ? "" : " "); else { --- 625,635 ---- if (posixly_correct && !forcecols) ! { ! /* This is for the kill builtin. POSIX.2 says the signal names ! are displayed without the `SIG' prefix. */ ! if (STREQN (name, "SIG", 3)) ! name += 3; ! printf ("%s%s", name, (i == NSIG - 1) ? "" : " "); ! } else { *************** *** 678,682 **** else { ! signum = decode_signal (list->word->word); if (signum == NO_SIG) { --- 685,692 ---- else { ! dflags = DSIG_NOCASE; ! if (posixly_correct == 0 || this_shell_builtin != kill_builtin) ! dflags |= DSIG_SIGPREFIX; ! signum = decode_signal (list->word->word, dflags); if (signum == NO_SIG) { diff -aNrc2 bash-2.05b-patched/builtins/common.h bash-3.0/builtins/common.h *** bash-2.05b-patched/builtins/common.h Fri May 10 12:25:08 2002 --- bash-3.0/builtins/common.h Fri Apr 23 16:51:00 2004 *************** *** 1,5 **** /* common.h -- extern declarations for functions defined in common.c. */ ! /* Copyright (C) 1993-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 1,5 ---- /* common.h -- extern declarations for functions defined in common.c. */ ! /* Copyright (C) 1993-2004 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 31,34 **** --- 31,35 ---- #define SEVAL_NOHIST 0x004 #define SEVAL_NOFREE 0x008 + #define SEVAL_RESETLINE 0x010 /* Flags for describe_command, shared between type.def and command.def */ *************** *** 75,78 **** --- 76,80 ---- extern void sh_nojobs __P((char *)); extern void sh_restricted __P((char *)); + extern void sh_notbuiltin __P((char *)); extern char **make_builtin_argv __P((WORD_LIST *, int *)); *************** *** 106,109 **** --- 108,114 ---- extern void initialize_shell_builtins __P((void)); + /* Functions from exit.def */ + extern void bash_logout __P((void)); + /* Functions from getopts.def */ extern void getopts_reset __P((int)); *************** *** 151,155 **** /* Functions from evalfile.c */ extern int maybe_execute_file __P((const char *, int)); ! extern int source_file __P((const char *)); extern int fc_execute_file __P((const char *)); --- 156,160 ---- /* Functions from evalfile.c */ extern int maybe_execute_file __P((const char *, int)); ! extern int source_file __P((const char *, int)); extern int fc_execute_file __P((const char *)); diff -aNrc2 bash-2.05b-patched/builtins/complete.def bash-3.0/builtins/complete.def *** bash-2.05b-patched/builtins/complete.def Tue Mar 19 12:21:05 2002 --- bash-3.0/builtins/complete.def Fri Dec 19 17:57:03 2003 *************** *** 2,6 **** It implements the builtins "complete" and "compgen" in Bash. ! Copyright (C) 1999-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtins "complete" and "compgen" in Bash. ! Copyright (C) 1999-2003 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 44,51 **** --- 44,53 ---- #include "../bashansi.h" + #include "../bashintl.h" #include "../shell.h" #include "../builtins.h" #include "../pcomplete.h" + #include "../bashline.h" #include "common.h" *************** *** 107,114 **** --- 109,118 ---- int optflag; } compopts[] = { + { "bashdefault", COPT_BASHDEFAULT }, { "default", COPT_DEFAULT }, { "dirnames", COPT_DIRNAMES }, { "filenames",COPT_FILENAMES}, { "nospace", COPT_NOSPACE }, + { "plusdirs", COPT_PLUSDIRS }, { (char *)NULL, 0 }, }; *************** *** 245,249 **** if (ind < 0) { ! builtin_error ("%s: invalid action name", list_optarg); return (EX_USAGE); } --- 249,253 ---- if (ind < 0) { ! builtin_error (_("%s: invalid action name"), list_optarg); return (EX_USAGE); } *************** *** 375,379 **** if (progcomp_remove (l->word->word) == 0) { ! builtin_error ("%s: no completion specification", l->word->word); ret = EXECUTION_FAILURE; } --- 379,383 ---- if (progcomp_remove (l->word->word) == 0) { ! builtin_error (_("%s: no completion specification"), l->word->word); ret = EXECUTION_FAILURE; } *************** *** 429,436 **** --- 433,442 ---- /* First, print the -o options. */ + PRINTCOMPOPT (COPT_BASHDEFAULT, "bashdefault"); PRINTCOMPOPT (COPT_DEFAULT, "default"); PRINTCOMPOPT (COPT_DIRNAMES, "dirnames"); PRINTCOMPOPT (COPT_FILENAMES, "filenames"); PRINTCOMPOPT (COPT_NOSPACE, "nospace"); + PRINTCOMPOPT (COPT_PLUSDIRS, "plusdirs"); acts = cs->actions; *************** *** 516,520 **** else { ! builtin_error ("%s: no completion specification", l->word->word); ret = EXECUTION_FAILURE; } --- 522,526 ---- else { ! builtin_error (_("%s: no completion specification"), l->word->word); ret = EXECUTION_FAILURE; } *************** *** 541,545 **** COMPSPEC *cs; STRINGLIST *sl; ! char *word; if (list == 0) --- 547,551 ---- COMPSPEC *cs; STRINGLIST *sl; ! char *word, **matches; if (list == 0) *************** *** 563,569 **** if (Farg) ! internal_warning ("compgen: -F option may not work as you expect"); if (Carg) ! internal_warning ("compgen: -C option may not work as you expect"); /* If we get here, we need to build a compspec and evaluate it. */ --- 569,575 ---- if (Farg) ! builtin_error (_("warning: -F option may not work as you expect")); if (Carg) ! builtin_error (_("warning: -C option may not work as you expect")); /* If we get here, we need to build a compspec and evaluate it. */ *************** *** 584,593 **** sl = gen_compspec_completions (cs, "compgen", word, 0, 0); /* This isn't perfect, but it's the best we can do, given what readline exports from its set of completion utility functions. */ if ((sl == 0 || sl->list_len == 0) && (copts & COPT_DEFAULT)) { - char **matches; - matches = rl_completion_matches (word, rl_filename_completion_function); sl = completions_to_stringlist (matches); --- 590,606 ---- sl = gen_compspec_completions (cs, "compgen", word, 0, 0); + /* If the compspec wants the bash default completions, temporarily + turn off programmable completion and call the bash completion code. */ + if ((sl == 0 || sl->list_len == 0) && (copts & COPT_BASHDEFAULT)) + { + matches = bash_default_completion (word, 0, 0, 0, 0); + sl = completions_to_stringlist (matches); + strvec_dispose (matches); + } + /* This isn't perfect, but it's the best we can do, given what readline exports from its set of completion utility functions. */ if ((sl == 0 || sl->list_len == 0) && (copts & COPT_DEFAULT)) { matches = rl_completion_matches (word, rl_filename_completion_function); sl = completions_to_stringlist (matches); diff -aNrc2 bash-2.05b-patched/builtins/declare.def bash-3.0/builtins/declare.def *** bash-2.05b-patched/builtins/declare.def Mon Apr 8 13:20:55 2002 --- bash-3.0/builtins/declare.def Fri Dec 19 16:59:18 2003 *************** *** 2,6 **** It implements the builtins "declare" and "local" in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtins "declare" and "local" in Bash. ! Copyright (C) 1987-2003 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 24,28 **** $BUILTIN declare $FUNCTION declare_builtin ! $SHORT_DOC declare [-afFirtx] [-p] name[=value] ... Declare variables and/or give them attributes. If no NAMEs are given, then display the values of variables instead. The -p option --- 24,28 ---- $BUILTIN declare $FUNCTION declare_builtin ! $SHORT_DOC declare [-afFirtx] [-p] [name[=value] ...] Declare variables and/or give them attributes. If no NAMEs are given, then display the values of variables instead. The -p option *************** *** 33,37 **** -a to make NAMEs arrays (if supported) -f to select from among function names only ! -F to display function names without definitions -i to make NAMEs have the `integer' attribute -r to make NAMEs readonly --- 33,38 ---- -a to make NAMEs arrays (if supported) -f to select from among function names only ! -F to display function names (and line number and source file name if ! debugging) without definitions -i to make NAMEs have the `integer' attribute -r to make NAMEs readonly *************** *** 68,71 **** --- 69,73 ---- #include "../bashansi.h" + #include "../bashintl.h" #include "../shell.h" *************** *** 101,105 **** else { ! builtin_error ("can only be used in a function"); return (EXECUTION_FAILURE); } --- 103,107 ---- else { ! builtin_error (_("can only be used in a function")); return (EXECUTION_FAILURE); } *************** *** 121,124 **** --- 123,127 ---- char *t, *subscript_start; SHELL_VAR *var; + FUNCTION_DEF *shell_fn; flags_on = flags_off = any_failed = assign_error = pflag = nodefs = 0; *************** *** 226,230 **** name = savestring (list->word->word); ! offset = assignment (name); if (offset) /* declare [-afFirx] name=value */ --- 229,233 ---- name = savestring (list->word->word); ! offset = assignment (name, 0); if (offset) /* declare [-afFirx] name=value */ *************** *** 290,294 **** if (offset) /* declare -f [-rix] foo=bar */ { ! builtin_error ("cannot use `-f' to make functions"); free (name); return (EXECUTION_FAILURE); --- 293,297 ---- if (offset) /* declare -f [-rix] foo=bar */ { ! builtin_error (_("cannot use `-f' to make functions")); free (name); return (EXECUTION_FAILURE); *************** *** 302,306 **** if (readonly_p (var) && (flags_off & att_readonly)) { ! builtin_error ("%s: readonly function", name); any_failed++; NEXT_VARIABLE (); --- 305,309 ---- if (readonly_p (var) && (flags_off & att_readonly)) { ! builtin_error (_("%s: readonly function"), name); any_failed++; NEXT_VARIABLE (); *************** *** 310,316 **** if (flags_on == att_function && flags_off == 0) { ! t = nodefs ? var->name ! : named_function_string (name, function_cell (var), 1); ! printf ("%s\n", t); } else /* declare -[fF] -[rx] name [name...] */ --- 313,332 ---- if (flags_on == att_function && flags_off == 0) { ! #if defined (DEBUGGER) ! if (nodefs && debugging_mode) ! { ! shell_fn = find_function_def (var->name); ! if (shell_fn) ! printf ("%s %d %s\n", var->name, shell_fn->line, shell_fn->source_file); ! else ! printf ("%s\n", var->name); ! } ! else ! #endif /* DEBUGGER */ ! { ! t = nodefs ? var->name ! : named_function_string (name, function_cell (var), 1); ! printf ("%s\n", t); ! } } else /* declare -[fF] -[rx] name [name...] */ *************** *** 371,375 **** if ((flags_off & att_array) && array_p (var)) { ! builtin_error ("%s: cannot destroy array variables in this way", name); any_failed++; NEXT_VARIABLE (); --- 387,391 ---- if ((flags_off & att_array) && array_p (var)) { ! builtin_error (_("%s: cannot destroy array variables in this way"), name); any_failed++; NEXT_VARIABLE (); diff -aNrc2 bash-2.05b-patched/builtins/echo.def bash-3.0/builtins/echo.def *** bash-2.05b-patched/builtins/echo.def Tue Mar 19 10:45:28 2002 --- bash-3.0/builtins/echo.def Mon Jun 28 14:27:40 2004 *************** *** 134,137 **** --- 134,139 ---- just_echo: + clearerr (stdout); /* clear error before writing and testing success */ + while (list) { diff -aNrc2 bash-2.05b-patched/builtins/enable.def bash-3.0/builtins/enable.def *** bash-2.05b-patched/builtins/enable.def Tue Mar 19 13:54:00 2002 --- bash-3.0/builtins/enable.def Fri Dec 19 18:07:07 2003 *************** *** 2,6 **** It implements the builtin "enable" in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtin "enable" in Bash. ! Copyright (C) 1987-2003 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 51,54 **** --- 51,56 ---- #include #include "../bashansi.h" + #include "../bashintl.h" + #include "../shell.h" #include "../builtins.h" *************** *** 124,128 **** break; #else ! builtin_error ("dynamic loading not available"); return (EX_USAGE); #endif --- 126,130 ---- break; #else ! builtin_error (_("dynamic loading not available")); return (EX_USAGE); #endif *************** *** 132,136 **** break; #else ! builtin_error ("dynamic loading not available"); return (EX_USAGE); #endif /* HAVE_DLCLOSE */ --- 134,138 ---- break; #else ! builtin_error (_("dynamic loading not available")); return (EX_USAGE); #endif /* HAVE_DLCLOSE */ *************** *** 198,202 **** if (opt == EXECUTION_FAILURE) { ! builtin_error ("%s: not a shell builtin", list->word->word); result = EXECUTION_FAILURE; } --- 200,204 ---- if (opt == EXECUTION_FAILURE) { ! sh_notbuiltin (list->word->word); result = EXECUTION_FAILURE; } *************** *** 299,303 **** if (handle == 0) { ! builtin_error ("cannot open shared object %s: %s", filename, dlerror ()); return (EXECUTION_FAILURE); } --- 301,305 ---- if (handle == 0) { ! builtin_error (_("cannot open shared object %s: %s"), filename, dlerror ()); return (EXECUTION_FAILURE); } *************** *** 322,327 **** if (b == 0) { ! builtin_error ("cannot find %s in shared object %s: %s", struct_name, ! filename, dlerror ()); free (struct_name); continue; --- 324,329 ---- if (b == 0) { ! builtin_error (_("cannot find %s in shared object %s: %s"), ! struct_name, filename, dlerror ()); free (struct_name); continue; *************** *** 441,450 **** if (b == 0) { ! builtin_error ("%s: not a shell builtin", name); return (EXECUTION_FAILURE); } if (b->flags & STATIC_BUILTIN) { ! builtin_error ("%s: not dynamically loaded", name); return (EXECUTION_FAILURE); } --- 443,452 ---- if (b == 0) { ! sh_notbuiltin (name); return (EXECUTION_FAILURE); } if (b->flags & STATIC_BUILTIN) { ! builtin_error (_("%s: not dynamically loaded"), name); return (EXECUTION_FAILURE); } *************** *** 461,465 **** if (ref == 1 && local_dlclose (handle) != 0) { ! builtin_error ("%s: cannot delete: %s", name, dlerror ()); return (EXECUTION_FAILURE); } --- 463,467 ---- if (ref == 1 && local_dlclose (handle) != 0) { ! builtin_error (_("%s: cannot delete: %s"), name, dlerror ()); return (EXECUTION_FAILURE); } diff -aNrc2 bash-2.05b-patched/builtins/evalfile.c bash-3.0/builtins/evalfile.c *** bash-2.05b-patched/builtins/evalfile.c Thu Feb 21 15:08:52 2002 --- bash-3.0/builtins/evalfile.c Fri Dec 19 16:48:53 2003 *************** *** 1,3 **** ! /* Copyright (C) 1996 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 1,3 ---- ! /* Copyright (C) 1996-2003 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 32,35 **** --- 32,36 ---- #include "../bashansi.h" + #include "../bashintl.h" #include "../shell.h" *************** *** 59,62 **** --- 60,64 ---- #define FEVAL_CHECKBINARY 0x040 #define FEVAL_REGFILE 0x080 + #define FEVAL_NOPUSHARGS 0x100 extern int posixly_correct; *************** *** 80,86 **** --- 82,107 ---- size_t file_size; sh_vmsg_func_t *errfunc; + #if defined (ARRAY_VARS) + SHELL_VAR *funcname_v, *bash_source_v, *bash_lineno_v; + ARRAY *funcname_a, *bash_source_a, *bash_lineno_a; + # if defined (DEBUGGER) + SHELL_VAR *bash_argv_v, *bash_argc_v; + ARRAY *bash_argv_a, *bash_argc_a; + # endif + char *t, tt[2]; + #endif USE_VAR(pflags); + #if defined (ARRAY_VARS) + GET_ARRAY_FROM_VAR ("FUNCNAME", funcname_v, funcname_a); + GET_ARRAY_FROM_VAR ("BASH_SOURCE", bash_source_v, bash_source_a); + GET_ARRAY_FROM_VAR ("BASH_LINENO", bash_lineno_v, bash_lineno_a); + # if defined (DEBUGGER) + GET_ARRAY_FROM_VAR ("BASH_ARGV", bash_argv_v, bash_argv_a); + GET_ARRAY_FROM_VAR ("BASH_ARGC", bash_argc_v, bash_argc_a); + # endif + #endif + fd = open (filename, O_RDONLY); *************** *** 105,114 **** if (S_ISDIR (finfo.st_mode)) { ! (*errfunc) ("%s: is a directory", filename); return ((flags & FEVAL_BUILTIN) ? EXECUTION_FAILURE : -1); } else if ((flags & FEVAL_REGFILE) && S_ISREG (finfo.st_mode) == 0) { ! (*errfunc) ("%s: not a regular file", filename); return ((flags & FEVAL_BUILTIN) ? EXECUTION_FAILURE : -1); } --- 126,135 ---- if (S_ISDIR (finfo.st_mode)) { ! (*errfunc) (_("%s: is a directory"), filename); return ((flags & FEVAL_BUILTIN) ? EXECUTION_FAILURE : -1); } else if ((flags & FEVAL_REGFILE) && S_ISREG (finfo.st_mode) == 0) { ! (*errfunc) (_("%s: not a regular file"), filename); return ((flags & FEVAL_BUILTIN) ? EXECUTION_FAILURE : -1); } *************** *** 118,122 **** if (file_size != finfo.st_size || file_size + 1 < file_size) { ! (*errfunc) ("%s: file is too large", filename); return ((flags & FEVAL_BUILTIN) ? EXECUTION_FAILURE : -1); } --- 139,143 ---- if (file_size != finfo.st_size || file_size + 1 < file_size) { ! (*errfunc) (_("%s: file is too large"), filename); return ((flags & FEVAL_BUILTIN) ? EXECUTION_FAILURE : -1); } *************** *** 177,182 **** sourcelevel++; /* set the flags to be passed to parse_and_execute */ ! pflags = (flags & FEVAL_HISTORY) ? 0 : SEVAL_NOHIST; if (flags & FEVAL_BUILTIN) --- 198,222 ---- sourcelevel++; + #if defined (ARRAY_VARS) + array_push (bash_source_a, (char *)filename); + t = itos (executing_line_number ()); + array_push (bash_lineno_a, t); + free (t); + array_push (funcname_a, "source"); /* not exactly right */ + # if defined (DEBUGGER) + /* Have to figure out a better way to do this when `source' is supplied + arguments */ + if ((flags & FEVAL_NOPUSHARGS) == 0) + { + array_push (bash_argv_a, (char *)filename); + tt[0] = '1'; tt[1] = '\0'; + array_push (bash_argc_a, tt); + } + # endif + #endif + /* set the flags to be passed to parse_and_execute */ ! pflags = SEVAL_RESETLINE; ! pflags |= (flags & FEVAL_HISTORY) ? 0 : SEVAL_NOHIST; if (flags & FEVAL_BUILTIN) *************** *** 206,209 **** --- 246,262 ---- } + #if defined (ARRAY_VARS) + array_pop (bash_source_a); + array_pop (bash_lineno_a); + array_pop (funcname_a); + # if defined (DEBUGGER) + if ((flags & FEVAL_NOPUSHARGS) == 0) + { + array_pop (bash_argc_a); + array_pop (bash_argv_a); + } + # endif + #endif + return ((flags & FEVAL_BUILTIN) ? result : 1); } *************** *** 241,253 **** int ! source_file (filename) const char *filename; { ! int flags; flags = FEVAL_BUILTIN|FEVAL_UNWINDPROT|FEVAL_NONINT; /* POSIX shells exit if non-interactive and file error. */ if (posixly_correct && !interactive_shell) flags |= FEVAL_LONGJMP; ! return (_evalfile (filename, flags)); } --- 294,312 ---- int ! source_file (filename, sflags) const char *filename; + int sflags; { ! int flags, rval; flags = FEVAL_BUILTIN|FEVAL_UNWINDPROT|FEVAL_NONINT; + if (sflags) + flags |= FEVAL_NOPUSHARGS; /* POSIX shells exit if non-interactive and file error. */ if (posixly_correct && !interactive_shell) flags |= FEVAL_LONGJMP; ! rval = _evalfile (filename, flags); ! ! run_return_trap (); ! return rval; } diff -aNrc2 bash-2.05b-patched/builtins/evalstring.c bash-3.0/builtins/evalstring.c *** bash-2.05b-patched/builtins/evalstring.c Thu Apr 4 13:38:50 2002 --- bash-3.0/builtins/evalstring.c Tue Jun 3 13:53:12 2003 *************** *** 85,88 **** --- 85,89 ---- (flags & SEVAL_NOHIST) -> call bash_history_disable () (flags & SEVAL_NOFREE) -> don't free STRING when finished + (flags & SEVAL_RESETLINE) -> reset line_number to 1 */ *************** *** 93,97 **** int flags; { ! int code, x; volatile int should_jump_to_top_level, last_result; char *orig_string; --- 94,98 ---- int flags; { ! int code, x, lreset; volatile int should_jump_to_top_level, last_result; char *orig_string; *************** *** 108,111 **** --- 109,114 ---- unwind_protect_int (interactive); + lreset = flags & SEVAL_RESETLINE; + #if defined (HISTORY) unwind_protect_int (remember_on_history); /* can be used in scripts */ *************** *** 130,134 **** parse_and_execute_level++; ! push_stream (1); /* reset the line number */ indirection_level++; if (flags & (SEVAL_NONINT|SEVAL_INTERACT)) --- 133,145 ---- parse_and_execute_level++; ! ! /* Reset the line number if the caller wants us to. If we don't reset the ! line number, we have to subtract one, because we will add one just ! before executing the next command (resetting the line number sets it to ! 0; the first line number is 1). */ ! push_stream (lreset); ! if (lreset == 0) ! line_number--; ! indirection_level++; if (flags & (SEVAL_NONINT|SEVAL_INTERACT)) *************** *** 142,150 **** code = should_jump_to_top_level = 0; last_result = EXECUTION_SUCCESS; - command = (COMMAND *)NULL; with_input_from_string (string, from_file); while (*(bash_input.location.string)) { if (interrupt_state) { --- 153,162 ---- code = should_jump_to_top_level = 0; last_result = EXECUTION_SUCCESS; with_input_from_string (string, from_file); while (*(bash_input.location.string)) { + command = (COMMAND *)NULL; + if (interrupt_state) { *************** *** 164,169 **** { case FORCE_EOF: case EXITPROG: ! run_unwind_frame ("pe_dispose"); /* Remember to call longjmp (top_level) after the old value for it is restored. */ --- 176,183 ---- { case FORCE_EOF: + case ERREXIT: case EXITPROG: ! if (command) ! run_unwind_frame ("pe_dispose"); /* Remember to call longjmp (top_level) after the old value for it is restored. */ *************** *** 172,176 **** case DISCARD: ! run_unwind_frame ("pe_dispose"); last_result = last_command_exit_value = EXECUTION_FAILURE; /* XXX */ if (subshell_environment) --- 186,191 ---- case DISCARD: ! if (command) ! run_unwind_frame ("pe_dispose"); last_result = last_command_exit_value = EXECUTION_FAILURE; /* XXX */ if (subshell_environment) diff -aNrc2 bash-2.05b-patched/builtins/exec.def bash-3.0/builtins/exec.def *** bash-2.05b-patched/builtins/exec.def Tue Mar 19 10:38:49 2002 --- bash-3.0/builtins/exec.def Fri Dec 19 17:55:25 2003 *************** *** 2,6 **** It implements the builtin "exec" in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtin "exec" in Bash. ! Copyright (C) 1987-2003 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 47,50 **** --- 47,51 ---- #include "../bashansi.h" + #include "../bashintl.h" #include "../shell.h" *************** *** 202,206 **** if (executable_file (command) == 0) { ! builtin_error ("%s: cannot execute: %s", command, strerror (errno)); exit_value = EX_NOEXEC; /* As per Posix.2, 3.14.6 */ } --- 203,207 ---- if (executable_file (command) == 0) { ! builtin_error (_("%s: cannot execute: %s"), command, strerror (errno)); exit_value = EX_NOEXEC; /* As per Posix.2, 3.14.6 */ } *************** *** 209,214 **** failed_exec: ! if (command) ! free (command); if (subshell_environment || (interactive == 0 && no_exit_on_failed_exec == 0)) --- 210,214 ---- failed_exec: ! FREE (command); if (subshell_environment || (interactive == 0 && no_exit_on_failed_exec == 0)) diff -aNrc2 bash-2.05b-patched/builtins/exit.def bash-3.0/builtins/exit.def *** bash-2.05b-patched/builtins/exit.def Mon Apr 8 13:21:24 2002 --- bash-3.0/builtins/exit.def Fri Dec 19 17:56:04 2003 *************** *** 2,6 **** It implements the builtins "exit", and "logout" in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtins "exit", and "logout" in Bash. ! Copyright (C) 1987-2003 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 38,41 **** --- 38,43 ---- #endif + #include "../bashintl.h" + #include "../shell.h" #include "../jobs.h" *************** *** 45,48 **** --- 47,51 ---- extern int last_command_exit_value; + extern int running_trap, trap_saved_exit_value; extern int subshell_environment; extern sh_builtin_func_t *this_shell_builtin; *************** *** 78,82 **** if (login_shell == 0 /* && interactive */) { ! builtin_error ("not login shell: use `exit'"); return (EXECUTION_FAILURE); } --- 81,85 ---- if (login_shell == 0 /* && interactive */) { ! builtin_error (_("not login shell: use `exit'")); return (EXECUTION_FAILURE); } *************** *** 106,110 **** if (jobs[i] && STOPPED (i)) { ! fprintf (stderr, "There are stopped jobs.\n"); /* This is NOT superfluous because EOF can get here without --- 109,113 ---- if (jobs[i] && STOPPED (i)) { ! fprintf (stderr, _("There are stopped jobs.\n")); /* This is NOT superfluous because EOF can get here without *************** *** 121,126 **** `logout 5' to a shell, and it returns 5. */ ! exit_value = get_exitstat (list); /* Run our `~/.bash_logout' file if it exists, and this is a login shell. */ if (login_shell && sourced_logout++ == 0 && subshell_environment == 0) --- 124,145 ---- `logout 5' to a shell, and it returns 5. */ ! /* If we're running the exit trap (running_trap == 1, since running_trap ! gets set to SIG+1), and we don't have a argument given to `exit' ! (list == 0), use the exit status we saved before running the trap ! commands (trap_saved_exit_value). */ ! exit_value = (running_trap == 1 && list == 0) ? trap_saved_exit_value : get_exitstat (list); ! ! bash_logout (); ! ! last_command_exit_value = exit_value; ! ! /* Exit the program. */ ! jump_to_top_level (EXITPROG); ! /*NOTREACHED*/ ! } + void + bash_logout () + { /* Run our `~/.bash_logout' file if it exists, and this is a login shell. */ if (login_shell && sourced_logout++ == 0 && subshell_environment == 0) *************** *** 131,139 **** #endif } - - last_command_exit_value = exit_value; - - /* Exit the program. */ - jump_to_top_level (EXITPROG); - /*NOTREACHED*/ } --- 150,152 ---- diff -aNrc2 bash-2.05b-patched/builtins/fc.def bash-3.0/builtins/fc.def *** bash-2.05b-patched/builtins/fc.def Tue Mar 19 14:05:18 2002 --- bash-3.0/builtins/fc.def Fri Dec 19 17:58:15 2003 *************** *** 2,6 **** It implements the builtin "fc" in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtin "fc" in Bash. ! Copyright (C) 1987-2003 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 26,30 **** $DEPENDS_ON HISTORY $SHORT_DOC fc [-e ename] [-nlr] [first] [last] or fc -s [pat=rep] [cmd] - fc is used to list or edit and re-execute commands from the history list. FIRST and LAST can be numbers specifying the range, or FIRST can be a --- 26,29 ---- *************** *** 55,59 **** #include "../bashtypes.h" #include "posixstat.h" ! #ifndef _MINIX # include #endif --- 54,58 ---- #include "../bashtypes.h" #include "posixstat.h" ! #if ! defined(_MINIX) && defined (HAVE_SYS_FILE_H) # include #endif *************** *** 67,70 **** --- 66,70 ---- #include "../bashansi.h" + #include "../bashintl.h" #include *************** *** 250,254 **** if (command == NULL) { ! builtin_error ("no command found"); if (rlist) FREE_RLIST (); --- 250,254 ---- if (command == NULL) { ! builtin_error (_("no command found")); if (rlist) FREE_RLIST (); *************** *** 315,319 **** if ((histbeg < 0) || (histend < 0)) { ! sh_erange ((char *)NULL, "history specification"); return (EXECUTION_FAILURE); } --- 315,319 ---- if ((histbeg < 0) || (histend < 0)) { ! sh_erange ((char *)NULL, _("history specification")); return (EXECUTION_FAILURE); } *************** *** 336,340 **** if (stream == 0) { ! builtin_error ("cannot open temp file %s", fn ? fn : ""); FREE (fn); return (EXECUTION_FAILURE); --- 336,340 ---- if (stream == 0) { ! builtin_error (_("%s: cannot open temp file: %s"), fn ? fn : "", strerror (errno)); FREE (fn); return (EXECUTION_FAILURE); diff -aNrc2 bash-2.05b-patched/builtins/fg_bg.def bash-3.0/builtins/fg_bg.def *** bash-2.05b-patched/builtins/fg_bg.def Mon Apr 8 13:21:32 2002 --- bash-3.0/builtins/fg_bg.def Fri Dec 19 17:58:42 2003 *************** *** 2,6 **** It implements the builtins "bg" and "fg" in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtins "bg" and "fg" in Bash. ! Copyright (C) 1987-2003 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 40,43 **** --- 40,45 ---- #endif + #include "../bashintl.h" + #include "../shell.h" #include "../jobs.h" *************** *** 129,133 **** if (IS_JOBCONTROL (job) == 0) { ! builtin_error ("job %%%d started without job control", job + 1); goto failure; } --- 131,135 ---- if (IS_JOBCONTROL (job) == 0) { ! builtin_error (_("job %d started without job control"), job + 1); goto failure; } diff -aNrc2 bash-2.05b-patched/builtins/getopt.c bash-3.0/builtins/getopt.c *** bash-2.05b-patched/builtins/getopt.c Tue Mar 19 12:03:27 2002 --- bash-3.0/builtins/getopt.c Fri Dec 19 16:49:36 2003 *************** *** 29,32 **** --- 29,33 ---- #include #include "memalloc.h" + #include "../bashintl.h" #include "../shell.h" #include "getopt.h" *************** *** 106,111 **** /* 1003.2 specifies the format of this message. */ ! #define BADOPT(x) fprintf (stderr, "%s: illegal option -- %c\n", argv[0], x) ! #define NEEDARG(x) fprintf (stderr, "%s: option requires an argument -- %c\n", argv[0], x) int --- 107,112 ---- /* 1003.2 specifies the format of this message. */ ! #define BADOPT(x) fprintf (stderr, _("%s: illegal option -- %c\n"), argv[0], x) ! #define NEEDARG(x) fprintf (stderr, _("%s: option requires an argument -- %c\n"), argv[0], x) int diff -aNrc2 bash-2.05b-patched/builtins/getopts.def bash-3.0/builtins/getopts.def *** bash-2.05b-patched/builtins/getopts.def Tue Mar 19 12:03:06 2002 --- bash-3.0/builtins/getopts.def Sat Jun 26 13:59:18 2004 *************** *** 45,49 **** sets OPTARG to the option character found. If getopts is not in silent mode, and an invalid option is seen, getopts places '?' into ! NAME and unsets OPTARG. If a required option is not found, a '?' is placed in NAME, OPTARG is unset, and a diagnostic message is printed. --- 45,49 ---- sets OPTARG to the option character found. If getopts is not in silent mode, and an invalid option is seen, getopts places '?' into ! NAME and unsets OPTARG. If a required argument is not found, a '?' is placed in NAME, OPTARG is unset, and a diagnostic message is printed. *************** *** 246,249 **** --- 246,250 ---- if (ret == G_EOF) { + unbind_variable ("OPTARG"); getopts_bind_variable (name, "?"); return (EXECUTION_FAILURE); diff -aNrc2 bash-2.05b-patched/builtins/hash.def bash-3.0/builtins/hash.def *** bash-2.05b-patched/builtins/hash.def Tue Mar 19 14:43:26 2002 --- bash-3.0/builtins/hash.def Fri Dec 19 17:59:31 2003 *************** *** 2,6 **** It implements the builtin "hash" in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtin "hash" in Bash. ! Copyright (C) 1987-2003 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 50,53 **** --- 50,54 ---- #include "../bashansi.h" + #include "../bashintl.h" #include "../shell.h" *************** *** 80,84 **** if (hashing_enabled == 0) { ! builtin_error ("hashing disabled"); return (EXECUTION_FAILURE); } --- 81,85 ---- if (hashing_enabled == 0) { ! builtin_error (_("hashing disabled")); return (EXECUTION_FAILURE); } *************** *** 125,129 **** { if (print_hashed_commands (list_portably) == 0) ! printf ("%s: hash table empty\n", this_command_name); return (EXECUTION_SUCCESS); --- 126,130 ---- { if (print_hashed_commands (list_portably) == 0) ! printf (_("%s: hash table empty\n"), this_command_name); return (EXECUTION_SUCCESS); diff -aNrc2 bash-2.05b-patched/builtins/help.def bash-3.0/builtins/help.def *** bash-2.05b-patched/builtins/help.def Mon Apr 8 13:22:07 2002 --- bash-3.0/builtins/help.def Fri Dec 19 18:01:17 2003 *************** *** 2,6 **** It implements the builtin "help" in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtin "help" in Bash. ! Copyright (C) 1987-2003 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 49,52 **** --- 49,54 ---- #include + #include "../bashintl.h" + #include "../shell.h" #include "../builtins.h" *************** *** 103,107 **** if (glob_pattern_p (list->word->word)) { ! printf ("Shell commands matching keyword%s `", list->next ? "s" : ""); print_word_list (list, ", "); printf ("'\n\n"); --- 105,112 ---- if (glob_pattern_p (list->word->word)) { ! if (list->next) ! printf (_("Shell commands matching keywords `")); ! else ! printf (_("Shell commands matching keyword `")); print_word_list (list, ", "); printf ("'\n\n"); *************** *** 131,135 **** if (match_found == 0) { ! builtin_error ("no help topics match `%s'. Try `help help' or `man -k %s' or `info %s'.", pattern, pattern, pattern); return (EXECUTION_FAILURE); } --- 136,140 ---- if (match_found == 0) { ! builtin_error (_("no help topics match `%s'. Try `help help' or `man -k %s' or `info %s'."), pattern, pattern, pattern); return (EXECUTION_FAILURE); } *************** *** 157,161 **** if (fd == -1) { ! builtin_error ("%s: cannot open: %s", doc[0], strerror (errno)); return; } --- 162,166 ---- if (fd == -1) { ! builtin_error (_("%s: cannot open: %s"), doc[0], strerror (errno)); return; } *************** *** 165,169 **** else for (j = 0; doc[j]; j++) ! printf (" %s\n", doc[j]); } --- 170,174 ---- else for (j = 0; doc[j]; j++) ! printf (" %s\n", _(doc[j])); } *************** *** 175,179 **** printf ( ! "These shell commands are defined internally. Type `help' to see this list.\n\ Type `help name' to find out more about the function `name'.\n\ Use `info bash' to find out more about the shell in general.\n\ --- 180,184 ---- printf ( ! _("These shell commands are defined internally. Type `help' to see this list.\n\ Type `help name' to find out more about the function `name'.\n\ Use `info bash' to find out more about the shell in general.\n\ *************** *** 181,185 **** \n\ A star (*) next to a name means that the command is disabled.\n\ ! \n"); for (i = 0; i < num_shell_builtins; i++) --- 186,190 ---- \n\ A star (*) next to a name means that the command is disabled.\n\ ! \n")); for (i = 0; i < num_shell_builtins; i++) diff -aNrc2 bash-2.05b-patched/builtins/history.def bash-3.0/builtins/history.def *** bash-2.05b-patched/builtins/history.def Tue Mar 19 14:06:33 2002 --- bash-3.0/builtins/history.def Fri Dec 19 18:02:09 2003 *************** *** 2,6 **** It implements the builtin "history" in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtin "history" in Bash. ! Copyright (C) 1987-2003 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 35,40 **** to append history lines from this session to the history file. Argument `-n' means to read all history lines not already read ! from the history file and append them to the history list. If ! FILENAME is given, then that is used as the history file else if $HISTFILE has a value, that is used, else ~/.bash_history. If the -s option is supplied, the non-option ARGs are appended to --- 35,41 ---- to append history lines from this session to the history file. Argument `-n' means to read all history lines not already read ! from the history file and append them to the history list. ! ! If FILENAME is given, then that is used as the history file else if $HISTFILE has a value, that is used, else ~/.bash_history. If the -s option is supplied, the non-option ARGs are appended to *************** *** 42,45 **** --- 43,50 ---- history expansion on each ARG and display the result, without storing anything in the history list. + + If the $HISTTIMEFORMAT variable is set and not null, its value is used + as a format string for strftime(3) to print the time stamp associated + with each displayed history entry. No time stamps are printed otherwise. $END *************** *** 48,52 **** #if defined (HISTORY) #include "../bashtypes.h" ! #ifndef _MINIX # include #endif --- 53,57 ---- #if defined (HISTORY) #include "../bashtypes.h" ! #if ! defined(_MINIX) && defined (HAVE_SYS_FILE_H) # include #endif *************** *** 60,63 **** --- 65,69 ---- #include "../bashansi.h" + #include "../bashintl.h" #include "../shell.h" *************** *** 73,76 **** --- 79,83 ---- extern int current_command_line_count; + static char *histtime __P((HIST_ENTRY *, const char *)); static void display_history __P((WORD_LIST *)); static int delete_histent __P((int)); *************** *** 92,96 **** WORD_LIST *list; { ! int flags, opt, result, old_history_lines; char *filename, *delete_arg; intmax_t delete_offset; --- 99,103 ---- WORD_LIST *list; { ! int flags, opt, result, old_history_lines, obase; char *filename, *delete_arg; intmax_t delete_offset; *************** *** 139,143 **** if (opt && opt != AFLAG && opt != RFLAG && opt != WFLAG && opt != NFLAG) { ! builtin_error ("cannot use more than one of -anrw"); return (EXECUTION_FAILURE); } --- 146,150 ---- if (opt && opt != AFLAG && opt != RFLAG && opt != WFLAG && opt != NFLAG) { ! builtin_error (_("cannot use more than one of -anrw")); return (EXECUTION_FAILURE); } *************** *** 171,175 **** || (delete_offset > (history_base + history_length))) { ! sh_erange (delete_arg, "history position"); return (EXECUTION_FAILURE); } --- 178,182 ---- || (delete_offset > (history_base + history_length))) { ! sh_erange (delete_arg, _("history position")); return (EXECUTION_FAILURE); } *************** *** 201,209 **** /* Read all of the lines in the file that we haven't already read. */ old_history_lines = history_lines_in_file; using_history (); result = read_history_range (filename, history_lines_in_file, -1); using_history (); history_lines_in_file = where_history (); ! history_lines_this_session += history_lines_in_file - old_history_lines; } --- 208,228 ---- /* Read all of the lines in the file that we haven't already read. */ old_history_lines = history_lines_in_file; + obase = history_base; + using_history (); result = read_history_range (filename, history_lines_in_file, -1); using_history (); + history_lines_in_file = where_history (); ! /* The question is whether we reset history_lines_this_session to 0, ! losing any history entries we had before we read the new entries ! from the history file, or whether we count the new entries we just ! read from the file as history lines added during this session. ! Right now, we do the latter. This will cause these history entries ! to be written to the history file along with any intermediate entries ! we add when we do a `history -a', but the alternative is losing ! them altogether. */ ! history_lines_this_session += history_lines_in_file - old_history_lines + ! history_base - obase; } *************** *** 215,218 **** --- 234,253 ---- #define histdata(i) (hlist[(i)]->data) + static char * + histtime (hlist, histtimefmt) + HIST_ENTRY *hlist; + const char *histtimefmt; + { + static char timestr[128]; + time_t t; + + t = history_get_time (hlist); + if (t) + strftime (timestr, sizeof (timestr), histtimefmt, localtime (&t)); + else + strcpy (timestr, "??"); + return timestr; + } + static void display_history (list) *************** *** 222,225 **** --- 257,261 ---- intmax_t limit; HIST_ENTRY **hlist; + char *histtimefmt, *timestr; if (list) *************** *** 244,252 **** i = 0; while (hlist[i]) { QUIT; ! printf ("%5d%c %s\n", i + history_base, histdata(i) ? '*' : ' ', histline(i)); i++; --- 280,294 ---- i = 0; + + histtimefmt = get_string_value ("HISTTIMEFORMAT"); + while (hlist[i]) { QUIT; ! ! timestr = (histtimefmt && *histtimefmt) ? histtime (hlist[i], histtimefmt) : (char *)NULL; ! printf ("%5d%c %s%s\n", i + history_base, histdata(i) ? '*' : ' ', + ((timestr && *timestr) ? timestr : ""), histline(i)); i++; *************** *** 264,272 **** discard = remove_history (i); if (discard) ! { ! if (discard->line) ! free (discard->line); ! free ((char *) discard); ! } return 1; } --- 306,311 ---- discard = remove_history (i); if (discard) ! free_history_entry (discard); ! return 1; } *************** *** 277,280 **** --- 316,320 ---- register int i; HIST_ENTRY **hlist, *histent; + int r; hlist = history_list (); *************** *** 291,295 **** return 0; ! return (delete_histent (i)); } --- 331,340 ---- return 0; ! r = delete_histent (i); ! ! if (where_history () > history_length) ! history_set_pos (history_length); ! ! return r; } *************** *** 343,347 **** if (r < 0) { ! builtin_error ("%s: history expansion failed", list->word->word); result = EXECUTION_FAILURE; } --- 388,392 ---- if (r < 0) { ! builtin_error (_("%s: history expansion failed"), list->word->word); result = EXECUTION_FAILURE; } diff -aNrc2 bash-2.05b-patched/builtins/jobs.def bash-3.0/builtins/jobs.def *** bash-2.05b-patched/builtins/jobs.def Tue Mar 19 12:58:18 2002 --- bash-3.0/builtins/jobs.def Fri Apr 23 16:21:15 2004 *************** *** 2,6 **** It implements the builtins "jobs" and "disown" in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtins "jobs" and "disown" in Bash. ! Copyright (C) 1987-2004 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 47,50 **** --- 47,51 ---- #include "../bashansi.h" + #include "../bashintl.h" #include "../shell.h" *************** *** 75,81 **** sigset_t set, oset; - if (job_control == 0 && interactive_shell == 0) - return (EXECUTION_SUCCESS); - execute = any_failed = 0; form = JLIST_STANDARD; --- 76,79 ---- *************** *** 99,103 **** if (form != JLIST_STANDARD) { ! builtin_error ("no other options allowed with `-x'"); return (EXECUTION_FAILURE); } --- 97,101 ---- if (form != JLIST_STANDARD) { ! builtin_error (_("no other options allowed with `-x'")); return (EXECUTION_FAILURE); } *************** *** 164,167 **** --- 162,166 ---- register WORD_LIST *l; int job, result; + COMMAND *command; /* First do the replacement of job specifications with pids. */ *************** *** 183,201 **** /* Next make a new simple command and execute it. */ begin_unwind_frame ("jobs_builtin"); - { - COMMAND *command = (COMMAND *)NULL; - - add_unwind_protect (dispose_command, command); - - command = make_bare_simple_command (); - command->value.Simple->words = copy_word_list (list); - command->value.Simple->redirects = (REDIRECT *)NULL; - command->flags |= CMD_INHIBIT_EXPANSION; - command->value.Simple->flags |= CMD_INHIBIT_EXPANSION; ! result = execute_command (command); ! } ! run_unwind_frame ("jobs_builtin"); return (result); } --- 182,197 ---- /* Next make a new simple command and execute it. */ begin_unwind_frame ("jobs_builtin"); ! command = make_bare_simple_command (); ! command->value.Simple->words = copy_word_list (list); ! command->value.Simple->redirects = (REDIRECT *)NULL; ! command->flags |= CMD_INHIBIT_EXPANSION; ! command->value.Simple->flags |= CMD_INHIBIT_EXPANSION; ! ! add_unwind_protect (dispose_command, command); ! result = execute_command (command); ! dispose_command (command); ! discard_unwind_frame ("jobs_builtin"); return (result); } diff -aNrc2 bash-2.05b-patched/builtins/kill.def bash-3.0/builtins/kill.def *** bash-2.05b-patched/builtins/kill.def Tue Mar 19 13:44:11 2002 --- bash-3.0/builtins/kill.def Fri Apr 23 16:50:31 2004 *************** *** 2,6 **** It implements the builtin "kill" in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtin "kill" in Bash. ! Copyright (C) 1987-2004 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 24,28 **** $BUILTIN kill $FUNCTION kill_builtin - $DEPENDS_ON JOB_CONTROL $SHORT_DOC kill [-s sigspec | -n signum | -sigspec] [pid | job]... or kill -l [sigspec] Send the processes named by PID (or JOB) the signal SIGSPEC. If --- 24,27 ---- *************** *** 47,50 **** --- 46,50 ---- #include "../bashansi.h" + #include "../bashintl.h" #include "../shell.h" *************** *** 58,64 **** #endif /* !errno */ - #if defined (JOB_CONTROL) extern int posixly_correct; #if !defined (CONTINUE_AFTER_KILL_ERROR) # define CONTINUE_OR_FAIL return (EXECUTION_FAILURE) --- 58,65 ---- #endif /* !errno */ extern int posixly_correct; + static void kill_error __P((pid_t, int)); + #if !defined (CONTINUE_AFTER_KILL_ERROR) # define CONTINUE_OR_FAIL return (EXECUTION_FAILURE) *************** *** 74,78 **** WORD_LIST *list; { ! int sig, any_succeeded, listing, saw_signal; char *sigspec, *word; pid_t pid; --- 75,79 ---- WORD_LIST *list; { ! int sig, any_succeeded, listing, saw_signal, dflags; char *sigspec, *word; pid_t pid; *************** *** 89,92 **** --- 90,94 ---- sigspec = "TERM"; + dflags = DSIG_NOCASE | ((posixly_correct == 0) ? DSIG_SIGPREFIX : 0); /* Process options. */ while (list) *************** *** 108,112 **** sig = 0; else ! sig = decode_signal (sigspec); list = list->next; } --- 110,114 ---- sig = 0; else ! sig = decode_signal (sigspec, dflags); list = list->next; } *************** *** 133,137 **** { sigspec = word + 1; ! sig = decode_signal (sigspec); saw_signal++; list = list->next; --- 135,139 ---- { sigspec = word + 1; ! sig = decode_signal (sigspec, dflags); saw_signal++; list = list->next; *************** *** 170,183 **** if ((pid < -1 ? kill_pid (-pid, sig, 1) : kill_pid (pid, sig, 0)) < 0) ! goto signal_error; else any_succeeded++; } else if (*list->word->word && *list->word->word != '%') { ! builtin_error ("%s: no such pid", list->word->word); CONTINUE_OR_FAIL; } ! else if (*word && (interactive || job_control)) /* Posix.2 says you can kill without job control active (4.32.4) */ { /* Must be a job spec. Check it out. */ --- 172,192 ---- if ((pid < -1 ? kill_pid (-pid, sig, 1) : kill_pid (pid, sig, 0)) < 0) ! { ! if (errno == EINVAL) ! sh_invalidsig (sigspec); ! else ! kill_error (pid, errno); ! CONTINUE_OR_FAIL; ! } else any_succeeded++; } + #if defined (JOB_CONTROL) else if (*list->word->word && *list->word->word != '%') { ! builtin_error (_("%s: arguments must be process or job IDs"), list->word->word); CONTINUE_OR_FAIL; } ! else if (*word) /* Posix.2 says you can kill without job control active (4.32.4) */ { /* Must be a job spec. Check it out. */ *************** *** 206,214 **** if (kill_pid (pid, sig, 1) < 0) { - signal_error: if (errno == EINVAL) sh_invalidsig (sigspec); else ! builtin_error ("(%ld) - %s", (long)pid, strerror (errno)); CONTINUE_OR_FAIL; } --- 215,222 ---- if (kill_pid (pid, sig, 1) < 0) { if (errno == EINVAL) sh_invalidsig (sigspec); else ! kill_error (pid, errno); CONTINUE_OR_FAIL; } *************** *** 216,219 **** --- 224,228 ---- any_succeeded++; } + #endif /* !JOB_CONTROL */ else { *************** *** 227,229 **** return (any_succeeded ? EXECUTION_SUCCESS : EXECUTION_FAILURE); } ! #endif /* JOB_CONTROL */ --- 236,250 ---- return (any_succeeded ? EXECUTION_SUCCESS : EXECUTION_FAILURE); } ! ! static void ! kill_error (pid, e) ! pid_t pid; ! int e; ! { ! char *x; ! ! x = strerror (e); ! if (x == 0) ! x = _("Unknown error"); ! builtin_error ("(%ld) - %s", (long)pid, x); ! } diff -aNrc2 bash-2.05b-patched/builtins/let.def bash-3.0/builtins/let.def *** bash-2.05b-patched/builtins/let.def Mon Apr 8 13:22:17 2002 --- bash-3.0/builtins/let.def Fri Dec 19 00:07:57 2003 *************** *** 46,50 **** || logical OR expr ? expr : expr ! conditional expression =, *=, /=, %=, +=, -=, <<=, >>=, --- 46,50 ---- || logical OR expr ? expr : expr ! conditional operator =, *=, /=, %=, +=, -=, <<=, >>=, *************** *** 73,76 **** --- 73,78 ---- #endif + #include "../bashintl.h" + #include "../shell.h" #include "common.h" *************** *** 90,94 **** if (list == 0) { ! builtin_error ("expression expected"); return (EXECUTION_FAILURE); } --- 92,96 ---- if (list == 0) { ! builtin_error (_("expression expected")); return (EXECUTION_FAILURE); } *************** *** 115,119 **** if (list == 0) { ! builtin_error ("expression expected"); return (EXECUTION_FAILURE); } --- 117,121 ---- if (list == 0) { ! builtin_error (_("expression expected")); return (EXECUTION_FAILURE); } diff -aNrc2 bash-2.05b-patched/builtins/mkbuiltins.c bash-3.0/builtins/mkbuiltins.c *** bash-2.05b-patched/builtins/mkbuiltins.c Mon Apr 8 13:22:44 2002 --- bash-3.0/builtins/mkbuiltins.c Tue Dec 9 11:42:07 2003 *************** *** 30,35 **** #ifndef _MINIX ! #include "../bashtypes.h" ! #include #endif --- 30,37 ---- #ifndef _MINIX ! # include "../bashtypes.h" ! # if defined (HAVE_SYS_FILE_H) ! # include ! # endif #endif *************** *** 1128,1131 **** --- 1130,1136 ---- fprintf (structfile, "#include \"%s\"\n", extern_filename ? extern_filename : "builtext.h"); + + fprintf (structfile, "#include \"bashintl.h\"\n"); + fprintf (structfile, "\nstruct builtin static_shell_builtins[] = {\n"); } *************** *** 1368,1373 **** } if (string_array) ! fprintf (stream, " \""); if (indentation) --- 1373,1379 ---- } + /* prefix with N_( for gettext */ if (string_array) ! fprintf (stream, " N_(\""); if (indentation) *************** *** 1391,1395 **** } ! fprintf (stream, "\",\n"); } else if (texinfo) --- 1397,1402 ---- } ! /* closing right paren for gettext */ ! fprintf (stream, "\"),\n"); } else if (texinfo) diff -aNrc2 bash-2.05b-patched/builtins/printf.def bash-3.0/builtins/printf.def *** bash-2.05b-patched/builtins/printf.def Mon May 13 14:36:04 2002 --- bash-3.0/builtins/printf.def Fri Dec 19 18:04:06 2003 *************** *** 2,6 **** It implements the builtin "printf" in Bash. ! Copyright (C) 1997-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtin "printf" in Bash. ! Copyright (C) 1997-2003 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 56,59 **** --- 56,60 ---- #include "../bashansi.h" + #include "../bashintl.h" #include "../shell.h" *************** *** 106,110 **** static void printf_erange __P((char *)); static void printstr __P((char *, char *, int, int, int)); ! static int tescape __P((char *, int, char *, int *)); static char *bexpand __P((char *, int, int *, int *)); static char *mklong __P((char *, char *, size_t)); --- 107,111 ---- static void printf_erange __P((char *)); static void printstr __P((char *, char *, int, int, int)); ! static int tescape __P((char *, char *, int *)); static char *bexpand __P((char *, int, int *, int *)); static char *mklong __P((char *, char *, size_t)); *************** *** 115,119 **** static uintmax_t getuintmax __P((void)); ! #if defined (HAVE_LONG_DOUBLE) && HAVE_DECL_STRTOLD typedef long double floatmax_t; # define FLOATMAX_CONV "L" --- 116,120 ---- static uintmax_t getuintmax __P((void)); ! #if defined (HAVE_LONG_DOUBLE) && HAVE_DECL_STRTOLD && !defined(STRTOLD_BROKEN) typedef long double floatmax_t; # define FLOATMAX_CONV "L" *************** *** 183,193 **** have_fieldwidth = have_precision = 0; - if (*fmt == '\\') { fmt++; ! /* A NULL fourth argument to tescape means to not do special ! processing for \c. */ ! fmt += tescape (fmt, 1, &nextch, (int *)NULL); putchar (nextch); fmt--; /* for loop will increment it for us again */ --- 184,193 ---- have_fieldwidth = have_precision = 0; if (*fmt == '\\') { fmt++; ! /* A NULL third argument to tescape means to bypass the ! special processing for arguments to %b. */ ! fmt += tescape (fmt, &nextch, (int *)NULL); putchar (nextch); fmt--; /* for loop will increment it for us again */ *************** *** 247,251 **** if (*fmt == 0) { ! builtin_error ("`%s': missing format character", start); PRETURN (EXECUTION_FAILURE); } --- 247,251 ---- if (*fmt == 0) { ! builtin_error (_("`%s': missing format character"), start); PRETURN (EXECUTION_FAILURE); } *************** *** 406,410 **** error message and return a failure exit status. */ default: ! builtin_error ("`%c': invalid format character", convch); PRETURN (EXECUTION_FAILURE); } --- 406,410 ---- error message and return a failure exit status. */ default: ! builtin_error (_("`%c': invalid format character"), convch); PRETURN (EXECUTION_FAILURE); } *************** *** 532,535 **** --- 532,536 ---- /* Convert STRING by expanding the escape sequences specified by the POSIX standard for printf's `%b' format string. If SAWC is non-null, + perform the processing appropriate for %b arguments. In particular, recognize `\c' and use that as a string terminator. If we see \c, set *SAWC to 1 before returning. LEN is the length of STRING. */ *************** *** 541,549 **** to short-circuit the rest of the processing. If SAWC is null, we don't do the \c short-circuiting, and \c is treated as an unrecognized escape ! sequence. */ static int ! tescape (estart, trans_squote, cp, sawc) char *estart; - int trans_squote; char *cp; int *sawc; --- 542,549 ---- to short-circuit the rest of the processing. If SAWC is null, we don't do the \c short-circuiting, and \c is treated as an unrecognized escape ! sequence; we also bypass the other processing specific to %b arguments. */ static int ! tescape (estart, cp, sawc) char *estart; char *cp; int *sawc; *************** *** 577,588 **** case 'v': *cp = '\v'; break; ! /* %b octal constants are `\0' followed by one, two, or three ! octal digits... */ ! case '0': ! /* but, as an extension, the other echo-like octal escape ! sequences are supported as well. */ ! case '1': case '2': case '3': case '4': ! case '5': case '6': case '7': ! for (temp = 2+(c=='0'), evalue = c - '0'; ISOCTAL (*p) && temp--; p++) evalue = (evalue * 8) + OCTVALUE (*p); *cp = evalue & 0xFF; --- 577,587 ---- case 'v': *cp = '\v'; break; ! /* The octal escape sequences are `\0' followed by up to three octal ! digits (if SAWC), or `\' followed by up to three octal digits (if ! !SAWC). As an extension, we allow the latter form even if SAWC. */ ! case '0': case '1': case '2': case '3': ! case '4': case '5': case '6': case '7': ! evalue = OCTVALUE (c); ! for (temp = 2 + (!evalue && !!sawc); ISOCTAL (*p) && temp--; p++) evalue = (evalue * 8) + OCTVALUE (*p); *cp = evalue & 0xFF; *************** *** 592,600 **** hex digit. */ case 'x': for (temp = 2, evalue = 0; ISXDIGIT ((unsigned char)*p) && temp--; p++) evalue = (evalue * 16) + HEXVALUE (*p); ! if (temp == 2) { ! builtin_error ("missing hex digit for \\x"); *cp = '\\'; return 0; --- 591,603 ---- hex digit. */ case 'x': + #if 0 + for (evalue = 0; ISXDIGIT ((unsigned char)*p); p++) + #else for (temp = 2, evalue = 0; ISXDIGIT ((unsigned char)*p) && temp--; p++) + #endif evalue = (evalue * 16) + HEXVALUE (*p); ! if (p == estart + 1) { ! builtin_error (_("missing hex digit for \\x")); *cp = '\\'; return 0; *************** *** 607,612 **** break; ! case '\'': /* TRANS_SQUOTE != 0 means \' -> ' */ ! if (trans_squote) *cp = c; else --- 610,618 ---- break; ! /* SAWC == 0 means that \', \", and \? are recognized as escape ! sequences, though the only processing performed is backslash ! removal. */ ! case '\'': case '"': case '?': ! if (!sawc) *cp = c; else *************** *** 658,662 **** } temp = 0; ! s += tescape (s, 0, &c, &temp); if (temp) { --- 664,668 ---- } temp = 0; ! s += tescape (s, &c, &temp); if (temp) { diff -aNrc2 bash-2.05b-patched/builtins/pushd.def bash-3.0/builtins/pushd.def *** bash-2.05b-patched/builtins/pushd.def Mon Apr 8 13:23:16 2002 --- bash-3.0/builtins/pushd.def Fri Dec 19 18:05:04 2003 *************** *** 2,6 **** builtins "pushd", "popd", and "dirs" in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- builtins "pushd", "popd", and "dirs" in Bash. ! Copyright (C) 1987-2003 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 108,111 **** --- 108,112 ---- #include "../bashansi.h" + #include "../bashintl.h" #include *************** *** 165,169 **** if (directory_list_offset == 0) { ! builtin_error ("no other directory"); return (EXECUTION_FAILURE); } --- 166,170 ---- if (directory_list_offset == 0) { ! builtin_error (_("no other directory")); return (EXECUTION_FAILURE); } *************** *** 432,436 **** temp = get_working_directory ("dirs"); if (temp == 0) ! temp = savestring (""); if (vflag & 2) printf ("%2d %s", 0, DIRSTACK_FORMAT (temp)); --- 433,437 ---- temp = get_working_directory ("dirs"); if (temp == 0) ! temp = savestring (_("")); if (vflag & 2) printf ("%2d %s", 0, DIRSTACK_FORMAT (temp)); *************** *** 649,712 **** #ifdef LOADABLE_BUILTIN static char *dirs_doc[] = { ! "Display the list of currently remembered directories. Directories", ! "find their way onto the list with the `pushd' command; you can get", ! "back up through the list with the `popd' command.", ! "", ! "The -l flag specifies that `dirs' should not print shorthand versions", ! "of directories which are relative to your home directory. This means", ! "that `~/bin' might be displayed as `/homes/bfox/bin'. The -v flag", ! "causes `dirs' to print the directory stack with one entry per line,", ! "prepending the directory name with its position in the stack. The -p", ! "flag does the same thing, but the stack position is not prepended.", ! "The -c flag clears the directory stack by deleting all of the elements.", ! "", ! "+N displays the Nth entry counting from the left of the list shown by", ! " dirs when invoked without options, starting with zero.", ! "", ! "-N displays the Nth entry counting from the right of the list shown by", ! " dirs when invoked without options, starting with zero.", (char *)NULL }; static char *pushd_doc[] = { ! "Adds a directory to the top of the directory stack, or rotates", ! "the stack, making the new top of the stack the current working", ! "directory. With no arguments, exchanges the top two directories.", ! "", ! "+N Rotates the stack so that the Nth directory (counting", ! " from the left of the list shown by `dirs', starting with", ! " zero) is at the top.", ! "", ! "-N Rotates the stack so that the Nth directory (counting", ! " from the right of the list shown by `dirs', starting with", ! " zero) is at the top.", ! "", ! "-n suppress the normal change of directory when adding directories", ! " to the stack, so only the stack is manipulated.", ! "", ! "dir adds DIR to the directory stack at the top, making it the", ! " new current working directory.", ! "", ! "You can see the directory stack with the `dirs' command.", (char *)NULL }; static char *popd_doc[] = { ! "Removes entries from the directory stack. With no arguments,", ! "removes the top directory from the stack, and cd's to the new", ! "top directory.", ! "", ! "+N removes the Nth entry counting from the left of the list", ! " shown by `dirs', starting with zero. For example: `popd +0'", ! " removes the first directory, `popd +1' the second.", ! "", ! "-N removes the Nth entry counting from the right of the list", ! " shown by `dirs', starting with zero. For example: `popd -0'", ! " removes the last directory, `popd -1' the next to last.", ! "", ! "-n suppress the normal change of directory when removing directories", ! " from the stack, so only the stack is manipulated.", ! "", ! "You can see the directory stack with the `dirs' command.", (char *)NULL }; --- 650,713 ---- #ifdef LOADABLE_BUILTIN static char *dirs_doc[] = { ! N_("Display the list of currently remembered directories. Directories"), ! N_("find their way onto the list with the `pushd' command; you can get"), ! N_("back up through the list with the `popd' command."), ! N_(""), ! N_("The -l flag specifies that `dirs' should not print shorthand versions"), ! N_("of directories which are relative to your home directory. This means"), ! N_("that `~/bin' might be displayed as `/homes/bfox/bin'. The -v flag"), ! N_("causes `dirs' to print the directory stack with one entry per line,"), ! N_("prepending the directory name with its position in the stack. The -p"), ! N_("flag does the same thing, but the stack position is not prepended."), ! N_("The -c flag clears the directory stack by deleting all of the elements."), ! N_(""), ! N_("+N displays the Nth entry counting from the left of the list shown by"), ! N_(" dirs when invoked without options, starting with zero."), ! N_(""), ! N_("-N displays the Nth entry counting from the right of the list shown by"), ! N_(" dirs when invoked without options, starting with zero."), (char *)NULL }; static char *pushd_doc[] = { ! N_("Adds a directory to the top of the directory stack, or rotates"), ! N_("the stack, making the new top of the stack the current working"), ! N_("directory. With no arguments, exchanges the top two directories."), ! N_(""), ! N_("+N Rotates the stack so that the Nth directory (counting"), ! N_(" from the left of the list shown by `dirs', starting with"), ! N_(" zero) is at the top."), ! N_(""), ! N_("-N Rotates the stack so that the Nth directory (counting"), ! N_(" from the right of the list shown by `dirs', starting with"), ! N_(" zero) is at the top."), ! N_(""), ! N_("-n suppress the normal change of directory when adding directories"), ! N_(" to the stack, so only the stack is manipulated."), ! N_(""), ! N_("dir adds DIR to the directory stack at the top, making it the"), ! N_(" new current working directory."), ! N_(""), ! N_("You can see the directory stack with the `dirs' command."), (char *)NULL }; static char *popd_doc[] = { ! N_("Removes entries from the directory stack. With no arguments,"), ! N_("removes the top directory from the stack, and cd's to the new"), ! N_("top directory."), ! N_(""), ! N_("+N removes the Nth entry counting from the left of the list"), ! N_(" shown by `dirs', starting with zero. For example: `popd +0'"), ! N_(" removes the first directory, `popd +1' the second."), ! N_(""), ! N_("-N removes the Nth entry counting from the right of the list"), ! N_(" shown by `dirs', starting with zero. For example: `popd -0'"), ! N_(" removes the last directory, `popd -1' the next to last."), ! N_(""), ! N_("-n suppress the normal change of directory when removing directories"), ! N_(" from the stack, so only the stack is manipulated."), ! N_(""), ! N_("You can see the directory stack with the `dirs' command."), (char *)NULL }; diff -aNrc2 bash-2.05b-patched/builtins/read.def bash-3.0/builtins/read.def *** bash-2.05b-patched/builtins/read.def Tue Mar 19 14:33:41 2002 --- bash-3.0/builtins/read.def Sat Jan 24 13:16:36 2004 *************** *** 2,6 **** It implements the builtin "read" in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtin "read" in Bash. ! Copyright (C) 1987-2004 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 67,70 **** --- 67,72 ---- #endif + #include "../bashintl.h" + #include "../shell.h" #include "common.h" *************** *** 203,207 **** if (code == 0 || intval < 0 || intval != (unsigned int)intval) { ! builtin_error ("%s: invalid timeout specification", list_optarg); return (EXECUTION_FAILURE); } --- 205,209 ---- if (code == 0 || intval < 0 || intval != (unsigned int)intval) { ! builtin_error (_("%s: invalid timeout specification"), list_optarg); return (EXECUTION_FAILURE); } *************** *** 226,230 **** if (code == 0 || intval < 0 || intval != (int)intval) { ! builtin_error ("%s: invalid file descriptor specification", list_optarg); return (EXECUTION_FAILURE); } --- 228,232 ---- if (code == 0 || intval < 0 || intval != (int)intval) { ! builtin_error (_("%s: invalid file descriptor specification"), list_optarg); return (EXECUTION_FAILURE); } *************** *** 233,237 **** if (sh_validfd (fd) == 0) { ! builtin_error ("%d: invalid file descriptor: %s", fd, strerror (errno)); return (EXECUTION_FAILURE); } --- 235,239 ---- if (sh_validfd (fd) == 0) { ! builtin_error (_("%d: invalid file descriptor: %s"), fd, strerror (errno)); return (EXECUTION_FAILURE); } *************** *** 459,463 **** if (retval < 0) { ! builtin_error ("read error: %d: %s", fd, strerror (errno)); return (EXECUTION_FAILURE); } --- 461,465 ---- if (retval < 0) { ! builtin_error (_("read error: %d: %s"), fd, strerror (errno)); return (EXECUTION_FAILURE); } *************** *** 498,501 **** --- 500,510 ---- if (arrayname) { + if (legal_identifier (arrayname) == 0) + { + sh_invalidid (arrayname); + xfree (input_string); + return (EXECUTION_FAILURE); + } + var = find_or_make_array_variable (arrayname, 1); if (var == 0) *************** *** 506,509 **** --- 515,519 ---- if (alist) { + word_list_remove_quoted_nulls (alist); assign_array_var_from_word_list (var, alist); dispose_words (alist); diff -aNrc2 bash-2.05b-patched/builtins/return.def bash-3.0/builtins/return.def *** bash-2.05b-patched/builtins/return.def Mon Apr 8 13:23:25 2002 --- bash-3.0/builtins/return.def Fri Dec 19 18:30:47 2003 *************** *** 2,6 **** It implements the builtin "return" in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtin "return" in Bash. ! Copyright (C) 1987-2003 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 39,42 **** --- 39,44 ---- #endif + #include "../bashintl.h" + #include "../shell.h" #include "common.h" *************** *** 59,63 **** else { ! builtin_error ("can only `return' from a function or sourced script"); return (EXECUTION_FAILURE); } --- 61,65 ---- else { ! builtin_error (_("can only `return' from a function or sourced script")); return (EXECUTION_FAILURE); } diff -aNrc2 bash-2.05b-patched/builtins/set.def bash-3.0/builtins/set.def *** bash-2.05b-patched/builtins/set.def Wed Jul 10 16:17:20 2002 --- bash-3.0/builtins/set.def Fri Dec 19 19:00:46 2003 *************** *** 34,37 **** --- 34,38 ---- #include "../bashansi.h" + #include "../bashintl.h" #include "../shell.h" *************** *** 78,81 **** --- 79,84 ---- #endif /* READLINE */ errexit same as -e + errtrace same as -E + functrace same as -T hashall same as -h #if defined (BANG_HISTORY) *************** *** 98,101 **** --- 101,107 ---- onecmd same as -t physical same as -P + pipefail the return value of a pipeline is the status of + the last command to exit with a non-zero status, + or zero if no command exited with a non-zero status posix change the behavior of bash where the default operation differs from the 1003.2 standard to *************** *** 120,123 **** --- 126,130 ---- -C If set, disallow existing regular files to be overwritten by redirection of output. + -E If set, the ERR trap is inherited by shell functions. #if defined (BANG_HISTORY) -H Enable ! style history substitution. This flag is on *************** *** 126,129 **** --- 133,137 ---- -P If set, do not follow symbolic links when executing commands such as cd which change the current directory. + -T If set, the DEBUG trap is inherited by shell functions. Using + rather than - causes these flags to be turned off. The *************** *** 173,176 **** --- 181,186 ---- #endif { "errexit", 'e', (int *)NULL, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, + { "errtrace", 'E', (int *)NULL, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, + { "functrace", 'T', (int *)NULL, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, { "hashall", 'h', (int *)NULL, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, #if defined (BANG_HISTORY) *************** *** 196,199 **** --- 206,210 ---- { "onecmd", 't', (int *)NULL, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, { "physical", 'P', (int *)NULL, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, + { "pipefail", '\0', &pipefail_opt, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, { "posix", '\0', &posixly_correct, set_posix_mode, (setopt_get_func_t *)NULL }, { "privileged", 'p', (int *)NULL, (setopt_set_func_t *)NULL, (setopt_get_func_t *)NULL }, *************** *** 730,734 **** if (unset_function && unset_variable) { ! builtin_error ("cannot simultaneously unset a function and a variable"); return (EXECUTION_FAILURE); } --- 741,745 ---- if (unset_function && unset_variable) { ! builtin_error (_("cannot simultaneously unset a function and a variable")); return (EXECUTION_FAILURE); } *************** *** 767,771 **** if (var && !unset_function && non_unsettable_p (var)) { ! builtin_error ("%s: cannot unset", name); NEXT_VARIABLE (); } --- 778,782 ---- if (var && !unset_function && non_unsettable_p (var)) { ! builtin_error (_("%s: cannot unset"), name); NEXT_VARIABLE (); } *************** *** 774,778 **** if (var && readonly_p (var)) { ! builtin_error ("%s: cannot unset: readonly %s", name, unset_function ? "function" : "variable"); NEXT_VARIABLE (); --- 785,789 ---- if (var && readonly_p (var)) { ! builtin_error (_("%s: cannot unset: readonly %s"), name, unset_function ? "function" : "variable"); NEXT_VARIABLE (); *************** *** 785,789 **** if (array_p (var) == 0) { ! builtin_error ("%s: not an array variable", name); NEXT_VARIABLE (); } --- 796,800 ---- if (array_p (var) == 0) { ! builtin_error (_("%s: not an array variable"), name); NEXT_VARIABLE (); } diff -aNrc2 bash-2.05b-patched/builtins/setattr.def bash-3.0/builtins/setattr.def *** bash-2.05b-patched/builtins/setattr.def Fri Jun 21 17:11:02 2002 --- bash-3.0/builtins/setattr.def Fri Dec 19 19:01:16 2003 *************** *** 2,6 **** It implements the builtins "export" and "readonly", in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtins "export" and "readonly", in Bash. ! Copyright (C) 1987-2003 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 33,36 **** --- 33,37 ---- #include #include "../bashansi.h" + #include "../bashintl.h" #include "../shell.h" *************** *** 76,86 **** $BUILTIN readonly $FUNCTION readonly_builtin ! $SHORT_DOC readonly [-anf] [name[=value] ...] or readonly -p The given NAMEs are marked readonly and the values of these NAMEs may not be changed by subsequent assignment. If the -f option is given, then functions corresponding to the NAMEs are so marked. If no arguments are given, or if `-p' is given, a list of all readonly names ! is printed. An argument of `-n' says to remove the readonly property ! from subsequent NAMEs. The `-a' option means to treat each NAME as an array variable. An argument of `--' disables further option processing. --- 77,86 ---- $BUILTIN readonly $FUNCTION readonly_builtin ! $SHORT_DOC readonly [-af] [name[=value] ...] or readonly -p The given NAMEs are marked readonly and the values of these NAMEs may not be changed by subsequent assignment. If the -f option is given, then functions corresponding to the NAMEs are so marked. If no arguments are given, or if `-p' is given, a list of all readonly names ! is printed. The `-a' option means to treat each NAME as an array variable. An argument of `--' disables further option processing. *************** *** 104,108 **** /* For each variable name in LIST, make that variable have the specified ATTRIBUTE. An arg of `-n' says to remove the attribute from the the ! remaining names in LIST. */ int set_or_show_attributes (list, attribute, nodefs) --- 104,108 ---- /* For each variable name in LIST, make that variable have the specified ATTRIBUTE. An arg of `-n' says to remove the attribute from the the ! remaining names in LIST (doesn't work for readonly). */ int set_or_show_attributes (list, attribute, nodefs) *************** *** 163,167 **** if (var == 0) { ! builtin_error ("%s: not a function", name); any_failed++; } --- 163,167 ---- if (var == 0) { ! builtin_error (_("%s: not a function"), name); any_failed++; } *************** *** 174,178 **** /* xxx [-np] name[=value] */ ! assign = assignment (name); if (assign) --- 174,178 ---- /* xxx [-np] name[=value] */ ! assign = assignment (name, 0); if (assign) diff -aNrc2 bash-2.05b-patched/builtins/shift.def bash-3.0/builtins/shift.def *** bash-2.05b-patched/builtins/shift.def Tue Mar 19 14:08:56 2002 --- bash-3.0/builtins/shift.def Mon Feb 9 15:02:41 2004 *************** *** 2,6 **** It implements the builtin "shift" in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtin "shift" in Bash. ! Copyright (C) 1987-2003 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 32,35 **** --- 32,36 ---- #include "../bashansi.h" + #include "../bashintl.h" #include "../shell.h" *************** *** 63,67 **** else if (times < 0) { ! sh_erange (list->word->word, "shift count"); return (EXECUTION_FAILURE); } --- 64,68 ---- else if (times < 0) { ! sh_erange (list ? list->word->word : NULL, _("shift count")); return (EXECUTION_FAILURE); } *************** *** 69,73 **** { if (print_shift_error) ! sh_erange (list->word->word, "shift count"); return (EXECUTION_FAILURE); } --- 70,74 ---- { if (print_shift_error) ! sh_erange (list ? list->word->word : NULL, _("shift count")); return (EXECUTION_FAILURE); } diff -aNrc2 bash-2.05b-patched/builtins/shopt.def bash-3.0/builtins/shopt.def *** bash-2.05b-patched/builtins/shopt.def Thu Apr 4 14:21:32 2002 --- bash-3.0/builtins/shopt.def Fri Dec 19 19:02:29 2003 *************** *** 2,6 **** It implements the Bash `shopt' builtin. ! Copyright (C) 1994-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the Bash `shopt' builtin. ! Copyright (C) 1994-2003 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 46,49 **** --- 46,51 ---- #include + #include "../bashintl.h" + #include "../shell.h" #include "../flags.h" *************** *** 56,68 **** #define OPTFMT "%-15s\t%s\n" ! extern int allow_null_glob_expansion, glob_dot_filenames; extern int cdable_vars, mail_warning, source_uses_path; extern int no_exit_on_failed_exec, print_shift_error; extern int check_hashed_filenames, promptvars; extern int cdspelling, expand_aliases; extern int check_window_size; extern int glob_ignore_case; extern int hup_on_exit; extern int xpg_echo; #if defined (EXTENDED_GLOB) --- 58,72 ---- #define OPTFMT "%-15s\t%s\n" ! extern int allow_null_glob_expansion, fail_glob_expansion, glob_dot_filenames; extern int cdable_vars, mail_warning, source_uses_path; extern int no_exit_on_failed_exec, print_shift_error; extern int check_hashed_filenames, promptvars; extern int cdspelling, expand_aliases; + extern int extended_quote; extern int check_window_size; extern int glob_ignore_case; extern int hup_on_exit; extern int xpg_echo; + extern int gnu_error_format; #if defined (EXTENDED_GLOB) *************** *** 78,81 **** --- 82,86 ---- extern int hist_verify, history_reediting, perform_hostname_completion; extern int no_empty_command_completion; + extern int force_fignore; extern int enable_hostname_completion __P((int)); #endif *************** *** 89,95 **** #endif static void shopt_error __P((char *)); ! static int set_interactive_comments __P((int)); #if defined (RESTRICTED_SHELL) --- 94,104 ---- #endif + #if defined (DEBUGGER) + extern int debugging_mode; + #endif + static void shopt_error __P((char *)); ! static int set_shellopts_after_change __P((int)); #if defined (RESTRICTED_SHELL) *************** *** 116,123 **** --- 125,139 ---- { "execfail", &no_exit_on_failed_exec, (shopt_set_func_t *)NULL }, { "expand_aliases", &expand_aliases, (shopt_set_func_t *)NULL }, + #if defined (DEBUGGER) + { "extdebug", &debugging_mode, (shopt_set_func_t *)NULL }, + #endif #if defined (EXTENDED_GLOB) { "extglob", &extended_glob, (shopt_set_func_t *)NULL }, #endif + { "extquote", &extended_quote, (shopt_set_func_t *)NULL }, + { "failglob", &fail_glob_expansion, (shopt_set_func_t *)NULL }, #if defined (READLINE) + { "force_fignore", &force_fignore, (shopt_set_func_t *)NULL }, + { "gnu_errfmt", &gnu_error_format, (shopt_set_func_t *)NULL }, { "histreedit", &history_reediting, (shopt_set_func_t *)NULL }, #endif *************** *** 130,134 **** #endif { "huponexit", &hup_on_exit, (shopt_set_func_t *)NULL }, ! { "interactive_comments", &interactive_comments, set_interactive_comments }, #if defined (HISTORY) { "lithist", &literal_history, (shopt_set_func_t *)NULL }, --- 146,150 ---- #endif { "huponexit", &hup_on_exit, (shopt_set_func_t *)NULL }, ! { "interactive_comments", &interactive_comments, set_shellopts_after_change }, #if defined (HISTORY) { "lithist", &literal_history, (shopt_set_func_t *)NULL }, *************** *** 208,212 **** if ((flags & (SFLAG|UFLAG)) == (SFLAG|UFLAG)) { ! builtin_error ("cannot set and unset shell options simultaneously"); return (EXECUTION_FAILURE); } --- 224,228 ---- if ((flags & (SFLAG|UFLAG)) == (SFLAG|UFLAG)) { ! builtin_error (_("cannot set and unset shell options simultaneously")); return (EXECUTION_FAILURE); } *************** *** 273,277 **** char *s; { ! builtin_error ("%s: invalid shell option name", s); } --- 289,293 ---- char *s; { ! builtin_error (_("%s: invalid shell option name"), s); } *************** *** 436,440 **** change is reflected in $SHELLOPTS. */ static int ! set_interactive_comments (mode) int mode; { --- 452,456 ---- change is reflected in $SHELLOPTS. */ static int ! set_shellopts_after_change (mode) int mode; { diff -aNrc2 bash-2.05b-patched/builtins/source.def bash-3.0/builtins/source.def *** bash-2.05b-patched/builtins/source.def Fri May 10 12:36:56 2002 --- bash-3.0/builtins/source.def Fri Dec 19 19:03:06 2003 *************** *** 2,6 **** It implements the builtins "." and "source" in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtins "." and "source" in Bash. ! Copyright (C) 1987-2003 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 24,37 **** $BUILTIN source $FUNCTION source_builtin ! $SHORT_DOC source filename Read and execute commands from FILENAME and return. The pathnames ! in $PATH are used to find the directory containing FILENAME. $END $BUILTIN . $DOCNAME dot $FUNCTION source_builtin ! $SHORT_DOC . filename Read and execute commands from FILENAME and return. The pathnames ! in $PATH are used to find the directory containing FILENAME. $END /* source.c - Implements the `.' and `source' builtins. */ --- 24,41 ---- $BUILTIN source $FUNCTION source_builtin ! $SHORT_DOC source filename [arguments] Read and execute commands from FILENAME and return. The pathnames ! in $PATH are used to find the directory containing FILENAME. If any ! ARGUMENTS are supplied, they become the positional parameters when ! FILENAME is executed. $END $BUILTIN . $DOCNAME dot $FUNCTION source_builtin ! $SHORT_DOC . filename [arguments] Read and execute commands from FILENAME and return. The pathnames ! in $PATH are used to find the directory containing FILENAME. If any ! ARGUMENTS are supplied, they become the positional parameters when ! FILENAME is executed. $END /* source.c - Implements the `.' and `source' builtins. */ *************** *** 42,46 **** #include "posixstat.h" #include "filecntl.h" ! #ifndef _MINIX # include #endif --- 46,50 ---- #include "posixstat.h" #include "filecntl.h" ! #if ! defined(_MINIX) && defined (HAVE_SYS_FILE_H) # include #endif *************** *** 52,60 **** --- 56,67 ---- #include "../bashansi.h" + #include "../bashintl.h" #include "../shell.h" + #include "../flags.h" #include "../findcmd.h" #include "common.h" #include "bashgetopt.h" + #include "../trap.h" #if !defined (errno) *************** *** 86,89 **** --- 93,98 ---- else pop_dollar_vars (); + if (debugging_mode) + pop_args (); /* restore BASH_ARGC and BASH_ARGV */ set_dollar_vars_unchanged (); } *************** *** 98,102 **** { int result; ! char *filename; if (no_options (list)) --- 107,111 ---- { int result; ! char *filename, *debug_trap; if (no_options (list)) *************** *** 106,110 **** if (list == 0) { ! builtin_error ("filename argument required"); builtin_usage (); return (EX_USAGE); --- 115,119 ---- if (list == 0) { ! builtin_error (_("filename argument required")); builtin_usage (); return (EX_USAGE); *************** *** 126,130 **** if (source_searches_cwd == 0) { ! builtin_error ("%s: file not found", list->word->word); return (EXECUTION_FAILURE); } --- 135,139 ---- if (source_searches_cwd == 0) { ! builtin_error (_("%s: file not found"), list->word->word); return (EXECUTION_FAILURE); } *************** *** 141,148 **** add_unwind_protect ((Function *)maybe_pop_dollar_vars, (char *)NULL); remember_args (list->next, 1); } set_dollar_vars_unchanged (); ! result = source_file (filename); run_unwind_frame ("source"); --- 150,171 ---- add_unwind_protect ((Function *)maybe_pop_dollar_vars, (char *)NULL); remember_args (list->next, 1); + if (debugging_mode) + push_args (list->next); /* Update BASH_ARGV and BASH_ARGC */ } set_dollar_vars_unchanged (); ! /* Don't inherit the DEBUG trap unless function_trace_mode (overloaded) ! is set. XXX - should sourced files inherit the RETURN trap? Functions ! don't. */ ! debug_trap = TRAP_STRING (DEBUG_TRAP); ! if (debug_trap && function_trace_mode == 0) ! { ! debug_trap = savestring (debug_trap); ! add_unwind_protect (xfree, debug_trap); ! add_unwind_protect (set_debug_trap, debug_trap); ! restore_default_signal (DEBUG_TRAP); ! } ! ! result = source_file (filename, (list && list->next)); run_unwind_frame ("source"); diff -aNrc2 bash-2.05b-patched/builtins/suspend.def bash-3.0/builtins/suspend.def *** bash-2.05b-patched/builtins/suspend.def Tue Mar 19 13:03:15 2002 --- bash-3.0/builtins/suspend.def Fri Dec 19 19:03:42 2003 *************** *** 2,6 **** It implements the builtin "suspend" in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtin "suspend" in Bash. ! Copyright (C) 1987-2003 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 43,46 **** --- 43,47 ---- #include "../bashtypes.h" #include + #include "../bashintl.h" #include "../shell.h" #include "../jobs.h" *************** *** 90,94 **** if (job_control == 0) { ! sh_nojobs ("cannot suspend"); return (EXECUTION_FAILURE); } --- 91,95 ---- if (job_control == 0) { ! sh_nojobs (_("cannot suspend")); return (EXECUTION_FAILURE); } *************** *** 100,108 **** if (login_shell) { ! builtin_error ("cannot suspend a login shell"); return (EXECUTION_FAILURE); } } old_cont = (SigHandler *)set_signal_handler (SIGCONT, suspend_continue); #if 0 --- 101,112 ---- if (login_shell) { ! builtin_error (_("cannot suspend a login shell")); return (EXECUTION_FAILURE); } } + /* XXX - should we put ourselves back into the original pgrp now? If so, + call end_job_control() here and do the right thing in suspend_continue + (that is, call restart_job_control()). */ old_cont = (SigHandler *)set_signal_handler (SIGCONT, suspend_continue); #if 0 diff -aNrc2 bash-2.05b-patched/builtins/trap.def bash-3.0/builtins/trap.def *** bash-2.05b-patched/builtins/trap.def Tue Mar 19 12:40:18 2002 --- bash-3.0/builtins/trap.def Thu May 27 22:26:19 2004 *************** *** 2,6 **** It implements the builtin "trap" in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtin "trap" in Bash. ! Copyright (C) 1987-2004 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 24,41 **** $BUILTIN trap $FUNCTION trap_builtin ! $SHORT_DOC trap [arg] [signal_spec ...] or trap -l The command ARG is to be read and executed when the shell receives ! signal(s) SIGNAL_SPEC. If ARG is absent all specified signals are ! reset to their original values. If ARG is the null string each ! SIGNAL_SPEC is ignored by the shell and by the commands it invokes. ! If a SIGNAL_SPEC is EXIT (0) the command ARG is executed on exit from ! the shell. If a SIGNAL_SPEC is DEBUG, ARG is executed after every ! command. If ARG is `-p' then the trap commands associated with ! each SIGNAL_SPEC are displayed. If no arguments are supplied or if ! only `-p' is given, trap prints the list of commands associated with ! each signal number. Each SIGNAL_SPEC is either a signal name in ! or a signal number. `trap -l' prints a list of signal names and their ! corresponding numbers. Note that a signal can be sent to the shell ! with "kill -signal $$". $END --- 24,42 ---- $BUILTIN trap $FUNCTION trap_builtin ! $SHORT_DOC trap [-lp] [[arg] signal_spec ...] The command ARG is to be read and executed when the shell receives ! signal(s) SIGNAL_SPEC. If ARG is absent (and a single SIGNAL_SPEC ! is supplied) or `-', each specified signal is reset to its original ! value. If ARG is the null string each SIGNAL_SPEC is ignored by the ! shell and by the commands it invokes. If a SIGNAL_SPEC is EXIT (0) ! the command ARG is executed on exit from the shell. If a SIGNAL_SPEC ! is DEBUG, ARG is executed after every simple command. If the`-p' option ! is supplied then the trap commands associated with each SIGNAL_SPEC are ! displayed. If no arguments are supplied or if only `-p' is given, trap ! prints the list of commands associated with each signal. Each SIGNAL_SPEC ! is either a signal name in or a signal number. Signal names ! are case insensitive and the SIG prefix is optional. `trap -l' prints ! a list of signal names and their corresponding numbers. Note that a ! signal can be sent to the shell with "kill -signal $$". $END *************** *** 109,112 **** --- 110,115 ---- list = loptend; + opt = DSIG_NOCASE|DSIG_SIGPREFIX; /* flags for decode_signal */ + if (list_signal_names) return (display_signal_list ((WORD_LIST *)NULL, 1)); *************** *** 120,130 **** operation = SET; first_arg = list->word->word; ! if (first_arg && *first_arg && (*first_arg != '-' || first_arg[1]) && ! signal_object_p (first_arg)) operation = REVERT; else { list = list->next; ! if (*first_arg == '\0') operation = IGNORE; else if (first_arg[0] == '-' && !first_arg[1]) --- 123,142 ---- operation = SET; first_arg = list->word->word; ! /* When in posix mode, the historical behavior of looking for a ! missing first argument is disabled. To revert to the original ! signal handling disposition, use `-' as the first argument. */ ! if (posixly_correct == 0 && first_arg && *first_arg && ! (*first_arg != '-' || first_arg[1]) && ! signal_object_p (first_arg, opt) && list->next == 0) operation = REVERT; else { list = list->next; ! if (list == 0) ! { ! builtin_usage (); ! return (EX_USAGE); ! } ! else if (*first_arg == '\0') operation = IGNORE; else if (first_arg[0] == '-' && !first_arg[1]) *************** *** 134,138 **** while (list) { ! sig = decode_signal (list->word->word); if (sig == NO_SIG) --- 146,150 ---- while (list) { ! sig = decode_signal (list->word->word, opt); if (sig == NO_SIG) *************** *** 236,240 **** for (result = EXECUTION_SUCCESS; list; list = list->next) { ! i = decode_signal (list->word->word); if (i == NO_SIG) { --- 248,252 ---- for (result = EXECUTION_SUCCESS; list; list = list->next) { ! i = decode_signal (list->word->word, DSIG_NOCASE|DSIG_SIGPREFIX); if (i == NO_SIG) { diff -aNrc2 bash-2.05b-patched/builtins/type.def bash-3.0/builtins/type.def *** bash-2.05b-patched/builtins/type.def Tue Mar 19 10:41:37 2002 --- bash-3.0/builtins/type.def Fri Dec 19 19:05:51 2003 *************** *** 59,62 **** --- 59,63 ---- #include #include "../bashansi.h" + #include "../bashintl.h" #include "../shell.h" *************** *** 74,77 **** --- 75,79 ---- extern char *this_command_name; + extern int expand_aliases; /* For each word in LIST, find out what the shell is going to do with *************** *** 222,231 **** #if defined (ALIAS) /* Command is an alias? */ ! if (((dflags & CDESC_FORCE_PATH) == 0) && (alias = find_alias (command))) { if (dflags & CDESC_TYPE) puts ("alias"); else if (dflags & CDESC_SHORTDESC) ! printf ("%s is aliased to `%s'\n", command, alias->value); else if (dflags & CDESC_REUSABLE) { --- 224,233 ---- #if defined (ALIAS) /* Command is an alias? */ ! if (((dflags & CDESC_FORCE_PATH) == 0) && expand_aliases && (alias = find_alias (command))) { if (dflags & CDESC_TYPE) puts ("alias"); else if (dflags & CDESC_SHORTDESC) ! printf (_("%s is aliased to `%s'\n"), command, alias->value); else if (dflags & CDESC_REUSABLE) { *************** *** 248,252 **** puts ("keyword"); else if (dflags & CDESC_SHORTDESC) ! printf ("%s is a shell keyword\n", command); else if (dflags & CDESC_REUSABLE) printf ("%s\n", command); --- 250,254 ---- puts ("keyword"); else if (dflags & CDESC_SHORTDESC) ! printf (_("%s is a shell keyword\n"), command); else if (dflags & CDESC_REUSABLE) printf ("%s\n", command); *************** *** 268,272 **** char *result; ! printf ("%s is a function\n", command); /* We're blowing away THE_PRINTED_COMMAND here... */ --- 270,274 ---- char *result; ! printf (_("%s is a function\n"), command); /* We're blowing away THE_PRINTED_COMMAND here... */ *************** *** 293,297 **** puts ("builtin"); else if (dflags & CDESC_SHORTDESC) ! printf ("%s is a shell builtin\n", command); else if (dflags & CDESC_REUSABLE) printf ("%s\n", command); --- 295,299 ---- puts ("builtin"); else if (dflags & CDESC_SHORTDESC) ! printf (_("%s is a shell builtin\n"), command); else if (dflags & CDESC_REUSABLE) printf ("%s\n", command); *************** *** 314,318 **** puts ("file"); else if (dflags & CDESC_SHORTDESC) ! printf ("%s is %s\n", command, command); else if (dflags & (CDESC_REUSABLE|CDESC_PATH_ONLY)) printf ("%s\n", command); --- 316,320 ---- puts ("file"); else if (dflags & CDESC_SHORTDESC) ! printf (_("%s is %s\n"), command, command); else if (dflags & (CDESC_REUSABLE|CDESC_PATH_ONLY)) printf ("%s\n", command); *************** *** 334,338 **** puts ("file"); else if (dflags & CDESC_SHORTDESC) ! printf ("%s is hashed (%s)\n", command, full_path); else if (dflags & (CDESC_REUSABLE|CDESC_PATH_ONLY)) printf ("%s\n", full_path); --- 336,340 ---- puts ("file"); else if (dflags & CDESC_SHORTDESC) ! printf (_("%s is hashed (%s)\n"), command, full_path); else if (dflags & (CDESC_REUSABLE|CDESC_PATH_ONLY)) printf ("%s\n", full_path); diff -aNrc2 bash-2.05b-patched/builtins/ulimit.def bash-3.0/builtins/ulimit.def *** bash-2.05b-patched/builtins/ulimit.def Tue Mar 19 14:39:14 2002 --- bash-3.0/builtins/ulimit.def Fri Dec 19 19:07:27 2003 *************** *** 2,6 **** It implements the builtin "ulimit" in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtin "ulimit" in Bash. ! Copyright (C) 1987-2003 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 71,74 **** --- 71,76 ---- #include + #include "../bashintl.h" + #include "../shell.h" #include "common.h" *************** *** 328,332 **** if (STREQ (list->word->word, "unlimited") == 0) { ! builtin_error ("%s: invalid limit argument", list->word->word); return (EXECUTION_FAILURE); } --- 330,334 ---- if (STREQ (list->word->word, "unlimited") == 0) { ! builtin_error (_("%s: invalid limit argument"), list->word->word); return (EXECUTION_FAILURE); } *************** *** 354,358 **** if (limind == -1) { ! builtin_error ("`%c': bad command", cmdlist[c].cmd); return (EX_USAGE); } --- 356,360 ---- if (limind == -1) { ! builtin_error (_("`%c': bad command"), cmdlist[c].cmd); return (EX_USAGE); } *************** *** 383,387 **** if (opt < 0) { ! builtin_error ("%s: cannot get limit: %s", limits[limind].description, strerror (errno)); return (EXECUTION_FAILURE); --- 385,389 ---- if (opt < 0) { ! builtin_error (_("%s: cannot get limit: %s"), limits[limind].description, strerror (errno)); return (EXECUTION_FAILURE); *************** *** 421,425 **** if (set_limit (limind, real_limit, mode) < 0) { ! builtin_error ("%s: cannot modify limit: %s", limits[limind].description, strerror (errno)); return (EXECUTION_FAILURE); --- 423,427 ---- if (set_limit (limind, real_limit, mode) < 0) { ! builtin_error (_("%s: cannot modify limit: %s"), limits[limind].description, strerror (errno)); return (EXECUTION_FAILURE); diff -aNrc2 bash-2.05b-patched/builtins/umask.def bash-3.0/builtins/umask.def *** bash-2.05b-patched/builtins/umask.def Tue Mar 19 14:29:37 2002 --- bash-3.0/builtins/umask.def Fri Jul 16 21:02:58 2004 *************** *** 2,6 **** It implements the builtin "umask" in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtin "umask" in Bash. ! Copyright (C) 1987-2004 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 38,42 **** #include "../bashtypes.h" #include "filecntl.h" ! #ifndef _MINIX # include #endif --- 38,42 ---- #include "../bashtypes.h" #include "filecntl.h" ! #if ! defined(_MINIX) && defined (HAVE_SYS_FILE_H) # include #endif *************** *** 49,52 **** --- 49,54 ---- #include + #include "../bashintl.h" + #include "../shell.h" #include "posixstat.h" *************** *** 108,112 **** if (umask_value == -1) { ! sh_erange (list->word->word, "octal number"); return (EXECUTION_FAILURE); } --- 110,114 ---- if (umask_value == -1) { ! sh_erange (list->word->word, _("octal number")); return (EXECUTION_FAILURE); } *************** *** 222,226 **** break; default: ! builtin_error ("`%c': invalid symbolic mode operator", op); return (-1); } --- 224,228 ---- break; default: ! builtin_error (_("`%c': invalid symbolic mode operator"), op); return (-1); } *************** *** 261,264 **** --- 263,268 ---- break; case '=': + if (who == 0) + who = S_IRWXU | S_IRWXG | S_IRWXO; bits &= ~who; bits |= perm; *************** *** 275,279 **** else { ! builtin_error ("`%c': invalid symbolic mode character", *s); return (-1); } --- 279,283 ---- else { ! builtin_error (_("`%c': invalid symbolic mode character"), *s); return (-1); } *************** *** 299,303 **** more intuitive and easier to deal with. It is complemented again before being returned. */ ! bits = parse_symbolic_mode (list->word->word, ~um); if (bits == -1) return (-1); --- 303,307 ---- more intuitive and easier to deal with. It is complemented again before being returned. */ ! bits = parse_symbolic_mode (list->word->word, ~um & 0777); if (bits == -1) return (-1); diff -aNrc2 bash-2.05b-patched/builtins/wait.def bash-3.0/builtins/wait.def *** bash-2.05b-patched/builtins/wait.def Mon Apr 8 13:25:00 2002 --- bash-3.0/builtins/wait.def Fri Apr 23 17:39:07 2004 *************** *** 2,6 **** It implements the builtin "wait" in Bash. ! Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 2,6 ---- It implements the builtin "wait" in Bash. ! Copyright (C) 1987-2004 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 142,146 **** } #if defined (JOB_CONTROL) ! else if (job_control && *w) /* Must be a job spec. Check it out. */ { --- 142,146 ---- } #if defined (JOB_CONTROL) ! else if (*w && *w == '%') /* Must be a job spec. Check it out. */ { *************** *** 164,173 **** UNBLOCK_CHILD (oset); status = wait_for_job (job); - } - else if (job_control == 0 && *w == '%') - { - /* can't use jobspecs as arguments if job control is not active. */ - sh_nojobs ((char *)NULL); - status = EXECUTION_FAILURE; } #endif /* JOB_CONTROL */ --- 164,167 ---- diff -aNrc2 bash-2.05b-patched/command.h bash-3.0/command.h *** bash-2.05b-patched/command.h Tue Mar 12 15:28:36 2002 --- bash-3.0/command.h Fri Sep 12 15:13:04 2003 *************** *** 68,79 **** /* Possible values for the `flags' field of a WORD_DESC. */ ! #define W_HASDOLLAR 0x01 /* Dollar sign present. */ ! #define W_QUOTED 0x02 /* Some form of quote character is present. */ ! #define W_ASSIGNMENT 0x04 /* This word is a variable assignment. */ ! #define W_GLOBEXP 0x08 /* This word is the result of a glob expansion. */ ! #define W_NOSPLIT 0x10 /* Do not perform word splitting on this word. */ ! #define W_NOGLOB 0x20 /* Do not perform globbing on this word. */ ! #define W_NOSPLIT2 0x40 /* Don't split word except for $@ expansion. */ ! #define W_TILDEEXP 0x80 /* Tilde expand this assignment word */ /* Possible values for subshell_environment */ --- 68,82 ---- /* Possible values for the `flags' field of a WORD_DESC. */ ! #define W_HASDOLLAR 0x0001 /* Dollar sign present. */ ! #define W_QUOTED 0x0002 /* Some form of quote character is present. */ ! #define W_ASSIGNMENT 0x0004 /* This word is a variable assignment. */ ! #define W_GLOBEXP 0x0008 /* This word is the result of a glob expansion. */ ! #define W_NOSPLIT 0x0010 /* Do not perform word splitting on this word. */ ! #define W_NOGLOB 0x0020 /* Do not perform globbing on this word. */ ! #define W_NOSPLIT2 0x0040 /* Don't split word except for $@ expansion. */ ! #define W_TILDEEXP 0x0080 /* Tilde expand this assignment word */ ! #define W_DOLLARAT 0x0100 /* $@ and its special handling */ ! #define W_DOLLARSTAR 0x0200 /* $* and its special handling */ ! #define W_NOCOMSUB 0x0400 /* Don't perform command substitution on this word */ /* Possible values for subshell_environment */ *************** *** 196,199 **** --- 199,203 ---- typedef struct case_com { int flags; /* See description of CMD flags. */ + int line; /* line number the `case' keyword appears on */ WORD_DESC *word; /* The thing to test. */ PATTERN_LIST *clauses; /* The clauses to test against, or NULL. */ *************** *** 203,206 **** --- 207,211 ---- typedef struct for_com { int flags; /* See description of CMD flags. */ + int line; /* line number the `for' keyword appears on */ WORD_DESC *name; /* The variable name to get mapped over. */ WORD_LIST *map_list; /* The things to map over. This is never NULL. */ *************** *** 225,228 **** --- 230,234 ---- typedef struct select_com { int flags; /* See description of CMD flags. */ + int line; /* line number the `select' keyword appears on */ WORD_DESC *name; /* The variable name to get mapped over. */ WORD_LIST *map_list; /* The things to map over. This is never NULL. */ *************** *** 254,259 **** typedef struct arith_com { int flags; - WORD_LIST *exp; int line; } ARITH_COM; #endif /* DPAREN_ARITHMETIC */ --- 260,265 ---- typedef struct arith_com { int flags; int line; + WORD_LIST *exp; } ARITH_COM; #endif /* DPAREN_ARITHMETIC */ *************** *** 279,286 **** typedef struct simple_com { int flags; /* See description of CMD flags. */ WORD_LIST *words; /* The program name, the arguments, variable assignments, etc. */ REDIRECT *redirects; /* Redirections to perform. */ - int line; /* line number the command starts on */ } SIMPLE_COM; --- 285,292 ---- typedef struct simple_com { int flags; /* See description of CMD flags. */ + int line; /* line number the command starts on */ WORD_LIST *words; /* The program name, the arguments, variable assignments, etc. */ REDIRECT *redirects; /* Redirections to perform. */ } SIMPLE_COM; *************** *** 288,294 **** typedef struct function_def { int flags; /* See description of CMD flags. */ WORD_DESC *name; /* The name of the function. */ COMMAND *command; /* The parsed execution tree. */ ! int line; /* Line number the function def starts on. */ } FUNCTION_DEF; --- 294,301 ---- typedef struct function_def { int flags; /* See description of CMD flags. */ + int line; /* Line number the function def starts on. */ WORD_DESC *name; /* The name of the function. */ COMMAND *command; /* The parsed execution tree. */ ! char *source_file; /* file in which function was defined, if any */ } FUNCTION_DEF; *************** *** 316,319 **** --- 323,329 ---- /* Forward declarations of functions declared in copy_cmd.c. */ + + extern FUNCTION_DEF *copy_function_def_contents __P((FUNCTION_DEF *, FUNCTION_DEF *)); + extern FUNCTION_DEF *copy_function_def __P((FUNCTION_DEF *)); extern WORD_DESC *copy_word __P((WORD_DESC *)); diff -aNrc2 bash-2.05b-patched/config-bot.h bash-3.0/config-bot.h *** bash-2.05b-patched/config-bot.h Tue Apr 16 17:01:03 2002 --- bash-3.0/config-bot.h Fri Mar 19 17:56:23 2004 *************** *** 20,23 **** --- 20,27 ---- Foundation, 59 Temple Place, Suite 330, Boston, MA 02111 USA. */ + /*********************************************************/ + /* Modify or set defines based on the configure results. */ + /*********************************************************/ + #if !defined (HAVE_VPRINTF) && defined (HAVE_DOPRNT) # define USE_VFPRINTF_EMULATION *************** *** 25,28 **** --- 29,68 ---- #endif + #if defined (HAVE_SYS_RESOURCE_H) && defined (HAVE_GETRLIMIT) + # define HAVE_RESOURCE + #endif + + #if !defined (GETPGRP_VOID) + # define HAVE_BSD_PGRP + #endif + + /* Try this without testing __STDC__ for the time being. */ + #if defined (HAVE_STDARG_H) + # define PREFER_STDARG + # define USE_VARARGS + #else + # if defined (HAVE_VARARGS_H) + # define PREFER_VARARGS + # define USE_VARARGS + # endif + #endif + + #if defined (HAVE_SYS_SOCKET_H) && defined (HAVE_GETPEERNAME) && defined (HAVE_NETINET_IN_H) + # define HAVE_NETWORK + #endif + + #if defined (HAVE_REGEX_H) && defined (HAVE_REGCOMP) && defined (HAVE_REGEXEC) + # define HAVE_POSIX_REGEXP + #endif + + /* backwards compatibility between different autoconf versions */ + #if HAVE_DECL_SYS_SIGLIST && !defined (SYS_SIGLIST_DECLARED) + # define SYS_SIGLIST_DECLARED + #endif + + /***********************************************************************/ + /* Unset defines based on what configure reports as missing or broken. */ + /***********************************************************************/ + /* Ultrix botches type-ahead when switching from canonical to non-canonical mode, at least through version 4.3 */ *************** *** 37,50 **** #endif ! #if defined (HAVE_SYS_RESOURCE_H) && defined (HAVE_GETRLIMIT) ! # define HAVE_RESOURCE #endif ! #if !defined (GETPGRP_VOID) ! # define HAVE_BSD_PGRP #endif ! #if !defined (HAVE_DEV_FD) && defined (NAMED_PIPES_MISSING) ! # undef PROCESS_SUBSTITUTION #endif --- 77,94 ---- #endif ! #if !defined (HAVE_DEV_FD) && defined (NAMED_PIPES_MISSING) ! # undef PROCESS_SUBSTITUTION #endif ! #if defined (JOB_CONTROL_MISSING) ! # undef JOB_CONTROL #endif ! #if defined (STRCOLL_BROKEN) ! # undef HAVE_STRCOLL ! #endif ! ! #if !defined (HAVE_POSIX_REGEXP) ! # undef COND_REGEXP #endif *************** *** 54,57 **** --- 98,105 ---- #endif + /***********************************************************/ + /* Make sure feature defines have necessary prerequisites. */ + /***********************************************************/ + /* BANG_HISTORY requires HISTORY. */ #if defined (BANG_HISTORY) && !defined (HISTORY) *************** *** 71,96 **** #endif - #if defined (JOB_CONTROL_MISSING) - # undef JOB_CONTROL - #endif - - #if defined (__STDC__) && defined (HAVE_STDARG_H) - # define PREFER_STDARG - # define USE_VARARGS - #else - # if defined (HAVE_VARARGS_H) - # define PREFER_VARARGS - # define USE_VARARGS - # endif - #endif - - #if defined (STRCOLL_BROKEN) - # undef HAVE_STRCOLL - #endif - - #if defined (HAVE_SYS_SOCKET_H) && defined (HAVE_GETPEERNAME) && defined (HAVE_NETINET_IN_H) - # define HAVE_NETWORK - #endif - #if !defined (PROMPT_STRING_DECODE) # undef PPROMPT --- 119,122 ---- *************** *** 108,116 **** # include # include ! # if defined (HAVE_MBSRTOWCS) /* system is supposed to support XPG5 */ # define HANDLE_MULTIBYTE 1 # endif #endif /* Some systems, like BeOS, have multibyte encodings but lack mbstate_t. */ #if HANDLE_MULTIBYTE && !defined (HAVE_MBSTATE_T) --- 134,149 ---- # include # include ! # if defined (HAVE_MBSRTOWCS) && defined (HAVE_MBRTOWC) && defined (HAVE_MBRLEN) && defined (HAVE_WCWIDTH) ! /* system is supposed to support XPG5 */ # define HANDLE_MULTIBYTE 1 # endif #endif + /* If we don't want multibyte chars even on a system that supports them, let + the configuring user turn multibyte support off. */ + #if defined (NO_MULTIBYTE_SUPPORT) + # undef HANDLE_MULTIBYTE + #endif + /* Some systems, like BeOS, have multibyte encodings but lack mbstate_t. */ #if HANDLE_MULTIBYTE && !defined (HAVE_MBSTATE_T) *************** *** 138,139 **** --- 171,181 ---- /* end of multibyte capability checks for I18N */ /************************************************/ + + /******************************************************************/ + /* Placeholder for builders to #undef any unwanted features from */ + /* config-top.h or created by configure (such as the default mail */ + /* file for mail checking). */ + /******************************************************************/ + + /* If you don't want bash to provide a default mail file to check. */ + /* #undef DEFAULT_MAIL_DIRECTORY */ diff -aNrc2 bash-2.05b-patched/config-top.h bash-3.0/config-top.h *** bash-2.05b-patched/config-top.h Tue Apr 16 17:01:17 2002 --- bash-3.0/config-top.h Tue Aug 5 10:36:12 2003 *************** *** 53,57 **** #ifndef DEFAULT_PATH_VALUE #define DEFAULT_PATH_VALUE \ ! "/usr/gnu/bin:/usr/local/bin:/usr/ucb:/bin:/usr/bin:." #endif --- 53,57 ---- #ifndef DEFAULT_PATH_VALUE #define DEFAULT_PATH_VALUE \ ! "/usr/gnu/bin:/usr/local/bin:/bin:/usr/bin:." #endif *************** *** 60,64 **** #ifndef STANDARD_UTILS_PATH #define STANDARD_UTILS_PATH \ ! "/bin:/usr/bin:/usr/ucb:/sbin:/usr/sbin:/etc:/usr/etc" #endif --- 60,64 ---- #ifndef STANDARD_UTILS_PATH #define STANDARD_UTILS_PATH \ ! "/bin:/usr/bin:/sbin:/usr/sbin:/etc:/usr/etc" #endif diff -aNrc2 bash-2.05b-patched/config.h.in bash-3.0/config.h.in *** bash-2.05b-patched/config.h.in Tue Jun 25 09:48:52 2002 --- bash-3.0/config.h.in Wed Jul 21 16:08:31 2004 *************** *** 1,5 **** /* config.h -- Configuration file for bash. */ ! /* Copyright (C) 1987-2002 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. --- 1,5 ---- /* config.h -- Configuration file for bash. */ ! /* Copyright (C) 1987-2004 Free Software Foundation, Inc. This file is part of GNU Bash, the Bourne Again SHell. *************** *** 120,123 **** --- 120,127 ---- #undef COND_COMMAND + /* Define COND_REGEXP if you want extended regular expression matching and the + =~ binary operator in the [[...]] conditional command. */ + #define COND_REGEXP + /* Define ARITH_FOR_COMMAND if you want the ksh93-style for (( init; test; step )) do list; done *************** *** 133,136 **** --- 137,148 ---- #undef PROGRAMMABLE_COMPLETION + /* Define NO_MULTIBYTE_SUPPORT to not compile in support for multibyte + characters, even if the OS supports them. */ + #undef NO_MULTIBYTE_SUPPORT + + /* Define DEBUGGER if you want to compile in some features used only by the + bash debugger. */ + #undef DEBUGGER + /* Define MEMSCRAMBLE if you want the bash malloc and free to scramble memory contents on malloc() and free(). */ *************** *** 140,143 **** --- 152,157 ---- #undef AFS + #undef ENABLE_NLS + /* End of configuration settings controllable by autoconf. */ /* Other settable options appear in config-top.h. */ *************** *** 315,318 **** --- 329,333 ---- /* Define if `sys_siglist' is declared by or . */ + #undef HAVE_DECL_SYS_SIGLIST #undef SYS_SIGLIST_DECLARED *************** *** 326,331 **** #undef HAVE_SYS_ERRLIST - #undef HAVE_TIMEVAL - #undef HAVE_TZNAME --- 341,344 ---- *************** *** 333,339 **** /* Characteristics of some of the system structures. */ ! #undef STRUCT_DIRENT_HAS_D_INO ! #undef STRUCT_DIRENT_HAS_D_FILENO #undef TIOCSTAT_IN_SYS_IOCTL --- 346,354 ---- /* Characteristics of some of the system structures. */ ! #undef HAVE_STRUCT_DIRENT_D_INO ! ! #undef HAVE_STRUCT_DIRENT_D_FILENO ! #undef HAVE_STRUCT_DIRENT_D_NAMLEN #undef TIOCSTAT_IN_SYS_IOCTL *************** *** 360,363 **** --- 375,382 ---- #undef HAVE_TM_ZONE + #undef HAVE_TIMEVAL + + #undef HAVE_STRUCT_TIMEZONE + /* Characteristics of definitions in the system header files. */ *************** *** 381,384 **** --- 400,404 ---- #undef HAVE_DECL_STRTOLD + #undef STRTOLD_BROKEN #undef HAVE_MBSTATE_T *************** *** 421,424 **** --- 441,446 ---- #undef HAVE_PRINTF_A_FORMAT + #undef CTYPE_NON_ASCII + /* Define if you have and nl_langinfo(CODESET). */ #undef HAVE_LANGINFO_CODESET *************** *** 466,472 **** #undef HAVE_BCOPY - /* Define if you have the bindtextdomain function. */ - #undef HAVE_BINDTEXTDOMAIN - /* Define if you have the bzero function. */ #undef HAVE_BZERO --- 488,491 ---- *************** *** 526,532 **** #undef HAVE_GETSERVENT - /* Define if you have the gettext function. */ - #undef HAVE_GETTEXT - /* Define if you have the gettimeofday function. */ #undef HAVE_GETTIMEOFDAY --- 545,548 ---- *************** *** 565,568 **** --- 581,590 ---- #undef HAVE_LSTAT + /* Define if you have the mbrlen function. */ + #undef HAVE_MBRLEN + + /* Define if you have the mbrtowc function. */ + #undef HAVE_MBRTOWC + /* Define if you have the mbsrtowcs function. */ #undef HAVE_MBSRTOWCS *************** *** 586,589 **** --- 608,617 ---- #undef HAVE_READLINK + /* Define if you have the regcomp function. */ + #undef HAVE_REGCOMP + + /* Define if you have the regexec function. */ + #undef HAVE_REGEXEC + /* Define if you have the rename function. */ #undef HAVE_RENAME *************** *** 640,643 **** --- 668,674 ---- #undef HAVE_STRPBRK + /* Define if you have the strstr function. */ + #undef HAVE_STRSTR + /* Define if you have the strtod function. */ #undef HAVE_STRTOD *************** *** 673,679 **** #undef HAVE_TCGETPGRP - /* Define if you have the textdomain function. */ - #undef HAVE_TEXTDOMAIN - /* Define if you have the times function. */ #undef HAVE_TIMES --- 704,707 ---- *************** *** 709,712 **** --- 737,746 ---- #undef HAVE_WAIT3 + /* Define if you have the wcsdup function. */ + #undef HAVE_WCSDUP + + /* Define if you have the wctomb function. */ + #undef HAVE_WCTOMB + /* Define if you have the wcwidth function. */ #undef HAVE_WCWIDTH *************** *** 750,753 **** --- 784,790 ---- #undef HAVE_NETINET_IN_H + /* Define if you have the header file. */ + #undef HAVE_REGEX_H + /* Define if you have the header file. */ #undef HAVE_STDLIB_H *************** *** 798,801 **** --- 835,841 ---- #undef HAVE_SYS_SOCKET_H + /* Define if you have the header file. */ + #undef HAVE_SYS_STAT_H + /* Define if you have the header file. */ #undef HAVE_SYS_STREAM_H *************** *** 809,812 **** --- 849,855 ---- #undef HAVE_SYS_TIMES_H + /* Define if you have the header file. */ + #undef HAVE_SYS_TYPES_H + /* Define if you have that is POSIX.1 compatible. */ #undef HAVE_SYS_WAIT_H *************** *** 873,876 **** --- 916,974 ---- #undef GETCWD_BROKEN + + /* Additional defines for configuring lib/intl, maintained by autoscan/autoheader */ + + /* Define if you have the header file. */ + #undef HAVE_ARGZ_H + + /* Define if you have the header file. */ + #undef HAVE_ERRNO_H + + /* Define if you have the header file. */ + #undef HAVE_FCNTL_H + + /* Define if you have the header file. */ + #undef HAVE_MALLOC_H + + /* Define if you have the header file. */ + #undef HAVE_STDIO_EXT_H + + /* Define if you have the `dcgettext' function. */ + #undef HAVE_DCGETTEXT + + /* Define if your system has a working `malloc' function. */ + /* #undef HAVE_MALLOC */ + + /* Define if you have the `mempcpy' function. */ + #undef HAVE_MEMPCPY + + /* Define if you have a working `mmap' system call. */ + #undef HAVE_MMAP + + /* Define if you have the `munmap' function. */ + #undef HAVE_MUNMAP + + /* Define if you have the `nl_langinfo' function. */ + #undef HAVE_NL_LANGINFO + + /* Define if you have the `stpcpy' function. */ + #undef HAVE_STPCPY + + /* Define if you have the `strcspn' function. */ + #undef HAVE_STRCSPN + + /* Define if you have the `strdup' function. */ + #undef HAVE_STRDUP + + /* Define if you have the `__argz_count' function. */ + #undef HAVE___ARGZ_COUNT + + /* Define if you have the `__argz_next' function. */ + #undef HAVE___ARGZ_NEXT + + /* Define if you have the `__argz_stringify' function. */ + #undef HAVE___ARGZ_STRINGIFY + + /* End additions for lib/intl */ #include "config-bot.h" diff -aNrc2 bash-2.05b-patched/configure bash-3.0/configure *** bash-2.05b-patched/configure Tue Jul 16 09:31:47 2002 --- bash-3.0/configure Wed Jul 21 16:18:56 2004 *************** *** 1,14 **** #! /bin/sh ! # From configure.in for Bash 2.05b, version 2.144, from autoconf version 2.52. # Guess values for system-dependent variables and create Makefiles. ! # Generated by Autoconf 2.52 for bash 2.05b. # # Report bugs to . # ! # Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 # Free Software Foundation, Inc. # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' --- 1,83 ---- #! /bin/sh ! # From configure.in for Bash 3.0, version 3.166, from autoconf version AC_ACVERSION. # Guess values for system-dependent variables and create Makefiles. ! # Generated by GNU Autoconf 2.57 for bash 3.0-release. # # Report bugs to . # ! # Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002 # Free Software Foundation, Inc. # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. + ## --------------------- ## + ## M4sh Initialization. ## + ## --------------------- ## + # Be Bourne compatible + if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then + set -o posix + fi + + # Support unset when possible. + if (FOO=FOO; unset FOO) >/dev/null 2>&1; then + as_unset=unset + else + as_unset=false + fi + + + # Work around bugs in pre-3.0 UWIN ksh. + $as_unset ENV MAIL MAILPATH + PS1='$ ' + PS2='> ' + PS4='+ ' + + # NLS nuisances. + for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME + do + if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + $as_unset $as_var + fi + done + + # Required to use basename. + if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr + else + as_expr=false + fi + + if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then + as_basename=basename + else + as_basename=false + fi + + + # Name of the executable. + as_me=`$as_basename "$0" || + $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)$' \| \ + . : '\(.\)' 2>/dev/null || + echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } + /^X\/\(\/\/\)$/{ s//\1/; q; } + /^X\/\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + + + # PATH needs CR, and LINENO needs CR and PATH. # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' *************** *** 18,37 **** as_cr_alnum=$as_cr_Letters$as_cr_digits ! # Sed expression to map a string onto a valid variable name. ! as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" - # Sed expression to map a string onto a valid CPP name. - as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" ! # Be Bourne compatible ! if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then ! emulate sh ! NULLCMD=: ! elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then ! set -o posix ! fi ! # Name of the executable. ! as_me=`echo "$0" |sed 's,.*[\\/],,'` if expr a : '\(a\)' >/dev/null 2>&1; then --- 87,197 ---- as_cr_alnum=$as_cr_Letters$as_cr_digits ! # 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 ! as_lineno_1=$LINENO ! as_lineno_2=$LINENO ! as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` ! test "x$as_lineno_1" != "x$as_lineno_2" && ! test "x$as_lineno_3" = "x$as_lineno_2" || { ! # Find who we are. Look in the path if we contain no path at all ! # relative or not. ! case $0 in ! *[\\/]* ) as_myself=$0 ;; ! *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ! for as_dir in $PATH ! do ! IFS=$as_save_IFS ! test -z "$as_dir" && as_dir=. ! test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break ! done ! ;; ! esac ! # We did not find ourselves, most probably we were run as `sh COMMAND' ! # in which case we are not to be found in the path. ! if test "x$as_myself" = x; then ! as_myself=$0 ! fi ! if test ! -f "$as_myself"; then ! { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2 ! { (exit 1); exit 1; }; } ! fi ! case $CONFIG_SHELL in ! '') ! as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ! for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH ! do ! IFS=$as_save_IFS ! test -z "$as_dir" && as_dir=. ! for as_base in sh bash ksh sh5; do ! case $as_dir in ! /*) ! if ("$as_dir/$as_base" -c ' ! as_lineno_1=$LINENO ! as_lineno_2=$LINENO ! as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` ! test "x$as_lineno_1" != "x$as_lineno_2" && ! test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then ! $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } ! $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } ! CONFIG_SHELL=$as_dir/$as_base ! export CONFIG_SHELL ! exec "$CONFIG_SHELL" "$0" ${1+"$@"} ! fi;; ! esac ! done ! done ! ;; ! esac ! ! # Create $as_me.lineno as a copy of $as_myself, but with $LINENO ! # uniformly replaced by the line number. The first 'sed' inserts a ! # line-number line before each line; the second 'sed' does the real ! # work. The second script uses 'N' to pair each line-number line ! # with the numbered line, and appends trailing '-' during ! # substitution so that $LINENO is not a special case at line end. ! # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the ! # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) ! sed '=' <$as_myself | ! sed ' ! N ! s,$,-, ! : loop ! s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, ! t loop ! s,-$,, ! s,^['$as_cr_digits']*\n,, ! ' >$as_me.lineno && ! chmod +x $as_me.lineno || ! { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 ! { (exit 1); exit 1; }; } ! ! # Don't try to exec as it changes $[0], causing all sort of problems ! # (the dirname of $[0] is not the place where we might find the ! # original and so on. Autoconf is especially sensible to this). ! . ./$as_me.lineno ! # Exit status is that of the last command. ! exit ! } ! ! ! case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in ! *c*,-n*) ECHO_N= ECHO_C=' ! ' ECHO_T=' ' ;; ! *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; ! *) ECHO_N= ECHO_C='\c' ECHO_T= ;; ! esac if expr a : '\(a\)' >/dev/null 2>&1; then *************** *** 59,80 **** rm -f conf$$ conf$$.exe conf$$.file ! as_executable_p="test -f" ! ! # Support unset when possible. ! if (FOO=FOO; unset FOO) >/dev/null 2>&1; then ! as_unset=unset else ! as_unset=false fi ! # NLS nuisances. ! $as_unset LANG || test "${LANG+set}" != set || { LANG=C; export LANG; } ! $as_unset LC_ALL || test "${LC_ALL+set}" != set || { LC_ALL=C; export LC_ALL; } ! $as_unset LC_TIME || test "${LC_TIME+set}" != set || { LC_TIME=C; export LC_TIME; } ! $as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set || { LC_CTYPE=C; export LC_CTYPE; } ! $as_unset LANGUAGE || test "${LANGUAGE+set}" != set || { LANGUAGE=C; export LANGUAGE; } ! $as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set || { LC_COLLATE=C; export LC_COLLATE; } ! $as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set || { LC_NUMERIC=C; export LC_NUMERIC; } ! $as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set || { LC_MESSAGES=C; export LC_MESSAGES; } # IFS --- 219,236 ---- rm -f conf$$ conf$$.exe conf$$.file ! if mkdir -p . 2>/dev/null; then ! as_mkdir_p=: else ! as_mkdir_p=false fi ! as_executable_p="test -f" ! ! # Sed expression to map a string onto a valid CPP name. ! as_tr_cpp="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="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" ! # IFS *************** *** 85,89 **** # CDPATH. ! $as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=:; export CDPATH; } # Name of the host. --- 241,246 ---- # CDPATH. ! $as_unset CDPATH ! # Name of the host. *************** *** 98,104 **** # ac_default_prefix=/usr/local cross_compiling=no subdirs= ! MFLAGS= MAKEFLAGS= SHELL=${CONFIG_SHELL-/bin/sh} --- 255,263 ---- # ac_default_prefix=/usr/local + ac_config_libobj_dir=. cross_compiling=no subdirs= ! MFLAGS= ! MAKEFLAGS= SHELL=${CONFIG_SHELL-/bin/sh} *************** *** 108,111 **** --- 267,277 ---- : ${ac_max_here_lines=38} + # Identity of this package. + PACKAGE_NAME='bash' + PACKAGE_TARNAME='bash' + PACKAGE_VERSION='3.0-release' + PACKAGE_STRING='bash 3.0-release' + PACKAGE_BUGREPORT='bug-bash@gnu.org' + ac_unique_file="shell.h" # Factoring default headers for most tests. *************** *** 146,149 **** --- 312,318 ---- #endif" + ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os EMACS lispdir DEBUGGER_START_FILE TESTSCRIPT PURIFY MALLOC_TARGET MALLOC_SRC MALLOC_LIB MALLOC_LIBRARY MALLOC_LDFLAGS MALLOC_DEP htmldir HELPDIR HELPDIRDEFINE HELPINSTALL CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP EGREP SIGNAMES_H CC_FOR_BUILD STATIC_LD CFLAGS_FOR_BUILD CPPFLAGS_FOR_BUILD LDFLAGS_FOR_BUILD RL_VERSION RL_MAJOR RL_MINOR READLINE_LIB READLINE_DEP RL_LIBDIR RL_INCLUDEDIR RL_INCLUDE HISTORY_LIB HISTORY_DEP HIST_LIBDIR INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA AR RANLIB ac_ct_RANLIB YACC SET_MAKE MAKE_SHELL MKINSTALLDIRS USE_NLS MSGFMT GMSGFMT XGETTEXT MSGMERGE ALLOCA GLIBC21 LIBICONV LTLIBICONV INTLBISON BUILD_INCLUDED_LIBINTL USE_INCLUDED_LIBINTL CATOBJEXT DATADIRNAME INSTOBJEXT GENCAT INTLOBJS INTL_LIBTOOL_SUFFIX_PREFIX INTLLIBS LIBINTL LTLIBINTL POSUB LIBOBJS INTL_DEP INTL_INC LIBINTL_H SIGLIST_O TERMCAP_LIB TERMCAP_DEP JOBS_O SHOBJ_CC SHOBJ_CFLAGS SHOBJ_LD SHOBJ_LDFLAGS SHOBJ_XLDFLAGS SHOBJ_LIBS SHOBJ_STATUS PROFILE_FLAGS incdir BUILD_DIR ARFLAGS BASHVERS RELSTATUS DEBUG MALLOC_DEBUG LOCAL_LIBS LOCAL_CFLAGS LOCAL_LDFLAGS LOCAL_DEFS LTLIBOBJS' + ac_subst_files='' + # Initialize some variables set by options. ac_init_help= *************** *** 184,194 **** mandir='${prefix}/man' - # Identity of this package. - PACKAGE_NAME='bash' - PACKAGE_TARNAME='bash' - PACKAGE_VERSION='2.05b' - PACKAGE_STRING='bash 2.05b' - PACKAGE_BUGREPORT='bug-bash@gnu.org' - ac_prev= for ac_option --- 353,356 ---- *************** *** 323,327 **** -no-create | --no-create | --no-creat | --no-crea | --no-cre \ ! | --no-cr | --no-c) no_create=yes ;; --- 485,489 ---- -no-create | --no-create | --no-creat | --no-crea | --no-cre \ ! | --no-cr | --no-c | -n) no_create=yes ;; *************** *** 502,506 **** case $ac_val in [\\/$]* | ?:[\\/]* | NONE | '' ) ;; ! *) { echo "$as_me: error: expected an absolute path for --$ac_var: $ac_val" >&2 { (exit 1); exit 1; }; };; esac --- 664,668 ---- case $ac_val in [\\/$]* | ?:[\\/]* | NONE | '' ) ;; ! *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 { (exit 1); exit 1; }; };; esac *************** *** 514,518 **** case $ac_val in [\\/$]* | ?:[\\/]* ) ;; ! *) { echo "$as_me: error: expected an absolute path for --$ac_var: $ac_val" >&2 { (exit 1); exit 1; }; };; esac --- 676,680 ---- case $ac_val in [\\/$]* | ?:[\\/]* ) ;; ! *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 { (exit 1); exit 1; }; };; esac *************** *** 521,529 **** # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. build=$build_alias host=$host_alias target=$target_alias ! # FIXME: should be removed in autoconf 3.0. if test "x$host_alias" != x; then if test "x$build_alias" = x; then --- 683,692 ---- # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. + # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias ! # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then *************** *** 541,551 **** test "$silent" = yes && exec 6>/dev/null # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then its parent. ! ac_prog=$0 ! ac_confdir=`echo "$ac_prog" | sed 's%[\\/][^\\/][^\\/]*$%%'` ! test "x$ac_confdir" = "x$ac_prog" && ac_confdir=. srcdir=$ac_confdir if test ! -r $srcdir/$ac_unique_file; then --- 704,724 ---- test "$silent" = yes && exec 6>/dev/null + # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then its parent. ! ac_confdir=`(dirname "$0") 2>/dev/null || ! $as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ ! X"$0" : 'X\(//\)[^/]' \| \ ! X"$0" : 'X\(//\)$' \| \ ! X"$0" : 'X\(/\)' \| \ ! . : '\(.\)' 2>/dev/null || ! echo X"$0" | ! sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } ! /^X\(\/\/\)[^/].*/{ s//\1/; q; } ! /^X\(\/\/\)$/{ s//\1/; q; } ! /^X\(\/\).*/{ s//\1/; q; } ! s/.*/./; q'` srcdir=$ac_confdir if test ! -r $srcdir/$ac_unique_file; then *************** *** 557,567 **** if test ! -r $srcdir/$ac_unique_file; then if test "$ac_srcdir_defaulted" = yes; then ! { echo "$as_me: error: cannot find sources in $ac_confdir or .." >&2 { (exit 1); exit 1; }; } else ! { echo "$as_me: error: cannot find sources in $srcdir" >&2 { (exit 1); exit 1; }; } fi fi srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'` ac_env_build_alias_set=${build_alias+set} --- 730,743 ---- if test ! -r $srcdir/$ac_unique_file; then if test "$ac_srcdir_defaulted" = yes; then ! { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2 { (exit 1); exit 1; }; } else ! { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 { (exit 1); exit 1; }; } fi fi + (cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null || + { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2 + { (exit 1); exit 1; }; } srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'` ac_env_build_alias_set=${build_alias+set} *************** *** 577,580 **** --- 753,760 ---- ac_cv_env_target_alias_set=${target_alias+set} ac_cv_env_target_alias_value=$target_alias + ac_env_DEBUGGER_START_FILE_set=${DEBUGGER_START_FILE+set} + ac_env_DEBUGGER_START_FILE_value=$DEBUGGER_START_FILE + ac_cv_env_DEBUGGER_START_FILE_set=${DEBUGGER_START_FILE+set} + ac_cv_env_DEBUGGER_START_FILE_value=$DEBUGGER_START_FILE ac_env_CC_set=${CC+set} ac_env_CC_value=$CC *************** *** 604,609 **** # 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 <. ! EOF fi --- 939,943 ---- Report bugs to . ! _ACEOF fi *************** *** 750,781 **** # If there are subdirs, report their specific --help. ac_popdir=`pwd` ! for ac_subdir in : $ac_subdirs_all; do test "x$ac_subdir" = x: && continue ! cd $ac_subdir ! # A "../" for each directory in /$ac_subdir. ! ac_dots=`echo $ac_subdir | ! sed 's,^\./,,;s,[^/]$,&/,;s,[^/]*/,../,g'` ! ! case $srcdir in ! .) # No --srcdir option. We are building in place. ! ac_sub_srcdir=$srcdir ;; ! [\\/]* | ?:[\\/]* ) # Absolute path. ! ac_sub_srcdir=$srcdir/$ac_subdir ;; ! *) # Relative path. ! ac_sub_srcdir=$ac_dots$srcdir/$ac_subdir ;; ! esac # Check for guested configure; otherwise get Cygnus style configure. ! if test -f $ac_sub_srcdir/configure.gnu; then echo ! $SHELL $ac_sub_srcdir/configure.gnu --help=recursive ! elif test -f $ac_sub_srcdir/configure; then echo ! $SHELL $ac_sub_srcdir/configure --help=recursive ! elif test -f $ac_sub_srcdir/configure.ac || ! test -f $ac_sub_srcdir/configure.in; then echo $ac_configure --help else ! echo "$as_me: WARNING: no configuration information is in $ac_subdir" >&2 fi cd $ac_popdir --- 945,996 ---- # If there are subdirs, report their specific --help. ac_popdir=`pwd` ! for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue ! test -d $ac_dir || continue ! ac_builddir=. ! ! if test "$ac_dir" != .; then ! ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` ! # A "../" for each directory in $ac_dir_suffix. ! ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` ! else ! ac_dir_suffix= ac_top_builddir= ! fi ! ! case $srcdir in ! .) # No --srcdir option. We are building in place. ! ac_srcdir=. ! if test -z "$ac_top_builddir"; then ! ac_top_srcdir=. ! else ! ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` ! fi ;; ! [\\/]* | ?:[\\/]* ) # Absolute path. ! ac_srcdir=$srcdir$ac_dir_suffix; ! ac_top_srcdir=$srcdir ;; ! *) # Relative path. ! ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix ! ac_top_srcdir=$ac_top_builddir$srcdir ;; ! esac ! # Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be ! # absolute. ! ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` ! ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd` ! ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` ! ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` + cd $ac_dir # Check for guested configure; otherwise get Cygnus style configure. ! if test -f $ac_srcdir/configure.gnu; then echo ! $SHELL $ac_srcdir/configure.gnu --help=recursive ! elif test -f $ac_srcdir/configure; then echo ! $SHELL $ac_srcdir/configure --help=recursive ! elif test -f $ac_srcdir/configure.ac || ! test -f $ac_srcdir/configure.in; then echo $ac_configure --help else ! echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi cd $ac_popdir *************** *** 785,815 **** test -n "$ac_init_help" && exit 0 if $ac_init_version; then ! cat <<\EOF ! bash configure 2.05b ! generated by GNU Autoconf 2.52 ! Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. ! EOF exit 0 fi exec 5>config.log ! cat >&5 </dev/null | sed 1q` --- 1000,1030 ---- test -n "$ac_init_help" && exit 0 if $ac_init_version; then ! cat <<\_ACEOF ! bash configure 3.0-release ! generated by GNU Autoconf 2.57 ! Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. ! _ACEOF exit 0 fi exec 5>config.log ! cat >&5 <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. ! It was created by bash $as_me 3.0-release, which was ! generated by GNU Autoconf 2.57. Invocation command line was $ $0 $@ ! _ACEOF { cat <<_ASUNAME ! ## --------- ## ! ## Platform. ## ! ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` *************** *** 830,878 **** /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` - PATH = $PATH - _ASUNAME } >&5 ! cat >&5 <\?\"\']*) ! ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ! ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" ! ac_sep=" " ;; ! *) ac_configure_args="$ac_configure_args$ac_sep$ac_arg" ! ac_sep=" " ;; ! esac ! # Get rid of the leading space. done # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. trap 'exit_status=$? # Save into config.log some information that might help in debugging. ! echo >&5 ! echo "## ----------------- ##" >&5 ! echo "## Cache variables. ##" >&5 ! echo "## ----------------- ##" >&5 ! echo >&5 ! # The following way of writing the cache mishandles newlines in values, { (set) 2>&1 | --- 1045,1138 ---- /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME + + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR + for as_dir in $PATH + do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + echo "PATH: $as_dir" + done + } >&5 ! cat >&5 <<_ACEOF ! ! ! ## ----------- ## ! ## Core tests. ## ! ## ----------- ## ! ! _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. + # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. + # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= + ac_configure_args0= + ac_configure_args1= ac_sep= ! ac_must_keep_next=false ! for ac_pass in 1 2 do ! for ac_arg ! do ! case $ac_arg in ! -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; ! -q | -quiet | --quiet | --quie | --qui | --qu | --q \ ! | -silent | --silent | --silen | --sile | --sil) ! continue ;; ! *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) ! ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; ! esac ! case $ac_pass in ! 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; ! 2) ! ac_configure_args1="$ac_configure_args1 '$ac_arg'" ! if test $ac_must_keep_next = true; then ! ac_must_keep_next=false # Got value, back to normal. ! else ! case $ac_arg in ! *=* | --config-cache | -C | -disable-* | --disable-* \ ! | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ ! | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ ! | -with-* | --with-* | -without-* | --without-* | --x) ! case "$ac_configure_args0 " in ! "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; ! esac ! ;; ! -* ) ac_must_keep_next=true ;; ! esac ! fi ! ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" ! # Get rid of the leading space. ! ac_sep=" " ! ;; ! esac ! done done + $as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } + $as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. + # WARNING: Be sure not to use single quotes in there, as some shells, + # such as our DU 5.0 friend, will then `close' the trap. trap 'exit_status=$? # Save into config.log some information that might help in debugging. ! { ! echo ! ! cat <<\_ASBOX ! ## ---------------- ## ! ## Cache variables. ## ! ## ---------------- ## ! _ASBOX ! echo ! # The following way of writing the cache mishandles newlines in values, { (set) 2>&1 | *************** *** 888,906 **** ;; esac; ! } >&5 ! sed "/^$/d" confdefs.h >conftest.log ! if test -s conftest.log; then ! echo >&5 ! echo "## ------------ ##" >&5 ! echo "## confdefs.h. ##" >&5 ! echo "## ------------ ##" >&5 ! echo >&5 ! cat conftest.log >&5 ! fi ! (echo; echo) >&5 ! test "$ac_signal" != 0 && ! echo "$as_me: caught signal $ac_signal" >&5 ! echo "$as_me: exit $exit_status" >&5 ! rm -rf conftest* confdefs* core core.* *.core conf$$* $ac_clean_files && exit $exit_status ' 0 --- 1148,1198 ---- ;; esac; ! } ! echo ! ! cat <<\_ASBOX ! ## ----------------- ## ! ## Output variables. ## ! ## ----------------- ## ! _ASBOX ! echo ! for ac_var in $ac_subst_vars ! do ! eval ac_val=$`echo $ac_var` ! echo "$ac_var='"'"'$ac_val'"'"'" ! done | sort ! echo ! ! if test -n "$ac_subst_files"; then ! cat <<\_ASBOX ! ## ------------- ## ! ## Output files. ## ! ## ------------- ## ! _ASBOX ! echo ! for ac_var in $ac_subst_files ! do ! eval ac_val=$`echo $ac_var` ! echo "$ac_var='"'"'$ac_val'"'"'" ! done | sort ! echo ! fi ! ! if test -s confdefs.h; then ! cat <<\_ASBOX ! ## ----------- ## ! ## confdefs.h. ## ! ## ----------- ## ! _ASBOX ! echo ! sed "/^$/d" confdefs.h | sort ! echo ! fi ! test "$ac_signal" != 0 && ! echo "$as_me: caught signal $ac_signal" ! echo "$as_me: exit $exit_status" ! } >&5 ! rm -f core core.* *.core && ! rm -rf conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 *************** *** 915,918 **** --- 1207,1237 ---- echo >confdefs.h + # Predefined preprocessor variables. + + cat >>confdefs.h <<_ACEOF + #define PACKAGE_NAME "$PACKAGE_NAME" + _ACEOF + + + cat >>confdefs.h <<_ACEOF + #define PACKAGE_TARNAME "$PACKAGE_TARNAME" + _ACEOF + + + cat >>confdefs.h <<_ACEOF + #define PACKAGE_VERSION "$PACKAGE_VERSION" + _ACEOF + + + cat >>confdefs.h <<_ACEOF + #define PACKAGE_STRING "$PACKAGE_STRING" + _ACEOF + + + cat >>confdefs.h <<_ACEOF + #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" + _ACEOF + + # Let the site file select an alternate cache file if it wants to. # Prefer explicitly selected file to automatically selected ones. *************** *** 926,932 **** for ac_site_file in $CONFIG_SITE; do if test -r "$ac_site_file"; then ! { echo "$as_me:928: loading site script $ac_site_file" >&5 echo "$as_me: loading site script $ac_site_file" >&6;} ! cat "$ac_site_file" >&5 . "$ac_site_file" fi --- 1245,1251 ---- for ac_site_file in $CONFIG_SITE; do if test -r "$ac_site_file"; then ! { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 echo "$as_me: loading site script $ac_site_file" >&6;} ! sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" fi *************** *** 937,941 **** # files actually), so we avoid doing that. if test -f "$cache_file"; then ! { echo "$as_me:939: loading cache $cache_file" >&5 echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in --- 1256,1260 ---- # files actually), so we avoid doing that. if test -f "$cache_file"; then ! { echo "$as_me:$LINENO: loading cache $cache_file" >&5 echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in *************** *** 945,949 **** fi else ! { echo "$as_me:947: creating cache $cache_file" >&5 echo "$as_me: creating cache $cache_file" >&6;} >$cache_file --- 1264,1268 ---- fi else ! { echo "$as_me:$LINENO: creating cache $cache_file" >&5 echo "$as_me: creating cache $cache_file" >&6;} >$cache_file *************** *** 961,969 **** case $ac_old_set,$ac_new_set in set,) ! { echo "$as_me:963: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) ! { echo "$as_me:967: error: \`$ac_var' was not set in the previous run" >&5 echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; --- 1280,1288 ---- case $ac_old_set,$ac_new_set in set,) ! { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) ! { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; *************** *** 971,1000 **** *) if test "x$ac_old_val" != "x$ac_new_val"; then ! { echo "$as_me:973: error: \`$ac_var' has changed since the previous run:" >&5 echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ! { echo "$as_me:975: former value: $ac_old_val" >&5 echo "$as_me: former value: $ac_old_val" >&2;} ! { echo "$as_me:977: current value: $ac_new_val" >&5 echo "$as_me: current value: $ac_new_val" >&2;} ac_cache_corrupted=: fi;; esac ! # Pass precious variables to config.status. It doesn't matter if ! # we pass some twice (in addition to the command line arguments). if test "$ac_new_set" = set; then case $ac_new_val in *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) ! ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ! ac_configure_args="$ac_configure_args '$ac_arg'" ! ;; ! *) ac_configure_args="$ac_configure_args $ac_var=$ac_new_val" ! ;; esac fi done if $ac_cache_corrupted; then ! { echo "$as_me:996: error: changes in the environment can compromise the build" >&5 echo "$as_me: error: changes in the environment can compromise the build" >&2;} ! { { echo "$as_me:998: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} { (exit 1); exit 1; }; } --- 1290,1319 ---- *) if test "x$ac_old_val" != "x$ac_new_val"; then ! { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ! { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 echo "$as_me: former value: $ac_old_val" >&2;} ! { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 echo "$as_me: current value: $ac_new_val" >&2;} ac_cache_corrupted=: fi;; esac ! # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) ! ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; ! *) ac_arg=$ac_var=$ac_new_val ;; ! esac ! case " $ac_configure_args " in ! *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. ! *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then ! { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 echo "$as_me: error: changes in the environment can compromise the build" >&2;} ! { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} { (exit 1); exit 1; }; } *************** *** 1007,1030 **** ac_compiler_gnu=$ac_cv_c_compiler_gnu ! case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in ! *c*,-n*) ECHO_N= ECHO_C=' ! ' ECHO_T=' ' ;; ! *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; ! *) ECHO_N= ECHO_C='\c' ECHO_T= ;; ! esac ! echo "#! $SHELL" >conftest.sh ! echo "exit 0" >>conftest.sh ! chmod +x conftest.sh ! if { (echo "$as_me:1018: PATH=\".;.\"; conftest.sh") >&5 ! (PATH=".;."; conftest.sh) 2>&5 ! ac_status=$? ! echo "$as_me:1021: \$? = $ac_status" >&5 ! (exit $ac_status); }; then ! ac_path_separator=';' ! else ! ac_path_separator=: ! fi ! PATH_SEPARATOR="$ac_path_separator" ! rm -f conftest.sh ac_aux_dir= --- 1326,1358 ---- ac_compiler_gnu=$ac_cv_c_compiler_gnu ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ac_aux_dir= *************** *** 1045,1049 **** done if test -z "$ac_aux_dir"; then ! { { echo "$as_me:1047: error: cannot find install-sh or install.sh in ./support $srcdir/./support" >&5 echo "$as_me: error: cannot find install-sh or install.sh in ./support $srcdir/./support" >&2;} { (exit 1); exit 1; }; } --- 1373,1377 ---- done if test -z "$ac_aux_dir"; then ! { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in ./support $srcdir/./support" >&5 echo "$as_me: error: cannot find install-sh or install.sh in ./support $srcdir/./support" >&2;} { (exit 1); exit 1; }; } *************** *** 1053,1059 **** ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. ! ac_config_headers="$ac_config_headers config.h" ! BASHVERS=2.05b RELSTATUS=release --- 1381,1388 ---- ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. ! ac_config_headers="$ac_config_headers config.h" ! ! BASHVERS=3.0 RELSTATUS=release *************** *** 1065,1073 **** # Make sure we can run config.sub. $ac_config_sub sun4 >/dev/null 2>&1 || ! { { echo "$as_me:1067: error: cannot run $ac_config_sub" >&5 echo "$as_me: error: cannot run $ac_config_sub" >&2;} { (exit 1); exit 1; }; } ! echo "$as_me:1071: checking build system type" >&5 echo $ECHO_N "checking build system type... $ECHO_C" >&6 if test "${ac_cv_build+set}" = set; then --- 1394,1402 ---- # Make sure we can run config.sub. $ac_config_sub sun4 >/dev/null 2>&1 || ! { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5 echo "$as_me: error: cannot run $ac_config_sub" >&2;} { (exit 1); exit 1; }; } ! echo "$as_me:$LINENO: checking build system type" >&5 echo $ECHO_N "checking build system type... $ECHO_C" >&6 if test "${ac_cv_build+set}" = set; then *************** *** 1078,1091 **** ac_cv_build_alias=`$ac_config_guess` test -z "$ac_cv_build_alias" && ! { { echo "$as_me:1080: error: cannot guess build type; you must specify one" >&5 echo "$as_me: error: cannot guess build type; you must specify one" >&2;} { (exit 1); exit 1; }; } ac_cv_build=`$ac_config_sub $ac_cv_build_alias` || ! { { echo "$as_me:1084: error: $ac_config_sub $ac_cv_build_alias failed." >&5 ! echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed." >&2;} { (exit 1); exit 1; }; } fi ! echo "$as_me:1089: result: $ac_cv_build" >&5 echo "${ECHO_T}$ac_cv_build" >&6 build=$ac_cv_build --- 1407,1420 ---- ac_cv_build_alias=`$ac_config_guess` test -z "$ac_cv_build_alias" && ! { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 echo "$as_me: error: cannot guess build type; you must specify one" >&2;} { (exit 1); exit 1; }; } ac_cv_build=`$ac_config_sub $ac_cv_build_alias` || ! { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5 ! echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;} { (exit 1); exit 1; }; } fi ! echo "$as_me:$LINENO: result: $ac_cv_build" >&5 echo "${ECHO_T}$ac_cv_build" >&6 build=$ac_cv_build *************** *** 1094,1098 **** build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` ! echo "$as_me:1096: checking host system type" >&5 echo $ECHO_N "checking host system type... $ECHO_C" >&6 if test "${ac_cv_host+set}" = set; then --- 1423,1428 ---- build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` ! ! echo "$as_me:$LINENO: checking host system type" >&5 echo $ECHO_N "checking host system type... $ECHO_C" >&6 if test "${ac_cv_host+set}" = set; then *************** *** 1103,1112 **** ac_cv_host_alias=$ac_cv_build_alias ac_cv_host=`$ac_config_sub $ac_cv_host_alias` || ! { { echo "$as_me:1105: error: $ac_config_sub $ac_cv_host_alias failed" >&5 echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;} { (exit 1); exit 1; }; } fi ! echo "$as_me:1110: result: $ac_cv_host" >&5 echo "${ECHO_T}$ac_cv_host" >&6 host=$ac_cv_host --- 1433,1442 ---- ac_cv_host_alias=$ac_cv_build_alias ac_cv_host=`$ac_config_sub $ac_cv_host_alias` || ! { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5 echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;} { (exit 1); exit 1; }; } fi ! echo "$as_me:$LINENO: result: $ac_cv_host" >&5 echo "${ECHO_T}$ac_cv_host" >&6 host=$ac_cv_host *************** *** 1115,1118 **** --- 1445,1450 ---- host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` + + opt_bash_malloc=yes opt_purify=no *************** *** 1133,1136 **** --- 1465,1469 ---- m68k-sysv) opt_bash_malloc=no ;; # fixes file descriptor leak in closedir sparc-linux*) opt_bash_malloc=no ;; # sparc running linux; requires ELF + *-freebsd*-gnu) opt_bash_malloc=no ;; # there's some undetermined problem here #*-freebsd*) opt_bash_malloc=no ;; # they claim it's better; I disagree *-openbsd*) opt_bash_malloc=no ;; # they claim it needs eight-bit alignment *************** *** 1155,1158 **** --- 1488,1571 ---- esac + + # Check whether --with-lispdir or --without-lispdir was given. + if test "${with_lispdir+set}" = set; then + withval="$with_lispdir" + lispdir="$withval" + echo "$as_me:$LINENO: checking where .elc files should go" >&5 + echo $ECHO_N "checking where .elc files should go... $ECHO_C" >&6 + echo "$as_me:$LINENO: result: $lispdir" >&5 + echo "${ECHO_T}$lispdir" >&6 + else + + # If set to t, that means we are running in a shell under Emacs. + # If you have an Emacs named "t", then use the full path. + test x"$EMACS" = xt && EMACS= + for ac_prog in emacs xemacs + do + # Extract the first word of "$ac_prog", so it can be a program name with args. + set dummy $ac_prog; ac_word=$2 + echo "$as_me:$LINENO: checking for $ac_word" >&5 + echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 + if test "${ac_cv_prog_EMACS+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 + else + if test -n "$EMACS"; then + ac_cv_prog_EMACS="$EMACS" # Let the user override the test. + else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR + for as_dir in $PATH + do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_EMACS="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi + done + done + + fi + fi + EMACS=$ac_cv_prog_EMACS + if test -n "$EMACS"; then + echo "$as_me:$LINENO: result: $EMACS" >&5 + echo "${ECHO_T}$EMACS" >&6 + else + echo "$as_me:$LINENO: result: no" >&5 + echo "${ECHO_T}no" >&6 + fi + + test -n "$EMACS" && break + done + test -n "$EMACS" || EMACS="no" + + if test $EMACS != "no"; then + if test x${lispdir+set} != xset; then + echo "$as_me:$LINENO: checking where .elc files should go" >&5 + echo $ECHO_N "checking where .elc files should go... $ECHO_C" >&6 + if test "${am_cv_lispdir+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 + else + am_cv_lispdir=`$EMACS -batch -q -eval '(while load-path (princ (concat (car load-path) "\n")) (setq load-path (cdr load-path)))' | sed -n -e 's,/$,,' -e '/.*\/lib\/\(x\?emacs\/site-lisp\)$/{s,,${libdir}/\1,;p;q;}' -e '/.*\/share\/\(x\?emacs\/site-lisp\)$/{s,,${datadir}/\1,;p;q;}'` + if test -z "$am_cv_lispdir"; then + am_cv_lispdir='${datadir}/emacs/site-lisp' + fi + + fi + echo "$as_me:$LINENO: result: $am_cv_lispdir" >&5 + echo "${ECHO_T}$am_cv_lispdir" >&6 + lispdir="$am_cv_lispdir" + fi + fi + + fi; + + + + + # Check whether --with-afs or --without-afs was given. if test "${with_afs+set}" = set; then *************** *** 1206,1212 **** MALLOC_DEP='$(MALLOC_LIBRARY)' ! cat >>confdefs.h <<\EOF #define USING_BASH_MALLOC 1 ! EOF else --- 1619,1625 ---- MALLOC_DEP='$(MALLOC_LIBRARY)' ! cat >>confdefs.h <<\_ACEOF #define USING_BASH_MALLOC 1 ! _ACEOF else *************** *** 1219,1225 **** if test "$opt_purify" = yes; then PURIFY="purify " ! cat >>confdefs.h <<\EOF #define DISABLE_MALLOC_WRAPPERS 1 ! EOF else --- 1632,1638 ---- if test "$opt_purify" = yes; then PURIFY="purify " ! cat >>confdefs.h <<\_ACEOF #define DISABLE_MALLOC_WRAPPERS 1 ! _ACEOF else *************** *** 1232,1238 **** if test "$opt_afs" = yes; then ! cat >>confdefs.h <<\EOF #define AFS 1 ! EOF fi --- 1645,1651 ---- if test "$opt_afs" = yes; then ! cat >>confdefs.h <<\_ACEOF #define AFS 1 ! _ACEOF fi *************** *** 1242,1245 **** --- 1655,1662 ---- fi + if test -z "${DEBUGGER_START_FILE}"; then + DEBUGGER_START_FILE=${ac_default_prefix}/lib/bashdb/bashdb-main.inc + fi + opt_minimal_config=no *************** *** 1263,1270 **** --- 1680,1690 ---- opt_xpg_echo=no opt_cond_command=yes + opt_cond_regexp=yes opt_arith_for_command=yes opt_net_redirs=yes opt_progcomp=yes opt_separate_help=no + opt_multibyte=yes + opt_debugger=yes opt_static_link=no *************** *** 1285,1288 **** --- 1705,1709 ---- opt_extended_glob=no opt_cond_command=no opt_arith_for_command=no opt_net_redirs=no opt_progcomp=no opt_separate_help=no + opt_multibyte=yes opt_cond_regexp=no fi *************** *** 1322,1325 **** --- 1743,1756 ---- opt_cond_command=$enableval fi; + # Check whether --enable-cond-regexp or --disable-cond-regexp was given. + if test "${enable_cond_regexp+set}" = set; then + enableval="$enable_cond_regexp" + opt_cond_regexp=$enableval + fi; + # Check whether --enable-debugger or --disable-debugger was given. + if test "${enable_debugger+set}" = set; then + enableval="$enable_debugger" + opt_debugger=$enableval + fi; # Check whether --enable-directory-stack or --disable-directory-stack was given. if test "${enable_directory_stack+set}" = set; then *************** *** 1357,1360 **** --- 1788,1796 ---- opt_job_control=$enableval fi; + # Check whether --enable-multibyte or --disable-multibyte was given. + if test "${enable_multibyte+set}" = set; then + enableval="$enable_multibyte" + opt_multibyte=$enableval + fi; # Check whether --enable-net-redirections or --disable-net-redirections was given. if test "${enable_net_redirections+set}" = set; then *************** *** 1424,1540 **** fi; if test $opt_alias = yes; then ! cat >>confdefs.h <<\EOF #define ALIAS 1 ! EOF fi if test $opt_dirstack = yes; then ! cat >>confdefs.h <<\EOF #define PUSHD_AND_POPD 1 ! EOF fi if test $opt_restricted = yes; then ! cat >>confdefs.h <<\EOF #define RESTRICTED_SHELL 1 ! EOF fi if test $opt_process_subst = yes; then ! cat >>confdefs.h <<\EOF #define PROCESS_SUBSTITUTION 1 ! EOF fi if test $opt_prompt_decoding = yes; then ! cat >>confdefs.h <<\EOF #define PROMPT_STRING_DECODE 1 ! EOF fi if test $opt_select = yes; then ! cat >>confdefs.h <<\EOF #define SELECT_COMMAND 1 ! EOF fi if test $opt_help = yes; then ! cat >>confdefs.h <<\EOF #define HELP_BUILTIN 1 ! EOF fi if test $opt_array_variables = yes; then ! cat >>confdefs.h <<\EOF #define ARRAY_VARS 1 ! EOF fi if test $opt_dparen_arith = yes; then ! cat >>confdefs.h <<\EOF #define DPAREN_ARITHMETIC 1 ! EOF fi if test $opt_brace_expansion = yes; then ! cat >>confdefs.h <<\EOF #define BRACE_EXPANSION 1 ! EOF fi if test $opt_disabled_builtins = yes; then ! cat >>confdefs.h <<\EOF #define DISABLED_BUILTINS 1 ! EOF fi if test $opt_command_timing = yes; then ! cat >>confdefs.h <<\EOF #define COMMAND_TIMING 1 ! EOF fi if test $opt_xpg_echo = yes ; then ! cat >>confdefs.h <<\EOF #define DEFAULT_ECHO_TO_XPG 1 ! EOF fi if test $opt_extended_glob = yes ; then ! cat >>confdefs.h <<\EOF #define EXTENDED_GLOB 1 ! EOF fi if test $opt_cond_command = yes ; then ! cat >>confdefs.h <<\EOF #define COND_COMMAND 1 ! EOF fi if test $opt_arith_for_command = yes; then ! cat >>confdefs.h <<\EOF #define ARITH_FOR_COMMAND 1 ! EOF fi if test $opt_net_redirs = yes; then ! cat >>confdefs.h <<\EOF #define NETWORK_REDIRECTIONS 1 ! EOF fi if test $opt_progcomp = yes; then ! cat >>confdefs.h <<\EOF #define PROGRAMMABLE_COMPLETION 1 ! EOF fi if test $opt_memscramble = yes; then ! cat >>confdefs.h <<\EOF #define MEMSCRAMBLE 1 ! EOF fi --- 1860,1996 ---- fi; + + if test $opt_alias = yes; then ! cat >>confdefs.h <<\_ACEOF #define ALIAS 1 ! _ACEOF fi if test $opt_dirstack = yes; then ! cat >>confdefs.h <<\_ACEOF #define PUSHD_AND_POPD 1 ! _ACEOF fi if test $opt_restricted = yes; then ! cat >>confdefs.h <<\_ACEOF #define RESTRICTED_SHELL 1 ! _ACEOF fi if test $opt_process_subst = yes; then ! cat >>confdefs.h <<\_ACEOF #define PROCESS_SUBSTITUTION 1 ! _ACEOF fi if test $opt_prompt_decoding = yes; then ! cat >>confdefs.h <<\_ACEOF #define PROMPT_STRING_DECODE 1 ! _ACEOF fi if test $opt_select = yes; then ! cat >>confdefs.h <<\_ACEOF #define SELECT_COMMAND 1 ! _ACEOF fi if test $opt_help = yes; then ! cat >>confdefs.h <<\_ACEOF #define HELP_BUILTIN 1 ! _ACEOF fi if test $opt_array_variables = yes; then ! cat >>confdefs.h <<\_ACEOF #define ARRAY_VARS 1 ! _ACEOF fi if test $opt_dparen_arith = yes; then ! cat >>confdefs.h <<\_ACEOF #define DPAREN_ARITHMETIC 1 ! _ACEOF fi if test $opt_brace_expansion = yes; then ! cat >>confdefs.h <<\_ACEOF #define BRACE_EXPANSION 1 ! _ACEOF fi if test $opt_disabled_builtins = yes; then ! cat >>confdefs.h <<\_ACEOF #define DISABLED_BUILTINS 1 ! _ACEOF fi if test $opt_command_timing = yes; then ! cat >>confdefs.h <<\_ACEOF #define COMMAND_TIMING 1 ! _ACEOF fi if test $opt_xpg_echo = yes ; then ! cat >>confdefs.h <<\_ACEOF #define DEFAULT_ECHO_TO_XPG 1 ! _ACEOF fi if test $opt_extended_glob = yes ; then ! cat >>confdefs.h <<\_ACEOF #define EXTENDED_GLOB 1 ! _ACEOF fi if test $opt_cond_command = yes ; then ! cat >>confdefs.h <<\_ACEOF #define COND_COMMAND 1 ! _ACEOF ! ! fi ! if test $opt_cond_regexp = yes ; then ! cat >>confdefs.h <<\_ACEOF ! #define COND_REGEXP 1 ! _ACEOF fi if test $opt_arith_for_command = yes; then ! cat >>confdefs.h <<\_ACEOF #define ARITH_FOR_COMMAND 1 ! _ACEOF fi if test $opt_net_redirs = yes; then ! cat >>confdefs.h <<\_ACEOF #define NETWORK_REDIRECTIONS 1 ! _ACEOF fi if test $opt_progcomp = yes; then ! cat >>confdefs.h <<\_ACEOF #define PROGRAMMABLE_COMPLETION 1 ! _ACEOF ! ! fi ! if test $opt_multibyte = no; then ! cat >>confdefs.h <<\_ACEOF ! #define NO_MULTIBYTE_SUPPORT 1 ! _ACEOF ! ! fi ! if test $opt_debugger = yes; then ! cat >>confdefs.h <<\_ACEOF ! #define DEBUGGER 1 ! _ACEOF fi if test $opt_memscramble = yes; then ! cat >>confdefs.h <<\_ACEOF #define MEMSCRAMBLE 1 ! _ACEOF fi *************** *** 1557,1560 **** --- 2013,2032 ---- fi + + + + + + + + + + + + + + + + echo "" echo "Beginning configuration for bash-$BASHVERS-$RELSTATUS for ${host_cpu}-${host_vendor}-${host_os}" *************** *** 1569,1573 **** # 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 ! echo "$as_me:1571: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then --- 2041,2045 ---- # 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 ! echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then *************** *** 1577,1589 **** ac_cv_prog_CC="$CC" # Let the user override the test. else ! ac_save_IFS=$IFS; IFS=$ac_path_separator ! ac_dummy="$PATH" ! for ac_dir in $ac_dummy; do ! IFS=$ac_save_IFS ! test -z "$ac_dir" && ac_dir=. ! $as_executable_p "$ac_dir/$ac_word" || continue ! ac_cv_prog_CC="${ac_tool_prefix}gcc" ! echo "$as_me:1586: found $ac_dir/$ac_word" >&5 ! break done --- 2049,2064 ---- 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_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ! ac_cv_prog_CC="${ac_tool_prefix}gcc" ! echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ! break 2 ! fi ! done done *************** *** 1592,1599 **** CC=$ac_cv_prog_CC if test -n "$CC"; then ! echo "$as_me:1594: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else ! echo "$as_me:1597: result: no" >&5 echo "${ECHO_T}no" >&6 fi --- 2067,2074 ---- CC=$ac_cv_prog_CC if test -n "$CC"; then ! echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else ! echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi *************** *** 1604,1608 **** # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 ! echo "$as_me:1606: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then --- 2079,2083 ---- # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 ! echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then *************** *** 1612,1624 **** ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else ! ac_save_IFS=$IFS; IFS=$ac_path_separator ! ac_dummy="$PATH" ! for ac_dir in $ac_dummy; do ! IFS=$ac_save_IFS ! test -z "$ac_dir" && ac_dir=. ! $as_executable_p "$ac_dir/$ac_word" || continue ! ac_cv_prog_ac_ct_CC="gcc" ! echo "$as_me:1621: found $ac_dir/$ac_word" >&5 ! break done --- 2087,2102 ---- 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_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ! ac_cv_prog_ac_ct_CC="gcc" ! echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ! break 2 ! fi ! done done *************** *** 1627,1634 **** ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then ! echo "$as_me:1629: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else ! echo "$as_me:1632: result: no" >&5 echo "${ECHO_T}no" >&6 fi --- 2105,2112 ---- ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then ! echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else ! echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi *************** *** 1643,1647 **** # 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 ! echo "$as_me:1645: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then --- 2121,2125 ---- # 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 ! echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then *************** *** 1651,1663 **** ac_cv_prog_CC="$CC" # Let the user override the test. else ! ac_save_IFS=$IFS; IFS=$ac_path_separator ! ac_dummy="$PATH" ! for ac_dir in $ac_dummy; do ! IFS=$ac_save_IFS ! test -z "$ac_dir" && ac_dir=. ! $as_executable_p "$ac_dir/$ac_word" || continue ! ac_cv_prog_CC="${ac_tool_prefix}cc" ! echo "$as_me:1660: found $ac_dir/$ac_word" >&5 ! break done --- 2129,2144 ---- 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_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ! ac_cv_prog_CC="${ac_tool_prefix}cc" ! echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ! break 2 ! fi ! done done *************** *** 1666,1673 **** CC=$ac_cv_prog_CC if test -n "$CC"; then ! echo "$as_me:1668: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else ! echo "$as_me:1671: result: no" >&5 echo "${ECHO_T}no" >&6 fi --- 2147,2154 ---- CC=$ac_cv_prog_CC if test -n "$CC"; then ! echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else ! echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi *************** *** 1678,1682 **** # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 ! echo "$as_me:1680: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then --- 2159,2163 ---- # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 ! echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then *************** *** 1686,1698 **** ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else ! ac_save_IFS=$IFS; IFS=$ac_path_separator ! ac_dummy="$PATH" ! for ac_dir in $ac_dummy; do ! IFS=$ac_save_IFS ! test -z "$ac_dir" && ac_dir=. ! $as_executable_p "$ac_dir/$ac_word" || continue ! ac_cv_prog_ac_ct_CC="cc" ! echo "$as_me:1695: found $ac_dir/$ac_word" >&5 ! break done --- 2167,2182 ---- 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_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ! ac_cv_prog_ac_ct_CC="cc" ! echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ! break 2 ! fi ! done done *************** *** 1701,1708 **** ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then ! echo "$as_me:1703: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else ! echo "$as_me:1706: result: no" >&5 echo "${ECHO_T}no" >&6 fi --- 2185,2192 ---- ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then ! echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else ! echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi *************** *** 1717,1721 **** # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 ! echo "$as_me:1719: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then --- 2201,2205 ---- # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 ! echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then *************** *** 1726,1742 **** else ac_prog_rejected=no ! ac_save_IFS=$IFS; IFS=$ac_path_separator ! ac_dummy="$PATH" ! for ac_dir in $ac_dummy; do ! IFS=$ac_save_IFS ! test -z "$ac_dir" && ac_dir=. ! $as_executable_p "$ac_dir/$ac_word" || continue ! if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then ! ac_prog_rejected=yes ! continue ! fi ! ac_cv_prog_CC="cc" ! echo "$as_me:1739: found $ac_dir/$ac_word" >&5 ! break done --- 2210,2229 ---- 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_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" ! echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ! break 2 ! fi ! done done *************** *** 1750,1756 **** # first if we set CC to just the basename; use the full file name. shift ! set dummy "$ac_dir/$ac_word" ${1+"$@"} ! shift ! ac_cv_prog_CC="$@" fi fi --- 2237,2241 ---- # 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 *************** *** 1759,1766 **** CC=$ac_cv_prog_CC if test -n "$CC"; then ! echo "$as_me:1761: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else ! echo "$as_me:1764: result: no" >&5 echo "${ECHO_T}no" >&6 fi --- 2244,2251 ---- CC=$ac_cv_prog_CC if test -n "$CC"; then ! echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else ! echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi *************** *** 1773,1777 **** # 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 ! echo "$as_me:1775: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then --- 2258,2262 ---- # 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 ! echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then *************** *** 1781,1793 **** ac_cv_prog_CC="$CC" # Let the user override the test. else ! ac_save_IFS=$IFS; IFS=$ac_path_separator ! ac_dummy="$PATH" ! for ac_dir in $ac_dummy; do ! IFS=$ac_save_IFS ! test -z "$ac_dir" && ac_dir=. ! $as_executable_p "$ac_dir/$ac_word" || continue ! ac_cv_prog_CC="$ac_tool_prefix$ac_prog" ! echo "$as_me:1790: found $ac_dir/$ac_word" >&5 ! break done --- 2266,2281 ---- 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_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ! ac_cv_prog_CC="$ac_tool_prefix$ac_prog" ! echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ! break 2 ! fi ! done done *************** *** 1796,1803 **** CC=$ac_cv_prog_CC if test -n "$CC"; then ! echo "$as_me:1798: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else ! echo "$as_me:1801: result: no" >&5 echo "${ECHO_T}no" >&6 fi --- 2284,2291 ---- CC=$ac_cv_prog_CC if test -n "$CC"; then ! echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else ! echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi *************** *** 1812,1816 **** # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 ! echo "$as_me:1814: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then --- 2300,2304 ---- # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 ! echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then *************** *** 1820,1832 **** ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else ! ac_save_IFS=$IFS; IFS=$ac_path_separator ! ac_dummy="$PATH" ! for ac_dir in $ac_dummy; do ! IFS=$ac_save_IFS ! test -z "$ac_dir" && ac_dir=. ! $as_executable_p "$ac_dir/$ac_word" || continue ! ac_cv_prog_ac_ct_CC="$ac_prog" ! echo "$as_me:1829: found $ac_dir/$ac_word" >&5 ! break done --- 2308,2323 ---- 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_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ! ac_cv_prog_ac_ct_CC="$ac_prog" ! echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ! break 2 ! fi ! done done *************** *** 1835,1842 **** ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then ! echo "$as_me:1837: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else ! echo "$as_me:1840: result: no" >&5 echo "${ECHO_T}no" >&6 fi --- 2326,2333 ---- ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then ! echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else ! echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi *************** *** 1850,1880 **** fi ! test -z "$CC" && { { echo "$as_me:1852: error: no acceptable cc found in \$PATH" >&5 ! echo "$as_me: error: no acceptable cc found in \$PATH" >&2;} { (exit 1); exit 1; }; } # Provide some information about the compiler. ! echo "$as_me:1857:" \ "checking for C compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` ! { (eval echo "$as_me:1860: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? ! echo "$as_me:1863: \$? = $ac_status" >&5 (exit $ac_status); } ! { (eval echo "$as_me:1865: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? ! echo "$as_me:1868: \$? = $ac_status" >&5 (exit $ac_status); } ! { (eval echo "$as_me:1870: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? ! echo "$as_me:1873: \$? = $ac_status" >&5 (exit $ac_status); } cat >conftest.$ac_ext <<_ACEOF ! #line 1877 "configure" ! #include "confdefs.h" int --- 2341,2378 ---- fi ! ! test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH ! See \`config.log' for more details." >&5 ! echo "$as_me: error: no acceptable C compiler found in \$PATH ! See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } # Provide some information about the compiler. ! echo "$as_me:$LINENO:" \ "checking for C compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` ! { (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 (eval $ac_compiler --version &5) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } ! { (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 (eval $ac_compiler -v &5) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } ! { (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 (eval $ac_compiler -V &5) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ int *************** *** 1887,1935 **** _ACEOF ac_clean_files_save=$ac_clean_files ! ac_clean_files="$ac_clean_files a.out a.exe" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. ! echo "$as_me:1893: checking for C compiler default output" >&5 echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6 ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` ! if { (eval echo "$as_me:1896: \"$ac_link_default\"") >&5 (eval $ac_link_default) 2>&5 ac_status=$? ! echo "$as_me:1899: \$? = $ac_status" >&5 (exit $ac_status); }; then # Find the output, starting from the most likely. This scheme is # not robust to junk in `.', hence go to wildcards (a.*) only as a last # resort. ! for ac_file in `ls a.exe conftest.exe 2>/dev/null; ! ls a.out conftest 2>/dev/null; ! ls a.* conftest.* 2>/dev/null`; do case $ac_file in ! *.$ac_ext | *.o | *.obj | *.xcoff | *.tds | *.d | *.pdb ) ;; ! a.out ) # We found the default executable, but exeext='' is most ! # certainly right. ! break;; ! *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` ! # FIXME: I believe we export ac_cv_exeext for Libtool --akim. ! export ac_cv_exeext ! break;; ! * ) break;; esac done else echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! { { echo "$as_me:1922: error: C compiler cannot create executables" >&5 ! echo "$as_me: error: C compiler cannot create executables" >&2;} { (exit 77); exit 77; }; } fi ac_exeext=$ac_cv_exeext ! echo "$as_me:1928: result: $ac_file" >&5 echo "${ECHO_T}$ac_file" >&6 # Check the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. ! echo "$as_me:1933: checking whether the C compiler works" >&5 echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6 # FIXME: These cross compiler hacks should be removed for Autoconf 3.0 --- 2385,2450 ---- _ACEOF ac_clean_files_save=$ac_clean_files ! ac_clean_files="$ac_clean_files a.out a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. ! echo "$as_me:$LINENO: checking for C compiler default output" >&5 echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6 ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` ! if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5 (eval $ac_link_default) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # Find the output, starting from the most likely. This scheme is # not robust to junk in `.', hence go to wildcards (a.*) only as a last # resort. ! ! # Be careful to initialize this variable, since it used to be cached. ! # Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile. ! ac_cv_exeext= ! # b.out is created by i960 compilers. ! for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out ! do ! test -f "$ac_file" || continue case $ac_file in ! *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ! ;; ! conftest.$ac_ext ) ! # This is the source file. ! ;; ! [ab].out ) ! # We found the default executable, but exeext='' is most ! # certainly right. ! break;; ! *.* ) ! ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` ! # FIXME: I believe we export ac_cv_exeext for Libtool, ! # but it would be cool to find out if it's true. Does anybody ! # maintain Libtool? --akim. ! export ac_cv_exeext ! break;; ! * ) ! break;; esac done else echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ! { { echo "$as_me:$LINENO: error: C compiler cannot create executables ! See \`config.log' for more details." >&5 ! echo "$as_me: error: C compiler cannot create executables ! See \`config.log' for more details." >&2;} { (exit 77); exit 77; }; } fi ac_exeext=$ac_cv_exeext ! echo "$as_me:$LINENO: result: $ac_file" >&5 echo "${ECHO_T}$ac_file" >&6 # Check the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. ! echo "$as_me:$LINENO: checking whether the C compiler works" >&5 echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6 # FIXME: These cross compiler hacks should be removed for Autoconf 3.0 *************** *** 1937,1944 **** if test "$cross_compiling" != yes; then if { ac_try='./$ac_file' ! { (eval echo "$as_me:1939: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:1942: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cross_compiling=no --- 2452,2459 ---- if test "$cross_compiling" != yes; then if { ac_try='./$ac_file' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cross_compiling=no *************** *** 1947,1976 **** cross_compiling=yes else ! { { echo "$as_me:1949: error: cannot run C compiled programs. ! If you meant to cross compile, use \`--host'." >&5 echo "$as_me: error: cannot run C compiled programs. ! If you meant to cross compile, use \`--host'." >&2;} { (exit 1); exit 1; }; } fi fi fi ! echo "$as_me:1957: result: yes" >&5 echo "${ECHO_T}yes" >&6 ! rm -f a.out a.exe conftest$ac_cv_exeext ac_clean_files=$ac_clean_files_save # Check the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. ! echo "$as_me:1964: checking whether we are cross compiling" >&5 echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6 ! echo "$as_me:1966: result: $cross_compiling" >&5 echo "${ECHO_T}$cross_compiling" >&6 ! echo "$as_me:1969: checking for executable suffix" >&5 ! echo $ECHO_N "checking for executable suffix... $ECHO_C" >&6 ! if { (eval echo "$as_me:1971: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:1974: \$? = $ac_status" >&5 (exit $ac_status); }; then # If both `conftest.exe' and `conftest' are `present' (well, observable) --- 2462,2493 ---- cross_compiling=yes else ! { { echo "$as_me:$LINENO: error: cannot run C compiled programs. ! If you meant to cross compile, use \`--host'. ! See \`config.log' for more details." >&5 echo "$as_me: error: cannot run C compiled programs. ! If you meant to cross compile, use \`--host'. ! See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi fi fi ! echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 ! rm -f a.out a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save # Check the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. ! echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6 ! echo "$as_me:$LINENO: result: $cross_compiling" >&5 echo "${ECHO_T}$cross_compiling" >&6 ! echo "$as_me:$LINENO: checking for suffix of executables" >&5 ! echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6 ! if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # If both `conftest.exe' and `conftest' are `present' (well, observable) *************** *** 1978,1984 **** # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. ! for ac_file in `(ls conftest.exe; ls conftest; ls conftest.*) 2>/dev/null`; do case $ac_file in ! *.$ac_ext | *.o | *.obj | *.xcoff | *.tds | *.d | *.pdb ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` export ac_cv_exeext --- 2495,2502 ---- # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. ! for ac_file in conftest.exe conftest conftest.*; do ! test -f "$ac_file" || continue case $ac_file in ! *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` export ac_cv_exeext *************** *** 1988,1998 **** done else ! { { echo "$as_me:1990: error: cannot compute EXEEXT: cannot compile and link" >&5 ! echo "$as_me: error: cannot compute EXEEXT: cannot compile and link" >&2;} { (exit 1); exit 1; }; } fi rm -f conftest$ac_cv_exeext ! echo "$as_me:1996: result: $ac_cv_exeext" >&5 echo "${ECHO_T}$ac_cv_exeext" >&6 --- 2506,2518 ---- done else ! { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link ! See \`config.log' for more details." >&5 ! echo "$as_me: error: cannot compute suffix of executables: cannot compile and link ! See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f conftest$ac_cv_exeext ! echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 echo "${ECHO_T}$ac_cv_exeext" >&6 *************** *** 2000,2011 **** EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT ! echo "$as_me:2002: checking for object suffix" >&5 ! echo $ECHO_N "checking for object suffix... $ECHO_C" >&6 if test "${ac_cv_objext+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF ! #line 2008 "configure" ! #include "confdefs.h" int --- 2520,2535 ---- EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT ! echo "$as_me:$LINENO: checking for suffix of object files" >&5 ! echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6 if test "${ac_cv_objext+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ int *************** *** 2018,2029 **** _ACEOF rm -f conftest.o conftest.obj ! if { (eval echo "$as_me:2020: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:2023: \$? = $ac_status" >&5 (exit $ac_status); }; then for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do case $ac_file in ! *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; --- 2542,2553 ---- _ACEOF rm -f conftest.o conftest.obj ! if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do case $ac_file in ! *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; *************** *** 2032,2038 **** else echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! { { echo "$as_me:2035: error: cannot compute OBJEXT: cannot compile" >&5 ! echo "$as_me: error: cannot compute OBJEXT: cannot compile" >&2;} { (exit 1); exit 1; }; } fi --- 2556,2565 ---- else echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ! { { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile ! See \`config.log' for more details." >&5 ! echo "$as_me: error: cannot compute suffix of object files: cannot compile ! See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi *************** *** 2040,2048 **** rm -f conftest.$ac_cv_objext conftest.$ac_ext fi ! echo "$as_me:2042: result: $ac_cv_objext" >&5 echo "${ECHO_T}$ac_cv_objext" >&6 OBJEXT=$ac_cv_objext ac_objext=$OBJEXT ! echo "$as_me:2046: checking whether we are using the GNU C compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 if test "${ac_cv_c_compiler_gnu+set}" = set; then --- 2567,2575 ---- rm -f conftest.$ac_cv_objext conftest.$ac_ext fi ! echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 echo "${ECHO_T}$ac_cv_objext" >&6 OBJEXT=$ac_cv_objext ac_objext=$OBJEXT ! echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 if test "${ac_cv_c_compiler_gnu+set}" = set; then *************** *** 2050,2055 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 2052 "configure" ! #include "confdefs.h" int --- 2577,2586 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ int *************** *** 2065,2083 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:2067: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:2070: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:2073: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:2076: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ac_compiler_gnu=no fi --- 2596,2615 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ac_compiler_gnu=no fi *************** *** 2086,2090 **** fi ! echo "$as_me:2088: result: $ac_cv_c_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 GCC=`test $ac_compiler_gnu = yes && echo yes` --- 2618,2622 ---- fi ! echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 GCC=`test $ac_compiler_gnu = yes && echo yes` *************** *** 2092,2096 **** ac_save_CFLAGS=$CFLAGS CFLAGS="-g" ! echo "$as_me:2094: checking whether $CC accepts -g" >&5 echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cc_g+set}" = set; then --- 2624,2628 ---- ac_save_CFLAGS=$CFLAGS CFLAGS="-g" ! echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cc_g+set}" = set; then *************** *** 2098,2103 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 2100 "configure" ! #include "confdefs.h" int --- 2630,2639 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ int *************** *** 2110,2133 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:2112: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:2115: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:2118: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:2121: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ac_cv_prog_cc_g=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:2131: result: $ac_cv_prog_cc_g" >&5 echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 if test "$ac_test_CFLAGS" = set; then --- 2646,2670 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ac_cv_prog_cc_g=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 if test "$ac_test_CFLAGS" = set; then *************** *** 2146,2149 **** --- 2683,2782 ---- fi fi + echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5 + echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 + if test "${ac_cv_prog_cc_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 + else + ac_cv_prog_cc_stdc=no + ac_save_CC=$CC + cat >conftest.$ac_ext <<_ACEOF + #line $LINENO "configure" + /* confdefs.h. */ + _ACEOF + cat confdefs.h >>conftest.$ac_ext + cat >>conftest.$ac_ext <<_ACEOF + /* end confdefs.h. */ + #include + #include + #include + #include + /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ + struct buf { int x; }; + FILE * (*rcsopen) (struct buf *, struct stat *, int); + static char *e (p, i) + char **p; + int i; + { + return p[i]; + } + static char *f (char * (*g) (char **, int), char **p, ...) + { + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; + } + 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 + # Don't try gcc -ansi; that turns off useful extensions and + # breaks some systems' header files. + # AIX -qlanglvl=ansi + # Ultrix and OSF/1 -std1 + # HP-UX 10.20 and later -Ae + # HP-UX older versions -Aa -D_HPUX_SOURCE + # SVR4 -Xc -D__EXTENSIONS__ + for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" + do + CC="$ac_save_CC $ac_arg" + rm -f conftest.$ac_objext + if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_prog_cc_stdc=$ac_arg + break + else + echo "$as_me: failed program was:" >&5 + sed 's/^/| /' conftest.$ac_ext >&5 + + fi + rm -f conftest.$ac_objext + done + rm -f conftest.$ac_ext conftest.$ac_objext + CC=$ac_save_CC + + fi + + case "x$ac_cv_prog_cc_stdc" in + x|xno) + echo "$as_me:$LINENO: result: none needed" >&5 + echo "${ECHO_T}none needed" >&6 ;; + *) + echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 + echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 + CC="$CC $ac_cv_prog_cc_stdc" ;; + esac + # Some people use a C++ compiler to compile C. Since we use `exit', # in C++ we need to declare it. In case someone uses the same compiler *************** *** 2156,2169 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:2158: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:2161: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:2164: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:2167: \$? = $ac_status" >&5 (exit $ac_status); }; }; then for ac_declaration in \ --- 2789,2802 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then for ac_declaration in \ *************** *** 2177,2182 **** do cat >conftest.$ac_ext <<_ACEOF ! #line 2179 "configure" ! #include "confdefs.h" #include $ac_declaration --- 2810,2819 ---- do cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ #include $ac_declaration *************** *** 2190,2214 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:2192: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:2195: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:2198: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:2201: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 continue fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF ! #line 2211 "configure" ! #include "confdefs.h" $ac_declaration int --- 2827,2856 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! continue fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ $ac_declaration int *************** *** 2221,2239 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:2223: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:2226: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:2229: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:2232: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext --- 2863,2882 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! fi rm -f conftest.$ac_objext conftest.$ac_ext *************** *** 2248,2252 **** else echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext --- 2891,2896 ---- else echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! fi rm -f conftest.$ac_objext conftest.$ac_ext *************** *** 2257,2283 **** ac_compiler_gnu=$ac_cv_c_compiler_gnu - echo "$as_me:2259: checking for POSIXized ISC" >&5 - echo $ECHO_N "checking for POSIXized ISC... $ECHO_C" >&6 - if test -d /etc/conf/kconfig.d && - grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1 - then - echo "$as_me:2264: result: yes" >&5 - echo "${ECHO_T}yes" >&6 - ISC=yes # If later tests want to check for ISC. - cat >>confdefs.h <<\EOF - #define _POSIX_SOURCE 1 - EOF ! if test "$GCC" = yes; then ! CC="$CC -posix" ! else ! CC="$CC -Xp" ! fi else ! echo "$as_me:2278: result: no" >&5 ! echo "${ECHO_T}no" >&6 ! ISC= fi ac_ext=c --- 2901,2966 ---- ac_compiler_gnu=$ac_cv_c_compiler_gnu ! ! echo "$as_me:$LINENO: checking for strerror in -lcposix" >&5 ! echo $ECHO_N "checking for strerror in -lcposix... $ECHO_C" >&6 ! if test "${ac_cv_lib_cposix_strerror+set}" = set; then ! echo $ECHO_N "(cached) $ECHO_C" >&6 else ! ac_check_lib_save_LIBS=$LIBS ! LIBS="-lcposix $LIBS" ! cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ ! ! /* Override any gcc2 internal prototype to avoid an error. */ ! #ifdef __cplusplus ! extern "C" ! #endif ! /* We use char because int might match the return type of a gcc2 ! builtin and then its argument prototype would still apply. */ ! char strerror (); ! int ! main () ! { ! strerror (); ! ; ! return 0; ! } ! _ACEOF ! rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 ! (eval $ac_link) 2>&5 ! ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 ! (exit $ac_status); } && ! { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ! (eval $ac_try) 2>&5 ! ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 ! (exit $ac_status); }; }; then ! ac_cv_lib_cposix_strerror=yes ! else ! echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ! ac_cv_lib_cposix_strerror=no ! fi ! rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext ! LIBS=$ac_check_lib_save_LIBS fi + echo "$as_me:$LINENO: result: $ac_cv_lib_cposix_strerror" >&5 + echo "${ECHO_T}$ac_cv_lib_cposix_strerror" >&6 + if test $ac_cv_lib_cposix_strerror = yes; then + LIBS="$LIBS -lcposix" + fi + + ac_ext=c *************** *** 2286,2290 **** ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ! echo "$as_me:2288: checking how to run the C preprocessor" >&5 echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6 # On Suns, sometimes $CPP names a directory. --- 2969,2973 ---- ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ! echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6 # On Suns, sometimes $CPP names a directory. *************** *** 2304,2322 **** # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF ! #line 2309 "configure" ! #include "confdefs.h" ! #include Syntax error _ACEOF ! if { (eval echo "$as_me:2314: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? ! egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 ! echo "$as_me:2320: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then --- 2987,3015 ---- # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ ! #ifdef __STDC__ ! # include ! #else ! # include ! #endif Syntax error _ACEOF ! if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? ! grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then *************** *** 2332,2336 **** else echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 # Broken: fails on valid input. continue --- 3025,3030 ---- else echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! # Broken: fails on valid input. continue *************** *** 2341,2355 **** # can be detected and how. cat >conftest.$ac_ext <<_ACEOF ! #line 2343 "configure" ! #include "confdefs.h" #include _ACEOF ! if { (eval echo "$as_me:2347: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? ! egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 ! echo "$as_me:2353: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then --- 3035,3053 ---- # can be detected and how. cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ #include _ACEOF ! if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? ! grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then *************** *** 2366,2370 **** else echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: --- 3064,3069 ---- else echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! # Passes both tests. ac_preproc_ok=: *************** *** 2388,2392 **** ac_cv_prog_CPP=$CPP fi ! echo "$as_me:2390: result: $CPP" >&5 echo "${ECHO_T}$CPP" >&6 ac_preproc_ok=false --- 3087,3091 ---- ac_cv_prog_CPP=$CPP fi ! echo "$as_me:$LINENO: result: $CPP" >&5 echo "${ECHO_T}$CPP" >&6 ac_preproc_ok=false *************** *** 2395,2413 **** # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF ! #line 2400 "configure" ! #include "confdefs.h" ! #include Syntax error _ACEOF ! if { (eval echo "$as_me:2405: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? ! egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 ! echo "$as_me:2411: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then --- 3094,3122 ---- # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ ! #ifdef __STDC__ ! # include ! #else ! # include ! #endif Syntax error _ACEOF ! if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? ! grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then *************** *** 2423,2427 **** else echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 # Broken: fails on valid input. continue --- 3132,3137 ---- else echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! # Broken: fails on valid input. continue *************** *** 2432,2446 **** # can be detected and how. cat >conftest.$ac_ext <<_ACEOF ! #line 2434 "configure" ! #include "confdefs.h" #include _ACEOF ! if { (eval echo "$as_me:2438: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? ! egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 ! echo "$as_me:2444: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then --- 3142,3160 ---- # can be detected and how. cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ #include _ACEOF ! if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? ! grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then *************** *** 2457,2461 **** else echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: --- 3171,3176 ---- else echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! # Passes both tests. ac_preproc_ok=: *************** *** 2470,2475 **** : else ! { { echo "$as_me:2472: error: C preprocessor \"$CPP\" fails sanity check" >&5 ! echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check" >&2;} { (exit 1); exit 1; }; } fi --- 3185,3192 ---- : else ! { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check ! See \`config.log' for more details." >&5 ! echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check ! See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi *************** *** 2481,2504 **** ac_compiler_gnu=$ac_cv_c_compiler_gnu ! echo "$as_me:2483: checking for minix/config.h" >&5 ! echo $ECHO_N "checking for minix/config.h... $ECHO_C" >&6 ! if test "${ac_cv_header_minix_config_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF ! #line 2489 "configure" ! #include "confdefs.h" ! #include _ACEOF ! if { (eval echo "$as_me:2493: \"$ac_cpp conftest.$ac_ext\"") >&5 ! (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ! ac_status=$? ! egrep -v '^ *\+' conftest.er1 >conftest.err ! rm -f conftest.er1 ! cat conftest.err >&5 ! echo "$as_me:2499: \$? = $ac_status" >&5 ! (exit $ac_status); } >/dev/null; then ! if test -s conftest.err; then ! ac_cpp_err=$ac_c_preproc_warn_flag else ac_cpp_err= --- 3198,3507 ---- ac_compiler_gnu=$ac_cv_c_compiler_gnu ! ! echo "$as_me:$LINENO: checking for egrep" >&5 ! echo $ECHO_N "checking for egrep... $ECHO_C" >&6 ! if test "${ac_cv_prog_egrep+set}" = set; then ! echo $ECHO_N "(cached) $ECHO_C" >&6 ! else ! if echo a | (grep -E '(a|b)') >/dev/null 2>&1 ! then ac_cv_prog_egrep='grep -E' ! else ac_cv_prog_egrep='egrep' ! fi ! fi ! echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5 ! echo "${ECHO_T}$ac_cv_prog_egrep" >&6 ! EGREP=$ac_cv_prog_egrep ! ! ! echo "$as_me:$LINENO: checking for ANSI C header files" >&5 ! echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 ! if test "${ac_cv_header_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ ! #include ! #include ! #include ! #include ! ! int ! main () ! { ! ! ; ! return 0; ! } ! _ACEOF ! rm -f conftest.$ac_objext ! if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ! (eval $ac_compile) 2>&5 ! ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 ! (exit $ac_status); } && ! { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ! (eval $ac_try) 2>&5 ! ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 ! (exit $ac_status); }; }; then ! ac_cv_header_stdc=yes ! else ! echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ! ac_cv_header_stdc=no ! fi ! rm -f conftest.$ac_objext conftest.$ac_ext ! ! if test $ac_cv_header_stdc = yes; then ! # SunOS 4.x string.h does not declare mem*, contrary to ANSI. ! cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ ! #include ! ! _ACEOF ! if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | ! $EGREP "memchr" >/dev/null 2>&1; then ! : ! else ! ac_cv_header_stdc=no ! fi ! rm -f conftest* ! ! fi ! ! if test $ac_cv_header_stdc = yes; then ! # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. ! cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ ! #include ! ! _ACEOF ! if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | ! $EGREP "free" >/dev/null 2>&1; then ! : ! else ! ac_cv_header_stdc=no ! fi ! rm -f conftest* ! ! fi ! ! if test $ac_cv_header_stdc = yes; then ! # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. ! if test "$cross_compiling" = yes; then ! : ! else ! cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ ! #include ! #if ((' ' & 0x0FF) == 0x020) ! # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') ! # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) ! #else ! # define ISLOWER(c) \ ! (('a' <= (c) && (c) <= 'i') \ ! || ('j' <= (c) && (c) <= 'r') \ ! || ('s' <= (c) && (c) <= 'z')) ! # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) ! #endif ! ! #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) ! int ! main () ! { ! int i; ! for (i = 0; i < 256; i++) ! if (XOR (islower (i), ISLOWER (i)) ! || toupper (i) != TOUPPER (i)) ! exit(2); ! exit (0); ! } ! _ACEOF ! rm -f conftest$ac_exeext ! if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 ! (eval $ac_link) 2>&5 ! ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 ! (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ! (eval $ac_try) 2>&5 ! ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 ! (exit $ac_status); }; }; then ! : ! else ! echo "$as_me: program exited with status $ac_status" >&5 ! echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ! ( exit $ac_status ) ! ac_cv_header_stdc=no ! fi ! rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext ! fi ! fi ! fi ! echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 ! echo "${ECHO_T}$ac_cv_header_stdc" >&6 ! if test $ac_cv_header_stdc = yes; then ! ! cat >>confdefs.h <<\_ACEOF ! #define STDC_HEADERS 1 ! _ACEOF ! ! fi ! ! # On IRIX 5.3, sys/types and inttypes.h are conflicting. ! ! ! ! ! ! ! ! ! ! for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ ! inttypes.h stdint.h unistd.h ! do ! as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` ! echo "$as_me:$LINENO: checking for $ac_header" >&5 ! echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 ! if eval "test \"\${$as_ac_Header+set}\" = set"; then ! echo $ECHO_N "(cached) $ECHO_C" >&6 ! else ! cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ ! $ac_includes_default ! ! #include <$ac_header> ! _ACEOF ! rm -f conftest.$ac_objext ! if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ! (eval $ac_compile) 2>&5 ! ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 ! (exit $ac_status); } && ! { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ! (eval $ac_try) 2>&5 ! ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 ! (exit $ac_status); }; }; then ! eval "$as_ac_Header=yes" ! else ! echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ! eval "$as_ac_Header=no" ! fi ! rm -f conftest.$ac_objext conftest.$ac_ext ! fi ! echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 ! echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 ! if test `eval echo '${'$as_ac_Header'}'` = yes; then ! cat >>confdefs.h <<_ACEOF ! #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 ! _ACEOF ! ! fi ! ! done ! ! ! if test "${ac_cv_header_minix_config_h+set}" = set; then ! echo "$as_me:$LINENO: checking for minix/config.h" >&5 ! echo $ECHO_N "checking for minix/config.h... $ECHO_C" >&6 ! if test "${ac_cv_header_minix_config_h+set}" = set; then ! echo $ECHO_N "(cached) $ECHO_C" >&6 ! fi ! echo "$as_me:$LINENO: result: $ac_cv_header_minix_config_h" >&5 ! echo "${ECHO_T}$ac_cv_header_minix_config_h" >&6 ! else ! # Is the header compilable? ! echo "$as_me:$LINENO: checking minix/config.h usability" >&5 ! echo $ECHO_N "checking minix/config.h usability... $ECHO_C" >&6 ! cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ ! $ac_includes_default ! #include ! _ACEOF ! rm -f conftest.$ac_objext ! if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ! (eval $ac_compile) 2>&5 ! ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 ! (exit $ac_status); } && ! { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ! (eval $ac_try) 2>&5 ! ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 ! (exit $ac_status); }; }; then ! ac_header_compiler=yes ! else ! echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ! ac_header_compiler=no ! fi ! rm -f conftest.$ac_objext conftest.$ac_ext ! echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 ! echo "${ECHO_T}$ac_header_compiler" >&6 ! ! # Is the header present? ! echo "$as_me:$LINENO: checking minix/config.h presence" >&5 ! echo $ECHO_N "checking minix/config.h presence... $ECHO_C" >&6 ! cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ ! #include ! _ACEOF ! if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 ! (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ! ac_status=$? ! grep -v '^ *+' conftest.er1 >conftest.err ! rm -f conftest.er1 ! cat conftest.err >&5 ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 ! (exit $ac_status); } >/dev/null; then ! if test -s conftest.err; then ! ac_cpp_err=$ac_c_preproc_warn_flag else ac_cpp_err= *************** *** 2508,2521 **** fi if test -z "$ac_cpp_err"; then ! ac_cv_header_minix_config_h=yes else echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! ac_cv_header_minix_config_h=no fi rm -f conftest.err conftest.$ac_ext fi ! echo "$as_me:2518: result: $ac_cv_header_minix_config_h" >&5 echo "${ECHO_T}$ac_cv_header_minix_config_h" >&6 if test $ac_cv_header_minix_config_h = yes; then MINIX=yes --- 3511,3569 ---- fi if test -z "$ac_cpp_err"; then ! ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ! ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext + echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 + echo "${ECHO_T}$ac_header_preproc" >&6 + + # So? What about this header? + case $ac_header_compiler:$ac_header_preproc in + yes:no ) + { echo "$as_me:$LINENO: WARNING: minix/config.h: accepted by the compiler, rejected by the preprocessor!" >&5 + echo "$as_me: WARNING: minix/config.h: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: minix/config.h: proceeding with the preprocessor's result" >&5 + echo "$as_me: WARNING: minix/config.h: proceeding with the preprocessor's result" >&2;} + ( + cat <<\_ASBOX + ## ------------------------------------ ## + ## Report this to bug-autoconf@gnu.org. ## + ## ------------------------------------ ## + _ASBOX + ) | + sed "s/^/$as_me: WARNING: /" >&2 + ;; + no:yes ) + { echo "$as_me:$LINENO: WARNING: minix/config.h: present but cannot be compiled" >&5 + echo "$as_me: WARNING: minix/config.h: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: minix/config.h: check for missing prerequisite headers?" >&5 + echo "$as_me: WARNING: minix/config.h: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: minix/config.h: proceeding with the preprocessor's result" >&5 + echo "$as_me: WARNING: minix/config.h: proceeding with the preprocessor's result" >&2;} + ( + cat <<\_ASBOX + ## ------------------------------------ ## + ## Report this to bug-autoconf@gnu.org. ## + ## ------------------------------------ ## + _ASBOX + ) | + sed "s/^/$as_me: WARNING: /" >&2 + ;; + esac + echo "$as_me:$LINENO: checking for minix/config.h" >&5 + echo $ECHO_N "checking for minix/config.h... $ECHO_C" >&6 + if test "${ac_cv_header_minix_config_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 + else + ac_cv_header_minix_config_h=$ac_header_preproc fi ! echo "$as_me:$LINENO: result: $ac_cv_header_minix_config_h" >&5 echo "${ECHO_T}$ac_cv_header_minix_config_h" >&6 + + fi if test $ac_cv_header_minix_config_h = yes; then MINIX=yes *************** *** 2524,2543 **** fi if test "$MINIX" = yes; then ! cat >>confdefs.h <<\EOF #define _POSIX_SOURCE 1 ! EOF ! cat >>confdefs.h <<\EOF #define _POSIX_1_SOURCE 2 ! EOF ! cat >>confdefs.h <<\EOF #define _MINIX 1 ! EOF fi case $host_os in *cygwin* ) CYGWIN=yes;; --- 3572,3596 ---- fi + if test "$MINIX" = yes; then ! cat >>confdefs.h <<\_ACEOF #define _POSIX_SOURCE 1 ! _ACEOF ! ! cat >>confdefs.h <<\_ACEOF #define _POSIX_1_SOURCE 2 ! _ACEOF ! ! cat >>confdefs.h <<\_ACEOF #define _MINIX 1 ! _ACEOF fi + + case $host_os in *cygwin* ) CYGWIN=yes;; *************** *** 2545,2548 **** --- 3598,3602 ---- esac + case $host_os in *mingw32* ) MINGW32=yes;; *************** *** 2550,2553 **** --- 3604,3608 ---- esac + # Check whether --enable-largefile or --disable-largefile was given. if test "${enable_largefile+set}" = set; then *************** *** 2557,2561 **** if test "$enable_largefile" != no; then ! echo "$as_me:2559: checking for special C compiler options needed for large files" >&5 echo $ECHO_N "checking for special C compiler options needed for large files... $ECHO_C" >&6 if test "${ac_cv_sys_largefile_CC+set}" = set; then --- 3612,3616 ---- if test "$enable_largefile" != no; then ! echo "$as_me:$LINENO: checking for special C compiler options needed for large files" >&5 echo $ECHO_N "checking for special C compiler options needed for large files... $ECHO_C" >&6 if test "${ac_cv_sys_largefile_CC+set}" = set; then *************** *** 2569,2574 **** # so use the C compiler's -n32 option if that helps. cat >conftest.$ac_ext <<_ACEOF ! #line 2571 "configure" ! #include "confdefs.h" #include /* Check that off_t can represent 2**63 - 1 correctly. --- 3624,3633 ---- # so use the C compiler's -n32 option if that helps. cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ #include /* Check that off_t can represent 2**63 - 1 correctly. *************** *** 2589,2626 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:2591: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:2594: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:2597: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:2600: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext CC="$CC -n32" rm -f conftest.$ac_objext ! if { (eval echo "$as_me:2610: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:2613: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:2616: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:2619: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sys_largefile_CC=' -n32'; break else echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext --- 3648,3687 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! fi rm -f conftest.$ac_objext CC="$CC -n32" rm -f conftest.$ac_objext ! if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sys_largefile_CC=' -n32'; break else echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! fi rm -f conftest.$ac_objext *************** *** 2631,2635 **** fi fi ! echo "$as_me:2633: result: $ac_cv_sys_largefile_CC" >&5 echo "${ECHO_T}$ac_cv_sys_largefile_CC" >&6 if test "$ac_cv_sys_largefile_CC" != no; then --- 3692,3696 ---- fi fi ! echo "$as_me:$LINENO: result: $ac_cv_sys_largefile_CC" >&5 echo "${ECHO_T}$ac_cv_sys_largefile_CC" >&6 if test "$ac_cv_sys_largefile_CC" != no; then *************** *** 2637,2641 **** fi ! echo "$as_me:2639: checking for _FILE_OFFSET_BITS value needed for large files" >&5 echo $ECHO_N "checking for _FILE_OFFSET_BITS value needed for large files... $ECHO_C" >&6 if test "${ac_cv_sys_file_offset_bits+set}" = set; then --- 3698,3702 ---- fi ! echo "$as_me:$LINENO: checking for _FILE_OFFSET_BITS value needed for large files" >&5 echo $ECHO_N "checking for _FILE_OFFSET_BITS value needed for large files... $ECHO_C" >&6 if test "${ac_cv_sys_file_offset_bits+set}" = set; then *************** *** 2645,2650 **** ac_cv_sys_file_offset_bits=no cat >conftest.$ac_ext <<_ACEOF ! #line 2647 "configure" ! #include "confdefs.h" #include /* Check that off_t can represent 2**63 - 1 correctly. --- 3706,3715 ---- ac_cv_sys_file_offset_bits=no cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ #include /* Check that off_t can represent 2**63 - 1 correctly. *************** *** 2665,2688 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:2667: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:2670: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:2673: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:2676: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF ! #line 2685 "configure" ! #include "confdefs.h" #define _FILE_OFFSET_BITS 64 #include --- 3730,3758 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ #define _FILE_OFFSET_BITS 64 #include *************** *** 2704,2722 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:2706: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:2709: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:2712: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:2715: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sys_file_offset_bits=64; break else echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext --- 3774,3793 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sys_file_offset_bits=64; break else echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! fi rm -f conftest.$ac_objext conftest.$ac_ext *************** *** 2724,2738 **** done fi ! echo "$as_me:2726: result: $ac_cv_sys_file_offset_bits" >&5 echo "${ECHO_T}$ac_cv_sys_file_offset_bits" >&6 if test "$ac_cv_sys_file_offset_bits" != no; then ! cat >>confdefs.h <&5 echo $ECHO_N "checking for _LARGE_FILES value needed for large files... $ECHO_C" >&6 if test "${ac_cv_sys_large_files+set}" = set; then --- 3795,3809 ---- done fi ! echo "$as_me:$LINENO: result: $ac_cv_sys_file_offset_bits" >&5 echo "${ECHO_T}$ac_cv_sys_file_offset_bits" >&6 if test "$ac_cv_sys_file_offset_bits" != no; then ! cat >>confdefs.h <<_ACEOF #define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits ! _ACEOF fi rm -f conftest* ! echo "$as_me:$LINENO: checking for _LARGE_FILES value needed for large files" >&5 echo $ECHO_N "checking for _LARGE_FILES value needed for large files... $ECHO_C" >&6 if test "${ac_cv_sys_large_files+set}" = set; then *************** *** 2742,2747 **** ac_cv_sys_large_files=no cat >conftest.$ac_ext <<_ACEOF ! #line 2744 "configure" ! #include "confdefs.h" #include /* Check that off_t can represent 2**63 - 1 correctly. --- 3813,3822 ---- ac_cv_sys_large_files=no cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ #include /* Check that off_t can represent 2**63 - 1 correctly. *************** *** 2762,2785 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:2764: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:2767: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:2770: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:2773: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF ! #line 2782 "configure" ! #include "confdefs.h" #define _LARGE_FILES 1 #include --- 3837,3865 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ #define _LARGE_FILES 1 #include *************** *** 2801,2819 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:2803: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:2806: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:2809: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:2812: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sys_large_files=1; break else echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext --- 3881,3900 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sys_large_files=1; break else echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! fi rm -f conftest.$ac_objext conftest.$ac_ext *************** *** 2821,2831 **** done fi ! echo "$as_me:2823: result: $ac_cv_sys_large_files" >&5 echo "${ECHO_T}$ac_cv_sys_large_files" >&6 if test "$ac_cv_sys_large_files" != no; then ! cat >>confdefs.h <&5 echo "${ECHO_T}$ac_cv_sys_large_files" >&6 if test "$ac_cv_sys_large_files" != no; then ! cat >>confdefs.h <<_ACEOF #define _LARGE_FILES $ac_cv_sys_large_files ! _ACEOF fi *************** *** 2833,2838 **** --- 3914,3923 ---- fi + + SIGNAMES_H=lsignames.h + + if test "x$cross_compiling" = "xyes"; then case "${host}" in *************** *** 2855,2858 **** --- 3940,3944 ---- fi + if test -z "$CC_FOR_BUILD"; then if test "x$cross_compiling" = "xno"; then *************** *** 2863,2866 **** --- 3949,3954 ---- fi + + test -z "$CFLAGS" && CFLAGS=-g auto_cflags=1 *************** *** 2887,2895 **** fi ! test -z "$CPPFLAGS_FOR_BUILD" && CPPFLAGS_FOR_BUILD="$CPPFLAGS" test -z "$CFLAGS_FOR_BUILD" && CFLAGS_FOR_BUILD="-g" if test $ac_cv_c_compiler_gnu = yes; then ! echo "$as_me:2893: checking whether $CC needs -traditional" >&5 echo $ECHO_N "checking whether $CC needs -traditional... $ECHO_C" >&6 if test "${ac_cv_prog_gcc_traditional+set}" = set; then --- 3975,3999 ---- fi ! if test "X$cross_compiling" = "Xno"; then ! CPPFLAGS_FOR_BUILD=${CPPFLAGS_FOR_BUILD-"$CPPFLAGS"} ! LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-'$(LDFLAGS)'} ! else ! CPPFLAGS_FOR_BUILD=${CPPFLAGS_FOR_BUILD-""} ! LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-""} ! fi ! test -z "$CFLAGS_FOR_BUILD" && CFLAGS_FOR_BUILD="-g" + + + + + + + + + if test $ac_cv_c_compiler_gnu = yes; then ! echo "$as_me:$LINENO: checking whether $CC needs -traditional" >&5 echo $ECHO_N "checking whether $CC needs -traditional... $ECHO_C" >&6 if test "${ac_cv_prog_gcc_traditional+set}" = set; then *************** *** 2898,2908 **** ac_pattern="Autoconf.*'x'" cat >conftest.$ac_ext <<_ACEOF ! #line 2900 "configure" ! #include "confdefs.h" #include Autoconf TIOCGETP _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | ! egrep "$ac_pattern" >/dev/null 2>&1; then ac_cv_prog_gcc_traditional=yes else --- 4002,4016 ---- ac_pattern="Autoconf.*'x'" cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ #include Autoconf TIOCGETP _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | ! $EGREP "$ac_pattern" >/dev/null 2>&1; then ac_cv_prog_gcc_traditional=yes else *************** *** 2911,2923 **** rm -f conftest* if test $ac_cv_prog_gcc_traditional = no; then cat >conftest.$ac_ext <<_ACEOF ! #line 2915 "configure" ! #include "confdefs.h" #include Autoconf TCGETA _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | ! egrep "$ac_pattern" >/dev/null 2>&1; then ac_cv_prog_gcc_traditional=yes fi --- 4019,4036 ---- rm -f conftest* + if test $ac_cv_prog_gcc_traditional = no; then cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ #include Autoconf TCGETA _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | ! $EGREP "$ac_pattern" >/dev/null 2>&1; then ac_cv_prog_gcc_traditional=yes fi *************** *** 2926,2930 **** fi fi ! echo "$as_me:2928: result: $ac_cv_prog_gcc_traditional" >&5 echo "${ECHO_T}$ac_cv_prog_gcc_traditional" >&6 if test $ac_cv_prog_gcc_traditional = yes; then --- 4039,4043 ---- fi fi ! echo "$as_me:$LINENO: result: $ac_cv_prog_gcc_traditional" >&5 echo "${ECHO_T}$ac_cv_prog_gcc_traditional" >&6 if test $ac_cv_prog_gcc_traditional = yes; then *************** *** 2933,2936 **** --- 4046,4051 ---- fi + + if test "$opt_readline" = yes && test "$opt_with_installed_readline" != "no" then *************** *** 2939,2946 **** test $opt_with_installed_readline != "yes" && ac_cv_rl_prefix=$opt_with_installed_readline if test "X$bash_cv_termcap_lib" = "X"; then _bash_needmsg=yes else ! echo "$as_me:2944: checking which library has the termcap functions" >&5 echo $ECHO_N "checking which library has the termcap functions... $ECHO_C" >&6 _bash_needmsg= --- 4054,4062 ---- test $opt_with_installed_readline != "yes" && ac_cv_rl_prefix=$opt_with_installed_readline + if test "X$bash_cv_termcap_lib" = "X"; then _bash_needmsg=yes else ! echo "$as_me:$LINENO: checking which library has the termcap functions" >&5 echo $ECHO_N "checking which library has the termcap functions... $ECHO_C" >&6 _bash_needmsg= *************** *** 2949,2953 **** echo $ECHO_N "(cached) $ECHO_C" >&6 else ! echo "$as_me:2951: checking for tgetent in -ltermcap" >&5 echo $ECHO_N "checking for tgetent in -ltermcap... $ECHO_C" >&6 if test "${ac_cv_lib_termcap_tgetent+set}" = set; then --- 4065,4144 ---- echo $ECHO_N "(cached) $ECHO_C" >&6 else ! echo "$as_me:$LINENO: checking for tgetent" >&5 ! echo $ECHO_N "checking for tgetent... $ECHO_C" >&6 ! if test "${ac_cv_func_tgetent+set}" = set; then ! echo $ECHO_N "(cached) $ECHO_C" >&6 ! else ! cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ ! /* System header to define __stub macros and hopefully few prototypes, ! which can conflict with char tgetent (); below. ! Prefer to if __STDC__ is defined, since ! exists even on freestanding compilers. */ ! #ifdef __STDC__ ! # include ! #else ! # include ! #endif ! /* Override any gcc2 internal prototype to avoid an error. */ ! #ifdef __cplusplus ! extern "C" ! { ! #endif ! /* We use char because int might match the return type of a gcc2 ! builtin and then its argument prototype would still apply. */ ! char tgetent (); ! /* The GNU C library defines this for functions which it implements ! to always fail with ENOSYS. Some functions are actually named ! something starting with __ and the normal name is an alias. */ ! #if defined (__stub_tgetent) || defined (__stub___tgetent) ! choke me ! #else ! char (*f) () = tgetent; ! #endif ! #ifdef __cplusplus ! } ! #endif ! ! int ! main () ! { ! return f != tgetent; ! ; ! return 0; ! } ! _ACEOF ! rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 ! (eval $ac_link) 2>&5 ! ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 ! (exit $ac_status); } && ! { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ! (eval $ac_try) 2>&5 ! ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 ! (exit $ac_status); }; }; then ! ac_cv_func_tgetent=yes ! else ! echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ! ac_cv_func_tgetent=no ! fi ! rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext ! fi ! echo "$as_me:$LINENO: result: $ac_cv_func_tgetent" >&5 ! echo "${ECHO_T}$ac_cv_func_tgetent" >&6 ! if test $ac_cv_func_tgetent = yes; then ! bash_cv_termcap_lib=libc ! else ! echo "$as_me:$LINENO: checking for tgetent in -ltermcap" >&5 echo $ECHO_N "checking for tgetent in -ltermcap... $ECHO_C" >&6 if test "${ac_cv_lib_termcap_tgetent+set}" = set; then *************** *** 2957,2962 **** LIBS="-ltermcap $LIBS" cat >conftest.$ac_ext <<_ACEOF ! #line 2959 "configure" ! #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ --- 4148,4157 ---- LIBS="-ltermcap $LIBS" cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ *************** *** 2976,2994 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:2978: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:2981: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:2984: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:2987: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_termcap_tgetent=yes else echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ac_cv_lib_termcap_tgetent=no fi --- 4171,4190 ---- _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_termcap_tgetent=yes else echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ac_cv_lib_termcap_tgetent=no fi *************** *** 2996,3005 **** LIBS=$ac_check_lib_save_LIBS fi ! echo "$as_me:2998: result: $ac_cv_lib_termcap_tgetent" >&5 echo "${ECHO_T}$ac_cv_lib_termcap_tgetent" >&6 if test $ac_cv_lib_termcap_tgetent = yes; then bash_cv_termcap_lib=libtermcap else ! echo "$as_me:3003: checking for tgetent in -ltinfo" >&5 echo $ECHO_N "checking for tgetent in -ltinfo... $ECHO_C" >&6 if test "${ac_cv_lib_tinfo_tgetent+set}" = set; then --- 4192,4201 ---- LIBS=$ac_check_lib_save_LIBS fi ! echo "$as_me:$LINENO: result: $ac_cv_lib_termcap_tgetent" >&5 echo "${ECHO_T}$ac_cv_lib_termcap_tgetent" >&6 if test $ac_cv_lib_termcap_tgetent = yes; then bash_cv_termcap_lib=libtermcap else ! echo "$as_me:$LINENO: checking for tgetent in -ltinfo" >&5 echo $ECHO_N "checking for tgetent in -ltinfo... $ECHO_C" >&6 if test "${ac_cv_lib_tinfo_tgetent+set}" = set; then *************** *** 3009,3014 **** LIBS="-ltinfo $LIBS" cat >conftest.$ac_ext <<_ACEOF ! #line 3011 "configure" ! #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ --- 4205,4214 ---- LIBS="-ltinfo $LIBS" cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ *************** *** 3028,3046 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:3030: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:3033: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:3036: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:3039: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_tinfo_tgetent=yes else echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ac_cv_lib_tinfo_tgetent=no fi --- 4228,4247 ---- _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_tinfo_tgetent=yes else echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ac_cv_lib_tinfo_tgetent=no fi *************** *** 3048,3057 **** LIBS=$ac_check_lib_save_LIBS fi ! echo "$as_me:3050: result: $ac_cv_lib_tinfo_tgetent" >&5 echo "${ECHO_T}$ac_cv_lib_tinfo_tgetent" >&6 if test $ac_cv_lib_tinfo_tgetent = yes; then bash_cv_termcap_lib=libtinfo else ! echo "$as_me:3055: checking for tgetent in -lcurses" >&5 echo $ECHO_N "checking for tgetent in -lcurses... $ECHO_C" >&6 if test "${ac_cv_lib_curses_tgetent+set}" = set; then --- 4249,4258 ---- LIBS=$ac_check_lib_save_LIBS fi ! echo "$as_me:$LINENO: result: $ac_cv_lib_tinfo_tgetent" >&5 echo "${ECHO_T}$ac_cv_lib_tinfo_tgetent" >&6 if test $ac_cv_lib_tinfo_tgetent = yes; then bash_cv_termcap_lib=libtinfo else ! echo "$as_me:$LINENO: checking for tgetent in -lcurses" >&5 echo $ECHO_N "checking for tgetent in -lcurses... $ECHO_C" >&6 if test "${ac_cv_lib_curses_tgetent+set}" = set; then *************** *** 3061,3066 **** LIBS="-lcurses $LIBS" cat >conftest.$ac_ext <<_ACEOF ! #line 3063 "configure" ! #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ --- 4262,4271 ---- LIBS="-lcurses $LIBS" cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ *************** *** 3080,3098 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:3082: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:3085: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:3088: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:3091: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_curses_tgetent=yes else echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ac_cv_lib_curses_tgetent=no fi --- 4285,4304 ---- _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_curses_tgetent=yes else echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ac_cv_lib_curses_tgetent=no fi *************** *** 3100,3109 **** LIBS=$ac_check_lib_save_LIBS fi ! echo "$as_me:3102: result: $ac_cv_lib_curses_tgetent" >&5 echo "${ECHO_T}$ac_cv_lib_curses_tgetent" >&6 if test $ac_cv_lib_curses_tgetent = yes; then bash_cv_termcap_lib=libcurses else ! echo "$as_me:3107: checking for tgetent in -lncurses" >&5 echo $ECHO_N "checking for tgetent in -lncurses... $ECHO_C" >&6 if test "${ac_cv_lib_ncurses_tgetent+set}" = set; then --- 4306,4315 ---- LIBS=$ac_check_lib_save_LIBS fi ! echo "$as_me:$LINENO: result: $ac_cv_lib_curses_tgetent" >&5 echo "${ECHO_T}$ac_cv_lib_curses_tgetent" >&6 if test $ac_cv_lib_curses_tgetent = yes; then bash_cv_termcap_lib=libcurses else ! echo "$as_me:$LINENO: checking for tgetent in -lncurses" >&5 echo $ECHO_N "checking for tgetent in -lncurses... $ECHO_C" >&6 if test "${ac_cv_lib_ncurses_tgetent+set}" = set; then *************** *** 3113,3118 **** LIBS="-lncurses $LIBS" cat >conftest.$ac_ext <<_ACEOF ! #line 3115 "configure" ! #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ --- 4319,4328 ---- LIBS="-lncurses $LIBS" cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ /* Override any gcc2 internal prototype to avoid an error. */ *************** *** 3132,3150 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:3134: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:3137: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:3140: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:3143: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_ncurses_tgetent=yes else echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ac_cv_lib_ncurses_tgetent=no fi --- 4342,4361 ---- _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_ncurses_tgetent=yes else echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ac_cv_lib_ncurses_tgetent=no fi *************** *** 3152,3156 **** LIBS=$ac_check_lib_save_LIBS fi ! echo "$as_me:3154: result: $ac_cv_lib_ncurses_tgetent" >&5 echo "${ECHO_T}$ac_cv_lib_ncurses_tgetent" >&6 if test $ac_cv_lib_ncurses_tgetent = yes; then --- 4363,4367 ---- LIBS=$ac_check_lib_save_LIBS fi ! echo "$as_me:$LINENO: result: $ac_cv_lib_ncurses_tgetent" >&5 echo "${ECHO_T}$ac_cv_lib_ncurses_tgetent" >&6 if test $ac_cv_lib_ncurses_tgetent = yes; then *************** *** 3168,3176 **** fi if test "X$_bash_needmsg" = "Xyes"; then ! echo "$as_me:3171: checking which library has the termcap functions" >&5 echo $ECHO_N "checking which library has the termcap functions... $ECHO_C" >&6 fi ! echo "$as_me:3174: result: using $bash_cv_termcap_lib" >&5 echo "${ECHO_T}using $bash_cv_termcap_lib" >&6 if test $bash_cv_termcap_lib = gnutermcap && test -z "$prefer_curses"; then --- 4379,4389 ---- fi + fi + if test "X$_bash_needmsg" = "Xyes"; then ! echo "$as_me:$LINENO: checking which library has the termcap functions" >&5 echo $ECHO_N "checking which library has the termcap functions... $ECHO_C" >&6 fi ! echo "$as_me:$LINENO: result: using $bash_cv_termcap_lib" >&5 echo "${ECHO_T}using $bash_cv_termcap_lib" >&6 if test $bash_cv_termcap_lib = gnutermcap && test -z "$prefer_curses"; then *************** *** 3187,3190 **** --- 4400,4406 ---- TERMCAP_LIB=-lncurses TERMCAP_DEP= + elif test $bash_cv_termcap_lib = libc; then + TERMCAP_LIB= + TERMCAP_DEP= else TERMCAP_LIB=-lcurses *************** *** 3192,3196 **** fi ! echo "$as_me:3194: checking version of installed readline library" >&5 echo $ECHO_N "checking version of installed readline library... $ECHO_C" >&6 --- 4408,4415 ---- fi ! ! ! ! echo "$as_me:$LINENO: checking version of installed readline library" >&5 echo $ECHO_N "checking version of installed readline library... $ECHO_C" >&6 *************** *** 3217,3226 **** LDFLAGS="$LDFLAGS -L${ac_cv_rl_libdir}" ! if test "$cross_compiling" = yes; then ac_cv_rl_version='4.2' else cat >conftest.$ac_ext <<_ACEOF ! #line 3223 "configure" ! #include "confdefs.h" #include --- 4436,4452 ---- LDFLAGS="$LDFLAGS -L${ac_cv_rl_libdir}" ! if test "${ac_cv_rl_version+set}" = set; then ! echo $ECHO_N "(cached) $ECHO_C" >&6 ! else ! if test "$cross_compiling" = yes; then ac_cv_rl_version='4.2' else cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ #include *************** *** 3239,3251 **** _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:3241: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:3244: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:3246: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:3249: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_rl_version=`cat conftest.rlv` --- 4465,4477 ---- _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_rl_version=`cat conftest.rlv` *************** *** 3253,3261 **** echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ac_cv_rl_version='0.0' fi ! rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi CFLAGS="$_save_CFLAGS" --- 4479,4491 ---- echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ! ( exit $ac_status ) ac_cv_rl_version='0.0' fi ! rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi + fi + CFLAGS="$_save_CFLAGS" *************** *** 3293,3297 **** if test $ac_cv_rl_version = '0.0' ; then ! { echo "$as_me:3295: WARNING: Could not test version of installed readline library." >&5 echo "$as_me: WARNING: Could not test version of installed readline library." >&2;} elif test $RL_MAJOR -gt 4 || { test $RL_MAJOR = 4 && test $RL_MINOR -gt 2 ; } ; then --- 4523,4527 ---- if test $ac_cv_rl_version = '0.0' ; then ! { echo "$as_me:$LINENO: WARNING: Could not test version of installed readline library." >&5 echo "$as_me: WARNING: Could not test version of installed readline library." >&2;} elif test $RL_MAJOR -gt 4 || { test $RL_MAJOR = 4 && test $RL_MINOR -gt 2 ; } ; then *************** *** 3300,3318 **** RL_LIBDIR=$ac_cv_rl_libdir RL_INCLUDEDIR=$ac_cv_rl_includedir ! echo "$as_me:3302: result: $ac_cv_rl_version" >&5 echo "${ECHO_T}$ac_cv_rl_version" >&6 else ! cat >>confdefs.h <>confdefs.h <>confdefs.h <&5 echo "${ECHO_T}$ac_cv_rl_version" >&6 else ! ! cat >>confdefs.h <<_ACEOF #define RL_READLINE_VERSION $RL_VERSION ! _ACEOF ! ! cat >>confdefs.h <<_ACEOF #define RL_VERSION_MAJOR $RL_MAJOR ! _ACEOF ! ! cat >>confdefs.h <<_ACEOF #define RL_VERSION_MINOR $RL_MINOR ! _ACEOF ! ! ! ! ! # set these for use by the caller *************** *** 3321,3335 **** RL_INCLUDEDIR=$ac_cv_rl_includedir ! echo "$as_me:3323: result: $ac_cv_rl_version" >&5 echo "${ECHO_T}$ac_cv_rl_version" >&6 fi case "$ac_cv_rl_version" in ! 4.[3-9]*|5*|6*|7*|8*|9*) ;; *) opt_with_installed_readline=no ! { echo "$as_me:3331: WARNING: installed readline library is too old to be linked with bash" >&5 echo "$as_me: WARNING: installed readline library is too old to be linked with bash" >&2;} ! { echo "$as_me:3333: WARNING: using private bash version" >&5 echo "$as_me: WARNING: using private bash version" >&2;} ;; --- 4559,4574 ---- RL_INCLUDEDIR=$ac_cv_rl_includedir ! echo "$as_me:$LINENO: result: $ac_cv_rl_version" >&5 echo "${ECHO_T}$ac_cv_rl_version" >&6 fi + case "$ac_cv_rl_version" in ! 5*|6*|7*|8*|9*) ;; *) opt_with_installed_readline=no ! { echo "$as_me:$LINENO: WARNING: installed readline library is too old to be linked with bash" >&5 echo "$as_me: WARNING: installed readline library is too old to be linked with bash" >&2;} ! { echo "$as_me:$LINENO: WARNING: using private bash version" >&5 echo "$as_me: WARNING: using private bash version" >&2;} ;; *************** *** 3338,3350 **** if test $opt_readline = yes; then ! cat >>confdefs.h <<\EOF #define READLINE 1 ! EOF READLINE_LIB=-lreadline if test "$opt_with_installed_readline" != "no" ; then ! case "$RL_INCLUDEDIR" in ! /usr/include) ;; ! *) RL_INCLUDE='-I${RL_INCLUDEDIR}' esac READLINE_DEP= --- 4577,4593 ---- if test $opt_readline = yes; then ! cat >>confdefs.h <<\_ACEOF #define READLINE 1 ! _ACEOF READLINE_LIB=-lreadline if test "$opt_with_installed_readline" != "no" ; then ! case "$opt_with_installed_readline" in ! yes) RL_INCLUDE= ;; ! *) case "$RL_INCLUDEDIR" in ! /usr/include) ;; ! *) RL_INCLUDE='-I${RL_INCLUDEDIR}' ;; ! esac ! ;; esac READLINE_DEP= *************** *** 3359,3371 **** if test $opt_history = yes || test $opt_bang_history = yes; then if test $opt_history = yes; then ! cat >>confdefs.h <<\EOF #define HISTORY 1 ! EOF fi if test $opt_bang_history = yes; then ! cat >>confdefs.h <<\EOF #define BANG_HISTORY 1 ! EOF fi --- 4602,4614 ---- if test $opt_history = yes || test $opt_bang_history = yes; then if test $opt_history = yes; then ! cat >>confdefs.h <<\_ACEOF #define HISTORY 1 ! _ACEOF fi if test $opt_bang_history = yes; then ! cat >>confdefs.h <<\_ACEOF #define BANG_HISTORY 1 ! _ACEOF fi *************** *** 3374,3380 **** HIST_LIBDIR=$RL_LIBDIR HISTORY_DEP= ! case "$RL_INCLUDEDIR" in ! /usr/include) ;; ! *) RL_INCLUDE='-I${RL_INCLUDEDIR}' esac else --- 4617,4627 ---- HIST_LIBDIR=$RL_LIBDIR HISTORY_DEP= ! case "$opt_with_installed_readline" in ! yes) RL_INCLUDE= ;; ! *) case "$RL_INCLUDEDIR" in ! /usr/include) ;; ! *) RL_INCLUDE='-I${RL_INCLUDEDIR}' ;; ! esac ! ;; esac else *************** *** 3387,3390 **** --- 4634,4646 ---- fi + + + + + + + + + # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or *************** *** 3399,3439 **** # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. ! echo "$as_me:3401: checking for a BSD compatible install" >&5 ! echo $ECHO_N "checking for a BSD compatible install... $ECHO_C" >&6 if test -z "$INSTALL"; then if test "${ac_cv_path_install+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ! ac_save_IFS=$IFS; IFS=$ac_path_separator ! for ac_dir in $PATH; do ! IFS=$ac_save_IFS ! # Account for people who put trailing slashes in PATH elements. ! case $ac_dir/ in ! / | ./ | .// | /cC/* \ ! | /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* \ ! | /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 ! if $as_executable_p "$ac_dir/$ac_prog"; then ! if test $ac_prog = install && ! grep dspmsg "$ac_dir/$ac_prog" >/dev/null 2>&1; then ! # AIX install. It has an incompatible calling convention. ! : ! elif test $ac_prog = install && ! grep pwplus "$ac_dir/$ac_prog" >/dev/null 2>&1; then ! # program-specific install script used by HP pwplus--don't use. ! : ! else ! ac_cv_path_install="$ac_dir/$ac_prog -c" ! break 2 ! fi ! fi done ! ;; ! esac ! done fi --- 4655,4700 ---- # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. ! echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 ! echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6 if test -z "$INSTALL"; then if test "${ac_cv_path_install+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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/* | \ ! /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_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 ! ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" ! break 3 ! fi ! fi done ! done ! ;; ! esac ! done ! fi *************** *** 3448,3452 **** fi fi ! echo "$as_me:3450: result: $INSTALL" >&5 echo "${ECHO_T}$INSTALL" >&6 --- 4709,4713 ---- fi fi ! echo "$as_me:$LINENO: result: $INSTALL" >&5 echo "${ECHO_T}$INSTALL" >&6 *************** *** 3461,3465 **** # Extract the first word of "ar", so it can be a program name with args. set dummy ar; ac_word=$2 ! echo "$as_me:3463: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_AR+set}" = set; then --- 4722,4726 ---- # Extract the first word of "ar", so it can be a program name with args. set dummy ar; ac_word=$2 ! echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_AR+set}" = set; then *************** *** 3469,3481 **** ac_cv_prog_AR="$AR" # Let the user override the test. else ! ac_save_IFS=$IFS; IFS=$ac_path_separator ! ac_dummy="$PATH" ! for ac_dir in $ac_dummy; do ! IFS=$ac_save_IFS ! test -z "$ac_dir" && ac_dir=. ! $as_executable_p "$ac_dir/$ac_word" || continue ! ac_cv_prog_AR="" ! echo "$as_me:3478: found $ac_dir/$ac_word" >&5 ! break done --- 4730,4745 ---- 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_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ! ac_cv_prog_AR="" ! echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ! break 2 ! fi ! done done *************** *** 3485,3492 **** AR=$ac_cv_prog_AR if test -n "$AR"; then ! echo "$as_me:3487: result: $AR" >&5 echo "${ECHO_T}$AR" >&6 else ! echo "$as_me:3490: result: no" >&5 echo "${ECHO_T}no" >&6 fi --- 4749,4756 ---- AR=$ac_cv_prog_AR if test -n "$AR"; then ! echo "$as_me:$LINENO: result: $AR" >&5 echo "${ECHO_T}$AR" >&6 else ! echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi *************** *** 3496,3500 **** # 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 ! echo "$as_me:3498: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_RANLIB+set}" = set; then --- 4760,4764 ---- # 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 ! echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_RANLIB+set}" = set; then *************** *** 3504,3516 **** ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else ! ac_save_IFS=$IFS; IFS=$ac_path_separator ! ac_dummy="$PATH" ! for ac_dir in $ac_dummy; do ! IFS=$ac_save_IFS ! test -z "$ac_dir" && ac_dir=. ! $as_executable_p "$ac_dir/$ac_word" || continue ! ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" ! echo "$as_me:3513: found $ac_dir/$ac_word" >&5 ! break done --- 4768,4783 ---- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else ! as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ! for as_dir in $PATH ! do ! IFS=$as_save_IFS ! test -z "$as_dir" && as_dir=. ! for ac_exec_ext in '' $ac_executable_extensions; do ! if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ! ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" ! echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ! break 2 ! fi ! done done *************** *** 3519,3526 **** RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then ! echo "$as_me:3521: result: $RANLIB" >&5 echo "${ECHO_T}$RANLIB" >&6 else ! echo "$as_me:3524: result: no" >&5 echo "${ECHO_T}no" >&6 fi --- 4786,4793 ---- RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then ! echo "$as_me:$LINENO: result: $RANLIB" >&5 echo "${ECHO_T}$RANLIB" >&6 else ! echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi *************** *** 3531,3535 **** # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 ! echo "$as_me:3533: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then --- 4798,4802 ---- # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 ! echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then *************** *** 3539,3551 **** ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else ! ac_save_IFS=$IFS; IFS=$ac_path_separator ! ac_dummy="$PATH" ! for ac_dir in $ac_dummy; do ! IFS=$ac_save_IFS ! test -z "$ac_dir" && ac_dir=. ! $as_executable_p "$ac_dir/$ac_word" || continue ! ac_cv_prog_ac_ct_RANLIB="ranlib" ! echo "$as_me:3548: found $ac_dir/$ac_word" >&5 ! break done --- 4806,4821 ---- ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else ! as_save_IFS=$IFS; IFS=$PATH_SEPARATOR ! for as_dir in $PATH ! do ! IFS=$as_save_IFS ! test -z "$as_dir" && as_dir=. ! for ac_exec_ext in '' $ac_executable_extensions; do ! if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ! ac_cv_prog_ac_ct_RANLIB="ranlib" ! echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ! break 2 ! fi ! done done *************** *** 3555,3562 **** ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then ! echo "$as_me:3557: result: $ac_ct_RANLIB" >&5 echo "${ECHO_T}$ac_ct_RANLIB" >&6 else ! echo "$as_me:3560: result: no" >&5 echo "${ECHO_T}no" >&6 fi --- 4825,4832 ---- ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then ! echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 echo "${ECHO_T}$ac_ct_RANLIB" >&6 else ! echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi *************** *** 3571,3575 **** # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 ! echo "$as_me:3573: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_YACC+set}" = set; then --- 4841,4845 ---- # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 ! echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_YACC+set}" = set; then *************** *** 3579,3591 **** ac_cv_prog_YACC="$YACC" # Let the user override the test. else ! ac_save_IFS=$IFS; IFS=$ac_path_separator ! ac_dummy="$PATH" ! for ac_dir in $ac_dummy; do ! IFS=$ac_save_IFS ! test -z "$ac_dir" && ac_dir=. ! $as_executable_p "$ac_dir/$ac_word" || continue ! ac_cv_prog_YACC="$ac_prog" ! echo "$as_me:3588: found $ac_dir/$ac_word" >&5 ! break done --- 4849,4864 ---- 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_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ! ac_cv_prog_YACC="$ac_prog" ! echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ! break 2 ! fi ! done done *************** *** 3594,3601 **** YACC=$ac_cv_prog_YACC if test -n "$YACC"; then ! echo "$as_me:3596: result: $YACC" >&5 echo "${ECHO_T}$YACC" >&6 else ! echo "$as_me:3599: result: no" >&5 echo "${ECHO_T}no" >&6 fi --- 4867,4874 ---- YACC=$ac_cv_prog_YACC if test -n "$YACC"; then ! echo "$as_me:$LINENO: result: $YACC" >&5 echo "${ECHO_T}$YACC" >&6 else ! echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi *************** *** 3605,3618 **** test -n "$YACC" || YACC="yacc" ! echo "$as_me:3607: checking whether ${MAKE-make} sets \${MAKE}" >&5 ! echo $ECHO_N "checking whether ${MAKE-make} sets \${MAKE}... $ECHO_C" >&6 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'` if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ! cat >conftest.make <<\EOF all: ! @echo 'ac_maketemp="${MAKE}"' ! EOF # GNU make sometimes prints "make[1]: Entering...", which would confuse us. eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=` --- 4878,4891 ---- test -n "$YACC" || YACC="yacc" ! echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 ! echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'` if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ! cat >conftest.make <<\_ACEOF all: ! @echo 'ac_maketemp="$(MAKE)"' ! _ACEOF # GNU make sometimes prints "make[1]: Entering...", which would confuse us. eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=` *************** *** 3625,3637 **** fi if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then ! echo "$as_me:3627: result: yes" >&5 echo "${ECHO_T}yes" >&6 SET_MAKE= else ! echo "$as_me:3631: result: no" >&5 echo "${ECHO_T}no" >&6 SET_MAKE="MAKE=${MAKE-make}" fi case "$host_os" in opennt*|interix*) MAKE_SHELL="$INTERIX_ROOT/bin/sh" ;; --- 4898,4911 ---- fi if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then ! echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 SET_MAKE= else ! echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 SET_MAKE="MAKE=${MAKE-make}" fi + case "$host_os" in opennt*|interix*) MAKE_SHELL="$INTERIX_ROOT/bin/sh" ;; *************** *** 3639,3738 **** esac - cat >>confdefs.h <<\EOF - #define _GNU_SOURCE 1 - EOF ! echo "$as_me:3645: checking for $CC option to accept ANSI C" >&5 ! echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 ! if test "${ac_cv_prog_cc_stdc+set}" = set; then ! echo $ECHO_N "(cached) $ECHO_C" >&6 ! else ! ac_cv_prog_cc_stdc=no ! ac_save_CC=$CC ! cat >conftest.$ac_ext <<_ACEOF ! #line 3653 "configure" ! #include "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; ! } ! 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 - # Don't try gcc -ansi; that turns off useful extensions and - # breaks some systems' header files. - # AIX -qlanglvl=ansi - # Ultrix and OSF/1 -std1 - # HP-UX 10.20 and later -Ae - # HP-UX older versions -Aa -D_HPUX_SOURCE - # SVR4 -Xc -D__EXTENSIONS__ - for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" - do - CC="$ac_save_CC $ac_arg" - rm -f conftest.$ac_objext - if { (eval echo "$as_me:3702: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - echo "$as_me:3705: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:3708: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:3711: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_prog_cc_stdc=$ac_arg - break - else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - fi - rm -f conftest.$ac_objext - done - rm -f conftest.$ac_ext conftest.$ac_objext - CC=$ac_save_CC - fi - - case "x$ac_cv_prog_cc_stdc" in - x|xno) - echo "$as_me:3728: result: none needed" >&5 - echo "${ECHO_T}none needed" >&6 ;; - *) - echo "$as_me:3731: result: $ac_cv_prog_cc_stdc" >&5 - echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 - CC="$CC $ac_cv_prog_cc_stdc" ;; - esac ! echo "$as_me:3736: checking for an ANSI C-conforming const" >&5 echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6 if test "${ac_cv_c_const+set}" = set; then --- 4913,4923 ---- esac ! cat >>confdefs.h <<\_ACEOF ! #define _GNU_SOURCE 1 _ACEOF ! echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5 echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6 if test "${ac_cv_c_const+set}" = set; then *************** *** 3740,3745 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 3742 "configure" ! #include "confdefs.h" int --- 4925,4934 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ int *************** *** 3798,3831 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:3800: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:3803: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:3806: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:3809: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_c_const=yes else echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ac_cv_c_const=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:3819: result: $ac_cv_c_const" >&5 echo "${ECHO_T}$ac_cv_c_const" >&6 if test $ac_cv_c_const = no; then ! cat >>confdefs.h <<\EOF #define const ! EOF fi ! echo "$as_me:3829: checking for inline" >&5 echo $ECHO_N "checking for inline... $ECHO_C" >&6 if test "${ac_cv_c_inline+set}" = set; then --- 4987,5021 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_c_const=yes else echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ac_cv_c_const=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5 echo "${ECHO_T}$ac_cv_c_const" >&6 if test $ac_cv_c_const = no; then ! cat >>confdefs.h <<\_ACEOF #define const ! _ACEOF fi ! echo "$as_me:$LINENO: checking for inline" >&5 echo $ECHO_N "checking for inline... $ECHO_C" >&6 if test "${ac_cv_c_inline+set}" = set; then *************** *** 3835,3862 **** for ac_kw in inline __inline__ __inline; do cat >conftest.$ac_ext <<_ACEOF ! #line 3837 "configure" ! #include "confdefs.h" #ifndef __cplusplus ! static $ac_kw int static_foo () {return 0; } ! $ac_kw int foo () {return 0; } #endif _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:3846: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:3849: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:3852: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:3855: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_c_inline=$ac_kw; break else echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext --- 5025,5058 ---- for ac_kw in inline __inline__ __inline; do cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ #ifndef __cplusplus ! typedef int foo_t; ! static $ac_kw foo_t static_foo () {return 0; } ! $ac_kw foo_t foo () {return 0; } #endif _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_c_inline=$ac_kw; break else echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! fi rm -f conftest.$ac_objext conftest.$ac_ext *************** *** 3864,3892 **** fi ! echo "$as_me:3866: result: $ac_cv_c_inline" >&5 echo "${ECHO_T}$ac_cv_c_inline" >&6 case $ac_cv_c_inline in inline | yes) ;; no) ! cat >>confdefs.h <<\EOF #define inline ! EOF ;; ! *) cat >>confdefs.h <&5 echo $ECHO_N "checking whether byte ordering is bigendian... $ECHO_C" >&6 if test "${ac_cv_c_bigendian+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ! ac_cv_c_bigendian=unknown ! # See if sys/param.h defines the BYTE_ORDER macro. cat >conftest.$ac_ext <<_ACEOF ! #line 3889 "configure" ! #include "confdefs.h" #include #include --- 5060,5091 ---- fi ! echo "$as_me:$LINENO: result: $ac_cv_c_inline" >&5 echo "${ECHO_T}$ac_cv_c_inline" >&6 case $ac_cv_c_inline in inline | yes) ;; no) ! cat >>confdefs.h <<\_ACEOF #define inline ! _ACEOF ;; ! *) cat >>confdefs.h <<_ACEOF #define inline $ac_cv_c_inline ! _ACEOF ;; esac ! echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5 echo $ECHO_N "checking whether byte ordering is bigendian... $ECHO_C" >&6 if test "${ac_cv_c_bigendian+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ! # See if sys/param.h defines the BYTE_ORDER macro. cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ #include #include *************** *** 3904,3922 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:3906: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:3909: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:3912: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:3915: \$? = $ac_status" >&5 (exit $ac_status); }; }; then # It does; now see whether it defined to BIG_ENDIAN or not. cat >conftest.$ac_ext <<_ACEOF ! #line 3919 "configure" ! #include "confdefs.h" #include #include --- 5103,5125 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then # It does; now see whether it defined to BIG_ENDIAN or not. cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ #include #include *************** *** 3934,3952 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:3936: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:3939: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:3942: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:3945: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_c_bigendian=yes else echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ac_cv_c_bigendian=no fi --- 5137,5156 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_c_bigendian=yes else echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ac_cv_c_bigendian=no fi *************** *** 3954,3969 **** else echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext - if test $ac_cv_c_bigendian = unknown; then - if test "$cross_compiling" = yes; then - { { echo "$as_me:3961: error: cannot run test program while cross compiling" >&5 - echo "$as_me: error: cannot run test program while cross compiling" >&2;} - { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF ! #line 3966 "configure" ! #include "confdefs.h" int main () --- 5158,5225 ---- else echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ! # It does not; compile a test program. ! if test "$cross_compiling" = yes; then ! # try to guess the endianness by grepping values into an object file ! ac_cv_c_bigendian=unknown ! cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ ! short ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; ! short ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; ! void _ascii () { char *s = (char *) ascii_mm; s = (char *) ascii_ii; } ! short ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; ! short ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; ! void _ebcdic () { char *s = (char *) ebcdic_mm; s = (char *) ebcdic_ii; } ! int ! main () ! { ! _ascii (); _ebcdic (); ! ; ! return 0; ! } ! _ACEOF ! rm -f conftest.$ac_objext ! if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ! (eval $ac_compile) 2>&5 ! ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 ! (exit $ac_status); } && ! { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ! (eval $ac_try) 2>&5 ! ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 ! (exit $ac_status); }; }; then ! if grep BIGenDianSyS conftest.$ac_objext >/dev/null ; then ! ac_cv_c_bigendian=yes ! fi ! if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then ! if test "$ac_cv_c_bigendian" = unknown; then ! ac_cv_c_bigendian=no ! else ! # finding both strings is unlikely to happen, but who knows? ! ac_cv_c_bigendian=unknown ! fi ! fi ! else ! echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! fi rm -f conftest.$ac_objext conftest.$ac_ext else cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ int main () *************** *** 3980,3992 **** _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:3982: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:3985: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:3987: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:3990: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_c_bigendian=no --- 5236,5248 ---- _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_c_bigendian=no *************** *** 3994,4015 **** echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ac_cv_c_bigendian=yes fi ! rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi fi ! echo "$as_me:4003: result: $ac_cv_c_bigendian" >&5 echo "${ECHO_T}$ac_cv_c_bigendian" >&6 ! if test $ac_cv_c_bigendian = yes; then ! cat >>confdefs.h <<\EOF #define WORDS_BIGENDIAN 1 ! EOF ! ! fi ! ! echo "$as_me:4013: checking for preprocessor stringizing operator" >&5 echo $ECHO_N "checking for preprocessor stringizing operator... $ECHO_C" >&6 if test "${ac_cv_c_stringize+set}" = set; then --- 5250,5283 ---- echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ! ( exit $ac_status ) ac_cv_c_bigendian=yes fi ! rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi + rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:$LINENO: result: $ac_cv_c_bigendian" >&5 echo "${ECHO_T}$ac_cv_c_bigendian" >&6 ! case $ac_cv_c_bigendian in ! yes) ! cat >>confdefs.h <<\_ACEOF #define WORDS_BIGENDIAN 1 ! _ACEOF ! ;; ! no) ! ;; ! *) ! { { echo "$as_me:$LINENO: error: unknown endianness ! presetting ac_cv_c_bigendian=no (or yes) will help" >&5 ! echo "$as_me: error: unknown endianness ! presetting ac_cv_c_bigendian=no (or yes) will help" >&2;} ! { (exit 1); exit 1; }; } ;; ! esac ! ! echo "$as_me:$LINENO: checking for preprocessor stringizing operator" >&5 echo $ECHO_N "checking for preprocessor stringizing operator... $ECHO_C" >&6 if test "${ac_cv_c_stringize+set}" = set; then *************** *** 4017,4022 **** else cat >conftest.$ac_ext <<_ACEOF ! #line 4019 "configure" ! #include "confdefs.h" #define x(y) #y --- 5285,5294 ---- else cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ #define x(y) #y *************** *** 4024,4028 **** _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | ! egrep "#teststring" >/dev/null 2>&1; then ac_cv_c_stringize=no else --- 5296,5300 ---- _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | ! $EGREP "#teststring" >/dev/null 2>&1; then ac_cv_c_stringize=no else *************** *** 4032,4316 **** fi ! echo "$as_me:4034: result: $ac_cv_c_stringize" >&5 echo "${ECHO_T}$ac_cv_c_stringize" >&6 if test $ac_cv_c_stringize = yes; then ! cat >>confdefs.h <<\EOF #define HAVE_STRINGIZE 1 ! EOF fi ! echo "$as_me:4044: checking for long double" >&5 ! echo $ECHO_N "checking for long double... $ECHO_C" >&6 if test "${ac_cv_c_long_double+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - if test "$GCC" = yes; then - ac_cv_c_long_double=yes - else - if test "$cross_compiling" = yes; then - { { echo "$as_me:4053: error: cannot run test program while cross compiling" >&5 - echo "$as_me: error: cannot run test program while cross compiling" >&2;} - { (exit 1); exit 1; }; } - else cat >conftest.$ac_ext <<_ACEOF ! #line 4058 "configure" ! #include "confdefs.h" int main () { ! /* The Stardent Vistra knows sizeof(long double), but does not ! support it. */ ! long double foo = 0.0; ! /* On Ultrix 4.3 cc, long double is 4 and double is 8. */ ! exit (sizeof (long double) < sizeof (double)); } _ACEOF ! rm -f conftest$ac_exeext ! if { (eval echo "$as_me:4071: \"$ac_link\"") >&5 ! (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:4074: \$? = $ac_status" >&5 ! (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:4076: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:4079: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_c_long_double=yes else ! echo "$as_me: program exited with status $ac_status" >&5 ! echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ac_cv_c_long_double=no fi ! rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext ! fi ! fi fi ! echo "$as_me:4092: result: $ac_cv_c_long_double" >&5 echo "${ECHO_T}$ac_cv_c_long_double" >&6 if test $ac_cv_c_long_double = yes; then ! cat >>confdefs.h <<\EOF #define HAVE_LONG_DOUBLE 1 ! EOF fi ! echo "$as_me:4102: checking for function prototypes" >&5 echo $ECHO_N "checking for function prototypes... $ECHO_C" >&6 if test "$ac_cv_prog_cc_stdc" != no; then ! echo "$as_me:4105: result: yes" >&5 echo "${ECHO_T}yes" >&6 ! cat >>confdefs.h <<\EOF #define PROTOTYPES 1 ! EOF else ! echo "$as_me:4113: result: no" >&5 echo "${ECHO_T}no" >&6 fi ! echo "$as_me:4117: checking for ANSI C header files" >&5 ! echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 ! if test "${ac_cv_header_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF ! #line 4123 "configure" ! #include "confdefs.h" ! #include ! #include ! #include ! #include _ACEOF ! if { (eval echo "$as_me:4131: \"$ac_cpp conftest.$ac_ext\"") >&5 ! (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? ! egrep -v '^ *\+' conftest.er1 >conftest.err ! rm -f conftest.er1 ! cat conftest.err >&5 ! echo "$as_me:4137: \$? = $ac_status" >&5 ! (exit $ac_status); } >/dev/null; then ! if test -s conftest.err; then ! ac_cpp_err=$ac_c_preproc_warn_flag ! else ! ac_cpp_err= ! fi ! else ! ac_cpp_err=yes ! fi ! if test -z "$ac_cpp_err"; then ! ac_cv_header_stdc=yes else echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! ac_cv_header_stdc=no fi ! rm -f conftest.err conftest.$ac_ext ! if test $ac_cv_header_stdc = yes; then ! # SunOS 4.x string.h does not declare mem*, contrary to ANSI. ! cat >conftest.$ac_ext <<_ACEOF ! #line 4159 "configure" ! #include "confdefs.h" ! #include ! _ACEOF ! if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | ! egrep "memchr" >/dev/null 2>&1; then ! : else ! ac_cv_header_stdc=no fi - rm -f conftest* fi ! if test $ac_cv_header_stdc = yes; then ! # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. ! cat >conftest.$ac_ext <<_ACEOF ! #line 4177 "configure" ! #include "confdefs.h" ! #include ! _ACEOF ! if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | ! egrep "free" >/dev/null 2>&1; then ! : else ! ac_cv_header_stdc=no fi - rm -f conftest* fi ! if test $ac_cv_header_stdc = yes; then ! # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. ! if test "$cross_compiling" = yes; then ! : else ! cat >conftest.$ac_ext <<_ACEOF ! #line 4198 "configure" ! #include "confdefs.h" ! #include ! #if ((' ' & 0x0FF) == 0x020) ! # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') ! # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) ! #else ! # define ISLOWER(c) (('a' <= (c) && (c) <= 'i') \ ! || ('j' <= (c) && (c) <= 'r') \ ! || ('s' <= (c) && (c) <= 'z')) ! # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) ! #endif ! ! #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) ! int ! main () ! { ! int i; ! for (i = 0; i < 256; i++) ! if (XOR (islower (i), ISLOWER (i)) ! || toupper (i) != TOUPPER (i)) ! exit(2); ! exit (0); ! } ! _ACEOF ! rm -f conftest$ac_exeext ! if { (eval echo "$as_me:4224: \"$ac_link\"") >&5 ! (eval $ac_link) 2>&5 ! ac_status=$? ! echo "$as_me:4227: \$? = $ac_status" >&5 ! (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:4229: \"$ac_try\"") >&5 ! (eval $ac_try) 2>&5 ! ac_status=$? ! echo "$as_me:4232: \$? = $ac_status" >&5 ! (exit $ac_status); }; }; then ! : else ! echo "$as_me: program exited with status $ac_status" >&5 ! echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! ac_cv_header_stdc=no fi ! rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi fi - echo "$as_me:4245: result: $ac_cv_header_stdc" >&5 - echo "${ECHO_T}$ac_cv_header_stdc" >&6 - if test $ac_cv_header_stdc = yes; then - cat >>confdefs.h <<\EOF - #define STDC_HEADERS 1 - EOF ! fi ! # On IRIX 5.3, sys/types and inttypes.h are conflicting. ! for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ ! inttypes.h stdint.h unistd.h ! do ! as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` ! echo "$as_me:4261: checking for $ac_header" >&5 ! echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 ! if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF ! #line 4267 "configure" ! #include "confdefs.h" $ac_includes_default ! #include <$ac_header> _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:4273: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:4276: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:4279: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:4282: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! eval "$as_ac_Header=yes" else echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! eval "$as_ac_Header=no" fi rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:4292: result: `eval echo '${'$as_ac_Header'}'`" >&5 ! echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 ! if test `eval echo '${'$as_ac_Header'}'` = yes; then ! cat >>confdefs.h <&5 ! echo $ECHO_N "checking whether char is unsigned... $ECHO_C" >&6 ! if test "${ac_cv_c_char_unsigned+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF ! #line 4308 "configure" ! #include "confdefs.h" $ac_includes_default int main () { ! int _array_ [1 - 2 * !(((char) -1) < 0)] ; return 0; --- 5304,5833 ---- fi ! echo "$as_me:$LINENO: result: $ac_cv_c_stringize" >&5 echo "${ECHO_T}$ac_cv_c_stringize" >&6 if test $ac_cv_c_stringize = yes; then ! cat >>confdefs.h <<\_ACEOF #define HAVE_STRINGIZE 1 ! _ACEOF fi ! echo "$as_me:$LINENO: checking for working long double with more range or precision than double" >&5 ! echo $ECHO_N "checking for working long double with more range or precision than double... $ECHO_C" >&6 if test "${ac_cv_c_long_double+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ ! #include ! long double foo = 0.0; int main () { ! static int test_array [1 - 2 * !(/* Using '|' rather than '||' catches a GCC 2.95.2 x86 bug. */ ! (DBL_MAX < LDBL_MAX) | (LDBL_EPSILON < DBL_EPSILON) ! | (DBL_MAX_EXP < LDBL_MAX_EXP) | (DBL_MANT_DIG < LDBL_MANT_DIG))]; ! test_array [0] = 0 ! ! ; ! return 0; } _ACEOF ! rm -f conftest.$ac_objext ! if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ! (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 ! (exit $ac_status); } && ! { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_c_long_double=yes else ! echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ac_cv_c_long_double=no fi ! rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:$LINENO: result: $ac_cv_c_long_double" >&5 echo "${ECHO_T}$ac_cv_c_long_double" >&6 if test $ac_cv_c_long_double = yes; then ! cat >>confdefs.h <<\_ACEOF #define HAVE_LONG_DOUBLE 1 ! _ACEOF fi ! echo "$as_me:$LINENO: checking for function prototypes" >&5 echo $ECHO_N "checking for function prototypes... $ECHO_C" >&6 if test "$ac_cv_prog_cc_stdc" != no; then ! echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 ! cat >>confdefs.h <<\_ACEOF #define PROTOTYPES 1 ! _ACEOF ! ! ! cat >>confdefs.h <<\_ACEOF ! #define __PROTOTYPES 1 ! _ACEOF else ! echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6 fi ! ! echo "$as_me:$LINENO: checking whether char is unsigned" >&5 ! echo $ECHO_N "checking whether char is unsigned... $ECHO_C" >&6 ! if test "${ac_cv_c_char_unsigned+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ ! $ac_includes_default ! int ! main () ! { ! static int test_array [1 - 2 * !(((char) -1) < 0)]; ! test_array [0] = 0 + ; + return 0; + } _ACEOF ! rm -f conftest.$ac_objext ! if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ! (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 ! (exit $ac_status); } && ! { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ! (eval $ac_try) 2>&5 ! ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 ! (exit $ac_status); }; }; then ! ac_cv_c_char_unsigned=no else echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ! ac_cv_c_char_unsigned=yes fi ! rm -f conftest.$ac_objext conftest.$ac_ext ! fi ! echo "$as_me:$LINENO: result: $ac_cv_c_char_unsigned" >&5 ! echo "${ECHO_T}$ac_cv_c_char_unsigned" >&6 ! if test $ac_cv_c_char_unsigned = yes && test "$GCC" != yes; then ! cat >>confdefs.h <<\_ACEOF ! #define __CHAR_UNSIGNED__ 1 ! _ACEOF ! fi ! ! ! 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 ! ! ! ! echo "$as_me:$LINENO: checking whether NLS is requested" >&5 ! echo $ECHO_N "checking whether NLS is requested... $ECHO_C" >&6 ! # Check whether --enable-nls or --disable-nls was given. ! if test "${enable_nls+set}" = set; then ! enableval="$enable_nls" ! USE_NLS=$enableval else ! USE_NLS=yes ! fi; ! echo "$as_me:$LINENO: result: $USE_NLS" >&5 ! echo "${ECHO_T}$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 + echo "$as_me:$LINENO: checking for $ac_word" >&5 + echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 + if test "${ac_cv_path_MSGFMT+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&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=":" + ;; + esac + fi + MSGFMT="$ac_cv_path_MSGFMT" + if test "$MSGFMT" != ":"; then + echo "$as_me:$LINENO: result: $MSGFMT" >&5 + echo "${ECHO_T}$MSGFMT" >&6 + else + echo "$as_me:$LINENO: result: no" >&5 + echo "${ECHO_T}no" >&6 fi ! # Extract the first word of "gmsgfmt", so it can be a program name with args. ! set dummy gmsgfmt; ac_word=$2 ! echo "$as_me:$LINENO: checking for $ac_word" >&5 ! echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ! if test "${ac_cv_path_GMSGFMT+set}" = set; then ! echo $ECHO_N "(cached) $ECHO_C" >&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_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ! ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext" ! echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ! break 2 ! fi ! done ! done ! test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" ! ;; ! esac ! fi ! GMSGFMT=$ac_cv_path_GMSGFMT ! ! if test -n "$GMSGFMT"; then ! echo "$as_me:$LINENO: result: $GMSGFMT" >&5 ! echo "${ECHO_T}$GMSGFMT" >&6 else ! echo "$as_me:$LINENO: result: no" >&5 ! echo "${ECHO_T}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 ! echo "$as_me:$LINENO: checking for $ac_word" >&5 ! echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ! if test "${ac_cv_path_XGETTEXT+set}" = set; then ! echo $ECHO_N "(cached) $ECHO_C" >&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 ! echo "$as_me:$LINENO: result: $XGETTEXT" >&5 ! echo "${ECHO_T}$XGETTEXT" >&6 else ! echo "$as_me:$LINENO: result: no" >&5 ! echo "${ECHO_T}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 + echo "$as_me:$LINENO: checking for $ac_word" >&5 + echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 + if test "${ac_cv_path_MSGMERGE+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&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 + echo "$as_me:$LINENO: result: $MSGMERGE" >&5 + echo "${ECHO_T}$MSGMERGE" >&6 + else + echo "$as_me:$LINENO: result: no" >&5 + echo "${ECHO_T}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,^.*/,,'` ! echo "$as_me:$LINENO: result: found $GMSGFMT program is not GNU msgfmt; ignore it" >&5 ! echo "${ECHO_T}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 ! echo "$as_me:$LINENO: result: found xgettext program is not GNU xgettext; ignore it" >&5 ! echo "${ECHO_T}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" ! ! ! echo "$as_me:$LINENO: checking for off_t" >&5 ! echo $ECHO_N "checking for off_t... $ECHO_C" >&6 ! if test "${ac_cv_type_off_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ $ac_includes_default ! int ! main () ! { ! if ((off_t *) 0) ! return 0; ! if (sizeof (off_t)) ! return 0; ! ; ! return 0; ! } _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! ac_cv_type_off_t=yes else echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ! ac_cv_type_off_t=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:$LINENO: result: $ac_cv_type_off_t" >&5 ! echo "${ECHO_T}$ac_cv_type_off_t" >&6 ! if test $ac_cv_type_off_t = yes; then ! : ! else ! ! cat >>confdefs.h <<_ACEOF ! #define off_t long ! _ACEOF fi ! echo "$as_me:$LINENO: checking for size_t" >&5 ! echo $ECHO_N "checking for size_t... $ECHO_C" >&6 ! if test "${ac_cv_type_size_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ $ac_includes_default int main () { ! if ((size_t *) 0) ! return 0; ! if (sizeof (size_t)) ! return 0; ; return 0; *************** *** 4318,4427 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:4320: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:4323: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:4326: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:4329: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! ac_cv_c_char_unsigned=no else echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! ac_cv_c_char_unsigned=yes fi rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:4339: result: $ac_cv_c_char_unsigned" >&5 ! echo "${ECHO_T}$ac_cv_c_char_unsigned" >&6 ! if test $ac_cv_c_char_unsigned = yes && test "$GCC" != yes; then ! cat >>confdefs.h <<\EOF ! #define __CHAR_UNSIGNED__ 1 ! EOF fi ! ac_header_dirent=no ! for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do ! as_ac_Header=`echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh` ! echo "$as_me:4351: checking for $ac_hdr that defines DIR" >&5 ! echo $ECHO_N "checking for $ac_hdr that defines DIR... $ECHO_C" >&6 ! if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF ! #line 4357 "configure" ! #include "confdefs.h" ! #include ! #include <$ac_hdr> ! int main () { ! if ((DIR *) 0) ! return 0; ; return 0; } _ACEOF ! rm -f conftest.$ac_objext ! if { (eval echo "$as_me:4372: \"$ac_compile\"") >&5 ! (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:4375: \$? = $ac_status" >&5 (exit $ac_status); } && ! { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:4378: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:4381: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! eval "$as_ac_Header=yes" else echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! eval "$as_ac_Header=no" fi ! rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:4391: result: `eval echo '${'$as_ac_Header'}'`" >&5 ! echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 ! if test `eval echo '${'$as_ac_Header'}'` = yes; then ! cat >>confdefs.h <&5 ! echo $ECHO_N "checking for opendir in -ldir... $ECHO_C" >&6 ! if test "${ac_cv_lib_dir_opendir+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ! ac_check_lib_save_LIBS=$LIBS ! LIBS="-ldir $LIBS" ! cat >conftest.$ac_ext <<_ACEOF ! #line 4412 "configure" ! #include "confdefs.h" ! ! /* Override any gcc2 internal prototype to avoid an error. */ ! #ifdef __cplusplus ! extern "C" #endif ! /* We use char because int might match the return type of a gcc2 ! builtin and then its argument prototype would still apply. */ ! char opendir (); int main () { ! opendir (); ; return 0; --- 5835,5961 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! ac_cv_type_size_t=yes else echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ! ac_cv_type_size_t=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5 ! echo "${ECHO_T}$ac_cv_type_size_t" >&6 ! if test $ac_cv_type_size_t = yes; then ! : ! else ! ! cat >>confdefs.h <<_ACEOF ! #define size_t unsigned ! _ACEOF fi ! # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works ! # for constant arguments. Useless! ! echo "$as_me:$LINENO: checking for working alloca.h" >&5 ! echo $ECHO_N "checking for working alloca.h... $ECHO_C" >&6 ! if test "${ac_cv_working_alloca_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ ! #include int main () { ! char *p = (char *) alloca (2 * sizeof (int)); ; return 0; } _ACEOF ! rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 ! (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && ! { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! ac_cv_working_alloca_h=yes else echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ! ac_cv_working_alloca_h=no fi ! rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:$LINENO: result: $ac_cv_working_alloca_h" >&5 ! echo "${ECHO_T}$ac_cv_working_alloca_h" >&6 ! if test $ac_cv_working_alloca_h = yes; then ! ! cat >>confdefs.h <<\_ACEOF ! #define HAVE_ALLOCA_H 1 ! _ACEOF fi ! echo "$as_me:$LINENO: checking for alloca" >&5 ! echo $ECHO_N "checking for alloca... $ECHO_C" >&6 ! if test "${ac_cv_func_alloca_works+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ! cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ ! #ifdef __GNUC__ ! # define alloca __builtin_alloca ! #else ! # ifdef _MSC_VER ! # include ! # define alloca _alloca ! # else ! # if HAVE_ALLOCA_H ! # include ! # else ! # ifdef _AIX ! #pragma alloca ! # else ! # ifndef alloca /* predefined by HP cc +Olibcalls */ ! char *alloca (); ! # endif ! # endif ! # endif ! # endif #endif ! int main () { ! char *p = (char *) alloca (1); ; return 0; *************** *** 4429,4481 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:4431: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:4434: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:4437: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:4440: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! ac_cv_lib_dir_opendir=yes else echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! ac_cv_lib_dir_opendir=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext - LIBS=$ac_check_lib_save_LIBS - fi - echo "$as_me:4451: result: $ac_cv_lib_dir_opendir" >&5 - echo "${ECHO_T}$ac_cv_lib_dir_opendir" >&6 - if test $ac_cv_lib_dir_opendir = yes; then - LIBS="$LIBS -ldir" fi else ! echo "$as_me:4458: checking for opendir in -lx" >&5 ! echo $ECHO_N "checking for opendir in -lx... $ECHO_C" >&6 ! if test "${ac_cv_lib_x_opendir+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ! ac_check_lib_save_LIBS=$LIBS ! LIBS="-lx $LIBS" ! cat >conftest.$ac_ext <<_ACEOF ! #line 4466 "configure" ! #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ ! char opendir (); int main () { ! opendir (); ; return 0; --- 5963,6086 ---- _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! ac_cv_func_alloca_works=yes else echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ! ac_cv_func_alloca_works=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi + echo "$as_me:$LINENO: result: $ac_cv_func_alloca_works" >&5 + echo "${ECHO_T}$ac_cv_func_alloca_works" >&6 + + if test $ac_cv_func_alloca_works = yes; then + + cat >>confdefs.h <<\_ACEOF + #define HAVE_ALLOCA 1 + _ACEOF else ! # The SVR3 libPW and SVR4 libucb both contain incompatible functions ! # that cause trouble. Some versions do not even contain alloca or ! # contain a buggy version. If you still want to use their alloca, ! # use ar to extract alloca.o from them instead of compiling alloca.c. ! ! ALLOCA=alloca.$ac_objext ! ! cat >>confdefs.h <<\_ACEOF ! #define C_ALLOCA 1 ! _ACEOF ! ! ! echo "$as_me:$LINENO: checking whether \`alloca.c' needs Cray hooks" >&5 ! echo $ECHO_N "checking whether \`alloca.c' needs Cray hooks... $ECHO_C" >&6 ! if test "${ac_cv_os_cray+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ! cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ ! #if defined(CRAY) && ! defined(CRAY2) ! webecray ! #else ! wenotbecray ! #endif + _ACEOF + if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "webecray" >/dev/null 2>&1; then + ac_cv_os_cray=yes + else + ac_cv_os_cray=no + fi + rm -f conftest* + + fi + echo "$as_me:$LINENO: result: $ac_cv_os_cray" >&5 + echo "${ECHO_T}$ac_cv_os_cray" >&6 + if test $ac_cv_os_cray = yes; then + for ac_func in _getb67 GETB67 getb67; do + as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` + echo "$as_me:$LINENO: checking for $ac_func" >&5 + echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 + if eval "test \"\${$as_ac_var+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 + else + cat >conftest.$ac_ext <<_ACEOF + #line $LINENO "configure" + /* confdefs.h. */ + _ACEOF + cat confdefs.h >>conftest.$ac_ext + cat >>conftest.$ac_ext <<_ACEOF + /* end confdefs.h. */ + /* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + #ifdef __STDC__ + # include + #else + # include + #endif /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus extern "C" + { #endif /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ ! char $ac_func (); ! /* The GNU C library defines this for functions which it implements ! to always fail with ENOSYS. Some functions are actually named ! something starting with __ and the normal name is an alias. */ ! #if defined (__stub_$ac_func) || defined (__stub___$ac_func) ! choke me ! #else ! char (*f) () = $ac_func; ! #endif ! #ifdef __cplusplus ! } ! #endif ! int main () { ! return f != $ac_func; ; return 0; *************** *** 4483,4635 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:4485: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:4488: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:4491: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:4494: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! ac_cv_lib_x_opendir=yes else echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! ac_cv_lib_x_opendir=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext - LIBS=$ac_check_lib_save_LIBS fi ! echo "$as_me:4505: result: $ac_cv_lib_x_opendir" >&5 ! echo "${ECHO_T}$ac_cv_lib_x_opendir" >&6 ! if test $ac_cv_lib_x_opendir = yes; then ! LIBS="$LIBS -lx" fi fi ! echo "$as_me:4513: checking whether time.h and sys/time.h may both be included" >&5 ! echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6 ! if test "${ac_cv_header_time+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF ! #line 4519 "configure" ! #include "confdefs.h" ! #include ! #include ! #include int main () { ! if ((struct tm *) 0) ! return 0; ! ; ! return 0; } _ACEOF ! rm -f conftest.$ac_objext ! if { (eval echo "$as_me:4535: \"$ac_compile\"") >&5 ! (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:4538: \$? = $ac_status" >&5 ! (exit $ac_status); } && ! { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:4541: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:4544: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! ac_cv_header_time=yes else ! echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! ac_cv_header_time=no fi ! rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:4554: result: $ac_cv_header_time" >&5 ! echo "${ECHO_T}$ac_cv_header_time" >&6 ! if test $ac_cv_header_time = yes; then - cat >>confdefs.h <<\EOF - #define TIME_WITH_SYS_TIME 1 - EOF fi ! for ac_header in inttypes.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` ! echo "$as_me:4567: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ! cat >conftest.$ac_ext <<_ACEOF ! #line 4573 "configure" ! #include "confdefs.h" #include <$ac_header> _ACEOF ! if { (eval echo "$as_me:4577: \"$ac_cpp conftest.$ac_ext\"") >&5 ! (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? ! egrep -v '^ *\+' conftest.er1 >conftest.err ! rm -f conftest.er1 ! cat conftest.err >&5 ! echo "$as_me:4583: \$? = $ac_status" >&5 ! (exit $ac_status); } >/dev/null; then ! if test -s conftest.err; then ! ac_cpp_err=$ac_c_preproc_warn_flag ! else ! ac_cpp_err= ! fi ! else ! ac_cpp_err=yes ! fi ! if test -z "$ac_cpp_err"; then ! eval "$as_ac_Header=yes" else echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! eval "$as_ac_Header=no" ! fi ! rm -f conftest.err conftest.$ac_ext ! fi ! echo "$as_me:4602: result: `eval echo '${'$as_ac_Header'}'`" >&5 ! echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 ! if test `eval echo '${'$as_ac_Header'}'` = yes; then ! cat >>confdefs.h <&5 ! echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 ! if eval "test \"\${$as_ac_Header+set}\" = set"; then ! echo $ECHO_N "(cached) $ECHO_C" >&6 ! else ! cat >conftest.$ac_ext <<_ACEOF ! #line 4623 "configure" ! #include "confdefs.h" #include <$ac_header> _ACEOF ! if { (eval echo "$as_me:4627: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? ! egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 ! echo "$as_me:4633: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then --- 6088,6262 ---- _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ! eval "$as_ac_var=no" fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 ! echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 ! if test `eval echo '${'$as_ac_var'}'` = yes; then ! ! cat >>confdefs.h <<_ACEOF ! #define CRAY_STACKSEG_END $ac_func ! _ACEOF ! ! break fi + done fi ! echo "$as_me:$LINENO: checking stack direction for C alloca" >&5 ! echo $ECHO_N "checking stack direction for C alloca... $ECHO_C" >&6 ! if test "${ac_cv_c_stack_direction+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else + if test "$cross_compiling" = yes; then + ac_cv_c_stack_direction=0 + else cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ ! int ! find_stack_direction () ! { ! static char *addr = 0; ! auto char dummy; ! if (addr == 0) ! { ! addr = &dummy; ! return find_stack_direction (); ! } ! else ! return (&dummy > addr) ? 1 : -1; ! } int main () { ! exit (find_stack_direction () < 0); } _ACEOF ! rm -f conftest$ac_exeext ! if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 ! (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 ! (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! ac_cv_c_stack_direction=1 else ! echo "$as_me: program exited with status $ac_status" >&5 ! echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ! ( exit $ac_status ) ! ac_cv_c_stack_direction=-1 fi ! rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi ! fi ! echo "$as_me:$LINENO: result: $ac_cv_c_stack_direction" >&5 ! echo "${ECHO_T}$ac_cv_c_stack_direction" >&6 ! ! cat >>confdefs.h <<_ACEOF ! #define STACK_DIRECTION $ac_cv_c_stack_direction ! _ACEOF fi ! ! ! for ac_header in stdlib.h unistd.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` ! if eval "test \"\${$as_ac_Header+set}\" = set"; then ! echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 + fi + echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 + echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 else ! # Is the header compilable? ! echo "$as_me:$LINENO: checking $ac_header usability" >&5 ! echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 ! cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ ! $ac_includes_default #include <$ac_header> _ACEOF ! rm -f conftest.$ac_objext ! if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ! (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 ! (exit $ac_status); } && ! { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ! (eval $ac_try) 2>&5 ! ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 ! (exit $ac_status); }; }; then ! ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 + ac_header_compiler=no fi ! rm -f conftest.$ac_objext conftest.$ac_ext ! echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 ! echo "${ECHO_T}$ac_header_compiler" >&6 ! # Is the header present? ! echo "$as_me:$LINENO: checking $ac_header presence" >&5 ! echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 ! cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ #include <$ac_header> _ACEOF ! if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? ! grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then *************** *** 4642,4776 **** fi if test -z "$ac_cpp_err"; then ! eval "$as_ac_Header=yes" else echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! eval "$as_ac_Header=no" ! fi ! rm -f conftest.err conftest.$ac_ext ! fi ! echo "$as_me:4652: result: `eval echo '${'$as_ac_Header'}'`" >&5 ! echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 ! if test `eval echo '${'$as_ac_Header'}'` = yes; then ! cat >>confdefs.h <&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ! cat >conftest.$ac_ext <<_ACEOF ! #line 4673 "configure" ! #include "confdefs.h" ! #include <$ac_header> ! _ACEOF ! if { (eval echo "$as_me:4677: \"$ac_cpp conftest.$ac_ext\"") >&5 ! (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ! ac_status=$? ! egrep -v '^ *\+' conftest.er1 >conftest.err ! rm -f conftest.er1 ! cat conftest.err >&5 ! echo "$as_me:4683: \$? = $ac_status" >&5 ! (exit $ac_status); } >/dev/null; then ! if test -s conftest.err; then ! ac_cpp_err=$ac_c_preproc_warn_flag ! else ! ac_cpp_err= ! fi ! else ! ac_cpp_err=yes ! fi ! if test -z "$ac_cpp_err"; then ! eval "$as_ac_Header=yes" ! else ! echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! eval "$as_ac_Header=no" ! fi ! rm -f conftest.err conftest.$ac_ext fi ! echo "$as_me:4702: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 if test `eval echo '${'$as_ac_Header'}'` = yes; then ! cat >>confdefs.h <&5 ! echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 ! if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF ! #line 4721 "configure" ! #include "confdefs.h" ! #include <$ac_header> _ACEOF ! if { (eval echo "$as_me:4725: \"$ac_cpp conftest.$ac_ext\"") >&5 ! (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ! ac_status=$? ! egrep -v '^ *\+' conftest.er1 >conftest.err ! rm -f conftest.er1 ! cat conftest.err >&5 ! echo "$as_me:4731: \$? = $ac_status" >&5 ! (exit $ac_status); } >/dev/null; then ! if test -s conftest.err; then ! ac_cpp_err=$ac_c_preproc_warn_flag ! else ! ac_cpp_err= ! fi ! else ! ac_cpp_err=yes ! fi ! if test -z "$ac_cpp_err"; then ! eval "$as_ac_Header=yes" ! else ! echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! eval "$as_ac_Header=no" ! fi ! rm -f conftest.err conftest.$ac_ext ! fi ! echo "$as_me:4750: result: `eval echo '${'$as_ac_Header'}'`" >&5 ! echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 ! if test `eval echo '${'$as_ac_Header'}'` = yes; then ! cat >>confdefs.h <&5 - echo $ECHO_N "checking for working alloca.h... $ECHO_C" >&6 - if test "${ac_cv_working_alloca_h+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF - #line 4768 "configure" - #include "confdefs.h" - #include int main () { ! char *p = (char *) alloca (2 * sizeof (int)); ; return 0; --- 6269,6385 ---- fi if test -z "$ac_cpp_err"; then ! ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 + ac_header_preproc=no fi ! rm -f conftest.err conftest.$ac_ext ! echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 ! echo "${ECHO_T}$ac_header_preproc" >&6 ! # So? What about this header? ! case $ac_header_compiler:$ac_header_preproc in ! yes:no ) ! { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 ! echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} ! { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 ! echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} ! ( ! cat <<\_ASBOX ! ## ------------------------------------ ## ! ## Report this to bug-autoconf@gnu.org. ## ! ## ------------------------------------ ## ! _ASBOX ! ) | ! sed "s/^/$as_me: WARNING: /" >&2 ! ;; ! no:yes ) ! { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 ! echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} ! { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 ! echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} ! { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 ! echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} ! ( ! cat <<\_ASBOX ! ## ------------------------------------ ## ! ## Report this to bug-autoconf@gnu.org. ## ! ## ------------------------------------ ## ! _ASBOX ! ) | ! sed "s/^/$as_me: WARNING: /" >&2 ! ;; ! esac ! echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ! eval "$as_ac_Header=$ac_header_preproc" fi ! echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 + + fi if test `eval echo '${'$as_ac_Header'}'` = yes; then ! cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 ! _ACEOF fi + done ! ! for ac_func in getpagesize do ! as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` ! echo "$as_me:$LINENO: checking for $ac_func" >&5 ! echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 ! if eval "test \"\${$as_ac_var+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ ! /* System header to define __stub macros and hopefully few prototypes, ! which can conflict with char $ac_func (); below. ! Prefer to if __STDC__ is defined, since ! exists even on freestanding compilers. */ ! #ifdef __STDC__ ! # include ! #else ! # include ! #endif ! /* Override any gcc2 internal prototype to avoid an error. */ ! #ifdef __cplusplus ! extern "C" ! { ! #endif ! /* We use char because int might match the return type of a gcc2 ! builtin and then its argument prototype would still apply. */ ! char $ac_func (); ! /* The GNU C library defines this for functions which it implements ! to always fail with ENOSYS. Some functions are actually named ! something starting with __ and the normal name is an alias. */ ! #if defined (__stub_$ac_func) || defined (__stub___$ac_func) ! choke me ! #else ! char (*f) () = $ac_func; ! #endif ! #ifdef __cplusplus ! } ! #endif int main () { ! return f != $ac_func; ; return 0; *************** *** 4778,5062 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:4780: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:4783: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:4786: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:4789: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! ac_cv_working_alloca_h=yes else echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! ac_cv_working_alloca_h=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:4799: result: $ac_cv_working_alloca_h" >&5 ! echo "${ECHO_T}$ac_cv_working_alloca_h" >&6 ! if test $ac_cv_working_alloca_h = yes; then ! ! cat >>confdefs.h <<\EOF ! #define HAVE_ALLOCA_H 1 ! EOF fi ! echo "$as_me:4809: checking for alloca" >&5 ! echo $ECHO_N "checking for alloca... $ECHO_C" >&6 ! if test "${ac_cv_func_alloca_works+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF ! #line 4815 "configure" ! #include "confdefs.h" ! #ifdef __GNUC__ ! # define alloca __builtin_alloca ! #else ! # ifdef _MSC_VER ! # include ! # define alloca _alloca ! # else ! # if HAVE_ALLOCA_H ! # include ! # else ! # ifdef _AIX ! #pragma alloca ! # else ! # ifndef alloca /* predefined by HP cc +Olibcalls */ ! char *alloca (); ! # endif ! # endif ! # endif ! # endif #endif int main () { ! char *p = (char *) alloca (1); ! ; ! return 0; } _ACEOF ! rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:4847: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:4850: \$? = $ac_status" >&5 ! (exit $ac_status); } && ! { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:4853: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:4856: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! ac_cv_func_alloca_works=yes else ! echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! ac_cv_func_alloca_works=no fi ! rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:4866: result: $ac_cv_func_alloca_works" >&5 ! echo "${ECHO_T}$ac_cv_func_alloca_works" >&6 ! ! if test $ac_cv_func_alloca_works = yes; then ! ! cat >>confdefs.h <<\EOF ! #define HAVE_ALLOCA 1 ! EOF ! else ! # The SVR3 libPW and SVR4 libucb both contain incompatible functions ! # that cause trouble. Some versions do not even contain alloca or ! # contain a buggy version. If you still want to use their alloca, ! # use ar to extract alloca.o from them instead of compiling alloca.c. ! ALLOCA=alloca.$ac_objext - cat >>confdefs.h <<\EOF - #define C_ALLOCA 1 - EOF ! echo "$as_me:4887: checking whether \`alloca.c' needs Cray hooks" >&5 ! echo $ECHO_N "checking whether \`alloca.c' needs Cray hooks... $ECHO_C" >&6 ! if test "${ac_cv_os_cray+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF ! #line 4893 "configure" ! #include "confdefs.h" ! #if defined(CRAY) && ! defined(CRAY2) ! webecray ! #else ! wenotbecray #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | ! egrep "webecray" >/dev/null 2>&1; then ! ac_cv_os_cray=yes else ! ac_cv_os_cray=no fi rm -f conftest* fi ! echo "$as_me:4911: result: $ac_cv_os_cray" >&5 ! echo "${ECHO_T}$ac_cv_os_cray" >&6 ! if test $ac_cv_os_cray = yes; then ! for ac_func in _getb67 GETB67 getb67; do ! as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` ! echo "$as_me:4916: checking for $ac_func" >&5 ! echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 ! if eval "test \"\${$as_ac_var+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - cat >conftest.$ac_ext <<_ACEOF - #line 4922 "configure" - #include "confdefs.h" - /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func (); below. */ - #include - /* Override any gcc2 internal prototype to avoid an error. */ - #ifdef __cplusplus - extern "C" - #endif - /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ - char $ac_func (); - char (*f) (); - - int - main () - { - /* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ - #if defined (__stub_$ac_func) || defined (__stub___$ac_func) - choke me - #else - f = $ac_func; - #endif - - ; - return 0; - } - _ACEOF - rm -f conftest.$ac_objext conftest$ac_exeext - if { (eval echo "$as_me:4953: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:4956: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:4959: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:4962: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - eval "$as_ac_var=yes" - else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - eval "$as_ac_var=no" - fi - rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext - fi - echo "$as_me:4972: result: `eval echo '${'$as_ac_var'}'`" >&5 - echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 - if test `eval echo '${'$as_ac_var'}'` = yes; then - - cat >>confdefs.h <&5 - echo $ECHO_N "checking stack direction for C alloca... $ECHO_C" >&6 - if test "${ac_cv_c_stack_direction+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - if test "$cross_compiling" = yes; then - ac_cv_c_stack_direction=0 else cat >conftest.$ac_ext <<_ACEOF ! #line 4995 "configure" ! #include "confdefs.h" ! int ! find_stack_direction () { ! static char *addr = 0; ! auto char dummy; ! if (addr == 0) ! { ! addr = &dummy; ! return find_stack_direction (); ! } ! else ! return (&dummy > addr) ? 1 : -1; } ! int ! main () { ! exit (find_stack_direction () < 0); } _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:5018: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:5021: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:5023: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:5026: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! ac_cv_c_stack_direction=1 else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! ac_cv_c_stack_direction=-1 fi ! rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi ! echo "$as_me:5038: result: $ac_cv_c_stack_direction" >&5 ! echo "${ECHO_T}$ac_cv_c_stack_direction" >&6 ! cat >>confdefs.h <&5 ! echo $ECHO_N "checking whether getpgrp takes no argument... $ECHO_C" >&6 ! if test "${ac_cv_func_getpgrp_void+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ! # Use it with a single arg. ! cat >conftest.$ac_ext <<_ACEOF ! #line 5054 "configure" ! #include "confdefs.h" ! $ac_includes_default int main () { ! getpgrp (0); ; return 0; --- 6387,6754 ---- _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ! eval "$as_ac_var=no" fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 ! echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 ! if test `eval echo '${'$as_ac_var'}'` = yes; then ! cat >>confdefs.h <<_ACEOF ! #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 ! _ACEOF fi + done ! echo "$as_me:$LINENO: checking for working mmap" >&5 ! echo $ECHO_N "checking for working mmap... $ECHO_C" >&6 ! if test "${ac_cv_func_mmap_fixed_mapped+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else + if test "$cross_compiling" = yes; then + ac_cv_func_mmap_fixed_mapped=no + else cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ ! $ac_includes_default ! /* malloc might have been renamed as rpl_malloc. */ ! #undef malloc ! ! /* Thanks to Mike Haertel and Jim Avera for this test. ! Here is a matrix of mmap possibilities: ! mmap private not fixed ! mmap private fixed at somewhere currently unmapped ! mmap private fixed at somewhere already mapped ! mmap shared not fixed ! mmap shared fixed at somewhere currently unmapped ! mmap shared fixed at somewhere already mapped ! For private mappings, we should verify that changes cannot be read() ! back from the file, nor mmap's back from the file at a different ! address. (There have been systems where private was not correctly ! implemented like the infamous i386 svr4.0, and systems where the ! VM page cache was not coherent with the file system buffer cache ! like early versions of FreeBSD and possibly contemporary NetBSD.) ! For shared mappings, we should conversely verify that changes get ! propagated back to all the places they're supposed to be. ! ! Grep wants private fixed already mapped. ! The main things grep needs to know about mmap are: ! * does it exist and is it safe to write into the mmap'd area ! * how to use it (BSD variants) */ ! ! #include ! #include ! ! #if !STDC_HEADERS && !HAVE_STDLIB_H ! char *malloc (); #endif + /* This mess was copied from the GNU getpagesize.h. */ + #if !HAVE_GETPAGESIZE + /* Assume that all systems that can run configure have sys/param.h. */ + # if !HAVE_SYS_PARAM_H + # define HAVE_SYS_PARAM_H 1 + # endif + + # ifdef _SC_PAGESIZE + # define getpagesize() sysconf(_SC_PAGESIZE) + # else /* no _SC_PAGESIZE */ + # if HAVE_SYS_PARAM_H + # include + # ifdef EXEC_PAGESIZE + # define getpagesize() EXEC_PAGESIZE + # else /* no EXEC_PAGESIZE */ + # ifdef NBPG + # define getpagesize() NBPG * CLSIZE + # ifndef CLSIZE + # define CLSIZE 1 + # endif /* no CLSIZE */ + # else /* no NBPG */ + # ifdef NBPC + # define getpagesize() NBPC + # else /* no NBPC */ + # ifdef PAGESIZE + # define getpagesize() PAGESIZE + # endif /* PAGESIZE */ + # endif /* no NBPC */ + # endif /* no NBPG */ + # endif /* no EXEC_PAGESIZE */ + # else /* no HAVE_SYS_PARAM_H */ + # define getpagesize() 8192 /* punt totally */ + # endif /* no HAVE_SYS_PARAM_H */ + # endif /* no _SC_PAGESIZE */ + + #endif /* no HAVE_GETPAGESIZE */ + int main () { ! char *data, *data2, *data3; ! int i, pagesize; ! int fd; ! ! pagesize = getpagesize (); ! ! /* First, make a file with some known garbage in it. */ ! data = (char *) malloc (pagesize); ! if (!data) ! exit (1); ! for (i = 0; i < pagesize; ++i) ! *(data + i) = rand (); ! umask (0); ! fd = creat ("conftest.mmap", 0600); ! if (fd < 0) ! exit (1); ! if (write (fd, data, pagesize) != pagesize) ! exit (1); ! close (fd); ! ! /* Next, try to mmap the file at a fixed address which already has ! something else allocated at it. If we can, also make sure that ! we see the same garbage. */ ! fd = open ("conftest.mmap", O_RDWR); ! if (fd < 0) ! exit (1); ! data2 = (char *) malloc (2 * pagesize); ! if (!data2) ! exit (1); ! data2 += (pagesize - ((int) data2 & (pagesize - 1))) & (pagesize - 1); ! if (data2 != mmap (data2, pagesize, PROT_READ | PROT_WRITE, ! MAP_PRIVATE | MAP_FIXED, fd, 0L)) ! exit (1); ! for (i = 0; i < pagesize; ++i) ! if (*(data + i) != *(data2 + i)) ! exit (1); ! ! /* Finally, make sure that changes to the mapped area do not ! percolate back to the file as seen by read(). (This is a bug on ! some variants of i386 svr4.0.) */ ! for (i = 0; i < pagesize; ++i) ! *(data2 + i) = *(data2 + i) + 1; ! data3 = (char *) malloc (pagesize); ! if (!data3) ! exit (1); ! if (read (fd, data3, pagesize) != pagesize) ! exit (1); ! for (i = 0; i < pagesize; ++i) ! if (*(data + i) != *(data3 + i)) ! exit (1); ! close (fd); ! exit (0); } _ACEOF ! rm -f conftest$ac_exeext ! if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 ! (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! ac_cv_func_mmap_fixed_mapped=yes else ! echo "$as_me: program exited with status $ac_status" >&5 ! echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ! ( exit $ac_status ) ! ac_cv_func_mmap_fixed_mapped=no fi ! rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi ! fi ! echo "$as_me:$LINENO: result: $ac_cv_func_mmap_fixed_mapped" >&5 ! echo "${ECHO_T}$ac_cv_func_mmap_fixed_mapped" >&6 ! if test $ac_cv_func_mmap_fixed_mapped = yes; then ! cat >>confdefs.h <<\_ACEOF ! #define HAVE_MMAP 1 ! _ACEOF ! fi ! rm -f conftest.mmap ! echo "$as_me:$LINENO: checking whether we are using the GNU C Library 2.1 or newer" >&5 ! echo $ECHO_N "checking whether we are using the GNU C Library 2.1 or newer... $ECHO_C" >&6 ! if test "${ac_cv_gnu_library_2_1+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ ! ! #include ! #ifdef __GNU_LIBRARY__ ! #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2) ! Lucky GNU user ! #endif #endif _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | ! $EGREP "Lucky GNU user" >/dev/null 2>&1; then ! ac_cv_gnu_library_2_1=yes else ! ac_cv_gnu_library_2_1=no fi rm -f conftest* + + fi ! echo "$as_me:$LINENO: result: $ac_cv_gnu_library_2_1" >&5 ! echo "${ECHO_T}$ac_cv_gnu_library_2_1" >&6 ! ! GLIBC21="$ac_cv_gnu_library_2_1" ! ! ! ! ! echo "$as_me:$LINENO: checking whether integer division by zero raises SIGFPE" >&5 ! echo $ECHO_N "checking whether integer division by zero raises SIGFPE... $ECHO_C" >&6 ! if test "${gt_cv_int_divbyzero_sigfpe+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ! if test "$cross_compiling" = yes; then ! # Guess based on the CPU. ! case "$host_cpu" in ! alpha* | i3456786 | m68k | s390*) ! gt_cv_int_divbyzero_sigfpe="guessing yes";; ! *) ! gt_cv_int_divbyzero_sigfpe="guessing no";; ! esac else cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ ! ! #include ! #include ! ! static void ! #ifdef __cplusplus ! sigfpe_handler (int sig) ! #else ! sigfpe_handler (sig) int sig; ! #endif { ! /* Exit with code 0 if SIGFPE, with code 1 if any other signal. */ ! exit (sig != SIGFPE); } ! int x = 1; ! int y = 0; ! int z; ! int nan; ! ! int main () { ! signal (SIGFPE, sigfpe_handler); ! /* IRIX and AIX (when "xlc -qcheck" is used) yield signal SIGTRAP. */ ! #if (defined (__sgi) || defined (_AIX)) && defined (SIGTRAP) ! signal (SIGTRAP, sigfpe_handler); ! #endif ! /* Linux/SPARC yields signal SIGILL. */ ! #if defined (__sparc__) && defined (__linux__) ! signal (SIGILL, sigfpe_handler); ! #endif ! ! z = x / y; ! nan = y / y; ! exit (1); } + _ACEOF rm -f conftest$ac_exeext ! if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! gt_cv_int_divbyzero_sigfpe=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ! ( exit $ac_status ) ! gt_cv_int_divbyzero_sigfpe=no fi ! rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi + fi ! echo "$as_me:$LINENO: result: $gt_cv_int_divbyzero_sigfpe" >&5 ! echo "${ECHO_T}$gt_cv_int_divbyzero_sigfpe" >&6 ! case "$gt_cv_int_divbyzero_sigfpe" in ! *yes) value=1;; ! *) value=0;; ! esac ! cat >>confdefs.h <<_ACEOF ! #define INTDIV0_RAISES_SIGFPE $value ! _ACEOF ! ! echo "$as_me:$LINENO: checking for inttypes.h" >&5 ! echo $ECHO_N "checking for inttypes.h... $ECHO_C" >&6 ! if test "${jm_ac_cv_header_inttypes_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ! cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ ! #include ! #include int main () { ! uintmax_t i = (uintmax_t) -1; ; return 0; *************** *** 5064,5094 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:5066: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:5069: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:5072: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:5075: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! ac_func_getpgrp_1=yes else echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! ac_func_getpgrp_1=no fi rm -f conftest.$ac_objext conftest.$ac_ext ! # Use it with no arg. ! cat >conftest.$ac_ext <<_ACEOF ! #line 5086 "configure" ! #include "confdefs.h" ! $ac_includes_default int main () { ! getpgrp (); ; return 0; --- 6756,6808 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! jm_ac_cv_header_inttypes_h=yes else echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ! jm_ac_cv_header_inttypes_h=no fi rm -f conftest.$ac_objext conftest.$ac_ext ! fi ! echo "$as_me:$LINENO: result: $jm_ac_cv_header_inttypes_h" >&5 ! echo "${ECHO_T}$jm_ac_cv_header_inttypes_h" >&6 ! if test $jm_ac_cv_header_inttypes_h = yes; then ! ! cat >>confdefs.h <<_ACEOF ! #define HAVE_INTTYPES_H_WITH_UINTMAX 1 ! _ACEOF ! ! fi ! ! ! echo "$as_me:$LINENO: checking for stdint.h" >&5 ! echo $ECHO_N "checking for stdint.h... $ECHO_C" >&6 ! if test "${jm_ac_cv_header_stdint_h+set}" = set; then ! echo $ECHO_N "(cached) $ECHO_C" >&6 ! else ! cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ ! #include ! #include int main () { ! uintmax_t i = (uintmax_t) -1; ; return 0; *************** *** 5096,5306 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:5098: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:5101: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:5104: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:5107: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! ac_func_getpgrp_0=yes else echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! ac_func_getpgrp_0=no fi rm -f conftest.$ac_objext conftest.$ac_ext ! # If both static checks agree, we are done. ! case $ac_func_getpgrp_0:$ac_func_getpgrp_1 in ! yes:no) ac_cv_func_getpgrp_void=yes;; ! no:yes) ac_cv_func_getpgrp_void=false;; ! *) if test "$cross_compiling" = yes; then ! { { echo "$as_me:5121: error: cannot check getpgrp if cross compiling" >&5 ! echo "$as_me: error: cannot check getpgrp if cross compiling" >&2;} ! { (exit 1); exit 1; }; } ! else ! cat >conftest.$ac_ext <<_ACEOF ! #line 5126 "configure" ! #include "confdefs.h" ! $ac_includes_default ! /* ! * If this system has a BSD-style getpgrp(), ! * which takes a pid argument, exit unsuccessfully. ! * ! * Snarfed from Chet Ramey's bash pgrp.c test program ! */ - int pid; - int pg1, pg2, pg3, pg4; - int ng, np, s, child; int main () { ! pid = getpid (); ! pg1 = getpgrp (0); ! pg2 = getpgrp (); ! pg3 = getpgrp (pid); ! pg4 = getpgrp (1); ! ! /* If all of these values are the same, it's pretty sure that we're ! on a system that ignores getpgrp's first argument. */ ! if (pg2 == pg4 && pg1 == pg3 && pg2 == pg3) ! exit (0); ! ! child = fork (); ! if (child < 0) ! exit(1); ! else if (child == 0) ! { ! np = getpid (); ! /* If this is Sys V, this will not work; pgrp will be set to np ! because setpgrp just changes a pgrp to be the same as the ! pid. */ ! setpgrp (np, pg1); ! ng = getpgrp (0); /* Same result for Sys V and BSD */ ! if (ng == pg1) ! exit (1); ! else ! exit (0); ! } ! else ! { ! wait (&s); ! exit (s>>8); ! } } - _ACEOF ! rm -f conftest$ac_exeext ! if { (eval echo "$as_me:5180: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:5183: \$? = $ac_status" >&5 ! (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:5185: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:5188: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! ac_cv_func_getpgrp_void=yes else ! echo "$as_me: program exited with status $ac_status" >&5 ! echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! ac_cv_func_getpgrp_void=no ! fi ! rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext ! fi;; ! esac # $ac_func_getpgrp_0:$ac_func_getpgrp_1 fi ! echo "$as_me:5202: result: $ac_cv_func_getpgrp_void" >&5 ! echo "${ECHO_T}$ac_cv_func_getpgrp_void" >&6 ! if test $ac_cv_func_getpgrp_void = yes; then ! cat >>confdefs.h <<\EOF ! #define GETPGRP_VOID 1 ! EOF ! fi ! echo "$as_me:5212: checking whether setvbuf arguments are reversed" >&5 ! echo $ECHO_N "checking whether setvbuf arguments are reversed... $ECHO_C" >&6 ! if test "${ac_cv_func_setvbuf_reversed+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ! if test "$cross_compiling" = yes; then ! { { echo "$as_me:5218: error: cannot run test program while cross compiling" >&5 ! echo "$as_me: error: cannot run test program while cross compiling" >&2;} ! { (exit 1); exit 1; }; } ! else ! cat >conftest.$ac_ext <<_ACEOF ! #line 5223 "configure" ! #include "confdefs.h" ! #include ! /* If setvbuf has the reversed format, exit 0. */ int main () { ! /* This call has the arguments reversed. ! A reversed system may check and see that the address of main ! is not _IOLBF, _IONBF, or _IOFBF, and return nonzero. */ ! if (setvbuf(stdout, _IOLBF, (char *) main, BUFSIZ) != 0) ! exit(1); ! putc('\r', stdout); ! exit(0); /* Non-reversed systems segv here. */ } _ACEOF ! rm -f conftest$ac_exeext ! if { (eval echo "$as_me:5240: \"$ac_link\"") >&5 ! (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:5243: \$? = $ac_status" >&5 ! (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:5245: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:5248: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! ac_cv_func_setvbuf_reversed=yes else ! echo "$as_me: program exited with status $ac_status" >&5 ! echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! ac_cv_func_setvbuf_reversed=no ! fi ! rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi ! rm -f core core.* *.core fi ! echo "$as_me:5261: result: $ac_cv_func_setvbuf_reversed" >&5 ! echo "${ECHO_T}$ac_cv_func_setvbuf_reversed" >&6 ! if test $ac_cv_func_setvbuf_reversed = yes; then ! cat >>confdefs.h <<\EOF ! #define SETVBUF_REVERSED 1 ! EOF ! fi ! for ac_func in vprintf ! do ! as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` ! echo "$as_me:5274: checking for $ac_func" >&5 ! echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 ! if eval "test \"\${$as_ac_var+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ! cat >conftest.$ac_ext <<_ACEOF ! #line 5280 "configure" ! #include "confdefs.h" ! /* System header to define __stub macros and hopefully few prototypes, ! which can conflict with char $ac_func (); below. */ ! #include ! /* Override any gcc2 internal prototype to avoid an error. */ ! #ifdef __cplusplus ! extern "C" #endif - /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ - char $ac_func (); - char (*f) (); int main () { - /* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ - #if defined (__stub_$ac_func) || defined (__stub___$ac_func) - choke me - #else - f = $ac_func; - #endif ; --- 6810,6998 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! jm_ac_cv_header_stdint_h=yes else echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ! jm_ac_cv_header_stdint_h=no fi rm -f conftest.$ac_objext conftest.$ac_ext ! fi ! echo "$as_me:$LINENO: result: $jm_ac_cv_header_stdint_h" >&5 ! echo "${ECHO_T}$jm_ac_cv_header_stdint_h" >&6 ! if test $jm_ac_cv_header_stdint_h = yes; then ! cat >>confdefs.h <<_ACEOF ! #define HAVE_STDINT_H_WITH_UINTMAX 1 ! _ACEOF ! ! fi + echo "$as_me:$LINENO: checking for unsigned long long" >&5 + echo $ECHO_N "checking for unsigned long long... $ECHO_C" >&6 + if test "${ac_cv_type_unsigned_long_long+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 + else + cat >conftest.$ac_ext <<_ACEOF + #line $LINENO "configure" + /* confdefs.h. */ + _ACEOF + cat confdefs.h >>conftest.$ac_ext + cat >>conftest.$ac_ext <<_ACEOF + /* end confdefs.h. */ + unsigned long long ull = 1; int i = 63; int main () { ! unsigned long long ullmax = (unsigned long long) -1; ! return ull << i | ull >> i | ullmax / ull | ullmax % ull; ! ; ! return 0; } _ACEOF ! rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 ! (exit $ac_status); } && ! { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! ac_cv_type_unsigned_long_long=yes else ! echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 + ac_cv_type_unsigned_long_long=no fi ! rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext ! fi ! echo "$as_me:$LINENO: result: $ac_cv_type_unsigned_long_long" >&5 ! echo "${ECHO_T}$ac_cv_type_unsigned_long_long" >&6 ! if test $ac_cv_type_unsigned_long_long = yes; then ! cat >>confdefs.h <<\_ACEOF ! #define HAVE_UNSIGNED_LONG_LONG 1 ! _ACEOF ! fi ! ! ! ! if test $jm_ac_cv_header_inttypes_h = no && test $jm_ac_cv_header_stdint_h = no; then ! ! test $ac_cv_type_unsigned_long_long = yes \ ! && ac_type='unsigned long long' \ ! || ac_type='unsigned long' ! ! cat >>confdefs.h <<_ACEOF ! #define uintmax_t $ac_type ! _ACEOF ! ! else ! ! cat >>confdefs.h <<\_ACEOF ! #define HAVE_UINTMAX_T 1 ! _ACEOF ! ! fi ! ! ! echo "$as_me:$LINENO: checking for inttypes.h" >&5 ! echo $ECHO_N "checking for inttypes.h... $ECHO_C" >&6 ! if test "${gt_cv_header_inttypes_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ! ! cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ ! #include ! #include int main () { ! ! ; ! return 0; } _ACEOF ! rm -f conftest.$ac_objext ! if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ! (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 ! (exit $ac_status); } && ! { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! gt_cv_header_inttypes_h=yes else ! echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ! gt_cv_header_inttypes_h=no fi ! rm -f conftest.$ac_objext conftest.$ac_ext ! fi ! echo "$as_me:$LINENO: result: $gt_cv_header_inttypes_h" >&5 ! echo "${ECHO_T}$gt_cv_header_inttypes_h" >&6 ! if test $gt_cv_header_inttypes_h = yes; then ! cat >>confdefs.h <<_ACEOF ! #define HAVE_INTTYPES_H 1 ! _ACEOF ! fi ! ! ! if test $gt_cv_header_inttypes_h = yes; then ! echo "$as_me:$LINENO: checking whether the inttypes.h PRIxNN macros are broken" >&5 ! echo $ECHO_N "checking whether the inttypes.h PRIxNN macros are broken... $ECHO_C" >&6 ! if test "${gt_cv_inttypes_pri_broken+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ! ! cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ ! #include ! #ifdef PRId32 ! char *p = PRId32; #endif int main () { ; *************** *** 5308,5585 **** } _ACEOF ! rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:5311: \"$ac_link\"") >&5 ! (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:5314: \$? = $ac_status" >&5 (exit $ac_status); } && ! { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:5317: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:5320: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! eval "$as_ac_var=no" fi ! rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:5330: result: `eval echo '${'$as_ac_var'}'`" >&5 ! echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 ! if test `eval echo '${'$as_ac_var'}'` = yes; then ! cat >>confdefs.h <&5 ! echo $ECHO_N "checking for _doprnt... $ECHO_C" >&6 ! if test "${ac_cv_func__doprnt+set}" = set; then ! echo $ECHO_N "(cached) $ECHO_C" >&6 ! else ! cat >conftest.$ac_ext <<_ACEOF ! #line 5343 "configure" ! #include "confdefs.h" ! /* System header to define __stub macros and hopefully few prototypes, ! which can conflict with char _doprnt (); below. */ ! #include ! /* Override any gcc2 internal prototype to avoid an error. */ ! #ifdef __cplusplus ! extern "C" ! #endif ! /* We use char because int might match the return type of a gcc2 ! builtin and then its argument prototype would still apply. */ ! char _doprnt (); ! char (*f) (); ! int ! main () ! { ! /* The GNU C library defines this for functions which it implements ! to always fail with ENOSYS. Some functions are actually named ! something starting with __ and the normal name is an alias. */ ! #if defined (__stub__doprnt) || defined (__stub____doprnt) ! choke me ! #else ! f = _doprnt; ! #endif - ; - return 0; - } - _ACEOF - rm -f conftest.$ac_objext conftest$ac_exeext - if { (eval echo "$as_me:5374: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:5377: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:5380: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:5383: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - ac_cv_func__doprnt=yes - else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - ac_cv_func__doprnt=no - fi - rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext - fi - echo "$as_me:5393: result: $ac_cv_func__doprnt" >&5 - echo "${ECHO_T}$ac_cv_func__doprnt" >&6 - if test $ac_cv_func__doprnt = yes; then ! cat >>confdefs.h <<\EOF ! #define HAVE_DOPRNT 1 ! EOF - fi fi ! done ! ! echo "$as_me:5406: checking for working strcoll" >&5 ! echo $ECHO_N "checking for working strcoll... $ECHO_C" >&6 ! if test "${ac_cv_func_strcoll_works+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ! if test "$cross_compiling" = yes; then ! ac_cv_func_strcoll_works=no else ! cat >conftest.$ac_ext <<_ACEOF ! #line 5415 "configure" ! #include "confdefs.h" ! $ac_includes_default ! int ! main () ! { ! exit (strcoll ("abc", "def") >= 0 || ! strcoll ("ABC", "DEF") >= 0 || ! strcoll ("123", "456") >= 0) ! ; ! return 0; ! } ! _ACEOF ! rm -f conftest$ac_exeext ! if { (eval echo "$as_me:5429: \"$ac_link\"") >&5 ! (eval $ac_link) 2>&5 ! ac_status=$? ! echo "$as_me:5432: \$? = $ac_status" >&5 ! (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:5434: \"$ac_try\"") >&5 ! (eval $ac_try) 2>&5 ! ac_status=$? ! echo "$as_me:5437: \$? = $ac_status" >&5 ! (exit $ac_status); }; }; then ! ac_cv_func_strcoll_works=yes else ! echo "$as_me: program exited with status $ac_status" >&5 ! echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! ac_cv_func_strcoll_works=no fi ! rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi ! echo "$as_me:5449: result: $ac_cv_func_strcoll_works" >&5 ! echo "${ECHO_T}$ac_cv_func_strcoll_works" >&6 ! if test $ac_cv_func_strcoll_works = yes; then - cat >>confdefs.h <<\EOF - #define HAVE_STRCOLL 1 - EOF - fi ! if test "$ac_cv_func_alloca_works" = "no" && test "$opt_bash_malloc" = "no"; then ! MALLOC_TARGET=alloca ! MALLOC_SRC=alloca.c - MALLOC_LIB='-lmalloc' - MALLOC_LIBRARY='$(ALLOC_LIBDIR)/libmalloc.a' - MALLOC_LDFLAGS='-L$(ALLOC_LIBDIR)' - MALLOC_DEP='$(MALLOC_LIBRARY)' fi - if test "$ac_cv_func_vprintf" = no; then - echo "$as_me:5470: checking for declaration of vprintf in stdio.h" >&5 - echo $ECHO_N "checking for declaration of vprintf in stdio.h... $ECHO_C" >&6 - cat >conftest.$ac_ext <<_ACEOF - #line 5473 "configure" - #include "confdefs.h" - #include - _ACEOF - if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "[int[ ]*vprintf[^a-zA-Z0-9]]" >/dev/null 2>&1; then - ac_cv_func_vprintf=yes - fi - rm -f conftest* - echo "$as_me:5484: result: $ac_cv_func_vprintf" >&5 - echo "${ECHO_T}$ac_cv_func_vprintf" >&6 - if test $ac_cv_func_vprintf = yes; then - cat >>confdefs.h <<\EOF - #define HAVE_VPRINTF 1 - EOF fi - fi ! if test "$ac_cv_func_vprintf" = no && test "$ac_cv_func__doprnt" = "yes"; then ! LIBOBJS="$LIBOBJS vprint.$ac_objext" ! fi ! echo "$as_me:5498: checking return type of signal handlers" >&5 ! echo $ECHO_N "checking return type of signal handlers... $ECHO_C" >&6 ! if test "${ac_cv_type_signal+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ! cat >conftest.$ac_ext <<_ACEOF ! #line 5504 "configure" ! #include "confdefs.h" ! #include ! #include ! #ifdef signal ! # undef signal ! #endif ! #ifdef __cplusplus ! extern "C" void (*signal (int, void (*)(int)))(int); ! #else ! void (*signal ()) (); ! #endif ! ! int ! main () ! { ! int i; ! ; ! return 0; ! } _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:5526: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:5529: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:5532: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:5535: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! ac_cv_type_signal=void else echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! ac_cv_type_signal=int fi rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:5545: result: $ac_cv_type_signal" >&5 ! echo "${ECHO_T}$ac_cv_type_signal" >&6 ! cat >>confdefs.h <&5 ! echo $ECHO_N "checking for __setostype... $ECHO_C" >&6 ! if test "${ac_cv_func___setostype+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ! cat >conftest.$ac_ext <<_ACEOF ! #line 5558 "configure" ! #include "confdefs.h" ! /* System header to define __stub macros and hopefully few prototypes, ! which can conflict with char __setostype (); below. */ ! #include ! /* Override any gcc2 internal prototype to avoid an error. */ ! #ifdef __cplusplus ! extern "C" ! #endif ! /* We use char because int might match the return type of a gcc2 ! builtin and then its argument prototype would still apply. */ ! char __setostype (); ! char (*f) (); ! ! int ! main () { /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ ! #if defined (__stub___setostype) || defined (__stub_____setostype) choke me #else ! f = __setostype; #endif ; return 0; --- 7000,7806 ---- } _ACEOF ! rm -f conftest.$ac_objext ! if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ! (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && ! { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! gt_cv_inttypes_pri_broken=no else echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ! gt_cv_inttypes_pri_broken=yes fi ! rm -f conftest.$ac_objext conftest.$ac_ext ! fi ! echo "$as_me:$LINENO: result: $gt_cv_inttypes_pri_broken" >&5 ! echo "${ECHO_T}$gt_cv_inttypes_pri_broken" >&6 ! fi ! if test "$gt_cv_inttypes_pri_broken" = yes; then ! cat >>confdefs.h <<_ACEOF ! #define PRI_MACROS_BROKEN 1 ! _ACEOF ! fi ! 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 or --without-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. ! echo "$as_me:$LINENO: checking for ld used by GCC" >&5 ! echo $ECHO_N "checking for ld used by GCC... $ECHO_C" >&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 ! echo "$as_me:$LINENO: checking for GNU ld" >&5 ! echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6 ! else ! echo "$as_me:$LINENO: checking for non-GNU ld" >&5 ! echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6 ! fi ! if test "${acl_cv_path_LD+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&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. ! 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 ! 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 ! echo "$as_me:$LINENO: result: $LD" >&5 ! echo "${ECHO_T}$LD" >&6 else ! echo "$as_me:$LINENO: result: no" >&5 ! echo "${ECHO_T}no" >&6 fi ! test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 ! echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} ! { (exit 1); exit 1; }; } ! echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 ! echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6 ! if test "${acl_cv_prog_gnu_ld+set}" = set; then ! echo $ECHO_N "(cached) $ECHO_C" >&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 ! echo "$as_me:$LINENO: result: $acl_cv_prog_gnu_ld" >&5 ! echo "${ECHO_T}$acl_cv_prog_gnu_ld" >&6 ! with_gnu_ld=$acl_cv_prog_gnu_ld ! echo "$as_me:$LINENO: checking for shared library run path origin" >&5 ! echo $ECHO_N "checking for shared library run path origin... $ECHO_C" >&6 ! if test "${acl_cv_rpath+set}" = set; then ! echo $ECHO_N "(cached) $ECHO_C" >&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 + echo "$as_me:$LINENO: result: $acl_cv_rpath" >&5 + echo "${ECHO_T}$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 or --disable-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 or --without-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 ! ! ! ! ! ! ! ! ! ! ! ! ! ! for ac_header in argz.h limits.h locale.h nl_types.h malloc.h stddef.h \ ! stdlib.h string.h unistd.h sys/param.h ! do ! as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` ! if eval "test \"\${$as_ac_Header+set}\" = set"; then ! echo "$as_me:$LINENO: checking for $ac_header" >&5 ! echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 ! if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 + fi + echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 + echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 else ! # Is the header compilable? ! echo "$as_me:$LINENO: checking $ac_header usability" >&5 ! echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 ! cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ ! $ac_includes_default ! #include <$ac_header> _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ! ac_header_compiler=no fi rm -f conftest.$ac_objext conftest.$ac_ext + echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 + echo "${ECHO_T}$ac_header_compiler" >&6 + + # Is the header present? + echo "$as_me:$LINENO: checking $ac_header presence" >&5 + echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 + cat >conftest.$ac_ext <<_ACEOF + #line $LINENO "configure" + /* confdefs.h. */ + _ACEOF + cat confdefs.h >>conftest.$ac_ext + cat >>conftest.$ac_ext <<_ACEOF + /* end confdefs.h. */ + #include <$ac_header> + _ACEOF + if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + else + ac_cpp_err= + fi + else + ac_cpp_err=yes fi ! if test -z "$ac_cpp_err"; then ! ac_header_preproc=yes ! else ! echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ac_header_preproc=no ! fi ! rm -f conftest.err conftest.$ac_ext ! echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 ! echo "${ECHO_T}$ac_header_preproc" >&6 ! # So? What about this header? ! case $ac_header_compiler:$ac_header_preproc in ! yes:no ) ! { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 ! echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} ! { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 ! echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} ! ( ! cat <<\_ASBOX ! ## ------------------------------------ ## ! ## Report this to bug-autoconf@gnu.org. ## ! ## ------------------------------------ ## ! _ASBOX ! ) | ! sed "s/^/$as_me: WARNING: /" >&2 ! ;; ! no:yes ) ! { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 ! echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} ! { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 ! echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} ! { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 ! echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} ! ( ! cat <<\_ASBOX ! ## ------------------------------------ ## ! ## Report this to bug-autoconf@gnu.org. ## ! ## ------------------------------------ ## ! _ASBOX ! ) | ! sed "s/^/$as_me: WARNING: /" >&2 ! ;; ! esac ! echo "$as_me:$LINENO: checking for $ac_header" >&5 ! echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 ! if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ! eval "$as_ac_Header=$ac_header_preproc" ! fi ! echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 ! echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 ! ! fi ! if test `eval echo '${'$as_ac_Header'}'` = yes; then ! cat >>confdefs.h <<_ACEOF ! #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 ! _ACEOF ! ! fi ! ! done ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! for ac_func in feof_unlocked fgets_unlocked getc_unlocked getcwd getegid \ ! geteuid getgid getuid mempcpy munmap putenv setenv setlocale stpcpy \ ! strcasecmp strdup strtoul tsearch __argz_count __argz_stringify __argz_next \ ! __fsetlocking ! do ! as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` ! echo "$as_me:$LINENO: checking for $ac_func" >&5 ! echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 ! if eval "test \"\${$as_ac_var+set}\" = set"; then ! echo $ECHO_N "(cached) $ECHO_C" >&6 ! else ! cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ ! /* System header to define __stub macros and hopefully few prototypes, ! which can conflict with char $ac_func (); below. ! Prefer to if __STDC__ is defined, since ! exists even on freestanding compilers. */ ! #ifdef __STDC__ ! # include ! #else ! # include ! #endif ! /* Override any gcc2 internal prototype to avoid an error. */ ! #ifdef __cplusplus ! extern "C" { + #endif + /* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ + char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ ! #if defined (__stub_$ac_func) || defined (__stub___$ac_func) choke me #else ! char (*f) () = $ac_func; ! #endif ! #ifdef __cplusplus ! } #endif + int + main () + { + return f != $ac_func; ; return 0; *************** *** 5587,5650 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:5589: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:5592: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:5595: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:5598: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! ac_cv_func___setostype=yes else echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! ac_cv_func___setostype=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:5608: result: $ac_cv_func___setostype" >&5 ! echo "${ECHO_T}$ac_cv_func___setostype" >&6 ! if test $ac_cv_func___setostype = yes; then ! cat >>confdefs.h <<\EOF ! #define HAVE_SETOSTYPE 1 ! EOF fi ! echo "$as_me:5617: checking for wait3" >&5 ! echo $ECHO_N "checking for wait3... $ECHO_C" >&6 ! if test "${ac_cv_func_wait3+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - cat >conftest.$ac_ext <<_ACEOF - #line 5623 "configure" - #include "confdefs.h" - /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char wait3 (); below. */ - #include - /* Override any gcc2 internal prototype to avoid an error. */ - #ifdef __cplusplus - extern "C" - #endif - /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ - char wait3 (); - char (*f) (); int main () { ! /* The GNU C library defines this for functions which it implements ! to always fail with ENOSYS. Some functions are actually named ! something starting with __ and the normal name is an alias. */ ! #if defined (__stub_wait3) || defined (__stub___wait3) ! choke me ! #else ! f = wait3; ! #endif ! ; return 0; --- 7808,7895 ---- _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ! eval "$as_ac_var=no" fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 ! echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 ! if test `eval echo '${'$as_ac_var'}'` = yes; then ! cat >>confdefs.h <<_ACEOF ! #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 ! _ACEOF fi + done ! ! ! ! ! ! ! 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 ! ! ! echo "$as_me:$LINENO: checking for iconv" >&5 ! echo $ECHO_N "checking for iconv... $ECHO_C" >&6 ! if test "${am_cv_func_iconv+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else + am_cv_func_iconv="no, consider installing GNU libiconv" + am_cv_lib_iconv=no + cat >conftest.$ac_ext <<_ACEOF + #line $LINENO "configure" + /* confdefs.h. */ + _ACEOF + cat confdefs.h >>conftest.$ac_ext + cat >>conftest.$ac_ext <<_ACEOF + /* end confdefs.h. */ + #include + #include int main () { ! iconv_t cd = iconv_open("",""); ! iconv(cd,NULL,NULL,NULL,NULL); ! iconv_close(cd); ; return 0; *************** *** 5652,5715 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:5654: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:5657: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:5660: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:5663: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! ac_cv_func_wait3=yes else echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! ac_cv_func_wait3=no ! fi ! rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext ! fi ! echo "$as_me:5673: result: $ac_cv_func_wait3" >&5 ! echo "${ECHO_T}$ac_cv_func_wait3" >&6 ! if test $ac_cv_func_wait3 = yes; then ! cat >>confdefs.h <<\EOF ! #define HAVE_WAIT3 1 ! EOF fi ! ! echo "$as_me:5682: checking for isinf" >&5 ! echo $ECHO_N "checking for isinf... $ECHO_C" >&6 ! if test "${ac_cv_func_isinf+set}" = set; then ! echo $ECHO_N "(cached) $ECHO_C" >&6 ! else ! cat >conftest.$ac_ext <<_ACEOF ! #line 5688 "configure" ! #include "confdefs.h" ! /* System header to define __stub macros and hopefully few prototypes, ! which can conflict with char isinf (); below. */ ! #include ! /* Override any gcc2 internal prototype to avoid an error. */ ! #ifdef __cplusplus ! extern "C" ! #endif ! /* We use char because int might match the return type of a gcc2 ! builtin and then its argument prototype would still apply. */ ! char isinf (); ! char (*f) (); ! int main () { ! /* The GNU C library defines this for functions which it implements ! to always fail with ENOSYS. Some functions are actually named ! something starting with __ and the normal name is an alias. */ ! #if defined (__stub_isinf) || defined (__stub___isinf) ! choke me ! #else ! f = isinf; ! #endif ! ; return 0; --- 7897,7936 ---- _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! am_cv_func_iconv=yes else echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 fi ! rm -f 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 >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ ! #include ! #include int main () { ! iconv_t cd = iconv_open("",""); ! iconv(cd,NULL,NULL,NULL,NULL); ! iconv_close(cd); ; return 0; *************** *** 5717,5779 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:5719: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:5722: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:5725: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:5728: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! ac_cv_func_isinf=yes else echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! ac_cv_func_isinf=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext ! fi ! echo "$as_me:5738: result: $ac_cv_func_isinf" >&5 ! echo "${ECHO_T}$ac_cv_func_isinf" >&6 ! if test $ac_cv_func_isinf = yes; then ! cat >>confdefs.h <<\EOF ! #define HAVE_ISINF_IN_LIBC 1 ! EOF fi ! echo "$as_me:5747: checking for mkfifo" >&5 ! echo $ECHO_N "checking for mkfifo... $ECHO_C" >&6 ! if test "${ac_cv_func_mkfifo+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ! cat >conftest.$ac_ext <<_ACEOF ! #line 5753 "configure" ! #include "confdefs.h" ! /* System header to define __stub macros and hopefully few prototypes, ! which can conflict with char mkfifo (); below. */ ! #include ! /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus ! extern "C" #endif - /* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ - char mkfifo (); - char (*f) (); int main () { - /* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ - #if defined (__stub_mkfifo) || defined (__stub___mkfifo) - choke me - #else - f = mkfifo; - #endif ; --- 7938,8016 ---- _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! am_cv_lib_iconv=yes ! am_cv_func_iconv=yes else echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext ! LIBS="$am_save_LIBS" ! fi fi + echo "$as_me:$LINENO: result: $am_cv_func_iconv" >&5 + echo "${ECHO_T}$am_cv_func_iconv" >&6 + if test "$am_cv_func_iconv" = yes; then ! cat >>confdefs.h <<\_ACEOF ! #define HAVE_ICONV 1 ! _ACEOF ! ! fi ! if test "$am_cv_lib_iconv" = yes; then ! echo "$as_me:$LINENO: checking how to link with libiconv" >&5 ! echo $ECHO_N "checking how to link with libiconv... $ECHO_C" >&6 ! echo "$as_me:$LINENO: result: $LIBICONV" >&5 ! echo "${ECHO_T}$LIBICONV" >&6 ! else ! CPPFLAGS="$am_save_CPPFLAGS" ! LIBICONV= ! LTLIBICONV= ! fi ! ! ! ! if test "$am_cv_func_iconv" = yes; then ! echo "$as_me:$LINENO: checking for iconv declaration" >&5 ! echo $ECHO_N "checking for iconv declaration... $ECHO_C" >&6 ! if test "${am_cv_proto_iconv+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ! ! cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ ! ! #include ! #include ! extern #ifdef __cplusplus ! "C" ! #endif ! #if defined(__STDC__) || defined(__cplusplus) ! size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); ! #else ! size_t iconv(); #endif int main () { ; *************** *** 5781,5856 **** } _ACEOF ! rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:5784: \"$ac_link\"") >&5 ! (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:5787: \$? = $ac_status" >&5 (exit $ac_status); } && ! { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:5790: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:5793: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! ac_cv_func_mkfifo=yes else echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! ac_cv_func_mkfifo=no fi ! rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi - echo "$as_me:5803: result: $ac_cv_func_mkfifo" >&5 - echo "${ECHO_T}$ac_cv_func_mkfifo" >&6 - if test $ac_cv_func_mkfifo = yes; then - cat >>confdefs.h <<\EOF - #define HAVE_MKFIFO 1 - EOF ! else ! cat >>confdefs.h <<\EOF ! #define MKFIFO_MISSING 1 ! EOF ! fi ! for ac_func in dup2 select getdtablesize getgroups gethostname \ ! setdtablesize getpagesize killpg lstat getpeername sbrk \ ! getrlimit getrusage gettimeofday waitpid tcgetpgrp \ ! readlink ! do ! as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` ! echo "$as_me:5823: checking for $ac_func" >&5 ! echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 ! if eval "test \"\${$as_ac_var+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF ! #line 5829 "configure" ! #include "confdefs.h" ! /* System header to define __stub macros and hopefully few prototypes, ! which can conflict with char $ac_func (); below. */ ! #include ! /* Override any gcc2 internal prototype to avoid an error. */ ! #ifdef __cplusplus ! extern "C" ! #endif ! /* We use char because int might match the return type of a gcc2 ! builtin and then its argument prototype would still apply. */ ! char $ac_func (); ! char (*f) (); ! int main () { ! /* The GNU C library defines this for functions which it implements ! to always fail with ENOSYS. Some functions are actually named ! something starting with __ and the normal name is an alias. */ ! #if defined (__stub_$ac_func) || defined (__stub___$ac_func) ! choke me ! #else ! f = $ac_func; ! #endif ! ; return 0; --- 8018,8074 ---- } _ACEOF ! rm -f conftest.$ac_objext ! if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ! (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && ! { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! am_cv_proto_iconv_arg1="" else echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ! am_cv_proto_iconv_arg1="const" fi ! rm -f conftest.$ac_objext conftest.$ac_ext ! am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);" fi ! am_cv_proto_iconv=`echo "$am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` ! echo "$as_me:$LINENO: result: ${ac_t:- ! }$am_cv_proto_iconv" >&5 ! echo "${ECHO_T}${ac_t:- ! }$am_cv_proto_iconv" >&6 ! cat >>confdefs.h <<_ACEOF ! #define ICONV_CONST $am_cv_proto_iconv_arg1 ! _ACEOF ! fi ! ! ! echo "$as_me:$LINENO: checking for nl_langinfo and CODESET" >&5 ! echo $ECHO_N "checking for nl_langinfo and CODESET... $ECHO_C" >&6 ! if test "${am_cv_langinfo_codeset+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ ! #include int main () { ! char* cs = nl_langinfo(CODESET); ; return 0; *************** *** 5858,5925 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:5860: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:5863: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:5866: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:5869: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! eval "$as_ac_var=no" fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext - fi - echo "$as_me:5879: result: `eval echo '${'$as_ac_var'}'`" >&5 - echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 - if test `eval echo '${'$as_ac_var'}'` = yes; then - cat >>confdefs.h <&5 ! echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 ! if eval "test \"\${$as_ac_var+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF ! #line 5898 "configure" ! #include "confdefs.h" ! /* System header to define __stub macros and hopefully few prototypes, ! which can conflict with char $ac_func (); below. */ ! #include ! /* Override any gcc2 internal prototype to avoid an error. */ ! #ifdef __cplusplus ! extern "C" ! #endif ! /* We use char because int might match the return type of a gcc2 ! builtin and then its argument prototype would still apply. */ ! char $ac_func (); ! char (*f) (); ! int main () { ! /* The GNU C library defines this for functions which it implements ! to always fail with ENOSYS. Some functions are actually named ! something starting with __ and the normal name is an alias. */ ! #if defined (__stub_$ac_func) || defined (__stub___$ac_func) ! choke me ! #else ! f = $ac_func; ! #endif ! ; return 0; --- 8076,8129 ---- _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! am_cv_langinfo_codeset=yes else echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ! am_cv_langinfo_codeset=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:$LINENO: result: $am_cv_langinfo_codeset" >&5 ! echo "${ECHO_T}$am_cv_langinfo_codeset" >&6 ! if test $am_cv_langinfo_codeset = yes; then ! cat >>confdefs.h <<\_ACEOF ! #define HAVE_LANGINFO_CODESET 1 ! _ACEOF ! ! fi ! ! if test $ac_cv_header_locale_h = yes; then ! ! echo "$as_me:$LINENO: checking for LC_MESSAGES" >&5 ! echo $ECHO_N "checking for LC_MESSAGES... $ECHO_C" >&6 ! if test "${am_cv_val_LC_MESSAGES+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ ! #include int main () { ! return LC_MESSAGES ; return 0; *************** *** 5927,6069 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:5929: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:5932: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:5935: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:5938: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! eval "$as_ac_var=no" fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:5948: result: `eval echo '${'$as_ac_var'}'`" >&5 ! echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 ! if test `eval echo '${'$as_ac_var'}'` = yes; then ! cat >>confdefs.h <&5 ! echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 ! if eval "test \"\${$as_ac_var+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ! cat >conftest.$ac_ext <<_ACEOF ! #line 5973 "configure" ! #include "confdefs.h" ! /* System header to define __stub macros and hopefully few prototypes, ! which can conflict with char $ac_func (); below. */ ! #include ! /* Override any gcc2 internal prototype to avoid an error. */ ! #ifdef __cplusplus ! extern "C" ! #endif ! /* We use char because int might match the return type of a gcc2 ! builtin and then its argument prototype would still apply. */ ! char $ac_func (); ! char (*f) (); ! ! int ! main () ! { ! /* The GNU C library defines this for functions which it implements ! to always fail with ENOSYS. Some functions are actually named ! something starting with __ and the normal name is an alias. */ ! #if defined (__stub_$ac_func) || defined (__stub___$ac_func) ! choke me ! #else ! f = $ac_func; ! #endif ! ! ; ! return 0; ! } ! _ACEOF ! rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:6004: \"$ac_link\"") >&5 ! (eval $ac_link) 2>&5 ! ac_status=$? ! echo "$as_me:6007: \$? = $ac_status" >&5 ! (exit $ac_status); } && ! { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:6010: \"$ac_try\"") >&5 ! (eval $ac_try) 2>&5 ! ac_status=$? ! echo "$as_me:6013: \$? = $ac_status" >&5 ! (exit $ac_status); }; }; then ! eval "$as_ac_var=yes" else ! echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! eval "$as_ac_var=no" fi - rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:6023: result: `eval echo '${'$as_ac_var'}'`" >&5 ! echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 ! if test `eval echo '${'$as_ac_var'}'` = yes; then ! cat >>confdefs.h <&5 ! echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 ! if eval "test \"\${$as_ac_var+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF ! #line 6042 "configure" ! #include "confdefs.h" ! /* System header to define __stub macros and hopefully few prototypes, ! which can conflict with char $ac_func (); below. */ ! #include ! /* Override any gcc2 internal prototype to avoid an error. */ ! #ifdef __cplusplus ! extern "C" ! #endif ! /* We use char because int might match the return type of a gcc2 ! builtin and then its argument prototype would still apply. */ ! char $ac_func (); ! char (*f) (); ! int main () { ! /* The GNU C library defines this for functions which it implements ! to always fail with ENOSYS. Some functions are actually named ! something starting with __ and the normal name is an alias. */ ! #if defined (__stub_$ac_func) || defined (__stub___$ac_func) ! choke me ! #else ! f = $ac_func; ! #endif ! ; return 0; --- 8131,8306 ---- _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! am_cv_val_LC_MESSAGES=yes else echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ! am_cv_val_LC_MESSAGES=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:$LINENO: result: $am_cv_val_LC_MESSAGES" >&5 ! echo "${ECHO_T}$am_cv_val_LC_MESSAGES" >&6 ! if test $am_cv_val_LC_MESSAGES = yes; then ! cat >>confdefs.h <<\_ACEOF ! #define HAVE_LC_MESSAGES 1 ! _ACEOF ! fi ! ! fi ! ! for ac_prog in bison do ! # Extract the first word of "$ac_prog", so it can be a program name with args. ! set dummy $ac_prog; ac_word=$2 ! echo "$as_me:$LINENO: checking for $ac_word" >&5 ! echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 ! if test "${ac_cv_prog_INTLBISON+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ! if test -n "$INTLBISON"; then ! ac_cv_prog_INTLBISON="$INTLBISON" # 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_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ! ac_cv_prog_INTLBISON="$ac_prog" ! echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 ! break 2 ! fi ! done ! done ! fi fi ! INTLBISON=$ac_cv_prog_INTLBISON ! if test -n "$INTLBISON"; then ! echo "$as_me:$LINENO: result: $INTLBISON" >&5 ! echo "${ECHO_T}$INTLBISON" >&6 ! else ! echo "$as_me:$LINENO: result: no" >&5 ! echo "${ECHO_T}no" >&6 fi + + test -n "$INTLBISON" && break done ! if test -z "$INTLBISON"; then ! ac_verc_fail=yes ! else ! echo "$as_me:$LINENO: checking version of bison" >&5 ! echo $ECHO_N "checking version of bison... $ECHO_C" >&6 ! ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'` ! case $ac_prog_version in ! '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; ! 1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*) ! ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; ! *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; ! esac ! echo "$as_me:$LINENO: result: $ac_prog_version" >&5 ! echo "${ECHO_T}$ac_prog_version" >&6 ! fi ! if test $ac_verc_fail = yes; then ! INTLBISON=: ! fi ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! echo "$as_me:$LINENO: checking whether NLS is requested" >&5 ! echo $ECHO_N "checking whether NLS is requested... $ECHO_C" >&6 ! # Check whether --enable-nls or --disable-nls was given. ! if test "${enable_nls+set}" = set; then ! enableval="$enable_nls" ! USE_NLS=$enableval ! else ! USE_NLS=yes ! fi; ! echo "$as_me:$LINENO: result: $USE_NLS" >&5 ! echo "${ECHO_T}$USE_NLS" >&6 ! ! ! ! ! BUILD_INCLUDED_LIBINTL=no ! USE_INCLUDED_LIBINTL=no ! ! LIBINTL= ! LTLIBINTL= ! POSUB= ! ! if test "$USE_NLS" = "yes"; then ! gt_use_preinstalled_gnugettext=no ! ! echo "$as_me:$LINENO: checking whether included gettext is requested" >&5 ! echo $ECHO_N "checking whether included gettext is requested... $ECHO_C" >&6 ! ! # Check whether --with-included-gettext or --without-included-gettext was given. ! if test "${with_included_gettext+set}" = set; then ! withval="$with_included_gettext" ! nls_cv_force_use_gnu_gettext=$withval ! else ! nls_cv_force_use_gnu_gettext=no ! fi; ! echo "$as_me:$LINENO: result: $nls_cv_force_use_gnu_gettext" >&5 ! echo "${ECHO_T}$nls_cv_force_use_gnu_gettext" >&6 ! ! nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" ! if test "$nls_cv_force_use_gnu_gettext" != "yes"; then ! ! ! ! ! ! ! echo "$as_me:$LINENO: checking for GNU gettext in libc" >&5 ! echo $ECHO_N "checking for GNU gettext in libc... $ECHO_C" >&6 ! if test "${gt_cv_func_gnugettext2_libc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ ! #include ! extern int _nl_msg_cat_cntr; ! extern int *_nl_domain_bindings; int main () { ! bindtextdomain ("", ""); ! return (int) gettext ("") + (int) ngettext ("", "", 0) + _nl_msg_cat_cntr + *_nl_domain_bindings ; return 0; *************** *** 6071,6138 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:6073: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:6076: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:6079: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:6082: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! eval "$as_ac_var=no" fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:6092: result: `eval echo '${'$as_ac_var'}'`" >&5 ! echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 ! if test `eval echo '${'$as_ac_var'}'` = yes; then ! cat >>confdefs.h <&5 ! echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 ! if eval "test \"\${$as_ac_var+set}\" = set"; then ! echo $ECHO_N "(cached) $ECHO_C" >&6 ! else ! cat >conftest.$ac_ext <<_ACEOF ! #line 6111 "configure" ! #include "confdefs.h" ! /* System header to define __stub macros and hopefully few prototypes, ! which can conflict with char $ac_func (); below. */ ! #include ! /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus ! extern "C" #endif ! /* We use char because int might match the return type of a gcc2 ! builtin and then its argument prototype would still apply. */ ! char $ac_func (); ! char (*f) (); ! int main () { ! /* The GNU C library defines this for functions which it implements ! to always fail with ENOSYS. Some functions are actually named ! something starting with __ and the normal name is an alias. */ ! #if defined (__stub_$ac_func) || defined (__stub___$ac_func) ! choke me ! #else ! f = $ac_func; ! #endif ! ; return 0; --- 8308,8742 ---- _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! gt_cv_func_gnugettext2_libc=yes else echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ! gt_cv_func_gnugettext2_libc=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:$LINENO: result: $gt_cv_func_gnugettext2_libc" >&5 ! echo "${ECHO_T}$gt_cv_func_gnugettext2_libc" >&6 ! if test "$gt_cv_func_gnugettext2_libc" != "yes"; then ! ! ! 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 or --without-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 ! ! echo "$as_me:$LINENO: checking for GNU gettext in libintl" >&5 ! echo $ECHO_N "checking for GNU gettext in libintl... $ECHO_C" >&6 ! if test "${gt_cv_func_gnugettext2_libintl+set}" = set; then ! echo $ECHO_N "(cached) $ECHO_C" >&6 ! else ! gt_save_CPPFLAGS="$CPPFLAGS" ! CPPFLAGS="$CPPFLAGS $INCINTL" ! gt_save_LIBS="$LIBS" ! LIBS="$LIBS $LIBINTL" ! cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* 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 ("") + (int) ngettext ("", "", 0) + _nl_msg_cat_cntr + *_nl_expand_alias (0) ; return 0; *************** *** 6140,6209 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:6142: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:6145: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:6148: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:6151: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! eval "$as_ac_var=no" ! fi ! rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext ! fi ! echo "$as_me:6161: result: `eval echo '${'$as_ac_var'}'`" >&5 ! echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 ! if test `eval echo '${'$as_ac_var'}'` = yes; then ! cat >>confdefs.h <&5 ! echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 ! if eval "test \"\${$as_ac_var+set}\" = set"; then ! echo $ECHO_N "(cached) $ECHO_C" >&6 ! else ! cat >conftest.$ac_ext <<_ACEOF ! #line 6182 "configure" ! #include "confdefs.h" ! /* System header to define __stub macros and hopefully few prototypes, ! which can conflict with char $ac_func (); below. */ ! #include ! /* Override any gcc2 internal prototype to avoid an error. */ #ifdef __cplusplus ! extern "C" #endif ! /* We use char because int might match the return type of a gcc2 ! builtin and then its argument prototype would still apply. */ ! char $ac_func (); ! char (*f) (); ! int main () { ! /* The GNU C library defines this for functions which it implements ! to always fail with ENOSYS. Some functions are actually named ! something starting with __ and the normal name is an alias. */ ! #if defined (__stub_$ac_func) || defined (__stub___$ac_func) ! choke me ! #else ! f = $ac_func; ! #endif ! ; return 0; --- 8744,8787 ---- _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! gt_cv_func_gnugettext2_libintl=yes else echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! gt_cv_func_gnugettext2_libintl=no fi ! rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext ! if test "$gt_cv_func_gnugettext2_libintl" != yes && test -n "$LIBICONV"; then ! LIBS="$LIBS $LIBICONV" ! cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* 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 ("") + (int) ngettext ("", "", 0) + _nl_msg_cat_cntr + *_nl_expand_alias (0) ; return 0; *************** *** 6211,6261 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:6213: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:6216: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:6219: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:6222: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! eval "$as_ac_var=no" fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext ! fi ! echo "$as_me:6232: result: `eval echo '${'$as_ac_var'}'`" >&5 ! echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 ! if test `eval echo '${'$as_ac_var'}'` = yes; then ! cat >>confdefs.h <&5 ! echo $ECHO_N "checking whether confstr is declared... $ECHO_C" >&6 ! if test "${ac_cv_have_decl_confstr+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF ! #line 6250 "configure" ! #include "confdefs.h" ! $ac_includes_default int main () { ! #ifndef confstr ! char *p = (char *) confstr; ! #endif ! ; return 0; --- 8789,8998 ---- _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! LIBINTL="$LIBINTL $LIBICONV" ! LTLIBINTL="$LTLIBINTL $LTLIBICONV" ! gt_cv_func_gnugettext2_libintl=yes ! else echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext ! fi ! CPPFLAGS="$gt_save_CPPFLAGS" ! LIBS="$gt_save_LIBS" ! fi ! echo "$as_me:$LINENO: result: $gt_cv_func_gnugettext2_libintl" >&5 ! echo "${ECHO_T}$gt_cv_func_gnugettext2_libintl" >&6 ! fi ! ! if test "$gt_cv_func_gnugettext2_libc" = "yes" \ ! || { test "$gt_cv_func_gnugettext2_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"; then ! nls_cv_use_gnu_gettext=yes ! fi ! fi ! if test "$nls_cv_use_gnu_gettext" = "yes"; then ! BUILD_INCLUDED_LIBINTL=yes ! USE_INCLUDED_LIBINTL=yes ! LIBINTL="lib/intl/libintl.a $LIBICONV" ! LTLIBINTL="lib/intl/libintl.a $LTLIBICONV" ! LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` ! fi ! if test "$gt_use_preinstalled_gnugettext" = "yes" \ ! || test "$nls_cv_use_gnu_gettext" = "yes"; then ! CATOBJEXT=.gmo ! fi ! ! ! if test "$gt_use_preinstalled_gnugettext" = "yes" \ ! || test "$nls_cv_use_gnu_gettext" = "yes"; then ! ! cat >>confdefs.h <<\_ACEOF ! #define ENABLE_NLS 1 ! _ACEOF ! ! else ! USE_NLS=no ! fi ! fi ! ! echo "$as_me:$LINENO: checking whether to use NLS" >&5 ! echo $ECHO_N "checking whether to use NLS... $ECHO_C" >&6 ! echo "$as_me:$LINENO: result: $USE_NLS" >&5 ! echo "${ECHO_T}$USE_NLS" >&6 ! if test "$USE_NLS" = "yes"; then ! echo "$as_me:$LINENO: checking where the gettext function comes from" >&5 ! echo $ECHO_N "checking where the gettext function comes from... $ECHO_C" >&6 ! if test "$gt_use_preinstalled_gnugettext" = "yes"; then ! if test "$gt_cv_func_gnugettext2_libintl" = "yes"; then ! gt_source="external libintl" ! else ! gt_source="libc" ! fi ! else ! gt_source="included intl directory" ! fi ! echo "$as_me:$LINENO: result: $gt_source" >&5 ! echo "${ECHO_T}$gt_source" >&6 ! fi ! ! if test "$USE_NLS" = "yes"; then ! ! if test "$gt_use_preinstalled_gnugettext" = "yes"; then ! if test "$gt_cv_func_gnugettext2_libintl" = "yes"; then ! echo "$as_me:$LINENO: checking how to link with libintl" >&5 ! echo $ECHO_N "checking how to link with libintl... $ECHO_C" >&6 ! echo "$as_me:$LINENO: result: $LIBINTL" >&5 ! echo "${ECHO_T}$LIBINTL" >&6 ! ! for element in $INCINTL; do ! haveit= ! for x in $CPPFLAGS; do ! ! acl_save_prefix="$prefix" ! prefix="$acl_final_prefix" ! acl_save_exec_prefix="$exec_prefix" ! exec_prefix="$acl_final_exec_prefix" ! eval x=\"$x\" ! exec_prefix="$acl_save_exec_prefix" ! prefix="$acl_save_prefix" ! ! if test "X$x" = "X$element"; then ! haveit=yes ! break ! fi ! done ! if test -z "$haveit"; then ! CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" ! fi ! done ! ! fi ! ! ! cat >>confdefs.h <<\_ACEOF ! #define HAVE_GETTEXT 1 ! _ACEOF ! ! ! cat >>confdefs.h <<\_ACEOF ! #define HAVE_DCGETTEXT 1 ! _ACEOF ! ! fi ! ! POSUB=po ! fi ! ! ! if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then ! BUILD_INCLUDED_LIBINTL=yes ! fi ! ! ! ! ! ! nls_cv_header_intl= ! nls_cv_header_libgt= ! ! DATADIRNAME=share ! ! ! INSTOBJEXT=.mo ! ! ! GENCAT=gencat ! ! ! if test "$USE_INCLUDED_LIBINTL" = yes; then ! INTLOBJS="\$(GETTOBJS)" ! fi ! ! ! INTL_LIBTOOL_SUFFIX_PREFIX= ! ! ! ! INTLLIBS="$LIBINTL" ! ! ! ! ! ! ! ! ! ! ! ! ! ac_header_dirent=no ! for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do ! as_ac_Header=`echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh` ! echo "$as_me:$LINENO: checking for $ac_hdr that defines DIR" >&5 ! echo $ECHO_N "checking for $ac_hdr that defines DIR... $ECHO_C" >&6 ! if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ ! #include ! #include <$ac_hdr> ! int main () { ! if ((DIR *) 0) ! return 0; ; return 0; *************** *** 6263,6536 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:6265: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:6268: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:6271: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:6274: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! ac_cv_have_decl_confstr=yes else echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! ac_cv_have_decl_confstr=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:6284: result: $ac_cv_have_decl_confstr" >&5 ! echo "${ECHO_T}$ac_cv_have_decl_confstr" >&6 ! if test $ac_cv_have_decl_confstr = yes; then ! ! cat >>confdefs.h <>confdefs.h <&5 ! echo $ECHO_N "checking whether printf is declared... $ECHO_C" >&6 ! if test "${ac_cv_have_decl_printf+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ! cat >conftest.$ac_ext <<_ACEOF ! #line 6305 "configure" ! #include "confdefs.h" ! $ac_includes_default int main () { ! #ifndef printf ! char *p = (char *) printf; ! #endif ! ; return 0; } _ACEOF ! rm -f conftest.$ac_objext ! if { (eval echo "$as_me:6320: \"$ac_compile\"") >&5 ! (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:6323: \$? = $ac_status" >&5 (exit $ac_status); } && ! { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:6326: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:6329: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! ac_cv_have_decl_printf=yes else echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! ac_cv_have_decl_printf=no ! fi ! rm -f conftest.$ac_objext conftest.$ac_ext ! fi ! echo "$as_me:6339: result: $ac_cv_have_decl_printf" >&5 ! echo "${ECHO_T}$ac_cv_have_decl_printf" >&6 ! if test $ac_cv_have_decl_printf = yes; then ! ! cat >>confdefs.h <>confdefs.h <&5 ! echo $ECHO_N "checking whether sbrk is declared... $ECHO_C" >&6 ! if test "${ac_cv_have_decl_sbrk+set}" = set; then ! echo $ECHO_N "(cached) $ECHO_C" >&6 ! else ! cat >conftest.$ac_ext <<_ACEOF ! #line 6360 "configure" ! #include "confdefs.h" ! $ac_includes_default int main () { ! #ifndef sbrk ! char *p = (char *) sbrk; ! #endif ! ; return 0; } _ACEOF ! rm -f conftest.$ac_objext ! if { (eval echo "$as_me:6375: \"$ac_compile\"") >&5 ! (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:6378: \$? = $ac_status" >&5 (exit $ac_status); } && ! { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:6381: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:6384: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! ac_cv_have_decl_sbrk=yes else echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! ac_cv_have_decl_sbrk=no fi ! rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:6394: result: $ac_cv_have_decl_sbrk" >&5 ! echo "${ECHO_T}$ac_cv_have_decl_sbrk" >&6 ! if test $ac_cv_have_decl_sbrk = yes; then ! ! cat >>confdefs.h <>confdefs.h <&5 ! echo $ECHO_N "checking whether strcpy is declared... $ECHO_C" >&6 ! if test "${ac_cv_have_decl_strcpy+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ! cat >conftest.$ac_ext <<_ACEOF ! #line 6415 "configure" ! #include "confdefs.h" ! $ac_includes_default int main () { ! #ifndef strcpy ! char *p = (char *) strcpy; ! #endif ! ; return 0; } _ACEOF ! rm -f conftest.$ac_objext ! if { (eval echo "$as_me:6430: \"$ac_compile\"") >&5 ! (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:6433: \$? = $ac_status" >&5 (exit $ac_status); } && ! { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:6436: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:6439: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! ac_cv_have_decl_strcpy=yes else echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! ac_cv_have_decl_strcpy=no ! fi ! rm -f conftest.$ac_objext conftest.$ac_ext ! fi ! echo "$as_me:6449: result: $ac_cv_have_decl_strcpy" >&5 ! echo "${ECHO_T}$ac_cv_have_decl_strcpy" >&6 ! if test $ac_cv_have_decl_strcpy = yes; then ! ! cat >>confdefs.h <>confdefs.h <&5 ! echo $ECHO_N "checking whether strsignal is declared... $ECHO_C" >&6 ! if test "${ac_cv_have_decl_strsignal+set}" = set; then ! echo $ECHO_N "(cached) $ECHO_C" >&6 ! else ! cat >conftest.$ac_ext <<_ACEOF ! #line 6470 "configure" ! #include "confdefs.h" ! $ac_includes_default int main () { ! #ifndef strsignal ! char *p = (char *) strsignal; ! #endif ! ; return 0; } _ACEOF ! rm -f conftest.$ac_objext ! if { (eval echo "$as_me:6485: \"$ac_compile\"") >&5 ! (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:6488: \$? = $ac_status" >&5 (exit $ac_status); } && ! { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:6491: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:6494: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! ac_cv_have_decl_strsignal=yes else echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! ac_cv_have_decl_strsignal=no fi ! rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:6504: result: $ac_cv_have_decl_strsignal" >&5 ! echo "${ECHO_T}$ac_cv_have_decl_strsignal" >&6 ! if test $ac_cv_have_decl_strsignal = yes; then ! ! cat >>confdefs.h <>confdefs.h <&5 ! echo $ECHO_N "checking whether strtold is declared... $ECHO_C" >&6 ! if test "${ac_cv_have_decl_strtold+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF ! #line 6525 "configure" ! #include "confdefs.h" ! $ac_includes_default int main () { ! #ifndef strtold ! char *p = (char *) strtold; ! #endif ! ; return 0; --- 9000,9272 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! eval "$as_ac_Header=yes" else echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ! eval "$as_ac_Header=no" fi rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 ! echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 ! if test `eval echo '${'$as_ac_Header'}'` = yes; then ! cat >>confdefs.h <<_ACEOF ! #define `echo "HAVE_$ac_hdr" | $as_tr_cpp` 1 ! _ACEOF + ac_header_dirent=$ac_hdr; break fi ! done ! # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix. ! if test $ac_header_dirent = dirent.h; then ! echo "$as_me:$LINENO: checking for library containing opendir" >&5 ! echo $ECHO_N "checking for library containing opendir... $ECHO_C" >&6 ! if test "${ac_cv_search_opendir+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ! ac_func_search_save_LIBS=$LIBS ! ac_cv_search_opendir=no ! cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ ! ! /* Override any gcc2 internal prototype to avoid an error. */ ! #ifdef __cplusplus ! extern "C" ! #endif ! /* We use char because int might match the return type of a gcc2 ! builtin and then its argument prototype would still apply. */ ! char opendir (); int main () { ! opendir (); ; return 0; } _ACEOF ! rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 ! (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && ! { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! ac_cv_search_opendir="none required" else echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 fi + rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext + if test "$ac_cv_search_opendir" = no; then + for ac_lib in dir; do + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + cat >conftest.$ac_ext <<_ACEOF + #line $LINENO "configure" + /* confdefs.h. */ + _ACEOF + cat confdefs.h >>conftest.$ac_ext + cat >>conftest.$ac_ext <<_ACEOF + /* end confdefs.h. */ ! /* Override any gcc2 internal prototype to avoid an error. */ ! #ifdef __cplusplus ! extern "C" ! #endif ! /* We use char because int might match the return type of a gcc2 ! builtin and then its argument prototype would still apply. */ ! char opendir (); int main () { ! opendir (); ; return 0; } _ACEOF ! rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 ! (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && ! { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! ac_cv_search_opendir="-l$ac_lib" ! break else echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! fi ! rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext ! done fi ! LIBS=$ac_func_search_save_LIBS ! fi ! echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5 ! echo "${ECHO_T}$ac_cv_search_opendir" >&6 ! if test "$ac_cv_search_opendir" != no; then ! test "$ac_cv_search_opendir" = "none required" || LIBS="$ac_cv_search_opendir $LIBS" fi ! else ! echo "$as_me:$LINENO: checking for library containing opendir" >&5 ! echo $ECHO_N "checking for library containing opendir... $ECHO_C" >&6 ! if test "${ac_cv_search_opendir+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ! ac_func_search_save_LIBS=$LIBS ! ac_cv_search_opendir=no ! cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ ! ! /* Override any gcc2 internal prototype to avoid an error. */ ! #ifdef __cplusplus ! extern "C" ! #endif ! /* We use char because int might match the return type of a gcc2 ! builtin and then its argument prototype would still apply. */ ! char opendir (); int main () { ! opendir (); ; return 0; } _ACEOF ! rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 ! (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && ! { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! ac_cv_search_opendir="none required" else echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 fi + rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext + if test "$ac_cv_search_opendir" = no; then + for ac_lib in x; do + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + cat >conftest.$ac_ext <<_ACEOF + #line $LINENO "configure" + /* confdefs.h. */ + _ACEOF + cat confdefs.h >>conftest.$ac_ext + cat >>conftest.$ac_ext <<_ACEOF + /* end confdefs.h. */ ! /* Override any gcc2 internal prototype to avoid an error. */ ! #ifdef __cplusplus ! extern "C" ! #endif ! /* We use char because int might match the return type of a gcc2 ! builtin and then its argument prototype would still apply. */ ! char opendir (); int main () { ! opendir (); ; return 0; } _ACEOF ! rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 ! (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && ! { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! ac_cv_search_opendir="-l$ac_lib" ! break else echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! fi ! rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext ! done fi ! LIBS=$ac_func_search_save_LIBS ! fi ! echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5 ! echo "${ECHO_T}$ac_cv_search_opendir" >&6 ! if test "$ac_cv_search_opendir" != no; then ! test "$ac_cv_search_opendir" = "none required" || LIBS="$ac_cv_search_opendir $LIBS" ! fi fi ! echo "$as_me:$LINENO: checking whether time.h and sys/time.h may both be included" >&5 ! echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6 ! if test "${ac_cv_header_time+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ ! #include ! #include ! #include ! int main () { ! if ((struct tm *) 0) ! return 0; ; return 0; *************** *** 6538,6949 **** _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:6540: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:6543: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:6546: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:6549: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! ac_cv_have_decl_strtold=yes else echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! ac_cv_have_decl_strtold=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:6559: result: $ac_cv_have_decl_strtold" >&5 ! echo "${ECHO_T}$ac_cv_have_decl_strtold" >&6 ! if test $ac_cv_have_decl_strtold = yes; then ! ! cat >>confdefs.h <>confdefs.h <&5 - echo $ECHO_N "checking for declaration of strtoimax... $ECHO_C" >&6 - if test "${bash_cv_decl_strtoimax+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF - #line 6580 "configure" - #include "confdefs.h" - #if STDC_HEADERS - # include - #endif - #if HAVE_INTTYPES_H - # include - #endif ! int ! main () ! { ! return !strtoimax; ! ; ! return 0; ! } _ACEOF ! rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:6599: \"$ac_link\"") >&5 ! (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:6602: \$? = $ac_status" >&5 (exit $ac_status); } && ! { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:6605: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:6608: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! bash_cv_decl_strtoimax=yes else echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! bash_cv_decl_strtoimax=no ! fi ! rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:6618: result: $bash_cv_decl_strtoimax" >&5 ! echo "${ECHO_T}$bash_cv_decl_strtoimax" >&6 ! bash_tr_func=HAVE_DECL_`echo strtoimax | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` ! if test $bash_cv_decl_strtoimax = yes; then ! cat >>confdefs.h <>confdefs.h <&5 ! echo $ECHO_N "checking for declaration of strtol... $ECHO_C" >&6 ! if test "${bash_cv_decl_strtol+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ! cat >conftest.$ac_ext <<_ACEOF ! #line 6639 "configure" ! #include "confdefs.h" ! ! #if STDC_HEADERS ! # include ! #endif ! #if HAVE_INTTYPES_H ! # include ! #endif - int - main () - { - return !strtol; - ; - return 0; - } - _ACEOF - rm -f conftest.$ac_objext conftest$ac_exeext - if { (eval echo "$as_me:6658: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:6661: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:6664: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:6667: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - bash_cv_decl_strtol=yes - else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - bash_cv_decl_strtol=no fi ! rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi - echo "$as_me:6677: result: $bash_cv_decl_strtol" >&5 - echo "${ECHO_T}$bash_cv_decl_strtol" >&6 - bash_tr_func=HAVE_DECL_`echo strtol | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` - if test $bash_cv_decl_strtol = yes; then - cat >>confdefs.h <>confdefs.h <&5 - echo $ECHO_N "checking for declaration of strtoll... $ECHO_C" >&6 - if test "${bash_cv_decl_strtoll+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 - else - cat >conftest.$ac_ext <<_ACEOF - #line 6698 "configure" - #include "confdefs.h" - #if STDC_HEADERS - # include - #endif - #if HAVE_INTTYPES_H - # include - #endif ! int ! main () ! { ! return !strtoll; ! ; ! return 0; ! } _ACEOF ! rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:6717: \"$ac_link\"") >&5 ! (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:6720: \$? = $ac_status" >&5 (exit $ac_status); } && ! { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:6723: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:6726: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! bash_cv_decl_strtoll=yes else echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! bash_cv_decl_strtoll=no ! fi ! rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:6736: result: $bash_cv_decl_strtoll" >&5 ! echo "${ECHO_T}$bash_cv_decl_strtoll" >&6 ! bash_tr_func=HAVE_DECL_`echo strtoll | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` ! if test $bash_cv_decl_strtoll = yes; then ! cat >>confdefs.h <>confdefs.h <&5 ! echo $ECHO_N "checking for declaration of strtoul... $ECHO_C" >&6 ! if test "${bash_cv_decl_strtoul+set}" = set; then ! echo $ECHO_N "(cached) $ECHO_C" >&6 else ! cat >conftest.$ac_ext <<_ACEOF ! #line 6757 "configure" ! #include "confdefs.h" ! #if STDC_HEADERS ! # include ! #endif ! #if HAVE_INTTYPES_H ! # include ! #endif ! int ! main () ! { ! return !strtoul; ! ; ! return 0; ! } ! _ACEOF ! rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:6776: \"$ac_link\"") >&5 ! (eval $ac_link) 2>&5 ! ac_status=$? ! echo "$as_me:6779: \$? = $ac_status" >&5 ! (exit $ac_status); } && ! { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:6782: \"$ac_try\"") >&5 ! (eval $ac_try) 2>&5 ! ac_status=$? ! echo "$as_me:6785: \$? = $ac_status" >&5 ! (exit $ac_status); }; }; then ! bash_cv_decl_strtoul=yes else ! echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! bash_cv_decl_strtoul=no ! fi ! rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:6795: result: $bash_cv_decl_strtoul" >&5 ! echo "${ECHO_T}$bash_cv_decl_strtoul" >&6 ! bash_tr_func=HAVE_DECL_`echo strtoul | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` ! if test $bash_cv_decl_strtoul = yes; then ! cat >>confdefs.h <>confdefs.h <&5 ! echo $ECHO_N "checking for declaration of strtoull... $ECHO_C" >&6 ! if test "${bash_cv_decl_strtoull+set}" = set; then ! echo $ECHO_N "(cached) $ECHO_C" >&6 ! else ! cat >conftest.$ac_ext <<_ACEOF ! #line 6816 "configure" ! #include "confdefs.h" - #if STDC_HEADERS - # include - #endif - #if HAVE_INTTYPES_H - # include - #endif ! int ! main () ! { ! return !strtoull; ! ; ! return 0; ! } _ACEOF ! rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:6835: \"$ac_link\"") >&5 ! (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:6838: \$? = $ac_status" >&5 (exit $ac_status); } && ! { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:6841: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:6844: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! bash_cv_decl_strtoull=yes else echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! bash_cv_decl_strtoull=no ! fi ! rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:6854: result: $bash_cv_decl_strtoull" >&5 ! echo "${ECHO_T}$bash_cv_decl_strtoull" >&6 ! bash_tr_func=HAVE_DECL_`echo strtoull | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` ! if test $bash_cv_decl_strtoull = yes; then ! cat >>confdefs.h <>confdefs.h <&5 ! echo $ECHO_N "checking for declaration of strtoumax... $ECHO_C" >&6 ! if test "${bash_cv_decl_strtoumax+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ! cat >conftest.$ac_ext <<_ACEOF ! #line 6875 "configure" ! #include "confdefs.h" ! #if STDC_HEADERS ! # include ! #endif ! #if HAVE_INTTYPES_H ! # include ! #endif ! int ! main () ! { ! return !strtoumax; ! ; ! return 0; ! } _ACEOF ! rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:6894: \"$ac_link\"") >&5 ! (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:6897: \$? = $ac_status" >&5 (exit $ac_status); } && ! { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:6900: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:6903: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! bash_cv_decl_strtoumax=yes else echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! bash_cv_decl_strtoumax=no ! fi ! rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext ! fi ! echo "$as_me:6913: result: $bash_cv_decl_strtoumax" >&5 ! echo "${ECHO_T}$bash_cv_decl_strtoumax" >&6 ! bash_tr_func=HAVE_DECL_`echo strtoumax | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` ! if test $bash_cv_decl_strtoumax = yes; then ! cat >>confdefs.h <>confdefs.h <&5 ! echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 ! if eval "test \"\${$as_ac_Header+set}\" = set"; then ! echo $ECHO_N "(cached) $ECHO_C" >&6 ! else ! cat >conftest.$ac_ext <<_ACEOF ! #line 6937 "configure" ! #include "confdefs.h" #include <$ac_header> _ACEOF ! if { (eval echo "$as_me:6941: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? ! egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 ! echo "$as_me:6947: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then --- 9274,9839 ---- _ACEOF rm -f conftest.$ac_objext ! if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! ac_cv_header_time=yes else echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ! ac_cv_header_time=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi ! echo "$as_me:$LINENO: result: $ac_cv_header_time" >&5 ! echo "${ECHO_T}$ac_cv_header_time" >&6 ! if test $ac_cv_header_time = yes; then ! cat >>confdefs.h <<\_ACEOF ! #define TIME_WITH_SYS_TIME 1 ! _ACEOF fi ! ! for ac_header in inttypes.h ! do ! as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` ! if eval "test \"\${$as_ac_Header+set}\" = set"; then ! echo "$as_me:$LINENO: checking for $ac_header" >&5 ! echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 ! if eval "test \"\${$as_ac_Header+set}\" = set"; then ! echo $ECHO_N "(cached) $ECHO_C" >&6 ! fi ! echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 ! echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 ! else ! # Is the header compilable? ! echo "$as_me:$LINENO: checking $ac_header usability" >&5 ! echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 ! cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ ! $ac_includes_default ! #include <$ac_header> ! _ACEOF ! rm -f conftest.$ac_objext ! if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ! (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && ! { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ! ac_header_compiler=no fi ! rm -f conftest.$ac_objext conftest.$ac_ext ! echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 ! echo "${ECHO_T}$ac_header_compiler" >&6 + # Is the header present? + echo "$as_me:$LINENO: checking $ac_header presence" >&5 + echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 + cat >conftest.$ac_ext <<_ACEOF + #line $LINENO "configure" + /* confdefs.h. */ + _ACEOF + cat confdefs.h >>conftest.$ac_ext + cat >>conftest.$ac_ext <<_ACEOF + /* end confdefs.h. */ + #include <$ac_header> + _ACEOF + if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + else + ac_cpp_err= + fi else ! ac_cpp_err=yes ! fi ! if test -z "$ac_cpp_err"; then ! ac_header_preproc=yes ! else ! echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 + ac_header_preproc=no fi + rm -f conftest.err conftest.$ac_ext + echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 + echo "${ECHO_T}$ac_header_preproc" >&6 ! # So? What about this header? ! case $ac_header_compiler:$ac_header_preproc in ! yes:no ) ! { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 ! echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} ! { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 ! echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} ! ( ! cat <<\_ASBOX ! ## ------------------------------------ ## ! ## Report this to bug-autoconf@gnu.org. ## ! ## ------------------------------------ ## ! _ASBOX ! ) | ! sed "s/^/$as_me: WARNING: /" >&2 ! ;; ! no:yes ) ! { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 ! echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} ! { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 ! echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} ! { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 ! echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} ! ( ! cat <<\_ASBOX ! ## ------------------------------------ ## ! ## Report this to bug-autoconf@gnu.org. ## ! ## ------------------------------------ ## ! _ASBOX ! ) | ! sed "s/^/$as_me: WARNING: /" >&2 ! ;; ! esac ! echo "$as_me:$LINENO: checking for $ac_header" >&5 ! echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 ! if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ! eval "$as_ac_Header=$ac_header_preproc" ! fi ! echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 ! echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 fi ! if test `eval echo '${'$as_ac_Header'}'` = yes; then ! cat >>confdefs.h <<_ACEOF ! #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 ! _ACEOF ! fi ! done ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! for ac_header in unistd.h stdlib.h stdarg.h varargs.h limits.h string.h \ ! memory.h locale.h termcap.h termio.h termios.h dlfcn.h \ ! stddef.h stdint.h netdb.h grp.h strings.h regex.h ! do ! as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` ! if eval "test \"\${$as_ac_Header+set}\" = set"; then ! echo "$as_me:$LINENO: checking for $ac_header" >&5 ! echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 ! if eval "test \"\${$as_ac_Header+set}\" = set"; then ! echo $ECHO_N "(cached) $ECHO_C" >&6 ! fi ! echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 ! echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 ! else ! # Is the header compilable? ! echo "$as_me:$LINENO: checking $ac_header usability" >&5 ! echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 ! cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ ! $ac_includes_default ! #include <$ac_header> ! _ACEOF ! rm -f conftest.$ac_objext ! if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ! (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && ! { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ! ac_header_compiler=no fi ! rm -f conftest.$ac_objext conftest.$ac_ext ! echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 ! echo "${ECHO_T}$ac_header_compiler" >&6 + # Is the header present? + echo "$as_me:$LINENO: checking $ac_header presence" >&5 + echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 + cat >conftest.$ac_ext <<_ACEOF + #line $LINENO "configure" + /* confdefs.h. */ + _ACEOF + cat confdefs.h >>conftest.$ac_ext + cat >>conftest.$ac_ext <<_ACEOF + /* end confdefs.h. */ + #include <$ac_header> + _ACEOF + if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + else + ac_cpp_err= + fi else ! ac_cpp_err=yes fi ! if test -z "$ac_cpp_err"; then ! ac_header_preproc=yes else ! echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ac_header_preproc=no ! fi ! rm -f conftest.err conftest.$ac_ext ! echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 ! echo "${ECHO_T}$ac_header_preproc" >&6 ! # So? What about this header? ! case $ac_header_compiler:$ac_header_preproc in ! yes:no ) ! { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 ! echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} ! { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 ! echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} ! ( ! cat <<\_ASBOX ! ## ------------------------------------ ## ! ## Report this to bug-autoconf@gnu.org. ## ! ## ------------------------------------ ## ! _ASBOX ! ) | ! sed "s/^/$as_me: WARNING: /" >&2 ! ;; ! no:yes ) ! { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 ! echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} ! { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 ! echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} ! { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 ! echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} ! ( ! cat <<\_ASBOX ! ## ------------------------------------ ## ! ## Report this to bug-autoconf@gnu.org. ## ! ## ------------------------------------ ## ! _ASBOX ! ) | ! sed "s/^/$as_me: WARNING: /" >&2 ! ;; ! esac ! echo "$as_me:$LINENO: checking for $ac_header" >&5 ! echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 ! if eval "test \"\${$as_ac_Header+set}\" = set"; then ! echo $ECHO_N "(cached) $ECHO_C" >&6 else ! eval "$as_ac_Header=$ac_header_preproc" fi ! echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 ! echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 ! fi ! if test `eval echo '${'$as_ac_Header'}'` = yes; then ! cat >>confdefs.h <<_ACEOF ! #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 ! _ACEOF fi ! done ! ! ! ! ! ! ! ! ! ! ! ! ! for ac_header in sys/ptem.h sys/pte.h sys/stream.h sys/select.h sys/file.h \ ! sys/resource.h sys/param.h sys/socket.h sys/stat.h \ ! sys/time.h sys/times.h sys/types.h sys/wait.h ! do ! as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` ! if eval "test \"\${$as_ac_Header+set}\" = set"; then ! echo "$as_me:$LINENO: checking for $ac_header" >&5 ! echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 ! if eval "test \"\${$as_ac_Header+set}\" = set"; then ! echo $ECHO_N "(cached) $ECHO_C" >&6 ! fi ! echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 ! echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 ! else ! # Is the header compilable? ! echo "$as_me:$LINENO: checking $ac_header usability" >&5 ! echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 ! cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ ! $ac_includes_default ! #include <$ac_header> ! _ACEOF ! rm -f conftest.$ac_objext ! if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ! (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && ! { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ! ac_header_compiler=no fi ! rm -f conftest.$ac_objext conftest.$ac_ext ! echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 ! echo "${ECHO_T}$ac_header_compiler" >&6 + # Is the header present? + echo "$as_me:$LINENO: checking $ac_header presence" >&5 + echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 + cat >conftest.$ac_ext <<_ACEOF + #line $LINENO "configure" + /* confdefs.h. */ + _ACEOF + cat confdefs.h >>conftest.$ac_ext + cat >>conftest.$ac_ext <<_ACEOF + /* end confdefs.h. */ + #include <$ac_header> + _ACEOF + if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + else + ac_cpp_err= + fi else ! ac_cpp_err=yes ! fi ! if test -z "$ac_cpp_err"; then ! ac_header_preproc=yes ! else ! echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 + ac_header_preproc=no fi + rm -f conftest.err conftest.$ac_ext + echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 + echo "${ECHO_T}$ac_header_preproc" >&6 ! # So? What about this header? ! case $ac_header_compiler:$ac_header_preproc in ! yes:no ) ! { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 ! echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} ! { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 ! echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} ! ( ! cat <<\_ASBOX ! ## ------------------------------------ ## ! ## Report this to bug-autoconf@gnu.org. ## ! ## ------------------------------------ ## ! _ASBOX ! ) | ! sed "s/^/$as_me: WARNING: /" >&2 ! ;; ! no:yes ) ! { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 ! echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} ! { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 ! echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} ! { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 ! echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} ! ( ! cat <<\_ASBOX ! ## ------------------------------------ ## ! ## Report this to bug-autoconf@gnu.org. ## ! ## ------------------------------------ ## ! _ASBOX ! ) | ! sed "s/^/$as_me: WARNING: /" >&2 ! ;; ! esac ! echo "$as_me:$LINENO: checking for $ac_header" >&5 ! echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 ! if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ! eval "$as_ac_Header=$ac_header_preproc" ! fi ! echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 ! echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 ! fi ! if test `eval echo '${'$as_ac_Header'}'` = yes; then ! cat >>confdefs.h <<_ACEOF ! #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 ! _ACEOF ! fi ! ! done ! ! ! ! for ac_header in netinet/in.h arpa/inet.h ! do ! as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` ! if eval "test \"\${$as_ac_Header+set}\" = set"; then ! echo "$as_me:$LINENO: checking for $ac_header" >&5 ! echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 ! if eval "test \"\${$as_ac_Header+set}\" = set"; then ! echo $ECHO_N "(cached) $ECHO_C" >&6 ! fi ! echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 ! echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 ! else ! # Is the header compilable? ! echo "$as_me:$LINENO: checking $ac_header usability" >&5 ! echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 ! cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ ! $ac_includes_default ! #include <$ac_header> ! _ACEOF ! rm -f conftest.$ac_objext ! if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ! (eval $ac_compile) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && ! { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 + ac_header_compiler=no fi + rm -f conftest.$ac_objext conftest.$ac_ext + echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 + echo "${ECHO_T}$ac_header_compiler" >&6 ! # Is the header present? ! echo "$as_me:$LINENO: checking $ac_header presence" >&5 ! echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 ! cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ #include <$ac_header> _ACEOF ! if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? ! grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then *************** *** 6956,7012 **** fi if test -z "$ac_cpp_err"; then ! eval "$as_ac_Header=yes" else echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! eval "$as_ac_Header=no" fi rm -f conftest.err conftest.$ac_ext fi ! echo "$as_me:6966: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 if test `eval echo '${'$as_ac_Header'}'` = yes; then ! cat >>confdefs.h <&5 ! echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 ! if eval "test \"\${$as_ac_var+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF ! #line 6985 "configure" ! #include "confdefs.h" ! /* System header to define __stub macros and hopefully few prototypes, ! which can conflict with char $ac_func (); below. */ ! #include ! /* Override any gcc2 internal prototype to avoid an error. */ ! #ifdef __cplusplus ! extern "C" ! #endif ! /* We use char because int might match the return type of a gcc2 ! builtin and then its argument prototype would still apply. */ ! char $ac_func (); ! char (*f) (); ! int main () { ! /* The GNU C library defines this for functions which it implements ! to always fail with ENOSYS. Some functions are actually named ! something starting with __ and the normal name is an alias. */ ! #if defined (__stub_$ac_func) || defined (__stub___$ac_func) ! choke me ! #else ! f = $ac_func; ! #endif ! ; return 0; --- 9846,9933 ---- fi if test -z "$ac_cpp_err"; then ! ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ! ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext + echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 + echo "${ECHO_T}$ac_header_preproc" >&6 + + # So? What about this header? + case $ac_header_compiler:$ac_header_preproc in + yes:no ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 + echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 + echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + ( + cat <<\_ASBOX + ## ------------------------------------ ## + ## Report this to bug-autoconf@gnu.org. ## + ## ------------------------------------ ## + _ASBOX + ) | + sed "s/^/$as_me: WARNING: /" >&2 + ;; + no:yes ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 + echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 + echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 + echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + ( + cat <<\_ASBOX + ## ------------------------------------ ## + ## Report this to bug-autoconf@gnu.org. ## + ## ------------------------------------ ## + _ASBOX + ) | + sed "s/^/$as_me: WARNING: /" >&2 + ;; + esac + echo "$as_me:$LINENO: checking for $ac_header" >&5 + echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 + if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 + else + eval "$as_ac_Header=$ac_header_preproc" fi ! echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 + + fi if test `eval echo '${'$as_ac_Header'}'` = yes; then ! cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 ! _ACEOF fi + done ! ! # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works ! # for constant arguments. Useless! ! echo "$as_me:$LINENO: checking for working alloca.h" >&5 ! echo $ECHO_N "checking for working alloca.h... $ECHO_C" >&6 ! if test "${ac_cv_working_alloca_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ ! #include int main () { ! char *p = (char *) alloca (2 * sizeof (int)); ; return 0; *************** *** 7014,7250 **** _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:7016: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:7019: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:7022: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:7025: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! eval "$as_ac_var=no" fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:7035: result: `eval echo '${'$as_ac_var'}'`" >&5 ! echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 ! if test `eval echo '${'$as_ac_var'}'` = yes; then ! cat >>confdefs.h <&5 ! echo $ECHO_N "checking for working mktime... $ECHO_C" >&6 ! if test "${ac_cv_func_working_mktime+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - if test "$cross_compiling" = yes; then - ac_cv_func_working_mktime=no - else cat >conftest.$ac_ext <<_ACEOF ! #line 7054 "configure" ! #include "confdefs.h" ! /* Test program from Paul Eggert and Tony Leneis. */ ! #if TIME_WITH_SYS_TIME ! # include ! # include #else ! # if HAVE_SYS_TIME_H ! # include # else ! # include # endif #endif ! #if HAVE_UNISTD_H ! # include ! #endif ! #if !HAVE_ALARM ! # define alarm(X) /* empty */ ! #endif ! /* Work around redefinition to rpl_putenv by other config tests. */ ! #undef putenv ! static time_t time_t_max; ! /* Values we'll use to set the TZ environment variable. */ ! static const char *const tz_strings[] = { ! (const char *) 0, "TZ=GMT0", "TZ=JST-9", ! "TZ=EST+3EDT+2,M10.1.0/00:00:00,M2.3.0/00:00:00" ! }; ! #define N_STRINGS (sizeof (tz_strings) / sizeof (tz_strings[0])) ! /* Fail if mktime fails to convert a date in the spring-forward gap. ! Based on a problem report from Andreas Jaeger. */ ! static void ! spring_forward_gap () ! { ! /* glibc (up to about 1998-10-07) failed this test. */ ! struct tm tm; ! /* Use the portable POSIX.1 specification "TZ=PST8PDT,M4.1.0,M10.5.0" ! instead of "TZ=America/Vancouver" in order to detect the bug even ! on systems that don't support the Olson extension, or don't have the ! full zoneinfo tables installed. */ ! putenv ("TZ=PST8PDT,M4.1.0,M10.5.0"); - tm.tm_year = 98; - tm.tm_mon = 3; - tm.tm_mday = 5; - tm.tm_hour = 2; - tm.tm_min = 0; - tm.tm_sec = 0; - tm.tm_isdst = -1; - if (mktime (&tm) == (time_t)-1) - exit (1); - } ! static void ! mktime_test (now) ! time_t now; ! { ! struct tm *lt; ! if ((lt = localtime (&now)) && mktime (lt) != now) ! exit (1); ! now = time_t_max - now; ! if ((lt = localtime (&now)) && mktime (lt) != now) ! exit (1); ! } ! static void ! irix_6_4_bug () ! { ! /* Based on code from Ariel Faigon. */ ! struct tm tm; ! tm.tm_year = 96; ! tm.tm_mon = 3; ! tm.tm_mday = 0; ! tm.tm_hour = 0; ! tm.tm_min = 0; ! tm.tm_sec = 0; ! tm.tm_isdst = -1; ! mktime (&tm); ! if (tm.tm_mon != 2 || tm.tm_mday != 31) ! exit (1); ! } ! static void ! bigtime_test (j) ! int j; { ! struct tm tm; ! time_t now; ! tm.tm_year = tm.tm_mon = tm.tm_mday = tm.tm_hour = tm.tm_min = tm.tm_sec = j; ! now = mktime (&tm); ! if (now != (time_t) -1) ! { ! struct tm *lt = localtime (&now); ! if (! (lt ! && lt->tm_year == tm.tm_year ! && lt->tm_mon == tm.tm_mon ! && lt->tm_mday == tm.tm_mday ! && lt->tm_hour == tm.tm_hour ! && lt->tm_min == tm.tm_min ! && lt->tm_sec == tm.tm_sec ! && lt->tm_yday == tm.tm_yday ! && lt->tm_wday == tm.tm_wday ! && ((lt->tm_isdst < 0 ? -1 : 0 < lt->tm_isdst) ! == (tm.tm_isdst < 0 ? -1 : 0 < tm.tm_isdst)))) ! exit (1); ! } } int main () { ! time_t t, delta; ! int i, j; ! ! /* This test makes some buggy mktime implementations loop. ! Give up after 60 seconds; a mktime slower than that ! isn't worth using anyway. */ ! alarm (60); ! ! for (time_t_max = 1; 0 < time_t_max; time_t_max *= 2) ! continue; ! time_t_max--; ! delta = time_t_max / 997; /* a suitable prime number */ ! for (i = 0; i < N_STRINGS; i++) ! { ! if (tz_strings[i]) ! putenv (tz_strings[i]); ! ! for (t = 0; t <= time_t_max - delta; t += delta) ! mktime_test (t); ! mktime_test ((time_t) 60 * 60); ! mktime_test ((time_t) 60 * 60 * 24); ! ! for (j = 1; 0 < j; j *= 2) ! bigtime_test (j); ! bigtime_test (j - 1); ! } ! irix_6_4_bug (); ! spring_forward_gap (); ! exit (0); } _ACEOF ! rm -f conftest$ac_exeext ! if { (eval echo "$as_me:7203: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:7206: \$? = $ac_status" >&5 ! (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:7208: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:7211: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! ac_cv_func_working_mktime=yes else ! echo "$as_me: program exited with status $ac_status" >&5 ! echo "$as_me: failed program was:" >&5 ! cat conftest.$ac_ext >&5 ! ac_cv_func_working_mktime=no ! fi ! rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi ! echo "$as_me:7223: result: $ac_cv_func_working_mktime" >&5 ! echo "${ECHO_T}$ac_cv_func_working_mktime" >&6 ! if test $ac_cv_func_working_mktime = no; then ! LIBOBJS="$LIBOBJS mktime.$ac_objext" fi ! for ac_header in libintl.h ! do ! as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` ! echo "$as_me:7232: checking for $ac_header" >&5 ! echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 ! if eval "test \"\${$as_ac_Header+set}\" = set"; then ! echo $ECHO_N "(cached) $ECHO_C" >&6 ! else ! cat >conftest.$ac_ext <<_ACEOF ! #line 7238 "configure" ! #include "confdefs.h" #include <$ac_header> _ACEOF ! if { (eval echo "$as_me:7242: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? ! egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 ! echo "$as_me:7248: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then --- 9935,13938 ---- _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! ac_cv_working_alloca_h=yes else echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ! ac_cv_working_alloca_h=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:$LINENO: result: $ac_cv_working_alloca_h" >&5 ! echo "${ECHO_T}$ac_cv_working_alloca_h" >&6 ! if test $ac_cv_working_alloca_h = yes; then ! ! cat >>confdefs.h <<\_ACEOF ! #define HAVE_ALLOCA_H 1 ! _ACEOF fi ! echo "$as_me:$LINENO: checking for alloca" >&5 ! echo $ECHO_N "checking for alloca... $ECHO_C" >&6 ! if test "${ac_cv_func_alloca_works+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ ! #ifdef __GNUC__ ! # define alloca __builtin_alloca #else ! # ifdef _MSC_VER ! # include ! # define alloca _alloca # else ! # if HAVE_ALLOCA_H ! # include ! # else ! # ifdef _AIX ! #pragma alloca ! # else ! # ifndef alloca /* predefined by HP cc +Olibcalls */ ! char *alloca (); ! # endif ! # endif ! # endif # endif #endif ! int ! main () ! { ! char *p = (char *) alloca (1); ! ; ! return 0; ! } ! _ACEOF ! rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 ! (eval $ac_link) 2>&5 ! ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 ! (exit $ac_status); } && ! { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ! (eval $ac_try) 2>&5 ! ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 ! (exit $ac_status); }; }; then ! ac_cv_func_alloca_works=yes ! else ! echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ac_cv_func_alloca_works=no ! fi ! rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext ! fi ! echo "$as_me:$LINENO: result: $ac_cv_func_alloca_works" >&5 ! echo "${ECHO_T}$ac_cv_func_alloca_works" >&6 ! if test $ac_cv_func_alloca_works = yes; then ! cat >>confdefs.h <<\_ACEOF ! #define HAVE_ALLOCA 1 ! _ACEOF ! else ! # The SVR3 libPW and SVR4 libucb both contain incompatible functions ! # that cause trouble. Some versions do not even contain alloca or ! # contain a buggy version. If you still want to use their alloca, ! # use ar to extract alloca.o from them instead of compiling alloca.c. ! ALLOCA=alloca.$ac_objext ! cat >>confdefs.h <<\_ACEOF ! #define C_ALLOCA 1 ! _ACEOF ! echo "$as_me:$LINENO: checking whether \`alloca.c' needs Cray hooks" >&5 ! echo $ECHO_N "checking whether \`alloca.c' needs Cray hooks... $ECHO_C" >&6 ! if test "${ac_cv_os_cray+set}" = set; then ! echo $ECHO_N "(cached) $ECHO_C" >&6 ! else ! cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ ! #if defined(CRAY) && ! defined(CRAY2) ! webecray ! #else ! wenotbecray ! #endif ! _ACEOF ! if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | ! $EGREP "webecray" >/dev/null 2>&1; then ! ac_cv_os_cray=yes ! else ! ac_cv_os_cray=no ! fi ! rm -f conftest* ! fi ! echo "$as_me:$LINENO: result: $ac_cv_os_cray" >&5 ! echo "${ECHO_T}$ac_cv_os_cray" >&6 ! if test $ac_cv_os_cray = yes; then ! for ac_func in _getb67 GETB67 getb67; do ! as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` ! echo "$as_me:$LINENO: checking for $ac_func" >&5 ! echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 ! if eval "test \"\${$as_ac_var+set}\" = set"; then ! echo $ECHO_N "(cached) $ECHO_C" >&6 ! else ! cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ ! /* System header to define __stub macros and hopefully few prototypes, ! which can conflict with char $ac_func (); below. ! Prefer to if __STDC__ is defined, since ! exists even on freestanding compilers. */ ! #ifdef __STDC__ ! # include ! #else ! # include ! #endif ! /* Override any gcc2 internal prototype to avoid an error. */ ! #ifdef __cplusplus ! extern "C" { ! #endif ! /* We use char because int might match the return type of a gcc2 ! builtin and then its argument prototype would still apply. */ ! char $ac_func (); ! /* The GNU C library defines this for functions which it implements ! to always fail with ENOSYS. Some functions are actually named ! something starting with __ and the normal name is an alias. */ ! #if defined (__stub_$ac_func) || defined (__stub___$ac_func) ! choke me ! #else ! char (*f) () = $ac_func; ! #endif ! #ifdef __cplusplus } + #endif int main () { ! return f != $ac_func; ! ; ! return 0; } _ACEOF ! rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 ! (exit $ac_status); } && ! { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ! eval "$as_ac_var=yes" else ! echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ! eval "$as_ac_var=no" fi + rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi ! echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 ! echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 ! if test `eval echo '${'$as_ac_var'}'` = yes; then ! ! cat >>confdefs.h <<_ACEOF ! #define CRAY_STACKSEG_END $ac_func ! _ACEOF ! ! break ! fi ! ! done ! fi ! ! echo "$as_me:$LINENO: checking stack direction for C alloca" >&5 ! echo $ECHO_N "checking stack direction for C alloca... $ECHO_C" >&6 ! if test "${ac_cv_c_stack_direction+set}" = set; then ! echo $ECHO_N "(cached) $ECHO_C" >&6 ! else ! if test "$cross_compiling" = yes; then ! ac_cv_c_stack_direction=0 ! else ! cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ ! int ! find_stack_direction () ! { ! static char *addr = 0; ! auto char dummy; ! if (addr == 0) ! { ! addr = &dummy; ! return find_stack_direction (); ! } ! else ! return (&dummy > addr) ? 1 : -1; ! } ! ! int ! main () ! { ! exit (find_stack_direction () < 0); ! } ! _ACEOF ! rm -f conftest$ac_exeext ! if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 ! (eval $ac_link) 2>&5 ! ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 ! (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ! (eval $ac_try) 2>&5 ! ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 ! (exit $ac_status); }; }; then ! ac_cv_c_stack_direction=1 ! else ! echo "$as_me: program exited with status $ac_status" >&5 ! echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ! ( exit $ac_status ) ! ac_cv_c_stack_direction=-1 ! fi ! rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext ! fi ! fi ! echo "$as_me:$LINENO: result: $ac_cv_c_stack_direction" >&5 ! echo "${ECHO_T}$ac_cv_c_stack_direction" >&6 ! ! cat >>confdefs.h <<_ACEOF ! #define STACK_DIRECTION $ac_cv_c_stack_direction ! _ACEOF ! ! ! fi ! ! echo "$as_me:$LINENO: checking whether getpgrp requires zero arguments" >&5 ! echo $ECHO_N "checking whether getpgrp requires zero arguments... $ECHO_C" >&6 ! if test "${ac_cv_func_getpgrp_void+set}" = set; then ! echo $ECHO_N "(cached) $ECHO_C" >&6 ! else ! # Use it with a single arg. ! cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ ! $ac_includes_default ! int ! main () ! { ! getpgrp (0); ! ; ! return 0; ! } ! _ACEOF ! rm -f conftest.$ac_objext ! if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ! (eval $ac_compile) 2>&5 ! ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 ! (exit $ac_status); } && ! { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ! (eval $ac_try) 2>&5 ! ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 ! (exit $ac_status); }; }; then ! ac_cv_func_getpgrp_void=no ! else ! echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ! ac_cv_func_getpgrp_void=yes ! fi ! rm -f conftest.$ac_objext conftest.$ac_ext ! ! fi ! echo "$as_me:$LINENO: result: $ac_cv_func_getpgrp_void" >&5 ! echo "${ECHO_T}$ac_cv_func_getpgrp_void" >&6 ! if test $ac_cv_func_getpgrp_void = yes; then ! ! cat >>confdefs.h <<\_ACEOF ! #define GETPGRP_VOID 1 ! _ACEOF ! ! fi ! ! echo "$as_me:$LINENO: checking whether setvbuf arguments are reversed" >&5 ! echo $ECHO_N "checking whether setvbuf arguments are reversed... $ECHO_C" >&6 ! if test "${ac_cv_func_setvbuf_reversed+set}" = set; then ! echo $ECHO_N "(cached) $ECHO_C" >&6 ! else ! ac_cv_func_setvbuf_reversed=no ! cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ ! #include ! # if PROTOTYPES ! int (setvbuf) (FILE *, int, char *, size_t); ! # endif ! int ! main () ! { ! char buf; return setvbuf (stdout, _IOLBF, &buf, 1); ! ; ! return 0; ! } ! _ACEOF ! rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 ! (eval $ac_link) 2>&5 ! ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 ! (exit $ac_status); } && ! { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ! (eval $ac_try) 2>&5 ! ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 ! (exit $ac_status); }; }; then ! cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ ! #include ! # if PROTOTYPES ! int (setvbuf) (FILE *, int, char *, size_t); ! # endif ! int ! main () ! { ! char buf; return setvbuf (stdout, &buf, _IOLBF, 1); ! ; ! return 0; ! } ! _ACEOF ! rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 ! (eval $ac_link) 2>&5 ! ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 ! (exit $ac_status); } && ! { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ! (eval $ac_try) 2>&5 ! ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 ! (exit $ac_status); }; }; then ! # It compiles and links either way, so it must not be declared ! # with a prototype and most likely this is a K&R C compiler. ! # Try running it. ! if test "$cross_compiling" = yes; then ! : # Assume setvbuf is not reversed when cross-compiling. ! else ! cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ ! #include ! int ! main () ! { ! /* This call has the arguments reversed. ! A reversed system may check and see that the address of buf ! is not _IOLBF, _IONBF, or _IOFBF, and return nonzero. */ ! char buf; ! if (setvbuf (stdout, _IOLBF, &buf, 1) != 0) ! exit (1); ! putchar ('\r'); ! exit (0); /* Non-reversed systems SEGV here. */ ! ; ! return 0; ! } ! _ACEOF ! rm -f conftest$ac_exeext ! if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 ! (eval $ac_link) 2>&5 ! ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 ! (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ! (eval $ac_try) 2>&5 ! ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 ! (exit $ac_status); }; }; then ! ac_cv_func_setvbuf_reversed=yes ! else ! echo "$as_me: program exited with status $ac_status" >&5 ! echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ! ( exit $ac_status ) ! rm -f core core.* *.core ! fi ! rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext ! fi ! ac_cv_func_setvbuf_reversed=yes ! else ! echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ! fi ! rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext ! else ! echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ! fi ! rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext ! fi ! echo "$as_me:$LINENO: result: $ac_cv_func_setvbuf_reversed" >&5 ! echo "${ECHO_T}$ac_cv_func_setvbuf_reversed" >&6 ! if test $ac_cv_func_setvbuf_reversed = yes; then ! ! cat >>confdefs.h <<\_ACEOF ! #define SETVBUF_REVERSED 1 ! _ACEOF ! ! fi ! ! ! for ac_func in vprintf ! do ! as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` ! echo "$as_me:$LINENO: checking for $ac_func" >&5 ! echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 ! if eval "test \"\${$as_ac_var+set}\" = set"; then ! echo $ECHO_N "(cached) $ECHO_C" >&6 ! else ! cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ ! /* System header to define __stub macros and hopefully few prototypes, ! which can conflict with char $ac_func (); below. ! Prefer to if __STDC__ is defined, since ! exists even on freestanding compilers. */ ! #ifdef __STDC__ ! # include ! #else ! # include ! #endif ! /* Override any gcc2 internal prototype to avoid an error. */ ! #ifdef __cplusplus ! extern "C" ! { ! #endif ! /* We use char because int might match the return type of a gcc2 ! builtin and then its argument prototype would still apply. */ ! char $ac_func (); ! /* The GNU C library defines this for functions which it implements ! to always fail with ENOSYS. Some functions are actually named ! something starting with __ and the normal name is an alias. */ ! #if defined (__stub_$ac_func) || defined (__stub___$ac_func) ! choke me ! #else ! char (*f) () = $ac_func; ! #endif ! #ifdef __cplusplus ! } ! #endif ! ! int ! main () ! { ! return f != $ac_func; ! ; ! return 0; ! } ! _ACEOF ! rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 ! (eval $ac_link) 2>&5 ! ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 ! (exit $ac_status); } && ! { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ! (eval $ac_try) 2>&5 ! ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 ! (exit $ac_status); }; }; then ! eval "$as_ac_var=yes" ! else ! echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ! eval "$as_ac_var=no" ! fi ! rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext ! fi ! echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 ! echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 ! if test `eval echo '${'$as_ac_var'}'` = yes; then ! cat >>confdefs.h <<_ACEOF ! #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 ! _ACEOF ! ! echo "$as_me:$LINENO: checking for _doprnt" >&5 ! echo $ECHO_N "checking for _doprnt... $ECHO_C" >&6 ! if test "${ac_cv_func__doprnt+set}" = set; then ! echo $ECHO_N "(cached) $ECHO_C" >&6 ! else ! cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ ! /* System header to define __stub macros and hopefully few prototypes, ! which can conflict with char _doprnt (); below. ! Prefer to if __STDC__ is defined, since ! exists even on freestanding compilers. */ ! #ifdef __STDC__ ! # include ! #else ! # include ! #endif ! /* Override any gcc2 internal prototype to avoid an error. */ ! #ifdef __cplusplus ! extern "C" ! { ! #endif ! /* We use char because int might match the return type of a gcc2 ! builtin and then its argument prototype would still apply. */ ! char _doprnt (); ! /* The GNU C library defines this for functions which it implements ! to always fail with ENOSYS. Some functions are actually named ! something starting with __ and the normal name is an alias. */ ! #if defined (__stub__doprnt) || defined (__stub____doprnt) ! choke me ! #else ! char (*f) () = _doprnt; ! #endif ! #ifdef __cplusplus ! } ! #endif ! ! int ! main () ! { ! return f != _doprnt; ! ; ! return 0; ! } ! _ACEOF ! rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 ! (eval $ac_link) 2>&5 ! ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 ! (exit $ac_status); } && ! { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ! (eval $ac_try) 2>&5 ! ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 ! (exit $ac_status); }; }; then ! ac_cv_func__doprnt=yes ! else ! echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ! ac_cv_func__doprnt=no ! fi ! rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext ! fi ! echo "$as_me:$LINENO: result: $ac_cv_func__doprnt" >&5 ! echo "${ECHO_T}$ac_cv_func__doprnt" >&6 ! if test $ac_cv_func__doprnt = yes; then ! ! cat >>confdefs.h <<\_ACEOF ! #define HAVE_DOPRNT 1 ! _ACEOF ! ! fi ! ! fi ! done ! ! ! echo "$as_me:$LINENO: checking for working strcoll" >&5 ! echo $ECHO_N "checking for working strcoll... $ECHO_C" >&6 ! if test "${ac_cv_func_strcoll_works+set}" = set; then ! echo $ECHO_N "(cached) $ECHO_C" >&6 ! else ! if test "$cross_compiling" = yes; then ! ac_cv_func_strcoll_works=no ! else ! cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ ! $ac_includes_default ! int ! main () ! { ! exit (strcoll ("abc", "def") >= 0 || ! strcoll ("ABC", "DEF") >= 0 || ! strcoll ("123", "456") >= 0) ! ; ! return 0; ! } ! _ACEOF ! rm -f conftest$ac_exeext ! if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 ! (eval $ac_link) 2>&5 ! ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 ! (exit $ac_status); } && { ac_try='./conftest$ac_exeext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ! (eval $ac_try) 2>&5 ! ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 ! (exit $ac_status); }; }; then ! ac_cv_func_strcoll_works=yes ! else ! echo "$as_me: program exited with status $ac_status" >&5 ! echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ! ( exit $ac_status ) ! ac_cv_func_strcoll_works=no ! fi ! rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext ! fi ! fi ! echo "$as_me:$LINENO: result: $ac_cv_func_strcoll_works" >&5 ! echo "${ECHO_T}$ac_cv_func_strcoll_works" >&6 ! if test $ac_cv_func_strcoll_works = yes; then ! ! cat >>confdefs.h <<\_ACEOF ! #define HAVE_STRCOLL 1 ! _ACEOF ! ! fi ! ! ! ! if test "$ac_cv_func_alloca_works" = "no" && test "$opt_bash_malloc" = "no"; then ! MALLOC_TARGET=alloca ! MALLOC_SRC=alloca.c ! ! MALLOC_LIB='-lmalloc' ! MALLOC_LIBRARY='$(ALLOC_LIBDIR)/libmalloc.a' ! MALLOC_LDFLAGS='-L$(ALLOC_LIBDIR)' ! MALLOC_DEP='$(MALLOC_LIBRARY)' ! fi ! ! if test "$ac_cv_func_vprintf" = no; then ! echo "$as_me:$LINENO: checking for declaration of vprintf in stdio.h" >&5 ! echo $ECHO_N "checking for declaration of vprintf in stdio.h... $ECHO_C" >&6 ! cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ ! #include ! ! _ACEOF ! if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | ! $EGREP "[int[ ]*vprintf[^a-zA-Z0-9]]" >/dev/null 2>&1; then ! ac_cv_func_vprintf=yes ! fi ! rm -f conftest* ! ! echo "$as_me:$LINENO: result: $ac_cv_func_vprintf" >&5 ! echo "${ECHO_T}$ac_cv_func_vprintf" >&6 ! if test $ac_cv_func_vprintf = yes; then ! cat >>confdefs.h <<\_ACEOF ! #define HAVE_VPRINTF 1 ! _ACEOF ! ! fi ! fi ! ! if test "$ac_cv_func_vprintf" = no && test "$ac_cv_func__doprnt" = "yes"; then ! LIBOBJS="$LIBOBJS vprint.$ac_objext" ! fi ! ! echo "$as_me:$LINENO: checking return type of signal handlers" >&5 ! echo $ECHO_N "checking return type of signal handlers... $ECHO_C" >&6 ! if test "${ac_cv_type_signal+set}" = set; then ! echo $ECHO_N "(cached) $ECHO_C" >&6 ! else ! cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ ! #include ! #include ! #ifdef signal ! # undef signal ! #endif ! #ifdef __cplusplus ! extern "C" void (*signal (int, void (*)(int)))(int); ! #else ! void (*signal ()) (); ! #endif ! ! int ! main () ! { ! int i; ! ; ! return 0; ! } ! _ACEOF ! rm -f conftest.$ac_objext ! if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 ! (eval $ac_compile) 2>&5 ! ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 ! (exit $ac_status); } && ! { ac_try='test -s conftest.$ac_objext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ! (eval $ac_try) 2>&5 ! ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 ! (exit $ac_status); }; }; then ! ac_cv_type_signal=void ! else ! echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ! ac_cv_type_signal=int ! fi ! rm -f conftest.$ac_objext conftest.$ac_ext ! fi ! echo "$as_me:$LINENO: result: $ac_cv_type_signal" >&5 ! echo "${ECHO_T}$ac_cv_type_signal" >&6 ! ! cat >>confdefs.h <<_ACEOF ! #define RETSIGTYPE $ac_cv_type_signal ! _ACEOF ! ! ! ! echo "$as_me:$LINENO: checking for __setostype" >&5 ! echo $ECHO_N "checking for __setostype... $ECHO_C" >&6 ! if test "${ac_cv_func___setostype+set}" = set; then ! echo $ECHO_N "(cached) $ECHO_C" >&6 ! else ! cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ ! /* System header to define __stub macros and hopefully few prototypes, ! which can conflict with char __setostype (); below. ! Prefer to if __STDC__ is defined, since ! exists even on freestanding compilers. */ ! #ifdef __STDC__ ! # include ! #else ! # include ! #endif ! /* Override any gcc2 internal prototype to avoid an error. */ ! #ifdef __cplusplus ! extern "C" ! { ! #endif ! /* We use char because int might match the return type of a gcc2 ! builtin and then its argument prototype would still apply. */ ! char __setostype (); ! /* The GNU C library defines this for functions which it implements ! to always fail with ENOSYS. Some functions are actually named ! something starting with __ and the normal name is an alias. */ ! #if defined (__stub___setostype) || defined (__stub_____setostype) ! choke me ! #else ! char (*f) () = __setostype; ! #endif ! #ifdef __cplusplus ! } ! #endif ! ! int ! main () ! { ! return f != __setostype; ! ; ! return 0; ! } ! _ACEOF ! rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 ! (eval $ac_link) 2>&5 ! ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 ! (exit $ac_status); } && ! { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ! (eval $ac_try) 2>&5 ! ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 ! (exit $ac_status); }; }; then ! ac_cv_func___setostype=yes ! else ! echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ! ac_cv_func___setostype=no ! fi ! rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext ! fi ! echo "$as_me:$LINENO: result: $ac_cv_func___setostype" >&5 ! echo "${ECHO_T}$ac_cv_func___setostype" >&6 ! if test $ac_cv_func___setostype = yes; then ! cat >>confdefs.h <<\_ACEOF ! #define HAVE_SETOSTYPE 1 ! _ACEOF ! ! fi ! ! echo "$as_me:$LINENO: checking for wait3" >&5 ! echo $ECHO_N "checking for wait3... $ECHO_C" >&6 ! if test "${ac_cv_func_wait3+set}" = set; then ! echo $ECHO_N "(cached) $ECHO_C" >&6 ! else ! cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ ! /* System header to define __stub macros and hopefully few prototypes, ! which can conflict with char wait3 (); below. ! Prefer to if __STDC__ is defined, since ! exists even on freestanding compilers. */ ! #ifdef __STDC__ ! # include ! #else ! # include ! #endif ! /* Override any gcc2 internal prototype to avoid an error. */ ! #ifdef __cplusplus ! extern "C" ! { ! #endif ! /* We use char because int might match the return type of a gcc2 ! builtin and then its argument prototype would still apply. */ ! char wait3 (); ! /* The GNU C library defines this for functions which it implements ! to always fail with ENOSYS. Some functions are actually named ! something starting with __ and the normal name is an alias. */ ! #if defined (__stub_wait3) || defined (__stub___wait3) ! choke me ! #else ! char (*f) () = wait3; ! #endif ! #ifdef __cplusplus ! } ! #endif ! ! int ! main () ! { ! return f != wait3; ! ; ! return 0; ! } ! _ACEOF ! rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 ! (eval $ac_link) 2>&5 ! ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 ! (exit $ac_status); } && ! { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ! (eval $ac_try) 2>&5 ! ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 ! (exit $ac_status); }; }; then ! ac_cv_func_wait3=yes ! else ! echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ! ac_cv_func_wait3=no ! fi ! rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext ! fi ! echo "$as_me:$LINENO: result: $ac_cv_func_wait3" >&5 ! echo "${ECHO_T}$ac_cv_func_wait3" >&6 ! if test $ac_cv_func_wait3 = yes; then ! cat >>confdefs.h <<\_ACEOF ! #define HAVE_WAIT3 1 ! _ACEOF ! ! fi ! ! echo "$as_me:$LINENO: checking for isinf" >&5 ! echo $ECHO_N "checking for isinf... $ECHO_C" >&6 ! if test "${ac_cv_func_isinf+set}" = set; then ! echo $ECHO_N "(cached) $ECHO_C" >&6 ! else ! cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ ! /* System header to define __stub macros and hopefully few prototypes, ! which can conflict with char isinf (); below. ! Prefer to if __STDC__ is defined, since ! exists even on freestanding compilers. */ ! #ifdef __STDC__ ! # include ! #else ! # include ! #endif ! /* Override any gcc2 internal prototype to avoid an error. */ ! #ifdef __cplusplus ! extern "C" ! { ! #endif ! /* We use char because int might match the return type of a gcc2 ! builtin and then its argument prototype would still apply. */ ! char isinf (); ! /* The GNU C library defines this for functions which it implements ! to always fail with ENOSYS. Some functions are actually named ! something starting with __ and the normal name is an alias. */ ! #if defined (__stub_isinf) || defined (__stub___isinf) ! choke me ! #else ! char (*f) () = isinf; ! #endif ! #ifdef __cplusplus ! } ! #endif ! ! int ! main () ! { ! return f != isinf; ! ; ! return 0; ! } ! _ACEOF ! rm -f conftest.$ac_objext conftest$ac_exeext ! if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 ! (eval $ac_link) 2>&5 ! ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 ! (exit $ac_status); } && ! { ac_try='test -s conftest$ac_exeext' ! { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 ! (eval $ac_try) 2>&5 ! ac_status=$? ! echo "$as_me:$LINENO: \$? = $ac_status" >&5 ! (exit $ac_status); }; }; then ! ac_cv_func_isinf=yes ! else ! echo "$as_me: failed program was:" >&5 ! sed 's/^/| /' conftest.$ac_ext >&5 ! ! ac_cv_func_isinf=no ! fi ! rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext ! fi ! echo "$as_me:$LINENO: result: $ac_cv_func_isinf" >&5 ! echo "${ECHO_T}$ac_cv_func_isinf" >&6 ! if test $ac_cv_func_isinf = yes; then ! cat >>confdefs.h <<\_ACEOF ! #define HAVE_ISINF_IN_LIBC 1 ! _ACEOF ! ! fi ! ! ! echo "$as_me:$LINENO: checking for mkfifo" >&5 ! echo $ECHO_N "checking for mkfifo... $ECHO_C" >&6 ! if test "${ac_cv_func_mkfifo+set}" = set; then ! echo $ECHO_N "(cached) $ECHO_C" >&6 ! else ! cat >conftest.$ac_ext <<_ACEOF ! #line $LINENO "configure" ! /* confdefs.h. */ ! _ACEOF ! cat confdefs.h >>conftest.$ac_ext ! cat >>conftest.$ac_ext <<_ACEOF ! /* end confdefs.h. */ ! /* System header to define __stub macros and hopefully few prototypes, ! which can conflict with char mkfifo (); below. ! Prefer to if __STDC__ is defined, since ! exists even on freestanding compilers. */ ! #ifdef __STDC__ ! # include ! #else ! # include ! #endif ! /* Override any gcc2 internal prototype to avoid an error. */ ! #ifdef __cplus